@fses/workbench-app 0.2.14 → 0.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,25 +1,25 @@
1
- (function(Oe,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("@ant-design/icons-vue"),require("ant-design-vue"),require("marked"),require("@opentiny/tiny-robot"),require("echarts"),require("@fses/workbench-card/chart")):typeof define=="function"&&define.amd?define(["exports","vue","@ant-design/icons-vue","ant-design-vue","marked","@opentiny/tiny-robot","echarts","@fses/workbench-card/chart"],n):(Oe=typeof globalThis<"u"?globalThis:Oe||self,n(Oe.FsesAiChat={},Oe.Vue,Oe.AntDesignIconsVue,Oe.AntDesignVue,Oe.marked,Oe.TinyRobot,Oe.echarts,Oe.FsesWorkbenchCard))})(this,function(Oe,n,Ze,ua,lo,Jr,fl,Zr){"use strict";function pl(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const c=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(r,o,c.get?c:{enumerable:!0,get:()=>e[o]})}}return r.default=e,Object.freeze(r)}const hl=pl(fl);/*! @license DOMPurify 3.4.1 | (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.1/LICENSE */const{entries:uo,setPrototypeOf:mo,isFrozen:gl,getPrototypeOf:yl,getOwnPropertyDescriptor:bl}=Object;let{freeze:jt,seal:sn,create:ma}=Object,{apply:Xr,construct:es}=typeof Reflect<"u"&&Reflect;jt||(jt=function(r){return r}),sn||(sn=function(r){return r}),Xr||(Xr=function(r,o){for(var c=arguments.length,d=new Array(c>2?c-2:0),u=2;u<c;u++)d[u-2]=arguments[u];return r.apply(o,d)}),es||(es=function(r){for(var o=arguments.length,c=new Array(o>1?o-1:0),d=1;d<o;d++)c[d-1]=arguments[d];return new r(...c)});const Fa=wt(Array.prototype.forEach),kl=wt(Array.prototype.lastIndexOf),fo=wt(Array.prototype.pop),$a=wt(Array.prototype.push),_l=wt(Array.prototype.splice),Kt=Array.isArray,Va=wt(String.prototype.toLowerCase),ts=wt(String.prototype.toString),po=wt(String.prototype.match),fa=wt(String.prototype.replace),ho=wt(String.prototype.indexOf),Cl=wt(String.prototype.trim),Sl=wt(Number.prototype.toString),Al=wt(Boolean.prototype.toString),go=typeof BigInt>"u"?null:wt(BigInt.prototype.toString),yo=typeof Symbol>"u"?null:wt(Symbol.prototype.toString),kt=wt(Object.prototype.hasOwnProperty),za=wt(Object.prototype.toString),$t=wt(RegExp.prototype.test),pr=wl(TypeError);function wt(e){return function(r){r instanceof RegExp&&(r.lastIndex=0);for(var o=arguments.length,c=new Array(o>1?o-1:0),d=1;d<o;d++)c[d-1]=arguments[d];return Xr(e,r,c)}}function wl(e){return function(){for(var r=arguments.length,o=new Array(r),c=0;c<r;c++)o[c]=arguments[c];return es(e,o)}}function Ae(e,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Va;if(mo&&mo(e,null),!Kt(r))return e;let c=r.length;for(;c--;){let d=r[c];if(typeof d=="string"){const u=o(d);u!==d&&(gl(r)||(r[c]=u),d=u)}e[d]=!0}return e}function Tl(e){for(let r=0;r<e.length;r++)kt(e,r)||(e[r]=null);return e}function Xt(e){const r=ma(null);for(const[o,c]of uo(e))kt(e,o)&&(Kt(c)?r[o]=Tl(c):c&&typeof c=="object"&&c.constructor===Object?r[o]=Xt(c):r[o]=c);return r}function El(e){switch(typeof e){case"string":return e;case"number":return Sl(e);case"boolean":return Al(e);case"bigint":return go?go(e):"0";case"symbol":return yo?yo(e):"Symbol()";case"undefined":return za(e);case"function":case"object":{if(e===null)return za(e);const r=e,o=pa(r,"toString");if(typeof o=="function"){const c=o(r);return typeof c=="string"?c:za(c)}return za(e)}default:return za(e)}}function pa(e,r){for(;e!==null;){const c=bl(e,r);if(c){if(c.get)return wt(c.get);if(typeof c.value=="function")return wt(c.value)}e=yl(e)}function o(){return null}return o}function xl(e){try{return $t(e,""),!0}catch{return!1}}const bo=jt(["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"]),ns=jt(["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"]),as=jt(["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"]),Bl=jt(["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"]),rs=jt(["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"]),Il=jt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),ko=jt(["#text"]),_o=jt(["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"]),ss=jt(["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"]),Co=jt(["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"]),hr=jt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Rl=sn(/\{\{[\w\W]*|[\w\W]*\}\}/gm),vl=sn(/<%[\w\W]*|[\w\W]*%>/gm),Dl=sn(/\$\{[\w\W]*/gm),Nl=sn(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ll=sn(/^aria-[\-\w]+$/),So=sn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Pl=sn(/^(?:\w+script|data):/i),Ml=sn(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ao=sn(/^html$/i),Ol=sn(/^[a-z][.\w]*(-[.\w]+)+$/i);var wo=Object.freeze({__proto__:null,ARIA_ATTR:Ll,ATTR_WHITESPACE:Ml,CUSTOM_ELEMENT:Ol,DATA_ATTR:Nl,DOCTYPE_NAME:Ao,ERB_EXPR:vl,IS_ALLOWED_URI:So,IS_SCRIPT_OR_DATA:Pl,MUSTACHE_EXPR:Rl,TMPLIT_EXPR:Dl});const Ha={element:1,text:3,progressingInstruction:7,comment:8,document:9},Fl=function(){return typeof window>"u"?null:window},$l=function(r,o){if(typeof r!="object"||typeof r.createPolicy!="function")return null;let c=null;const d="data-tt-policy-suffix";o&&o.hasAttribute(d)&&(c=o.getAttribute(d));const u="dompurify"+(c?"#"+c:"");try{return r.createPolicy(u,{createHTML(y){return y},createScriptURL(y){return y}})}catch{return console.warn("TrustedTypes policy "+u+" could not be created."),null}},To=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Eo(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Fl();const r=fe=>Eo(fe);if(r.version="3.4.1",r.removed=[],!e||!e.document||e.document.nodeType!==Ha.document||!e.Element)return r.isSupported=!1,r;let{document:o}=e;const c=o,d=c.currentScript,{DocumentFragment:u,HTMLTemplateElement:y,Node:_,Element:E,NodeFilter:R,NamedNodeMap:U=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:z,DOMParser:C,trustedTypes:B}=e,F=E.prototype,H=pa(F,"cloneNode"),K=pa(F,"remove"),xe=pa(F,"nextSibling"),oe=pa(F,"childNodes"),ue=pa(F,"parentNode");if(typeof y=="function"){const fe=o.createElement("template");fe.content&&fe.content.ownerDocument&&(o=fe.content.ownerDocument)}let ce,Le="";const{implementation:ne,createNodeIterator:Z,createDocumentFragment:He,getElementsByTagName:ae}=o,{importNode:he}=c;let ye=To();r.isSupported=typeof uo=="function"&&typeof ue=="function"&&ne&&ne.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:nt,ERB_EXPR:St,TMPLIT_EXPR:At,DATA_ATTR:We,ARIA_ATTR:ct,IS_SCRIPT_OR_DATA:Pt,ATTR_WHITESPACE:Tt,CUSTOM_ELEMENT:at}=wo;let{IS_ALLOWED_URI:Ut}=wo,Te=null;const Vt=Ae({},[...bo,...ns,...as,...rs,...ko]);let Ne=null;const dt=Ae({},[..._o,...ss,...Co,...hr]);let Be=Object.seal(ma(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}})),v=null,I=null;const G=Object.seal(ma(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let T=!0,Q=!0,te=!1,M=!0,O=!1,j=!0,ie=!1,Ie=!1,Se=!1,Pe=!1,Ce=!1,rt=!1,lt=!0,Fe=!1;const ft="user-content-";let S=!0,q=!1,re={},ee=null;const ge=Ae({},["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 we=null;const Ge=Ae({},["audio","video","img","source","image","track"]);let Xe=null;const It=Ae({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),pt="http://www.w3.org/1998/Math/MathML",f="http://www.w3.org/2000/svg",b="http://www.w3.org/1999/xhtml";let x=b,X=!1,ke=null;const Re=Ae({},[pt,f,b],ts);let st=Ae({},["mi","mo","mn","ms","mtext"]),Rt=Ae({},["annotation-xml"]);const ht=Ae({},["title","style","font","a","script"]);let Ye=null;const vt=["application/xhtml+xml","text/html"],Yt="text/html";let et=null,Jt=null;const jn=o.createElement("form"),mn=function(k){return k instanceof RegExp||k instanceof Function},vn=function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Jt&&Jt===k)return;(!k||typeof k!="object")&&(k={}),k=Xt(k),Ye=vt.indexOf(k.PARSER_MEDIA_TYPE)===-1?Yt:k.PARSER_MEDIA_TYPE,et=Ye==="application/xhtml+xml"?ts:Va,Te=kt(k,"ALLOWED_TAGS")&&Kt(k.ALLOWED_TAGS)?Ae({},k.ALLOWED_TAGS,et):Vt,Ne=kt(k,"ALLOWED_ATTR")&&Kt(k.ALLOWED_ATTR)?Ae({},k.ALLOWED_ATTR,et):dt,ke=kt(k,"ALLOWED_NAMESPACES")&&Kt(k.ALLOWED_NAMESPACES)?Ae({},k.ALLOWED_NAMESPACES,ts):Re,Xe=kt(k,"ADD_URI_SAFE_ATTR")&&Kt(k.ADD_URI_SAFE_ATTR)?Ae(Xt(It),k.ADD_URI_SAFE_ATTR,et):It,we=kt(k,"ADD_DATA_URI_TAGS")&&Kt(k.ADD_DATA_URI_TAGS)?Ae(Xt(Ge),k.ADD_DATA_URI_TAGS,et):Ge,ee=kt(k,"FORBID_CONTENTS")&&Kt(k.FORBID_CONTENTS)?Ae({},k.FORBID_CONTENTS,et):ge,v=kt(k,"FORBID_TAGS")&&Kt(k.FORBID_TAGS)?Ae({},k.FORBID_TAGS,et):Xt({}),I=kt(k,"FORBID_ATTR")&&Kt(k.FORBID_ATTR)?Ae({},k.FORBID_ATTR,et):Xt({}),re=kt(k,"USE_PROFILES")?k.USE_PROFILES&&typeof k.USE_PROFILES=="object"?Xt(k.USE_PROFILES):k.USE_PROFILES:!1,T=k.ALLOW_ARIA_ATTR!==!1,Q=k.ALLOW_DATA_ATTR!==!1,te=k.ALLOW_UNKNOWN_PROTOCOLS||!1,M=k.ALLOW_SELF_CLOSE_IN_ATTR!==!1,O=k.SAFE_FOR_TEMPLATES||!1,j=k.SAFE_FOR_XML!==!1,ie=k.WHOLE_DOCUMENT||!1,Pe=k.RETURN_DOM||!1,Ce=k.RETURN_DOM_FRAGMENT||!1,rt=k.RETURN_TRUSTED_TYPE||!1,Se=k.FORCE_BODY||!1,lt=k.SANITIZE_DOM!==!1,Fe=k.SANITIZE_NAMED_PROPS||!1,S=k.KEEP_CONTENT!==!1,q=k.IN_PLACE||!1,Ut=xl(k.ALLOWED_URI_REGEXP)?k.ALLOWED_URI_REGEXP:So,x=typeof k.NAMESPACE=="string"?k.NAMESPACE:b,st=kt(k,"MATHML_TEXT_INTEGRATION_POINTS")&&k.MATHML_TEXT_INTEGRATION_POINTS&&typeof k.MATHML_TEXT_INTEGRATION_POINTS=="object"?Xt(k.MATHML_TEXT_INTEGRATION_POINTS):Ae({},["mi","mo","mn","ms","mtext"]),Rt=kt(k,"HTML_INTEGRATION_POINTS")&&k.HTML_INTEGRATION_POINTS&&typeof k.HTML_INTEGRATION_POINTS=="object"?Xt(k.HTML_INTEGRATION_POINTS):Ae({},["annotation-xml"]);const L=kt(k,"CUSTOM_ELEMENT_HANDLING")&&k.CUSTOM_ELEMENT_HANDLING&&typeof k.CUSTOM_ELEMENT_HANDLING=="object"?Xt(k.CUSTOM_ELEMENT_HANDLING):ma(null);if(Be=ma(null),kt(L,"tagNameCheck")&&mn(L.tagNameCheck)&&(Be.tagNameCheck=L.tagNameCheck),kt(L,"attributeNameCheck")&&mn(L.attributeNameCheck)&&(Be.attributeNameCheck=L.attributeNameCheck),kt(L,"allowCustomizedBuiltInElements")&&typeof L.allowCustomizedBuiltInElements=="boolean"&&(Be.allowCustomizedBuiltInElements=L.allowCustomizedBuiltInElements),O&&(Q=!1),Ce&&(Pe=!0),re&&(Te=Ae({},ko),Ne=ma(null),re.html===!0&&(Ae(Te,bo),Ae(Ne,_o)),re.svg===!0&&(Ae(Te,ns),Ae(Ne,ss),Ae(Ne,hr)),re.svgFilters===!0&&(Ae(Te,as),Ae(Ne,ss),Ae(Ne,hr)),re.mathMl===!0&&(Ae(Te,rs),Ae(Ne,Co),Ae(Ne,hr))),G.tagCheck=null,G.attributeCheck=null,kt(k,"ADD_TAGS")&&(typeof k.ADD_TAGS=="function"?G.tagCheck=k.ADD_TAGS:Kt(k.ADD_TAGS)&&(Te===Vt&&(Te=Xt(Te)),Ae(Te,k.ADD_TAGS,et))),kt(k,"ADD_ATTR")&&(typeof k.ADD_ATTR=="function"?G.attributeCheck=k.ADD_ATTR:Kt(k.ADD_ATTR)&&(Ne===dt&&(Ne=Xt(Ne)),Ae(Ne,k.ADD_ATTR,et))),kt(k,"ADD_URI_SAFE_ATTR")&&Kt(k.ADD_URI_SAFE_ATTR)&&Ae(Xe,k.ADD_URI_SAFE_ATTR,et),kt(k,"FORBID_CONTENTS")&&Kt(k.FORBID_CONTENTS)&&(ee===ge&&(ee=Xt(ee)),Ae(ee,k.FORBID_CONTENTS,et)),kt(k,"ADD_FORBID_CONTENTS")&&Kt(k.ADD_FORBID_CONTENTS)&&(ee===ge&&(ee=Xt(ee)),Ae(ee,k.ADD_FORBID_CONTENTS,et)),S&&(Te["#text"]=!0),ie&&Ae(Te,["html","head","body"]),Te.table&&(Ae(Te,["tbody"]),delete v.tbody),k.TRUSTED_TYPES_POLICY){if(typeof k.TRUSTED_TYPES_POLICY.createHTML!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof k.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ce=k.TRUSTED_TYPES_POLICY,Le=ce.createHTML("")}else ce===void 0&&(ce=$l(B,d)),ce!==null&&typeof Le=="string"&&(Le=ce.createHTML(""));jt&&jt(k),Jt=k},Cn=Ae({},[...ns,...as,...Bl]),Dn=Ae({},[...rs,...Il]),Sn=function(k){let L=ue(k);(!L||!L.tagName)&&(L={namespaceURI:x,tagName:"template"});const N=Va(k.tagName),me=Va(L.tagName);return ke[k.namespaceURI]?k.namespaceURI===f?L.namespaceURI===b?N==="svg":L.namespaceURI===pt?N==="svg"&&(me==="annotation-xml"||st[me]):!!Cn[N]:k.namespaceURI===pt?L.namespaceURI===b?N==="math":L.namespaceURI===f?N==="math"&&Rt[me]:!!Dn[N]:k.namespaceURI===b?L.namespaceURI===f&&!Rt[me]||L.namespaceURI===pt&&!st[me]?!1:!Dn[N]&&(ht[N]||!Cn[N]):!!(Ye==="application/xhtml+xml"&&ke[k.namespaceURI]):!1},Y=function(k){$a(r.removed,{element:k});try{ue(k).removeChild(k)}catch{K(k)}},de=function(k,L){try{$a(r.removed,{attribute:L.getAttributeNode(k),from:L})}catch{$a(r.removed,{attribute:null,from:L})}if(L.removeAttribute(k),k==="is")if(Pe||Ce)try{Y(L)}catch{}else try{L.setAttribute(k,"")}catch{}},Me=function(k){let L=null,N=null;if(Se)k="<remove></remove>"+k;else{const Ee=po(k,/^[\r\n\t ]+/);N=Ee&&Ee[0]}Ye==="application/xhtml+xml"&&x===b&&(k='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+k+"</body></html>");const me=ce?ce.createHTML(k):k;if(x===b)try{L=new C().parseFromString(me,Ye)}catch{}if(!L||!L.documentElement){L=ne.createDocument(x,"template",null);try{L.documentElement.innerHTML=X?Le:me}catch{}}const be=L.body||L.documentElement;return k&&N&&be.insertBefore(o.createTextNode(N),be.childNodes[0]||null),x===b?ae.call(L,ie?"html":"body")[0]:ie?L.documentElement:be},ve=function(k){return Z.call(k.ownerDocument||k,k,R.SHOW_ELEMENT|R.SHOW_COMMENT|R.SHOW_TEXT|R.SHOW_PROCESSING_INSTRUCTION|R.SHOW_CDATA_SECTION,null)},qe=function(k){return k instanceof z&&(typeof k.nodeName!="string"||typeof k.textContent!="string"||typeof k.removeChild!="function"||!(k.attributes instanceof U)||typeof k.removeAttribute!="function"||typeof k.setAttribute!="function"||typeof k.namespaceURI!="string"||typeof k.insertBefore!="function"||typeof k.hasChildNodes!="function")},je=function(k){return typeof _=="function"&&k instanceof _};function Je(fe,k,L){Fa(fe,N=>{N.call(r,k,L,Jt)})}const zt=function(k){let L=null;if(Je(ye.beforeSanitizeElements,k,null),qe(k))return Y(k),!0;const N=et(k.nodeName);if(Je(ye.uponSanitizeElement,k,{tagName:N,allowedTags:Te}),j&&k.hasChildNodes()&&!je(k.firstElementChild)&&$t(/<[/\w!]/g,k.innerHTML)&&$t(/<[/\w!]/g,k.textContent)||j&&k.namespaceURI===b&&N==="style"&&je(k.firstElementChild)||k.nodeType===Ha.progressingInstruction||j&&k.nodeType===Ha.comment&&$t(/<[/\w]/g,k.data))return Y(k),!0;if(v[N]||!(G.tagCheck instanceof Function&&G.tagCheck(N))&&!Te[N]){if(!v[N]&&Ln(N)&&(Be.tagNameCheck instanceof RegExp&&$t(Be.tagNameCheck,N)||Be.tagNameCheck instanceof Function&&Be.tagNameCheck(N)))return!1;if(S&&!ee[N]){const me=ue(k)||k.parentNode,be=oe(k)||k.childNodes;if(be&&me){const Ee=be.length;for(let ot=Ee-1;ot>=0;--ot){const Mt=H(be[ot],!0);me.insertBefore(Mt,xe(k))}}}return Y(k),!0}return k instanceof E&&!Sn(k)||(N==="noscript"||N==="noembed"||N==="noframes")&&$t(/<\/no(script|embed|frames)/i,k.innerHTML)?(Y(k),!0):(O&&k.nodeType===Ha.text&&(L=k.textContent,Fa([nt,St,At],me=>{L=fa(L,me," ")}),k.textContent!==L&&($a(r.removed,{element:k.cloneNode()}),k.textContent=L)),Je(ye.afterSanitizeElements,k,null),!1)},en=function(k,L,N){if(I[L]||lt&&(L==="id"||L==="name")&&(N in o||N in jn))return!1;if(!(Q&&!I[L]&&$t(We,L))){if(!(T&&$t(ct,L))){if(!(G.attributeCheck instanceof Function&&G.attributeCheck(L,k))){if(!Ne[L]||I[L]){if(!(Ln(k)&&(Be.tagNameCheck instanceof RegExp&&$t(Be.tagNameCheck,k)||Be.tagNameCheck instanceof Function&&Be.tagNameCheck(k))&&(Be.attributeNameCheck instanceof RegExp&&$t(Be.attributeNameCheck,L)||Be.attributeNameCheck instanceof Function&&Be.attributeNameCheck(L,k))||L==="is"&&Be.allowCustomizedBuiltInElements&&(Be.tagNameCheck instanceof RegExp&&$t(Be.tagNameCheck,N)||Be.tagNameCheck instanceof Function&&Be.tagNameCheck(N))))return!1}else if(!Xe[L]){if(!$t(Ut,fa(N,Tt,""))){if(!((L==="src"||L==="xlink:href"||L==="href")&&k!=="script"&&ho(N,"data:")===0&&we[k])){if(!(te&&!$t(Pt,fa(N,Tt,"")))){if(N)return!1}}}}}}}return!0},Nn=Ae({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ln=function(k){return!Nn[Va(k)]&&$t(at,k)},Ht=function(k){Je(ye.beforeSanitizeAttributes,k,null);const{attributes:L}=k;if(!L||qe(k))return;const N={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ne,forceKeepAttr:void 0};let me=L.length;for(;me--;){const be=L[me],{name:Ee,namespaceURI:ot,value:Mt}=be,Et=et(Ee),ra=Mt;let ut=Ee==="value"?ra:Cl(ra);if(N.attrName=Et,N.attrValue=ut,N.keepAttr=!0,N.forceKeepAttr=void 0,Je(ye.uponSanitizeAttribute,k,N),ut=N.attrValue,Fe&&(Et==="id"||Et==="name")&&ho(ut,ft)!==0&&(de(Ee,k),ut=ft+ut),j&&$t(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,ut)){de(Ee,k);continue}if(Et==="attributename"&&po(ut,"href")){de(Ee,k);continue}if(N.forceKeepAttr)continue;if(!N.keepAttr){de(Ee,k);continue}if(!M&&$t(/\/>/i,ut)){de(Ee,k);continue}O&&Fa([nt,St,At],xa=>{ut=fa(ut,xa," ")});const Ea=et(k.nodeName);if(!en(Ea,Et,ut)){de(Ee,k);continue}if(ce&&typeof B=="object"&&typeof B.getAttributeType=="function"&&!ot)switch(B.getAttributeType(Ea,Et)){case"TrustedHTML":{ut=ce.createHTML(ut);break}case"TrustedScriptURL":{ut=ce.createScriptURL(ut);break}}if(ut!==ra)try{ot?k.setAttributeNS(ot,Ee,ut):k.setAttribute(Ee,ut),qe(k)?Y(k):fo(r.removed)}catch{de(Ee,k)}}Je(ye.afterSanitizeAttributes,k,null)},tn=function(k){let L=null;const N=ve(k);for(Je(ye.beforeSanitizeShadowDOM,k,null);L=N.nextNode();)Je(ye.uponSanitizeShadowNode,L,null),zt(L),Ht(L),L.content instanceof u&&tn(L.content);Je(ye.afterSanitizeShadowDOM,k,null)};return r.sanitize=function(fe){let k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},L=null,N=null,me=null,be=null;if(X=!fe,X&&(fe="<!-->"),typeof fe!="string"&&!je(fe)&&(fe=El(fe),typeof fe!="string"))throw pr("dirty is not a string, aborting");if(!r.isSupported)return fe;if(Ie||vn(k),r.removed=[],typeof fe=="string"&&(q=!1),q){const Mt=fe.nodeName;if(typeof Mt=="string"){const Et=et(Mt);if(!Te[Et]||v[Et])throw pr("root node is forbidden and cannot be sanitized in-place")}}else if(fe instanceof _)L=Me("<!---->"),N=L.ownerDocument.importNode(fe,!0),N.nodeType===Ha.element&&N.nodeName==="BODY"||N.nodeName==="HTML"?L=N:L.appendChild(N);else{if(!Pe&&!O&&!ie&&fe.indexOf("<")===-1)return ce&&rt?ce.createHTML(fe):fe;if(L=Me(fe),!L)return Pe?null:rt?Le:""}L&&Se&&Y(L.firstChild);const Ee=ve(q?fe:L);for(;me=Ee.nextNode();)zt(me),Ht(me),me.content instanceof u&&tn(me.content);if(q)return fe;if(Pe){if(O){L.normalize();let Mt=L.innerHTML;Fa([nt,St,At],Et=>{Mt=fa(Mt,Et," ")}),L.innerHTML=Mt}if(Ce)for(be=He.call(L.ownerDocument);L.firstChild;)be.appendChild(L.firstChild);else be=L;return(Ne.shadowroot||Ne.shadowrootmode)&&(be=he.call(c,be,!0)),be}let ot=ie?L.outerHTML:L.innerHTML;return ie&&Te["!doctype"]&&L.ownerDocument&&L.ownerDocument.doctype&&L.ownerDocument.doctype.name&&$t(Ao,L.ownerDocument.doctype.name)&&(ot="<!DOCTYPE "+L.ownerDocument.doctype.name+`>
2
- `+ot),O&&Fa([nt,St,At],Mt=>{ot=fa(ot,Mt," ")}),ce&&rt?ce.createHTML(ot):ot},r.setConfig=function(){let fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};vn(fe),Ie=!0},r.clearConfig=function(){Jt=null,Ie=!1},r.isValidAttribute=function(fe,k,L){Jt||vn({});const N=et(fe),me=et(k);return en(N,me,L)},r.addHook=function(fe,k){typeof k=="function"&&$a(ye[fe],k)},r.removeHook=function(fe,k){if(k!==void 0){const L=kl(ye[fe],k);return L===-1?void 0:_l(ye[fe],L,1)[0]}return fo(ye[fe])},r.removeHooks=function(fe){ye[fe]=[]},r.removeAllHooks=function(){ye=To()},r}var xo=Eo();function on(e){return e.replace(/\*\*/g,"").replace(/`/g,"").trim()}function os(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(r=>on(r))}function is(e){return/^\s*\|.+\|\s*$/.test(e)}function Vl(e){if(!is(e))return!1;const r=os(e);return r.length>0&&r.every(o=>/^:?-{3,}:?$/.test(o.trim()))}function zl(e){const r=e.split(/\r?\n/),o=[];for(let c=0;c<r.length-1;){if(!is(r[c])||!Vl(r[c+1])){c+=1;continue}const d=os(r[c]),u=[];let y=c+2;for(;y<r.length&&is(r[y]);y+=1){const _=os(r[y]);_.length>=d.length&&u.push(_.slice(0,d.length))}d.length>=1&&u.length>0&&o.push({index:c,headers:d,rows:u}),c=Math.max(y,c+1)}return o}function Hl(e,r){const c=e.split(/\r?\n/).slice(0,r).reverse().map(d=>{var u;return(u=d.match(/^\s{0,3}#{1,6}\s+(.+?)\s*$/))==null?void 0:u[1]}).find(Boolean);return on(c??"图表卡片")}function Bo(e){const r=on(e).replace(/[↑↓↗↘]/g,"").trim();if(!r||/^[—-]+$/.test(r))return null;const o=r.match(/-?\d+(?:,\d{3})*(?:\.\d+)?|-?\d+(?:\.\d+)?/);if(!o)return null;let c=Number(o[0].replace(/,/g,""));return Number.isFinite(c)?(r.includes("亿")?c*=1e8:r.includes("万")&&(c*=1e4),c):null}function Gl(e){const r=on(e).replace(/[↑↓↗↘]/g,"").replace(/\s+/g,"").trim();return!r||/^[—-]+$/.test(r)?!1:/^[+-]?(?:\d+(?:,\d{3})*|\d+)(?:\.\d+)?(?:%|万|亿|万元|亿元)?$/.test(r)}function ql(e){const r=on(e).trim();return!r||/^[—-]+$/.test(r)}function Ul(e){return/环比|同比|占比|变化/.test(e)}function gr(e){const r=on(e).toLowerCase().replace(/\s+/g,"");return/^(#|no\.?|number|rank|ranking|排名|排行|名次|序号|序)$/.test(r)}function Wl(e){return/环比|同比|占比|变化|增长率|增幅/.test(on(e))}function yr(e){return Ul(e)||Wl(e)}function cs(e){const r=on(e).replace(/[\s_-]+/g,"");return{compact:r,normalized:r.toLowerCase()}}function ls(e){const{compact:r,normalized:o}=cs(e);return o==="id"||/(?:^|[\s_-])id$/i.test(on(e))||/[A-Z0-9]ID$/.test(r)||/id$/.test(o)&&!/(paid|valid|invalid)$/.test(o)}function jl(e){const{normalized:r}=cs(e);return ls(e)||/number$|no$|code$|date$|time$|日期|时间|编号|单号|订单号|流水号|编码/.test(r)}function Kl(e){const r=on(e).toLowerCase().replace(/\s+/g,"");return/date|time|month|week|quarter|year|region|area|city|category|customer|channel|月份|日期|时间|周期|季度|年份|年度|区域|地区|城市|省份|门店|部门|品类|分类|类别|客户|渠道|平台|名称|姓名|类型|项目/.test(r)}function Ql(e){const{normalized:r}=cs(e);return ls(e)||/number$|no$|code$|编号|单号|订单号|流水号|编码/.test(r)}function br(e,r){const o=e.rows.map(c=>c[r]??"").filter(c=>!ql(c));return o.length>0&&o.every(Gl)}function Io(e){var y;const r=e.headers.map((_,E)=>({header:_,index:E})).filter(({header:_})=>!gr(_)&&!yr(_)),o=r.find(({header:_})=>ls(_));if(o)return o.index;const c=r.find(({header:_})=>Ql(_));if(c)return c.index;const d=r.find(({header:_})=>Kl(_));if(d)return d.index;const u=r.find(({index:_})=>!br(e,_));return(u==null?void 0:u.index)??((y=r[0])==null?void 0:y.index)??0}function Ro(e,r,o,c,d=""){const u=`${d}
3
- ${r}
1
+ (function(Fe,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("@ant-design/icons-vue"),require("ant-design-vue"),require("marked"),require("@opentiny/tiny-robot"),require("echarts"),require("@fses/workbench-card/chart")):typeof define=="function"&&define.amd?define(["exports","vue","@ant-design/icons-vue","ant-design-vue","marked","@opentiny/tiny-robot","echarts","@fses/workbench-card/chart"],n):(Fe=typeof globalThis<"u"?globalThis:Fe||self,n(Fe.FsesAiChat={},Fe.Vue,Fe.AntDesignIconsVue,Fe.AntDesignVue,Fe.marked,Fe.TinyRobot,Fe.echarts,Fe.FsesWorkbenchCard))})(this,function(Fe,n,Xe,ua,lo,Jr,pl,Zr){"use strict";function hl(e){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const c=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(a,o,c.get?c:{enumerable:!0,get:()=>e[o]})}}return a.default=e,Object.freeze(a)}const gl=hl(pl);/*! @license DOMPurify 3.4.1 | (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.1/LICENSE */const{entries:uo,setPrototypeOf:mo,isFrozen:yl,getPrototypeOf:bl,getOwnPropertyDescriptor:kl}=Object;let{freeze:jt,seal:sn,create:ma}=Object,{apply:Xr,construct:es}=typeof Reflect<"u"&&Reflect;jt||(jt=function(a){return a}),sn||(sn=function(a){return a}),Xr||(Xr=function(a,o){for(var c=arguments.length,d=new Array(c>2?c-2:0),u=2;u<c;u++)d[u-2]=arguments[u];return a.apply(o,d)}),es||(es=function(a){for(var o=arguments.length,c=new Array(o>1?o-1:0),d=1;d<o;d++)c[d-1]=arguments[d];return new a(...c)});const Fa=wt(Array.prototype.forEach),_l=wt(Array.prototype.lastIndexOf),fo=wt(Array.prototype.pop),$a=wt(Array.prototype.push),Cl=wt(Array.prototype.splice),Kt=Array.isArray,Va=wt(String.prototype.toLowerCase),ts=wt(String.prototype.toString),po=wt(String.prototype.match),fa=wt(String.prototype.replace),ho=wt(String.prototype.indexOf),Sl=wt(String.prototype.trim),Al=wt(Number.prototype.toString),wl=wt(Boolean.prototype.toString),go=typeof BigInt>"u"?null:wt(BigInt.prototype.toString),yo=typeof Symbol>"u"?null:wt(Symbol.prototype.toString),kt=wt(Object.prototype.hasOwnProperty),za=wt(Object.prototype.toString),$t=wt(RegExp.prototype.test),pr=Tl(TypeError);function wt(e){return function(a){a instanceof RegExp&&(a.lastIndex=0);for(var o=arguments.length,c=new Array(o>1?o-1:0),d=1;d<o;d++)c[d-1]=arguments[d];return Xr(e,a,c)}}function Tl(e){return function(){for(var a=arguments.length,o=new Array(a),c=0;c<a;c++)o[c]=arguments[c];return es(e,o)}}function Ae(e,a){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Va;if(mo&&mo(e,null),!Kt(a))return e;let c=a.length;for(;c--;){let d=a[c];if(typeof d=="string"){const u=o(d);u!==d&&(yl(a)||(a[c]=u),d=u)}e[d]=!0}return e}function El(e){for(let a=0;a<e.length;a++)kt(e,a)||(e[a]=null);return e}function Xt(e){const a=ma(null);for(const[o,c]of uo(e))kt(e,o)&&(Kt(c)?a[o]=El(c):c&&typeof c=="object"&&c.constructor===Object?a[o]=Xt(c):a[o]=c);return a}function xl(e){switch(typeof e){case"string":return e;case"number":return Al(e);case"boolean":return wl(e);case"bigint":return go?go(e):"0";case"symbol":return yo?yo(e):"Symbol()";case"undefined":return za(e);case"function":case"object":{if(e===null)return za(e);const a=e,o=pa(a,"toString");if(typeof o=="function"){const c=o(a);return typeof c=="string"?c:za(c)}return za(e)}default:return za(e)}}function pa(e,a){for(;e!==null;){const c=kl(e,a);if(c){if(c.get)return wt(c.get);if(typeof c.value=="function")return wt(c.value)}e=bl(e)}function o(){return null}return o}function Bl(e){try{return $t(e,""),!0}catch{return!1}}const bo=jt(["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"]),ns=jt(["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"]),as=jt(["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"]),Il=jt(["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"]),rs=jt(["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"]),Rl=jt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),ko=jt(["#text"]),_o=jt(["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"]),ss=jt(["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"]),Co=jt(["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"]),hr=jt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),vl=sn(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Dl=sn(/<%[\w\W]*|[\w\W]*%>/gm),Nl=sn(/\$\{[\w\W]*/gm),Ll=sn(/^data-[\-\w.\u00B7-\uFFFF]+$/),Pl=sn(/^aria-[\-\w]+$/),So=sn(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ml=sn(/^(?:\w+script|data):/i),Ol=sn(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Ao=sn(/^html$/i),Fl=sn(/^[a-z][.\w]*(-[.\w]+)+$/i);var wo=Object.freeze({__proto__:null,ARIA_ATTR:Pl,ATTR_WHITESPACE:Ol,CUSTOM_ELEMENT:Fl,DATA_ATTR:Ll,DOCTYPE_NAME:Ao,ERB_EXPR:Dl,IS_ALLOWED_URI:So,IS_SCRIPT_OR_DATA:Ml,MUSTACHE_EXPR:vl,TMPLIT_EXPR:Nl});const Ha={element:1,text:3,progressingInstruction:7,comment:8,document:9},$l=function(){return typeof window>"u"?null:window},Vl=function(a,o){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let c=null;const d="data-tt-policy-suffix";o&&o.hasAttribute(d)&&(c=o.getAttribute(d));const u="dompurify"+(c?"#"+c:"");try{return a.createPolicy(u,{createHTML(y){return y},createScriptURL(y){return y}})}catch{return console.warn("TrustedTypes policy "+u+" could not be created."),null}},To=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Eo(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:$l();const a=fe=>Eo(fe);if(a.version="3.4.1",a.removed=[],!e||!e.document||e.document.nodeType!==Ha.document||!e.Element)return a.isSupported=!1,a;let{document:o}=e;const c=o,d=c.currentScript,{DocumentFragment:u,HTMLTemplateElement:y,Node:_,Element:E,NodeFilter:R,NamedNodeMap:U=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:z,DOMParser:S,trustedTypes:B}=e,F=E.prototype,H=pa(F,"cloneNode"),Y=pa(F,"remove"),xe=pa(F,"nextSibling"),ie=pa(F,"childNodes"),ue=pa(F,"parentNode");if(typeof y=="function"){const fe=o.createElement("template");fe.content&&fe.content.ownerDocument&&(o=fe.content.ownerDocument)}let ce,Pe="";const{implementation:ne,createNodeIterator:Z,createDocumentFragment:He,getElementsByTagName:ae}=o,{importNode:he}=c;let ye=To();a.isSupported=typeof uo=="function"&&typeof ue=="function"&&ne&&ne.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:at,ERB_EXPR:St,TMPLIT_EXPR:At,DATA_ATTR:je,ARIA_ATTR:lt,IS_SCRIPT_OR_DATA:Pt,ATTR_WHITESPACE:Tt,CUSTOM_ELEMENT:rt}=wo;let{IS_ALLOWED_URI:Ut}=wo,Te=null;const Vt=Ae({},[...bo,...ns,...as,...rs,...ko]);let Le=null;const dt=Ae({},[..._o,...ss,...Co,...hr]);let Be=Object.seal(ma(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}})),v=null,I=null;const G=Object.seal(ma(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let T=!0,Q=!0,te=!1,O=!0,L=!1,j=!0,se=!1,Ce=!1,Se=!1,Me=!1,Qe=!1,Ie=!1,st=!0,Re=!1;const ft="user-content-";let C=!0,q=!1,re={},ee=null;const ge=Ae({},["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 we=null;const Ge=Ae({},["audio","video","img","source","image","track"]);let et=null;const It=Ae({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),pt="http://www.w3.org/1998/Math/MathML",f="http://www.w3.org/2000/svg",b="http://www.w3.org/1999/xhtml";let x=b,X=!1,ke=null;const ve=Ae({},[pt,f,b],ts);let ot=Ae({},["mi","mo","mn","ms","mtext"]),Rt=Ae({},["annotation-xml"]);const ht=Ae({},["title","style","font","a","script"]);let Je=null;const vt=["application/xhtml+xml","text/html"],Yt="text/html";let tt=null,Jt=null;const jn=o.createElement("form"),mn=function(k){return k instanceof RegExp||k instanceof Function},vn=function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Jt&&Jt===k)return;(!k||typeof k!="object")&&(k={}),k=Xt(k),Je=vt.indexOf(k.PARSER_MEDIA_TYPE)===-1?Yt:k.PARSER_MEDIA_TYPE,tt=Je==="application/xhtml+xml"?ts:Va,Te=kt(k,"ALLOWED_TAGS")&&Kt(k.ALLOWED_TAGS)?Ae({},k.ALLOWED_TAGS,tt):Vt,Le=kt(k,"ALLOWED_ATTR")&&Kt(k.ALLOWED_ATTR)?Ae({},k.ALLOWED_ATTR,tt):dt,ke=kt(k,"ALLOWED_NAMESPACES")&&Kt(k.ALLOWED_NAMESPACES)?Ae({},k.ALLOWED_NAMESPACES,ts):ve,et=kt(k,"ADD_URI_SAFE_ATTR")&&Kt(k.ADD_URI_SAFE_ATTR)?Ae(Xt(It),k.ADD_URI_SAFE_ATTR,tt):It,we=kt(k,"ADD_DATA_URI_TAGS")&&Kt(k.ADD_DATA_URI_TAGS)?Ae(Xt(Ge),k.ADD_DATA_URI_TAGS,tt):Ge,ee=kt(k,"FORBID_CONTENTS")&&Kt(k.FORBID_CONTENTS)?Ae({},k.FORBID_CONTENTS,tt):ge,v=kt(k,"FORBID_TAGS")&&Kt(k.FORBID_TAGS)?Ae({},k.FORBID_TAGS,tt):Xt({}),I=kt(k,"FORBID_ATTR")&&Kt(k.FORBID_ATTR)?Ae({},k.FORBID_ATTR,tt):Xt({}),re=kt(k,"USE_PROFILES")?k.USE_PROFILES&&typeof k.USE_PROFILES=="object"?Xt(k.USE_PROFILES):k.USE_PROFILES:!1,T=k.ALLOW_ARIA_ATTR!==!1,Q=k.ALLOW_DATA_ATTR!==!1,te=k.ALLOW_UNKNOWN_PROTOCOLS||!1,O=k.ALLOW_SELF_CLOSE_IN_ATTR!==!1,L=k.SAFE_FOR_TEMPLATES||!1,j=k.SAFE_FOR_XML!==!1,se=k.WHOLE_DOCUMENT||!1,Me=k.RETURN_DOM||!1,Qe=k.RETURN_DOM_FRAGMENT||!1,Ie=k.RETURN_TRUSTED_TYPE||!1,Se=k.FORCE_BODY||!1,st=k.SANITIZE_DOM!==!1,Re=k.SANITIZE_NAMED_PROPS||!1,C=k.KEEP_CONTENT!==!1,q=k.IN_PLACE||!1,Ut=Bl(k.ALLOWED_URI_REGEXP)?k.ALLOWED_URI_REGEXP:So,x=typeof k.NAMESPACE=="string"?k.NAMESPACE:b,ot=kt(k,"MATHML_TEXT_INTEGRATION_POINTS")&&k.MATHML_TEXT_INTEGRATION_POINTS&&typeof k.MATHML_TEXT_INTEGRATION_POINTS=="object"?Xt(k.MATHML_TEXT_INTEGRATION_POINTS):Ae({},["mi","mo","mn","ms","mtext"]),Rt=kt(k,"HTML_INTEGRATION_POINTS")&&k.HTML_INTEGRATION_POINTS&&typeof k.HTML_INTEGRATION_POINTS=="object"?Xt(k.HTML_INTEGRATION_POINTS):Ae({},["annotation-xml"]);const P=kt(k,"CUSTOM_ELEMENT_HANDLING")&&k.CUSTOM_ELEMENT_HANDLING&&typeof k.CUSTOM_ELEMENT_HANDLING=="object"?Xt(k.CUSTOM_ELEMENT_HANDLING):ma(null);if(Be=ma(null),kt(P,"tagNameCheck")&&mn(P.tagNameCheck)&&(Be.tagNameCheck=P.tagNameCheck),kt(P,"attributeNameCheck")&&mn(P.attributeNameCheck)&&(Be.attributeNameCheck=P.attributeNameCheck),kt(P,"allowCustomizedBuiltInElements")&&typeof P.allowCustomizedBuiltInElements=="boolean"&&(Be.allowCustomizedBuiltInElements=P.allowCustomizedBuiltInElements),L&&(Q=!1),Qe&&(Me=!0),re&&(Te=Ae({},ko),Le=ma(null),re.html===!0&&(Ae(Te,bo),Ae(Le,_o)),re.svg===!0&&(Ae(Te,ns),Ae(Le,ss),Ae(Le,hr)),re.svgFilters===!0&&(Ae(Te,as),Ae(Le,ss),Ae(Le,hr)),re.mathMl===!0&&(Ae(Te,rs),Ae(Le,Co),Ae(Le,hr))),G.tagCheck=null,G.attributeCheck=null,kt(k,"ADD_TAGS")&&(typeof k.ADD_TAGS=="function"?G.tagCheck=k.ADD_TAGS:Kt(k.ADD_TAGS)&&(Te===Vt&&(Te=Xt(Te)),Ae(Te,k.ADD_TAGS,tt))),kt(k,"ADD_ATTR")&&(typeof k.ADD_ATTR=="function"?G.attributeCheck=k.ADD_ATTR:Kt(k.ADD_ATTR)&&(Le===dt&&(Le=Xt(Le)),Ae(Le,k.ADD_ATTR,tt))),kt(k,"ADD_URI_SAFE_ATTR")&&Kt(k.ADD_URI_SAFE_ATTR)&&Ae(et,k.ADD_URI_SAFE_ATTR,tt),kt(k,"FORBID_CONTENTS")&&Kt(k.FORBID_CONTENTS)&&(ee===ge&&(ee=Xt(ee)),Ae(ee,k.FORBID_CONTENTS,tt)),kt(k,"ADD_FORBID_CONTENTS")&&Kt(k.ADD_FORBID_CONTENTS)&&(ee===ge&&(ee=Xt(ee)),Ae(ee,k.ADD_FORBID_CONTENTS,tt)),C&&(Te["#text"]=!0),se&&Ae(Te,["html","head","body"]),Te.table&&(Ae(Te,["tbody"]),delete v.tbody),k.TRUSTED_TYPES_POLICY){if(typeof k.TRUSTED_TYPES_POLICY.createHTML!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof k.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw pr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ce=k.TRUSTED_TYPES_POLICY,Pe=ce.createHTML("")}else ce===void 0&&(ce=Vl(B,d)),ce!==null&&typeof Pe=="string"&&(Pe=ce.createHTML(""));jt&&jt(k),Jt=k},Cn=Ae({},[...ns,...as,...Il]),Dn=Ae({},[...rs,...Rl]),Sn=function(k){let P=ue(k);(!P||!P.tagName)&&(P={namespaceURI:x,tagName:"template"});const N=Va(k.tagName),me=Va(P.tagName);return ke[k.namespaceURI]?k.namespaceURI===f?P.namespaceURI===b?N==="svg":P.namespaceURI===pt?N==="svg"&&(me==="annotation-xml"||ot[me]):!!Cn[N]:k.namespaceURI===pt?P.namespaceURI===b?N==="math":P.namespaceURI===f?N==="math"&&Rt[me]:!!Dn[N]:k.namespaceURI===b?P.namespaceURI===f&&!Rt[me]||P.namespaceURI===pt&&!ot[me]?!1:!Dn[N]&&(ht[N]||!Cn[N]):!!(Je==="application/xhtml+xml"&&ke[k.namespaceURI]):!1},J=function(k){$a(a.removed,{element:k});try{ue(k).removeChild(k)}catch{Y(k)}},de=function(k,P){try{$a(a.removed,{attribute:P.getAttributeNode(k),from:P})}catch{$a(a.removed,{attribute:null,from:P})}if(P.removeAttribute(k),k==="is")if(Me||Qe)try{J(P)}catch{}else try{P.setAttribute(k,"")}catch{}},Oe=function(k){let P=null,N=null;if(Se)k="<remove></remove>"+k;else{const Ee=po(k,/^[\r\n\t ]+/);N=Ee&&Ee[0]}Je==="application/xhtml+xml"&&x===b&&(k='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+k+"</body></html>");const me=ce?ce.createHTML(k):k;if(x===b)try{P=new S().parseFromString(me,Je)}catch{}if(!P||!P.documentElement){P=ne.createDocument(x,"template",null);try{P.documentElement.innerHTML=X?Pe:me}catch{}}const be=P.body||P.documentElement;return k&&N&&be.insertBefore(o.createTextNode(N),be.childNodes[0]||null),x===b?ae.call(P,se?"html":"body")[0]:se?P.documentElement:be},De=function(k){return Z.call(k.ownerDocument||k,k,R.SHOW_ELEMENT|R.SHOW_COMMENT|R.SHOW_TEXT|R.SHOW_PROCESSING_INSTRUCTION|R.SHOW_CDATA_SECTION,null)},qe=function(k){return k instanceof z&&(typeof k.nodeName!="string"||typeof k.textContent!="string"||typeof k.removeChild!="function"||!(k.attributes instanceof U)||typeof k.removeAttribute!="function"||typeof k.setAttribute!="function"||typeof k.namespaceURI!="string"||typeof k.insertBefore!="function"||typeof k.hasChildNodes!="function")},Ke=function(k){return typeof _=="function"&&k instanceof _};function Ze(fe,k,P){Fa(fe,N=>{N.call(a,k,P,Jt)})}const zt=function(k){let P=null;if(Ze(ye.beforeSanitizeElements,k,null),qe(k))return J(k),!0;const N=tt(k.nodeName);if(Ze(ye.uponSanitizeElement,k,{tagName:N,allowedTags:Te}),j&&k.hasChildNodes()&&!Ke(k.firstElementChild)&&$t(/<[/\w!]/g,k.innerHTML)&&$t(/<[/\w!]/g,k.textContent)||j&&k.namespaceURI===b&&N==="style"&&Ke(k.firstElementChild)||k.nodeType===Ha.progressingInstruction||j&&k.nodeType===Ha.comment&&$t(/<[/\w]/g,k.data))return J(k),!0;if(v[N]||!(G.tagCheck instanceof Function&&G.tagCheck(N))&&!Te[N]){if(!v[N]&&Ln(N)&&(Be.tagNameCheck instanceof RegExp&&$t(Be.tagNameCheck,N)||Be.tagNameCheck instanceof Function&&Be.tagNameCheck(N)))return!1;if(C&&!ee[N]){const me=ue(k)||k.parentNode,be=ie(k)||k.childNodes;if(be&&me){const Ee=be.length;for(let it=Ee-1;it>=0;--it){const Mt=H(be[it],!0);me.insertBefore(Mt,xe(k))}}}return J(k),!0}return k instanceof E&&!Sn(k)||(N==="noscript"||N==="noembed"||N==="noframes")&&$t(/<\/no(script|embed|frames)/i,k.innerHTML)?(J(k),!0):(L&&k.nodeType===Ha.text&&(P=k.textContent,Fa([at,St,At],me=>{P=fa(P,me," ")}),k.textContent!==P&&($a(a.removed,{element:k.cloneNode()}),k.textContent=P)),Ze(ye.afterSanitizeElements,k,null),!1)},en=function(k,P,N){if(I[P]||st&&(P==="id"||P==="name")&&(N in o||N in jn))return!1;if(!(Q&&!I[P]&&$t(je,P))){if(!(T&&$t(lt,P))){if(!(G.attributeCheck instanceof Function&&G.attributeCheck(P,k))){if(!Le[P]||I[P]){if(!(Ln(k)&&(Be.tagNameCheck instanceof RegExp&&$t(Be.tagNameCheck,k)||Be.tagNameCheck instanceof Function&&Be.tagNameCheck(k))&&(Be.attributeNameCheck instanceof RegExp&&$t(Be.attributeNameCheck,P)||Be.attributeNameCheck instanceof Function&&Be.attributeNameCheck(P,k))||P==="is"&&Be.allowCustomizedBuiltInElements&&(Be.tagNameCheck instanceof RegExp&&$t(Be.tagNameCheck,N)||Be.tagNameCheck instanceof Function&&Be.tagNameCheck(N))))return!1}else if(!et[P]){if(!$t(Ut,fa(N,Tt,""))){if(!((P==="src"||P==="xlink:href"||P==="href")&&k!=="script"&&ho(N,"data:")===0&&we[k])){if(!(te&&!$t(Pt,fa(N,Tt,"")))){if(N)return!1}}}}}}}return!0},Nn=Ae({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ln=function(k){return!Nn[Va(k)]&&$t(rt,k)},Ht=function(k){Ze(ye.beforeSanitizeAttributes,k,null);const{attributes:P}=k;if(!P||qe(k))return;const N={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Le,forceKeepAttr:void 0};let me=P.length;for(;me--;){const be=P[me],{name:Ee,namespaceURI:it,value:Mt}=be,Et=tt(Ee),ra=Mt;let ut=Ee==="value"?ra:Sl(ra);if(N.attrName=Et,N.attrValue=ut,N.keepAttr=!0,N.forceKeepAttr=void 0,Ze(ye.uponSanitizeAttribute,k,N),ut=N.attrValue,Re&&(Et==="id"||Et==="name")&&ho(ut,ft)!==0&&(de(Ee,k),ut=ft+ut),j&&$t(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,ut)){de(Ee,k);continue}if(Et==="attributename"&&po(ut,"href")){de(Ee,k);continue}if(N.forceKeepAttr)continue;if(!N.keepAttr){de(Ee,k);continue}if(!O&&$t(/\/>/i,ut)){de(Ee,k);continue}L&&Fa([at,St,At],xa=>{ut=fa(ut,xa," ")});const Ea=tt(k.nodeName);if(!en(Ea,Et,ut)){de(Ee,k);continue}if(ce&&typeof B=="object"&&typeof B.getAttributeType=="function"&&!it)switch(B.getAttributeType(Ea,Et)){case"TrustedHTML":{ut=ce.createHTML(ut);break}case"TrustedScriptURL":{ut=ce.createScriptURL(ut);break}}if(ut!==ra)try{it?k.setAttributeNS(it,Ee,ut):k.setAttribute(Ee,ut),qe(k)?J(k):fo(a.removed)}catch{de(Ee,k)}}Ze(ye.afterSanitizeAttributes,k,null)},tn=function(k){let P=null;const N=De(k);for(Ze(ye.beforeSanitizeShadowDOM,k,null);P=N.nextNode();)Ze(ye.uponSanitizeShadowNode,P,null),zt(P),Ht(P),P.content instanceof u&&tn(P.content);Ze(ye.afterSanitizeShadowDOM,k,null)};return a.sanitize=function(fe){let k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},P=null,N=null,me=null,be=null;if(X=!fe,X&&(fe="<!-->"),typeof fe!="string"&&!Ke(fe)&&(fe=xl(fe),typeof fe!="string"))throw pr("dirty is not a string, aborting");if(!a.isSupported)return fe;if(Ce||vn(k),a.removed=[],typeof fe=="string"&&(q=!1),q){const Mt=fe.nodeName;if(typeof Mt=="string"){const Et=tt(Mt);if(!Te[Et]||v[Et])throw pr("root node is forbidden and cannot be sanitized in-place")}}else if(fe instanceof _)P=Oe("<!---->"),N=P.ownerDocument.importNode(fe,!0),N.nodeType===Ha.element&&N.nodeName==="BODY"||N.nodeName==="HTML"?P=N:P.appendChild(N);else{if(!Me&&!L&&!se&&fe.indexOf("<")===-1)return ce&&Ie?ce.createHTML(fe):fe;if(P=Oe(fe),!P)return Me?null:Ie?Pe:""}P&&Se&&J(P.firstChild);const Ee=De(q?fe:P);for(;me=Ee.nextNode();)zt(me),Ht(me),me.content instanceof u&&tn(me.content);if(q)return fe;if(Me){if(L){P.normalize();let Mt=P.innerHTML;Fa([at,St,At],Et=>{Mt=fa(Mt,Et," ")}),P.innerHTML=Mt}if(Qe)for(be=He.call(P.ownerDocument);P.firstChild;)be.appendChild(P.firstChild);else be=P;return(Le.shadowroot||Le.shadowrootmode)&&(be=he.call(c,be,!0)),be}let it=se?P.outerHTML:P.innerHTML;return se&&Te["!doctype"]&&P.ownerDocument&&P.ownerDocument.doctype&&P.ownerDocument.doctype.name&&$t(Ao,P.ownerDocument.doctype.name)&&(it="<!DOCTYPE "+P.ownerDocument.doctype.name+`>
2
+ `+it),L&&Fa([at,St,At],Mt=>{it=fa(it,Mt," ")}),ce&&Ie?ce.createHTML(it):it},a.setConfig=function(){let fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};vn(fe),Ce=!0},a.clearConfig=function(){Jt=null,Ce=!1},a.isValidAttribute=function(fe,k,P){Jt||vn({});const N=tt(fe),me=tt(k);return en(N,me,P)},a.addHook=function(fe,k){typeof k=="function"&&$a(ye[fe],k)},a.removeHook=function(fe,k){if(k!==void 0){const P=_l(ye[fe],k);return P===-1?void 0:Cl(ye[fe],P,1)[0]}return fo(ye[fe])},a.removeHooks=function(fe){ye[fe]=[]},a.removeAllHooks=function(){ye=To()},a}var xo=Eo();function on(e){return e.replace(/\*\*/g,"").replace(/`/g,"").trim()}function os(e){return e.trim().replace(/^\|/,"").replace(/\|$/,"").split("|").map(a=>on(a))}function is(e){return/^\s*\|.+\|\s*$/.test(e)}function zl(e){if(!is(e))return!1;const a=os(e);return a.length>0&&a.every(o=>/^:?-{3,}:?$/.test(o.trim()))}function Hl(e){const a=e.split(/\r?\n/),o=[];for(let c=0;c<a.length-1;){if(!is(a[c])||!zl(a[c+1])){c+=1;continue}const d=os(a[c]),u=[];let y=c+2;for(;y<a.length&&is(a[y]);y+=1){const _=os(a[y]);_.length>=d.length&&u.push(_.slice(0,d.length))}d.length>=1&&u.length>0&&o.push({index:c,headers:d,rows:u}),c=Math.max(y,c+1)}return o}function Gl(e,a){const c=e.split(/\r?\n/).slice(0,a).reverse().map(d=>{var u;return(u=d.match(/^\s{0,3}#{1,6}\s+(.+?)\s*$/))==null?void 0:u[1]}).find(Boolean);return on(c??"图表卡片")}function Bo(e){const a=on(e).replace(/[↑↓↗↘]/g,"").trim();if(!a||/^[—-]+$/.test(a))return null;const o=a.match(/-?\d+(?:,\d{3})*(?:\.\d+)?|-?\d+(?:\.\d+)?/);if(!o)return null;let c=Number(o[0].replace(/,/g,""));return Number.isFinite(c)?(a.includes("亿")?c*=1e8:a.includes("万")&&(c*=1e4),c):null}function ql(e){const a=on(e).replace(/[↑↓↗↘]/g,"").replace(/\s+/g,"").trim();return!a||/^[—-]+$/.test(a)?!1:/^[+-]?(?:\d+(?:,\d{3})*|\d+)(?:\.\d+)?(?:%|万|亿|万元|亿元)?$/.test(a)}function Ul(e){const a=on(e).trim();return!a||/^[—-]+$/.test(a)}function Wl(e){return/环比|同比|占比|变化/.test(e)}function gr(e){const a=on(e).toLowerCase().replace(/\s+/g,"");return/^(#|no\.?|number|rank|ranking|排名|排行|名次|序号|序)$/.test(a)}function jl(e){return/环比|同比|占比|变化|增长率|增幅/.test(on(e))}function yr(e){return Wl(e)||jl(e)}function cs(e){const a=on(e).replace(/[\s_-]+/g,"");return{compact:a,normalized:a.toLowerCase()}}function ls(e){const{compact:a,normalized:o}=cs(e);return o==="id"||/(?:^|[\s_-])id$/i.test(on(e))||/[A-Z0-9]ID$/.test(a)||/id$/.test(o)&&!/(paid|valid|invalid)$/.test(o)}function Kl(e){const{normalized:a}=cs(e);return ls(e)||/number$|no$|code$|date$|time$|日期|时间|编号|单号|订单号|流水号|编码/.test(a)}function Ql(e){const a=on(e).toLowerCase().replace(/\s+/g,"");return/date|time|month|week|quarter|year|region|area|city|category|customer|channel|月份|日期|时间|周期|季度|年份|年度|区域|地区|城市|省份|门店|部门|品类|分类|类别|客户|渠道|平台|名称|姓名|类型|项目/.test(a)}function Yl(e){const{normalized:a}=cs(e);return ls(e)||/number$|no$|code$|编号|单号|订单号|流水号|编码/.test(a)}function br(e,a){const o=e.rows.map(c=>c[a]??"").filter(c=>!Ul(c));return o.length>0&&o.every(ql)}function Io(e){var y;const a=e.headers.map((_,E)=>({header:_,index:E})).filter(({header:_})=>!gr(_)&&!yr(_)),o=a.find(({header:_})=>ls(_));if(o)return o.index;const c=a.find(({header:_})=>Yl(_));if(c)return c.index;const d=a.find(({header:_})=>Ql(_));if(d)return d.index;const u=a.find(({index:_})=>!br(e,_));return(u==null?void 0:u.index)??((y=a[0])==null?void 0:y.index)??0}function Ro(e,a,o,c,d=""){const u=`${d}
3
+ ${a}
4
4
  ${e}`;return/k\s*线图?|kline|蜡烛图|candlestick/i.test(u)?"candlestick":/桑基图|桑基|sankey/i.test(u)?"sankey":/热力图|heat\s*map|heatmap/i.test(u)?"heatmap":/雷达图|radar/i.test(u)?"radar":/气泡图|bubble/i.test(u)?"bubble":/散点图|scatter/i.test(u)?"scatter":/漏斗图|funnel/i.test(u)?"funnel":/仪表盘|仪表图|gauge/i.test(u)?"gauge":/箱线图|盒须图|boxplot|box\s*plot/i.test(u)?"boxplot":/树图|树状图|tree\b/i.test(u)?"tree":/矩形树图|treemap/i.test(u)?"treemap":/旭日图|sunburst/i.test(u)?"sunburst":/网络图|关系图|graph|network/i.test(u)?"graph":/地图|map\b/i.test(u)?"map":/环形图|环图|donut/i.test(u)&&c.length===1?"donut":/柱状图|柱形图|bar\s*chart|bar\b/i.test(u)?c.length>1?"grouped-bar":"bar":/折线图|line\s*chart|line\b/i.test(u)?"line":/占比|占比图|饼图/.test(u)&&c.length===1?"pie":/趋势|月份|日期|时间|年度|季度|周/.test(`${u}
5
- ${o}`)?"line":c.length>1?"grouped-bar":"bar"}function vo(e){return e.rows.length!==1?!1:e.headers.every(r=>!gr(r)&&!yr(r))&&e.headers.every((r,o)=>br(e,o))}function Yl(e){if(vo(e))return!0;const r=Io(e);return e.headers.some((o,c)=>c===r||gr(o)||yr(o)?!1:br(e,c))}function Jl(e,r,o){var R,U;const c=Hl(e,r.index);if(vo(r)){const z=r.headers.map((C,B)=>({指标:on(C),数值:Bo(r.rows[0][B]??"")??0}));return{type:"chart-card",id:`derived-${Do(`${c}:${JSON.stringify(z)}`)}`,title:c,chart:{type:Ro(e,c,"指标",["数值"],o.userQuestion),xField:"指标",yFields:["数值"],data:z},summary:"基于当前回复中的结果数据生成。",source:{label:"当前问数结果",value:"assistant-response"},permission:{label:"当前用户可见",level:"self",downloadable:!1},actions:["insert-left"],meta:{generatedBy:"agent",...(R=o.userQuestion)!=null&&R.trim()?{prompt:o.userQuestion.trim()}:{},version:1}}}const d=Io(r),u=r.headers[d],y=r.headers.map((z,C)=>({header:z,index:C})).filter(({header:z,index:C})=>C===d||gr(z)||yr(z)||jl(z)?!1:br(r,C));if(y.length===0)return null;const _=y.map(z=>z.header),E=r.rows.map(z=>{const C={[u]:on(z[d]??"")};for(const{header:B,index:F}of y)C[B]=Bo(z[F]??"")??0;return C});return{type:"chart-card",id:`derived-${Do(`${c}:${JSON.stringify(E)}`)}`,title:c,chart:{type:Ro(e,c,u,_,o.userQuestion),xField:u,yFields:_,data:E},summary:"基于当前回复中的结果数据生成。",source:{label:"当前问数结果",value:"assistant-response"},permission:{label:"当前用户可见",level:"self",downloadable:!1},actions:["insert-left"],meta:{generatedBy:"agent",...(U=o.userQuestion)!=null&&U.trim()?{prompt:o.userQuestion.trim()}:{},version:1}}}function Do(e){let r=0;for(let o=0;o<e.length;o+=1)r=(r<<5)-r+e.charCodeAt(o)|0;return Math.abs(r).toString(36)}function No(e,r={}){return zl(e).filter(Yl).map(o=>Jl(e,o,r)).filter(o=>!!o)}const Zl={area:"area",bar:"bar",boxplot:"boxplot",bubble:"bubble",candlestick:"candlestick",donut:"donut",funnel:"funnel",gauge:"gauge",graph:"graph","grouped-bar":"grouped-bar","horizontal-bar":"horizontal-bar",heatmap:"heatmap",kline:"candlestick",line:"line",map:"map","mini-bar":"mini-bar",network:"network",pie:"pie",radar:"radar",sankey:"sankey",scatter:"scatter",sunburst:"sunburst",tree:"tree",treemap:"treemap"};function Qe(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ds(e){let r=0;for(let o=0;o<e.length;o+=1)r=(r<<5)-r+e.charCodeAt(o)|0;return Math.abs(r).toString(36)}function kr(e){if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return Qe(e)&&(e.type==="json"&&"value"in e||"value"in e&&Qe(e.value))?kr(e.value):e}function Lo(e){return typeof e!="string"?"bar":Zl[e]??"bar"}function Xl(e){const o=(Array.isArray(e)?e:[]).filter(c=>c==="view"||c==="download"||c==="insert-left"||c==="save-doc"||c==="save-kb"||c==="upgrade");return o.includes("insert-left")?o:[...o,"insert-left"]}function Po(e){for(const r of e){if(!Qe(r))continue;const o={},c=Ue(r.unitCode||r.unit_code),d=Ue(r.unitLabel||r.unit_label||r.unit),u=Ue(r.valueFormat||r.value_format||r.format),y=Ue(r.displayValue||r.display_value),_=us(r.decimalPlaces??r.decimal_places??r.scale);if(c&&(o.unitCode=c),d&&(o.unitLabel=d),u&&(o.valueFormat=u),y&&(o.displayValue=y),_!==null&&(o.decimalPlaces=Math.max(0,Math.min(8,Math.trunc(_)))),Object.keys(o).length>0)return o}}function ed(e){const r=Qe(e.chart)?e.chart:{},o=Qe(e.dataBinding)?e.dataBinding:void 0,c=Qe(o==null?void 0:o.fieldMapping)?o.fieldMapping:void 0,d=typeof e.title=="string"&&e.title.trim()?e.title.trim():"",u=typeof r.xField=="string"&&r.xField.trim()?r.xField.trim():"",y=Array.isArray(r.yFields)?r.yFields.filter(R=>typeof R=="string"&&R.trim().length>0).map(R=>R.trim()):[],_=Array.isArray(r.data)?r.data.filter(Qe):[];if(!d||!u||y.length===0||_.length===0)return null;const E=Po([r.valueSpec,r.displaySpec,e.displaySpec,o==null?void 0:o.displaySpec]);return{type:"chart-card",id:typeof e.id=="string"&&e.id.trim()?e.id.trim():`tool-${ds(`${d}:${JSON.stringify(_)}`)}`,title:d,...typeof e.period=="string"&&e.period.trim()?{period:e.period.trim()}:{},chart:{type:Lo(r.type),xField:u,yFields:y,data:_,...r.sort==="asc"||r.sort==="desc"||r.sort==="none"?{sort:r.sort}:{},...typeof r.limit=="number"&&Number.isFinite(r.limit)?{limit:r.limit}:{},...Array.isArray(r.hiddenSeries)?{hiddenSeries:r.hiddenSeries.filter(R=>typeof R=="string")}:{},...E?{valueSpec:E}:{}},...typeof e.summary=="string"&&e.summary.trim()?{summary:e.summary.trim()}:{},source:{label:Qe(e.source)&&typeof e.source.label=="string"&&e.source.label.trim()?e.source.label.trim():"当前问数结果",...Qe(e.source)&&typeof e.source.value=="string"?{value:e.source.value}:{}},...o?{dataBinding:{...typeof o.bindingKind=="string"&&o.bindingKind.trim()?{bindingKind:o.bindingKind.trim()}:{},...typeof o.source=="string"&&o.source.trim()?{source:o.source.trim()}:{},...typeof o.bindingId=="string"&&o.bindingId.trim()?{bindingId:o.bindingId.trim()}:{},...typeof o.refreshApi=="string"&&o.refreshApi.trim()?{refreshApi:o.refreshApi.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...typeof o.validatedSql=="string"&&o.validatedSql.trim()?{validatedSql:o.validatedSql.trim()}:{},...typeof o.sqlDialect=="string"&&o.sqlDialect.trim()?{sqlDialect:o.sqlDialect.trim()}:{},...typeof o.contractHash=="string"&&o.contractHash.trim()?{contractHash:o.contractHash.trim()}:{},...typeof o.executeApi=="string"&&o.executeApi.trim()?{executeApi:o.executeApi.trim()}:{},...typeof o.metricCode=="string"&&o.metricCode.trim()?{metricCode:o.metricCode.trim()}:{},...typeof o.metricId=="string"&&o.metricId.trim()?{metricId:o.metricId.trim()}:{},...typeof o.metricName=="string"&&o.metricName.trim()?{metricName:o.metricName.trim()}:{},...typeof o.readbackApi=="string"&&o.readbackApi.trim()?{readbackApi:o.readbackApi.trim()}:{},...c?{fieldMapping:{...typeof c.xField=="string"?{xField:c.xField}:{},...Array.isArray(c.yFields)?{yFields:c.yFields.filter(R=>typeof R=="string")}:{}}}:{},...Qe(o.paramsSchema)?{paramsSchema:o.paramsSchema}:{},...Qe(o.permissionContext)?{permissionContext:o.permissionContext}:{}}}:{},permission:{label:Qe(e.permission)&&typeof e.permission.label=="string"&&e.permission.label.trim()?e.permission.label.trim():"当前用户可见",...Qe(e.permission)&&e.permission.level==="team"?{level:"team"}:{},...Qe(e.permission)&&e.permission.level==="org"?{level:"org"}:{},...Qe(e.permission)&&e.permission.level==="self"?{level:"self"}:{},...Qe(e.permission)&&typeof e.permission.downloadable=="boolean"?{downloadable:e.permission.downloadable}:{downloadable:!1}},actions:Xl(e.actions),meta:{generatedBy:"agent",version:Qe(e.meta)&&typeof e.meta.version=="number"&&Number.isFinite(e.meta.version)?e.meta.version:1,...Qe(e.meta)&&typeof e.meta.prompt=="string"?{prompt:e.meta.prompt}:{}}}}function Mo(e){const r=typeof e.title=="string"&&e.title.trim()?e.title.trim():"",o=typeof e.xField=="string"&&e.xField.trim()?e.xField.trim():"",c=Array.isArray(e.yFields)?e.yFields.filter(y=>typeof y=="string"&&y.trim().length>0).map(y=>y.trim()):[],d=Array.isArray(e.data)?e.data.filter(Qe):[];if(!r||!o||c.length===0||d.length===0)return null;const u=Po([e.displaySpec]);return{type:"chart-card",id:`tool-${ds(`${r}:${JSON.stringify(d)}`)}`,title:r,...typeof e.period=="string"&&e.period.trim()?{period:e.period.trim()}:{},chart:{type:Lo(e.chartType),xField:o,yFields:c,data:d,...u?{valueSpec:u}:{}},...typeof e.summary=="string"&&e.summary.trim()?{summary:e.summary.trim()}:{},source:{label:"当前问数结果",value:"generate_chart"},permission:{label:"当前用户可见",level:"self",downloadable:!1},actions:["insert-left"],meta:{generatedBy:"agent",version:1}}}function Ue(e){return typeof e=="string"&&e.trim()?e.trim():""}function us(e){const r=typeof e=="number"?e:Number(e);return Number.isFinite(r)?r:null}function td(e,r){const o=Ue(e.primaryFormat||e.format||e.valueFormat);if(o==="currency"||o==="number"||o==="percent")return o;const c=r.toLowerCase();return/率|占比|percent|percentage|ratio|rate/.test(c)?"percent":"number"}function nd(e){if(!Qe(e))return{label:"运行态权限已校验",level:"self"};const r=e.level==="team"||e.level==="org"||e.level==="self"?e.level:"self";return{label:Ue(e.label)||"运行态权限已校验",level:r}}function ad(e,r){const c={...Qe(e.displaySpec)?e.displaySpec:Qe(r.displaySpec)?r.displaySpec:{},...r,...e},d={},u=Ue(c.unitCode||c.unit_code||c.unit),y=Ue(c.unitLabel||c.unit_label||c.unitName||c.unit_name||c.unit),_=Ue(c.valueFormat||c.value_format||c.primaryFormat||c.format),E=Ue(c.displayValue||c.display_value),R=us(c.decimalPlaces??c.decimal_places??c.scale);return u&&(d.unitCode=u),y&&(d.unitLabel=y),_&&(d.valueFormat=_),E&&(d.displayValue=E),R!==null&&(d.decimalPlaces=Math.max(0,Math.min(8,Math.trunc(R)))),Object.keys(d).length>0?d:void 0}function rd(e){const r=kr(e);if(!Qe(r))return null;const o=Qe(r.source)?r.source:{},c=Ue(o.value),d=Ue(r.metricCode||r.metric_code),u=Ue(r.metricId||r.metric_id),y=Ue(r.metricName||r.metric_name||r.title)||d||u||"指标",_=us(r.value??r.currentValue??r.primaryValue),E=!!(d||u||Ue(r.metricName||r.metric_name)||c==="execute_metric_api"||r.aggregation);if(_===null||!E)return null;const R=Qe(r.dataBinding)?r.dataBinding:{},U=Qe(R.permissionContext)?R.permissionContext:{...Ue(r.tenantId)?{tenantId:Ue(r.tenantId)}:{},...Ue(r.appId)?{appId:Ue(r.appId)}:{}},z=Ue(R.question),C=Ue(R.bindingId)||u||d,B=Ue(R.metricCode)||d,F=Ue(R.metricId)||u,H=ad(r,R),K=Ue(r.displayValue||r.display_value||R.displayValue||(H==null?void 0:H.displayValue));return{type:"metric-card",id:`metric-${ds(`${F||B||y}:${_}`)}`,title:y,metricName:y,...B?{metricCode:B}:{},...F?{metricId:F}:{},value:_,...K?{displayValue:K}:{},...H?{displaySpec:H}:{},format:td({...r,...H??{}},y),source:{label:Ue(o.label)||"百特搭指标执行引擎",...c?{value:c}:{value:"execute_metric_api"}},dataBinding:{...z?{question:z}:{},...C?{bindingId:C}:{},...Ue(R.contractHash||r.contractHash)?{contractHash:Ue(R.contractHash||r.contractHash)}:{},executeApi:Ue(R.executeApi)||"/apps/api/v1/sp/ai/metric/metrics/execute",...B?{metricCode:B}:{},...F?{metricId:F}:{},...H?{displaySpec:H}:{},...K?{displayValue:K}:{},...H!=null&&H.unitCode?{unitCode:H.unitCode}:{},...H!=null&&H.unitLabel?{unitLabel:H.unitLabel}:{},...H!=null&&H.valueFormat?{valueFormat:H.valueFormat}:{},...(H==null?void 0:H.decimalPlaces)!==void 0?{decimalPlaces:H.decimalPlaces}:{},readbackApi:Ue(R.readbackApi)||"/apps/api/v1/sp/ai/metric/metrics/userReadback",refreshApi:Ue(R.refreshApi)||"/apps/api/v1/sp/ai/metric/metrics/execute",...Array.isArray(R.queryFilters)?{queryFilters:R.queryFilters}:{},...Qe(R.paramsSchema)?{paramsSchema:R.paramsSchema}:{},...Object.keys(U).length>0?{permissionContext:U}:{}},permission:nd(r.permission),meta:{generatedBy:"agent",version:Qe(r.meta)&&typeof r.meta.version=="number"&&Number.isFinite(r.meta.version)?r.meta.version:1,...Qe(r.meta)&&Ue(r.meta.prompt)?{prompt:Ue(r.meta.prompt)}:{}}}}function sd(e){const r=kr(e);return Qe(r)?r.type==="chart-card"?ed(r):r.type==="chart-spec"||typeof r.title=="string"&&typeof r.chartType=="string"&&typeof r.xField=="string"&&Array.isArray(r.yFields)&&Array.isArray(r.data)?Mo(r):null:null}const od=[/需要确认口径/u,/存在多个可用口径/u,/请(?:回复|选择)序号/u,/(?:回复|选择)候选?序号/u,/业务行动/u,/业务动作/u,/load_data_action_candidates/u,/permissionDeniedCandidates/u,/未通过权限校验/u,/权限校验/u,/创建草稿/u,/不能继续创建草稿或执行/u,/可用业务行动/u,/执行.*行动/u,/还差\s*\d+\s*个(?:必填)?信息/u,/请回复[“"]?确认提交/u,/暂时不会提交/u,/草稿已准备/u];function Oo(e){return od.some(r=>r.test(e))}function id(e){return e.role==="assistant"&&e.conclusion===!0&&!Oo(e.content)}function cd(e){var r;return e.role==="assistant"&&e.conclusion===!0&&!e.loading&&!e.streaming&&!!((r=e.cards)!=null&&r.length)&&!Oo(e.content)}const ld=128e3;function dd(e,r={}){const o=r.contextWindow??ld,c=e.reduce((_,E)=>_+ms(E),0),d=Math.ceil(c/3.5),u=o>0?Math.round(d/o*100):0,y=Math.min(100,Math.max(0,u));return{estimatedTokens:d,contextWindow:o,percent:y,level:y>=90?"critical":y>=70?"warning":"normal"}}function ms(e){return e==null?0:typeof e=="string"?e.length:typeof e=="number"||typeof e=="boolean"?String(e).length:Array.isArray(e)?e.reduce((r,o)=>r+ms(o),0):typeof e=="object"?Object.entries(e).reduce((r,[o,c])=>r+o.length+ms(c),0):0}let ud=0,Fo=0;function Bn(){return`msg_${++ud}`}function In(){const e=new Date,r=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${r}:${o}`}function $o(e){return e.role!=="status"&&!e.cardRecommendationDraft}function Vo(e){if(typeof e!="string"||!e.trim())return NaN;const r=Date.parse(e);return Number.isFinite(r)?r:NaN}function md(e,r){const o=Vo(r.timestamp);if(!Number.isFinite(o)){e.push(r);return}const c=e.findIndex(d=>{const u=Vo(d.timestamp);return Number.isFinite(u)&&u>o});if(c>=0){e.splice(c,0,r);return}e.push(r)}function Xn(e){if(typeof e!="string"||!e.startsWith("workbench-turn-"))return"";const r=["-reply","-conclusion-stream","-item-","-process-","-task-","-card-mutation-confirmation"];for(const o of r){const c=e.indexOf(o,15);if(c>15)return e.slice(15,c)}return""}function _r(e){var o;const r=(o=e.cardRecommendationDraft)==null?void 0:o.sourceTurnId;return typeof r=="string"&&r.trim()?r.trim():""}function Cr(e){const r=e.cardRecommendationDraft,o=r==null?void 0:r.placementTurnId;return typeof o=="string"&&o.trim()?o.trim():""}function Fn(e){const r=e.workbenchTurnId;return typeof r=="string"&&r.trim()?r.trim():""}function $n(e){return Cr(e)||_r(e)||Fn(e)||Xn(e.id)}function Ga(e){return e==null?"":Array.isArray(e)?`[${e.map(Ga).join(",")}]`:Ke(e)?`{${Object.keys(e).sort().map(r=>`${JSON.stringify(r)}:${Ga(e[r])}`).join(",")}}`:JSON.stringify(e)??String(e)}function ha(e){return Ke(e)?e:{}}function fd(e){return typeof e=="string"&&e.trim()?e.trim():Ke(e)?J(e.key)||J(e.dataIndex)||J(e.data_index)||J(e.field)||J(e.name):""}function zo(e){const r=ha(e.data);return(Array.isArray(e.rows)?e.rows:Array.isArray(r.rows)?r.rows:[]).filter(Ke)}function Ho(e,r){const o=ha(e.data),c=Array.isArray(e.columns)?e.columns:Array.isArray(o.columns)?o.columns:[],d=[...new Set(r.flatMap(y=>Object.keys(y)))],u=c.map((y,_)=>{const E=fd(y);return E&&r.some(R=>Object.prototype.hasOwnProperty.call(R,E))?E:d[_]||E}).filter(Boolean);return[...new Set(u.length>0?u:d)]}function fs(e){if(!Ke(e))return"";const r=ha(e.metadata),o=J(e.resultId)||J(r.resultId)||J(e.id),c=J(e.sourceTurnId)||J(r.sourceTurnId);if(c&&(!o||o.startsWith(`${c}:`)))return`turn:${c}`;if(o)return`result:${o}`;if(c)return`turn:${c}`;const d=zo(e),u=Ho(e,d);if(d.length>0&&u.length>0)return`rows:${Ga({keys:u,rows:d.slice(0,5)})}`;const y=ha(e.data),_=Object.prototype.hasOwnProperty.call(e,"value")?e.value:y.value;return _===void 0?"":`value:${Ga(_)}`}function ps(e){return[e,...Array.isArray(e.viewAlternatives)?e.viewAlternatives.flatMap(r=>ps(r)):[]]}function pd(e){const r=e.recommendations.flatMap(ps).map(d=>fs(d.queryResult)).filter(Boolean),o=fs(e.queryResult),c=r.length>0?r:o?[o]:[];return[...new Set(c)].sort()}function hd(e){return e.role==="assistant"&&!!e.queryResultTable&&!e.cardRecommendationDraft&&!e.content.trim()}function gd(e){return e.role==="status"&&e.loading===!0&&!e.cardRecommendationDraft&&/^思考中[.。…]*$/u.test(e.content.trim())}function yd(e){if(e.role!=="status"||!e.loading)return;const r=Date.now();typeof e.startTime!="number"&&(e.startTime=r),e.endTime=typeof e.endTime=="number"?e.endTime:r,e.loading=!1}function Go(e){var o;if(!((o=e.processInvocations)!=null&&o.length))return;const r=new Date().toISOString();for(const c of e.processInvocations)c.status==="running"&&(c.status="done",c.completedAt=c.completedAt||r)}function qo(e){if(Go(e),e.role==="status"){yd(e);return}if(e.role!=="assistant"||!e.loading&&!e.streaming)return;const r=Date.now();typeof e.startTime!="number"&&(e.startTime=r),e.endTime=typeof e.endTime=="number"?e.endTime:r,e.loading=!1,e.streaming=!1}function bd(e,r){if(r.renderedInMarkdown)return;const o=Array.isArray(e.queryResultTables)?e.queryResultTables:e.queryResultTable?[e.queryResultTable]:[],c=JSON.stringify(r);if(o.some(u=>JSON.stringify(u)===c))return;const d=[...o,r];e.queryResultTable=d[0],d.length>1&&(e.queryResultTables=d)}function kd(e){return typeof e.totalCount=="number"?e.totalCount:typeof e.returnedCount=="number"?e.returnedCount:e.rows.length}function Uo(e){return e.rows.length<=1&&kd(e)<=1&&e.columns.length<=1}function _d(e,r){return!!e.trim()&&Uo(r)}function Sr(e){const r=Array.isArray(e.queryResultTables)?e.queryResultTables:e.queryResultTable?[e.queryResultTable]:[];if(r.length===0)return;const o=r.filter(c=>!_d(e.content,c));if(o.length!==r.length){if(o.length===0){e.queryResultTable=void 0,e.queryResultTables=void 0;return}e.queryResultTable=o[0],e.queryResultTables=o.length>1?o:void 0}}function Wo(e,r){if(!hd(r)||!r.queryResultTable)return null;if(r.queryResultTable.renderedInMarkdown)return r;const o=$n(r);if(!o)return null;const c=e.findIndex(d=>cn(d,o));return c<0?null:(Uo(r.queryResultTable)||bd(e[c],r.queryResultTable),e[c])}function cn(e,r){if(e.role!=="assistant"||e.cardRecommendationDraft||!e.content.trim())return!1;const o=Fn(e);return o?o===r:Xn(e.id)!==r?!1:e.id.endsWith("-reply")||e.id.endsWith("-conclusion-stream")}function hs(e,r){return!!(r&&e.some(o=>cn(o,r)))}function jo(e){let r=e.toLocaleLowerCase();for(;/\d,\d/u.test(r);)r=r.replace(/(\d),(\d)/gu,"$1$2");return r}function Cd(e){if(!Ke(e))return[];const r=Ke(e.data)?e.data:{},o=[e.displayRows,r.displayRows,e.rows,r.rows];for(const c of o)if(Array.isArray(c))return c.filter(Ke);return[]}function Sd(e){const r=e.cardRecommendationDraft;return r?[r.queryResult,...r.recommendations.map(o=>o.queryResult)].filter(Ke):[]}function Ad(e){const r=new Set;for(const o of Sd(e)){const c=Object.prototype.hasOwnProperty.call(o,"value")?o.value:void 0,d=Cd(o),u=[c,...d.slice(0,5).flatMap(y=>Object.values(y))];for(const y of u){if(typeof y!="string"&&typeof y!="number")continue;const _=String(y).trim();_.length<2||r.add(jo(_))}}return[...r].slice(0,8)}function Ko(e,r){const o=Ad(r);if(o.length===0)return"";const c=e.flatMap(d=>{const u=$n(d);if(!u||!cn(d,u))return[];const y=jo(d.content);return o.every(_=>y.includes(_))?[u]:[]});return new Set(c).size===1&&c[0]||""}function ea(e,r){if(!r.cardRecommendationDraft)return $n(r);const o=_r(r),c=Cr(r);if(hs(e,o))return o;const d=Ko(e,r);return d||(hs(e,c)?c:c||o||Fn(r)||Xn(r.id))}function wd(e,r,o=[]){if(!e.cardRecommendationDraft||!r)return!1;const c=_r(e),d=Cr(e);return c===r||c.startsWith(`${r}:`)?!0:c&&hs(o,c)?!1:d===r?!0:Fn(e)===r||Xn(e.id)===r}function Qo(e,r){if(!r.cardRecommendationDraft)return!1;const o=ea(e,r);if(!o)return!1;const c=e.findIndex(d=>cn(d,o));return c<0?!1:(e.splice(c+1,0,r),!0)}function Td(e,r){if(!r.thinkingProcess)return!1;const o=$n(r);if(!o)return!1;const c=e.findIndex(d=>cn(d,o));return c<0?!1:(e.splice(c,0,r),!0)}function ga(e,r){const o=$n(r);if(!o||!cn(r,o))return!1;const c=e.flatMap((E,R)=>E.cardRecommendationDraft&&ea(e,E)===o?[R]:[]);if(c.length===0)return!1;const d=e.findIndex(E=>E.id===r.id),u=c.every((E,R)=>E===d+R+1);if(d<0||u)return!1;const y=c.map(E=>e[E]);for(let E=c.length-1;E>=0;E-=1)e.splice(c[E],1);const _=e.findIndex(E=>E.id===r.id);return e.splice(_+1,0,...y),!0}function Yo(e){let r=!1;for(let o=0;o<e.length;o+=1){let c=!1;for(const d of[...e])c=ga(e,d)||c;if(!c)return r;r=!0}return r}function gs(e){if(!e.cardRecommendationDraft)return"";const r=pd(e.cardRecommendationDraft);return r.length===1?r[0]:r.length>1?`multi:${r.join("|")}`:_r(e)||Cr(e)||Fn(e)||Xn(e.id)}function ta(e,r){const o=gs(r);if(o)for(let c=e.length-1;c>=0;c-=1){const d=e[c];(d==null?void 0:d.id)!==r.id&&gs(d)===o&&e.splice(c,1)}}function ys(e){const r=e.cardRecommendationDraft;return r?r.recommendations.length>1||(r.totalRecommendationCount??0)>1||(r.eligibleCandidateCount??0)>1||(r.returnedCandidateCount??0)>1||(r.readyCandidateCount??0)>1||Array.isArray(r.chartFamilyCoverage)&&r.chartFamilyCoverage.length>0||!!(r.echartsCoverage&&Object.keys(r.echartsCoverage).length>0):!1}function Ed(e){const r=e.cardRecommendationDraft;return r?[r.queryResult,...r.recommendations.flatMap(ps).map(o=>o.queryResult)].filter(Ke).some(o=>{const c=ha(o.metadata);return!!(J(o.resultId)||J(c.resultId)||J(o.id)||J(o.sourceTurnId)||J(c.sourceTurnId))}):!1}function ya(e){const r=e.cardRecommendationDraft;return!r||e.workbenchInterleavedPlacement==="recommendation"?!1:r.recommendations.length<=1&&!ys(e)}function xd(e){return ya(e)&&!Ed(e)}function bs(e,r){const o=e.findIndex(c=>c.id===r.id);if(o<0)return"";for(let c=o-1;c>=0;c-=1){const d=e[c];if(!d||d.role!=="assistant"||d.cardRecommendationDraft||!d.content.trim())continue;const u=$n(d);if(u&&cn(d,u))return u}return""}function Jo(e,r,o){if(!ys(r)||!ya(o))return!1;const c=ea(e,r),d=ea(e,o);if(c&&d&&c===d)return!0;const u=bs(e,r),y=bs(e,o);return!!(u&&y&&u===y)}function ba(e,r){if(ys(r))for(let o=e.length-1;o>=0;o-=1){const c=e[o];c&&c.id!==r.id&&Jo(e,r,c)&&e.splice(o,1)}}function Bd(e){if(!ya(e))return"";const r=e.cardRecommendationDraft,o=r==null?void 0:r.recommendations[0];return Ga({prompt:(r==null?void 0:r.prompt)||"",title:(o==null?void 0:o.title)||"",capabilityId:(o==null?void 0:o.capabilityId)||"",queryResult:(o==null?void 0:o.queryResult)||(r==null?void 0:r.queryResult)||null})}function Id(e){if(!ya(e))return null;const r=e.cardRecommendationDraft,o=r==null?void 0:r.recommendations[0],c=(o==null?void 0:o.queryResult)||(r==null?void 0:r.queryResult);return Ke(c)?c:null}function Rd(e){const r=ha(e.data);return(Array.isArray(e.columns)?e.columns:Array.isArray(r.columns)?r.columns:[]).map(c=>typeof c=="string"?c.trim():Ke(c)?J(c.label)||J(c.title)||J(c.name)||J(c.key):"").filter(Boolean)}function vd(e){var z,C;const r=Id(e),o=e.cardRecommendationDraft,c=o==null?void 0:o.recommendations[0];if(!r)return(((z=c==null?void 0:c.title)==null?void 0:z.trim().length)||0)>0?1:0;const d=zo(r),u=Ho(r,d),_=Rd(r).filter((B,F)=>{const H=u[F]||"";return B&&B!==H}).length,E=d.slice(0,5).reduce((B,F)=>B+u.filter(H=>F[H]!==null&&F[H]!==void 0&&String(F[H]).trim()!=="").length,0),R=fs(r)?4:0,U=(C=c==null?void 0:c.title)!=null&&C.trim()?2:0;return u.length*20+Math.min(d.length,20)*3+_*6+Math.min(E,30)+R+U}function Dd(e,r,o){if(xd(r))return!0;if(!ya(r))return!1;const c=Ko(e,r);return!!(c&&c===o)}function Nd(e){const r=new Map;for(let c=0;c<e.length;c+=1){const d=e[c];if(!d)continue;const u=bs(e,d);if(!u||!Dd(e,d,u))continue;const y=Bd(d),_=r.get(u)||[];_.push({index:c,message:d,signature:y,score:vd(d)}),r.set(u,_)}const o=new Set;for(const c of r.values()){if(c.length<=1)continue;const d=c.reduce((u,y)=>y.score!==u.score?y.score>u.score?y:u:(y.signature!==u.signature,y.index>u.index?y:u));for(const u of c)u.index!==d.index&&o.add(u.index)}for(let c=e.length-1;c>=0;c-=1)o.has(c)&&e.splice(c,1)}function Vn(e){for(const r of[...e])ba(e,r);Nd(e)}function qa(e,r){return ya(r)&&e.some(o=>Jo(e,o,r))}function Ld(e){const r=[];for(const o of e)Wo(r,o)||r.push(o);return r}function Zo(){var e,r;if(typeof((e=globalThis.crypto)==null?void 0:e.randomUUID)=="function"){const o=globalThis.crypto.randomUUID();if(typeof o=="string"&&o.trim())return o}if(typeof((r=globalThis.crypto)==null?void 0:r.getRandomValues)=="function"){const o=new Uint32Array(4);return globalThis.crypto.getRandomValues(o),`conv_${Array.from(o,c=>c.toString(16).padStart(8,"0")).join("")}`}return Fo+=1,`conv_${Date.now().toString(36)}_${Fo.toString(36)}`}function _n(e){return typeof e=="function"?e():e}function Pd(e){return typeof e=="function"?e():e}function Xo(e){const r="data: ";if(!e.startsWith(r))return null;const o=e.slice(r.length).trim();if(!o)return null;try{return JSON.parse(o)}catch{return null}}function Ke(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ka(e){if(Ke(e)&&e.type==="text"&&typeof e.value=="string"||Ke(e)&&e.type==="json"&&"value"in e)return ka(e.value);if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e}function J(e){return typeof e=="string"&&e.trim()?e.trim():""}function Md(e){if(e===null)return null;if(typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e:void 0}function ks(e){if(!Ke(e))return null;const r=new Set,o=(Array.isArray(e.columns)?e.columns:[]).map(y=>{if(!Ke(y))return null;const _=J(y.key)||J(y.name);return!_||r.has(_)?null:(r.add(_),{key:_,label:J(y.label)||_})}).filter(y=>!!y);if(o.length===0)return null;const c=(Array.isArray(e.rows)?e.rows:[]).filter(Ke).map(y=>{const _={};for(const E of o){const R=Md(y[E.key]);R!==void 0&&(_[E.key]=R)}return _}),d=typeof e.returnedCount=="number"&&Number.isFinite(e.returnedCount)?Math.max(0,Math.floor(e.returnedCount)):void 0,u=typeof e.totalCount=="number"&&Number.isFinite(e.totalCount)?Math.max(0,Math.floor(e.totalCount)):void 0;return{columns:o,rows:c,...e.renderedInMarkdown===!0?{renderedInMarkdown:!0}:{},...J(e.title)?{title:J(e.title)}:{},...d!==void 0?{returnedCount:d}:{},...u!==void 0?{totalCount:u}:{}}}function ei(e){return Array.isArray(e)?e.map(r=>ks(r)).filter(r=>!!r):[]}function ti(e){return e instanceof Error&&e.message.trim()||Ke(e)&&typeof e.message=="string"&&e.message.trim()?e.message.trim():String(e||"请求失败")}function Od(e){return Ke(e)&&typeof e.code=="number"&&"data"in e?e.data:e}async function _s(e){return Od(await e.json())}function Fd(e){return Array.isArray(e)?e.flatMap(r=>{if(!Ke(r))return[];const o=J(r.threadId);return o?[{threadId:o,title:J(r.title)||void 0,chatMode:J(r.chatMode)||void 0,createdAt:J(r.createdAt)||void 0,updatedAt:J(r.updatedAt)||void 0}]:[]}):[]}function ni(e){const r=J(e).replace(/\s+/g," ");return r?r.length>20?`${r.slice(0,20)}...`:r:"新对话"}const $d="已加载语义上下文,已提取候选指标、维度、过滤条件和本体模型,用于后续 SQL 推理。",Vd="已加载本体知识,相关术语、模型和字段已用于后续推理。",zd=new Set(["load_semantic_context","get_query_context"]);function Hd(e){return/加载语义上下文返回结果/.test(e)?/"queryContext"\s*:/.test(e)||/"matchedMetrics"\s*:/.test(e)||/"matchedDimensions"\s*:/.test(e)||/"matchedFilters"\s*:/.test(e)||/"matchedOntologyObjects"\s*:/.test(e)||/"ontologyAssets"\s*:/.test(e):!1}function Gd(e){return/加载本体知识返回结果/.test(e)?/"glossary"\s*:/.test(e)||/"models"\s*:/.test(e)||/"databaseObject"\s*:/.test(e)||/"objectType"\s*:/.test(e)||/"lineage"\s*:/.test(e)||/"businessRules"\s*:/.test(e):!1}function qd(e){return Hd(e)?$d:Gd(e)?Vd:e}function ai(e){if(!Ke(e))return null;const r=typeof e.index=="number"&&Number.isFinite(e.index)?e.index:void 0;return r?{index:r,label:J(e.label)||`候选 ${r}`,...J(e.description)?{description:J(e.description)}:{},...J(e.appId)?{appId:J(e.appId)}:{},...J(e.modelCode)?{modelCode:J(e.modelCode)}:{},...J(e.metricCode)?{metricCode:J(e.metricCode)}:{},...J(e.fieldCode)?{fieldCode:J(e.fieldCode)}:{},...J(e.source)?{source:J(e.source)}:{}}:null}function ri(e){if(!Ke(e))return null;const r=J(e.code)||J(e.name),o=J(e.name)||r;return!r||!o?null:{code:r,name:o,...J(e.displayValue)?{displayValue:J(e.displayValue)}:{},...typeof e.required=="boolean"?{required:e.required}:{},...J(e.source)?{source:J(e.source)}:{}}}function si(e){if(!Ke(e))return null;const r=J(e.taskId),o=J(e.taskKind),c=J(e.title);if(!r||!o||!c)return null;const u=(Array.isArray(e.confirmationOptions)?e.confirmationOptions:[]).map(ai).filter(R=>!!R),y=ai(e.confirmedSelection),_=(Array.isArray(e.fields)?e.fields:[]).map(ri).filter(R=>!!R),E=(Array.isArray(e.missingFields)?e.missingFields:[]).map(ri).filter(R=>!!R);return{turnId:J(e.turnId),taskId:r,taskKind:o,taskKindLabel:J(e.taskKindLabel)||o,title:c,status:J(e.status)||"waiting_confirmation",statusLabel:J(e.statusLabel)||"等待确认",statusTone:["neutral","brand","warning","success","danger"].includes(J(e.statusTone))?J(e.statusTone):"neutral",fields:_,missingFields:E,canConfirm:e.canConfirm===!0,...J(e.confirmPhrase)?{confirmPhrase:J(e.confirmPhrase)}:{},...J(e.cancelPhrase)?{cancelPhrase:J(e.cancelPhrase)}:{},...u.length>0?{confirmationOptions:u}:{},...y?{confirmedSelection:y}:{},...J(e.lastErrorMessage)?{lastErrorMessage:J(e.lastErrorMessage)}:{},...J(e.resultSummary)?{resultSummary:J(e.resultSummary)}:{}}}function oi(e){const r=ka(e);if(!Ke(r))return null;const o=Ke(r.queryContext)?r.queryContext:r,c=J(o.tenantId),d=J(o.appId),u=J(o.dialect);return c||d||u?{tenantId:c,appId:d,dialect:u}:null}function Ud(e){const r=ka(e);if(!Ke(r))return;const o=oi(r),c=Ar(r.matchedMetrics),d=Ar(r.matchedDimensions),u=Ar(r.matchedFilters),y=Ar(r.matchedOntologyObjects??r.ontologyAssets);if(o||Array.isArray(r.matchedMetrics)||Array.isArray(r.matchedDimensions)||Array.isArray(r.matchedFilters)||Array.isArray(r.matchedOntologyObjects)||Array.isArray(r.ontologyAssets))return[`候选指标:${wr(c,"未匹配到明确指标")}`,`候选维度:${wr(d,"未匹配到明确维度")}`,...u.length?[`候选过滤条件:${wr(u,"未匹配到明确过滤条件")}`]:[],...y.length?[`候选本体:${wr(y,"未匹配到明确本体")}`]:[]].join(`
6
- `)}function Ar(e){if(!Array.isArray(e))return[];const r=[];for(const o of e){const c=Wd(o);c&&!r.includes(c)&&r.push(c)}return r}function wr(e,r){if(e.length===0)return r;const o=e.slice(0,5);return`${o.join("、")}${e.length>o.length?` 等 ${e.length} 项`:""}`}function Wd(e){if(!Ke(e))return J(e);const r=Ke(e.asset)?e.asset:e;return J(r.name)||J(r.label)||J(r.title)||J(r.metricName)||J(r.dimensionName)||J(r.fieldName)||J(r.modelName)||J(r.modelCode)||J(r.code)||J(r.id)}function jd(e,r){return r?{tenantId:r.tenantId||e.tenantId,appId:r.appId||e.appId,dialect:r.dialect||e.dialect}:e}function Kd(e,r,o){const c=ka(e);if(!Ke(c))return null;const d=J(c.sql),u=J(c.tenantId)||r.tenantId,y=J(c.appId)||r.appId,_=J(c.sqlDialect)||J(c.dialect)||r.dialect||"sql";return!o.trim()||!d||!u||!y||!_?null:{question:o.trim(),validatedSql:d,sqlDialect:_,paramsSchema:{type:"object"},permissionContext:{tenantId:u,appId:y}}}function Qd(e){const r=ka(e);return!Ke(r)||r.success!==!0?null:Array.isArray(r.rows)&&r.rows.length>0?r.rows.filter(Ke).map(o=>({...o})):typeof r.rowCount=="number"&&r.rowCount>0?[]:null}const Yd=new Set(["no color","none","null","n/a","unknown","无","无颜色","空","未填","未设置","缺失"]);function Cs(e){return e==null?"":String(e).trim().toLowerCase().replace(/\s+/g," ")}function Ss(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e!="string")return null;const r=e.trim().replace(/,/g,"");if(!/^-?\d+(?:\.\d+)?$/.test(r))return null;const o=Number(r);return Number.isFinite(o)?o:null}function As(e){const r=Cs(e);return r===""||Yd.has(r)}function ii(e,r){const o=Ss(e),c=Ss(r);if(o!==null&&c!==null)return Math.abs(o-c)<1e-9?1:0;if(As(e)&&As(r))return 1;const d=Cs(e),u=Cs(r);return!d||!u?0:d===u?1:d.includes(u)||u.includes(d)?.75:0}function Jd(e){const r=new Set;for(const o of e)for(const c of Object.keys(o))r.add(c);return[...r]}function Zd(e,r,o,c){var E,R;if(e.length===0||o.length===0)return 0;const d=Math.min(e.length,o.length);let u=0;for(let U=0;U<d;U+=1)u+=ii((E=e[U])==null?void 0:E[r],(R=o[U])==null?void 0:R[c]);u/=d;const y=new Set;let _=0;for(const U of e){let z=-1,C=0;o.forEach((B,F)=>{if(y.has(F))return;const H=ii(U[r],B[c]);H>C&&(C=H,z=F)}),z!==-1&&y.add(z),_+=C}return Math.max(u,_/e.length)}function ci(e,r){const o=e.map(d=>d[r]).filter(d=>!As(d));return o.length===0?!1:o.filter(d=>Ss(d)!==null).length/o.length>=.8}function li(e,r,o,c,d){let u,y=0;for(const _ of c){if(d.has(_))continue;const E=Zd(e,r,o,_);E>y&&(y=E,u=_)}return y>=.74?u:void 0}function di(e,r,o,c,d){const u=ci(e,r),y=c.filter(_=>!d.has(_)&&ci(o,_)===u);return y.length===1?y[0]:void 0}function Xd(e,r){const o={xField:e.chart.xField,yFields:[...e.chart.yFields]},c=Jd(r);if(c.length===0)return o;const d=new Set,u=e.chart.yFields.map(_=>{const E=li(e.chart.data,_,r,c,d)||di(e.chart.data,_,r,c,d);return E?(d.add(E),E):_});return{xField:li(e.chart.data,e.chart.xField,r,c,d)||di(e.chart.data,e.chart.xField,r,c,d)||e.chart.xField,yFields:u}}function ui(e,r,o=[]){if(!r||e.dataBinding)return e;const c=Xd(e,o);return{...e,dataBinding:{...r,fieldMapping:{...r.fieldMapping,xField:c.xField,yFields:c.yFields},paramsSchema:r.paramsSchema||{type:"object"}}}}const eu={load_semantic_context:"加载语义上下文",load_ontology:"加载本体知识",execute_query_dispatcher:"执行查询调度",get_query_context:"获取查询上下文",get_connection_config:"获取数据源配置",search_business_glossary:"搜索术语表",match_metrics:"匹配指标",match_dimensions:"匹配维度",validate_sql:"校验 SQL",explain_plan:"分析执行计划",execute_metric_api:"执行指标查询",execute_sql_api:"执行 SQL 查询",skill:"调用技能",task:"执行子任务"},tu={perception:"感知分析",reasoning:"推理分析",visualization:"可视化",insights:"洞察分析"};function ws(e){return eu[e]||`调用 ${e}`}function nu(e,r){return e.role==="status"&&e.loading===!0&&e.content===ws(r)}function au(e){return tu[e]||e}function Tr(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function ru(...e){const r={};for(const o of e)if(o){if(o instanceof Headers){o.forEach((c,d)=>{r[d]=c});continue}if(Array.isArray(o)){for(const[c,d]of o)r[c]=d;continue}Object.assign(r,o)}return r}function mi(e){const r=n.ref([]),o=n.ref(null),c=n.ref(!1),d=n.ref(!1),u=n.ref(!1),y=n.ref(!1),_=n.ref(null),E=n.ref(null),R=n.ref(null),U=n.ref(null);let z=!1;const C=()=>{var v;return((v=e.headers)==null?void 0:v.call(e))??{}},B=()=>typeof e.assistantPersona=="function"?e.assistantPersona():e.assistantPersona,F=()=>{const v=_n(e.activeConversationId);return typeof v=="string"?v.trim():""},H=n.computed(()=>r.value.find(v=>v.id===o.value)??null),K=n.ref([]),xe=n.computed(()=>dd(K.value.filter($o)));function oe(v,I){var te;const G=v.trim();if(!G)return;const T=(I==null?void 0:I.persisted)!==!1,Q=(I==null?void 0:I.threadId)||(T?G:"");(te=e.onConversationChange)==null||te.call(e,G,{id:G,...Q?{threadId:Q}:{},...I!=null&&I.clientDraftId?{clientDraftId:I.clientDraftId}:{},persisted:T})}function ue(v,I){const G=I==null?void 0:I.trim(),T=G?r.value.find(O=>O.id===G)??null:H.value;if(!T)throw new Error("当前没有可追加消息的会话");const Q={...v,id:v.id||Bn(),timestamp:v.timestamp||In()};Sr(Q);const te=T.messages.findIndex(O=>O.id===Q.id);if(te>=0){const O={...T.messages[te],...Q,timestamp:Q.timestamp||T.messages[te].timestamp};return T.messages[te]=O,ta(T.messages,O),qa(T.messages,O)?(T.messages.splice(te,1),O):(ba(T.messages,O),Vn(T.messages),ga(T.messages,O),O)}const M=Wo(T.messages,Q);return M||(ta(T.messages,Q),Q.cardRecommendationDraft&&qa(T.messages,Q)?Q:(Q.cardRecommendationDraft&&ba(T.messages,Q),Qo(T.messages,Q)?(Vn(T.messages),H.value===T&&K.value!==T.messages&&(K.value=T.messages),Q):Td(T.messages,Q)?(H.value===T&&K.value!==T.messages&&(K.value=T.messages),Q):(md(T.messages,Q),ga(T.messages,Q),Vn(T.messages),H.value===T&&K.value!==T.messages&&(K.value=T.messages),Q)))}function ce(v,I){const G=v.trim();if(!G)return!1;const T=r.value.find(ie=>ie.id===G)??null;if(!T)return!1;const Q=Array.from(new Set(I.map(ie=>ie.trim()).filter(Boolean)));if(Q.length===0)return!1;const te=new Set;for(const ie of T.messages){if(ie.role!=="assistant"||ie.cardRecommendationDraft||!ie.content.trim())continue;const Ie=Fn(ie)||Xn(ie.id);Ie&&te.add(Ie)}let M=0,O=!1;for(const ie of T.messages){if(ie.role!=="assistant"||ie.cardRecommendationDraft||!ie.content.trim()||Fn(ie))continue;const Se=Xn(ie.id);if(Se){ie.workbenchTurnId=Se,O=!0;continue}for(;M<Q.length&&te.has(Q[M]);)M+=1;const Pe=Q[M];if(!Pe)break;ie.workbenchTurnId=Pe,te.add(Pe),M+=1,O=!0}const j=Yo(T.messages);return O||j}function Le(v,I,G){var ft;const T=v.trim(),Q=I.trim();if(!T||!Q||G.length===0)return!1;const te=r.value.find(S=>S.id===T)??null;if(!te)return!1;const O=G.filter(S=>S.role==="assistant"&&!S.cardRecommendationDraft&&S.content.trim()).map(S=>S.content.trim()).join(`
7
- `).replace(/\s+/gu," ").trim();let j=O?te.messages.findIndex(S=>S.role==="assistant"&&!S.cardRecommendationDraft&&S.content.replace(/\s+/gu," ").trim()===O):-1;if(j<0&&(j=te.messages.findIndex(S=>cn(S,Q))),j<0)return!1;const ie=te.messages[j],Ie=G.map(S=>{const q={...S,id:S.id||Bn(),loading:!1,streaming:!1,timestamp:S.timestamp||ie.timestamp||In(),workbenchTurnId:Q};return Go(q),Sr(q),q});let Se=-1;for(let S=j-1;S>=0;S-=1)if(((ft=te.messages[S])==null?void 0:ft.role)==="user"){Se=S;break}const Pe=te.messages.slice(j+1).findIndex(S=>S.role==="user"),Ce=Pe>=0?j+Pe+1:te.messages.length,rt=te.messages.flatMap((S,q)=>{const re=cn(S,Q),ee=!!S.cardRecommendationDraft&&wd(S,Q,te.messages),ge=S.content.replace(/\s+/gu," ").trim(),we=q>Se&&q<Ce,Ge=we&&S.role==="status",Xe=q>Se&&q<Ce&&gd(S);Ge&&!Xe&&qo(S);const It=q>Se&&q<Ce&&S.role==="assistant"&&!S.cardRecommendationDraft&&!!ge&&O.includes(ge),pt=we&&S.role==="assistant"&&!S.cardRecommendationDraft&&(S.loading===!0||S.streaming===!0);return pt&&qo(S),re||ee||Xe||It||pt?[q]:[]});for(let S=rt.length-1;S>=0;S-=1)te.messages.splice(rt[S],1);const lt=Math.min(j,te.messages.length);return te.messages.splice(lt,0,...Ie),Ie.some(S=>!!S.workbenchInterleavedPlacement)||Yo(te.messages),H.value===te&&K.value!==te.messages&&(K.value=te.messages),!0}n.watch(H,v=>{K.value=(v==null?void 0:v.messages)??[]},{immediate:!0}),n.watch(K,v=>{H.value&&H.value.messages!==v&&(H.value.messages=v)},{flush:"sync"});async function ne(v,I){return fetch(`${e.apiBaseUrl}${v}`,{...I,headers:ru(I==null?void 0:I.headers,C())})}function Z(v){var te,M;const I=new URLSearchParams,G=(te=_n(e.chatMode))==null?void 0:te.trim(),T=(M=_n(e.workspaceId))==null?void 0:M.trim();G&&I.set("chatMode",G),T&&I.set("workspaceId",T);const Q=I.toString();return Q?`${v}?${Q}`:v}function He(){const v=C();return v["x-trace-id"]||v["X-Trace-Id"]||v["x-request-id"]||v["X-Request-Id"]||""}function ae(v){var I,G;if(v instanceof Error){(I=e.onError)==null||I.call(e,v);return}(G=e.onError)==null||G.call(e,new Error(typeof v=="string"?v:"未知错误"))}function he(v,I=null,G=[],T=""){var te;if(!e.enableChartCards||!id(v)||(te=v.cards)!=null&&te.length)return;const Q=No(v.content,{userQuestion:T});Q.length>0&&(v.cards=Q.map(M=>ui(M,I,G)))}function ye(v){return!!(!v||v.persisted===!1||v.historyLoaded||v.messages.length>0)}async function nt(){if(!(z||d.value)){d.value=!0;try{const v=await ne(Z("/chat/conversations"));if(!v.ok)return;const I=await _s(v),T=Fd(I.conversations).map(te=>({id:te.threadId,threadId:te.threadId,title:ni(te.title),messages:[],persisted:!0,historyLoaded:!1,chatMode:te.chatMode,createdAt:te.createdAt,updatedAt:te.updatedAt}));r.value=o.value?[...r.value,...T.filter(te=>te.id!==o.value)]:T,z=!0;const Q=F();Q&&r.value.some(M=>M.id===Q)&&await At(Q,{silent:!0})}catch(v){ae(v)}finally{d.value=!1}}}async function St(v){var G;const I=r.value.find(T=>T.id===v);if(!(!I||I.persisted===!1||I.historyLoaded||I.messages.length>0))try{const T=await ne(`/chat/${v}/history`);if(!T.ok)return;const te=(await _s(T)).messages||[];I.messages=Ld(te.map(M=>{let O="";typeof M.content=="string"?O=M.content:Array.isArray(M.content)?M.role==="tool"?O=M.content.filter(Ce=>{var rt,lt;return Ce.type==="tool-result"&&((rt=Ce.output)==null?void 0:rt.type)==="text"&&!((lt=Ce.output.value)!=null&&lt.includes("no output"))}).map(Ce=>`**${ws(Ce.toolName)}返回结果:**
5
+ ${o}`)?"line":c.length>1?"grouped-bar":"bar"}function vo(e){return e.rows.length!==1?!1:e.headers.every(a=>!gr(a)&&!yr(a))&&e.headers.every((a,o)=>br(e,o))}function Jl(e){if(vo(e))return!0;const a=Io(e);return e.headers.some((o,c)=>c===a||gr(o)||yr(o)?!1:br(e,c))}function Zl(e,a,o){var R,U;const c=Gl(e,a.index);if(vo(a)){const z=a.headers.map((S,B)=>({指标:on(S),数值:Bo(a.rows[0][B]??"")??0}));return{type:"chart-card",id:`derived-${Do(`${c}:${JSON.stringify(z)}`)}`,title:c,chart:{type:Ro(e,c,"指标",["数值"],o.userQuestion),xField:"指标",yFields:["数值"],data:z},summary:"基于当前回复中的结果数据生成。",source:{label:"当前问数结果",value:"assistant-response"},permission:{label:"当前用户可见",level:"self",downloadable:!1},actions:["insert-left"],meta:{generatedBy:"agent",...(R=o.userQuestion)!=null&&R.trim()?{prompt:o.userQuestion.trim()}:{},version:1}}}const d=Io(a),u=a.headers[d],y=a.headers.map((z,S)=>({header:z,index:S})).filter(({header:z,index:S})=>S===d||gr(z)||yr(z)||Kl(z)?!1:br(a,S));if(y.length===0)return null;const _=y.map(z=>z.header),E=a.rows.map(z=>{const S={[u]:on(z[d]??"")};for(const{header:B,index:F}of y)S[B]=Bo(z[F]??"")??0;return S});return{type:"chart-card",id:`derived-${Do(`${c}:${JSON.stringify(E)}`)}`,title:c,chart:{type:Ro(e,c,u,_,o.userQuestion),xField:u,yFields:_,data:E},summary:"基于当前回复中的结果数据生成。",source:{label:"当前问数结果",value:"assistant-response"},permission:{label:"当前用户可见",level:"self",downloadable:!1},actions:["insert-left"],meta:{generatedBy:"agent",...(U=o.userQuestion)!=null&&U.trim()?{prompt:o.userQuestion.trim()}:{},version:1}}}function Do(e){let a=0;for(let o=0;o<e.length;o+=1)a=(a<<5)-a+e.charCodeAt(o)|0;return Math.abs(a).toString(36)}function No(e,a={}){return Hl(e).filter(Jl).map(o=>Zl(e,o,a)).filter(o=>!!o)}const Xl={area:"area",bar:"bar",boxplot:"boxplot",bubble:"bubble",candlestick:"candlestick",donut:"donut",funnel:"funnel",gauge:"gauge",graph:"graph","grouped-bar":"grouped-bar","horizontal-bar":"horizontal-bar",heatmap:"heatmap",kline:"candlestick",line:"line",map:"map","mini-bar":"mini-bar",network:"network",pie:"pie",radar:"radar",sankey:"sankey",scatter:"scatter",sunburst:"sunburst",tree:"tree",treemap:"treemap"};function Ye(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ds(e){let a=0;for(let o=0;o<e.length;o+=1)a=(a<<5)-a+e.charCodeAt(o)|0;return Math.abs(a).toString(36)}function kr(e){if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return Ye(e)&&(e.type==="json"&&"value"in e||"value"in e&&Ye(e.value))?kr(e.value):e}function Lo(e){return typeof e!="string"?"bar":Xl[e]??"bar"}function ed(e){const o=(Array.isArray(e)?e:[]).filter(c=>c==="view"||c==="download"||c==="insert-left"||c==="save-doc"||c==="save-kb"||c==="upgrade");return o.includes("insert-left")?o:[...o,"insert-left"]}function Po(e){for(const a of e){if(!Ye(a))continue;const o={},c=Ue(a.unitCode||a.unit_code),d=Ue(a.unitLabel||a.unit_label||a.unit),u=Ue(a.valueFormat||a.value_format||a.format),y=Ue(a.displayValue||a.display_value),_=us(a.decimalPlaces??a.decimal_places??a.scale);if(c&&(o.unitCode=c),d&&(o.unitLabel=d),u&&(o.valueFormat=u),y&&(o.displayValue=y),_!==null&&(o.decimalPlaces=Math.max(0,Math.min(8,Math.trunc(_)))),Object.keys(o).length>0)return o}}function td(e){const a=Ye(e.chart)?e.chart:{},o=Ye(e.dataBinding)?e.dataBinding:void 0,c=Ye(o==null?void 0:o.fieldMapping)?o.fieldMapping:void 0,d=typeof e.title=="string"&&e.title.trim()?e.title.trim():"",u=typeof a.xField=="string"&&a.xField.trim()?a.xField.trim():"",y=Array.isArray(a.yFields)?a.yFields.filter(R=>typeof R=="string"&&R.trim().length>0).map(R=>R.trim()):[],_=Array.isArray(a.data)?a.data.filter(Ye):[];if(!d||!u||y.length===0||_.length===0)return null;const E=Po([a.valueSpec,a.displaySpec,e.displaySpec,o==null?void 0:o.displaySpec]);return{type:"chart-card",id:typeof e.id=="string"&&e.id.trim()?e.id.trim():`tool-${ds(`${d}:${JSON.stringify(_)}`)}`,title:d,...typeof e.period=="string"&&e.period.trim()?{period:e.period.trim()}:{},chart:{type:Lo(a.type),xField:u,yFields:y,data:_,...a.sort==="asc"||a.sort==="desc"||a.sort==="none"?{sort:a.sort}:{},...typeof a.limit=="number"&&Number.isFinite(a.limit)?{limit:a.limit}:{},...Array.isArray(a.hiddenSeries)?{hiddenSeries:a.hiddenSeries.filter(R=>typeof R=="string")}:{},...E?{valueSpec:E}:{}},...typeof e.summary=="string"&&e.summary.trim()?{summary:e.summary.trim()}:{},source:{label:Ye(e.source)&&typeof e.source.label=="string"&&e.source.label.trim()?e.source.label.trim():"当前问数结果",...Ye(e.source)&&typeof e.source.value=="string"?{value:e.source.value}:{}},...o?{dataBinding:{...typeof o.bindingKind=="string"&&o.bindingKind.trim()?{bindingKind:o.bindingKind.trim()}:{},...typeof o.source=="string"&&o.source.trim()?{source:o.source.trim()}:{},...typeof o.bindingId=="string"&&o.bindingId.trim()?{bindingId:o.bindingId.trim()}:{},...typeof o.refreshApi=="string"&&o.refreshApi.trim()?{refreshApi:o.refreshApi.trim()}:{},...typeof o.question=="string"&&o.question.trim()?{question:o.question.trim()}:{},...typeof o.validatedSql=="string"&&o.validatedSql.trim()?{validatedSql:o.validatedSql.trim()}:{},...typeof o.sqlDialect=="string"&&o.sqlDialect.trim()?{sqlDialect:o.sqlDialect.trim()}:{},...typeof o.contractHash=="string"&&o.contractHash.trim()?{contractHash:o.contractHash.trim()}:{},...typeof o.executeApi=="string"&&o.executeApi.trim()?{executeApi:o.executeApi.trim()}:{},...typeof o.metricCode=="string"&&o.metricCode.trim()?{metricCode:o.metricCode.trim()}:{},...typeof o.metricId=="string"&&o.metricId.trim()?{metricId:o.metricId.trim()}:{},...typeof o.metricName=="string"&&o.metricName.trim()?{metricName:o.metricName.trim()}:{},...typeof o.readbackApi=="string"&&o.readbackApi.trim()?{readbackApi:o.readbackApi.trim()}:{},...c?{fieldMapping:{...typeof c.xField=="string"?{xField:c.xField}:{},...Array.isArray(c.yFields)?{yFields:c.yFields.filter(R=>typeof R=="string")}:{}}}:{},...Ye(o.paramsSchema)?{paramsSchema:o.paramsSchema}:{},...Ye(o.permissionContext)?{permissionContext:o.permissionContext}:{}}}:{},permission:{label:Ye(e.permission)&&typeof e.permission.label=="string"&&e.permission.label.trim()?e.permission.label.trim():"当前用户可见",...Ye(e.permission)&&e.permission.level==="team"?{level:"team"}:{},...Ye(e.permission)&&e.permission.level==="org"?{level:"org"}:{},...Ye(e.permission)&&e.permission.level==="self"?{level:"self"}:{},...Ye(e.permission)&&typeof e.permission.downloadable=="boolean"?{downloadable:e.permission.downloadable}:{downloadable:!1}},actions:ed(e.actions),meta:{generatedBy:"agent",version:Ye(e.meta)&&typeof e.meta.version=="number"&&Number.isFinite(e.meta.version)?e.meta.version:1,...Ye(e.meta)&&typeof e.meta.prompt=="string"?{prompt:e.meta.prompt}:{}}}}function Mo(e){const a=typeof e.title=="string"&&e.title.trim()?e.title.trim():"",o=typeof e.xField=="string"&&e.xField.trim()?e.xField.trim():"",c=Array.isArray(e.yFields)?e.yFields.filter(y=>typeof y=="string"&&y.trim().length>0).map(y=>y.trim()):[],d=Array.isArray(e.data)?e.data.filter(Ye):[];if(!a||!o||c.length===0||d.length===0)return null;const u=Po([e.displaySpec]);return{type:"chart-card",id:`tool-${ds(`${a}:${JSON.stringify(d)}`)}`,title:a,...typeof e.period=="string"&&e.period.trim()?{period:e.period.trim()}:{},chart:{type:Lo(e.chartType),xField:o,yFields:c,data:d,...u?{valueSpec:u}:{}},...typeof e.summary=="string"&&e.summary.trim()?{summary:e.summary.trim()}:{},source:{label:"当前问数结果",value:"generate_chart"},permission:{label:"当前用户可见",level:"self",downloadable:!1},actions:["insert-left"],meta:{generatedBy:"agent",version:1}}}function Ue(e){return typeof e=="string"&&e.trim()?e.trim():""}function us(e){const a=typeof e=="number"?e:Number(e);return Number.isFinite(a)?a:null}function nd(e,a){const o=Ue(e.primaryFormat||e.format||e.valueFormat);if(o==="currency"||o==="number"||o==="percent")return o;const c=a.toLowerCase();return/率|占比|percent|percentage|ratio|rate/.test(c)?"percent":"number"}function ad(e){if(!Ye(e))return{label:"运行态权限已校验",level:"self"};const a=e.level==="team"||e.level==="org"||e.level==="self"?e.level:"self";return{label:Ue(e.label)||"运行态权限已校验",level:a}}function rd(e,a){const c={...Ye(e.displaySpec)?e.displaySpec:Ye(a.displaySpec)?a.displaySpec:{},...a,...e},d={},u=Ue(c.unitCode||c.unit_code||c.unit),y=Ue(c.unitLabel||c.unit_label||c.unitName||c.unit_name||c.unit),_=Ue(c.valueFormat||c.value_format||c.primaryFormat||c.format),E=Ue(c.displayValue||c.display_value),R=us(c.decimalPlaces??c.decimal_places??c.scale);return u&&(d.unitCode=u),y&&(d.unitLabel=y),_&&(d.valueFormat=_),E&&(d.displayValue=E),R!==null&&(d.decimalPlaces=Math.max(0,Math.min(8,Math.trunc(R)))),Object.keys(d).length>0?d:void 0}function sd(e){const a=kr(e);if(!Ye(a))return null;const o=Ye(a.source)?a.source:{},c=Ue(o.value),d=Ue(a.metricCode||a.metric_code),u=Ue(a.metricId||a.metric_id),y=Ue(a.metricName||a.metric_name||a.title)||d||u||"指标",_=us(a.value??a.currentValue??a.primaryValue),E=!!(d||u||Ue(a.metricName||a.metric_name)||c==="execute_metric_api"||a.aggregation);if(_===null||!E)return null;const R=Ye(a.dataBinding)?a.dataBinding:{},U=Ye(R.permissionContext)?R.permissionContext:{...Ue(a.tenantId)?{tenantId:Ue(a.tenantId)}:{},...Ue(a.appId)?{appId:Ue(a.appId)}:{}},z=Ue(R.question),S=Ue(R.bindingId)||u||d,B=Ue(R.metricCode)||d,F=Ue(R.metricId)||u,H=rd(a,R),Y=Ue(a.displayValue||a.display_value||R.displayValue||(H==null?void 0:H.displayValue));return{type:"metric-card",id:`metric-${ds(`${F||B||y}:${_}`)}`,title:y,metricName:y,...B?{metricCode:B}:{},...F?{metricId:F}:{},value:_,...Y?{displayValue:Y}:{},...H?{displaySpec:H}:{},format:nd({...a,...H??{}},y),source:{label:Ue(o.label)||"百特搭指标执行引擎",...c?{value:c}:{value:"execute_metric_api"}},dataBinding:{...z?{question:z}:{},...S?{bindingId:S}:{},...Ue(R.contractHash||a.contractHash)?{contractHash:Ue(R.contractHash||a.contractHash)}:{},executeApi:Ue(R.executeApi)||"/apps/api/v1/sp/ai/metric/metrics/execute",...B?{metricCode:B}:{},...F?{metricId:F}:{},...H?{displaySpec:H}:{},...Y?{displayValue:Y}:{},...H!=null&&H.unitCode?{unitCode:H.unitCode}:{},...H!=null&&H.unitLabel?{unitLabel:H.unitLabel}:{},...H!=null&&H.valueFormat?{valueFormat:H.valueFormat}:{},...(H==null?void 0:H.decimalPlaces)!==void 0?{decimalPlaces:H.decimalPlaces}:{},readbackApi:Ue(R.readbackApi)||"/apps/api/v1/sp/ai/metric/metrics/userReadback",refreshApi:Ue(R.refreshApi)||"/apps/api/v1/sp/ai/metric/metrics/execute",...Array.isArray(R.queryFilters)?{queryFilters:R.queryFilters}:{},...Ye(R.paramsSchema)?{paramsSchema:R.paramsSchema}:{},...Object.keys(U).length>0?{permissionContext:U}:{}},permission:ad(a.permission),meta:{generatedBy:"agent",version:Ye(a.meta)&&typeof a.meta.version=="number"&&Number.isFinite(a.meta.version)?a.meta.version:1,...Ye(a.meta)&&Ue(a.meta.prompt)?{prompt:Ue(a.meta.prompt)}:{}}}}function od(e){const a=kr(e);return Ye(a)?a.type==="chart-card"?td(a):a.type==="chart-spec"||typeof a.title=="string"&&typeof a.chartType=="string"&&typeof a.xField=="string"&&Array.isArray(a.yFields)&&Array.isArray(a.data)?Mo(a):null:null}const id=[/需要确认口径/u,/存在多个可用口径/u,/请(?:回复|选择)序号/u,/(?:回复|选择)候选?序号/u,/业务行动/u,/业务动作/u,/load_data_action_candidates/u,/permissionDeniedCandidates/u,/未通过权限校验/u,/权限校验/u,/创建草稿/u,/不能继续创建草稿或执行/u,/可用业务行动/u,/执行.*行动/u,/还差\s*\d+\s*个(?:必填)?信息/u,/请回复[“"]?确认提交/u,/暂时不会提交/u,/草稿已准备/u];function Oo(e){return id.some(a=>a.test(e))}function cd(e){return e.role==="assistant"&&e.conclusion===!0&&!Oo(e.content)}function ld(e){var a;return e.role==="assistant"&&e.conclusion===!0&&!e.loading&&!e.streaming&&!!((a=e.cards)!=null&&a.length)&&!Oo(e.content)}const dd=128e3;function ud(e,a={}){const o=a.contextWindow??dd,c=e.reduce((_,E)=>_+ms(E),0),d=Math.ceil(c/3.5),u=o>0?Math.round(d/o*100):0,y=Math.min(100,Math.max(0,u));return{estimatedTokens:d,contextWindow:o,percent:y,level:y>=90?"critical":y>=70?"warning":"normal"}}function ms(e){return e==null?0:typeof e=="string"?e.length:typeof e=="number"||typeof e=="boolean"?String(e).length:Array.isArray(e)?e.reduce((a,o)=>a+ms(o),0):typeof e=="object"?Object.entries(e).reduce((a,[o,c])=>a+o.length+ms(c),0):0}let md=0,Fo=0;function Bn(){return`msg_${++md}`}function In(){const e=new Date,a=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${a}:${o}`}function $o(e){return e.role!=="status"&&!e.cardRecommendationDraft}function Vo(e){if(typeof e!="string"||!e.trim())return NaN;const a=Date.parse(e);return Number.isFinite(a)?a:NaN}function fd(e,a){const o=Vo(a.timestamp);if(!Number.isFinite(o)){e.push(a);return}const c=e.findIndex(d=>{const u=Vo(d.timestamp);return Number.isFinite(u)&&u>o});if(c>=0){e.splice(c,0,a);return}e.push(a)}function Xn(e){if(typeof e!="string"||!e.startsWith("workbench-turn-"))return"";const a=["-reply","-conclusion-stream","-item-","-process-","-task-","-card-mutation-confirmation"];for(const o of a){const c=e.indexOf(o,15);if(c>15)return e.slice(15,c)}return""}function _r(e){var o;const a=(o=e.cardRecommendationDraft)==null?void 0:o.sourceTurnId;return typeof a=="string"&&a.trim()?a.trim():""}function Cr(e){const a=e.cardRecommendationDraft,o=a==null?void 0:a.placementTurnId;return typeof o=="string"&&o.trim()?o.trim():""}function Fn(e){const a=e.workbenchTurnId;return typeof a=="string"&&a.trim()?a.trim():""}function $n(e){return Cr(e)||_r(e)||Fn(e)||Xn(e.id)}function Ga(e){return e==null?"":Array.isArray(e)?`[${e.map(Ga).join(",")}]`:We(e)?`{${Object.keys(e).sort().map(a=>`${JSON.stringify(a)}:${Ga(e[a])}`).join(",")}}`:JSON.stringify(e)??String(e)}function ha(e){return We(e)?e:{}}function pd(e){return typeof e=="string"&&e.trim()?e.trim():We(e)?K(e.key)||K(e.dataIndex)||K(e.data_index)||K(e.field)||K(e.name):""}function zo(e){const a=ha(e.data);return(Array.isArray(e.rows)?e.rows:Array.isArray(a.rows)?a.rows:[]).filter(We)}function Ho(e,a){const o=ha(e.data),c=Array.isArray(e.columns)?e.columns:Array.isArray(o.columns)?o.columns:[],d=[...new Set(a.flatMap(y=>Object.keys(y)))],u=c.map((y,_)=>{const E=pd(y);return E&&a.some(R=>Object.prototype.hasOwnProperty.call(R,E))?E:d[_]||E}).filter(Boolean);return[...new Set(u.length>0?u:d)]}function fs(e){if(!We(e))return"";const a=ha(e.metadata),o=K(e.resultId)||K(a.resultId)||K(e.id),c=K(e.sourceTurnId)||K(a.sourceTurnId);if(c&&(!o||o.startsWith(`${c}:`)))return`turn:${c}`;if(o)return`result:${o}`;if(c)return`turn:${c}`;const d=zo(e),u=Ho(e,d);if(d.length>0&&u.length>0)return`rows:${Ga({keys:u,rows:d.slice(0,5)})}`;const y=ha(e.data),_=Object.prototype.hasOwnProperty.call(e,"value")?e.value:y.value;return _===void 0?"":`value:${Ga(_)}`}function ps(e){return[e,...Array.isArray(e.viewAlternatives)?e.viewAlternatives.flatMap(a=>ps(a)):[]]}function hd(e){const a=e.recommendations.flatMap(ps).map(d=>fs(d.queryResult)).filter(Boolean),o=fs(e.queryResult),c=a.length>0?a:o?[o]:[];return[...new Set(c)].sort()}function gd(e){return e.role==="assistant"&&!!e.queryResultTable&&!e.cardRecommendationDraft&&!e.content.trim()}function yd(e){return e.role==="status"&&e.loading===!0&&!e.cardRecommendationDraft&&/^思考中[.。…]*$/u.test(e.content.trim())}function bd(e){if(e.role!=="status"||!e.loading)return;const a=Date.now();typeof e.startTime!="number"&&(e.startTime=a),e.endTime=typeof e.endTime=="number"?e.endTime:a,e.loading=!1}function Go(e){var o;if(!((o=e.processInvocations)!=null&&o.length))return;const a=new Date().toISOString();for(const c of e.processInvocations)c.status==="running"&&(c.status="done",c.completedAt=c.completedAt||a)}function qo(e){if(Go(e),e.role==="status"){bd(e);return}if(e.role!=="assistant"||!e.loading&&!e.streaming)return;const a=Date.now();typeof e.startTime!="number"&&(e.startTime=a),e.endTime=typeof e.endTime=="number"?e.endTime:a,e.loading=!1,e.streaming=!1}function kd(e,a){if(a.renderedInMarkdown)return;const o=Array.isArray(e.queryResultTables)?e.queryResultTables:e.queryResultTable?[e.queryResultTable]:[],c=JSON.stringify(a);if(o.some(u=>JSON.stringify(u)===c))return;const d=[...o,a];e.queryResultTable=d[0],d.length>1&&(e.queryResultTables=d)}function _d(e){return typeof e.totalCount=="number"?e.totalCount:typeof e.returnedCount=="number"?e.returnedCount:e.rows.length}function Uo(e){return e.rows.length<=1&&_d(e)<=1&&e.columns.length<=1}function Cd(e,a){return!!e.trim()&&Uo(a)}function Sr(e){const a=Array.isArray(e.queryResultTables)?e.queryResultTables:e.queryResultTable?[e.queryResultTable]:[];if(a.length===0)return;const o=a.filter(c=>!Cd(e.content,c));if(o.length!==a.length){if(o.length===0){e.queryResultTable=void 0,e.queryResultTables=void 0;return}e.queryResultTable=o[0],e.queryResultTables=o.length>1?o:void 0}}function Wo(e,a){if(!gd(a)||!a.queryResultTable)return null;if(a.queryResultTable.renderedInMarkdown)return a;const o=$n(a);if(!o)return null;const c=e.findIndex(d=>cn(d,o));return c<0?null:(Uo(a.queryResultTable)||kd(e[c],a.queryResultTable),e[c])}function cn(e,a){if(e.role!=="assistant"||e.cardRecommendationDraft||!e.content.trim())return!1;const o=Fn(e);return o?o===a:Xn(e.id)!==a?!1:e.id.endsWith("-reply")||e.id.endsWith("-conclusion-stream")}function hs(e,a){return!!(a&&e.some(o=>cn(o,a)))}function jo(e){let a=e.toLocaleLowerCase();for(;/\d,\d/u.test(a);)a=a.replace(/(\d),(\d)/gu,"$1$2");return a}function Sd(e){if(!We(e))return[];const a=We(e.data)?e.data:{},o=[e.displayRows,a.displayRows,e.rows,a.rows];for(const c of o)if(Array.isArray(c))return c.filter(We);return[]}function Ad(e){const a=e.cardRecommendationDraft;return a?[a.queryResult,...a.recommendations.map(o=>o.queryResult)].filter(We):[]}function wd(e){const a=new Set;for(const o of Ad(e)){const c=Object.prototype.hasOwnProperty.call(o,"value")?o.value:void 0,d=Sd(o),u=[c,...d.slice(0,5).flatMap(y=>Object.values(y))];for(const y of u){if(typeof y!="string"&&typeof y!="number")continue;const _=String(y).trim();_.length<2||a.add(jo(_))}}return[...a].slice(0,8)}function Ko(e,a){const o=wd(a);if(o.length===0)return"";const c=e.flatMap(d=>{const u=$n(d);if(!u||!cn(d,u))return[];const y=jo(d.content);return o.every(_=>y.includes(_))?[u]:[]});return new Set(c).size===1&&c[0]||""}function ea(e,a){if(!a.cardRecommendationDraft)return $n(a);const o=_r(a),c=Cr(a);if(hs(e,o))return o;const d=Ko(e,a);return d||(hs(e,c)?c:c||o||Fn(a)||Xn(a.id))}function Td(e,a,o=[]){if(!e.cardRecommendationDraft||!a)return!1;const c=_r(e),d=Cr(e);return c===a||c.startsWith(`${a}:`)?!0:c&&hs(o,c)?!1:d===a?!0:Fn(e)===a||Xn(e.id)===a}function Qo(e,a){if(!a.cardRecommendationDraft)return!1;const o=ea(e,a);if(!o)return!1;const c=e.findIndex(d=>cn(d,o));return c<0?!1:(e.splice(c+1,0,a),!0)}function Ed(e,a){if(!a.thinkingProcess)return!1;const o=$n(a);if(!o)return!1;const c=e.findIndex(d=>cn(d,o));return c<0?!1:(e.splice(c,0,a),!0)}function ga(e,a){const o=$n(a);if(!o||!cn(a,o))return!1;const c=e.flatMap((E,R)=>E.cardRecommendationDraft&&ea(e,E)===o?[R]:[]);if(c.length===0)return!1;const d=e.findIndex(E=>E.id===a.id),u=c.every((E,R)=>E===d+R+1);if(d<0||u)return!1;const y=c.map(E=>e[E]);for(let E=c.length-1;E>=0;E-=1)e.splice(c[E],1);const _=e.findIndex(E=>E.id===a.id);return e.splice(_+1,0,...y),!0}function Yo(e){let a=!1;for(let o=0;o<e.length;o+=1){let c=!1;for(const d of[...e])c=ga(e,d)||c;if(!c)return a;a=!0}return a}function gs(e){if(!e.cardRecommendationDraft)return"";const a=hd(e.cardRecommendationDraft);return a.length===1?a[0]:a.length>1?`multi:${a.join("|")}`:_r(e)||Cr(e)||Fn(e)||Xn(e.id)}function ta(e,a){const o=gs(a);if(o)for(let c=e.length-1;c>=0;c-=1){const d=e[c];(d==null?void 0:d.id)!==a.id&&gs(d)===o&&e.splice(c,1)}}function ys(e){const a=e.cardRecommendationDraft;return a?a.recommendations.length>1||(a.totalRecommendationCount??0)>1||(a.eligibleCandidateCount??0)>1||(a.returnedCandidateCount??0)>1||(a.readyCandidateCount??0)>1||Array.isArray(a.chartFamilyCoverage)&&a.chartFamilyCoverage.length>0||!!(a.echartsCoverage&&Object.keys(a.echartsCoverage).length>0):!1}function xd(e){const a=e.cardRecommendationDraft;return a?[a.queryResult,...a.recommendations.flatMap(ps).map(o=>o.queryResult)].filter(We).some(o=>{const c=ha(o.metadata);return!!(K(o.resultId)||K(c.resultId)||K(o.id)||K(o.sourceTurnId)||K(c.sourceTurnId))}):!1}function ya(e){const a=e.cardRecommendationDraft;return!a||e.workbenchInterleavedPlacement==="recommendation"?!1:a.recommendations.length<=1&&!ys(e)}function Bd(e){return ya(e)&&!xd(e)}function bs(e,a){const o=e.findIndex(c=>c.id===a.id);if(o<0)return"";for(let c=o-1;c>=0;c-=1){const d=e[c];if(!d||d.role!=="assistant"||d.cardRecommendationDraft||!d.content.trim())continue;const u=$n(d);if(u&&cn(d,u))return u}return""}function Jo(e,a,o){if(!ys(a)||!ya(o))return!1;const c=ea(e,a),d=ea(e,o);if(c&&d&&c===d)return!0;const u=bs(e,a),y=bs(e,o);return!!(u&&y&&u===y)}function ba(e,a){if(ys(a))for(let o=e.length-1;o>=0;o-=1){const c=e[o];c&&c.id!==a.id&&Jo(e,a,c)&&e.splice(o,1)}}function Id(e){if(!ya(e))return"";const a=e.cardRecommendationDraft,o=a==null?void 0:a.recommendations[0];return Ga({prompt:(a==null?void 0:a.prompt)||"",title:(o==null?void 0:o.title)||"",capabilityId:(o==null?void 0:o.capabilityId)||"",queryResult:(o==null?void 0:o.queryResult)||(a==null?void 0:a.queryResult)||null})}function Rd(e){if(!ya(e))return null;const a=e.cardRecommendationDraft,o=a==null?void 0:a.recommendations[0],c=(o==null?void 0:o.queryResult)||(a==null?void 0:a.queryResult);return We(c)?c:null}function vd(e){const a=ha(e.data);return(Array.isArray(e.columns)?e.columns:Array.isArray(a.columns)?a.columns:[]).map(c=>typeof c=="string"?c.trim():We(c)?K(c.label)||K(c.title)||K(c.name)||K(c.key):"").filter(Boolean)}function Dd(e){var z,S;const a=Rd(e),o=e.cardRecommendationDraft,c=o==null?void 0:o.recommendations[0];if(!a)return(((z=c==null?void 0:c.title)==null?void 0:z.trim().length)||0)>0?1:0;const d=zo(a),u=Ho(a,d),_=vd(a).filter((B,F)=>{const H=u[F]||"";return B&&B!==H}).length,E=d.slice(0,5).reduce((B,F)=>B+u.filter(H=>F[H]!==null&&F[H]!==void 0&&String(F[H]).trim()!=="").length,0),R=fs(a)?4:0,U=(S=c==null?void 0:c.title)!=null&&S.trim()?2:0;return u.length*20+Math.min(d.length,20)*3+_*6+Math.min(E,30)+R+U}function Nd(e,a,o){if(Bd(a))return!0;if(!ya(a))return!1;const c=Ko(e,a);return!!(c&&c===o)}function Ld(e){const a=new Map;for(let c=0;c<e.length;c+=1){const d=e[c];if(!d)continue;const u=bs(e,d);if(!u||!Nd(e,d,u))continue;const y=Id(d),_=a.get(u)||[];_.push({index:c,message:d,signature:y,score:Dd(d)}),a.set(u,_)}const o=new Set;for(const c of a.values()){if(c.length<=1)continue;const d=c.reduce((u,y)=>y.score!==u.score?y.score>u.score?y:u:(y.signature!==u.signature,y.index>u.index?y:u));for(const u of c)u.index!==d.index&&o.add(u.index)}for(let c=e.length-1;c>=0;c-=1)o.has(c)&&e.splice(c,1)}function Vn(e){for(const a of[...e])ba(e,a);Ld(e)}function qa(e,a){return ya(a)&&e.some(o=>Jo(e,o,a))}function Pd(e){const a=[];for(const o of e)Wo(a,o)||a.push(o);return a}function Zo(){var e,a;if(typeof((e=globalThis.crypto)==null?void 0:e.randomUUID)=="function"){const o=globalThis.crypto.randomUUID();if(typeof o=="string"&&o.trim())return o}if(typeof((a=globalThis.crypto)==null?void 0:a.getRandomValues)=="function"){const o=new Uint32Array(4);return globalThis.crypto.getRandomValues(o),`conv_${Array.from(o,c=>c.toString(16).padStart(8,"0")).join("")}`}return Fo+=1,`conv_${Date.now().toString(36)}_${Fo.toString(36)}`}function _n(e){return typeof e=="function"?e():e}function Md(e){return typeof e=="function"?e():e}function Xo(e){const a="data: ";if(!e.startsWith(a))return null;const o=e.slice(a.length).trim();if(!o)return null;try{return JSON.parse(o)}catch{return null}}function We(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ka(e){if(We(e)&&e.type==="text"&&typeof e.value=="string"||We(e)&&e.type==="json"&&"value"in e)return ka(e.value);if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e}function K(e){return typeof e=="string"&&e.trim()?e.trim():""}function Od(e){if(!We(e))return null;const a=K(e.name),o=K(e.mimeType)||"application/octet-stream",c=e.type==="image"?"image":e.type==="file"?"file":null;if(!a||!c)return null;const d=typeof e.size=="number"&&Number.isFinite(e.size)&&e.size>=0?Math.floor(e.size):void 0,u=K(e.fileId),y=Fd(e.downloadUrl);return{type:c,name:a,mimeType:o,...d!==void 0?{size:d}:{},...u?{fileId:u}:{},...y?{downloadUrl:y}:{}}}function Fd(e){const a=K(e);return/^(?:https?:\/\/|\/)/iu.test(a)?a:""}function ei(e,a=!1){return Array.isArray(e)?e.map(Od).filter(o=>!!o).map(o=>({...o,...a&&o.downloadUrl?{url:o.downloadUrl}:{}})):[]}function $d(e){if(e===null)return null;if(typeof e=="string"||typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e:void 0}function ks(e){if(!We(e))return null;const a=new Set,o=(Array.isArray(e.columns)?e.columns:[]).map(y=>{if(!We(y))return null;const _=K(y.key)||K(y.name);return!_||a.has(_)?null:(a.add(_),{key:_,label:K(y.label)||_})}).filter(y=>!!y);if(o.length===0)return null;const c=(Array.isArray(e.rows)?e.rows:[]).filter(We).map(y=>{const _={};for(const E of o){const R=$d(y[E.key]);R!==void 0&&(_[E.key]=R)}return _}),d=typeof e.returnedCount=="number"&&Number.isFinite(e.returnedCount)?Math.max(0,Math.floor(e.returnedCount)):void 0,u=typeof e.totalCount=="number"&&Number.isFinite(e.totalCount)?Math.max(0,Math.floor(e.totalCount)):void 0;return{columns:o,rows:c,...e.renderedInMarkdown===!0?{renderedInMarkdown:!0}:{},...K(e.title)?{title:K(e.title)}:{},...d!==void 0?{returnedCount:d}:{},...u!==void 0?{totalCount:u}:{}}}function ti(e){return Array.isArray(e)?e.map(a=>ks(a)).filter(a=>!!a):[]}function ni(e){return e instanceof Error&&e.message.trim()||We(e)&&typeof e.message=="string"&&e.message.trim()?e.message.trim():String(e||"请求失败")}function Vd(e){return We(e)&&typeof e.code=="number"&&"data"in e?e.data:e}async function _s(e){return Vd(await e.json())}function zd(e){return Array.isArray(e)?e.flatMap(a=>{if(!We(a))return[];const o=K(a.threadId);return o?[{threadId:o,title:K(a.title)||void 0,chatMode:K(a.chatMode)||void 0,createdAt:K(a.createdAt)||void 0,updatedAt:K(a.updatedAt)||void 0}]:[]}):[]}function ai(e){const a=K(e).replace(/\s+/g," ");return a?a.length>20?`${a.slice(0,20)}...`:a:"新对话"}const Hd="已加载语义上下文,已提取候选指标、维度、过滤条件和本体模型,用于后续 SQL 推理。",Gd="已加载本体知识,相关术语、模型和字段已用于后续推理。",qd=new Set(["load_semantic_context","get_query_context"]);function Ud(e){return/加载语义上下文返回结果/.test(e)?/"queryContext"\s*:/.test(e)||/"matchedMetrics"\s*:/.test(e)||/"matchedDimensions"\s*:/.test(e)||/"matchedFilters"\s*:/.test(e)||/"matchedOntologyObjects"\s*:/.test(e)||/"ontologyAssets"\s*:/.test(e):!1}function Wd(e){return/加载本体知识返回结果/.test(e)?/"glossary"\s*:/.test(e)||/"models"\s*:/.test(e)||/"databaseObject"\s*:/.test(e)||/"objectType"\s*:/.test(e)||/"lineage"\s*:/.test(e)||/"businessRules"\s*:/.test(e):!1}function jd(e){return Ud(e)?Hd:Wd(e)?Gd:e}function ri(e){if(!We(e))return null;const a=typeof e.index=="number"&&Number.isFinite(e.index)?e.index:void 0;return a?{index:a,label:K(e.label)||`候选 ${a}`,...K(e.description)?{description:K(e.description)}:{},...K(e.appId)?{appId:K(e.appId)}:{},...K(e.modelCode)?{modelCode:K(e.modelCode)}:{},...K(e.metricCode)?{metricCode:K(e.metricCode)}:{},...K(e.fieldCode)?{fieldCode:K(e.fieldCode)}:{},...K(e.source)?{source:K(e.source)}:{}}:null}function si(e){if(!We(e))return null;const a=K(e.code)||K(e.name),o=K(e.name)||a;return!a||!o?null:{code:a,name:o,...K(e.displayValue)?{displayValue:K(e.displayValue)}:{},...typeof e.required=="boolean"?{required:e.required}:{},...K(e.source)?{source:K(e.source)}:{}}}function oi(e){if(!We(e))return null;const a=K(e.taskId),o=K(e.taskKind),c=K(e.title);if(!a||!o||!c)return null;const u=(Array.isArray(e.confirmationOptions)?e.confirmationOptions:[]).map(ri).filter(R=>!!R),y=ri(e.confirmedSelection),_=(Array.isArray(e.fields)?e.fields:[]).map(si).filter(R=>!!R),E=(Array.isArray(e.missingFields)?e.missingFields:[]).map(si).filter(R=>!!R);return{turnId:K(e.turnId),taskId:a,taskKind:o,taskKindLabel:K(e.taskKindLabel)||o,title:c,status:K(e.status)||"waiting_confirmation",statusLabel:K(e.statusLabel)||"等待确认",statusTone:["neutral","brand","warning","success","danger"].includes(K(e.statusTone))?K(e.statusTone):"neutral",fields:_,missingFields:E,canConfirm:e.canConfirm===!0,...K(e.confirmPhrase)?{confirmPhrase:K(e.confirmPhrase)}:{},...K(e.cancelPhrase)?{cancelPhrase:K(e.cancelPhrase)}:{},...u.length>0?{confirmationOptions:u}:{},...y?{confirmedSelection:y}:{},...K(e.lastErrorMessage)?{lastErrorMessage:K(e.lastErrorMessage)}:{},...K(e.resultSummary)?{resultSummary:K(e.resultSummary)}:{}}}function ii(e){const a=ka(e);if(!We(a))return null;const o=We(a.queryContext)?a.queryContext:a,c=K(o.tenantId),d=K(o.appId),u=K(o.dialect);return c||d||u?{tenantId:c,appId:d,dialect:u}:null}function Kd(e){const a=ka(e);if(!We(a))return;const o=ii(a),c=Ar(a.matchedMetrics),d=Ar(a.matchedDimensions),u=Ar(a.matchedFilters),y=Ar(a.matchedOntologyObjects??a.ontologyAssets);if(o||Array.isArray(a.matchedMetrics)||Array.isArray(a.matchedDimensions)||Array.isArray(a.matchedFilters)||Array.isArray(a.matchedOntologyObjects)||Array.isArray(a.ontologyAssets))return[`候选指标:${wr(c,"未匹配到明确指标")}`,`候选维度:${wr(d,"未匹配到明确维度")}`,...u.length?[`候选过滤条件:${wr(u,"未匹配到明确过滤条件")}`]:[],...y.length?[`候选本体:${wr(y,"未匹配到明确本体")}`]:[]].join(`
6
+ `)}function Ar(e){if(!Array.isArray(e))return[];const a=[];for(const o of e){const c=Qd(o);c&&!a.includes(c)&&a.push(c)}return a}function wr(e,a){if(e.length===0)return a;const o=e.slice(0,5);return`${o.join("、")}${e.length>o.length?` 等 ${e.length} 项`:""}`}function Qd(e){if(!We(e))return K(e);const a=We(e.asset)?e.asset:e;return K(a.name)||K(a.label)||K(a.title)||K(a.metricName)||K(a.dimensionName)||K(a.fieldName)||K(a.modelName)||K(a.modelCode)||K(a.code)||K(a.id)}function Yd(e,a){return a?{tenantId:a.tenantId||e.tenantId,appId:a.appId||e.appId,dialect:a.dialect||e.dialect}:e}function Jd(e,a,o){const c=ka(e);if(!We(c))return null;const d=K(c.sql),u=K(c.tenantId)||a.tenantId,y=K(c.appId)||a.appId,_=K(c.sqlDialect)||K(c.dialect)||a.dialect||"sql";return!o.trim()||!d||!u||!y||!_?null:{question:o.trim(),validatedSql:d,sqlDialect:_,paramsSchema:{type:"object"},permissionContext:{tenantId:u,appId:y}}}function Zd(e){const a=ka(e);return!We(a)||a.success!==!0?null:Array.isArray(a.rows)&&a.rows.length>0?a.rows.filter(We).map(o=>({...o})):typeof a.rowCount=="number"&&a.rowCount>0?[]:null}const Xd=new Set(["no color","none","null","n/a","unknown","无","无颜色","空","未填","未设置","缺失"]);function Cs(e){return e==null?"":String(e).trim().toLowerCase().replace(/\s+/g," ")}function Ss(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e!="string")return null;const a=e.trim().replace(/,/g,"");if(!/^-?\d+(?:\.\d+)?$/.test(a))return null;const o=Number(a);return Number.isFinite(o)?o:null}function As(e){const a=Cs(e);return a===""||Xd.has(a)}function ci(e,a){const o=Ss(e),c=Ss(a);if(o!==null&&c!==null)return Math.abs(o-c)<1e-9?1:0;if(As(e)&&As(a))return 1;const d=Cs(e),u=Cs(a);return!d||!u?0:d===u?1:d.includes(u)||u.includes(d)?.75:0}function eu(e){const a=new Set;for(const o of e)for(const c of Object.keys(o))a.add(c);return[...a]}function tu(e,a,o,c){var E,R;if(e.length===0||o.length===0)return 0;const d=Math.min(e.length,o.length);let u=0;for(let U=0;U<d;U+=1)u+=ci((E=e[U])==null?void 0:E[a],(R=o[U])==null?void 0:R[c]);u/=d;const y=new Set;let _=0;for(const U of e){let z=-1,S=0;o.forEach((B,F)=>{if(y.has(F))return;const H=ci(U[a],B[c]);H>S&&(S=H,z=F)}),z!==-1&&y.add(z),_+=S}return Math.max(u,_/e.length)}function li(e,a){const o=e.map(d=>d[a]).filter(d=>!As(d));return o.length===0?!1:o.filter(d=>Ss(d)!==null).length/o.length>=.8}function di(e,a,o,c,d){let u,y=0;for(const _ of c){if(d.has(_))continue;const E=tu(e,a,o,_);E>y&&(y=E,u=_)}return y>=.74?u:void 0}function ui(e,a,o,c,d){const u=li(e,a),y=c.filter(_=>!d.has(_)&&li(o,_)===u);return y.length===1?y[0]:void 0}function nu(e,a){const o={xField:e.chart.xField,yFields:[...e.chart.yFields]},c=eu(a);if(c.length===0)return o;const d=new Set,u=e.chart.yFields.map(_=>{const E=di(e.chart.data,_,a,c,d)||ui(e.chart.data,_,a,c,d);return E?(d.add(E),E):_});return{xField:di(e.chart.data,e.chart.xField,a,c,d)||ui(e.chart.data,e.chart.xField,a,c,d)||e.chart.xField,yFields:u}}function mi(e,a,o=[]){if(!a||e.dataBinding)return e;const c=nu(e,o);return{...e,dataBinding:{...a,fieldMapping:{...a.fieldMapping,xField:c.xField,yFields:c.yFields},paramsSchema:a.paramsSchema||{type:"object"}}}}const au={load_semantic_context:"加载语义上下文",load_ontology:"加载本体知识",execute_query_dispatcher:"执行查询调度",get_query_context:"获取查询上下文",get_connection_config:"获取数据源配置",search_business_glossary:"搜索术语表",match_metrics:"匹配指标",match_dimensions:"匹配维度",validate_sql:"校验 SQL",explain_plan:"分析执行计划",execute_metric_api:"执行指标查询",execute_sql_api:"执行 SQL 查询",skill:"调用技能",task:"执行子任务"},ru={perception:"感知分析",reasoning:"推理分析",visualization:"可视化",insights:"洞察分析"};function ws(e){return au[e]||`调用 ${e}`}function su(e,a){return e.role==="status"&&e.loading===!0&&e.content===ws(a)}function ou(e){return ru[e]||e}function Tr(e){return e<1e3?`${e}ms`:`${(e/1e3).toFixed(1)}s`}function iu(...e){const a={};for(const o of e)if(o){if(o instanceof Headers){o.forEach((c,d)=>{a[d]=c});continue}if(Array.isArray(o)){for(const[c,d]of o)a[c]=d;continue}Object.assign(a,o)}return a}function fi(e){const a=n.ref([]),o=n.ref(null),c=n.ref(!1),d=n.ref(!1),u=n.ref(!1),y=n.ref(!1),_=n.ref(null),E=n.ref(null),R=n.ref(null),U=n.ref(null);let z=!1;const S=()=>{var v;return((v=e.headers)==null?void 0:v.call(e))??{}},B=()=>typeof e.assistantPersona=="function"?e.assistantPersona():e.assistantPersona,F=()=>{const v=_n(e.activeConversationId);return typeof v=="string"?v.trim():""},H=n.computed(()=>a.value.find(v=>v.id===o.value)??null),Y=n.ref([]),xe=n.computed(()=>ud(Y.value.filter($o)));function ie(v,I){var te;const G=v.trim();if(!G)return;const T=(I==null?void 0:I.persisted)!==!1,Q=(I==null?void 0:I.threadId)||(T?G:"");(te=e.onConversationChange)==null||te.call(e,G,{id:G,...Q?{threadId:Q}:{},...I!=null&&I.clientDraftId?{clientDraftId:I.clientDraftId}:{},persisted:T})}function ue(v,I){const G=I==null?void 0:I.trim(),T=G?a.value.find(L=>L.id===G)??null:H.value;if(!T)throw new Error("当前没有可追加消息的会话");const Q={...v,id:v.id||Bn(),timestamp:v.timestamp||In()};Sr(Q);const te=T.messages.findIndex(L=>L.id===Q.id);if(te>=0){const L={...T.messages[te],...Q,timestamp:Q.timestamp||T.messages[te].timestamp};return T.messages[te]=L,ta(T.messages,L),qa(T.messages,L)?(T.messages.splice(te,1),L):(ba(T.messages,L),Vn(T.messages),ga(T.messages,L),L)}const O=Wo(T.messages,Q);return O||(ta(T.messages,Q),Q.cardRecommendationDraft&&qa(T.messages,Q)?Q:(Q.cardRecommendationDraft&&ba(T.messages,Q),Qo(T.messages,Q)?(Vn(T.messages),H.value===T&&Y.value!==T.messages&&(Y.value=T.messages),Q):Ed(T.messages,Q)?(H.value===T&&Y.value!==T.messages&&(Y.value=T.messages),Q):(fd(T.messages,Q),ga(T.messages,Q),Vn(T.messages),H.value===T&&Y.value!==T.messages&&(Y.value=T.messages),Q)))}function ce(v,I){const G=v.trim();if(!G)return!1;const T=a.value.find(se=>se.id===G)??null;if(!T)return!1;const Q=Array.from(new Set(I.map(se=>se.trim()).filter(Boolean)));if(Q.length===0)return!1;const te=new Set;for(const se of T.messages){if(se.role!=="assistant"||se.cardRecommendationDraft||!se.content.trim())continue;const Ce=Fn(se)||Xn(se.id);Ce&&te.add(Ce)}let O=0,L=!1;for(const se of T.messages){if(se.role!=="assistant"||se.cardRecommendationDraft||!se.content.trim()||Fn(se))continue;const Se=Xn(se.id);if(Se){se.workbenchTurnId=Se,L=!0;continue}for(;O<Q.length&&te.has(Q[O]);)O+=1;const Me=Q[O];if(!Me)break;se.workbenchTurnId=Me,te.add(Me),O+=1,L=!0}const j=Yo(T.messages);return L||j}function Pe(v,I,G){var ft;const T=v.trim(),Q=I.trim();if(!T||!Q||G.length===0)return!1;const te=a.value.find(C=>C.id===T)??null;if(!te)return!1;const L=G.filter(C=>C.role==="assistant"&&!C.cardRecommendationDraft&&C.content.trim()).map(C=>C.content.trim()).join(`
7
+ `).replace(/\s+/gu," ").trim();let j=L?te.messages.findIndex(C=>C.role==="assistant"&&!C.cardRecommendationDraft&&C.content.replace(/\s+/gu," ").trim()===L):-1;if(j<0&&(j=te.messages.findIndex(C=>cn(C,Q))),j<0)return!1;const se=te.messages[j],Ce=G.map(C=>{const q={...C,id:C.id||Bn(),loading:!1,streaming:!1,timestamp:C.timestamp||se.timestamp||In(),workbenchTurnId:Q};return Go(q),Sr(q),q});let Se=-1;for(let C=j-1;C>=0;C-=1)if(((ft=te.messages[C])==null?void 0:ft.role)==="user"){Se=C;break}const Me=te.messages.slice(j+1).findIndex(C=>C.role==="user"),Qe=Me>=0?j+Me+1:te.messages.length,Ie=te.messages.flatMap((C,q)=>{const re=cn(C,Q),ee=!!C.cardRecommendationDraft&&Td(C,Q,te.messages),ge=C.content.replace(/\s+/gu," ").trim(),we=q>Se&&q<Qe,Ge=we&&C.role==="status",et=q>Se&&q<Qe&&yd(C);Ge&&!et&&qo(C);const It=q>Se&&q<Qe&&C.role==="assistant"&&!C.cardRecommendationDraft&&!!ge&&L.includes(ge),pt=we&&C.role==="assistant"&&!C.cardRecommendationDraft&&(C.loading===!0||C.streaming===!0);return pt&&qo(C),re||ee||et||It||pt?[q]:[]});for(let C=Ie.length-1;C>=0;C-=1)te.messages.splice(Ie[C],1);const st=Math.min(j,te.messages.length);return te.messages.splice(st,0,...Ce),Ce.some(C=>!!C.workbenchInterleavedPlacement)||Yo(te.messages),H.value===te&&Y.value!==te.messages&&(Y.value=te.messages),!0}n.watch(H,v=>{Y.value=(v==null?void 0:v.messages)??[]},{immediate:!0}),n.watch(Y,v=>{H.value&&H.value.messages!==v&&(H.value.messages=v)},{flush:"sync"});async function ne(v,I){return fetch(`${e.apiBaseUrl}${v}`,{...I,headers:iu(I==null?void 0:I.headers,S())})}function Z(v){var te,O;const I=new URLSearchParams,G=(te=_n(e.chatMode))==null?void 0:te.trim(),T=(O=_n(e.workspaceId))==null?void 0:O.trim();G&&I.set("chatMode",G),T&&I.set("workspaceId",T);const Q=I.toString();return Q?`${v}?${Q}`:v}function He(){const v=S();return v["x-trace-id"]||v["X-Trace-Id"]||v["x-request-id"]||v["X-Request-Id"]||""}function ae(v){var I,G;if(v instanceof Error){(I=e.onError)==null||I.call(e,v);return}(G=e.onError)==null||G.call(e,new Error(typeof v=="string"?v:"未知错误"))}function he(v,I=null,G=[],T=""){var te;if(!e.enableChartCards||!cd(v)||(te=v.cards)!=null&&te.length)return;const Q=No(v.content,{userQuestion:T});Q.length>0&&(v.cards=Q.map(O=>mi(O,I,G)))}function ye(v){return!!(!v||v.persisted===!1||v.historyLoaded||v.messages.length>0)}async function at(){if(!(z||d.value)){d.value=!0;try{const v=await ne(Z("/chat/conversations"));if(!v.ok)return;const I=await _s(v),T=zd(I.conversations).map(te=>({id:te.threadId,threadId:te.threadId,title:ai(te.title),messages:[],persisted:!0,historyLoaded:!1,chatMode:te.chatMode,createdAt:te.createdAt,updatedAt:te.updatedAt}));a.value=o.value?[...a.value,...T.filter(te=>te.id!==o.value)]:T,z=!0;const Q=F();Q&&a.value.some(O=>O.id===Q)&&await At(Q,{silent:!0})}catch(v){ae(v)}finally{d.value=!1}}}async function St(v){var G;const I=a.value.find(T=>T.id===v);if(!(!I||I.persisted===!1||I.historyLoaded||I.messages.length>0))try{const T=await ne(`/chat/${v}/history`);if(!T.ok)return;const te=(await _s(T)).messages||[];I.messages=Pd(te.map(O=>{let L="";typeof O.content=="string"?L=O.content:Array.isArray(O.content)?O.role==="tool"?L=O.content.filter(Ie=>{var st,Re;return Ie.type==="tool-result"&&((st=Ie.output)==null?void 0:st.type)==="text"&&!((Re=Ie.output.value)!=null&&Re.includes("no output"))}).map(Ie=>`**${ws(Ie.toolName)}返回结果:**
8
8
 
9
- ${Ce.output.value}`).join(`
9
+ ${Ie.output.value}`).join(`
10
10
 
11
- `):O=M.content.filter(Ce=>Ce.type==="text").map(Ce=>Ce.text||"").join(""):Array.isArray(M.parts)&&(O=M.parts.filter(Ce=>Ce.type==="text").map(Ce=>Ce.text||"").join(""));const j={id:J(M.id)||Bn(),role:M.role==="user"?"user":"assistant",content:qd(O),timestamp:J(M.timestamp)||In()};M.conclusion===!0&&(j.conclusion=!0);const ie=J(M.workbenchTurnId);ie&&(j.workbenchTurnId=ie),e.enableChartCards&&M.conclusion===!0&&Array.isArray(M.cards)&&(j.cards=M.cards);const Ie=si(M.taskStateDraft);Ie&&(j.taskStateDraft=Ie);const Se=ks(M.queryResultTable);Se&&(j.queryResultTable=Se);const Pe=ei(M.queryResultTables);return Pe.length>0&&(j.queryResultTables=Pe),Sr(j),he(j),j}).filter(M=>{var O,j;return M.content.trim()!==""||!!((O=M.cards)!=null&&O.length)||!!M.taskStateDraft||!!M.queryResultTable||!!((j=M.queryResultTables)!=null&&j.length)})),I.historyLoaded=!0,o.value===v&&(K.value=I.messages),(G=e.onHistoryLoaded)==null||G.call(e,v)}catch(T){ae(T)}}async function At(v,I={}){const G=v.trim();if(!G)return;const T=r.value.find(O=>O.id===o.value)??null;if(o.value===G&&ye(T))return;const Q=o.value;o.value=G,!I.silent&&Q!==G&&oe(G,r.value.find(O=>O.id===G)??null);const te=r.value.find(O=>O.id===G)??null;!ye(te)&&!I.silent&&(u.value=!0);try{await St(G)}finally{u.value=!1}}async function We(){var Q;dt();const v=new Date().toISOString(),I=(Q=_n(e.chatMode))==null?void 0:Q.trim(),G=Zo(),T={id:G,clientDraftId:G,title:"新对话",messages:[],persisted:!1,chatMode:I||void 0,createdAt:v,updatedAt:v};return r.value.unshift(T),o.value=T.id,oe(T.id,T),T.id}function ct(v,I){const G=I.trim();if(!G||v.threadId===G)return;const T=v.id;v.id=G,v.threadId=G,v.persisted=!0,(o.value===T||o.value===v.clientDraftId)&&(o.value=G,oe(G,v));const Q=r.value.findIndex(te=>te!==v&&te.id===G);Q>=0&&r.value.splice(Q,1)}async function Pt(v){const I=r.value.findIndex(Q=>Q.id===v);if(I===-1)return;const G=r.value[I],T=o.value===v;if(r.value.splice(I,1),r.value.length===0)await We();else if(T){const Q=r.value[I]??r.value[I-1]??r.value[0];await At(Q.id)}try{G.persisted!==!1&&await ne(`/chat/${v}`,{method:"DELETE"})}catch{}}async function Tt(){var Q;const v=[...r.value],I=Zo(),G=(Q=_n(e.chatMode))==null?void 0:Q.trim(),T={id:I,clientDraftId:I,title:"新对话",messages:[],persisted:!1,chatMode:G||void 0};dt(),r.value=[T],o.value=I,K.value=T.messages,oe(I,T),await Promise.all(v.map(async te=>{try{te.persisted!==!1&&await ne(`/chat/${te.id}`,{method:"DELETE"})}catch{}}))}async function at(v,I){const G=r.value.find(Q=>Q.id===v);G&&(G.title=I);const T=He();try{(await ne(`/chat/${v}/title`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:I,...T?{trace_id:T}:{}})})).ok&&G&&(G.persisted=!0)}catch{}}async function Ut(){const v=H.value;if(!(!v||c.value||y.value)){y.value=!0;try{const I=await ne(`/chat/${v.id}/compact`,{method:"POST"});if(!I.ok){ae(new Error(`压缩上下文失败: ${I.status}`));return}await _s(I)}catch(I){ae(I)}finally{y.value=!1}}}function Te(v){return v.messages.filter(I=>I.role!=="status").map(I=>{var j,ie;const G=si(I.taskStateDraft),T=ks(I.queryResultTable),Q=ei(I.queryResultTables),te=Fn(I),M={content:I.content,queryResultTable:T??void 0,queryResultTables:Q.length>0?Q:void 0};return Sr(M),{id:I.id,role:I.role==="user"?"user":"assistant",content:I.content,timestamp:I.timestamp,...I.conclusion===!0?{conclusion:!0}:{},...te?{workbenchTurnId:te}:{},...(j=I.cards)!=null&&j.length?{cards:I.cards}:{},...(ie=M.queryResultTables)!=null&&ie.length?{queryResultTables:M.queryResultTables}:M.queryResultTable?{queryResultTable:M.queryResultTable}:{},...G?{taskStateDraft:G}:{}}}).filter(I=>{var G,T;return(typeof I.content=="string"?I.content.trim()!=="":Array.isArray(I.content)&&I.content.length>0)||!!((G=I.cards)!=null&&G.length)||!!I.queryResultTable||!!((T=I.queryResultTables)!=null&&T.length)||!!I.taskStateDraft})}async function Vt(v){var Q,te;if(!v.threadId)return;const I=Te(v);if(I.length===0)return;const G=(Q=_n(e.chatMode))==null?void 0:Q.trim(),T=(te=_n(e.workspaceId))==null?void 0:te.trim();try{const M=await ne(`/chat/${v.threadId}/history`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:v.title,...G?{chatMode:G}:{},...T?{workspaceId:T}:{},messages:I})});if(!M.ok){ae(new Error(`保存会话历史失败: ${M.status}`));return}v.persisted=!0}catch(M){ae(M)}}function Ne(v){if(!v)return;const I=K.value.findIndex(O=>O.id===v.id);if(I<0)return;const G=K.value[I],T=$n(G),Q=T&&cn(G,T)?K.value.filter(O=>O.id!==G.id&&!!O.cardRecommendationDraft&&ea(K.value,O)===T):[];if(I>=K.value.length-1&&Q.length===0)return;const te=new Set([G.id,...Q.map(O=>O.id)]),M=K.value.filter(O=>!te.has(O.id));K.value.splice(0,K.value.length,...M,G,...Q)}function dt(){U.value&&(U.value.abort(),U.value=null)}async function Be(v,I={}){var Cn,Dn,Sn;const G=H.value;if(!G){console.error("[useChat] No active conversation");return}const T=G,Q={id:Bn(),role:"user",content:v,timestamp:In(),...(Cn=I.attachments)!=null&&Cn.length?{attachments:I.attachments}:{}};T.messages.push(Q),T.messages.filter(Y=>Y.role==="user").length===1&&(T.title=ni(v)),c.value=!0;const te=new AbortController;U.value=te;let M=null,O=null,j=null,ie=null,Ie=null,Se="",Pe=null;const Ce=16,rt=25,lt=Ce*3;let Fe={},ft=null,S=[];const q=new Map,re=new Map;function ee(Y){_.value=(Y==null?void 0:Y.id)??null}function ge(){we(),Ie=setTimeout(()=>{ie||ht()},2e3)}function we(){Ie&&(clearTimeout(Ie),Ie=null)}function Ge(){Pe||!M||Se.length===0||(Pe=setTimeout(()=>{if(Pe=null,M&&Se.length>0){const Y=Se.slice(0,Ce);Se=Se.slice(Ce),M.content+=Y,Se.length>0&&Ge()}},rt))}function Xe(){Pe&&(clearTimeout(Pe),Pe=null),M&&Se.length>0&&(M.content+=Se,Se="")}function It(Y=!1){const de={id:Bn(),role:"assistant",content:"",loading:!0,streaming:!0,conclusion:Y,timestamp:In()};return T.messages.push(de),ee(T.messages[T.messages.length-1]),T.messages[T.messages.length-1]}function pt(Y){const de={id:Bn(),role:"status",content:Y,loading:!0,timestamp:In(),startTime:Date.now()};return T.messages.push(de),T.messages[T.messages.length-1]}function f(Y){if(!Y||!Y.loading)return;const de=Date.now(),Me=typeof Y.startTime=="number"?de-Y.startTime:0;Y.content+=`完成${Me>0?`,用时 ${Tr(Me)}`:""}`,Y.endTime=de,Y.loading=!1}function b(Y,de){const Me={id:Bn(),role:"status",content:Y,error:Y,detail:de,loading:!1,timestamp:In()};return T.messages.push(Me),T.messages[T.messages.length-1]}const x=new Map;function X(Y){if(!Y.cardRecommendationDraft)return!1;const de=ea(T.messages,Y);if(!de||T.messages.some(qe=>cn(qe,de)))return!1;const Me=gs(Y)||Y.id,ve=x.get(Me);return x.set(Me,ve?{...ve,...Y,timestamp:Y.timestamp||ve.timestamp}:Y),!0}function ke(Y){const de=$n(Y);if(!de||!cn(Y,de))return!1;const Me=[...x.entries()].filter(([,qe])=>ea(T.messages,qe)===de);if(Me.length===0||T.messages.findIndex(qe=>qe.id===Y.id)<0)return!1;for(const[qe]of Me)x.delete(qe);for(const[,qe]of Me){if(qa(T.messages,qe))continue;ta(T.messages,qe),ba(T.messages,qe);const je=T.messages.findIndex(Je=>Je.id===Y.id);je<0||(T.messages.splice(je+1,0,qe),Vn(T.messages))}return!0}function Re(Y){if(Y.removeThinking&&Ye(),Y.markThinking)return ht(),ie||T.messages[T.messages.length-1];ie!=null&&ie.initialEventsPending&&Ye();const de={...Y,id:Y.id||Bn(),timestamp:Y.timestamp||In()};if(X(de))return de;const Me=T.messages.findIndex(je=>je.id===de.id);if(Me>=0){T.messages[Me]={...T.messages[Me],...de,timestamp:de.timestamp||T.messages[Me].timestamp};const je=T.messages[Me];if(ta(T.messages,je),qa(T.messages,je)){const Je=T.messages.findIndex(zt=>zt.id===je.id);return Je>=0&&T.messages.splice(Je,1),je}return ba(T.messages,je),Vn(T.messages),ke(je),ga(T.messages,je),je}const ve=ie?T.messages.findIndex(je=>je.id===(ie==null?void 0:ie.id)):-1;if(de.cardRecommendationDraft){if(ta(T.messages,de),qa(T.messages,de))return de;if(ba(T.messages,de),Qo(T.messages,de))return Vn(T.messages),de}if(ve>=0){ta(T.messages,de),T.messages.splice(ve,0,de);const je=T.messages[ve];return ke(je),ga(T.messages,je),Vn(T.messages),je}ta(T.messages,de),T.messages.push(de);const qe=T.messages[T.messages.length-1];return ke(qe),ga(T.messages,qe),Vn(T.messages),qe}function st(Y){var Me;const de=Y.errorText||Y.delta||"";if(!de)return{summary:"请求失败"};try{const ve=JSON.parse(de);return{summary:(ve==null?void 0:ve.errorText)||(ve==null?void 0:ve.message)||((Me=ve==null?void 0:ve.error)==null?void 0:Me.message)||"请求失败",detail:typeof ve=="string"?ve:JSON.stringify(ve,null,2)}}catch{return{summary:de,detail:de}}}function Rt(Y){if(!Y)return;const de=T.messages.findIndex(Me=>Me.id===Y.id);de!==-1&&T.messages.splice(de,1)}function ht(Y=!1){Ye();const de={id:Bn(),role:"status",content:"思考中...",loading:!0,...Y?{initialEventsPending:!0}:{},timestamp:In()};T.messages.push(de),ie=T.messages[T.messages.length-1]}function Ye(){Rt(ie),ie=null}function vt(){Rt(M),M=null,ee(null)}function Yt(){Rt(O),O=null,j=null}function et(){(j==null?void 0:j.kind)==="tool"&&f(O),O=null,j=null}function Jt(){T.messages.forEach(Y=>{Y.role==="status"&&Y.loading&&Y!==ie&&f(Y)})}function jn(Y){if(!Y)return!1;if(O&&(j==null?void 0:j.kind)==="tool"&&j.name===Y)return f(O),O=null,j=null,!0;const de=[...T.messages].reverse().find(Me=>nu(Me,Y));return de?(f(de),(O==null?void 0:O.id)===de.id&&(O=null,j=null),!0):!1}function mn(){var Y;Ye(),M&&(M.content.trim()===""&&!((Y=M.cards)!=null&&Y.length)?vt():(M.loading=!1,M.streaming=!1,he(M,ft,S,v),M=null,ee(null))),et(),Jt()}ht(!0);async function vn(Y){var qe,je,Je,zt,en,Nn,Ln;const de=Y.getReader(),Me=new TextDecoder;let ve="";for(;;){const{done:Ht,value:tn}=await de.read();if(Ht)break;ve+=Me.decode(tn,{stream:!0});const fe=ve.split(`
12
- `);ve=fe.pop()||"";for(const k of fe){const L=k.trim();if(!L)continue;const N=Xo(L);if(N)switch(ie!=null&&ie.initialEventsPending&&Ye(),N.type){case"start-step":Xe(),Ye(),M=It(N.conclusion===!0||N.kind==="conclusion");break;case"text-delta":if(Ye(),Jt(),M){M.loading=!1,M.streaming=!0;const me=N.delta||"";me.length>lt?(Se+=me,Ge()):M.content+=me}ge();break;case"text-end":we(),ge();break;case"finish-step":{Xe(),we(),Jt(),M&&M.content.trim()===""&&!((qe=M.cards)!=null&&qe.length)?vt():M&&(M.loading=!1,M.streaming=!1,he(M,ft,S,v),M=null,ee(null)),ge();break}case"tool-input-start":{if(typeof N.toolCallId=="string"&&typeof N.toolName=="string"&&q.set(N.toolCallId,N.toolName),(j==null?void 0:j.kind)==="subagent")break;Ye(),M&&M.content.trim()===""&&!((je=M.cards)!=null&&je.length)&&vt(),et();const me=ws(N.toolName);O=pt(me),j={kind:"tool",name:N.toolName};break}case"tool-input-available":{const me=N.toolName||(typeof N.toolCallId=="string"?q.get(N.toolCallId):void 0)||(j==null?void 0:j.name);if(typeof N.toolCallId=="string"&&me&&q.set(N.toolCallId,me),me==="execute_sql_api"&&typeof N.toolCallId=="string"){const be=Kd(N.input,Fe,v);be&&re.set(N.toolCallId,be)}break}case"tool-output-available":{const me=N.toolName||(typeof N.toolCallId=="string"?q.get(N.toolCallId):void 0)||(j==null?void 0:j.name);if(me&&zd.has(me)){const be=Ud(N.output??N.delta??N.result);Fe=jd(Fe,oi(N.output??N.delta??N.result)),be&&O&&(O.detail=be)}if(me==="execute_sql_api"&&typeof N.toolCallId=="string"){const be=Qd(N.output??N.delta??N.result);if(be){const Ee=re.get(N.toolCallId);Ee&&(ft=Ee,S=be)}}if(e.enableChartCards&&(me==="generate_chart"||me==="execute_metric_api")){if(me==="execute_metric_api"){const Ee=rd(N.output??N.delta??N.result);Ee&&(R.value=Ee)}const be=sd(N.output??N.delta??N.result);if(be){me==="generate_chart"&&(R.value=null);const Ee=ui(be,ft,S);E.value=Ee}}if(!(me&&jn(me))){if(O&&(j==null?void 0:j.kind)==="tool"){if(j.name==="task")Yt();else if(O.startTime){const be=Date.now(),Ee=be-O.startTime;O.content+=`完成,用时 ${Tr(Ee)}`,O.endTime=be,O.loading=!1,O=null,j=null}}}Jt(),ht();break}case"tool-output-error":{if(O&&(j==null?void 0:j.kind)==="tool"){if(j.name==="task")Yt();else if(O.startTime){const me=Date.now(),be=me-O.startTime;O.content+=`失败,用时 ${Tr(be)}`,O.endTime=me;const Ee=N.output||N.delta||"";try{const ot=JSON.parse(Ee);O.error=ot.error||ot.message||Ee,O.detail=ot.detail||ot.details||ot.reason}catch{O.error=Ee||"未知错误"}O.loading=!1,O=null,j=null}}ht();break}case"data-oh:subagent.start":{if(Ye(),(j==null?void 0:j.kind)==="tool"&&j.name!=="task")break;Yt();const me=((Je=N.data)==null?void 0:Je.agentName)||"",be=`执行${au(me)}`;O=pt(be),j={kind:"subagent",name:me,taskId:(zt=N.data)==null?void 0:zt.taskId},(en=N.data)!=null&&en.task&&(O.detail=N.data.task);break}case"data-oh:subagent.done":{const me=((Nn=N.data)==null?void 0:Nn.agentName)||"",be=(Ln=N.data)==null?void 0:Ln.taskId,Ee=(j==null?void 0:j.kind)==="subagent"&&(be&&j.taskId===be||me&&j.name===me||!be&&!me);if(O&&Ee)if(O.startTime){const ot=Date.now(),Mt=ot-O.startTime;O.content+=`完成,用时 ${Tr(Mt)}`,O.endTime=ot,O.loading=!1,O=null,j=null}else Yt();Ye();break}case"error":{we(),mn();const{summary:me,detail:be}=st(N);b(me,be),ae(new Error(me));break}}}}if(ve.trim()){const Ht=Xo(ve.trim());Ht&&(ie!=null&&ie.initialEventsPending)&&Ye(),(Ht==null?void 0:Ht.type)==="text-delta"&&M&&(M.loading=!1,M.streaming=!0,M.content+=Ht.delta)}}if(e.transport){let Y=T.threadId||"";try{const de=He(),Me=B(),ve=Pd(e.businessGroup),qe=(Dn=_n(e.chatMode))==null?void 0:Dn.trim(),je=_n(e.workspaceId),Je=_n(e.userId),zt=await e.transport({appendMessage:Re,consumeAssistantStream:vn,moveMessageToEnd:Ne,assistantPersona:Me,businessGroup:ve,chatMode:qe||void 0,threadId:T.threadId,clientDraftId:T.clientDraftId,onThreadReady:en=>{ct(T,en),Y=T.threadId||en.trim()},...(Sn=I.attachments)!=null&&Sn.length?{attachments:I.attachments}:{},input:v,messages:T.messages.filter($o),...I.quickEntry?{quickEntry:I.quickEntry}:{},traceId:de||void 0,userId:Je,workspaceId:je,signal:te.signal});zt&&typeof zt=="object"&&zt.threadId&&(ct(T,zt.threadId),Y=T.threadId||zt.threadId.trim())}catch(de){mn(),de.name!=="AbortError"&&(b(`请求异常: ${ti(de)}`),ae(de))}finally{we(),mn(),(Y||T.threadId)&&await Vt(T),c.value=!1,U.value=null,_.value=null}return}try{const Y=new Error("当前 ai-chat 未配置运行态 transport;根 POST /chat 已删除,请接入 /fde-core transport。");mn(),b(Y.message),ae(Y)}catch(Y){mn(),Y.name!=="AbortError"&&(b(`请求异常: ${ti(Y)}`),ae(Y))}finally{we(),c.value=!1,U.value=null,_.value=null}}return We(),e.autoLoadConversations!==!1&&nt(),n.watch(()=>F(),async v=>{if(!v)return;const I=r.value.some(G=>G.id===v);!I&&!z&&e.autoLoadConversations!==!1||I&&await At(v,{silent:!0})}),{conversations:r,currentConversationId:o,messages:K,contextUsage:xe,isLoading:c,isLoadingConversations:d,isSwitchingConversation:u,isCompacting:y,streamingMessageId:_,latestChartCard:E,latestMetricCard:R,assignWorkbenchTurnIds:ce,appendMessage:ue,replaceWorkbenchTurnAnswer:Le,sendMessage:Be,abortStream:dt,compactContext:Ut,createConversation:We,loadConversations:nt,deleteConversation:Pt,clearConversations:Tt,renameConversation:at,switchConversation:At,loadHistory:St,moveMessageToEnd:Ne}}const fi=Symbol("FSES_AI_CHAT_CONFIG_KEY"),pi=Symbol("SYSTEM_ECHARTS_TEMPLATE_CDN_BASE_URL_KEY"),su={install(e,r){e.provide(fi,r),e.component("FsesAiChat",Vs)}};function ou(){return n.inject(fi,null)}function hi(e){const r=_t(e);return iu(r)?lu(Ua(r.dataBinding),Ua(_t(r.queryResult).dataBinding),Ua(_t(_t(r.queryResult).metadata).dataBinding),Ua(_t(_t(r.blockPlan).data).dataBinding),Ua(_t(_t(r.blockPlan).meta).dataBinding),cu(r.assetRefs),_a(_t(r.queryResult).sourceLabel),_a(r.sourceLabel)):""}function iu(e){const r=_t(e.queryResult),o=[_t(e.dataBinding),_t(r.dataBinding),_t(_t(r.metadata).dataBinding),_t(_t(e.blockPlan).data).dataBinding,_t(_t(e.blockPlan).meta).dataBinding].map(_t);return e.source==="metric"||r.source==="runtime_metric"||o.some(c=>c.source==="runtime_metric"||c.bindingKind==="runtime_metric")}function Ua(e){const r=_t(e);return _a(r.metricName)||_a(r.metric_name)}function cu(e){if(!Array.isArray(e))return"";for(const r of e){const o=_t(r);if(o.type!=="metric"&&o.type!=="metric_detail")continue;const c=_a(o.label);if(c)return c}return""}function lu(...e){for(const r of e){const o=_a(r);if(o)return o}return""}function _t(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function _a(e){return typeof e=="string"&&e.trim()?e.trim():""}function du(e){return e.role==="status"&&!!e.thinkingProcess}function uu(e){return e.role==="assistant"&&!!e.loading&&!e.content.trim()}function mu(e){return e.role==="assistant"&&(!!e.loading||!!e.streaming)}function fu(e){var r,o;return e.role==="assistant"&&!e.loading&&!e.streaming&&!e.content.trim()&&!((r=e.attachments)!=null&&r.length)&&!((o=e.cards)!=null&&o.length)&&!e.planDraft&&!e.cardRecommendationDraft&&!e.registeredCardInsertDraft&&!e.memoryCaptureDraft&&!e.taskStateDraft}function gi(e,r={}){const o=[];let c=[],d=[],u=[],y=!1,_=!1;const E=r.hiddenStatusMessageIds??new Set;function R(B=!1){if(c.length===0)return;const F=c.filter(H=>!E.has(H.id));F.length>0&&o.push({type:"tool-activity",messages:F,...B?{turnActive:!0}:{}}),c=[]}function U(B){if(d.length===0||B.role!=="assistant")return B;const F=[...B.thinkingProcessMessages||[],...d];return d=[],{...B,thinkingProcessMessages:F}}function z(){var K,xe;if(d.length===0)return;const B=d;d=[];const F=B.some(oe=>oe.loading);if(!F&&_)return;const H=F||y;!H&&!B.some(oe=>oe.content.trim())||o.push({type:"assistant",message:{id:`${((K=B[0])==null?void 0:K.id)||"thinking-process"}-assistant`,role:"assistant",content:"",loading:H,streaming:H,thinkingProcessMessages:B,timestamp:((xe=B[0])==null?void 0:xe.timestamp)||""}})}function C(){u.length!==0&&(u.forEach(B=>o.push({type:"assistant",message:U(B)})),u=[])}for(const B of e){if(du(B)){d.push(B);continue}if(B.role==="status"){c.push(B);continue}if(fu(B)){u.push(B);continue}R(mu(B)),C(),B.role==="user"?(o.push({type:"user",message:B}),y=!0,_=!1):uu(B)?o.push({type:"thinking",message:B}):(o.push({type:"assistant",message:U(B)}),_=!0)}return R(),C(),z(),o}function Wa(e){return e.replace(/(完成|失败),用时\s*\d+(?:\.\d+)?(?:ms|s|m|秒|毫秒)\s*$/u,"$1").trim()}function pu(e){return Wa(e).replace(/[。.!!\s]+$/gu,"").replace(/(?:中|完成|失败|已完成|进行中|\.\.\.|…)+$/gu,"").replace(/[。.!!\s]+$/gu,"").trim()}function hu(e){const r=Wa(e.content);return/^加载语义上下文(?:中|完成)?(?:\.{3}|…)?$/u.test(r)||/^已加载语义上下文/u.test(r)}function gu(e){const r=Wa(e.content);return/^执行\s*(?:SQL\s*)?查询(?:中|完成)?(?:\.{3}|…)?$/u.test(r)}function yu(e){if(!e.loading)return!1;const r=Wa(e.content);return/^我在(?:查找|检查)/u.test(r)||/^(?:已找到语义候选|语义候选已找到)/u.test(r)||/^(?:我会先确认|业务口径确认中|查询可执行性检查中)/u.test(r)}function yi(e){var _;const r=e.map(E=>({...E,content:Wa(E.content)})),o=r.some(E=>E.content.startsWith("匹配本体:")),c=r.some(E=>E.content.startsWith("执行查询:")),d=r.filter(E=>!(o&&hu(E)||c&&gu(E)&&!E.detail||c&&yu(E))),u=[],y=new Set;for(let E=d.length-1;E>=0;E-=1){const R=d[E],U=(_=R.processInvocations)!=null&&_.length?`process:${R.id}`:pu(R.content);U&&y.has(U)||(U&&y.add(U),u.unshift(R))}return u}function bu(e){return yi(e)}const ku=/^workbench-turn-(.+?)-item(?:-|$)/u,_u=/^#{1,3}\s+.+(?:todo|待办|计划).*/iu,Cu=/^#{2,4}\s+(?:第?\s*\d+\s*[.、::))]?\s*)?(.+?)\s*$/u,Su=/^#{1,3}\s+(?:推荐下一步|下一步|补充说明|注意事项|说明|总结)\s*$/u;function bi(e){return e.role==="status"&&/^workbench-turn-.+?-item(?:-|$)/u.test(e.id)&&!e.thinkingProcess&&!e.markThinking&&e.content.trim().length>0}function Au(e){const r=e.id.match(ku);return r!=null&&r[1]?`workbench-turn-${r[1]}`:e.id}function wu(e){const r=e.map(o=>o.startTime).filter(o=>typeof o=="number"&&Number.isFinite(o));return r.length>0?Math.min(...r):void 0}function Tu(e){const r=e.map(o=>o.endTime).filter(o=>typeof o=="number"&&Number.isFinite(o));return r.length>0?Math.max(...r):void 0}function Eu(e){return e.error?"error":e.loading?"running":"done"}function xu(e){return{id:e.id,title:e.content.trim(),status:Eu(e),source:"workbench-status",...e.detail?{detail:e.detail}:{},...e.error?{error:e.error}:{},...typeof e.startTime=="number"?{startedAt:e.startTime}:{},...typeof e.endTime=="number"?{endedAt:e.endTime}:{}}}function ki(e){if(e.role!=="assistant")return!1;const r=e.content.trim();return r.length>0&&/(?:todo|待办|分步\s*Todo\s*计划)/iu.test(r)}function Bu(e){return e.replace(/^第?\s*\d+\s*[.、::))]?\s*/u,"").replace(/\s+$/u,"").trim()}function Iu(e){var _,E;if(!ki(e))return null;const r=e.content.split(/\r?\n/u),o=[];let c=!1,d=null,u=[];function y(){if(!d)return;const R=u.join(`
13
- `).trim();o.push({...d,...R?{detail:R}:{}}),d=null,u=[]}for(const R of r){const U=R.trim();if(!c){c=_u.test(U);continue}if(Su.test(U)){y();break}const z=U.match(Cu),C=((E=(_=U.match(/^(#+)\s+/u))==null?void 0:_[1])==null?void 0:E.length)??0;if(z&&C>=3){y();const B=Bu(z[1]||"");B&&(d={id:`${e.id}-todo-${o.length+1}`,title:B,status:"pending",source:"assistant-markdown"});continue}d&&R.trim().length>0&&u.push(R.trimEnd())}return y(),o.length===0?null:{id:`${e.id}-todo-plan`,title:"Todo 计划",mode:"todo",steps:o,active:!1,failed:!1,claimedStatusMessageIds:[]}}function Ru(e){const r=gi(e).filter(o=>o.type==="tool-activity").map(o=>o.messages.filter(bi)).filter(o=>o.length>0);return r[r.length-1]??[]}function vu(e){return[...e].reverse().find(ki)??null}function Du(e){const r=Ru(e);if(r.length===0){const _=vu(e);return _?Iu(_):null}const c=yi(r).filter(bi).map(xu);if(c.length===0)return null;const d=c.some(_=>_.status==="error"),u=!d&&c.some(_=>_.status==="running");return{id:`${Au(r[0])}-todo-plan`,title:d?"执行失败":u?"执行进度":"已完成",mode:"activity",steps:c,active:u,failed:d,claimedStatusMessageIds:r.map(_=>_.id),startedAt:wu(r),endedAt:u?void 0:Tu(r)}}const _i=/📌\s*口径说明|口径说明\s*[::]/u;function Ci(e){return e.trim().replace(/^#{1,6}\s*/u,"").replace(/^[-*+]\s+/u,"").replace(/^>\s*/u,"").replace(/^\*\*(.*?)\*\*$/u,"$1").replace(/^__(.*?)__$/u,"$1").replace(/^`(.*?)`$/u,"$1").trim()}function Si(e){const r=Ci(e);return/^(?:生成的?\s*)?SQL(?:\s*语句|\s*详情)?\s*[::]?\s*$/iu.test(r)||/^生成的?\s*SQL\s*[::]?\s*$/iu.test(r)}function Nu(e){return/^#{1,6}\s+\S/u.test(e.trim())}function Lu(e){const r=e.split(/\r?\n/u),o=[];let c=!1;for(let d=0;d<r.length;d+=1){const u=r[d],y=u.trim();if(c){Nu(u)&&!Si(u)&&(c=!1,o.push(u));continue}if(Si(u)){c=!0;continue}if(/^(?:生成的?\s*)?SQL(?:\s*语句)?\s*[::]\s*$/iu.test(Ci(y))){c=!0;continue}if(/^```sql\s*$/iu.test(y)){for(;d+1<r.length&&!/^```\s*$/u.test(r[d+1].trim());)d+=1;d+1<r.length&&(d+=1);continue}o.push(u)}return o.join(`
11
+ `):L=O.content.filter(Ie=>Ie.type==="text").map(Ie=>Ie.text||"").join(""):Array.isArray(O.parts)&&(L=O.parts.filter(Ie=>Ie.type==="text").map(Ie=>Ie.text||"").join(""));const j={id:K(O.id)||Bn(),role:O.role==="user"?"user":"assistant",content:jd(L),timestamp:K(O.timestamp)||In()},se=ei(O.attachments,!0);se.length>0&&(j.attachments=se),O.conclusion===!0&&(j.conclusion=!0);const Ce=K(O.workbenchTurnId);Ce&&(j.workbenchTurnId=Ce),e.enableChartCards&&O.conclusion===!0&&Array.isArray(O.cards)&&(j.cards=O.cards);const Se=oi(O.taskStateDraft);Se&&(j.taskStateDraft=Se);const Me=ks(O.queryResultTable);Me&&(j.queryResultTable=Me);const Qe=ti(O.queryResultTables);return Qe.length>0&&(j.queryResultTables=Qe),Sr(j),he(j),j}).filter(O=>{var L,j,se;return O.content.trim()!==""||!!((L=O.cards)!=null&&L.length)||!!((j=O.attachments)!=null&&j.length)||!!O.taskStateDraft||!!O.queryResultTable||!!((se=O.queryResultTables)!=null&&se.length)})),I.historyLoaded=!0,o.value===v&&(Y.value=I.messages),(G=e.onHistoryLoaded)==null||G.call(e,v)}catch(T){ae(T)}}async function At(v,I={}){const G=v.trim();if(!G)return;const T=a.value.find(L=>L.id===o.value)??null;if(o.value===G&&ye(T))return;const Q=o.value;o.value=G,!I.silent&&Q!==G&&ie(G,a.value.find(L=>L.id===G)??null);const te=a.value.find(L=>L.id===G)??null;!ye(te)&&!I.silent&&(u.value=!0);try{await St(G)}finally{u.value=!1}}async function je(){var Q;dt();const v=new Date().toISOString(),I=(Q=_n(e.chatMode))==null?void 0:Q.trim(),G=Zo(),T={id:G,clientDraftId:G,title:"新对话",messages:[],persisted:!1,chatMode:I||void 0,createdAt:v,updatedAt:v};return a.value.unshift(T),o.value=T.id,ie(T.id,T),T.id}function lt(v,I){const G=I.trim();if(!G||v.threadId===G)return;const T=v.id;v.id=G,v.threadId=G,v.persisted=!0,(o.value===T||o.value===v.clientDraftId)&&(o.value=G,ie(G,v));const Q=a.value.findIndex(te=>te!==v&&te.id===G);Q>=0&&a.value.splice(Q,1)}async function Pt(v){const I=a.value.findIndex(Q=>Q.id===v);if(I===-1)return;const G=a.value[I],T=o.value===v;if(a.value.splice(I,1),a.value.length===0)await je();else if(T){const Q=a.value[I]??a.value[I-1]??a.value[0];await At(Q.id)}try{G.persisted!==!1&&await ne(`/chat/${v}`,{method:"DELETE"})}catch{}}async function Tt(){var Q;const v=[...a.value],I=Zo(),G=(Q=_n(e.chatMode))==null?void 0:Q.trim(),T={id:I,clientDraftId:I,title:"新对话",messages:[],persisted:!1,chatMode:G||void 0};dt(),a.value=[T],o.value=I,Y.value=T.messages,ie(I,T),await Promise.all(v.map(async te=>{try{te.persisted!==!1&&await ne(`/chat/${te.id}`,{method:"DELETE"})}catch{}}))}async function rt(v,I){const G=a.value.find(Q=>Q.id===v);G&&(G.title=I);const T=He();try{(await ne(`/chat/${v}/title`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:I,...T?{trace_id:T}:{}})})).ok&&G&&(G.persisted=!0)}catch{}}async function Ut(){const v=H.value;if(!(!v||c.value||y.value)){y.value=!0;try{const I=await ne(`/chat/${v.id}/compact`,{method:"POST"});if(!I.ok){ae(new Error(`压缩上下文失败: ${I.status}`));return}await _s(I)}catch(I){ae(I)}finally{y.value=!1}}}function Te(v){return v.messages.filter(I=>I.role!=="status").map(I=>{var se,Ce;const G=oi(I.taskStateDraft),T=ks(I.queryResultTable),Q=ti(I.queryResultTables),te=Fn(I),O=ei(I.attachments),L={content:I.content,queryResultTable:T??void 0,queryResultTables:Q.length>0?Q:void 0};return Sr(L),{id:I.id,role:I.role==="user"?"user":"assistant",content:I.content,timestamp:I.timestamp,...I.conclusion===!0?{conclusion:!0}:{},...te?{workbenchTurnId:te}:{},...O.length>0?{attachments:O}:{},...(se=I.cards)!=null&&se.length?{cards:I.cards}:{},...(Ce=L.queryResultTables)!=null&&Ce.length?{queryResultTables:L.queryResultTables}:L.queryResultTable?{queryResultTable:L.queryResultTable}:{},...G?{taskStateDraft:G}:{}}}).filter(I=>{var G,T,Q;return(typeof I.content=="string"?I.content.trim()!=="":Array.isArray(I.content)&&I.content.length>0)||!!((G=I.cards)!=null&&G.length)||!!((T=I.attachments)!=null&&T.length)||!!I.queryResultTable||!!((Q=I.queryResultTables)!=null&&Q.length)||!!I.taskStateDraft})}async function Vt(v){var Q,te;if(!v.threadId)return;const I=Te(v);if(I.length===0)return;const G=(Q=_n(e.chatMode))==null?void 0:Q.trim(),T=(te=_n(e.workspaceId))==null?void 0:te.trim();try{const O=await ne(`/chat/${v.threadId}/history`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:v.title,...G?{chatMode:G}:{},...T?{workspaceId:T}:{},messages:I})});if(!O.ok){ae(new Error(`保存会话历史失败: ${O.status}`));return}v.persisted=!0}catch(O){ae(O)}}function Le(v){if(!v)return;const I=Y.value.findIndex(L=>L.id===v.id);if(I<0)return;const G=Y.value[I],T=$n(G),Q=T&&cn(G,T)?Y.value.filter(L=>L.id!==G.id&&!!L.cardRecommendationDraft&&ea(Y.value,L)===T):[];if(I>=Y.value.length-1&&Q.length===0)return;const te=new Set([G.id,...Q.map(L=>L.id)]),O=Y.value.filter(L=>!te.has(L.id));Y.value.splice(0,Y.value.length,...O,G,...Q)}function dt(){U.value&&(U.value.abort(),U.value=null)}async function Be(v,I={}){var Cn,Dn,Sn;const G=H.value;if(!G){console.error("[useChat] No active conversation");return}const T=G,Q={id:Bn(),role:"user",content:v,timestamp:In(),...(Cn=I.attachments)!=null&&Cn.length?{attachments:I.attachments}:{}};T.messages.push(Q),T.messages.filter(J=>J.role==="user").length===1&&(T.title=ai(v)),c.value=!0;const te=new AbortController;U.value=te;let O=null,L=null,j=null,se=null,Ce=null,Se="",Me=null;const Qe=16,Ie=25,st=Qe*3;let Re={},ft=null,C=[];const q=new Map,re=new Map;function ee(J){_.value=(J==null?void 0:J.id)??null}function ge(){we(),Ce=setTimeout(()=>{se||ht()},2e3)}function we(){Ce&&(clearTimeout(Ce),Ce=null)}function Ge(){Me||!O||Se.length===0||(Me=setTimeout(()=>{if(Me=null,O&&Se.length>0){const J=Se.slice(0,Qe);Se=Se.slice(Qe),O.content+=J,Se.length>0&&Ge()}},Ie))}function et(){Me&&(clearTimeout(Me),Me=null),O&&Se.length>0&&(O.content+=Se,Se="")}function It(J=!1){const de={id:Bn(),role:"assistant",content:"",loading:!0,streaming:!0,conclusion:J,timestamp:In()};return T.messages.push(de),ee(T.messages[T.messages.length-1]),T.messages[T.messages.length-1]}function pt(J){const de={id:Bn(),role:"status",content:J,loading:!0,timestamp:In(),startTime:Date.now()};return T.messages.push(de),T.messages[T.messages.length-1]}function f(J){if(!J||!J.loading)return;const de=Date.now(),Oe=typeof J.startTime=="number"?de-J.startTime:0;J.content+=`完成${Oe>0?`,用时 ${Tr(Oe)}`:""}`,J.endTime=de,J.loading=!1}function b(J,de){const Oe={id:Bn(),role:"status",content:J,error:J,detail:de,loading:!1,timestamp:In()};return T.messages.push(Oe),T.messages[T.messages.length-1]}const x=new Map;function X(J){if(!J.cardRecommendationDraft)return!1;const de=ea(T.messages,J);if(!de||T.messages.some(qe=>cn(qe,de)))return!1;const Oe=gs(J)||J.id,De=x.get(Oe);return x.set(Oe,De?{...De,...J,timestamp:J.timestamp||De.timestamp}:J),!0}function ke(J){const de=$n(J);if(!de||!cn(J,de))return!1;const Oe=[...x.entries()].filter(([,qe])=>ea(T.messages,qe)===de);if(Oe.length===0||T.messages.findIndex(qe=>qe.id===J.id)<0)return!1;for(const[qe]of Oe)x.delete(qe);for(const[,qe]of Oe){if(qa(T.messages,qe))continue;ta(T.messages,qe),ba(T.messages,qe);const Ke=T.messages.findIndex(Ze=>Ze.id===J.id);Ke<0||(T.messages.splice(Ke+1,0,qe),Vn(T.messages))}return!0}function ve(J){if(J.removeThinking&&Je(),J.markThinking)return ht(),se||T.messages[T.messages.length-1];se!=null&&se.initialEventsPending&&Je();const de={...J,id:J.id||Bn(),timestamp:J.timestamp||In()};if(X(de))return de;const Oe=T.messages.findIndex(Ke=>Ke.id===de.id);if(Oe>=0){T.messages[Oe]={...T.messages[Oe],...de,timestamp:de.timestamp||T.messages[Oe].timestamp};const Ke=T.messages[Oe];if(ta(T.messages,Ke),qa(T.messages,Ke)){const Ze=T.messages.findIndex(zt=>zt.id===Ke.id);return Ze>=0&&T.messages.splice(Ze,1),Ke}return ba(T.messages,Ke),Vn(T.messages),ke(Ke),ga(T.messages,Ke),Ke}const De=se?T.messages.findIndex(Ke=>Ke.id===(se==null?void 0:se.id)):-1;if(de.cardRecommendationDraft){if(ta(T.messages,de),qa(T.messages,de))return de;if(ba(T.messages,de),Qo(T.messages,de))return Vn(T.messages),de}if(De>=0){ta(T.messages,de),T.messages.splice(De,0,de);const Ke=T.messages[De];return ke(Ke),ga(T.messages,Ke),Vn(T.messages),Ke}ta(T.messages,de),T.messages.push(de);const qe=T.messages[T.messages.length-1];return ke(qe),ga(T.messages,qe),Vn(T.messages),qe}function ot(J){var Oe;const de=J.errorText||J.delta||"";if(!de)return{summary:"请求失败"};try{const De=JSON.parse(de);return{summary:(De==null?void 0:De.errorText)||(De==null?void 0:De.message)||((Oe=De==null?void 0:De.error)==null?void 0:Oe.message)||"请求失败",detail:typeof De=="string"?De:JSON.stringify(De,null,2)}}catch{return{summary:de,detail:de}}}function Rt(J){if(!J)return;const de=T.messages.findIndex(Oe=>Oe.id===J.id);de!==-1&&T.messages.splice(de,1)}function ht(J=!1){Je();const de={id:Bn(),role:"status",content:"思考中...",loading:!0,...J?{initialEventsPending:!0}:{},timestamp:In()};T.messages.push(de),se=T.messages[T.messages.length-1]}function Je(){Rt(se),se=null}function vt(){Rt(O),O=null,ee(null)}function Yt(){Rt(L),L=null,j=null}function tt(){(j==null?void 0:j.kind)==="tool"&&f(L),L=null,j=null}function Jt(){T.messages.forEach(J=>{J.role==="status"&&J.loading&&J!==se&&f(J)})}function jn(J){if(!J)return!1;if(L&&(j==null?void 0:j.kind)==="tool"&&j.name===J)return f(L),L=null,j=null,!0;const de=[...T.messages].reverse().find(Oe=>su(Oe,J));return de?(f(de),(L==null?void 0:L.id)===de.id&&(L=null,j=null),!0):!1}function mn(){var J;Je(),O&&(O.content.trim()===""&&!((J=O.cards)!=null&&J.length)?vt():(O.loading=!1,O.streaming=!1,he(O,ft,C,v),O=null,ee(null))),tt(),Jt()}ht(!0);async function vn(J){var qe,Ke,Ze,zt,en,Nn,Ln;const de=J.getReader(),Oe=new TextDecoder;let De="";for(;;){const{done:Ht,value:tn}=await de.read();if(Ht)break;De+=Oe.decode(tn,{stream:!0});const fe=De.split(`
12
+ `);De=fe.pop()||"";for(const k of fe){const P=k.trim();if(!P)continue;const N=Xo(P);if(N)switch(se!=null&&se.initialEventsPending&&Je(),N.type){case"start-step":et(),Je(),O=It(N.conclusion===!0||N.kind==="conclusion");break;case"text-delta":if(Je(),Jt(),O){O.loading=!1,O.streaming=!0;const me=N.delta||"";me.length>st?(Se+=me,Ge()):O.content+=me}ge();break;case"text-end":we(),ge();break;case"finish-step":{et(),we(),Jt(),O&&O.content.trim()===""&&!((qe=O.cards)!=null&&qe.length)?vt():O&&(O.loading=!1,O.streaming=!1,he(O,ft,C,v),O=null,ee(null)),ge();break}case"tool-input-start":{if(typeof N.toolCallId=="string"&&typeof N.toolName=="string"&&q.set(N.toolCallId,N.toolName),(j==null?void 0:j.kind)==="subagent")break;Je(),O&&O.content.trim()===""&&!((Ke=O.cards)!=null&&Ke.length)&&vt(),tt();const me=ws(N.toolName);L=pt(me),j={kind:"tool",name:N.toolName};break}case"tool-input-available":{const me=N.toolName||(typeof N.toolCallId=="string"?q.get(N.toolCallId):void 0)||(j==null?void 0:j.name);if(typeof N.toolCallId=="string"&&me&&q.set(N.toolCallId,me),me==="execute_sql_api"&&typeof N.toolCallId=="string"){const be=Jd(N.input,Re,v);be&&re.set(N.toolCallId,be)}break}case"tool-output-available":{const me=N.toolName||(typeof N.toolCallId=="string"?q.get(N.toolCallId):void 0)||(j==null?void 0:j.name);if(me&&qd.has(me)){const be=Kd(N.output??N.delta??N.result);Re=Yd(Re,ii(N.output??N.delta??N.result)),be&&L&&(L.detail=be)}if(me==="execute_sql_api"&&typeof N.toolCallId=="string"){const be=Zd(N.output??N.delta??N.result);if(be){const Ee=re.get(N.toolCallId);Ee&&(ft=Ee,C=be)}}if(e.enableChartCards&&(me==="generate_chart"||me==="execute_metric_api")){if(me==="execute_metric_api"){const Ee=sd(N.output??N.delta??N.result);Ee&&(R.value=Ee)}const be=od(N.output??N.delta??N.result);if(be){me==="generate_chart"&&(R.value=null);const Ee=mi(be,ft,C);E.value=Ee}}if(!(me&&jn(me))){if(L&&(j==null?void 0:j.kind)==="tool"){if(j.name==="task")Yt();else if(L.startTime){const be=Date.now(),Ee=be-L.startTime;L.content+=`完成,用时 ${Tr(Ee)}`,L.endTime=be,L.loading=!1,L=null,j=null}}}Jt(),ht();break}case"tool-output-error":{if(L&&(j==null?void 0:j.kind)==="tool"){if(j.name==="task")Yt();else if(L.startTime){const me=Date.now(),be=me-L.startTime;L.content+=`失败,用时 ${Tr(be)}`,L.endTime=me;const Ee=N.output||N.delta||"";try{const it=JSON.parse(Ee);L.error=it.error||it.message||Ee,L.detail=it.detail||it.details||it.reason}catch{L.error=Ee||"未知错误"}L.loading=!1,L=null,j=null}}ht();break}case"data-oh:subagent.start":{if(Je(),(j==null?void 0:j.kind)==="tool"&&j.name!=="task")break;Yt();const me=((Ze=N.data)==null?void 0:Ze.agentName)||"",be=`执行${ou(me)}`;L=pt(be),j={kind:"subagent",name:me,taskId:(zt=N.data)==null?void 0:zt.taskId},(en=N.data)!=null&&en.task&&(L.detail=N.data.task);break}case"data-oh:subagent.done":{const me=((Nn=N.data)==null?void 0:Nn.agentName)||"",be=(Ln=N.data)==null?void 0:Ln.taskId,Ee=(j==null?void 0:j.kind)==="subagent"&&(be&&j.taskId===be||me&&j.name===me||!be&&!me);if(L&&Ee)if(L.startTime){const it=Date.now(),Mt=it-L.startTime;L.content+=`完成,用时 ${Tr(Mt)}`,L.endTime=it,L.loading=!1,L=null,j=null}else Yt();Je();break}case"error":{we(),mn();const{summary:me,detail:be}=ot(N);b(me,be),ae(new Error(me));break}}}}if(De.trim()){const Ht=Xo(De.trim());Ht&&(se!=null&&se.initialEventsPending)&&Je(),(Ht==null?void 0:Ht.type)==="text-delta"&&O&&(O.loading=!1,O.streaming=!0,O.content+=Ht.delta)}}if(e.transport){let J=T.threadId||"";try{const de=He(),Oe=B(),De=Md(e.businessGroup),qe=(Dn=_n(e.chatMode))==null?void 0:Dn.trim(),Ke=_n(e.workspaceId),Ze=_n(e.userId),zt=await e.transport({appendMessage:ve,consumeAssistantStream:vn,moveMessageToEnd:Le,assistantPersona:Oe,businessGroup:De,chatMode:qe||void 0,threadId:T.threadId,clientDraftId:T.clientDraftId,onThreadReady:en=>{lt(T,en),J=T.threadId||en.trim()},...(Sn=I.attachments)!=null&&Sn.length?{attachments:I.attachments}:{},input:v,messages:T.messages.filter($o),...I.quickEntry?{quickEntry:I.quickEntry}:{},traceId:de||void 0,userId:Ze,workspaceId:Ke,signal:te.signal});zt&&typeof zt=="object"&&zt.threadId&&(lt(T,zt.threadId),J=T.threadId||zt.threadId.trim())}catch(de){mn(),de.name!=="AbortError"&&(b(`请求异常: ${ni(de)}`),ae(de))}finally{we(),mn(),(J||T.threadId)&&await Vt(T),c.value=!1,U.value=null,_.value=null}return}try{const J=new Error("当前 ai-chat 未配置运行态 transport;根 POST /chat 已删除,请接入 /fde-core transport。");mn(),b(J.message),ae(J)}catch(J){mn(),J.name!=="AbortError"&&(b(`请求异常: ${ni(J)}`),ae(J))}finally{we(),c.value=!1,U.value=null,_.value=null}}return je(),e.autoLoadConversations!==!1&&at(),n.watch(()=>F(),async v=>{if(!v)return;const I=a.value.some(G=>G.id===v);!I&&!z&&e.autoLoadConversations!==!1||I&&await At(v,{silent:!0})}),{conversations:a,currentConversationId:o,messages:Y,contextUsage:xe,isLoading:c,isLoadingConversations:d,isSwitchingConversation:u,isCompacting:y,streamingMessageId:_,latestChartCard:E,latestMetricCard:R,assignWorkbenchTurnIds:ce,appendMessage:ue,replaceWorkbenchTurnAnswer:Pe,sendMessage:Be,abortStream:dt,compactContext:Ut,createConversation:je,loadConversations:at,deleteConversation:Pt,clearConversations:Tt,renameConversation:rt,switchConversation:At,loadHistory:St,moveMessageToEnd:Le}}const pi=Symbol("FSES_AI_CHAT_CONFIG_KEY"),hi=Symbol("SYSTEM_ECHARTS_TEMPLATE_CDN_BASE_URL_KEY"),cu={install(e,a){e.provide(pi,a),e.component("FsesAiChat",Vs)}};function lu(){return n.inject(pi,null)}function gi(e){const a=_t(e);return du(a)?mu(Ua(a.dataBinding),Ua(_t(a.queryResult).dataBinding),Ua(_t(_t(a.queryResult).metadata).dataBinding),Ua(_t(_t(a.blockPlan).data).dataBinding),Ua(_t(_t(a.blockPlan).meta).dataBinding),uu(a.assetRefs),_a(_t(a.queryResult).sourceLabel),_a(a.sourceLabel)):""}function du(e){const a=_t(e.queryResult),o=[_t(e.dataBinding),_t(a.dataBinding),_t(_t(a.metadata).dataBinding),_t(_t(e.blockPlan).data).dataBinding,_t(_t(e.blockPlan).meta).dataBinding].map(_t);return e.source==="metric"||a.source==="runtime_metric"||o.some(c=>c.source==="runtime_metric"||c.bindingKind==="runtime_metric")}function Ua(e){const a=_t(e);return _a(a.metricName)||_a(a.metric_name)}function uu(e){if(!Array.isArray(e))return"";for(const a of e){const o=_t(a);if(o.type!=="metric"&&o.type!=="metric_detail")continue;const c=_a(o.label);if(c)return c}return""}function mu(...e){for(const a of e){const o=_a(a);if(o)return o}return""}function _t(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function _a(e){return typeof e=="string"&&e.trim()?e.trim():""}function fu(e){return e.role==="status"&&!!e.thinkingProcess}function pu(e){return e.role==="assistant"&&!!e.loading&&!e.content.trim()}function hu(e){return e.role==="assistant"&&(!!e.loading||!!e.streaming)}function gu(e){var a,o;return e.role==="assistant"&&!e.loading&&!e.streaming&&!e.content.trim()&&!((a=e.attachments)!=null&&a.length)&&!((o=e.cards)!=null&&o.length)&&!e.planDraft&&!e.cardRecommendationDraft&&!e.registeredCardInsertDraft&&!e.memoryCaptureDraft&&!e.taskStateDraft}function yi(e,a={}){const o=[];let c=[],d=[],u=[],y=!1,_=!1;const E=a.hiddenStatusMessageIds??new Set;function R(B=!1){if(c.length===0)return;const F=c.filter(H=>!E.has(H.id));F.length>0&&o.push({type:"tool-activity",messages:F,...B?{turnActive:!0}:{}}),c=[]}function U(B){if(d.length===0||B.role!=="assistant")return B;const F=[...B.thinkingProcessMessages||[],...d];return d=[],{...B,thinkingProcessMessages:F}}function z(){var Y,xe;if(d.length===0)return;const B=d;d=[];const F=B.some(ie=>ie.loading);if(!F&&_)return;const H=F||y;!H&&!B.some(ie=>ie.content.trim())||o.push({type:"assistant",message:{id:`${((Y=B[0])==null?void 0:Y.id)||"thinking-process"}-assistant`,role:"assistant",content:"",loading:H,streaming:H,thinkingProcessMessages:B,timestamp:((xe=B[0])==null?void 0:xe.timestamp)||""}})}function S(){u.length!==0&&(u.forEach(B=>o.push({type:"assistant",message:U(B)})),u=[])}for(const B of e){if(fu(B)){d.push(B);continue}if(B.role==="status"){c.push(B);continue}if(gu(B)){u.push(B);continue}R(hu(B)),S(),B.role==="user"?(o.push({type:"user",message:B}),y=!0,_=!1):pu(B)?o.push({type:"thinking",message:B}):(o.push({type:"assistant",message:U(B)}),_=!0)}return R(),S(),z(),o}function Wa(e){return e.replace(/(完成|失败),用时\s*\d+(?:\.\d+)?(?:ms|s|m|秒|毫秒)\s*$/u,"$1").trim()}function yu(e){return Wa(e).replace(/[。.!!\s]+$/gu,"").replace(/(?:中|完成|失败|已完成|进行中|\.\.\.|…)+$/gu,"").replace(/[。.!!\s]+$/gu,"").trim()}function bu(e){const a=Wa(e.content);return/^加载语义上下文(?:中|完成)?(?:\.{3}|…)?$/u.test(a)||/^已加载语义上下文/u.test(a)}function ku(e){const a=Wa(e.content);return/^执行\s*(?:SQL\s*)?查询(?:中|完成)?(?:\.{3}|…)?$/u.test(a)}function _u(e){if(!e.loading)return!1;const a=Wa(e.content);return/^我在(?:查找|检查)/u.test(a)||/^(?:已找到语义候选|语义候选已找到)/u.test(a)||/^(?:我会先确认|业务口径确认中|查询可执行性检查中)/u.test(a)}function bi(e){var _;const a=e.map(E=>({...E,content:Wa(E.content)})),o=a.some(E=>E.content.startsWith("匹配本体:")),c=a.some(E=>E.content.startsWith("执行查询:")),d=a.filter(E=>!(o&&bu(E)||c&&ku(E)&&!E.detail||c&&_u(E))),u=[],y=new Set;for(let E=d.length-1;E>=0;E-=1){const R=d[E],U=(_=R.processInvocations)!=null&&_.length?`process:${R.id}`:yu(R.content);U&&y.has(U)||(U&&y.add(U),u.unshift(R))}return u}function Cu(e){return bi(e)}const Su=/^workbench-turn-(.+?)-item(?:-|$)/u,Au=/^#{1,3}\s+.+(?:todo|待办|计划).*/iu,wu=/^#{2,4}\s+(?:第?\s*\d+\s*[.、::))]?\s*)?(.+?)\s*$/u,Tu=/^#{1,3}\s+(?:推荐下一步|下一步|补充说明|注意事项|说明|总结)\s*$/u;function ki(e){return e.role==="status"&&/^workbench-turn-.+?-item(?:-|$)/u.test(e.id)&&!e.thinkingProcess&&!e.markThinking&&e.content.trim().length>0}function Eu(e){const a=e.id.match(Su);return a!=null&&a[1]?`workbench-turn-${a[1]}`:e.id}function xu(e){const a=e.map(o=>o.startTime).filter(o=>typeof o=="number"&&Number.isFinite(o));return a.length>0?Math.min(...a):void 0}function Bu(e){const a=e.map(o=>o.endTime).filter(o=>typeof o=="number"&&Number.isFinite(o));return a.length>0?Math.max(...a):void 0}function Iu(e){return e.error?"error":e.loading?"running":"done"}function Ru(e){return{id:e.id,title:e.content.trim(),status:Iu(e),source:"workbench-status",...e.detail?{detail:e.detail}:{},...e.error?{error:e.error}:{},...typeof e.startTime=="number"?{startedAt:e.startTime}:{},...typeof e.endTime=="number"?{endedAt:e.endTime}:{}}}function _i(e){if(e.role!=="assistant")return!1;const a=e.content.trim();return a.length>0&&/(?:todo|待办|分步\s*Todo\s*计划)/iu.test(a)}function vu(e){return e.replace(/^第?\s*\d+\s*[.、::))]?\s*/u,"").replace(/\s+$/u,"").trim()}function Du(e){var _,E;if(!_i(e))return null;const a=e.content.split(/\r?\n/u),o=[];let c=!1,d=null,u=[];function y(){if(!d)return;const R=u.join(`
13
+ `).trim();o.push({...d,...R?{detail:R}:{}}),d=null,u=[]}for(const R of a){const U=R.trim();if(!c){c=Au.test(U);continue}if(Tu.test(U)){y();break}const z=U.match(wu),S=((E=(_=U.match(/^(#+)\s+/u))==null?void 0:_[1])==null?void 0:E.length)??0;if(z&&S>=3){y();const B=vu(z[1]||"");B&&(d={id:`${e.id}-todo-${o.length+1}`,title:B,status:"pending",source:"assistant-markdown"});continue}d&&R.trim().length>0&&u.push(R.trimEnd())}return y(),o.length===0?null:{id:`${e.id}-todo-plan`,title:"Todo 计划",mode:"todo",steps:o,active:!1,failed:!1,claimedStatusMessageIds:[]}}function Nu(e){const a=yi(e).filter(o=>o.type==="tool-activity").map(o=>o.messages.filter(ki)).filter(o=>o.length>0);return a[a.length-1]??[]}function Lu(e){return[...e].reverse().find(_i)??null}function Pu(e){const a=Nu(e);if(a.length===0){const _=Lu(e);return _?Du(_):null}const c=bi(a).filter(ki).map(Ru);if(c.length===0)return null;const d=c.some(_=>_.status==="error"),u=!d&&c.some(_=>_.status==="running");return{id:`${Eu(a[0])}-todo-plan`,title:d?"执行失败":u?"执行进度":"已完成",mode:"activity",steps:c,active:u,failed:d,claimedStatusMessageIds:a.map(_=>_.id),startedAt:xu(a),endedAt:u?void 0:Bu(a)}}const Ci=/📌\s*口径说明|口径说明\s*[::]/u;function Si(e){return e.trim().replace(/^#{1,6}\s*/u,"").replace(/^[-*+]\s+/u,"").replace(/^>\s*/u,"").replace(/^\*\*(.*?)\*\*$/u,"$1").replace(/^__(.*?)__$/u,"$1").replace(/^`(.*?)`$/u,"$1").trim()}function Ai(e){const a=Si(e);return/^(?:生成的?\s*)?SQL(?:\s*语句|\s*详情)?\s*[::]?\s*$/iu.test(a)||/^生成的?\s*SQL\s*[::]?\s*$/iu.test(a)}function Mu(e){return/^#{1,6}\s+\S/u.test(e.trim())}function Ou(e){const a=e.split(/\r?\n/u),o=[];let c=!1;for(let d=0;d<a.length;d+=1){const u=a[d],y=u.trim();if(c){Mu(u)&&!Ai(u)&&(c=!1,o.push(u));continue}if(Ai(u)){c=!0;continue}if(/^(?:生成的?\s*)?SQL(?:\s*语句)?\s*[::]\s*$/iu.test(Si(y))){c=!0;continue}if(/^```sql\s*$/iu.test(y)){for(;d+1<a.length&&!/^```\s*$/u.test(a[d+1].trim());)d+=1;d+1<a.length&&(d+=1);continue}o.push(u)}return o.join(`
14
14
  `).replace(/\n{3,}/gu,`
15
15
 
16
- `).trim()}function Pu(e){return e.replace(/^\s*(?:[\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}]\uFE0F?)\s*(?:\r?\n)+/u,"").trim()}function Mu(e){return/^\|?(?:\s*:?-{3,}:?\s*\|)+\s*:?-{3,}:?\s*\|?\s*$/u.test(e.trim())}function Ai(e){const r=e.trim(),o=r.startsWith("|")?r.slice(1):r;return(o.endsWith("|")?o.slice(0,-1):o).split("|").map(d=>d.trim())}function Ou(e){return`|${e.join("|")}|`}function Fu(e){const r=e.split(/\r?\n/u);return r.map((o,c)=>{if(!Mu(o)||c===0)return o;const d=r[c-1];if(!/^\s*\|.*\|\s*$/u.test(d))return o;const u=Ai(d);if(u.length===0)return o;const y=Ai(o);if(y.length===u.length)return o;const _=[...y];if(_.length>u.length)_.length=u.length;else for(;_.length<u.length;)_.push("---");return Ou(_)}).join(`
17
- `)}function $u(e){const r=e.split(/\r?\n/u),o=[];let c=!1,d=[],u=[];for(const y of r){const _=y.trim(),E=/^\|.*\|$/.test(_),R=/^\|[\s:-]+\|$/.test(_);if(E||R)if(c||(c=!0,d=[]),E&&_i.test(_)){const z=_.split("|").map(C=>C.trim()).filter(Boolean).filter(C=>!_i.test(C)).join(",").trim();z&&u.push(z)}else d.push(y);else{if(c){o.push(...d);for(const U of u)o.push("","### 📌 口径说明","",U);u=[],d=[],c=!1}o.push(y)}}if(c){o.push(...d);for(const y of u)o.push("","### 📌 口径说明","",y)}return o.join(`
16
+ `).trim()}function Fu(e){return e.replace(/^\s*(?:[\u{1F300}-\u{1FAFF}\u{2600}-\u{27BF}]\uFE0F?)\s*(?:\r?\n)+/u,"").trim()}function $u(e){return/^\|?(?:\s*:?-{3,}:?\s*\|)+\s*:?-{3,}:?\s*\|?\s*$/u.test(e.trim())}function wi(e){const a=e.trim(),o=a.startsWith("|")?a.slice(1):a;return(o.endsWith("|")?o.slice(0,-1):o).split("|").map(d=>d.trim())}function Vu(e){return`|${e.join("|")}|`}function zu(e){const a=e.split(/\r?\n/u);return a.map((o,c)=>{if(!$u(o)||c===0)return o;const d=a[c-1];if(!/^\s*\|.*\|\s*$/u.test(d))return o;const u=wi(d);if(u.length===0)return o;const y=wi(o);if(y.length===u.length)return o;const _=[...y];if(_.length>u.length)_.length=u.length;else for(;_.length<u.length;)_.push("---");return Vu(_)}).join(`
17
+ `)}function Hu(e){const a=e.split(/\r?\n/u),o=[];let c=!1,d=[],u=[];for(const y of a){const _=y.trim(),E=/^\|.*\|$/.test(_),R=/^\|[\s:-]+\|$/.test(_);if(E||R)if(c||(c=!0,d=[]),E&&Ci.test(_)){const z=_.split("|").map(S=>S.trim()).filter(Boolean).filter(S=>!Ci.test(S)).join(",").trim();z&&u.push(z)}else d.push(y);else{if(c){o.push(...d);for(const U of u)o.push("","### 📌 口径说明","",U);u=[],d=[],c=!1}o.push(y)}}if(c){o.push(...d);for(const y of u)o.push("","### 📌 口径说明","",y)}return o.join(`
18
18
  `).replace(/\n{3,}/gu,`
19
19
 
20
- `).trim()}function Vu(e){return e.replace(/^((?:[✅📊📌🔎⚠💡🎯📝📋🔍📈📉]️?)\s+\S.+)$/gmu,"### $1")}function zu(e){return $u(Fu(Vu(Pu(Lu(e)))))}function Hu(e,r){const o=na(e);if(!r)return String(o);const c=typeof r.decimalPlaces=="number"&&Number.isFinite(r.decimalPlaces)?Math.max(0,Math.min(8,Math.trunc(r.decimalPlaces))):2,d=r.valueFormat==="percent"||r.unitCode==="percent"||r.unitLabel==="%",u=d&&Math.abs(o)<=1?o*100:o,y=new Intl.NumberFormat("en-US",{minimumFractionDigits:c,maximumFractionDigits:c}).format(u),_=r.unitLabel??(d?"%":"");return`${y}${_}`}function na(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()!==""){const r=Number(e);return Number.isFinite(r)?r:0}return 0}function Ts(e){const r=new Set(e.chart.hiddenSeries??[]);return e.chart.yFields.filter(o=>!r.has(o))}function wi(e,r){const o=Ts(e)[0];return o?na(r[o]):0}function Ti(e){const r=e.chart.data.map(c=>({...c})),o=e.chart.sort??"none";return o!=="none"&&r.sort((c,d)=>{const u=wi(e,c)-wi(e,d);return o==="asc"?u:-u}),typeof e.chart.limit=="number"&&e.chart.limit>0?r.slice(0,e.chart.limit):r}const Ei=3;function Gu(e){const r=e.chart.valueSpec;if(r)return o=>Hu(o,r)}function Qt(e){return na(e)}function ja(e,r){const o=e.map(c=>({field:c,lower:c.toLowerCase()}));return r.map(c=>{var d;return(d=o.find(u=>u.lower===c.toLowerCase()))==null?void 0:d.field}).find(c=>!!c)}function zn(e){return e.chart.yFields[0]||"value"}function Es(e,r="target"){const o=Object.keys(e);return ja(o,[r,"to","target","去向","目标","下游","流向"])||r}function xi(e){return[...new Set(e.filter(Boolean))].map(r=>({name:r}))}function Bi(e){var U,z;const r=Ti(e),o=Ts(e),c=e.chart.xField;if(e.chart.type==="candlestick"||e.chart.type==="kline"){const C=ja(o,["open","开盘","开盘价"])||o[0],B=ja(o,["close","收盘","收盘价"])||o[1],F=ja(o,["low","最低","最低价"])||o[2],H=ja(o,["high","最高","最高价"])||o[3];return{tooltip:{trigger:"axis"},grid:{left:40,right:16,top:28,bottom:28,containLabel:!0},xAxis:{type:"category",data:r.map(K=>String(K[c]??"")),boundaryGap:!0},yAxis:{type:"value",scale:!0,splitLine:{lineStyle:{color:"#eef2f7"}}},series:[{type:"candlestick",data:r.map(K=>[Qt(K[C]),Qt(K[B]),Qt(K[F]),Qt(K[H])])}]}}if(e.chart.type==="sankey"){const C=zn(e),B=r.map(F=>{const H=Es(F);return{source:String(F[c]??""),target:String(F[H]??""),value:Qt(F[C])}}).filter(F=>F.source&&F.target);return{tooltip:{trigger:"item"},series:[{type:"sankey",data:xi(B.flatMap(F=>[F.source,F.target])),links:B}]}}if(e.chart.type==="heatmap"){const C=zn(e),B=r[0]?Es(r[0]):"target",F=[...new Set(r.map(K=>String(K[B]??"")))],H=[...new Set(r.map(K=>String(K[c]??"")))];return{tooltip:{trigger:"item"},grid:{left:48,right:16,top:28,bottom:28,containLabel:!0},xAxis:{type:"category",data:H},yAxis:{type:"category",data:F},visualMap:{min:0,max:Math.max(...r.map(K=>Qt(K[C])),1),calculable:!0,orient:"horizontal",bottom:0},series:[{type:"heatmap",data:r.map(K=>[H.indexOf(String(K[c]??"")),F.indexOf(String(K[B]??"")),Qt(K[C])])}]}}if(e.chart.type==="radar"){const C=zn(e);return{tooltip:{},radar:{indicator:r.map(B=>({name:String(B[c]??""),max:Math.max(...r.map(F=>Qt(F[C])),1)}))},series:[{type:"radar",data:[{value:r.map(B=>Qt(B[C])),name:C}]}]}}if(e.chart.type==="funnel"){const C=zn(e);return{tooltip:{trigger:"item"},series:[{type:"funnel",data:r.map(B=>({name:String(B[c]??""),value:Qt(B[C])}))}]}}if(e.chart.type==="gauge"){const C=zn(e);return{tooltip:{},series:[{type:"gauge",data:[{name:String(((U=r[0])==null?void 0:U[c])??C),value:Qt((z=r[0])==null?void 0:z[C])}]}]}}if(e.chart.type==="tree"||e.chart.type==="treemap"||e.chart.type==="sunburst"){const C=zn(e);return{tooltip:{trigger:"item"},series:[{type:e.chart.type==="tree"?"tree":e.chart.type,data:r.map(B=>({name:String(B[c]??""),value:Qt(B[C])}))}]}}if(e.chart.type==="graph"||e.chart.type==="network"){const C=zn(e),B=r.map(F=>{const H=Es(F);return{source:String(F[c]??""),target:String(F[H]??""),value:Qt(F[C])}}).filter(F=>F.source&&F.target);return{tooltip:{},series:[{type:"graph",layout:"force",roam:!0,data:xi(B.flatMap(F=>[F.source,F.target])),links:B}]}}if(e.chart.type==="map"){const C=zn(e);return{tooltip:{trigger:"item"},visualMap:{min:0,max:Math.max(...r.map(B=>Qt(B[C])),1),calculable:!0},series:[{type:"map",map:"china",data:r.map(B=>({name:String(B[c]??""),value:Qt(B[C])}))}]}}if(e.chart.type==="pie"||e.chart.type==="donut"){const C=o[0];return{tooltip:{trigger:"item"},legend:{bottom:0},series:[{type:"pie",radius:e.chart.type==="donut"?["42%","68%"]:"68%",data:C?r.map(B=>({name:String(B[c]??""),value:na(B[C])})):[]}]}}const d=e.chart.type==="mini-bar",u=e.chart.type==="horizontal-bar",y=e.chart.type==="area",_=e.chart.type==="line"||y?"line":e.chart.type==="scatter"||e.chart.type==="bubble"?"scatter":"bar",E=d?o.slice(0,1):o,R=Gu(e);return u?{tooltip:{trigger:"axis",...R?{valueFormatter:R}:{}},grid:{left:56,right:16,top:28,bottom:16,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{color:"#eef2f7"}},...R?{axisLabel:{formatter:R}}:{}},yAxis:{type:"category",data:r.map(C=>String(C[c]??"")),axisTick:{show:!1}},series:E.map(C=>({name:C,type:"bar",barMinHeight:Ei,data:r.map(B=>na(B[C]))}))}:{tooltip:d?{show:!1}:{trigger:"axis",...R?{valueFormatter:R}:{}},grid:d?{left:0,right:0,top:4,bottom:0,containLabel:!1}:{left:24,right:16,top:28,bottom:24,containLabel:!0},xAxis:{type:"category",show:!d,data:r.map(C=>String(C[c]??"")),axisTick:{show:!1}},yAxis:{type:"value",show:!d,splitLine:{lineStyle:{color:"#eef2f7"}},...!d&&R?{axisLabel:{formatter:R}}:{}},series:E.map(C=>({name:C,type:_,symbolSize:e.chart.type==="bubble"?12:void 0,barWidth:d?"72%":void 0,barMinHeight:_==="bar"?Ei:void 0,data:r.map(B=>na(B[C])),smooth:e.chart.type==="line"||y,areaStyle:y?{}:void 0,itemStyle:d?{borderRadius:[3,3,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#c084fc"},{offset:1,color:"#60a5fa"}]}}:void 0}))}}const Ii=["#1f4fd4","#17a34a","#d97706","#9333ea","#0f766e","#dc2626","#0891b2"],qu=new Set(["","#fff","#ffffff","white","transparent","rgb(255,255,255)","rgba(255,255,255,1)","rgba(255,255,255,0)"]),Uu=new Set(["#dbe4f0"]),Wu=new Set(["#475569"]),ju=new Set(["#eef2f7"]),Ku=new Set(["#333","#333333","#475569","#4b5563","#62799b","#172033","#26364d","#2d3748"]),Qu=12;function Ca(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function xs(e){return Array.isArray(e)?e.map(r=>xs(r)):Ca(e)?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,xs(o)])):e}function Er(e,r){return Ca(e)?e[r]:void 0}function Hn(e,r){const o=e[r];if(Ca(o))return o;const c={};return e[r]=c,c}function Yu(e){return Array.isArray(e)&&e.length===Ii.length&&e.every((r,o)=>String(r).toLowerCase()===Ii[o])}function Ju(e){return typeof e=="string"?e.trim().toLowerCase().replace(/\s+/g,""):""}function Ka(e,r){return e==null||e===""?!0:r.has(Ju(e))}function Zu(e,r){if(r.axisColor){const o=Hn(e,"axisLine"),c=Hn(o,"lineStyle");Ka(c.color,Uu)&&(c.color=r.axisColor)}if(r.axisLabelColor){const o=Hn(e,"axisLabel");Ka(o.color,Wu)&&(o.color=r.axisLabelColor)}if(r.splitLineColor){const o=Hn(e,"splitLine"),c=Hn(o,"lineStyle");Ka(c.color,ju)&&(c.color=r.splitLineColor)}}function xr(e,r){(Array.isArray(e)?e:[e]).forEach(c=>{Ca(c)&&Zu(c,r)})}function Ri(e){return e?e.closest(".workbench-root, [data-workbench-style], [data-dash-theme]")||(typeof document<"u"?document.documentElement:null):null}function Xu(e){if(!e||typeof window>"u"||typeof window.getComputedStyle!="function")return null;const r=Ri(e),o=[e,r].filter((u,y,_)=>!!u&&_.indexOf(u)===y),c=u=>{for(const y of o){const _=window.getComputedStyle(y).getPropertyValue(u).trim();if(_)return _}return""},d=Array.from({length:Qu},(u,y)=>c(`--wb-chart-color-${y+1}`)).filter(Boolean);return d.length===0?null:{colors:d,axisColor:c("--wb-chart-axis")||void 0,axisLabelColor:c("--wb-chart-axis-label")||void 0,splitLineColor:c("--wb-chart-split-line")||void 0,legendTextColor:c("--wb-chart-legend-text")||void 0,tooltipBg:c("--wb-chart-tooltip-bg")||void 0,tooltipTextColor:c("--wb-chart-tooltip-text")||void 0,backgroundColor:c("--wb-chart-background")||c("--wb-card-bg")||void 0,textColor:c("--wb-chart-text")||c("--wb-text")||c("--wb-chart-legend-text")||void 0}}function em(e,r){if(!(r!=null&&r.colors.length))return e;const o=xs(e);if((o.color===void 0||Yu(o.color))&&(o.color=r.colors),r.backgroundColor&&Ka(o.backgroundColor,qu)&&(o.backgroundColor=r.backgroundColor),r.textColor){const c=Hn(o,"textStyle");Ka(c.color,Ku)&&(c.color=r.textColor)}if(r.legendTextColor&&o.legend!==!1){const d=(Array.isArray(o.legend)?o.legend:[o.legend??{}]).map(u=>{if(!Ca(u))return u;const y={...u},_={...Ca(y.textStyle)?y.textStyle:{}};return(_.color===void 0||_.color==="")&&(_.color=r.legendTextColor),y.textStyle=_,y});o.legend=Array.isArray(o.legend)?d:d[0]}if(r.tooltipBg||r.tooltipTextColor){const c=Hn(o,"tooltip");if(r.tooltipBg&&(c.backgroundColor===void 0||c.backgroundColor==="")&&(c.backgroundColor=r.tooltipBg),r.tooltipTextColor){const d=Hn(c,"textStyle");(d.color===void 0||d.color==="")&&(d.color=r.tooltipTextColor)}}return xr(Er(o,"xAxis"),r),xr(Er(o,"yAxis"),r),xr(Er(o,"radiusAxis"),r),xr(Er(o,"angleAxis"),r),o}const tm={key:0,class:"echarts-view__placeholder","aria-hidden":"true"},nm=n.defineComponent({__name:"EChartsView",props:{option:{},height:{}},setup(e){const r=e,o=n.ref(null);let c=null,d=null,u=null,y=null;const _=n.ref(!1),E=n.ref(!1),R=n.ref(!1),U=n.computed(()=>({height:`${r.height??88}px`}));function z(ue){return em(ue,Xu(o.value))}function C(ue,ce){if(!c)return;const Le=Zr.prepareWorkbenchEChartsRuntimeOption(z(ue));if(typeof ce=="boolean"){c.setOption(Le,ce),Zr.bindWorkbenchEChartsRuntimeInteractions(c,Le);return}c.setOption(Le),Zr.bindWorkbenchEChartsRuntimeInteractions(c,Le)}function B(){u==null||u.disconnect(),u=null}function F(){if(B(),!o.value||typeof MutationObserver>"u")return;const ue=Ri(o.value);ue&&(u=new MutationObserver(()=>{C(r.option,!0)}),u.observe(ue,{attributes:!0,attributeFilter:["data-workbench-style","data-dash-theme","style","class"]}))}function H(){n.nextTick(()=>{c==null||c.resize()})}function K(){c||!o.value||E.value||(E.value=!0,c=hl.init(o.value),R.value=!0,C(r.option),F(),typeof ResizeObserver<"u"&&o.value&&(d=new ResizeObserver(()=>{H()}),d.observe(o.value)),E.value=!1)}function xe(){y==null||y.disconnect(),y=null}function oe(){if(xe(),!!o.value){if(typeof IntersectionObserver>"u"){_.value=!0,K();return}y=new IntersectionObserver(ue=>{for(const ce of ue)ce.isIntersecting&&(_.value=!0,K(),xe())},{root:null,rootMargin:"100px 0px 100px 0px",threshold:0}),o.value&&y.observe(o.value)}}return n.onMounted(()=>{oe()}),n.watch(()=>r.option,ue=>{C(ue,!0)},{deep:!0}),n.watch(()=>r.height,()=>{H()}),n.onUnmounted(()=>{xe(),B(),d==null||d.disconnect(),d=null,c==null||c.dispose(),c=null}),(ue,ce)=>(n.openBlock(),n.createElementBlock("div",{class:"echarts-view",style:n.normalizeStyle(U.value)},[R.value?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",tm,[...ce[0]||(ce[0]=[n.createElementVNode("span",{class:"echarts-view__spinner"},null,-1),n.createElementVNode("span",{class:"echarts-view__label"},"图表加载中",-1)])])),n.createElementVNode("div",{ref_key:"el",ref:o,class:"echarts-view__chart"},null,512)],4))}}),ln=(e,r)=>{const o=e.__vccOpts||e;for(const[c,d]of r)o[c]=d;return o},vi=ln(nm,[["__scopeId","data-v-a62de5ab"]]),am={class:"chart-card__header"},rm={class:"chart-card__heading"},sm={class:"chart-card__title"},om={key:0,class:"chart-card__version"},im={key:0,class:"chart-card__period"},cm={key:1,class:"chart-card__summary"},lm={class:"chart-card__meta"},dm={class:"chart-card__meta-item"},um={class:"chart-card__meta-item"},mm={key:0,class:"chart-card__meta-item chart-card__meta-item--prompt"},fm={key:2,class:"chart-card__actions"},pm=["disabled","onClick"],Di=ln(n.defineComponent({__name:"ChartCardRenderer",props:{card:{},showInsertAction:{type:Boolean}},emits:["insertCard"],setup(e,{emit:r}){const o=e,c=r,d=n.ref(null),u={view:"查看",download:"下载","insert-left":"插入左侧","save-doc":"存文档库","save-kb":"存知识库",upgrade:"升级"},y=n.computed(()=>Bi(o.card)),_=n.computed(()=>o.card.chart.type==="mini-bar"?88:240),E=n.computed(()=>{var C;return(C=o.card.meta)==null?void 0:C.version}),R=n.computed(()=>(o.card.actions||[]).filter(C=>C!=="insert-left"||o.showInsertAction));function U(C){return C==="download"&&o.card.permission.downloadable===!1}function z(C){var B;if(!U(C)&&C==="insert-left"){const F=Math.ceil(((B=d.value)==null?void 0:B.getBoundingClientRect().height)||0);c("insertCard",{...o.card,meta:{...o.card.meta,...F>0?{workbenchAdaptiveHeightPx:F}:{}}})}}return(C,B)=>{var F;return n.openBlock(),n.createElementBlock("article",{ref_key:"cardRef",ref:d,class:"chart-card"},[n.createElementVNode("header",am,[n.createElementVNode("div",rm,[n.createElementVNode("h3",sm,n.toDisplayString(e.card.title),1),E.value?(n.openBlock(),n.createElementBlock("span",om,"v"+n.toDisplayString(E.value),1)):n.createCommentVNode("",!0)])]),e.card.period?(n.openBlock(),n.createElementBlock("div",im,n.toDisplayString(e.card.period),1)):n.createCommentVNode("",!0),n.createVNode(vi,{class:"chart-card__chart",option:y.value,height:_.value},null,8,["option","height"]),e.card.summary?(n.openBlock(),n.createElementBlock("p",cm,n.toDisplayString(e.card.summary),1)):n.createCommentVNode("",!0),n.createElementVNode("dl",lm,[n.createElementVNode("div",dm,[B[0]||(B[0]=n.createElementVNode("dt",null,"数据来源",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.source.label),1)]),n.createElementVNode("div",um,[B[1]||(B[1]=n.createElementVNode("dt",null,"权限",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.permission.label),1)]),(F=e.card.meta)!=null&&F.prompt?(n.openBlock(),n.createElementBlock("div",mm,[B[2]||(B[2]=n.createElementVNode("dt",null,"需求",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.meta.prompt),1)])):n.createCommentVNode("",!0)]),R.value.length?(n.openBlock(),n.createElementBlock("div",fm,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(R.value,H=>(n.openBlock(),n.createElementBlock("button",{key:H,type:"button",class:"chart-card__business-action",disabled:U(H),onClick:K=>z(H)},n.toDisplayString(u[H]),9,pm))),128))])):n.createCommentVNode("",!0)],512)}}}),[["__scopeId","data-v-6ac5a2cd"]]),hm=/^\/?echarts-system-card-templates\/icons\/[a-z0-9-]+-[a-f0-9]{12}-[a-f0-9]{12}\.svg$/u,Ni="echarts-system-card-templates";function gm(e,r){const o=r.trim().replace(/\/+$/u,""),c=e.replace(/^\/+/u,"");return o.endsWith(`/${Ni}`)?`${o}/${c.slice(`${Ni}/`.length)}`:`${o}/${c}`}function ym(e){const r=n.ref({}),o=n.ref({}),c=U();function d(z){if(typeof z!="string")return"";const C=z.trim();return hm.test(C)?C.startsWith("/")?C.slice(1):C:""}function u(z){const C=d(z);if(!C)return"";const B=c.value.trim();return B?gm(C,B):C}function y(z){const C=d(z);C&&(r.value={...r.value,[C]:!0})}function _(z){const C=d(z);!C||r.value[C]||(o.value={...o.value,[C]:!0})}function E(z){const C=d(z);return!!(C&&o.value[C]&&!r.value[C])}function R(z){const C=d(z);return!!(C&&!r.value[C])}function U(z){return n.getCurrentInstance()?n.inject(pi,n.ref("")):n.ref("")}return{isLoaded:E,markFailed:y,markLoaded:_,resolvePath:d,resolveSrc:u,shouldShow:R}}function Gn(e){const r=Li(e.key),o=r?km(r,e.labels??{}):"",c=Bs(e.explicitLabel,r);return o||c||r}function bm(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Li(e){return typeof e=="string"&&e.trim()?e.trim():""}function Bs(e,r){const o=Li(e);return!o||r&&o===r.trim()?"":o}function km(e,r){return Bs(r[e],e)}function _m(e){return bm(e)?Object.fromEntries(Object.entries(e).flatMap(([r,o])=>{const c=Bs(o,r);return c?[[r,c]]:[]})):{}}const qn=["runtime_metric","execute_metric_api","metric_execute"],Un=["semantic_sql","execute_sql","query_sql"];function Br(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function dn(e){return Br(e)?e:{}}function Rn(e){if(Br(e))return e;if(typeof e!="string"||!e.trim())return{};try{const r=JSON.parse(e);return Br(r)?r:{}}catch{return{}}}function gn(e){return typeof e=="string"&&e.trim()?e.trim():""}function Cm(e){return Br(e)?(gn(e.value)||gn(e.source)||gn(e.kind)||gn(e.type)).toLowerCase():gn(e).toLowerCase()}function qt(e,r){const o=Cm(e);return!!(o&&r.some(c=>o===c||o.includes(c)))}function Pi(e){const r=dn(e),o=Rn(e==null?void 0:e.dataBinding),c=dn(o.queryResult),d=dn(c.data),u=dn(e==null?void 0:e.queryResult),y=dn(u.data),_=dn(r.blockPlan),E=dn(_.data),R=Rn(E.dataBinding),U=dn(_.meta),z=dn(U.queryResult),C=dn(z.data);return[r,o,c,Rn(c.dataBinding),d,Rn(d.dataBinding),u,Rn(u.dataBinding),y,Rn(y.dataBinding),E,R,dn(R.queryResult),U,Rn(U.dataBinding),z,Rn(z.dataBinding),C,Rn(C.dataBinding)]}function Mi(e){if(qt(e.source,qn)||qt(e.bindingKind,qn)||qt(e.binding_kind,qn)||qt(e.serviceOperation,qn)||qt(e.service_operation,qn)||qt(e.taskKind,qn)||qt(e.task_kind,qn)||qt(e.value,qn))return!0;const r=dn(e.paramsSchema);if(Array.isArray(r.metricFilterCandidates))return!0;const o=gn(e.executeApi),c=gn(e.refreshApi);return o.includes("/metric/metrics/execute")||c.includes("/metric/metrics/execute")}function Sm(e){return!!(Mi(e)||gn(e.metricCode)||gn(e.metric_code)||gn(e.metricId)||gn(e.metric_id))}function Am(e){return qt(e.source,Un)||qt(e.bindingKind,Un)||qt(e.binding_kind,Un)||qt(e.serviceOperation,Un)||qt(e.service_operation,Un)||qt(e.taskKind,Un)||qt(e.task_kind,Un)||qt(e.value,Un)}function Is(e){if(!e)return!1;if(e.source==="metric")return!0;const r=Pi(e);return e.source==="sql"?r.some(Mi):r.some(Sm)}function wm(e){return!e||e.source==="metric"||Is(e)?!1:e.source==="sql"?!0:Pi(e).some(Am)}const Tm="需要补充配置后才能预览";function Qa(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ze(e){return Qa(e)?e:{}}function Ct(e){return typeof e=="string"?e.trim():""}function Sa(e,r){const o=Ct(e);return!o||o===r.trim()?"":o}function un(e){const r=ze(e);return Object.fromEntries(Object.entries(r).flatMap(([o,c])=>{const d=Sa(c,o);return d?[[o,d]]:[]}))}function Oi(e){return Array.isArray(e)?e.map(Ir).filter(Boolean):[]}function Rs(e,r){if(!Array.isArray(e))return{};const o=Oi(r);return Object.fromEntries(e.flatMap((c,d)=>{const u=(Qa(c)?Ir(c):o[d])||"",y=Qa(c)?Sa(c.label,u)||Sa(c.title,u)||Sa(c.displayName,u):Sa(c,u);return u&&y?[[u,y]]:[]}))}function Fi(e,r){if(!Array.isArray(e))return{};const o=e.find(Qa);if(!o)return{};const c=Oi(r);return Object.fromEntries(Object.keys(o).flatMap((d,u)=>{const y=c[u]||"",_=Sa(d,y);return y&&_?[[y,_]]:[]}))}function Aa(e){const r=ze(e.data),o=Array.isArray(e.columns)?e.columns:r.columns;return{...Rs(r.displayColumns,o),...Rs(e.displayColumns,o),...Rs(r.columnMetadata,o),...Fi(r.displayRows,o),...Fi(e.displayRows,o)}}function Ir(e){if(typeof e=="string")return e.trim();const r=ze(e);return Ct(r.key)||Ct(r.dataIndex)||Ct(r.field)||Ct(r.name)}function $i(e,r,o,c){if(typeof e=="string")return Gn({key:e,labels:o});const d=ze(e);return Gn({key:r,explicitLabel:Ct(d.label)||Ct(d.title)||Ct(d.displayName),labels:o,role:d.role})}function wa(e){return Array.isArray(e)?Object.fromEntries(e.map((r,o)=>{const c=Ir(r);if(!c)return null;const d=$i(r,c,{});return d&&d!==c?[c,d]:null}).filter(r=>!!r)):{}}function Vi(e){const r=new Set;return e.filter(o=>r.has(o.value)?!1:(r.add(o.value),!0))}function vs(e){const r=ze(e==null?void 0:e.cardConfig),o=ze(e==null?void 0:e.selectedConfig),c=ze(o.values),d=ze(e==null?void 0:e.dataBinding),u=ze(e==null?void 0:e.queryResult),y=ze(u.data),_=ze(u.dataBinding),E=ze(d.queryResult),R=ze(E.data),U=ze(e==null?void 0:e.blockPlan),z=ze(U.data),C=ze(z.dataBinding),B=ze(U.meta),F=ze(B.queryResult);return{...wa(R.columns),...wa(E.columns),...wa(F.columns),...wa(z.columns),...wa(y.columns),...wa(u.columns),...un(R.fieldLabels),...un(E.fieldLabels),...un(F.fieldLabels),...un(C.fieldLabels),...un(z.fieldLabels),...un(y.fieldLabels),...un(_.fieldLabels),...un(u.fieldLabels),...un(d.fieldLabels),...un(o.fieldLabels),...un(c.fieldLabels),...un(r.fieldLabels),...Aa(R),...Aa(E),...Aa(F),...Aa(z),...Aa(y),...Aa(u)}}function zi(e){const r=ze(e==null?void 0:e.cardConfig),o=ze(e==null?void 0:e.selectedConfig),c=ze(o.values),d=ze(e==null?void 0:e.dataBinding);return[ze(r.fieldMapping),ze(o.fieldMapping),ze(c.fieldMapping),ze(d.fieldMapping)].find(y=>Object.keys(y).length>0)??{}}function Hi(e){if(!e)return[];const r=ze(e.queryResult),o=ze(r.data),c=vs(e),u=(Array.isArray(r.columns)?r.columns:Array.isArray(o.columns)?o.columns:[]).map((E,R)=>{const U=Ir(E);if(!U)return null;const z=ze(E);return{value:U,label:$i(E,U,c),type:Ct(z.type)||void 0,role:Ct(z.role)||void 0}}).filter(E=>!!E);if(u.length>0)return Vi(u);const _=(Array.isArray(r.rows)?r.rows:Array.isArray(o.rows)?o.rows:[]).find(Qa);return _?Vi(Object.keys(_).map((E,R)=>({value:E,label:Gn({key:E,labels:c})}))):[]}function Gi(e){return Hi(e).length>0}function Ya(e,r){if(typeof e=="string")return Gn({key:e,labels:r});const o=ze(e),c=Ct(o.name)||Ct(o.key)||Ct(o.field);return c?Gn({key:c,explicitLabel:Ct(o.label)||Ct(o.displayName),labels:r}):""}function Ds(e,r){if(!Array.isArray(e))return"";const o=e.map(c=>Ya(c,r)).filter(Boolean);return o.length<=2?o.join("、"):`${o.slice(0,2).join("、")}等 ${o.length} 项`}function Ja(e,r,o,c){c&&e.push({key:r,text:`${o}:${c}`})}function aa(e){const r=ze(e==null?void 0:e.dataBinding);return Ct(r.filterSummary)}function qi(e){const r=ze(e.configRequirement),o=ze(e.diagnostics);return Ct(r.message)||Ct(e.previewReason)||Ct(e.diagnosticReason)||Ds(o.reasonCodes,{})||Tm}function Ui(e){return e.nextAction==="execute_query"||e.nextAction==="disabled"||e.previewStatus==="requires_execution"||e.previewStatus==="empty"||e.previewStatus==="blocked"}function Em(e){var r;return Ui(e)||!Is(e)||!Gi(e)?!1:e.previewStatus==="requires_config"?((r=e.configRequirement)==null?void 0:r.kind)==="field_mapping":e.previewStatus==="ready"||!e.previewStatus}function xm(e,r){return r==="table"||e.dataShape==="rows"||e.dataShape==="table"||/\.table\b/u.test(e.capabilityId)||/\.list\b/u.test(e.capabilityId)||e.capabilityId.includes(".list")}function Bm(e){return e.dataShape==="metricSummary"||/metric|指标|数值/u.test(e.capabilityId)}function Wi(e){var R;const{selectedItem:r,previewMode:o}=e,c=[],d=[];if(Ui(r))return{chips:c,actions:d,diagnostic:Ct(r.previewReason)||Ct(r.diagnosticReason)};if(r.previewStatus==="requires_config"&&((R=r.configRequirement)==null?void 0:R.kind)!=="field_mapping")return{chips:c,actions:d,diagnostic:qi(r)};const u=vs(r),y=zi(r);xm(r,o)||(Bm(r)?Ja(c,"metric","指标",Ds(y.yFields,u)||Ya(y.yField??y.valueField,u)):(Ja(c,"x","X",Ya(y.xField??y.labelField,u)),Ja(c,"y","Y",Ds(y.yFields,u)||Ya(y.yField??y.valueField,u)),Ja(c,"group","分组",Ya(y.groupField,u))));const E=aa(r);return Ja(c,"filter","筛选",E),{chips:c,actions:d,diagnostic:""}}const ji={bar:"bar",line:"line",pie:"pie",scatter:"scatter",geomap:"map",map:"map",candlestick:"candlestick",radar:"radar",boxplot:"boxplot",heatmap:"heatmap",graph:"network",lines:"lines",tree:"tree",treemap:"treemap",sunburst:"sunburst",parallel:"parallel",sankey:"sankey",funnel:"funnel",gauge:"gauge",pictorialbar:"pictorialBar",themeriver:"themeRiver",calendar:"calendar",custom:"graphic",gl3d:"scene3D"},Im={waterfall:"waterfall",pareto:"pareto",stack:"stackedBar",stacked:"stackedBar",race:"ranking",ranking:"ranking",rank:"ranking",sort:"ranking",doughnut:"donut",donut:"donut",radial:"radialTree",gauge:"gauge",clock:"clockGauge",progress:"progress",globe:"globe3D",bar3d:"bar3D",scatter3d:"scatter3D",surface:"surface3D",line3d:"lines",lines3d:"lines",linesgl:"lines",graphgl:"network",geo3d:"map",map3d:"map",flamegraph:"treemap",gantt:"timeline"},Rm={...ji,graph:"network"};function Wn(e){return typeof e=="string"&&e.trim().length>0?e.trim():""}function Ns(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Ki(e){return Array.isArray(e)?e.flatMap(r=>{const o=Wn(r);return o?[o]:[]}):[]}function Rr(e){const r=Wn(e);if(!r)return[];const o=[];let c="";const d=()=>{if(!c)return;const u=c.toLowerCase();o.push(u);const y=Nm(u);y&&y!==u&&o.push(y),c=""};for(const u of r){if(vm(u)){d();continue}Dm(u)&&c&&d(),c+=u}return d(),o}function vm(e){return e==="."||e==="/"||e==="-"||e==="_"||e===":"||e===" "}function Dm(e){return e>="A"&&e<="Z"}function Nm(e){let r=e.length;for(;r>0&&e.charCodeAt(r-1)>=48&&e.charCodeAt(r-1)<=57;)r-=1;return e.slice(0,r)}function Lm(e){const r=e.split(".");return r[0]==="card"&&r[1]==="echarts"&&r[2]||""}function Pm(e){const r=e.split(".");return r[0]==="card"&&r[1]==="echarts"&&r[3]||""}function Qi(e){return!Ns(e.option)||!Array.isArray(e.option.series)?[]:e.option.series.filter(Ns)}function Mm(e){const r=[...Ki(e.seriesTypes),...Qi(e).flatMap(o=>{const c=Wn(o.type);return c?[c]:[]})];return new Set(r.map(o=>o.toLowerCase()))}function Om(e){const r=[...Rr(e.exampleId),...Rr(e.templateType),...Rr(Pm(e.capabilityId)),...Ki(e.tags).flatMap(Rr)];if(r.includes("ring")&&r.includes("gauge"))return"donutGauge";if(r.includes("clock")&&r.includes("gauge"))return"clockGauge";if(r.includes("rose")&&r.includes("type"))return"rosePie";if(r.includes("multiple")&&r.includes("pie"))return"multiPie";if(r.includes("calendar")&&r.includes("pie")||r.includes("calendar")&&r.includes("heatmap"))return"calendar";if(r.includes("map")&&r.includes("pie"))return"map";if(r.includes("line")&&r.includes("3d")||r.includes("lines")&&r.includes("gl"))return"lines";if(r.includes("graph")&&r.includes("gl"))return"network";if(r.includes("geo")&&r.includes("3d")||r.includes("map")&&r.includes("3d"))return"map";if(r.includes("error")&&r.includes("bar"))return"boxplot";for(const o of r){const c=Im[o];if(c)return c}return r.includes("bar")&&r.includes("line")?"mixedBarLine":r.includes("3d")&&r.includes("bar")?"bar3D":r.includes("3d")&&r.includes("scatter")?"scatter3D":""}function Fm(e){const r=Qi(e),o=Mm(e);if(o.has("bar")&&o.has("line"))return"mixedBarLine";if(r.some(c=>Wn(c.type).toLowerCase()==="line"&&Ns(c.areaStyle)))return"area";if(r.some(c=>Wn(c.type).toLowerCase()==="pie"&&Array.isArray(c.radius)))return"donut";if(r.some(c=>Wn(c.type).toLowerCase()==="bar"&&Wn(c.stack)))return"stackedBar";for(const c of o){const d=Rm[c];if(d&&d!=="bar")return d}return o.has("bar")?"bar":""}function $m(e){const r=Wn(e.mainCategory||Lm(e.capabilityId)).toLowerCase(),o=ji[r]||"",c=Om(e);if(c)return c;const d=Fm(e);return d&&(r==="bar"||r==="pie"||r==="custom"||!o)?d:o||d||"bar"}const Vm=new Set(["bar","line","pie","scatter","radar","funnel","heatmap","gauge","tree","treemap","sankey","graph","sunburst","parallel","pictorialBar","themeRiver","candlestick","boxplot"]);function Za(e){return typeof e=="string"&&e.trim().length>0?e.trim():""}function zm(e){return Array.isArray(e)?e.flatMap(r=>{const o=Za(r);return o?[o]:[]}):[]}function Yi(e){if(!e)return null;const r=Za(e.mainCategory),o=Za(e.protocolType),c=zm(e.seriesTypes),d=c.map(y=>y.toLowerCase()),u=[Za(e.exampleId),Za(e.templateType)].join(" ").toLowerCase();return!r&&!o&&c.length===0||o==="scene3D"||o==="timeline"||r==="custom"||r==="gl3d"?null:r==="geoMap"||o==="geo"?"map":o==="network"?r==="sankey"||d.includes("sankey")?"sankey":"network":o==="tree"?["tree","treemap","sunburst"].includes(r)?r:"tree":r==="calendar"?"heatmap":r==="pictorialBar"?"pictorialBar":r==="themeRiver"?"themeRiver":d.includes("bar")&&d.includes("line")?"mixedBarLine":r==="pie"&&/(?:half[-_\s]?donut|semi[-_\s]?(?:donut|circle)|piehalfdonut)/iu.test(u)?"halfDonut":Vm.has(r)?r:null}const Hm={"card.echarts.bar.bar1":"/echarts-system-card-templates/icons/bar1-868ae2ea577a-4b5eb433decf.svg","card.echarts.bar.barAnimationDelay":"/echarts-system-card-templates/icons/bar-animation-delay-ef3572258fdf-324a9bd21b49.svg","card.echarts.bar.barBackground":"/echarts-system-card-templates/icons/bar-background-514ab16cd8d4-c92c0ccb86d4.svg","card.echarts.bar.barBreaksBrush":"/echarts-system-card-templates/icons/bar-breaks-brush-fc39371592aa-e3bd38bd523d.svg","card.echarts.bar.barBreaksSimple":"/echarts-system-card-templates/icons/bar-breaks-simple-1cd0134a76a9-059be18fb92a.svg","card.echarts.bar.barBrush":"/echarts-system-card-templates/icons/bar-brush-3db143b212fd-756a886cc8b5.svg","card.echarts.bar.barDataColor":"/echarts-system-card-templates/icons/bar-data-color-2ecb0f9d8bc7-6741bc4d7c9e.svg","card.echarts.bar.barDrilldown":"/echarts-system-card-templates/icons/bar-drilldown-ea02f6fc374f-2197964f9434.svg","card.echarts.bar.barGradient":"/echarts-system-card-templates/icons/bar-gradient-95c951868f26-e61ee7801434.svg","card.echarts.bar.barLabelRotation":"/echarts-system-card-templates/icons/bar-label-rotation-9221e2c4bba5-eb3c36872d05.svg","card.echarts.bar.barMultiDrilldown":"/echarts-system-card-templates/icons/bar-multi-drilldown-869c74e782f3-6215bbec7ac8.svg","card.echarts.bar.barNegative":"/echarts-system-card-templates/icons/bar-negative-760f8ebd2092-f5a4da535e5c.svg","card.echarts.bar.barNegative2":"/echarts-system-card-templates/icons/bar-negative2-f095a7ffece0-c95865a44d98.svg","card.echarts.bar.barPolarLabelRadial":"/echarts-system-card-templates/icons/bar-polar-label-radial-3ac627032a9f-5067ad460916.svg","card.echarts.bar.barPolarLabelTangential":"/echarts-system-card-templates/icons/bar-polar-label-tangential-371972119d45-62e6d764f9c8.svg","card.echarts.bar.barPolarRealEstate":"/echarts-system-card-templates/icons/bar-polar-real-estate-e6cd87b53072-ab41a88c0e60.svg","card.echarts.bar.barPolarStack":"/echarts-system-card-templates/icons/bar-polar-stack-f1da21cfca6f-a554fe63f111.svg","card.echarts.bar.barPolarStackRadial":"/echarts-system-card-templates/icons/bar-polar-stack-radial-979647bacb48-de54f97acd9d.svg","card.echarts.bar.barRace":"/echarts-system-card-templates/icons/bar-race-581194f86444-a54d9963d03a.svg","card.echarts.bar.barRaceCountry":"/echarts-system-card-templates/icons/bar-race-country-e7ecf4ca9483-126444c1436a.svg","card.echarts.bar.barRichText":"/echarts-system-card-templates/icons/bar-rich-text-f30feba4a375-1d50477de00e.svg","card.echarts.bar.barSimple":"/echarts-system-card-templates/icons/bar-simple-d1634ca3d005-1d9ba8fee970.svg","card.echarts.bar.barStack":"/echarts-system-card-templates/icons/bar-stack-d161ba04bf4d-e7a5fb22b338.svg","card.echarts.bar.barStackBorderRadius":"/echarts-system-card-templates/icons/bar-stack-borderradius-10d53ad18e33-756853e2b77a.svg","card.echarts.bar.barStackNormalization":"/echarts-system-card-templates/icons/bar-stack-normalization-ff83fb2fb7f1-b660b4dd9012.svg","card.echarts.bar.barStackNormalizationAndVariation":"/echarts-system-card-templates/icons/bar-stack-normalization-and-variation-60a15bd78b88-b660b4dd9012.svg","card.echarts.bar.barTickAlign":"/echarts-system-card-templates/icons/bar-tick-align-7dda661d4105-1d8151a1c780.svg","card.echarts.bar.barWaterfall":"/echarts-system-card-templates/icons/bar-waterfall-b7f6acf0dd6d-533ed6fac1c1.svg","card.echarts.bar.barWaterfall2":"/echarts-system-card-templates/icons/bar-waterfall2-8475d88862c1-c5f1e5a79061.svg","card.echarts.bar.barYCategory":"/echarts-system-card-templates/icons/bar-y-category-e5a42011beb9-c91000071987.svg","card.echarts.bar.barYCategoryStack":"/echarts-system-card-templates/icons/bar-y-category-stack-92f5de6d605c-6385e668c798.svg","card.echarts.bar.datasetEncode0":"/echarts-system-card-templates/icons/dataset-encode0-025f8403e071-0be39b09d4b7.svg","card.echarts.bar.datasetSeriesLayoutBy":"/echarts-system-card-templates/icons/dataset-series-layout-by-451f2638a715-258361ccfdd7.svg","card.echarts.bar.datasetSimple0":"/echarts-system-card-templates/icons/dataset-simple0-e29f09988354-93a572a25e20.svg","card.echarts.bar.datasetSimple1":"/echarts-system-card-templates/icons/dataset-simple1-6154241093ca-93a572a25e20.svg","card.echarts.bar.dataTransformSortBar":"/echarts-system-card-templates/icons/data-transform-sort-bar-8c764fdd3792-39eac0f483a9.svg","card.echarts.bar.docExampleAriaDecalNewspaper":"/echarts-system-card-templates/icons/doc-example-aria-decal-newspaper-9b41b84afc8f-a38e649306ec.svg","card.echarts.bar.docExampleAriaDecalSimple":"/echarts-system-card-templates/icons/doc-example-aria-decal-simple-3b72aa9ef40d-2d84e845964f.svg","card.echarts.bar.docExampleBarDataZoomFilterMode":"/echarts-system-card-templates/icons/doc-example-bar-datazoom-filtermode-997633fc8fe1-680687a8e39f.svg","card.echarts.bar.docExampleBarGridBarGap":"/echarts-system-card-templates/icons/doc-example-bargrid-bargap-31792daf1376-e821d276bf3b.svg","card.echarts.bar.docExampleCanvasVsSvg":"/echarts-system-card-templates/icons/doc-example-canvas-vs-svg-def42d9a2eef-e6a6128f9880.svg","card.echarts.bar.docExampleCanvasVsSvgEn":"/echarts-system-card-templates/icons/doc-example-canvas-vs-svg-en-cce729b24fda-e6a6128f9880.svg","card.echarts.bar.docExampleDatasetEncodeSimple0":"/echarts-system-card-templates/icons/doc-example-dataset-encode-simple0-eb5bca665886-c56936ebe8ae.svg","card.echarts.bar.docExampleDataTransformMultipleSortBar":"/echarts-system-card-templates/icons/doc-example-data-transform-multiple-sort-bar-794ba5b76298-39eac0f483a9.svg","card.echarts.bar.docExampleGettingStarted":"/echarts-system-card-templates/icons/doc-example-getting-started-0a038f6781b6-b0d5463e7c3e.svg","card.echarts.bar.docExamplePictorialBarPosition":"/echarts-system-card-templates/icons/doc-example-pictorialbar-position-a627bcf618bc-17cddda2166a.svg","card.echarts.bar.docExamplePictorialBarSymbolSize":"/echarts-system-card-templates/icons/doc-example-pictorialbar-symbolsize-03d48c6612f0-a4ef999ae547.svg","card.echarts.bar.docExamplePolarEndAngle":"/echarts-system-card-templates/icons/doc-example-polar-end-angle-9d2f3c518f48-f9ff947a881b.svg","card.echarts.bar.docExampleTutorialAsync":"/echarts-system-card-templates/icons/doc-example-tutorial-async-3783e444ccd6-39eac0f483a9.svg","card.echarts.bar.docExampleTutorialLoading":"/echarts-system-card-templates/icons/doc-example-tutorial-loading-e49a537ba945-39eac0f483a9.svg","card.echarts.bar.docExampleValueAnimationSimple":"/echarts-system-card-templates/icons/doc-example-value-animation-simple-e36e10c4bf74-38bba0671c4c.svg","card.echarts.bar.dynamicData":"/echarts-system-card-templates/icons/dynamic-data-3a92aef4e1bc-68e990f80b3c.svg","card.echarts.bar.mixLineBar":"/echarts-system-card-templates/icons/mix-line-bar-3560263980f6-9217c143ef1c.svg","card.echarts.bar.mixTimelineFinance":"/echarts-system-card-templates/icons/mix-timeline-finance-ab32474d2c52-165ab31a1cf6.svg","card.echarts.bar.mixZoomOnValue":"/echarts-system-card-templates/icons/mix-zoom-on-value-7488ff4f4696-680687a8e39f.svg","card.echarts.bar.multipleYAxis":"/echarts-system-card-templates/icons/multiple-y-axis-f7b92b0b6890-6ee8ca4318cb.svg","card.echarts.bar.polarEndAngle":"/echarts-system-card-templates/icons/polar-endangle-b54fb886db15-06611c1a258c.svg","card.echarts.bar.polarRoundCap":"/echarts-system-card-templates/icons/polar-roundcap-aedf5d390911-a1715e7d15fd.svg","card.echarts.bar.watermark":"/echarts-system-card-templates/icons/watermark-50c40638b3c6-ecee7c43f8a3.svg","card.echarts.boxplot.boxplotLightVelocity":"/echarts-system-card-templates/icons/boxplot-light-velocity-dcbaab453cff-97fa8253dda0.svg","card.echarts.boxplot.boxplotLightVelocity2":"/echarts-system-card-templates/icons/boxplot-light-velocity2-3e1daf9bce5a-eefabdf90521.svg","card.echarts.boxplot.boxplotMulti":"/echarts-system-card-templates/icons/boxplot-multi-c8fe3b7b63f7-e48008751ca5.svg","card.echarts.boxplot.dataTransformAggregate":"/echarts-system-card-templates/icons/data-transform-aggregate-62b2102fd9df-21c1d9c4805f.svg","card.echarts.calendar.calendarHorizontal":"/echarts-system-card-templates/icons/calendar-horizontal-6b41070ee63d-eff3281125c0.svg","card.echarts.calendar.calendarLunar":"/echarts-system-card-templates/icons/calendar-lunar-983267b2bffa-7baba259915e.svg","card.echarts.calendar.calendarSimple":"/echarts-system-card-templates/icons/calendar-simple-8eb5da8796ce-eff3281125c0.svg","card.echarts.calendar.customCalendarIcon":"/echarts-system-card-templates/icons/custom-calendar-icon-f69bedc815de-7e4a9a97a383.svg","card.echarts.candlestick.candlestickBrush":"/echarts-system-card-templates/icons/candlestick-brush-3698e62323c6-f7e252b9930d.svg","card.echarts.candlestick.candlestickLarge":"/echarts-system-card-templates/icons/candlestick-large-81c9b8ad4399-81aa7770e5b3.svg","card.echarts.candlestick.candlestickSh":"/echarts-system-card-templates/icons/candlestick-sh-a62159566d28-99eb96317225.svg","card.echarts.candlestick.candlestickSimple":"/echarts-system-card-templates/icons/candlestick-simple-22c1c3ac084a-a7d1cfbbad6c.svg","card.echarts.candlestick.candlestickTouch":"/echarts-system-card-templates/icons/candlestick-touch-d0df15bc6e7c-d81399499b78.svg","card.echarts.candlestick.customOhlc":"/echarts-system-card-templates/icons/custom-ohlc-d088d867adcc-cce1fc7997a9.svg","card.echarts.custom.barHistogram":"/echarts-system-card-templates/icons/bar-histogram-8f4ee0853776-8ec4624a8245.svg","card.echarts.custom.customBarTrend":"/echarts-system-card-templates/icons/custom-bar-trend-c02be4d7236a-c59fff22b7f7.svg","card.echarts.custom.customCartesianPolygon":"/echarts-system-card-templates/icons/custom-cartesian-polygon-aac96a6cc9cf-60892e0e0fb8.svg","card.echarts.custom.customErrorBar":"/echarts-system-card-templates/icons/custom-error-bar-0e7ae2bb0a11-9a7cc138c1ce.svg","card.echarts.custom.customErrorScatter":"/echarts-system-card-templates/icons/custom-error-scatter-c9394d4ebc7b-173617682a63.svg","card.echarts.custom.customGanttFlight":"/echarts-system-card-templates/icons/custom-gantt-flight-f23175de93c1-2d08b5638edb.svg","card.echarts.custom.customGauge":"/echarts-system-card-templates/icons/custom-gauge-56d2e938d4eb-d974231b4990.svg","card.echarts.custom.customPolarHeatmap":"/echarts-system-card-templates/icons/custom-polar-heatmap-3e0f8ae1cfba-b0f326aeadba.svg","card.echarts.custom.customProfile":"/echarts-system-card-templates/icons/custom-profile-d3df2d4327e5-2574883c80e8.svg","card.echarts.custom.customProfit":"/echarts-system-card-templates/icons/custom-profit-2f427fdca098-aebd95b3f1cb.svg","card.echarts.custom.customSpiralRace":"/echarts-system-card-templates/icons/custom-spiral-race-bd8e3066098a-72a3a32ee4b2.svg","card.echarts.custom.cyclePlot":"/echarts-system-card-templates/icons/cycle-plot-91fc292cc127-0d40a11d5c00.svg","card.echarts.custom.docExampleBarMediaTimeline":"/echarts-system-card-templates/icons/doc-example-bar-media-timeline-8e9a77a1ecef-0d5333b5d0d7.svg","card.echarts.custom.docExampleCustomTransitionSimple":"/echarts-system-card-templates/icons/doc-example-custom-transition-simple-59465d0c2dba-0e2716a66496.svg","card.echarts.custom.docExampleGridOuterBounds":"/echarts-system-card-templates/icons/doc-example-grid-outerbounds-5c556123ab9a-bab6f4681c3d.svg","card.echarts.custom.docExampleMixTimelineAll":"/echarts-system-card-templates/icons/doc-example-mix-timeline-all-a55e7b5b2f85-872a6904edf6.svg","card.echarts.custom.docExamplePieMedia":"/echarts-system-card-templates/icons/doc-example-pie-media-f8a3822e7465-7fb29ebd1915.svg","card.echarts.custom.docExampleRadar":"/echarts-system-card-templates/icons/doc-example-radar-5edde5645889-32d4f9c7a7f3.svg","card.echarts.custom.docExampleTimelineDynamicSeries":"/echarts-system-card-templates/icons/doc-example-timeline-dynamic-series-0575d1768998-89fbdf6652af.svg","card.echarts.custom.windBarb":"/echarts-system-card-templates/icons/wind-barb-b6eab67479db-f3f61f9a8179.svg","card.echarts.funnel.funnel":"/echarts-system-card-templates/icons/funnel-56cdf48f369a-ebfe1028ee90.svg","card.echarts.funnel.funnelAlign":"/echarts-system-card-templates/icons/funnel-align-0438eddb6809-fa94a0e0eee5.svg","card.echarts.funnel.funnelCustomize":"/echarts-system-card-templates/icons/funnel-customize-47dd0559e8a6-b5587826e926.svg","card.echarts.funnel.funnelMutiple":"/echarts-system-card-templates/icons/funnel-mutiple-3064f1cbb966-ea95c58c23ae.svg","card.echarts.gauge.gauge":"/echarts-system-card-templates/icons/gauge-f79a2330c22a-8728bf7f07b7.svg","card.echarts.gauge.gaugeCar":"/echarts-system-card-templates/icons/gauge-car-ebe34e1397dd-177d1c03dc06.svg","card.echarts.gauge.gaugeGrade":"/echarts-system-card-templates/icons/gauge-grade-f74185c2b891-fb5f770089ce.svg","card.echarts.gauge.gaugeMultiTitle":"/echarts-system-card-templates/icons/gauge-multi-title-88c7cd8d3e18-9661fb1baa34.svg","card.echarts.gauge.gaugeProgress":"/echarts-system-card-templates/icons/gauge-progress-bf937301db67-a585dc642198.svg","card.echarts.gauge.gaugeRing":"/echarts-system-card-templates/icons/gauge-ring-20179e7beb63-102eef28795f.svg","card.echarts.gauge.gaugeSimple":"/echarts-system-card-templates/icons/gauge-simple-769235e417b5-fc35f564940f.svg","card.echarts.gauge.gaugeSpeed":"/echarts-system-card-templates/icons/gauge-speed-801c8bdf86cd-5dc2058a71fa.svg","card.echarts.gauge.gaugeStage":"/echarts-system-card-templates/icons/gauge-stage-44d1469e9791-72fae61e0552.svg","card.echarts.gauge.gaugeTemperature":"/echarts-system-card-templates/icons/gauge-temperature-74a30746f90b-67ad27f60039.svg","card.echarts.graph.calendarGraph":"/echarts-system-card-templates/icons/calendar-graph-ed647505f583-076e6438923a.svg","card.echarts.graph.chordLineStyleColor":"/echarts-system-card-templates/icons/chord-linestyle-color-598e72686136-4d7358a08e20.svg","card.echarts.graph.chordMinAngle":"/echarts-system-card-templates/icons/chord-minangle-4461ce582ac0-2493e1d4e88e.svg","card.echarts.graph.chordSimple":"/echarts-system-card-templates/icons/chord-simple-93e6d6d9ed4f-31e236b24a87.svg","card.echarts.graph.chordStyle":"/echarts-system-card-templates/icons/chord-style-87a099f45573-153bbe352e51.svg","card.echarts.graph.docExampleGraphRoamIndicator":"/echarts-system-card-templates/icons/doc-example-graph-roam-indicator-809bc967b5a8-c4cb69a8e964.svg","card.echarts.graph.graph":"/echarts-system-card-templates/icons/graph-b9208d0121c9-0cd3d6369a15.svg","card.echarts.graph.graphCircularLayout":"/echarts-system-card-templates/icons/graph-circular-layout-237dd170dfac-0cd3d6369a15.svg","card.echarts.graph.graphForce":"/echarts-system-card-templates/icons/graph-force-12c2e6a90595-b35077bf8ce1.svg","card.echarts.graph.graphForceDynamic":"/echarts-system-card-templates/icons/graph-force-dynamic-a39dfc4ad2ca-101dee7a9bc7.svg","card.echarts.graph.graphGrid":"/echarts-system-card-templates/icons/graph-grid-54ad26482e9b-17e42aebd1c5.svg","card.echarts.graph.graphLabelOverlap":"/echarts-system-card-templates/icons/graph-label-overlap-0573c066b1b7-0cd3d6369a15.svg","card.echarts.graph.graphLifeExpectancy":"/echarts-system-card-templates/icons/graph-life-expectancy-c7bd0c0e6cef-6a85f2dc4599.svg","card.echarts.graph.graphNpm":"/echarts-system-card-templates/icons/graph-npm-e9be97da809d-6ed5acaf8420.svg","card.echarts.graph.graphSimple":"/echarts-system-card-templates/icons/graph-simple-a9ee26d9fa1e-41de101d26a7.svg","card.echarts.graph.graphWebkitDep":"/echarts-system-card-templates/icons/graph-webkit-dep-ced31dc031b4-7a969bcd21f2.svg","card.echarts.heatmap.calendarHeatmap":"/echarts-system-card-templates/icons/calendar-heatmap-e032fb7d182c-cb31a44e898c.svg","card.echarts.heatmap.calendarVertical":"/echarts-system-card-templates/icons/calendar-vertical-622a0fe9aa47-ec2faddc6051.svg","card.echarts.heatmap.heatmapCartesian":"/echarts-system-card-templates/icons/heatmap-cartesian-85245f57f42c-a07baf6d031a.svg","card.echarts.line.areaBasic":"/echarts-system-card-templates/icons/area-basic-5aacd4c079c7-56a601f9f9a8.svg","card.echarts.line.areaPieces":"/echarts-system-card-templates/icons/area-pieces-51da79f9d5de-6f5475a4f458.svg","card.echarts.line.areaRainfall":"/echarts-system-card-templates/icons/area-rainfall-bd1d0fe206f0-50f7d3a318b7.svg","card.echarts.line.areaStack":"/echarts-system-card-templates/icons/area-stack-97e7c2a74919-142d670ee462.svg","card.echarts.line.areaStackGradient":"/echarts-system-card-templates/icons/area-stack-gradient-66ffa1a257a5-645c11714c7a.svg","card.echarts.line.areaTimeAxis":"/echarts-system-card-templates/icons/area-time-axis-6212e1e814bc-614a99bb70c2.svg","card.echarts.line.bumpChart":"/echarts-system-card-templates/icons/bump-chart-52cb6b3af834-b60e9912591b.svg","card.echarts.line.confidenceBand":"/echarts-system-card-templates/icons/confidence-band-695bcb1e3a4d-aac2c061b6d5.svg","card.echarts.line.datasetLink":"/echarts-system-card-templates/icons/dataset-link-3de38117a657-0bec30273e44.svg","card.echarts.line.dataTransformFilter":"/echarts-system-card-templates/icons/data-transform-filter-a642766fab9a-8a1ddc0e3ae6.svg","card.echarts.line.docExampleAxisLabelAlignMinMax":"/echarts-system-card-templates/icons/doc-example-axis-label-align-min-max-866ecf633706-bdd2a78d4994.svg","card.echarts.line.docExampleCandlestickAxisPointer":"/echarts-system-card-templates/icons/doc-example-candlestick-axispointer-4d33c2180e8c-02fc0e864b91.svg","card.echarts.line.docExampleLineStackTiled":"/echarts-system-card-templates/icons/doc-example-line-stack-tiled-03388dab84aa-fcca27f88595.svg","card.echarts.line.docExampleTutorialDynamicData":"/echarts-system-card-templates/icons/doc-example-tutorial-dynamic-data-44e28550df09-9f15bd21d75a.svg","card.echarts.line.dynamicData2":"/echarts-system-card-templates/icons/dynamic-data2-047c82d06185-55f07922cb4a.svg","card.echarts.line.gridMultiple":"/echarts-system-card-templates/icons/grid-multiple-238c706a6b1d-390084d0f836.svg","card.echarts.line.intradayBreaks1":"/echarts-system-card-templates/icons/intraday-breaks-1-23aab9364de1-94bd9aac7ac4.svg","card.echarts.line.intradayBreaks2":"/echarts-system-card-templates/icons/intraday-breaks-2-08225100095a-aa73de9f0b0d.svg","card.echarts.line.lineDraggable":"/echarts-system-card-templates/icons/line-draggable-b3d2ee64f12c-6e7e77ec60da.svg","card.echarts.line.lineEasing":"/echarts-system-card-templates/icons/line-easing-6cfd3c8358d5-3ab1be625e2a.svg","card.echarts.line.lineFisheyeLens":"/echarts-system-card-templates/icons/line-fisheye-lens-5fcbc2882bc5-ac2d70c497eb.svg","card.echarts.line.lineFunction":"/echarts-system-card-templates/icons/line-function-59e587bc6836-bf97dc4a9def.svg","card.echarts.line.lineGradient":"/echarts-system-card-templates/icons/line-gradient-9888ba9b9db5-cb131603de5f.svg","card.echarts.line.lineGraphic":"/echarts-system-card-templates/icons/line-graphic-6779e2ac489c-c59c46b9d053.svg","card.echarts.line.lineLog":"/echarts-system-card-templates/icons/line-log-4fac8966273a-ba4e66709ce2.svg","card.echarts.line.lineMarker":"/echarts-system-card-templates/icons/line-marker-ce764c364123-9ece81920e09.svg","card.echarts.line.lineMarkline":"/echarts-system-card-templates/icons/line-markline-d66a11bbb768-326756d4cde3.svg","card.echarts.line.linePen":"/echarts-system-card-templates/icons/line-pen-e1fec43174a5-0934a4c1c23d.svg","card.echarts.line.linePolar":"/echarts-system-card-templates/icons/line-polar-4da5fcbfe7de-7de5f8daf918.svg","card.echarts.line.linePolar2":"/echarts-system-card-templates/icons/line-polar2-28b23efd48de-a093ccd9a8d7.svg","card.echarts.line.lineRace":"/echarts-system-card-templates/icons/line-race-bb9fce1a9cd0-5229a3cd8a90.svg","card.echarts.line.lineSections":"/echarts-system-card-templates/icons/line-sections-669fc2ece632-b8ded7d0aa9b.svg","card.echarts.line.lineSimple":"/echarts-system-card-templates/icons/line-simple-6351c56a72e4-22eadf0b8215.svg","card.echarts.line.lineSmooth":"/echarts-system-card-templates/icons/line-smooth-66faa5c74d19-2b26b9b162e8.svg","card.echarts.line.lineStack":"/echarts-system-card-templates/icons/line-stack-7a32b45ee4f3-14566fa26f99.svg","card.echarts.line.lineStep":"/echarts-system-card-templates/icons/line-step-cf036bcdc274-aaf47117b9b8.svg","card.echarts.line.lineStyle":"/echarts-system-card-templates/icons/line-style-3d86a69872c3-e45f01690903.svg","card.echarts.line.lineTooltipTouch":"/echarts-system-card-templates/icons/line-tooltip-touch-25e757eabac5-1509068d94de.svg","card.echarts.line.lineYCategory":"/echarts-system-card-templates/icons/line-y-category-4e85a4016c47-64b62892105c.svg","card.echarts.line.multipleXAxis":"/echarts-system-card-templates/icons/multiple-x-axis-418984c2532f-b076d1303cf4.svg","card.echarts.parallel.docExampleParallelAll":"/echarts-system-card-templates/icons/doc-example-parallel-all-9caa17aea7f5-96b4f4d95672.svg","card.echarts.parallel.parallelAqi":"/echarts-system-card-templates/icons/parallel-aqi-d8c3b598e95e-09702cd1546d.svg","card.echarts.parallel.parallelSimple":"/echarts-system-card-templates/icons/parallel-simple-99ab2e88573a-47a37fd5d288.svg","card.echarts.pictorialBar.docExamplePictorialBarClip":"/echarts-system-card-templates/icons/doc-example-pictorialbar-clip-0bb29d6be972-0280d77d438d.svg","card.echarts.pictorialBar.docExamplePictorialBarGraphicType":"/echarts-system-card-templates/icons/doc-example-pictorialbar-graphictype-0ca7e6c0b3d9-c2f29e0b5949.svg","card.echarts.pictorialBar.docExamplePictorialBarPatternSize":"/echarts-system-card-templates/icons/doc-example-pictorialbar-patternsize-a99364965738-d3e08e05eb27.svg","card.echarts.pictorialBar.docExamplePictorialBarRepeat":"/echarts-system-card-templates/icons/doc-example-pictorialbar-repeat-93cc787188da-1e0555b59ff1.svg","card.echarts.pictorialBar.docExamplePictorialBarRepeatDirection":"/echarts-system-card-templates/icons/doc-example-pictorialbar-repeatdirection-972df1840609-3a8ca4b1a5cd.svg","card.echarts.pictorialBar.docExamplePictorialBarRepeatLayout":"/echarts-system-card-templates/icons/doc-example-pictorialbar-repeatlayout-b55a1cd67f45-7cdc92834ed8.svg","card.echarts.pictorialBar.docExamplePictorialBarSymbolBoundingDataArray":"/echarts-system-card-templates/icons/doc-example-pictorialbar-symbolboundingdataarray-cf25a66cae95-f983572ca127.svg","card.echarts.pictorialBar.pictorialbarBarTransition":"/echarts-system-card-templates/icons/pictorialbar-bar-transition-08affa01d5e8-f61154475e2c.svg","card.echarts.pictorialBar.pictorialbarBodyFill":"/echarts-system-card-templates/icons/pictorialbar-body-fill-f61100d36e45-fa460b7a892b.svg","card.echarts.pictorialBar.pictorialbarDotted":"/echarts-system-card-templates/icons/pictorialbar-dotted-abeef716ccbb-350a1956680e.svg","card.echarts.pictorialBar.pictorialbarForest":"/echarts-system-card-templates/icons/pictorialbar-forest-7b9c0bbfba93-3fce8ef8a485.svg","card.echarts.pictorialBar.pictorialbarHill":"/echarts-system-card-templates/icons/pictorialbar-hill-3ee2887ee99e-8700c15900ff.svg","card.echarts.pictorialBar.pictorialbarSpirit":"/echarts-system-card-templates/icons/pictorialbar-spirit-37e9943c5c24-6c37b9fda7d7.svg","card.echarts.pictorialBar.pictorialbarVehicle":"/echarts-system-card-templates/icons/pictorialbar-vehicle-d171a4fcf7d6-c5dd4e325e6d.svg","card.echarts.pictorialBar.pictorialbarVelocity":"/echarts-system-card-templates/icons/pictorialbar-velocity-a1e251f18f5d-e57b369b0c07.svg","card.echarts.pie.calendarPie":"/echarts-system-card-templates/icons/calendar-pie-64f4e2547f81-35615c656ecf.svg","card.echarts.pie.datasetDefault":"/echarts-system-card-templates/icons/dataset-default-cdfef5f7c606-66cf56dd435a.svg","card.echarts.pie.dataTransformMultiplePie":"/echarts-system-card-templates/icons/data-transform-multiple-pie-9d7fb84f8afc-e1255492cce7.svg","card.echarts.pie.docExampleAriaPie":"/echarts-system-card-templates/icons/doc-example-aria-pie-f4efb070a3c2-e7587660d60b.svg","card.echarts.pie.docExamplePieHighlight":"/echarts-system-card-templates/icons/doc-example-pie-highlight-71e048469a00-be898cf11bee.svg","card.echarts.pie.docExamplePieLabelBleedMargin":"/echarts-system-card-templates/icons/doc-example-pie-label-bleedmargin-18ab3d08ed85-9fab537f67ca.svg","card.echarts.pie.docExamplePieLabelDistanceToLabelLine":"/echarts-system-card-templates/icons/doc-example-pie-label-distancetolabelline-4ae5ea76b47a-9fab537f67ca.svg","card.echarts.pie.docExamplePieLabelMargin":"/echarts-system-card-templates/icons/doc-example-pie-label-margin-9ed10a599e3e-9fab537f67ca.svg","card.echarts.pie.docExampleTutorialStylingStep0":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step0-27b61bcb842b-9c93f8a9b69c.svg","card.echarts.pie.docExampleTutorialStylingStep1":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step1-4d50713093d1-d769feea48d6.svg","card.echarts.pie.docExampleTutorialStylingStep2":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step2-a491064d586e-cfc2eca1d2f4.svg","card.echarts.pie.docExampleTutorialStylingStep3":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step3-23355d3f2c83-cfc2eca1d2f4.svg","card.echarts.pie.docExampleTutorialStylingStep4":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step4-40be75d6c320-2df4f68ea047.svg","card.echarts.pie.docExampleTutorialStylingStep5":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step5-94ee5a53a9c4-d3fd79c42ccd.svg","card.echarts.pie.pieAlignTo":"/echarts-system-card-templates/icons/pie-alignto-9dffb51a85a7-6b3f3096b6da.svg","card.echarts.pie.pieBorderRadius":"/echarts-system-card-templates/icons/pie-borderradius-73447434e7e6-3f4b3cebe9a3.svg","card.echarts.pie.pieCustom":"/echarts-system-card-templates/icons/pie-custom-e5cffba349c4-d3fd79c42ccd.svg","card.echarts.pie.pieDoughnut":"/echarts-system-card-templates/icons/pie-doughnut-b0e7e62f20ca-57516d850039.svg","card.echarts.pie.pieHalfDonut":"/echarts-system-card-templates/icons/pie-half-donut-22bc856d3feb-b1a79285f5be.svg","card.echarts.pie.pieLabelLineAdjust":"/echarts-system-card-templates/icons/pie-labelline-adjust-bb37e02da411-12b593dda807.svg","card.echarts.pie.pieLegend":"/echarts-system-card-templates/icons/pie-legend-c8562a34b2a9-2ea78ed66fba.svg","card.echarts.pie.pieNest":"/echarts-system-card-templates/icons/pie-nest-9f6d0a94b04e-52e354f6dff3.svg","card.echarts.pie.piePadAngle":"/echarts-system-card-templates/icons/pie-padangle-f35dc0601f23-d01a0862eb6a.svg","card.echarts.pie.piePattern":"/echarts-system-card-templates/icons/pie-pattern-414c8a253fc6-18e4d9cad817.svg","card.echarts.pie.pieRichText":"/echarts-system-card-templates/icons/pie-rich-text-ba0a1124a2e5-f916b6f1a94f.svg","card.echarts.pie.pieRoseType":"/echarts-system-card-templates/icons/pie-rosetype-e1e53ab5adc2-85b855e99301.svg","card.echarts.pie.pieSimple":"/echarts-system-card-templates/icons/pie-simple-c69cd07b556c-6a83edbf7488.svg","card.echarts.radar.radar":"/echarts-system-card-templates/icons/radar-63aa573a3c0d-15c8bcd70a4a.svg","card.echarts.radar.radar2":"/echarts-system-card-templates/icons/radar2-6c97ca4984c9-05e708f7454a.svg","card.echarts.radar.radarAqi":"/echarts-system-card-templates/icons/radar-aqi-d8ac0ae04e48-f21506ab85ac.svg","card.echarts.radar.radarCustom":"/echarts-system-card-templates/icons/radar-custom-13f72432b6e6-ef78cd9c1916.svg","card.echarts.radar.radarMultiple":"/echarts-system-card-templates/icons/radar-multiple-87c4cc7814c8-78c7b60aaf8b.svg","card.echarts.sankey.sankeyEnergy":"/echarts-system-card-templates/icons/sankey-energy-e8ef57c8bfa0-42b2449fec20.svg","card.echarts.sankey.sankeyLevels":"/echarts-system-card-templates/icons/sankey-levels-22b485a94dee-2d9e39b89072.svg","card.echarts.sankey.sankeyNodeAlignLeft":"/echarts-system-card-templates/icons/sankey-nodealign-left-f48699e67f21-e779d5921fc4.svg","card.echarts.sankey.sankeyNodeAlignRight":"/echarts-system-card-templates/icons/sankey-nodealign-right-aa3cda7fa63f-f5327000abde.svg","card.echarts.sankey.sankeySimple":"/echarts-system-card-templates/icons/sankey-simple-117e5bf7f245-b9c18ab740e9.svg","card.echarts.sankey.sankeyVertical":"/echarts-system-card-templates/icons/sankey-vertical-0770ceaabd39-6388708dd51b.svg","card.echarts.scatter.bubbleGradient":"/echarts-system-card-templates/icons/bubble-gradient-4d6e064cf562-132f8683139b.svg","card.echarts.scatter.calendarCharts":"/echarts-system-card-templates/icons/calendar-charts-5c0f4d6d4e97-a27b05c4521c.svg","card.echarts.scatter.datasetEncode1":"/echarts-system-card-templates/icons/dataset-encode1-e0669c1e155c-c9b1f944624a.svg","card.echarts.scatter.docExampleAxisPointerHandleImage":"/echarts-system-card-templates/icons/doc-example-axispointer-handle-image-017ef44e8186-32275847833d.svg","card.echarts.scatter.docExampleLabelPosition":"/echarts-system-card-templates/icons/doc-example-label-position-95846546ad80-d7000640d468.svg","card.echarts.scatter.docExampleScatterDataZoomAll":"/echarts-system-card-templates/icons/doc-example-scatter-datazoom-all-632675a66818-acb1e5355c5b.svg","card.echarts.scatter.docExampleScatterJitterAvoidOverlap":"/echarts-system-card-templates/icons/doc-example-scatter-jitter-avoidoverlap-4893d085db39-ec118f4c5218.svg","card.echarts.scatter.docExampleScatterTutorialDataZoom1":"/echarts-system-card-templates/icons/doc-example-scatter-tutorial-datazoom-1-299dcd1ba96b-af058322d528.svg","card.echarts.scatter.docExampleScatterTutorialDataZoom2":"/echarts-system-card-templates/icons/doc-example-scatter-tutorial-datazoom-2-ad61d05ff356-af058322d528.svg","card.echarts.scatter.docExampleScatterTutorialDataZoom3":"/echarts-system-card-templates/icons/doc-example-scatter-tutorial-datazoom-3-4a7850a7f877-af058322d528.svg","card.echarts.scatter.docExampleScatterVisualMapCategories":"/echarts-system-card-templates/icons/doc-example-scatter-visualmap-categories-2be29d46d6a8-4b511baae205.svg","card.echarts.scatter.docExampleTextBlockFragment":"/echarts-system-card-templates/icons/doc-example-text-block-fragment-b5ed0c71c3cf-c8cbc759a67f.svg","card.echarts.scatter.docExampleTextFregmentAlign":"/echarts-system-card-templates/icons/doc-example-text-fregment-align-7a2201dc0613-c8cbc759a67f.svg","card.echarts.scatter.docExampleTextOptions":"/echarts-system-card-templates/icons/doc-example-text-options-594e0841e383-c8cbc759a67f.svg","card.echarts.scatter.docExampleTitleBlock":"/echarts-system-card-templates/icons/doc-example-title-block-91b88da49c7c-056906513060.svg","card.echarts.scatter.scatterAggregateBar":"/echarts-system-card-templates/icons/scatter-aggregate-bar-4266df754765-41483e5dd559.svg","card.echarts.scatter.scatterAnscombeQuartet":"/echarts-system-card-templates/icons/scatter-anscombe-quartet-ccb98d3d5aca-deb21f6dd659.svg","card.echarts.scatter.scatterAqiColor":"/echarts-system-card-templates/icons/scatter-aqi-color-9fce84b9a3af-1d6b94e850e1.svg","card.echarts.scatter.scatterClustering":"/echarts-system-card-templates/icons/scatter-clustering-d4de98a1cc21-d3355fa54a75.svg","card.echarts.scatter.scatterClusteringProcess":"/echarts-system-card-templates/icons/scatter-clustering-process-cce55edb6cd0-ab8b0bb0dcaf.svg","card.echarts.scatter.scatterExponentialRegression":"/echarts-system-card-templates/icons/scatter-exponential-regression-6cd0519cf305-7a12773b1878.svg","card.echarts.scatter.scatterJitter":"/echarts-system-card-templates/icons/scatter-jitter-fd7212867127-cec0039f46f7.svg","card.echarts.scatter.scatterLabelAlignRight":"/echarts-system-card-templates/icons/scatter-label-align-right-936f96eeed9a-137e67749045.svg","card.echarts.scatter.scatterLabelAlignTop":"/echarts-system-card-templates/icons/scatter-label-align-top-80f40249e9a5-137e67749045.svg","card.echarts.scatter.scatterLarge":"/echarts-system-card-templates/icons/scatter-large-f13e5a558b80-633db4374c85.svg","card.echarts.scatter.scatterLifeExpectancyTimeline":"/echarts-system-card-templates/icons/scatter-life-expectancy-timeline-38c84de2a338-c3ca055e3295.svg","card.echarts.scatter.scatterLinearRegression":"/echarts-system-card-templates/icons/scatter-linear-regression-418157c20096-0a5620c2c5b5.svg","card.echarts.scatter.scatterLogarithmicRegression":"/echarts-system-card-templates/icons/scatter-logarithmic-regression-e40024904cea-495761d9e004.svg","card.echarts.scatter.scatterMatrix":"/echarts-system-card-templates/icons/scatter-matrix-3cf9a1e25986-e18eb9a2b301.svg","card.echarts.scatter.scatterNebula":"/echarts-system-card-templates/icons/scatter-nebula-54538a2bb35b-ebda6dc9b44b.svg","card.echarts.scatter.scatterNutrients":"/echarts-system-card-templates/icons/scatter-nutrients-900d75def5fe-7c08b667a74b.svg","card.echarts.scatter.scatterNutrientsMatrix":"/echarts-system-card-templates/icons/scatter-nutrients-matrix-fb30e10d3f77-c001323cd931.svg","card.echarts.scatter.scatterPainterChoice":"/echarts-system-card-templates/icons/scatter-painter-choice-a299540b846d-2f42ffbb3561.svg","card.echarts.scatter.scatterPolarPunchCard":"/echarts-system-card-templates/icons/scatter-polar-punchcard-5cedb731cdbd-37badce1b3e4.svg","card.echarts.scatter.scatterPolynomialRegression":"/echarts-system-card-templates/icons/scatter-polynomial-regression-a7362d629afa-6a6377267665.svg","card.echarts.scatter.scatterPunchCard":"/echarts-system-card-templates/icons/scatter-punchcard-b4b75f756289-0c580a729b5e.svg","card.echarts.scatter.scatterSimple":"/echarts-system-card-templates/icons/scatter-simple-730c45d64a79-94b76dc9cdc2.svg","card.echarts.scatter.scatterSingleAxis":"/echarts-system-card-templates/icons/scatter-single-axis-d1a886e8e081-ccf805765735.svg","card.echarts.scatter.scatterStreamVisual":"/echarts-system-card-templates/icons/scatter-stream-visual-b779ed401439-161584743a50.svg","card.echarts.scatter.scatterSymbolMorph":"/echarts-system-card-templates/icons/scatter-symbol-morph-f83a4fb3ecca-150aba2e694f.svg","card.echarts.scatter.scatterWeight":"/echarts-system-card-templates/icons/scatter-weight-32567a4c6153-ea59f738381e.svg","card.echarts.sunburst.docExampleSunburstColor":"/echarts-system-card-templates/icons/doc-example-sunburst-color-b3550c63d10d-fc2821e31dd3.svg","card.echarts.sunburst.docExampleSunburstHighlightAncestor":"/echarts-system-card-templates/icons/doc-example-sunburst-highlight-ancestor-5ff2f7cc34bb-84db689a4541.svg","card.echarts.sunburst.docExampleSunburstHighlightDescendant":"/echarts-system-card-templates/icons/doc-example-sunburst-highlight-descendant-0b3c7fc78d67-84db689a4541.svg","card.echarts.sunburst.docExampleSunburstLabelAlign":"/echarts-system-card-templates/icons/doc-example-sunburst-label-align-2fe466ce2819-0a336d7017b9.svg","card.echarts.sunburst.docExampleSunburstSimple":"/echarts-system-card-templates/icons/doc-example-sunburst-simple-d669f7fa4052-e1ae4e40409f.svg","card.echarts.sunburst.sunburstBook":"/echarts-system-card-templates/icons/sunburst-book-13d454ca0ba8-6d5d35a7ca98.svg","card.echarts.sunburst.sunburstBorderRadius":"/echarts-system-card-templates/icons/sunburst-borderradius-05872f28e698-f70f918c81c7.svg","card.echarts.sunburst.sunburstDrink":"/echarts-system-card-templates/icons/sunburst-drink-024aae412894-4b9114d48ded.svg","card.echarts.sunburst.sunburstLabelRotate":"/echarts-system-card-templates/icons/sunburst-label-rotate-9a418acf8223-f4ab7aab0d0e.svg","card.echarts.sunburst.sunburstMonochrome":"/echarts-system-card-templates/icons/sunburst-monochrome-8a1d625d1056-6936d51f0795.svg","card.echarts.sunburst.sunburstSimple":"/echarts-system-card-templates/icons/sunburst-simple-f5ae17d2930f-0fa35abb57b3.svg","card.echarts.sunburst.sunburstVisualMap":"/echarts-system-card-templates/icons/sunburst-visualmap-c1cdf191d0c8-9c1a84a1a57f.svg","card.echarts.themeRiver.themeriverBasic":"/echarts-system-card-templates/icons/themeriver-basic-5d76d13a1037-83f0993d9c23.svg","card.echarts.themeRiver.themeriverLastfm":"/echarts-system-card-templates/icons/themeriver-lastfm-0af46ce50ff6-e39f6ae7cecf.svg","card.echarts.tree.treeBasic":"/echarts-system-card-templates/icons/tree-basic-dec0e1bafef6-43173e9bd582.svg","card.echarts.tree.treeLegend":"/echarts-system-card-templates/icons/tree-legend-d48c715c25aa-ddf4d22bb414.svg","card.echarts.tree.treeOrientBottomTop":"/echarts-system-card-templates/icons/tree-orient-bottom-top-3aa298f47af9-513b9aaba6f9.svg","card.echarts.tree.treeOrientRightLeft":"/echarts-system-card-templates/icons/tree-orient-right-left-8cac282014ee-5c5af3e81510.svg","card.echarts.tree.treePolyline":"/echarts-system-card-templates/icons/tree-polyline-4b3f9affe9b9-1fede4e3c770.svg","card.echarts.tree.treeRadial":"/echarts-system-card-templates/icons/tree-radial-8df4eae5dafc-8fbe607708a0.svg","card.echarts.tree.treeVertical":"/echarts-system-card-templates/icons/tree-vertical-0d00ed2886ba-607adef00a9c.svg","card.echarts.treemap.docExampleTreemapBorderColor":"/echarts-system-card-templates/icons/doc-example-treemap-bordercolor-9405aa73bed5-93cc4932d94b.svg","card.echarts.treemap.treemapDisk":"/echarts-system-card-templates/icons/treemap-disk-ba094f8ff276-93cc4932d94b.svg","card.echarts.treemap.treemapDrillDown":"/echarts-system-card-templates/icons/treemap-drill-down-930c387311df-8dda96eb56d6.svg","card.echarts.treemap.treemapObama":"/echarts-system-card-templates/icons/treemap-obama-4618c3b583d1-bff1259981ef.svg","card.echarts.treemap.treemapShowParent":"/echarts-system-card-templates/icons/treemap-show-parent-b2082233158a-2e16b0ed92d3.svg","card.echarts.treemap.treemapSimple":"/echarts-system-card-templates/icons/treemap-simple-20aeea102d4d-d719917a092c.svg","card.echarts.treemap.treemapSunburstTransition":"/echarts-system-card-templates/icons/treemap-sunburst-transition-603cd25614e5-12b4359c6317.svg","card.echarts.treemap.treemapVisual":"/echarts-system-card-templates/icons/treemap-visual-93adbbb1a22e-bf15910c7d06.svg"};function Gm(e){return Hm[e]??""}const qm={class:"card-recommendation"},Um={class:"card-recommendation__header"},Wm={class:"card-recommendation__heading"},jm={key:0,class:"card-recommendation__stats"},Km={class:"card-recommendation__message"},Qm={key:0,class:"card-recommendation__loop-notice"},Ym={key:1,class:"card-recommendation__list"},Jm=["onFocusout"],Zm={class:"card-recommendation__preview-header"},Xm={class:"card-recommendation__title-wrap"},ef=["value","onInput","onBlur","onKeydown"],tf={key:1,class:"card-recommendation__title"},nf=["onClick"],af={class:"card-recommendation__actions"},rf=["aria-expanded","onClick"],sf={class:"card-recommendation__switch-text"},of=["disabled","onClick"],cf={key:0,class:"card-recommendation__insert-spinner","aria-hidden":"true"},lf={key:0,class:"card-recommendation__switch-panel"},df={class:"card-recommendation__switch-panel-head"},uf={class:"card-recommendation__switch-panel-meta"},mf={class:"card-recommendation__view-options card-recommendation__switch-options"},ff=["disabled","aria-hidden","tabindex","onClick"],pf=["src","onLoad","onError"],hf={key:2,class:"card-recommendation__view-option-icon-loading","aria-hidden":"true"},gf={class:"card-recommendation__view-option-title"},yf={key:3,class:"card-recommendation__view-option-status"},bf={key:0,class:"card-recommendation__switch-pagination"},kf=["disabled","onPointerdown","onMousedown","onClick"],_f=["disabled","onPointerdown","onMousedown","onClick"],Cf=["data-chart-type","data-capability-id"],Sf={class:"card-recommendation__chart-preview-toolbar","aria-label":"图表预览缩放"},Af=["disabled","onClick"],wf=["onClick"],Tf=["disabled","onClick"],Ef={key:2,class:"card-recommendation__preview-table"},xf={class:"card-recommendation__preview-table-scroll"},Bf={key:0,class:"card-recommendation__pagination"},If={key:0,class:"card-recommendation__page-status"},Rf=["disabled","onClick"],vf=["onClick"],Df=["disabled","onClick"],Nf={key:2,class:"card-recommendation__empty"},Lf={key:0,class:"card-recommendation__fallback-actions"},Pf=["disabled","onClick"],Ls=4,Mf=5,Xa=12,Ji=2,Of=3,Ff=120,$f=420,Vf=8,zf=80,Hf=320,Zi="62%",Xi=12,Gf="card.table.",vr="card.table.list",Ps=3,Ms=7,qf=10,ec=12,Uf=44,Wf=28,jf=6,Kf=16,tc=ln(n.defineComponent({__name:"CardRecommendationDraft",props:{draft:{}},emits:["choose","configure"],setup(e,{expose:r,emit:o}){const c=e,d=o,u=n.ref({}),y=n.ref({}),_=n.ref({}),E=n.ref({}),R=n.ref({}),U=n.ref({}),z=n.ref({}),C=n.ref({}),B=n.ref({}),F=n.ref({}),H=ym(),K=[120,160,220,320,420],xe={metricSummary:"指标卡",singleSeries:"趋势图",multiSeries:"对比图",pieSlices:"结构图",rows:"明细表",table:"明细表"},oe={ready:"可插入",requires_execution:"需刷新",requires_config:"需配置",empty:"空结果",blocked:"不可插入"},ue=/^ECharts 图表 \d+$/u,ce=new Set(["bar","line","pie","scatter","radar","funnel","heatmap","gauge","tree","treemap","sankey","graph","sunburst","parallel","pictorialBar","themeRiver","candlestick","boxplot"]),Le={area:"line",bar:"bar",boxplot:"boxplot",bubble:"scatter",candlestick:"candlestick",customEcharts:null,donut:"donut",drilldownTree:"tree",funnel:"funnel",gantt:null,gauge:"gauge",heatmap:"heatmap",line:"line",map:"map",mixedBarLine:"mixedBarLine",network:"network",pareto:"pareto",pie:"pie",radar:"radar",sankey:"sankey",scatter:"scatter",stackedBar:"bar",tree:"tree",waterfall:"waterfall"},ne={...Le,area:"area",donut:"donut",mixedBarLine:"mixedBarLine",stackedBar:"stackedBar"},Z=[{key:"table",label:"清单表",icon:"table"},{key:"bar",label:"柱图",icon:"bar"},{key:"pie",label:"饼图",icon:"pie"},{key:"line",label:"线图",icon:"line"},{key:"scatter",label:"散点图",icon:"scatter"},{key:"heatmap",label:"热力图",icon:"heatmap"},{key:"gauge",label:"仪表盘",icon:"gauge"},{key:"metric",label:"指标看板",icon:"metric"},{key:"ranking",label:"排行榜",icon:"ranking"},{key:"map",label:"色彩地图",icon:"map"},{key:"funnel",label:"漏斗图",icon:"funnel"},{key:"radar",label:"雷达图",icon:"radar"},{key:"sankey",label:"桑基图",icon:"sankey"},{key:"tree",label:"树图",icon:"tree"},{key:"treemap",label:"矩形树图",icon:"treemap"},{key:"sunburst",label:"旭日图",icon:"sunburst"},{key:"network",label:"网络图",icon:"network"},{key:"lines",label:"路径图",icon:"lines"},{key:"candlestick",label:"K线图",icon:"candlestick"},{key:"boxplot",label:"盒须图",icon:"boxplot"},{key:"parallel",label:"平行坐标",icon:"parallel"},{key:"pictorialBar",label:"象形柱图",icon:"pictorialBar"},{key:"themeRiver",label:"主题河流",icon:"themeRiver"},{key:"calendar",label:"日历坐标",icon:"calendar"},{key:"tuple",label:"二维数据",icon:"scatter"},{key:"scene3D",label:"3D",icon:"scene3D"},{key:"timeline",label:"时间轴",icon:"timeline"},{key:"transition",label:"动态图",icon:"transition"},{key:"graphic",label:"图形",icon:"graphic"},{key:"layout",label:"布局",icon:"layout"},{key:"composite",label:"组合图",icon:"composite"},{key:"configOnly",label:"模板图",icon:"metric"},{key:"progress",label:"进度条",icon:"progress"}],He=new Set(["","datatable","table","tablelist","list"]);function ae(t){return t.dataShape&&xe[t.dataShape]?xe[t.dataShape]:t.capabilityId.includes(".line")?"趋势图":t.capabilityId.includes(".bar")?"排行图":t.capabilityId.includes(".pie")?"结构图":t.capabilityId.includes(".table")?"明细表":t.capabilityId.includes(".metric")?"指标卡":"卡片"}function he(t){const a=hi(t);if(a)return a;const s=it(an(t).title);if(s&&s!==t.capabilityId)return s;const i=it(t.title);return i&&i!==t.capabilityId?i:""}function ye(t){const a=it(t.title),s=he(t);if(s)return s;const i=ae(t);return t.capabilityId.startsWith("card.echarts.")&&a&&a!==t.capabilityId?a:i}function nt(t){return t.nextAction==="configure"||t.previewStatus==="requires_config"?!1:!!t.blockPlan&&(!t.previewStatus||t.previewStatus==="ready")}function St(t,a){return Te(t)==="chart"&&Je(a)?fr(t,a)||ao(a)&&nt(a):fr(t,a)||nt(a)}function At(t){return!!t.blockPlan&&(!t.previewStatus||t.previewStatus==="ready")}function We(t){return Array.isArray(t.viewAlternatives)?t.viewAlternatives.filter(a=>!!(a!=null&&a.capabilityId&&a.title)):[]}function ct(t,a="chart"){return[a,t.recommendationId||t.capabilityId,t.capabilityId,t.dataShape||"",t.protocolKind||"",m(t.visualIntent),m(t.blockPlan)].join("|")}function Pt(t){return t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart.")||!!Ra(t)||!!Nc(t)||["metricSummary","singleSeries","multiSeries","pieSlices","scatterPoints","funnelStages"].includes(t.dataShape||"")||["series","network","tree","geo"].includes($(t.protocolKind).toLowerCase())}function Tt(t){const a=_e(t),s=u.value[a];return s?s===ct(t,"chart")||s===ct(t,"table")?t:We(t).find(i=>ct(i,"chart")===s||ct(i,"table")===s)??t:v(t)??X(t)??t}function at(t){return ky.value.get(_e(t))??Tt(t)}function Ut(t){const a=u.value[_e(t)];return a!=null&&a.startsWith("table|")?"table":a!=null&&a.startsWith("chart|")?"chart":v(t)?"table":Pt(Tt(t))?"chart":"table"}function Te(t){return _y.value.get(_e(t))??Ut(t)}function Vt(t){return(Ce(t)??dt(t)).options.length}function Ne(t){var a;return((a=Ce(t))==null?void 0:a.options.length)??dt(t).options.length}function dt(t){const a=[t,...We(t)],s=Be(a,t),i=s.map((g,A)=>({...Z[0],key:`table:${ct(g,"table")}:${A}`,label:we(g,t),item:g,previewMode:"table",disabled:!1,statusLabel:Kn(g)})),l=ee(t),p=l.map((g,A)=>{const P=mn(g);return{key:`template:${g.capabilityId}:${A}`,label:Jt(g,A),icon:jn(g),iconPath:P,iconSrc:P?H.resolveSrc(P):void 0,item:g,previewMode:"chart",disabled:!1,statusLabel:oe.ready}});return{options:[...i,...p],chartCount:l.length,tableCount:s.filter(g=>!ge(g,t)).length}}function Be(t,a){const s=new Set,i=t.filter(g=>pn(g)>0).filter(g=>De(g)||ge(g,a)),l=i.some(g=>!ge(g,a)&&I(g)),p=i.filter(g=>!(l&&ge(g,a))).filter(g=>{const A=ct(g,"table");return s.has(A)?!1:(s.add(A),!0)});return O(G(T(p)))}function v(t){return Be([t,...We(t)],t).find(a=>!ge(a,t)&&I(a))}function I(t){return t.capabilityId===vr}function G(t){const a=t.filter(Ie);if(a.length<=1)return t;const s=Se(a);let i=!1;return t.flatMap(l=>Ie(l)?i?[]:(i=!0,[s]):[l])}function T(t){const a=new Map;for(const i of t){const l=Q(i);l&&a.set(l,[...a.get(l)??[],i])}if(![...a.values()].some(i=>i.length>1&&i.some(I)))return t;const s=new Map;for(const i of a.values()){if(i.length<=1||!i.some(I))continue;const l=M(i);let p=!1;for(const g of i)g===l&&!p?(s.set(g,l),p=!0):s.set(g,null)}return t.flatMap(i=>{if(!s.has(i))return[i];const l=s.get(i);return l?[l]:[]})}function Q(t){const a=te(t);if(a)return a;const s=Tn(t),i=Bt(t);return s.length===0||i.length===0?"":[m(s),String(pn(t)),m(i)].join("|")}function te(t){const a=ca(t),s=pc(a).map(rn).filter(Boolean),i=sr(a);if(s.length===0||i.length===0)return"";const l=D(a.data);return["raw-table",m(s),String(a.rowCount??l.rowCount??i.length),m(i)].join("|")}function M(t){return t.find(I)??t.find(Ie)??t[0]}function O(t){if(t.length!==2)return t;const a=t.find(j),s=t.find(i=>!j(i)&&Ie(i));return!a||!s||!ie(s)?t:[s]}function j(t){return t.dataShape==="metricSummary"||t.capabilityId.startsWith("card.metric.")}function ie(t){return pn(t)>1&&Tn(t).length>1}function Ie(t){const a=Pe(t).toLowerCase();return t.capabilityId.startsWith(Gf)?He.has(a):!!(a&&He.has(a))}function Se(t){return t.find(a=>a.capabilityId===vr)??t[0]}function Pe(t){const a=an(t),s=D(a.renderer),i=D(t.cardConfig),l=D(i.renderer);return $(a.rendererKey)||$(s.rendererKey)||$(i.rendererKey)||$(l.rendererKey)}function Ce(t){return Cy.value.get(_e(t))}function rt(t){var a;return((a=Ce(t))==null?void 0:a.options)??dt(t).options}function lt(t){const a=_e(t),s=Fe(t),i=R.value[a]||1;return Math.min(Math.max(i,1),s)}function Fe(t){return Math.max(1,Math.ceil(rt(t).length/Xa))}function ft(t){const s=(lt(t)-1)*Xa;return rt(t).slice(s,s+Xa)}function S(t){const a=ft(t);return Fe(t)<=1||a.length>=Xa?a:[...a,...Array.from({length:Xa-a.length},(s,i)=>({key:`placeholder:${_e(t)}:${lt(t)}:${i}`,label:"",icon:"bar",disabled:!0,previewMode:"chart",placeholder:!0}))]}function q(t,a){const s=_e(t),i=Math.min(Math.max(lt(t)+a,1),Fe(t));R.value={...R.value,[s]:i},re(t)}function re(t){const a=_e(t);_.value={..._.value,[a]:!0},window.setTimeout(()=>{if(!_.value[a])return;const s={..._.value};delete s[a],_.value=s},0)}function ee(t){const a=new Set,s=[t,...We(t)].filter(l=>Je(l)).filter(l=>!io(l)).filter(l=>cl(t,l));return et(t,s).filter(l=>{const p=zt(t,l);return a.has(p)?!1:(a.add(p),!0)})}function ge(t,a){return t===a&&(t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))}function we(t,a){if(t.capabilityId===vr&&a&&(a.capabilityId.startsWith("card.echarts.")||a.capabilityId.startsWith("card.chart."))||t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))return Z[0].label;const s=an(t);return[it(t.title),it(s.title)].find(i=>i&&i!==t.capabilityId&&!qe(i))||Z[0].label}function Ge(t){return[t,...We(t)].some(a=>Je(a)&&!io(a))}const Xe={bar:0,line:1,pie:2,scatter:3,gauge:4,metric:4,ranking:5,heatmap:6,radar:7,funnel:8,mixedBarLine:8,treemap:9,tree:10,sunburst:11,sankey:12,network:13,graph:13,map:14,candlestick:15,boxplot:16,parallel:17,pictorialBar:18,themeRiver:19},It=[{family:"line",pattern:/(\u6298\u7ebf\u56fe|\u7ebf\u56fe|line\s*chart|line\b)/iu},{family:"bar",pattern:/(\u67f1\u72b6\u56fe|\u67f1\u5f62\u56fe|\u6761\u5f62\u56fe|bar\s*chart|bar\b)/iu},{family:"pie",pattern:/(\u997c\u56fe|\u997c\u72b6\u56fe|pie\s*chart|pie\b)/iu},{family:"scatter",pattern:/(\u6563\u70b9\u56fe|scatter\s*chart|scatter\b)/iu},{family:"funnel",pattern:/(\u6f0f\u6597\u56fe|funnel\s*chart|funnel\b)/iu},{family:"radar",pattern:/(\u96f7\u8fbe\u56fe|radar\s*chart|radar\b)/iu},{family:"heatmap",pattern:/(\u70ed\u529b\u56fe|heat\s*map|heatmap\b)/iu},{family:"gauge",pattern:/(\u4eea\u8868\u76d8|gauge\s*chart|gauge\b)/iu}],pt=["#4C78FC","#35B8A6","#F4B84A","#F47C7C","#8B6FE8","#4DA3C7","#6FBF73","#E66FB3"];function f(t){const a=Jn(t)||Ma(t);return a?a==="network"?"network":a==="ranking"?"ranking":a==="mixedBarLine"?"mixedBarLine":bn(a):""}function b(){const t=D(c.draft.queryResult),a=D(t.data);return[c.draft.prompt,c.draft.message,t.question,a.question].map(it).filter(Boolean).join(`
21
- `)}function x(){var a;const t=b();return t&&((a=It.find(s=>s.pattern.test(t)))==null?void 0:a.family)||""}function X(t){const a=x();return a?[t,...We(t)].find(s=>Pt(s)&&f(s)===a)??null:null}function ke(t){const a=f(t);return Xe[a]??100}function Re(t){const a=an(t);return[t.capabilityId,t.title,t.reason,a.title].filter(Boolean).join(" ").replace(/([a-z0-9])([A-Z])/gu,"$1 $2").toLowerCase()}function st(t){return/(^|[.\-_\s])bump(?:chart)?($|[.\-_\s])/iu.test(Re(t))}function Rt(t){const a=Bt(t);if(a.length===0)return js(nn(t));const s=va(t),i=Ur(a,s),l=Wr(s,i);return!!(i&&l.length>=1)}function ht(t){return Tb(t)?st(t)?Rt(t):!0:!1}function Ye(t){const a=Re(t);let s=0;return/(^|[._\-\s])(first|primary|default|basic|base|simple|main|recommended|common)($|[._\-\s])/u.test(a)&&(s+=12),/[\u57fa\u7840\u9ed8\u8ba4\u9996\u9009\u4f18\u5148\u5e38\u7528\u5339\u914d]/u.test(a)&&(s+=12),/(^|[._\-\s])(second|duplicate|another|copy|variant|alternative|alt)($|[._\-\s])/u.test(a)&&(s-=12),/(\u53e6|\u7b2c\u4e8c|\u5907\u9009|\u91cd\u590d)/u.test(a)&&(s-=12),s}function vt(t,a){const s=La(t,a),i=Bt(s),l=va(s),p=Ur(i,l),g=Wr(l,p),A=f(a);let P=Ye(a);return i.length>0&&(P+=20),l.length>0&&(P+=10),p&&(P+=20),g.length>0&&(P+=15),["bar","line","ranking","gauge","funnel"].includes(A)&&p&&g.length>=1&&(P+=20),A==="pie"&&p&&g.length>=1&&(P+=i.length<=12?18:12),A==="scatter"&&p&&g.length>=1&&(P+=16),A==="heatmap"&&(P+=p&&g.length>=2?18:4),["network","graph","sankey"].includes(A)&&il(s)&&(P+=18),["tree","treemap","sunburst"].includes(A)&&g.length>=1&&(P+=10),P}function Yt(t,a){return a.fitScore-t.fitScore||t.commonRank-a.commonRank||t.index-a.index}function et(t,a){const s=a.map((g,A)=>({candidate:g,index:A,type:f(g),fitScore:vt(t,g),commonRank:ke(g)})).sort(Yt),i=new Map,l=[];for(const g of s){const A=i.get(g.type)||[];A.length===0&&l.push(g.type),A.push(g),i.set(g.type,A)}const p=[];for(;l.length>0;)for(let g=0;g<l.length;){const A=l[g],P=i.get(A),V=P==null?void 0:P.shift();V&&p.push(V),!P||P.length===0?(i.delete(A),l.splice(g,1)):g+=1}return p.map(g=>g.candidate)}function Jt(t,a){return ve(t)||`图表 ${a+1}`}function jn(t){const a=Me(t);if(a)return a;const s=Ra(t);return $m({capabilityId:t.capabilityId,dataShape:t.dataShape,protocolKind:t.protocolKind,mainCategory:s==null?void 0:s.mainCategory,protocolType:s==null?void 0:s.protocolType,seriesTypes:[...Lr(s==null?void 0:s.seriesTypes),...vc(t)],tags:s==null?void 0:s.tags,exampleId:s==null?void 0:s.exampleId,templateType:s==null?void 0:s.templateType,option:ir(t)})}function mn(t){var a;return H.resolvePath((a=Ra(t))==null?void 0:a.iconPath)}function vn(t){t.iconPath&&H.markFailed(t.iconPath)}function Cn(t){t.iconPath&&H.markLoaded(t.iconPath)}function Dn(t){return!!(t.iconPath&&H.shouldShow(t.iconPath))}function Sn(t){return!!(t.iconPath&&H.isLoaded(t.iconPath))}function Y(t){return!Sn(t)}function de(t){return!!(t.iconPath&&H.shouldShow(t.iconPath)&&!H.isLoaded(t.iconPath))}function Me(t){const a=Pc(t.capabilityId);if(!a)return;if(Object.prototype.hasOwnProperty.call(ne,a))return ne[a];const s=$(t.protocolKind);return Object.prototype.hasOwnProperty.call(ne,s)?ne[s]:null}function ve(t){const a=an(t),s=D(a.meta);return[it(s.registryTitle),it(t.title),it(a.title)].find(l=>l&&l!==t.capabilityId&&!ue.test(l)&&!qe(l))||""}function qe(t){return/^doc-example\//iu.test(t)||/^example\//iu.test(t)}function je(t){return qe($(t.title))||qe($(an(t).title))}function Je(t){return(t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))&&!je(t)&&!!ve(t)}function zt(t,a){const s=La(t,a),i=Jn(a)||Ma(a)||"";return[a.capabilityId.startsWith("card.chart.")||/^card\.echarts\.[^.]+\.[^.]*basic[^.]*$/iu.test(a.capabilityId)?`chart-type:${i||a.capabilityId}`:a.capabilityId,ve(a).trim(),i,Ic(a),m(Qn(s)),m(va(s))].join("|")}function en(t){const a=Ce(t)??dt(t);return a.options.length<=1?!1:We(t).length>0?!0:a.chartCount>1}function Nn(t){return We(t).length>0&&Ne(t)>1}function Ln(t,a){if(a.disabled||!a.item)return;const s=_e(t);u.value={...u.value,[s]:ct(a.item,a.previewMode)},y.value={...y.value,[s]:!1},E.value={...E.value,[s]:1}}function Ht(t){const a=F.value[_e(t)];return Number.isInteger(a)?Math.min(Math.max(a,0),K.length-1):tn(t)}function tn(t){return tl(t)?Of:Ji}function fe(t){const a=Ee(t);if(!a)return K[Ht(t)]??K[Ji];const s=Ht(t)-tn(t);return be(a+s*zf)}function k(t,a){const s=Ht(t)+a;return s>=0&&s<K.length}function L(t,a){const s=_e(t),i=Math.min(Math.max(Ht(t)+a,0),K.length-1);F.value={...F.value,[s]:i}}function N(t){F.value={...F.value,[_e(t)]:tn(t)}}function me(t){return typeof t=="number"&&Number.isFinite(t)&&t>0?t:void 0}function be(t){return Math.min($f,Math.max(Ff,Math.round(t)))}function Ee(t){const a=at(t),s=D(an(a).layout),i=me(s.h)??me(s.minH);if(!i)return;const l=i*Vf,p=tl(t)?Hf:0;return be(Math.max(l,p))}function ot(t,a){const s=a.item;if(!s)return!1;const i=u.value[_e(t)],l=ct(s,a.previewMode);return i?i===l:Te(t)===a.previewMode&&ct(at(t),a.previewMode)===l}function Mt(t){const a=Et(t);if(a==="inserting")return"插入中";if(a==="success")return"已插入";const s=at(t),i=dl(t);return i.insertReadyChart?"+ 插入":s.nextAction==="configure"||s.previewStatus==="requires_config"?Nr(s):i.canChoose?"+ 插入":Nr(s)}function Et(t){return B.value[ct(at(t),Te(t))]||""}function ra(t){const a=_e(t);y.value={...y.value,[a]:!y.value[a]}}function ut(t){return!!y.value[_e(t)]}function Ea(t,a){const s=a.currentTarget instanceof HTMLElement?a.currentTarget:null,i=a.relatedTarget instanceof Node?a.relatedTarget:null;if(s&&i&&s.contains(i))return;const l=_e(t);if(!i&&_.value[l]){const p={..._.value};delete p[l],_.value=p;return}y.value[l]&&(y.value={...y.value,[l]:!1})}function xa(t){var a;return it(t.diagnosticReason)||it(t.previewReason)||er((a=t.diagnostics)==null?void 0:a.reasonCodes)}function Nr(t){return t.nextAction==="configure"||t.previewStatus==="requires_config"?Kn(t):t.nextAction==="execute_query"||t.previewStatus==="requires_execution"||t.previewStatus==="blocked"||t.previewStatus==="empty"?"重新问数":"使用"}function Kn(t){const a=t.previewStatus||"ready";return oe[a]||"可插入"}function er(t){return Array.isArray(t)?t.filter(a=>typeof a=="string"&&a.trim().length>0).map(a=>a.trim()).slice(0,3).join("、"):""}function D(t){return se(t)?t:{}}function $(t){return typeof t=="string"&&t.trim().length>0?t.trim():""}function Lr(t){return Array.isArray(t)?t.flatMap(a=>{const s=$(a);return s?[s]:[]}):[]}function it(t){const a=$(t);return!a||/^[?\s]+$/u.test(a)||/\?{2,}/u.test(a)||/\uFFFD/u.test(a)?"":a}function An(t){const a=D(t.cardConfig),s=D(t.selectedConfig),i=D(s.values),l=D(t.dataBinding),p=D(t.queryResult),g=D(p.data),A=D(p.dataBinding),P=D(l.queryResult),V=D(P.data),W=an(t),pe=D(W.data),Ve=D(pe.dataBinding),bt=D(W.meta),Wt=D(bt.queryResult);return Pn(nr(P.columns),nr(Wt.columns),nr(p.columns),oa(P),oa(Wt),oa(p),gt(V.fieldLabels),gt(P.fieldLabels),gt(Wt.fieldLabels),gt(D(P.metadata).fieldLabels),gt(D(Wt.metadata).fieldLabels),gt(Ve.fieldLabels),gt(pe.fieldLabels),gt(g.fieldLabels),gt(A.fieldLabels),gt(p.fieldLabels),gt(D(p.metadata).fieldLabels),gt(l.fieldLabels),gt(s.fieldLabels),gt(i.fieldLabels),gt(a.fieldLabels))}function gt(t){const a=D(t);return Object.fromEntries(Object.entries(a).flatMap(([s,i])=>{const l=xt(i,s);return l?[[s,l]]:[]}))}function Pn(...t){const a={};for(const s of t)for(const[i,l]of Object.entries(s))a[i]=zs(i,a[i],l);return a}function zs(t,a,s){const i=xt(s,t);return i?!a||tr(i)&&!tr(a)||Pr(a)&&tr(i)&&!Pr(i)?i:a:a||""}function tr(t){return/[\u3400-\u9fff\uf900-\ufaff]/u.test(t)}function Pr(t){return/[A-Za-z]/u.test(t)}function Mr(t){return Array.isArray(t)?t.map(a=>rn(a)).filter(Boolean):[]}function sa(t,a){if(!Array.isArray(t))return{};const s=Mr(a),i=t.flatMap((p,g)=>{const A=(se(p)?rn(p):s[g])||"",P=se(p)?xt(p.label,A)||xt(p.title,A)||xt(p.displayName,A):xt(p,A);return A&&P?[[A,P]]:[]}),l=i.reduce((p,[,g])=>(p.set(g,(p.get(g)??0)+1),p),new Map);return Object.fromEntries(i.filter(([,p])=>l.get(p)===1))}function Ba(t,a){if(!Array.isArray(t))return{};const s=t.find(se);if(!s)return{};const i=Mr(a);return Object.fromEntries(Object.keys(s).flatMap((l,p)=>{const g=i[p]||"",A=xt(l,g);return g&&A?[[g,A]]:[]}))}function oa(t){const a=D(t.data),s=D(t.metadata),i=Array.isArray(t.columns)?t.columns:a.columns;return Pn(sa(a.displayColumns,i),sa(t.displayColumns,i),sa(s.displayColumns,i),sa(a.columnMetadata,i),sa(s.columnMetadata,i),Ba(a.displayRows,i),Ba(t.displayRows,i),Ba(s.displayRows,i))}function nr(t){return Array.isArray(t)?Object.fromEntries(t.flatMap(a=>{if(!se(a))return[];const s=rn(a),i=xt(a.label,s)||xt(a.title,s)||xt(a.displayName,s)||xt(a.nameCn,s)||xt(a.name_cn,s);return s&&i?[[s,i]]:[]})):{}}function Qn(t){const a=D(t.cardConfig),s=D(t.selectedConfig),i=D(s.values),l=D(t.dataBinding);return[D(a.fieldMapping),D(s.fieldMapping),D(i.fieldMapping),D(l.fieldMapping)].find(g=>Object.keys(g).length>0)??{}}function wn(t,a){const s=$(t);return s?Gn({key:s,labels:a}):""}function xt(t,a){const s=it(t);if(!s)return"";const i=a.trim();return s===i?"":s}function _e(t){var i,l;if(t.recommendationId)return t.recommendationId;const a=er((i=t.visualIntent)==null?void 0:i.dimensionFields)||"none",s=er((l=t.visualIntent)==null?void 0:l.measureFields)||"none";return`${t.capabilityId}:${a}:${s}`}function m(t){return Array.isArray(t)?`[${t.map(a=>m(a)).join(",")}]`:se(t)?`{${Object.keys(t).sort().map(a=>`${a}:${m(t[a])}`).join("|")}}`:typeof t=="string"?t.trim():typeof t=="number"||typeof t=="boolean"?String(t):""}function h(t){var i,l,p,g,A,P;if(Je(t)){const V=Qn(t),W=Object.keys(V).length>0?m(V):"",pe=Jn(t)||Ma(t)||"";return["chart",t.capabilityId.startsWith("card.chart.")||/^card\.echarts\.[^.]+\.basic$/u.test(t.capabilityId)?`chart-type:${pe||t.capabilityId}`:t.capabilityId,t.dataShape||"",W||m((i=t.visualIntent)==null?void 0:i.dimensionFields),W?"":m((l=t.visualIntent)==null?void 0:l.measureFields),W?"":m((p=t.visualIntent)==null?void 0:p.filterFields),pe,Ic(t),aa(t)].join("|")}const a=Qn(t),s=Object.keys(a).length>0?m(a):"";return[ae(t),t.dataShape||"",s||m((g=t.visualIntent)==null?void 0:g.dimensionFields),s?"":m((A=t.visualIntent)==null?void 0:A.measureFields),s?"":m((P=t.visualIntent)==null?void 0:P.filterFields),aa(t)].join("|")}function w(t){const{viewAlternatives:a,...s}=t;return s}function le(t){return pn(t)>0&&De(t)}function De(t){return!t.capabilityId.startsWith("card.echarts.")&&!t.capabilityId.startsWith("card.chart.")}function tt(t){if(!le(t))return"";const a=he(t)||it(t.title);return a?[a,aa(t),m(Qn(t)),m(Tn(t)),String(pn(t)),m(Bt(t))].join("|"):""}function $e(t){return!Ie(t)||pn(t)<=0?"":[Pe(t).toLowerCase()||"datatable",aa(t),m(Qn(t)),m(Tn(t)),String(pn(t)),m(Bt(t))].join("|")}function yt(t){return pn(t)<=0?[]:[te(t),Q(t),fn(t)].filter((a,s,i)=>!!a&&i.indexOf(a)===s)}function Ot(t){const a=new Set;for(const s of t)if(Ge(s)){for(const i of yt(s))a.add(i);for(const i of Be([s,...We(s)],s))for(const l of yt(i))a.add(l)}return a}function Mn(t){const a=Ot(t);if(a.size===0)return t;const s=new Set,i=[];for(const l of t){if(Ge(l)){i.push(l);continue}const g=yt(l).filter(A=>a.has(A));if(g.length>0){g.forEach(A=>s.add(A));continue}i.push(l)}return s.size===0?t:i}function fn(t){return pn(t)<=0||Tn(t).length<=0?"":[aa(t),m(Tn(t)),String(pn(t)),m(Bt(t))].join("|")}function Ia(t){return Or(t)||Je(t)}function Or(t){return le(t)&&!j(t)}function ia(t){const a=new Map,s=new Set;for(const p of t){if(!Ia(p))continue;const g=fn(p);g&&!a.has(g)&&a.set(g,p),g&&Je(p)&&s.add(g)}const i=new Map,l=new Set;for(const p of t){if(!Ia(p))continue;const g=fn(p);if(!g||!s.has(g))continue;const A=g?a.get(g):void 0;if(!A||A===p)continue;const P=i.get(A)??[];P.push(w(p),...We(p).map(w)),i.set(A,P),l.add(p)}return t.flatMap(p=>{if(l.has(p))return[];const g=i.get(p);return!g||g.length===0?[p]:[{...p,viewAlternatives:[...Array.isArray(p.viewAlternatives)?p.viewAlternatives:[],...g]}]})}function Fr(t){const a=[],s=new Map;for(const i of t){const l=tt(i),p=l?s.get(l):void 0;if(!l||p===void 0){l&&s.set(l,a.length),a.push(i);continue}const g=a[p],A=j(g)&&Ie(i)&&ie(i);a[p]=A?{...i,viewAlternatives:[w(g),...We(g).map(w),...Array.isArray(i.viewAlternatives)?i.viewAlternatives:[]]}:{...g,viewAlternatives:[...Array.isArray(g.viewAlternatives)?g.viewAlternatives:[],w(i)]}}return a}function yy(t){const a=[],s=new Map;for(const i of t){const l=$e(i),p=l?s.get(l):void 0;if(!l||p===void 0){l&&s.set(l,a.length),a.push(i);continue}const g=a[p];a[p]={...g,viewAlternatives:[...Array.isArray(g.viewAlternatives)?g.viewAlternatives:[],w(i),...We(i).map(w)]}}return a}function by(t){if(!Ie(t))return t;const a=We(t),s=a.find(i=>i.capabilityId===vr&&Ie(i));return s?{...s,viewAlternatives:[w(t),...a.filter(i=>i!==s).map(w)]}:t}const Gt=n.computed(()=>{const t=new Set,s=Mn(yy(Fr(ia(c.draft.recommendations))).map(by)).filter(i=>{const l=h(i);return t.has(l)?!1:(t.add(l),!0)});return s.some(At)?s:s.slice(0,1)}),ky=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(_e(a),Tt(a));return t}),_y=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(_e(a),Ut(a));return t}),Cy=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(_e(a),dt(a));return t}),sc=n.computed(()=>{const t=new Map;for(const a of Gt.value){const s=_e(a);t.set(s,Te(a)==="chart"?Zc(a):null)}return t}),Sy=n.computed(()=>{const t=new Map;for(const a of Gt.value){const s=sc.value.get(_e(a));s&&t.set(_e(a),Xc(s))}return t}),Ay=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(_e(a),ll(a,Tt(a)));return t}),wy=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(_e(a),ml(a));return t}),Ty=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(_e(a),Sc(Tt(a)));return t}),oc=n.computed(()=>Gt.value.length);function Ey(t){return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):void 0}const xy=n.computed(()=>Ry()?vy():Ey(c.draft.totalRecommendationCount)??(Iy()?Dy():By())),ic=n.computed(()=>{const t=xy.value;return t<=0?"":`共 ${t} 个`}),cc=n.computed(()=>oc.value<=0?"":c.draft.exhausted===!0?"已展示完全部推荐。":"");function se(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;const a=Object.getPrototypeOf(t);return a===Object.prototype||a===null}function By(){return Gt.value.reduce((t,a)=>t+lc(a),0)}function Iy(){return Gt.value.length===1&&Gt.value.some(Nn)}function Ry(){return Gt.value.length===1&&Gt.value.some(t=>en(t)&&Vt(t)>0)}function vy(){return Gt.value.reduce((t,a)=>t+Vt(a),0)}function Dy(){return Gt.value.reduce((t,a)=>t+lc(a),0)}function lc(t){return Nn(t)?rt(t).length:1}function $r(t){return se(t)?rr(t).length>0:!1}function ar(t){return Array.isArray(t)?t.filter(a=>se(a)):[]}function Hs(t){const a=D(t.data),s=D(t.metadata);return[ar(t.displayRows),ar(a.displayRows),ar(s.displayRows)].find(i=>i.length>0)||[]}function Ny(t){const a=/^(合计|总计|汇总|小计|total|subtotal)$/iu;return t.some(s=>Object.values(s).some(i=>a.test(Gs(Zt(i)))))}function Ly(t,a){return t.length===0||a.length===0?!1:Ny(t)}function rr(t){const a=Hs(t),s=sr(t);return Ly(a,s)?s:a.length>0?a:s}function sr(t){const a=ar(t.rows),s=D(t.data),i=ar(s.rows),l=new Set(a.map(p=>m(p)));return[...a,...i.filter(p=>!l.has(m(p)))]}function dc(t){if(!$r(t))return!1;const a=rr(t);return a.length===0?!1:(Array.isArray(t.columns)?t.columns:Array.isArray(D(t.data).columns)?D(t.data).columns:[]).map(rn).filter(l=>l&&a.some(p=>Object.prototype.hasOwnProperty.call(p,l))).length>1||Object.keys(a[0]??{}).length>1}function Vr(t){if(!se(t))return!1;const a=D(t.dataBinding);return a.bindingKind==="runtime_metric"?$(a.serviceOperation)==="metric_execute"&&se(a.serviceParams):!!(($(a.validatedSql)||$(a.sql)||$(a.originalSql)||$(a.translatedSql))&&se(a.permissionContext))}function Py(t,a){const s=rr(t),i=rr(a);return s.length>0&&s.length===i.length&&m(s)===m(i)}function uc(t){const a=D(t.data),s=D(t.metadata);return[t.resultId,t.result_id,t.id,a.resultId,a.result_id,a.id,s.resultId,s.result_id,s.id].map($).filter(Boolean)}function mc(t){const a=D(t.data),s=D(t.metadata);return $(t.sourceTurnId)||$(t.source_turn_id)||$(a.sourceTurnId)||$(a.source_turn_id)||$(s.sourceTurnId)||$(s.source_turn_id)}function My(t,a){const s=uc(t),i=uc(a);if(s.length>0&&i.length>0)return s.some(g=>i.includes(g))?!0:fc(t,a);const l=mc(t),p=mc(a);return l&&p?l===p:fc(t,a)}function fc(t,a){const s=sr(t),i=sr(a);return s.length>0&&i.length>0&&m(s)===m(i)}function pc(t){const a=D(t.data);return Array.isArray(t.columns)?t.columns:Array.isArray(a.columns)?a.columns:[]}function Oy(t){const a=D(t.data),s=D(t.metadata);return[t.displayColumns,a.displayColumns,s.displayColumns].find(i=>Array.isArray(i))??[]}function hc(t){const a=D(t.data),s=D(t.metadata);return Pn(oa(t),gt(a.fieldLabels),gt(s.fieldLabels),gt(t.fieldLabels))}function Fy(t,a){const s=Object.keys(t[0]??{});if(s.length===0)return!1;const i=pc(a).map(rn).filter(Boolean);if(i.length>0)return i.some(p=>t.some(g=>Object.prototype.hasOwnProperty.call(g,p)))?!0:s.length===i.length;const l=[...new Set(sr(a).flatMap(p=>Object.keys(p)))];return l.length===0||l.some(p=>t.some(g=>Object.prototype.hasOwnProperty.call(g,p)))?!0:s.length===l.length}function gc(t,a){if(!a||!My(t,a))return t;const s=Hs(a),i=D(t.data),l=Oy(a),p=Pn(hc(a),hc(t)),g=s.length>0&&Fy(s,t);return!g&&l.length===0&&Object.keys(p).length===0?t:{...t,...l.length>0?{displayColumns:l}:{},...g?{displayRows:s}:{},...Object.keys(p).length>0?{fieldLabels:p}:{},data:{...i,...l.length>0?{displayColumns:l}:{},...g?{displayRows:s}:{},...Object.keys(p).length>0?{fieldLabels:p}:{}}}}function yc(t,a){if(Vr(t)||!a||!Vr(a))return t;const s=t,i=a;if(!Py(s,i))return t;const l=D(s.data),p=D(i.data);return{...s,dataBinding:i.dataBinding,data:{...l,...p.dataBinding?{dataBinding:p.dataBinding}:{}}}}function ca(t){const a=se(c.draft.queryResult)&&($r(c.draft.queryResult)||Vr(c.draft.queryResult))?c.draft.queryResult:null,s=D(an(t).meta),i=se(s.queryResult)?s.queryResult:null,l=se(t.queryResult)?t.queryResult:i,p=l?yc(gc(l,a),a):t.queryResult;return dc(p)?p:a||(se(t.queryResult)?t.queryResult:i??{})}function an(t){return D(t.blockPlan)}function nn(t){return D(an(t).data)}function $y(t){const a=ca(t),s=D(a.data),i=rr(a);if(i.length>0)return i;const l=Object.prototype.hasOwnProperty.call(a,"value")?a.value:Object.prototype.hasOwnProperty.call(s,"value")?s.value:void 0;return l===void 0?[]:[{[(Array.isArray(a.columns)?a.columns:Array.isArray(s.columns)?s.columns:[]).map(rn).find(Boolean)||"value"]:l}]}function Vy(t){const a=nn(t),s=Array.isArray(a.columns)?a.columns.map((l,p)=>$(l)||`column_${p+1}`):[];return(Array.isArray(a.rows)?a.rows:[]).flatMap((l,p)=>{if(!se(l))return[];const g=Array.isArray(l.cells)?l.cells:[];if(g.length===0)return[];const A=Object.fromEntries(g.map((P,V)=>[s[V]||`column_${V+1}`,P]));return[Object.keys(A).length>0?A:{[`row_${p+1}`]:""}]})}function Bt(t){const a=$y(t);return a.length>0?a:Vy(t)}function rn(t){return typeof t=="string"?t.trim():se(t)?$(t.key)||$(t.dataIndex)||$(t.field)||$(t.name):""}function bc(t){return typeof t=="string"?it(t):se(t)?it(t.label)||it(t.title)||it(t.displayName)||it(t.nameCn)||it(t.name_cn):""}function zy(t,a){const s=Object.keys(a[0]??{});if(t.length===0||s.length===0)return[];const i=t.flatMap((l,p)=>{const g=rn(l),A=g&&a.some(V=>Object.prototype.hasOwnProperty.call(V,g))?g:s[p]||"";if(!A||!a.some(V=>Object.prototype.hasOwnProperty.call(V,A)))return[];const P=xt(bc(l),A);return P?[{field:A,label:P,...se(l)&&typeof l.role=="string"&&l.role.trim()?{role:l.role.trim()}:{},...se(l)&&typeof l.type=="string"&&l.type.trim()?{type:l.type.trim()}:{}}]:[]});return i.length===t.length?i:[]}function Hy(t,a){return t.map(s=>{if(!se(s))return s;const i=rn(s),l=i?xt(a[i],i):"";return l?{...s,label:l}:s})}function or(t,a,s){const i=rn(t);if(!i)return"";if(a.some(p=>Object.prototype.hasOwnProperty.call(p,i)))return i;const l=Object.keys(a[0]??{})[s]||"";return l&&a.some(p=>Object.prototype.hasOwnProperty.call(p,l))?l:i}function kc(t,a,s,i){const l=rn(t);if(!l)return"";const p=i||l,g=se(t)?it(t.label)||it(t.title)||it(t.displayName):void 0,A=xt(g,p)||void 0;return se(t)&&t.role,Gn({key:p,explicitLabel:A,labels:a})}function Gy(t){const a=t.trim().toLowerCase();return a==="唯一标识符"||a==="唯一标识"||a==="identifier"||a==="unique identifier"||a==="id"}function qy(t){return se(t)?it(t.label)||it(t.title)||it(t.displayName):""}function Uy(t,a,s){const i=t.flatMap((p,g)=>{const A=or(p,a,g);if(!A)return[];const P=s[A]||xt(qy(p),A);return P&&Gy(P)?[{key:A,label:P}]:[]}),l=i.reduce((p,g)=>(p[g.label]=(p[g.label]||0)+1,p),{});return new Set(i.filter(p=>l[p.label]>1).map(p=>p.key))}function Wy(t,a){return a.size===0?t:Object.fromEntries(Object.entries(t).filter(([s])=>!a.has(s)))}function _c(t){return t.trim().replace(/[^a-z0-9]+/giu,"").toLowerCase()}function jy(t){const a=_c(t);return a==="metricname"?"指标名称":a==="value"||a==="metricvalue"?"指标值":""}function Ky(t){const a=new Set(t.map(_c));return a.has("metricname")&&(a.has("value")||a.has("metricvalue"))}function Qy(t,a){if(!Ky(a))return t;const s={...t};for(const i of a)if(!s[i]){const l=jy(i);l&&(s[i]=l)}return s}function zr(t,a){return t.some(s=>{const i=rn(s);return!!i&&a.some(l=>Object.prototype.hasOwnProperty.call(l,i))})}function Yy(t,a,s){const i=t.map((l,p)=>or(l,a,p)).filter(Boolean);return i.length>0&&i.every(l=>!!(s[l]&&s[l]!==l))}function Jy(t,a){const s=nn(t);if(t.dataShape!=="metricSummary"&&s.shape!=="metricSummary"||!Object.prototype.hasOwnProperty.call(s,"primaryValue"))return"";const i=a[0];if(!i)return"";const l=s.primaryValue,p=Object.keys(i).filter(g=>a.some(A=>Object.is(A[g],l)||String(A[g])===String(l)));return p.length===1?p[0]:""}function Zy(t,a,s){if(a.length!==1||zr(a,s))return null;const i=Jy(t,s);if(!i)return null;const l=a[0],p=nn(t),g=xt(bc(l),i)||xt(p.primaryLabel,i);return[{field:i,...g?{label:g}:{},...se(l)&&typeof l.role=="string"&&l.role.trim()?{role:l.role.trim()}:{},...se(l)&&typeof l.type=="string"&&l.type.trim()?{type:l.type.trim()}:{}}]}function Xy(t,a,s,i,l=[]){const p=zy(l,i);if(p.length>0)return p;if(l.length>0&&zr(l,i))return l;if(!zr(a,i)&&zr(s,i))return s;const g=Zy(t,a,i);return g||(a.length>0?a:s)}function Tn(t){const a=ca(t),s=D(a.data),i=Bt(t),l=Hs(a).length>0,p=Pn(oa(a),gt(s.fieldLabels),gt(a.fieldLabels)),g=l?Pn(p,An(t)):Pn(An(t),p),A=Array.isArray(a.columns)?a.columns:[],P=Array.isArray(s.columns)?s.columns:[],V=nn(t),W=Array.isArray(V.displayColumns)?V.displayColumns:[],pe=Yy(A,i,g)?[]:W,Ve=Hy(Xy(t,A,P,i,pe),g),bt=Uy(Ve,i,g),Wt=Ve.map((mt,Ft)=>or(mt,i,Ft)).filter(Boolean),xn=Qy(Wy(g,bt),Wt),la=Ve.map((mt,Ft)=>{const Lt=or(mt,i,Ft),Oa=bt.has(Lt)?wn(Lt,xn)||Lt:kc(mt,xn,Ft,Lt);return{key:Lt,label:Oa}}).filter(mt=>mt.key&&mt.label);if(la.length>0)return la;const On=nn(t).columns,Nt=Array.isArray(On)?On.map((mt,Ft)=>{const Lt=rn(mt)||`column_${Ft+1}`;return{key:Lt,label:kc(mt,xn)||Lt}}):[];return Nt.length>0?Nt:Object.keys(i[0]??{}).map(mt=>({key:mt,label:wn(mt,g)||mt}))}function Gs(t){let a=t.trim();const s=[/^\*\*([\s\S]+)\*\*$/u,/^__([\s\S]+)__$/u,/^\*([\s\S]+)\*$/u,/^_([\s\S]+)_$/u,/^`([\s\S]+)`$/u];for(const i of s){const l=a.match(i);if(l){a=l[1].trim();break}}return a.replace(/\*\*([^*]+)\*\*/gu,"$1").replace(/__([^_]+)__/gu,"$1").replace(/`([^`]+)`/gu,"$1")}function Zt(t){if(t==null||t==="")return"-";if(Array.isArray(t))return t.map(s=>Zt(s).trim()).filter(s=>s&&s!=="-").join(",")||"-";if(typeof t=="number"||typeof t=="boolean")return String(t);if(typeof t=="string"){const a=t.trim();if(a.startsWith("[")&&a.endsWith("]"))try{const s=JSON.parse(a);if(Array.isArray(s))return Zt(s)}catch{return Gs(a)}return Gs(a)}return JSON.stringify(t)}function pn(t){const a=Bt(t).length;return Math.max(tb(t)??0,a)}function eb(t){const a=typeof t=="number"?t:typeof t=="string"&&t.trim()?Number(t.trim()):Number.NaN;if(!(!Number.isFinite(a)||a<0))return Math.floor(a)}function tb(t){const a=ca(t),s=D(a.data),i=D(a.metadata),l=D(s.metadata),p=D(a.dataBinding),g=D(p.queryResult),A=[a.rowCount,a.totalCount,a.total_count,a.total,s.rowCount,s.totalCount,s.total_count,s.total,i.rowCount,i.totalCount,i.total_count,i.total,l.rowCount,l.totalCount,l.total_count,l.total,g.rowCount,g.totalCount,g.total_count,g.total];for(const P of A){const V=eb(P);if(V!==void 0)return V}}function Yn(t){return E.value[_e(t)]||1}function qs(t){return Math.max(1,Math.ceil(Bt(t).length/Ls))}function Cc(t,a){const s=Math.max(1,Math.floor(a)),i=Math.min(Mf,s),l=Math.min(Math.max(1,Math.floor(t)),s),p=Math.floor(i/2);let g=l-p,A=g+i-1;return g<1&&(g=1,A=i),A>s&&(A=s,g=Math.max(1,A-i+1)),Array.from({length:A-g+1},(P,V)=>g+V)}function Sc(t){const a=pn(t),s=qs(t);return{columns:Tn(t),totalCount:a,pageCount:s,pages:Cc(1,s)}}function Us(t){const a=at(t);return Ty.value.get(_e(t))??Sc(a)}function Ac(t){return Us(t).columns}function wc(t){return Us(t).totalCount}function Hr(t){return Us(t).pageCount}function nb(t){const a=Hr(t);return`${Math.min(Yn(t),a)} / ${a} 页`}function ab(t){const a=Yn(t),s=Hr(t);return Cc(a,s)}function rb(t){const a=at(t),i=(Math.min(Yn(t),qs(a))-1)*Ls;return Bt(a).slice(i,i+Ls)}function Ws(t,a){const s=at(t),i=Math.min(Math.max(1,a),qs(s));E.value={...E.value,[_e(t)]:i}}function Tc(t){const a=at(t),s=C.value[_e(t)];return s||he(t)||he(a)||ye(a)}function sb(t){const a=_e(t);return U.value[a]?$(z.value[a]):$(C.value[a])}function ob(t){return!!U.value[_e(t)]}function ib(t){const a=_e(t);z.value={...z.value,[a]:Tc(t)},U.value={...U.value,[a]:!0}}function cb(t,a){const s=a.target instanceof HTMLInputElement?a.target:null;s&&(z.value={...z.value,[_e(t)]:s.value})}function Ec(t){const a=_e(t),s=$(z.value[a]);C.value=s?{...C.value,[a]:s}:Object.fromEntries(Object.entries(C.value).filter(([i])=>i!==a)),U.value={...U.value,[a]:!1}}function Dt(t){return Array.isArray(t)?t.map(a=>Dt(a)):se(t)?Object.fromEntries(Object.entries(t).map(([a,s])=>[a,Dt(s)])):t}function xc(t){return D(t.protocolConfig)}function Bc(t){return D(t.protocolData)}function lb(t,a){const s=D(a.categories),i=Array.isArray(s.xAxis)?s.xAxis:[];if(i.length!==0){if(Array.isArray(t.xAxis)){t.xAxis=t.xAxis.map((l,p)=>p===0&&se(l)?{...l,data:Dt(i)}:l);return}t.xAxis=se(t.xAxis)?{...t.xAxis,data:Dt(i)}:{type:"category",data:Dt(i)}}}function db(t,a){if(!Array.isArray(a.datasets))return;const s=a.datasets.filter(se).map(i=>({...$(i.id)?{id:$(i.id)}:{},...Array.isArray(i.dimensions)&&i.dimensions.length>0?{dimensions:Dt(i.dimensions)}:{},...Array.isArray(i.source)?{source:Dt(i.source)}:{}})).filter(i=>Object.keys(i).length>0);s.length!==0&&(t.dataset=s.length===1?s[0]:s)}function ub(t,a){const s=Array.isArray(a.series)?a.series.filter(se).filter(g=>Array.isArray(g.data)):[];if(s.length===0)return;const i=Array.isArray(t.series)?t.series.filter(se):[],l=s.map((g,A)=>{const P=i[A]||i.find(V=>$(V.type)===$(g.typeHint))||i.find(V=>$(V.type)===$(g.type))||i[0]||{};return{...P,type:$(g.typeHint)||$(g.type)||$(P.type)||"line",...$(g.name)?{name:$(g.name)}:$(P.name)?{name:$(P.name)}:{},data:Dt(Array.isArray(g.data)?g.data:[])}});t.series=l;const p=l.map(g=>$(g.name)).filter(Boolean);p.length>0&&(t.legend=Da(t.legend,p))}function Gr(t){if(t.shape!=="protocolRender"||$(t.rendererType)!=="echarts")return{};const a=xc(t),s=D(a.optionPatch);if(!yn(s))return{};const i=Dt(s),l=Bc(t);return lb(i,l),db(i,l),ub(i,l),i}function mb(t){return yn(Gr(nn(t)))}function js(t){const a=Bc(t);return Array.isArray(a.series)||Array.isArray(a.datasets)||yn(D(a.categories))}function Ic(t){const a=nn(t);if(a.shape!=="protocolRender")return"";const s=xc(a);return m({shape:a.shape,rendererType:a.rendererType,chartId:$(s.chartId),optionPatch:D(s.optionPatch)})}function ir(t){const a=nn(t),s=Gr(a);return yn(s)?s:qr(t,D(a.option))}function Rc(t){const a=ir(t);return hn(a)}function vc(t){return Rc(t).flatMap(a=>{const s=$(a.type);return s?[s]:[]})}function Dc(t){return Rc(t).some(a=>$(a.type)==="pie"&&Array.isArray(a.radius)&&a.radius.length>=2)}function Nc(t){const a=ir(t),s=new Set(vc(t).map(i=>i.toLowerCase()));if(s.has("pie")&&Dc(t))return"donut";if(se(a.geo))return"map";if(se(a.calendar)||Array.isArray(a.calendar))return"heatmap";if(s.has("graph"))return"network";if(s.has("themeriver"))return"themeRiver";if(s.has("pictorialbar"))return"pictorialBar";if(s.has("bar")&&s.has("line"))return"mixedBarLine";for(const i of["sankey","tree","treemap","sunburst","radar","funnel","heatmap","gauge","candlestick","boxplot","parallel","pie","scatter","line","bar"])if(s.has(i))return i;return null}function qr(t,a){if(Object.keys(a).length===0)return a;const s=An(t),i=Array.isArray(a.series)?a.series.map(p=>fb(p,s)):a.series,l=Array.isArray(i)?i.filter(se).map(p=>$(p.name)).filter(Boolean):[];return{...a,...i?{series:i}:{},...a.legend!==void 0||l.length>1?{legend:pb(a.legend,s,l)}:{},...a.xAxis!==void 0?{xAxis:Ks(a.xAxis,s)}:{},...a.yAxis!==void 0?{yAxis:Ks(a.yAxis,s)}:{}}}function fb(t,a){if(!se(t))return t;const s=$(t.name);return s?{...t,name:wn(s,a)}:t}function pb(t,a,s){const i=l=>Array.isArray(l)?l.map(p=>typeof p=="string"?wn(p,a):p):s.length>1?s:l;return Array.isArray(t)?t.map(l=>se(l)?{...l,data:i(l.data)}:l):se(t)?{...t,data:i(t.data)}:s.length>1?{data:s}:t}function Ks(t,a){if(Array.isArray(t))return t.map(i=>Ks(i,a));if(!se(t))return t;const s=$(t.name);return s?{...t,name:wn(s,a)}:t}function hb(t){const a=Array.isArray(t)?t[0]:t,s=D(a).data;return Array.isArray(s)?s:[]}function gb(t){return Array.isArray(t)?t.flatMap(a=>{if(typeof a=="number"&&Number.isFinite(a))return[a];if(Array.isArray(a)){const s=a.find(i=>typeof i=="number"&&Number.isFinite(i));return typeof s=="number"?[s]:[]}return se(a)&&typeof a.value=="number"&&Number.isFinite(a.value)?[a.value]:[]}):[]}function Qs(t,a={}){const s=a.previewType||Ma(t);if(!s)return null;if(a.useMaterializedOption!==!1){const V=ir(t),pe=(Array.isArray(V.series)?V.series.filter(se):[])[0];if(pe){const Ve=gb(pe.data),bt=hb(V.xAxis).map(Wt=>Zt(Wt));if(Ve.length>0)return{title:$(pe.name)||ye(t),type:$(pe.type)||s,points:Ve.map((Wt,xn)=>({label:bt[xn]||`项 ${xn+1}`,value:Wt}))}}}const i=Bt(t),l=Tn(t).map(V=>V.key),p=l.find(V=>i.some(W=>typeof W[V]=="number"&&Number.isFinite(W[V]))),g=l.find(V=>V!==p)||l[0];if(!g||i.length===0)return null;if(p)return{title:wn(p,An(t)),type:s,points:i.flatMap((V,W)=>{const pe=V[p];return typeof pe=="number"&&Number.isFinite(pe)?[{label:Zt(V[g])||`项 ${W+1}`,value:pe}]:[]})};const A=new Map;for(const V of i){const W=Zt(V[g]);!W||W==="-"||A.set(W,(A.get(W)||0)+1)}const P=Array.from(A.entries()).map(([V,W])=>({label:V,value:W}));return P.length>0?{title:"记录数",type:s,points:P}:null}function yn(t){return Object.keys(t).length>0}function bn(t){return t==="line"||t==="pie"||t==="scatter"?t:t==="donut"||t==="halfDonut"?"pie":t==="network"?"graph":["graph","sankey","tree","treemap","sunburst","radar","funnel","heatmap","gauge","candlestick","boxplot","parallel","pictorialBar","themeRiver"].includes(t)?t:"bar"}function cr(t){return t==="halfDonut"}function Lc(){return{radius:["42%","76%"],center:["50%",Zi],startAngle:180,endAngle:360}}function yb(t){return["50%",Zi]}function bb(t){return t==="mixedBarLine"?["bar","line"]:[bn(t)]}function kb(t){const a=t.split(".");return a[0]==="card"&&a[1]==="echarts"&&a[2]||""}function Pc(t){const a=t.split(".");return a[0]==="card"&&a[1]==="chart"&&a[2]||""}function Ra(t){const a=an(t),s=D(a.meta),i=D(s.echartsTemplate),l=Gm(t.capabilityId);return yn(i)&&l&&!i.iconPath?{...i,iconPath:l}:yn(i)?i:l?{iconPath:l}:null}function _b(t){const a=Pc(t.capabilityId);if(!a)return;if(Object.prototype.hasOwnProperty.call(Le,a))return Le[a];const s=$(t.protocolKind);return Object.prototype.hasOwnProperty.call(Le,s)?Le[s]:null}function Jn(t){const a=$(t.protocolKind).toLowerCase(),s=kb(t.capabilityId),i=_b(t);if(i!==void 0)return i;const l=Yi(Ra(t));if(l==="halfDonut")return l;if(Cb(t))return"halfDonut";if(l==="pie"&&Dc(t))return"donut";if(l)return l;const p=Nc(t);return p||(s?Yi({mainCategory:s,protocolType:a}):a==="network"?s==="sankey"?"sankey":"network":a==="tree"?"tree":a==="geo"?"map":ce.has(s)?s:null)}function Cb(t){const a=Ra(t),s=[t.capabilityId,$(a==null?void 0:a.exampleId),$(a==null?void 0:a.templateType),$(a==null?void 0:a.iconPath)].join(" ").toLowerCase();return/(?:half[-_\s]?donut|semi[-_\s]?(?:donut|circle)|piehalfdonut)/iu.test(s)}function En(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()){const a=Number(t);return Number.isFinite(a)?a:null}return null}function va(t){const a=ca(t),s=D(a.data),i=Bt(t),p=(Array.isArray(a.columns)?a.columns:Array.isArray(s.columns)?s.columns:[]).map((V,W)=>or(V,i,W)).filter(Boolean);if(p.length>0)return p;const g=nn(t).columns,A=Array.isArray(g)?g.map(V=>$(V)).filter(Boolean):[];if(A.length>0)return A;const P=Bt(t)[0];return P?Object.keys(P):[]}function Ur(t,a){return a.find(s=>t.some(i=>En(i[s])!==null))||""}function Wr(t,a){return t.filter(s=>s&&s!==a)}function Mc(t,a){const s=t.trim().toLowerCase();return s?a.some(i=>{const l=i.toLowerCase();return/[\u4e00-\u9fff]/u.test(l)?s.includes(l):new RegExp(`(^|[._\\-\\s])${l}($|[._\\-\\s])`,"iu").test(s)}):!1}function Oc(t,a){var l;const s=An(t),i=(l=Tn(t).find(p=>p.key===a))==null?void 0:l.label;return[a,s[a],i].filter(Boolean).join(" ")}function Fc(t,a){const s=["source","from","src","origin","start","来源","起点","源"],i=["target","to","dst","destination","end","目标","终点","去向"],l=a.find(g=>Mc(Oc(t,g),s)),p=a.find(g=>g!==l&&Mc(Oc(t,g),i));return l&&p?{sourceKey:l,targetKey:p}:null}function Sb(t,a,s,i){const l=Fc(t,s);if(!l)return null;const{sourceKey:p,targetKey:g}=l,A=new Set,P=a.flatMap(V=>{const W=Zt(V[p]),pe=Zt(V[g]);return!W||W==="-"||!pe||pe==="-"?[]:(A.add(W),A.add(pe),[{source:W,target:pe,value:En(V[i])??1}])});return P.length===0?null:{nodes:Array.from(A).map(V=>({name:V})),links:P}}function $c(t,a,s=!0){var P,V;const i=Bt(t),l=va(t),p=Ur(i,l),g=Wr(l,p),A=Qs(t,{useMaterializedOption:s,previewType:a});if(a==="graph"||a==="sankey"){const W=Sb(t,i,g,p);return W?a==="graph"?{tooltip:{trigger:"item"},series:[{type:"graph",layout:"force",roam:!0,label:{show:!0},data:W.nodes,links:W.links,force:{repulsion:120}}]}:{tooltip:{trigger:"item"},series:[{type:"sankey",data:W.nodes,links:W.links}]}:null}if(!A||A.points.length===0)return null;if(a==="radar"){if(A.points.length<Ps)return null;const W=Math.max(1,...A.points.map(pe=>pe.value));return{radar:{indicator:A.points.map(pe=>({name:pe.label,max:Math.max(W,pe.value)}))},series:[{type:"radar",name:A.title,data:[{name:A.title,value:A.points.map(pe=>pe.value)}]}]}}if(a==="funnel")return{tooltip:{trigger:"item"},series:[{type:"funnel",name:A.title,data:A.points.map(W=>({name:W.label,value:W.value}))}]};if(a==="heatmap")return{tooltip:{position:"top"},xAxis:{type:"category",data:A.points.map(W=>W.label)},yAxis:{type:"category",data:[A.title]},visualMap:{min:0,max:Math.max(1,...A.points.map(W=>W.value)),calculable:!0,orient:"horizontal"},series:[{type:"heatmap",data:A.points.map((W,pe)=>[pe,0,W.value])}]};if(a==="gauge")return{series:[{type:"gauge",data:[{name:((P=A.points[0])==null?void 0:P.label)||A.title,value:((V=A.points[0])==null?void 0:V.value)??0}]}]};if(a==="tree"||a==="treemap"||a==="sunburst"){const W=[{name:A.title,children:A.points.map(pe=>({name:pe.label,value:pe.value}))}];return{tooltip:{trigger:"item"},series:[{type:a,data:W,...a==="tree"?{label:{position:"left"}}:{}}]}}return null}function Vc(t){const a=t.map(g=>Math.max(0,g.value)),s=a[0]??0,i=a.slice(1).reduce((g,A)=>g+A,0);if(!(a.length>1&&s>0&&i<=s)){let g=0;return{helper:a.map((A,P)=>{const V=P===0?0:g;return g+=a[P]??0,V}),values:a}}let p=s;return{helper:a.map((g,A)=>A===0?0:(p=Math.max(0,p-g),p)),values:a}}function zc(t){if(t.length<2)return!1;const a=t[0]??0,s=t.slice(1).reduce((i,l)=>i+Math.max(0,l),0);return a>0&&s>0&&s<=a}function Ab(t){return zc(t.map(a=>a.value))}function Hc(t){return t.seriesValues.length===1&&zc(t.seriesValues[0]||[])}function wb(t){const a=Ra(t),s=ir(t),i=[t.capabilityId,t.dataShape,$(t.protocolKind),$(a==null?void 0:a.exampleId),$(a==null?void 0:a.templateType),$(a==null?void 0:a.iconPath),...Lr(a==null?void 0:a.tags)].join(" ").toLowerCase();return/waterfall|bar[-_\s]?waterfall|\u7011\u5e03/iu.test(i)||dr(hn(s))}function Tb(t){if(!wb(t)||Bt(t).length===0)return!0;const a=Zs(t);return!!(a&&Hc(a))}function Eb(t){const a=Vc(t.points);return{grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},xAxis:{type:"category",data:t.points.map(s=>s.label)},yAxis:{type:"value"},series:[{type:"bar",stack:"waterfall",silent:!0,tooltip:{show:!1},itemStyle:{color:"transparent",borderColor:"transparent"},emphasis:{itemStyle:{color:"transparent",borderColor:"transparent"}},data:a.helper},{type:"bar",stack:"waterfall",name:t.title,data:a.values}]}}function xb(t){const a=[...t.points].sort((p,g)=>g.value-p.value),s=a.reduce((p,g)=>p+Math.max(0,g.value),0);let i=0;const l=a.map(p=>(i+=Math.max(0,p.value),s>0?Number((i/s*100).toFixed(2)):0));return{grid:{left:40,right:42,top:24,bottom:34},tooltip:{trigger:"axis"},legend:{data:[t.title,"累计占比"]},xAxis:{type:"category",data:a.map(p=>p.label)},yAxis:[{type:"value"},{type:"value",min:0,max:100,axisLabel:{formatter:"{value}%"}}],series:[{type:"bar",name:t.title,data:a.map(p=>p.value)},{type:"line",name:"累计占比",yAxisIndex:1,smooth:!0,data:l}]}}function Bb(t){const a=bn(t.type);if(t.type==="waterfall")return Eb(t);if(t.type==="pareto")return xb(t);if(t.type==="mixedBarLine"){const l=t.points.map(A=>A.label),p=t.points.map(A=>A.value),g={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},legend:{data:[t.title,`${t.title} trend`]},xAxis:{type:"category",data:l},yAxis:{type:"value"},series:[{type:"bar",name:t.title,data:p},{type:"line",name:`${t.title} trend`,data:p}]};return kn(g,l),g}if(["graph","sankey","tree","treemap","radar","funnel","heatmap","gauge"].includes(a))return{};if(a==="pie")return{tooltip:{trigger:"item"},series:[{type:"pie",name:t.title,...t.type==="donut"?{radius:["38%","68%"]}:{},...cr(t.type)?Lc():{},data:t.points.map(l=>({name:l.label,value:l.value}))}]};if(a==="scatter"){const l=t.points.map(g=>g.label),p={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"item"},xAxis:{type:"category",data:l},yAxis:{type:"value"},series:[{type:"scatter",name:t.title,data:t.points.map(g=>g.value)}]};return kn(p,l),p}if(a==="themeRiver"){const l=t.points.map(p=>p.label);return{tooltip:{trigger:"axis"},legend:{data:[t.title]},singleAxis:{type:"category",data:l,boundaryGap:["5%","5%"]},series:[{type:"themeRiver",name:t.title,data:t.points.map(p=>[p.label,p.value,t.title])}]}}const s=t.points.map(l=>l.label),i={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},xAxis:{type:"category",data:s},yAxis:{type:"value"},series:[{type:a,name:t.title,data:t.points.map(l=>l.value)}]};return kn(i,s),i}function Gc(t,a){const s=Yb(t,a);if(s)return Pa(s,a);const i=$c(t,bn(a),!1);if(i)return Pa(i,a);const l=Qs(t,{useMaterializedOption:!1,previewType:a});if(!l||l.points.length===0||a==="waterfall"&&!Ab(l.points))return null;const p=Bb(l);return yn(p)?Pa(p,a):null}function Ib(t){const a=nn(t),s=Gr(a);if(yn(s))return qr(t,s);const i=qr(t,D(a.option));return yn(i)?i:null}function Ys(t,a){return a.map(s=>$(t[s])).find(Boolean)||""}function Js(t,a){var i;const s=(i=t.visualIntent)==null?void 0:i[a];return Array.isArray(s)&&s.map(l=>$(l)).find(Boolean)||""}function Rb(t,a){return t||a}function vb(t,a,s,i,l){return[...Array.isArray(t.yFields)?t.yFields.map(A=>$(A)).filter(Boolean):[],Ys(t,["yField","measureField","valueField"])].filter((A,P,V)=>A&&V.indexOf(A)===P).find(A=>a.some(P=>En(P[A])!==null))||s.find(A=>A!==i&&A!==l&&a.some(P=>En(P[A])!==null))||""}function Db(t,a){const s=new Set(t.map(i=>Zt(i[a])).filter(i=>i&&i!=="-"));return s.size>=2&&s.size<t.length}function Nb(t,a,s,i){return a.find(l=>l!==s&&l!==i&&t.some(p=>En(p[l])===null)&&Db(t,l))||""}function Lb(t){if(t instanceof Date)return!0;const a=Zt(t).trim();return!a||a==="-"?!1:/^(?:\d{4}[-/年])?(?:0?[1-9]|1[0-2])月$/u.test(a)||/^\d{4}[-/]?(?:0?[1-9]|1[0-2])$/u.test(a)||/^\d{4}[-/]?Q[1-4]$/iu.test(a)||/^\d{4}[-/年]\d{1,2}[-/月]\d{1,2}/u.test(a)}function qc(t,a){const s=t.map(i=>i[a]).filter(i=>{const l=Zt(i).trim();return!!(l&&l!=="-")});return s.length>0&&s.every(Lb)}function Pb(t,a,s){if(a.length===0||s.length<3)return null;const i=Qn(t),l=Ys(i,["seriesField","groupField","colorField"])||Js(t,"seriesFields");let p=Js(t,"dimensionFields")||Ys(i,["xField","labelField","categoryField","dimensionField"])||s.find(Nt=>Nt!==l&&a.some(mt=>En(mt[Nt])===null))||"";const g=Js(t,"measureFields"),A=g&&a.some(Nt=>En(Nt[g])!==null)?g:vb(i,a,s,p,l);let P=l||Nb(a,s,p,A);if(p&&P&&qc(a,p)&&!qc(a,P)&&([p,P]=[P,p]),!p||!A||p===P)return null;const V=[],W=[],pe=new Set,Ve=new Set,bt=new Map;if(a.forEach((Nt,mt)=>{const Ft=Zt(Nt[p]),Lt=Zt(Nt[P]),Oa=En(Nt[A]);if(!Lt||Lt==="-"||Oa===null)return;const da=Ft&&Ft!=="-"?Ft:`项 ${mt+1}`;pe.has(da)||(pe.add(da),V.push(da)),Ve.has(Lt)||(Ve.add(Lt),W.push(Lt));const co=bt.get(Lt)??new Map;co.set(da,(co.get(da)??0)+Oa),bt.set(Lt,co)}),V.length===0||W.length<2)return null;const Wt=An(t),xn=wn(A,Wt)||A,la=W.map(Nt=>Rb(Nt,xn)),On=W.map(Nt=>{const mt=bt.get(Nt)??new Map;return V.map(Ft=>mt.get(Ft)??0)});return{labels:V,measureLabels:la,seriesValues:On,points:V.map((Nt,mt)=>{var Ft;return{label:Nt,value:((Ft=On[0])==null?void 0:Ft[mt])??0}}),title:la[0]||ye(t)}}function Zs(t){const a=Bt(t),s=va(t),i=Pb(t,a,s);if(i)return i;const l=s.filter(W=>a.some(pe=>En(pe[W])!==null)),p=s.find(W=>!l.includes(W))||s[0];if(!p||a.length===0)return null;const g=a.map((W,pe)=>{const Ve=Zt(W[p]);return Ve&&Ve!=="-"?Ve:`项 ${pe+1}`}),A=An(t);if(l.length>0){const W=l.map(Ve=>wn(Ve,A)||Ve),pe=l.map(Ve=>a.map(bt=>En(bt[Ve])??0));return{labels:g,measureLabels:W,seriesValues:pe,points:g.map((Ve,bt)=>{var Wt;return{label:Ve,value:((Wt=pe[0])==null?void 0:Wt[bt])??0}}),title:W[0]||ye(t)}}const P=new Map;for(const W of g)!W||W==="-"||P.set(W,(P.get(W)||0)+1);const V=Array.from(P.entries()).map(([W,pe])=>({label:W,value:pe}));return V.length===0?null:{labels:V.map(W=>W.label),measureLabels:["记录数"],seriesValues:[V.map(W=>W.value)],points:V,title:"记录数"}}function Mb(t){return Array.isArray(t)?D(t.find(se)):D(t)}function jr(t){const a=Mb(t);return $(a.type)==="category"||Array.isArray(a.data)}function Ob(t,a){const s=i=>se(i)?{...i,type:$(i.type)||"category",data:a}:{type:"category",data:a};return Array.isArray(t)?t.length===0?[{type:"category",data:a}]:t.map((i,l)=>l===0?s(i):i):s(t)}function Uc(t){const a=$(t).replace(/\s+/g,"");return a==="#{value}"||a==="#value"||a.startsWith("#{")}function Fb(t){const a=D(t.axisLabel),s=typeof t.max=="number"?t.max:Number(t.max);return Uc(a.formatter)||t.inverse===!0&&Number(t.min)===1&&Number(t.interval)===1&&Number.isFinite(s)&&s<=20}function Xs(t){const a={...t,type:$(t.type)||"value"};if(!Fb(t))return a;delete a.inverse,delete a.min,delete a.max,delete a.interval;const s=D(t.axisLabel);if(Uc(s.formatter)){const i={...s};delete i.formatter,a.axisLabel=i}return a}function $b(t){return Array.isArray(t)?t.length===0?[{type:"value"}]:t.map((a,s)=>s===0&&se(a)?Xs(a):a):se(t)?Xs(t):{type:"value"}}function Kr(t,a){const s=jr(t.yAxis)&&!jr(t.xAxis)?"yAxis":"xAxis",i=s==="xAxis"?"yAxis":"xAxis";t[s]=Ob(t[s],a),t[i]=$b(t[i])}function Vb(t){const a=se(t.polar)||Array.isArray(t.polar);return hn(t).some(s=>$(s.type)==="bar"&&($(s.coordinateSystem)==="polar"||a))}function zb(t,a){const s=i=>{const l=se(i)?{...i,type:$(i.type)||"category",data:a}:{type:"category",data:a};return l.axisLabel={...D(l.axisLabel),hideOverlap:!0,margin:8},l};return Array.isArray(t)?t.length===0?[s(void 0)]:t.map((i,l)=>l===0?s(i):i):s(t)}function Hb(t){const a=s=>{const i=se(s)?Xs(s):{type:"value"};return delete i.min,delete i.max,delete i.interval,i};return Array.isArray(t)?t.length===0?[a(void 0)]:t.map((s,i)=>i===0?a(s):s):a(t)}function Gb(t,a){const s=jr(t.radiusAxis)&&!jr(t.angleAxis)?"radiusAxis":"angleAxis",i=s==="angleAxis"?"radiusAxis":"angleAxis";t[s]=zb(t[s],a),t[i]=Hb(t[i]),delete t.xAxis,delete t.yAxis}function qb(t){const a=s=>({...se(s)?{...s}:{},center:["50%","43%"],radius:[24,"56%"]});return Array.isArray(t)?t.length===0?[a(void 0)]:t.map((s,i)=>i===0?a(s):s):a(t)}function Ub(t){const a={...D(t)};return delete a.bottom,{...a,type:"scroll",orient:"horizontal",left:"center",top:a.top??0,pageButtonPosition:"end",itemGap:12}}function Wb(t){const a=s=>{if(!se(s))return s;const i={...s};delete i.startValue,delete i.endValue;const l={...i,start:0,end:100};return $(l.type)==="slider"?{...l,bottom:12,height:22}:l};return Array.isArray(t)?t.map(a):a(t)}function jb(t){if(!(Array.isArray(t.dataZoom)?t.dataZoom:[t.dataZoom]).some(p=>se(p)&&$(p.type)==="slider"))return;const i=se(t.grid)?t.grid:{},l=typeof i.bottom=="number"?i.bottom:Number(i.bottom);t.grid={...i,bottom:Number.isFinite(l)?Math.max(l,92):92}}function Kb(t){if(typeof t=="string"&&t.trim().endsWith("%"))return t;const a=typeof t=="number"?t:Number(t);return Number.isFinite(a)?Math.min(a,Xi):Xi}function Qr(t){if(![t.yAxis,t.xAxis].flatMap(i=>Array.isArray(i)?i:[i]).some(i=>se(i)&&(i.type===void 0||$(i.type)==="value")))return;const s=i=>({...i,left:Kb(i.left),containLabel:i.containLabel??!0});if(Array.isArray(t.grid)){t.grid=t.grid.map(i=>se(i)?s(i):i);return}t.grid=s(se(t.grid)?t.grid:{})}function Da(t,a){return Array.isArray(t)?t.map(s=>se(s)?{...s,data:a}:s):se(t)?{...t,data:a}:{data:a}}function kn(t,a=[]){delete t.dataset,delete t.title,t.dataZoom!==void 0?t.dataZoom=Wb(t.dataZoom):a.length>20&&(t.dataZoom=[{type:"slider",start:0,end:100,bottom:12,height:22},{type:"inside",start:0,end:100}]),Qr(t),jb(t)}function Zn(t,a){const s=hn(t),i=s.filter(l=>$(l.type)===a);return i.length>0?i:s}function Na(t,a){return t.seriesValues[a]||t.seriesValues[0]||t.points.map(s=>s.value)}function Qb(t){return t.capabilityId.toLowerCase().includes("stackedbar")}function Yb(t,a){const s=Zs(t);if(!s||s.seriesValues.length<=1)return null;const i=bn(a);if(!["bar","line","scatter","pictorialBar"].includes(i)&&a!=="mixedBarLine")return null;const l=s.measureLabels.map((g,A)=>{const P=a==="mixedBarLine"?A===0?"bar":"line":i;return{type:P,name:g||s.title,...P==="bar"&&Qb(t)?{stack:"total"}:{},data:Na(s,A)}}),p={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},legend:{data:s.measureLabels},xAxis:{type:"category",data:s.labels},yAxis:{type:"value"},series:l};return kn(p,s.labels),p}function Yr(t){const a=typeof t=="string"?t.trim().toLowerCase().replace(/\s+/g,""):"";return a==="transparent"||a==="rgba(0,0,0,0)"||a==="rgba(255,255,255,0)"}function lr(t){const a=D(t.itemStyle),s=D(D(t.emphasis).itemStyle);return $(t.type)==="bar"&&!!$(t.stack)&&(Yr(a.color)||Yr(a.borderColor)||Yr(s.color)||Yr(s.borderColor))}function dr(t){return t.some(lr)&&t.some(a=>$(a.type)==="bar"&&!lr(a))}function eo(t){return{...t,name:"",silent:t.silent??!0,tooltip:{...D(t.tooltip),show:!1}}}function Jb(t){const a=hn(t);if(!dr(a)){const l={...t};return Qr(l),l}const s=Array.isArray(t.series)?t.series.map(l=>se(l)&&lr(l)?eo(l):l):se(t.series)&&lr(t.series)?eo(t.series):t.series,i={...t,series:s};return Qr(i),i}function Zb(t,a){const s=Dt(t),i=Zn(s,"bar"),l=Math.max(1,a.measureLabels.length),p=i[0]||{type:"bar",coordinateSystem:"polar"};return s.series=Array.from({length:l},(g,A)=>{const V={...i[A]||p,type:"bar",coordinateSystem:"polar",name:a.measureLabels[A]||a.title,data:Na(a,A)};return delete V.encode,delete V.datasetIndex,V}),s.polar=qb(s.polar),Gb(s,a.labels),s.legend=Ub(Da(s.legend,a.measureLabels)),kn(s,a.labels),s}function Xb(t,a,s){const i=Dt(t),l=Zn(i,a),p=Math.max(1,s.measureLabels.length),g=l[0]||{type:a};if(a==="bar"&&dr(l)){const A=Vc(s.points);let P=0;i.series=l.map(V=>{const W={...V,type:a};if(lr(V))Object.assign(W,eo(V),{type:a,data:A.helper});else{const pe=P;P+=1,W.name=s.measureLabels[pe]||s.title,W.data=pe===0?A.values:Na(s,pe)}return delete W.encode,delete W.datasetIndex,W})}else i.series=Array.from({length:p},(A,P)=>{const W={...l[P]||g,type:a,name:s.measureLabels[P]||s.title,data:Na(s,P)};return delete W.encode,delete W.datasetIndex,W});return Kr(i,s.labels),(i.legend!==void 0||p>1)&&(i.legend=Da(i.legend,s.measureLabels)),kn(i,s.labels),i}function ek(t,a){const s=Dt(t),i=hn(s),l=a.measureLabels.length<=1?["bar","line"]:a.measureLabels.map((A,P)=>P===0?"bar":"line"),p=i[0]||{type:"bar"},g=l.map((A,P)=>{const V=i[P]||i.find(bt=>$(bt.type)===A)||p,W=Math.min(P,a.seriesValues.length-1),pe=a.measureLabels[W]||a.title,Ve={...V,type:A,name:A==="line"&&l.length===2&&a.measureLabels.length<=1?`${pe} trend`:pe,data:Na(a,W)};return delete Ve.encode,delete Ve.datasetIndex,Ve});return s.series=g,Kr(s,a.labels),s.legend=Da(s.legend,g.map(A=>$(A.name)).filter(Boolean)),kn(s,a.labels),s}function tk(t,a,s){const i=Dt(t),p=Zn(i,"pie")[0]||{type:"pie"},g=ak(a),A={...p,type:"pie",name:a.title,data:g.map(W=>({name:W.label,value:W.value}))};s!=="donut"&&Array.isArray(A.radius)&&delete A.radius,s==="donut"&&A.radius===void 0&&(A.radius=["38%","68%"]),delete A.coordinateSystem,delete A.calendarIndex,delete A.left,delete A.right,delete A.top,delete A.bottom,delete A.width,delete A.height,p.coordinateSystem!==void 0&&delete A.center;const P=Wc(A)?jc(A):Kc(A,s);i.series=[P];const V=g.map(W=>W.label);return i.legend=Da(i.legend,V),i.legend=Qc(i.legend,V,cr(s)&&so(V)),delete i.xAxis,delete i.yAxis,delete i.calendar,delete i.dataset,delete i.dataZoom,i}function nk(t){return/^项\s+\d+$/u.test(t)}function ak(t){const a=t.points.filter(s=>!nk(s.label));return a.length>0?a:t.points}function Wc(t){const a=t.roseType;return $(t.type)==="pie"&&a!==void 0&&a!==!1&&String(a).trim().toLowerCase()!=="false"}function jc(t){const a=Array.isArray(t.data)?t.data:[],s=rk(a),i=a.length>=Ms;return{...t,radius:i?["18%","58%"]:s?["26%","58%"]:["16%","58%"],center:i?["50%","43%"]:["50%","48%"],avoidLabelOverlap:!0,minAngle:2,label:{...D(t.label),show:!i,position:"outside",overflow:"truncate",width:i?80:s?72:88},labelLine:{...D(t.labelLine),show:!i,smooth:!0,length:i?6:s?8:10,length2:i?4:s?6:8,maxSurfaceAngle:80},labelLayout:{...D(t.labelLayout),hideOverlap:!0},itemStyle:{...D(t.itemStyle),borderRadius:6,borderColor:"#fff",borderWidth:2}}}function Kc(t,a,s=!1){const i=Array.isArray(t.data)?t.data:[],l=s||i.length>=Ms,p=cr(a),g=a==="donut"||p,A=p?Lc():{};return{...t,...A,...p&&l?{left:0,right:0,top:0,bottom:Uf}:{},radius:g?p?A.radius:l?["38%","62%"]:["36%","64%"]:l?"58%":t.radius,center:p?yb(t.center):l?["50%","44%"]:t.center??["50%","48%"],avoidLabelOverlap:!0,minAngle:2,label:{...D(t.label),show:!l,position:"outside",overflow:"truncate",width:l?80:88},labelLine:{...D(t.labelLine),show:!l,smooth:!0,length:l?6:8,length2:l?4:6,maxSurfaceAngle:80},labelLayout:{...D(t.labelLayout),hideOverlap:!0}}}function rk(t){const a=t.map(l=>se(l)&&typeof l.value=="number"?l.value:Number.NaN).filter(l=>Number.isFinite(l)&&l>0).sort((l,p)=>p-l),s=a[0]??0,i=a[1]??0;return s>0&&i>0&&s/i>=4}function Qc(t,a=[],s=!1){const i={...D(t)};return delete i.top,delete i.bottom,delete i.right,{...i,show:i.show!==!1,...a.length>0?{data:a}:{},...s?{formatter:sk}:{},type:"scroll",orient:"horizontal",left:"center",bottom:0,...s?{height:Wf,width:"92%",itemGap:8}:{itemGap:12},textStyle:{...D(i.textStyle),...s?{width:88,overflow:"truncate"}:{}},pageButtonPosition:"end"}}function sk(t){return t.length>ec?`${t.slice(0,ec)}...`:t}function to(t,a){if(t.length===0)return 0;const s=(t.length-1)*a,i=Math.floor(s),l=Math.ceil(s);if(i===l)return t[i]??0;const p=s-i;return(t[i]??0)*(1-p)+(t[l]??0)*p}function ok(t,a){const s=[...Na(a,0)].sort((g,A)=>g-A);if(s.length<2)return null;const i=[[s[0],to(s,.25),to(s,.5),to(s,.75),s[s.length-1]]],l=Dt(t),p=Zn(l,"boxplot");return l.series=[{...p[0]||{},type:"boxplot",name:a.title,data:i}],Kr(l,[a.title]),kn(l),l}function ik(t,a){if(a.seriesValues.length<4)return null;const s=a.labels.map((p,g)=>a.seriesValues.slice(0,4).map(A=>A[g]??0)),i=Dt(t),l=Zn(i,"candlestick");return i.series=[{...l[0]||{},type:"candlestick",name:a.title,data:s}],Kr(i,a.labels),kn(i),i}function ck(t,a){if(a.seriesValues.length<2)return null;const s=Dt(t);s.parallelAxis=a.measureLabels.map((l,p)=>({dim:p,name:l}));const i=Zn(s,"parallel");return s.series=[{...i[0]||{},type:"parallel",name:a.title,data:a.labels.map((l,p)=>a.seriesValues.map(g=>g[p]??0))}],kn(s),s}function lk(t,a){const s=Dt(t),i=Zn(s,"themeRiver");return s.series=[{...i[0]||{},type:"themeRiver",name:a.title,data:a.labels.flatMap((l,p)=>a.measureLabels.map((g,A)=>{var P;return[l,((P=a.seriesValues[A])==null?void 0:P[p])??0,g]}))}],s.legend=Da(s.legend,a.measureLabels),kn(s),s}function dk(t,a,s){const i=Zn(t,s),l=hn(a);return{...Dt(t),...a,series:l.map((p,g)=>({...i[g]||i[0]||{},...p}))}}function uk(t,a,s){const i=Zs(t);if(!i||a==="waterfall"&&!Hc(i))return null;if(a==="mixedBarLine")return ek(s,i);const l=bn(a);if(l==="pie")return tk(s,i,a);if(l==="bar"&&Vb(s))return Zb(s,i);if(["bar","line","scatter","pictorialBar"].includes(l))return Xb(s,l,i);if(l==="candlestick")return ik(s,i);if(l==="boxplot")return ok(s,i);if(l==="parallel")return ck(s,i);if(l==="themeRiver")return lk(s,i);const p=$c(t,l,!1);return p?dk(s,p,l):null}function Yc(t,a){const s=Ib(t);if(s){const l=uk(t,a,s);if(l&&mr(t,l))return Pa(l,a)}const i=Gc(t,a);return i&&mr(t,i)?i:null}function mk(t,a){return bn(a)==="pie"&&Bt(t).length>0}function Jc(t,a=!1,s={}){const i=a?Jn(t):Ma(t);if(!i||i==="map"||!ht(t))return null;if(s.preferCurrentRows)return Yc(t,i);const l=nn(t),p=Gr(l);if(yn(p))return mr(t,p)?Pa(p,i):null;if(mk(t,i)){const A=Yc(t,i);if(A)return A}const g=qr(t,D(l.option));return yn(g)&&mr(t,g)?Pa(g,i):Gc(t,i)}function La(t,a){const s=ca(t);return a===t||!$r(s)||!no(t,a)?a:{...a,queryResult:s}}function no(t,a){if(a!==t)return Bt(t).length>0;if(ao(a))return!1;const s=nn(a);return s.shape==="protocolRender"&&!js(s)&&Bt(a).length>0}function ao(t){return mb(t)&&js(nn(t))}function Zc(t,a=at(t),s=!1){return Jc(La(t,a),s,{preferCurrentRows:no(t,a)})}function ur(t){return sc.value.get(_e(t))??null}function Xc(t){const a={...t};return delete a.title,{...a,animation:!1,animationDuration:0,animationDurationUpdate:0}}function el(t){const a=ur(t);return a?Sy.value.get(_e(t))??Xc(a):{}}function hn(t){return Array.isArray(t.series)?t.series.filter(se):se(t.series)?[t.series]:[]}function tl(t){const a=ur(t);return a?fk(at(t),a):!1}function fk(t,a){const s=[t.capabilityId,t.title,t.dataShape,$(t.protocolKind)].join(" ").toLowerCase();return/rose|rosetype|nightingale|南丁格尔|玫瑰/iu.test(s)?!0:hn(a).some(i=>{const l=$(i.type);return l==="pie"?pk(i):l==="radar"?nl([i]).some(p=>p>4):!1})}function pk(t){if(t.roseType!==void 0&&$(t.roseType)!=="false")return!0;const a=Array.isArray(t.data)?t.data:[];return a.length>5?!0:a.some(s=>(se(s)?$(s.name):"").length>=7)}function hk(t){return(Array.isArray(t.radar)?t.radar:[t.radar]).flatMap(s=>{const i=D(s).indicator;return Array.isArray(i)?[i.length]:[]})}function nl(t){return t.flatMap(a=>$(a.type)!=="radar"?[]:(Array.isArray(a.data)?a.data:[]).flatMap(i=>{const l=D(i).value;return Array.isArray(l)?[l.length]:[]}))}function gk(t,a){const s=hk(t).filter(l=>l>=Ps);if(s.length===0)return!1;const i=new Set(nl(a).filter(l=>l>=Ps));return s.some(l=>i.has(l))}function al(t){return Array.isArray(t.color)?t.color.filter(a=>typeof a=="string"&&a.trim().length>0):[]}function ro(t){return Array.isArray(t.data)?t.data.map(rl).filter(Boolean):[]}function so(t){return t.length>=Ms||t.some(a=>a.length>=qf)}function yk(t,a){const s=ro(t),i=so(s);return Wc(t)?i?{...jc(t),center:["50%","43%"],label:{...D(t.label),show:!1,position:"outside",overflow:"truncate",width:80},labelLine:{...D(t.labelLine),show:!1,smooth:!0,length:6,length2:4,maxSurfaceAngle:80}}:{...t,labelLayout:{...D(t.labelLayout),hideOverlap:!0}}:i?Kc(t,a,!0):{...t,labelLayout:{...D(t.labelLayout),hideOverlap:!0}}}function bk(t,a){const s=hn(t);if(!s.some(V=>se(V)&&$(V.type)==="pie"))return t;const l=Array.from(new Set(s.flatMap(V=>$(V.type)==="pie"?ro(V):[]))),p=s.some(V=>$(V.type)==="pie"&&so(ro(V))),g=al(t).length>0?al(t):pt,A=V=>!se(V)||$(V.type)!=="pie"||!Array.isArray(V.data)?V:{...yk(V,a),data:V.data.map((pe,Ve)=>{if(!se(pe))return pe;const bt=D(pe.itemStyle);return{...pe,itemStyle:{...bt,color:$(bt.color)||g[Ve%g.length]}}})},P=Array.isArray(t.series)?t.series.map(A):A(t.series);return{...t,color:g,...p?{legend:Qc(t.legend,l,cr(a))}:{},series:P}}function rl(t){return se(t)?$(t.name):""}function oo(t){return Array.isArray(t.data)?t.data.map(rl).filter(Boolean):[]}function sl(t){return t.length>=jf||t.some(a=>a.length>=Kf)}function ol(t){const a=oo(t),s=sl(a),i=D(t.label),l=D(t.labelLine);return{...t,...s?{left:"12%",width:"76%",top:24,bottom:40}:{},label:{...i,...s?{show:!1}:{},overflow:"truncate",width:i.width??(s?96:120)},labelLine:{...l,...s?{show:!1}:{}},labelLayout:{...D(t.labelLayout),hideOverlap:!0}}}function kk(t,a,s){const i={...D(t)};delete i.top,delete i.left,delete i.right;const l=D(i.textStyle);return{...i,...a.length>0?{data:a}:{},type:"scroll",orient:"horizontal",left:"center",bottom:0,pageButtonPosition:"end",itemGap:12,textStyle:{...l,overflow:"truncate",width:l.width??(s?120:160)}}}function _k(t){const s=hn(t).filter(g=>$(g.type)==="funnel");if(s.length===0)return t;const i=Array.from(new Set(s.flatMap(oo))),l=s.some(g=>sl(oo(g))),p=Array.isArray(t.series)?t.series.map(g=>se(g)&&$(g.type)==="funnel"?ol(g):g):se(t.series)&&$(t.series.type)==="funnel"?ol(t.series):t.series;return{...t,tooltip:se(t.tooltip)?t.tooltip:{trigger:"item"},legend:kk(t.legend,i,l),series:p}}function Pa(t,a){const s=bn(a);if(dr(hn(t)))return Jb(t);if(s==="pie")return bk(t,a);if(s==="funnel")return _k(t);const i={...t};return Qr(i),i}function Ck(t){return $(t.type)!=="custom"?!0:typeof t.renderItem=="function"}function mr(t,a){const s=Jn(t);if(!s||s==="map")return!1;const i=hn(a);if(i.length===0||!i.every(Ck)||bn(s)==="radar"&&!gk(a,i)||cr(s)&&!i.some(Sk)||s==="waterfall"&&!dr(i))return!1;const l=new Set(i.map(p=>$(p.type)||bn(s)));return bb(s).every(p=>l.has(p))}function Sk(t){return $(t.type)!=="pie"?!1:typeof t.startAngle=="number"&&typeof t.endAngle=="number"&&Math.abs(t.endAngle-t.startAngle)<=180&&Array.isArray(t.radius)}function io(t){return t.previewStatus==="blocked"||t.previewStatus==="empty"||t.previewStatus==="requires_execution"||t.nextAction==="execute_query"}function Ak(t){const a=bn(Jn(t)||"");return a==="graph"||a==="sankey"}function il(t){const a=Bt(t),s=va(t),i=Ur(a,s);return!!Fc(t,Wr(s,i))}function cl(t,a){if(io(a))return!1;const s=La(t,a);if(!ht(s)||Ak(a)&&!il(s))return!1;const i=Jc(s,!0,{preferCurrentRows:no(t,a)});return!!(i&&mr(a,i))}function fr(t,a){return Je(a)&&cl(t,a)}function wk(t,a){return fr(t,a)?oe.ready:Kn(a)}function ll(t,a){const s=fr(t,a),i=Te(t)==="chart"&&Je(a)?s||ao(a)&&nt(a):s||nt(a),l=s?"":xa(a);return{canChoose:i,insertReadyChart:s,previewStatusLabel:s?oe.ready:Kn(a),diagnosticReason:Tk(l)?"":l}}function Tk(t){return/^已使用.+生成预览/u.test(t.trim())}function dl(t){const a=at(t);return Ay.value.get(_e(t))??ll(t,a)}function Ma(t){return Jn(t)}function Ek(t){return Te(t)==="chart"&&!!ur(t)}function ul(t){const a=se(c.draft.queryResult)&&($r(c.draft.queryResult)||Vr(c.draft.queryResult))?c.draft.queryResult:null,s=se(t.queryResult)?gc(t.queryResult,a):t.queryResult,i=se(s)?yc(s,a):s,l=se(i)?i:a,p=an(t),g=D(p.data),A=D(p.meta),P=D(A.queryResult),V=D(g.dataBinding),W=D(t.dataBinding),pe=D(l==null?void 0:l.dataBinding),Ve=Object.keys(V).length>0?V:Object.keys(W).length>0?W:pe,bt=se(t.blockPlan)&&Object.keys(Ve).length>0?{...p,data:{...g,dataBinding:Ve},meta:{...A,queryResult:{...P,...l??{},dataBinding:Ve}}}:t.blockPlan;return{...t,...bt?{blockPlan:bt}:{},...dc(i)?{queryResult:i}:a?{queryResult:a}:{},...c.draft.conversationId?{conversationId:c.draft.conversationId}:{},...t.sourceTurnId||c.draft.sourceTurnId?{sourceTurnId:t.sourceTurnId||c.draft.sourceTurnId}:{}}}function xk(t,a){const s=sb(t);if(!s)return a;const i=se(a.blockPlan)?{...a.blockPlan,title:s}:a.blockPlan;return{...a,title:s,...i?{blockPlan:i}:{}}}function ml(t){const a=Tt(t);return Wi({selectedItem:a,previewMode:Ut(t),tableColumns:Tn(a),rowCount:pn(a)||void 0})}function Bk(t){return wy.value.get(_e(t))??ml(t)}r({recommendationConfigSummary:Bk});function Ik(t,a,s=ur(t)){if(!fr(t,a))return a;const i=La(t,a),l=s??Zc(t,a,!0);if(!l)return a;const p=an(i),g=D(p.renderer),A=D(p.data),{slices:P,innerRadius:V,protocolConfig:W,protocolData:pe,protocolType:Ve,rendererType:bt,optionPatch:Wt,...xn}=A,la=D(p.meta),On=ca(i),Nt=D(On.dataBinding),mt=D(i.dataBinding),Ft=D(A.dataBinding),Lt=Object.keys(Ft).length>0?Ft:Object.keys(mt).length>0?mt:Nt,Oa=$(p.id)||`preview-${i.capabilityId.replace(/[^a-z0-9]+/giu,"-")}`,da=he(t)||ye(t)||ye(i);return{...i,previewStatus:"ready",nextAction:"insert",diagnosticStatus:"ready",blockPlan:{...p,id:Oa,title:da,blockType:$(p.blockType)||"display",subType:$(p.subType)||"chart",renderer:{...g,engine:"echarts",rendererKey:"echartsProtocol"},data:{...xn,shape:"echartsOption",option:Dt(l),renderContract:"materializedPreview",...Object.keys(Lt).length>0?{dataBinding:Lt}:{}},meta:{...la,capabilityId:i.capabilityId,rendererKey:"echartsProtocol",dataShape:"echartsOption",renderContract:"materializedPreview",registryTitle:i.title,...Object.keys(On).length>0?{queryResult:On}:{}}}}}function Rk(t){return dl(t).canChoose}function vk(t){var i;const a=at(t),s=La(t,a);return Jn(a)||((i=Qs(s))==null?void 0:i.type)||Ma(a)||void 0}function Dk(t){return at(t).capabilityId}function Nk(t){const a=at(t);if(!St(t,a))return;const s=ct(a,Te(t));B.value={...B.value,[s]:"inserting"};const i=ur(t),l=Ik(t,a,i&&el(t));d("choose",ul(xk(t,l)),{done:p=>{B.value=p?{...B.value,[s]:"success"}:Object.fromEntries(Object.entries(B.value).filter(([g])=>g!==s))}})}function Lk(t){t.item&&d("choose",ul(t.item))}return(t,a)=>{var s;return n.openBlock(),n.createElementBlock("section",qm,[n.createElementVNode("header",Um,[n.createElementVNode("div",Wm,[a[0]||(a[0]=n.createElementVNode("span",null,"推荐卡片",-1)),ic.value?(n.openBlock(),n.createElementBlock("span",jm,n.toDisplayString(ic.value),1)):n.createCommentVNode("",!0)])]),n.createElementVNode("p",Km,n.toDisplayString(c.draft.message),1),cc.value?(n.openBlock(),n.createElementBlock("p",Qm,n.toDisplayString(cc.value),1)):n.createCommentVNode("",!0),oc.value>0?(n.openBlock(),n.createElementBlock("div",Ym,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Gt.value,i=>(n.openBlock(),n.createElementBlock("article",{key:_e(i),class:n.normalizeClass(["card-recommendation__item card-recommendation__preview-card",{"card-recommendation__preview-card--inserting":Et(i)==="inserting","card-recommendation__preview-card--inserted":Et(i)==="success","card-recommendation__preview-card--switch-open":ut(i)}]),onFocusout:l=>Ea(i,l)},[n.createElementVNode("header",Zm,[n.createElementVNode("div",Xm,[ob(i)?(n.openBlock(),n.createElementBlock("input",{key:0,class:"card-recommendation__title-input",value:z.value[_e(i)],"aria-label":"编辑卡片标题",onInput:l=>cb(i,l),onBlur:l=>Ec(i),onKeydown:n.withKeys(n.withModifiers(l=>Ec(i),["prevent"]),["enter"])},null,40,ef)):(n.openBlock(),n.createElementBlock("div",tf,n.toDisplayString(Tc(i)),1)),n.createElementVNode("button",{type:"button",class:"card-recommendation__edit-title","aria-label":"编辑卡片标题",onClick:l=>ib(i)},[n.createVNode(n.unref(Ze.EditOutlined),{class:"card-recommendation__edit-icon","aria-hidden":"true"})],8,nf)]),n.createElementVNode("div",af,[en(i)?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"card-recommendation__chart-switch","aria-label":"图表切换","aria-expanded":ut(i),onClick:l=>ra(i)},[a[1]||(a[1]=n.createElementVNode("span",{class:"card-recommendation__switch-icon","aria-hidden":"true"},null,-1)),n.createElementVNode("span",sf,n.toDisplayString(Vt(i)),1),a[2]||(a[2]=n.createElementVNode("span",{class:"card-recommendation__switch-arrow","aria-hidden":"true"},null,-1))],8,rf)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:n.normalizeClass(["card-recommendation__choose card-recommendation__insert",{"card-recommendation__insert--loading":Et(i)==="inserting"}]),disabled:!Rk(i)||!!Et(i),onClick:l=>Nk(i)},[Et(i)==="inserting"?(n.openBlock(),n.createElementBlock("span",cf)):n.createCommentVNode("",!0),n.createTextVNode(" "+n.toDisplayString(Mt(i)),1)],10,of)])]),ut(i)?(n.openBlock(),n.createElementBlock("div",lf,[n.createElementVNode("div",df,[a[3]||(a[3]=n.createElementVNode("div",{class:"card-recommendation__switch-panel-title"},"图表切换",-1)),n.createElementVNode("div",uf,"可选 "+n.toDisplayString(Vt(i)),1)]),n.createElementVNode("div",mf,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(S(i),l=>(n.openBlock(),n.createElementBlock("button",{key:l.key,type:"button",class:n.normalizeClass(["card-recommendation__view-option",{"card-recommendation__view-option--active":ot(i,l),"card-recommendation__view-option--disabled":l.disabled,"card-recommendation__view-option--icon-loading":de(l),"card-recommendation__view-option--placeholder":l.placeholder}]),disabled:l.disabled||l.placeholder,"aria-hidden":l.placeholder?"true":void 0,tabindex:l.placeholder?-1:void 0,onClick:p=>Ln(i,l)},[Dn(l)?(n.openBlock(),n.createElementBlock("img",{key:0,class:n.normalizeClass(["card-recommendation__view-option-image",{"card-recommendation__view-option-image--loading":!Sn(l),"card-recommendation__view-option-image--loaded":Sn(l)}]),src:l.iconSrc,alt:"",loading:"lazy","aria-hidden":"true",onLoad:p=>Cn(l),onError:p=>vn(l)},null,42,pf)):n.createCommentVNode("",!0),Y(l)?(n.openBlock(),n.createElementBlock("span",{key:1,class:n.normalizeClass(["card-recommendation__view-option-icon",`card-recommendation__view-option-icon--${l.icon}`]),"aria-hidden":"true"},null,2)):n.createCommentVNode("",!0),de(l)?(n.openBlock(),n.createElementBlock("span",hf)):n.createCommentVNode("",!0),n.createElementVNode("span",gf,n.toDisplayString(l.label),1),l.item?(n.openBlock(),n.createElementBlock("span",yf,n.toDisplayString(l.statusLabel||wk(i,l.item)),1)):n.createCommentVNode("",!0)],10,ff))),128))]),Fe(i)>1?(n.openBlock(),n.createElementBlock("div",bf,[n.createElementVNode("button",{type:"button",class:"card-recommendation__switch-page",disabled:lt(i)<=1,onPointerdown:l=>re(i),onMousedown:l=>re(i),onClick:l=>q(i,-1)}," 上一页 ",40,kf),n.createElementVNode("span",null,n.toDisplayString(lt(i))+" / "+n.toDisplayString(Fe(i)),1),n.createElementVNode("button",{type:"button",class:"card-recommendation__switch-page",disabled:lt(i)>=Fe(i),onPointerdown:l=>re(i),onMousedown:l=>re(i),onClick:l=>q(i,1)}," 下一页 ",40,_f)])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),Ek(i)?(n.openBlock(),n.createElementBlock("div",{key:1,class:"card-recommendation__chart-preview","data-chart-type":vk(i),"data-capability-id":Dk(i)},[n.createElementVNode("div",Sf,[n.createElementVNode("button",{type:"button",class:"card-recommendation__chart-zoom","data-testid":"card-recommendation-chart-zoom-out","aria-label":"缩小图表预览",title:"缩小图表预览",disabled:!k(i,-1),onClick:l=>L(i,-1)}," - ",8,Af),n.createElementVNode("button",{type:"button",class:"card-recommendation__chart-zoom","data-testid":"card-recommendation-chart-zoom-reset","aria-label":"重置图表预览大小",title:"重置图表预览大小",onClick:l=>N(i)}," 1x ",8,wf),n.createElementVNode("button",{type:"button",class:"card-recommendation__chart-zoom","data-testid":"card-recommendation-chart-zoom-in","aria-label":"放大图表预览",title:"放大图表预览",disabled:!k(i,1),onClick:l=>L(i,1)}," + ",8,Tf)]),n.createVNode(vi,{class:"card-recommendation__echarts-preview",option:el(i),height:fe(i)},null,8,["option","height"])],8,Cf)):(n.openBlock(),n.createElementBlock("div",Ef,[n.createElementVNode("div",xf,[n.createElementVNode("table",null,[n.createElementVNode("thead",null,[n.createElementVNode("tr",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Ac(i),l=>(n.openBlock(),n.createElementBlock("th",{key:l.key},n.toDisplayString(l.label),1))),128))])]),n.createElementVNode("tbody",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(rb(i),(l,p)=>(n.openBlock(),n.createElementBlock("tr",{key:p},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Ac(i),g=>(n.openBlock(),n.createElementBlock("td",{key:g.key},n.toDisplayString(Zt(l[g.key])),1))),128))]))),128))])])]),wc(i)>0?(n.openBlock(),n.createElementBlock("div",Bf,[n.createElementVNode("span",null,"共 "+n.toDisplayString(wc(i))+" 条",1),Hr(i)>1?(n.openBlock(),n.createElementBlock("span",If,n.toDisplayString(nb(i)),1)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"card-recommendation__page-button card-recommendation__page-arrow",disabled:Yn(i)<=1,onClick:l=>Ws(i,Yn(i)-1)}," ‹ ",8,Rf),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ab(i),l=>(n.openBlock(),n.createElementBlock("button",{key:l,type:"button",class:n.normalizeClass(["card-recommendation__page-button",{"card-recommendation__page-current":Yn(i)===l}]),onClick:p=>Ws(i,l)},n.toDisplayString(l),11,vf))),128)),n.createElementVNode("button",{type:"button",class:"card-recommendation__page-button card-recommendation__page-arrow",disabled:Yn(i)>=Hr(i),onClick:l=>Ws(i,Yn(i)+1)}," › ",8,Df)])):n.createCommentVNode("",!0)]))],42,Jm))),128))])):(n.openBlock(),n.createElementBlock("div",Nf,[(s=c.draft.fallbackActions)!=null&&s.length?(n.openBlock(),n.createElementBlock("div",Lf,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(c.draft.fallbackActions,i=>(n.openBlock(),n.createElementBlock("button",{key:i.action,type:"button",class:"card-recommendation__fallback-action",disabled:!i.item,onClick:l=>Lk(i)},n.toDisplayString(i.label),9,Pf))),128))])):n.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-1cd08616"]]),Qf={key:1,class:"card-recommendation-deferred","aria-live":"polite"},Yf=["disabled"],Jf={key:0,class:"card-recommendation-deferred__spinner","aria-hidden":"true"},Zf=ln(n.defineComponent({__name:"CardRecommendationDeferredDraft",props:{draft:{},defer:{type:Boolean}},emits:["choose","configure"],setup(e,{emit:r}){const o=e,c=r,d=n.ref(!o.defer),u=n.ref(!1);let y=null;function _(){y&&(clearTimeout(y),y=null)}function E(){d.value||u.value||(u.value=!0,n.nextTick(()=>{y=setTimeout(()=>{d.value=!0,u.value=!1,y=null},0)}))}return n.watch(()=>o.defer,R=>{_(),d.value=!R,u.value=!1}),n.onBeforeUnmount(_),(R,U)=>d.value?(n.openBlock(),n.createBlock(tc,{key:0,draft:e.draft,onChoose:U[0]||(U[0]=(z,C)=>c("choose",z,C)),onConfigure:U[1]||(U[1]=z=>c("configure",z))},null,8,["draft"])):(n.openBlock(),n.createElementBlock("section",Qf,[U[2]||(U[2]=n.createElementVNode("div",{class:"card-recommendation-deferred__main"},[n.createElementVNode("div",{class:"card-recommendation-deferred__title"},"推荐卡片已保留"),n.createElementVNode("div",{class:"card-recommendation-deferred__meta"},"加载后查看可用候选")],-1)),n.createElementVNode("button",{type:"button",class:"card-recommendation-deferred__load",disabled:u.value,onClick:E},[u.value?(n.openBlock(),n.createElementBlock("span",Jf)):n.createCommentVNode("",!0),n.createTextVNode(" "+n.toDisplayString(u.value?"加载中":"加载推荐卡片"),1)],8,Yf)]))}}),[["__scopeId","data-v-2342782b"]]),Os="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAI4ElEQVR4AeydDXKcOBBG2b1YPCeLfTLnZkljD2WM+RFSd0stvRSEAaRW8z7eejNbtfl/4hcEIHBIAEEO0XADAtOEILwFEDghgCAncLgFAQThHYDACQFDQU5W5RYEghBAkCBB0WYdAghShzurBiGAIEGCos06BBCkDndWDUIgpiBB4NJmfAIIEj9DnsCQAIIYwqV0fAIIEj9DnsCQAIIYwqV0fAIIssmQUwisCSDImgafIbAhgCAbIJxCYE0AQdY0+AyBDQEE2QDhFAJrAgiypmH7meoBCSBIwNBo2Y8AgvixZqWABBAkYGi07EcAQfxYs1JAAggSMLSfLXPFigCCWJGlbhcEEKSLGHkIKwIIYkWWul0QQJAuYuQhrAggiBXZXuoO/hwIcvECvH/++iuHZX+9mMLtjgggyEGYIsSL7H/l9ovs6+23XEeSNZGOPyPITrgiwCzF+86t5RKSLCQ6PyLIJuAEOZYZSLKQ6PiIIKtwb8ixzEKShUTGMcIUBHmmlCHHc+aEJAuJDo8IIqEWyCGzPzYk+cDQ328I8pnp2R/IP0dc/44k14zCjRheEPnpofmVLZKEU+C84eEFOceTdRdJsrCpTlIrhiDT9EuN5lchJPliEfoTgkzTm1GCSGIE1rPs8II8Ho8/Anze5aC+IYk6Ut+Cwwsy4xZJHnJEEoHA9p0Agjx5IMkTBIdvBH4K8u32WCdIMlbeKU+LIBtKSLIBMvgpguy8AEiyA2XQSwhyEDySHIAZ7DKCnASOJCdwBrnlKkhEpkgSMTW9nhEkgSWSJEDqdAiCJAaLJImgOhuGIDcCRZIbsDoZiiA3g0SSm8CCD+9FENcYkMQVd9XFECQTP5Jkggs2DUEKAkOSAnhBpiJIYVBIUgiw8ekIohAQkihAbLQEglwGkzYASdI4RRuFIIqJIYkizEZKIYhyEEiiDLRyOQQxCABJDKBWKokgRuCRxAisc1kEMQR+KUnZ2vwvhcr4Jc1GkCRM+YOQJJ9dCzMRxCEFJHGAbLQEghiB3ZZFki2RGOcI4pgTkjjCVloKQZRAppbxkiS1H8adE0CQcz4md5HEBKtJUQQxwXpdFEmuGbUwAkEqpoAkFeEnLo0giaCshiGJFVmdugiiw7GoSjBJip412mQEaSQxJGkkiE0bCLIBUvMUSWrS318bQfa5VLuKJNXQ7y6MILtY6l5Ekrr816sjyJpGQ5/HlKShAJ6tIMgTRIsHJKmfCoLUz+C0AyQ5xWN+E0HMEZcvgCTlDHMrIEguOed5SOIM/LkcgjxBRDggSUFKmVMRJBNcrWlI4kseQXx5q6yGJCoYk4ogSBKm9gYhiU8mCOLD2WQVJDHB+q0ognzDEe8ESWwzSxHEtgOqFxNAkmKEhwUQ5BBNrBtIYpMXgthwrVLVQZKXKg9WcVEEqQjfYmlrSSx6brkmgrScTmZvhpK8vL+/v2a2FXJaZUFCMgvRtKEkv0IAUGoSQZRAtljGSJL5p8gwfxZBkBbfbMWejCRR7LDtUgjSdj4q3RlIwk8QlWQo0gwBA0maeTbLRvr9CWJJLWDt57dPw/yTXysiBNEi2XCdpxy/G26x2dYQpNlodBpDjjKOCFLGr+nZVnLIn2eG+Y+FCNL0K57fnJUc0tGb7MNsCJIRdetTDOVo/dHV+0MQdaR1CxrL8TbSv17NSSLITKGT3ViOaTQ55tcCQWYKHezWcgiih+zDbQjSQeQecshPjz8doLr9CAhyG5nphNvFkeM2slsTEOQWrrYGI4d9Hghiz9hkBeQwwfqjKIL8QNL+BeTwywhB/FirrIQcKhiTiyBIMqr6A8vkSOpfvqx6DPlt1REdBDki09h15KgTCILU4X5rVeS4hUt1MIKo4tQvhhz6TO9URJA7tJzHIocz8J3lEGQHSguXQsnRAjCjHhDECGxJWeQooac7F0F0eRZXQ45ihKoFEEQVZ1kx5CjjZzEbQSyoZtREjgxoDlMQxAHy1RLIcUyo9h0EqZwAclQO4GJ5BLkAZHkbOSzp6tRGEB2Ot6sgx21kVSYgSAXsyFEBeuaSCJIJLncacuSSU5+XVBBBkjDpDEIOHY6eVRDEiTZyOIFWXgZBlIHulUOOPSoxriGIcU7IYQzYuDyCGAJGDkO4TqXzBHFqLvIyyBE5va/eEeSLhdon5FBDWb0QgihHgBzKQCuXQxDFAJBDEWYjpRBEKQjkUALZWJnmBGmMT1I7yJGEKeQgBCmMDTkKATY+HUEKAkKOAnhBpiJIZlDIkQku2DQEyQgMOTKgBZ0ykiAqESGHCsYwRRDkRlTIcQNWJ0MRJDFI5EgE1dkwBEkIFDkSIHU6BEEugkWOC0Cd30aQk4DT5Tgpcn6LvxPwnE/1uwhyEAFyHIAZ7DKC7ASOHDtQBr2EIJvgkWMDZPBTBFm9AMixgsHHDwII8oFhmpqV49kfhzoEEES4I4dAYNslMLwgIseLkPktu9XGV7lWZB3qDi+IMJ4FkYPJhhwmWP2KIsg0/TLCjRxGYD3LIogN7RBy2Dx6X1URZJrelCNFDmWgNcsNL4i8zX8kAC1JpNxjricl2XogMLwgc4jyVr/KsVQSKYMcwrGrDUGeccrbXSKJTEeOJ8quDgiyilPe8hxJZBpyrDDOH7vZEWQTpbztdySR4cixQdjVKYLsxClvfYokMgw5dvB1dQlBDuKUt/9IkvlbKrmNHAfourqMICdxigWvsv8nQ+ZvuOZdTj+2WRK5zNY7AQRJSFiUmEWZd8RI4GU7xLc6gvjyZrVgBBAkWGC060sAQXx5s1owAggSLDDa9SWAIL68Wa1lAju9IcgOFC5BYCGAIAsJjhDYIYAgO1C4BIGFAIIsJDhCYIcAguxA4RIEFgJagiz1OEKgKwII0lWcPIw2AQTRJkq9rgggSFdx8jDaBBBEmyj1uiIQQJCuePMwwQggSLDAaNeXAIL48ma1YAQQJFhgtOtLAEF8ebNaMAJjCxIsLNr1J4Ag/sxZMRABBAkUFq36E0AQf+asGIgAggQKi1b9CSCIEXPK9kHgHwAAAP//0HYL0gAAAAZJREFUAwBGB62vUJIG1wAAAABJRU5ErkJggg==",Xf=new Set(["处理过程","执行过程","执行工具","确认业务口径","检索相关数据候选","核对业务证据","确认查询范围","检索语义资产","读取模型信息","准备执行查询","读取指标信息","检索知识库","准备推荐卡片","规划工作台任务","操作工作台卡片","执行 SQL 查询","读取文件"]);function ep(e){const r=e.trim();return r?Xf.has(r):!0}const tp={key:0,class:"collapsed-activity codex-turn-process"},np=["aria-expanded","aria-controls"],ap={class:"collapsed-activity__label"},rp=["id"],sp={key:0,class:"codex-process-item codex-process-item--commentary","data-testid":"process-preamble"},op={class:"codex-process-item__preamble collapsed-activity__item"},ip={class:"collapsed-activity__item-text"},cp=["aria-expanded","aria-controls","onClick"],lp={class:"codex-turn-process__group-summary"},dp=["id"],up=["aria-expanded","aria-controls","onClick"],mp={class:"collapsed-activity__invocation-title collapsed-activity__invocation-title-text"},fp={key:1,class:"codex-process-item__action-row a2 codex-process-item__action-row--static collapsed-activity__invocation-toggle","data-testid":"tool-action-row"},pp={class:"collapsed-activity__invocation-main codex-process-item__action-text"},hp={class:"collapsed-activity__invocation-title collapsed-activity__invocation-title-text"},gp=["id"],yp={key:0,class:"codex-process-item__detail-block"},bp={key:1,class:"codex-process-item__detail-block"},kp={class:"is-error"},_p={key:2,class:"codex-process-item__detail-block"},Cp={class:"collapsed-activity__error-text"},Sp={key:0,class:"collapsed-activity__live-status","data-testid":"collapsed-activity-live-status",role:"status","aria-live":"polite"},Ap=ln(n.defineComponent({__name:"CollapsedToolActivity",props:{messages:{},turnActive:{type:Boolean,default:!1}},setup(e){const r=e,o=n.reactive({expanded:!1}),c=n.ref(Date.now()),d=n.ref(null),u=n.ref(null),y=n.ref(null),_=n.ref(null),E=n.ref(!1),R=n.ref(!1),U=n.ref({}),z=n.ref({}),C=n.ref({});let B=null;const F=n.computed(()=>bu(r.messages)),H=n.computed(()=>r.turnActive),K=n.computed(()=>{var f;return((f=r.messages[0])==null?void 0:f.id)||""}),xe=n.computed(()=>K.value?`collapsed-activity-panel-${ye(K.value)}`:""),oe=n.computed(()=>o.expanded&&xe.value?xe.value:void 0),ue=n.computed(()=>F.value.length>0||r.turnActive),ce=n.computed(()=>Vt(F.value)),Le=n.computed(()=>ce.value.map(f=>{if(!f.commentary)return f;const b=C.value[f.commentary.id];return!b||b===f.commentary.text?f:{...f,commentary:{...f.commentary,text:b}}})),ne=n.computed(()=>F.value[F.value.length-1]),Z=n.computed(()=>{var f,b;return H.value?(b=(f=ne.value)==null?void 0:f.processInvocations)!=null&&b.length?"处理中":"思考中":""}),He=n.computed(()=>{const f=ct();if(f.length===0)return"0s";const b=Ut(f),x=Te(f);return b!==null&&x!==null?We(x-b):"0s"}),ae=n.computed(()=>{const f=H.value?"处理中":"已处理";return He.value?`${f} ${He.value}`:f});function he(){r.messages.length>0&&d.value===null&&(d.value=Date.now())}function ye(f){return f.replace(/[^a-zA-Z0-9_-]/g,"-")}function nt(){E.value=!1,R.value=!1,U.value={},z.value={},C.value={},d.value=null,u.value=null,y.value=null,_.value=null,c.value=Date.now(),H.value?(R.value=!0,o.expanded=!0,u.value=null,he()):o.expanded=!1,St(ce.value)}function St(f){const b={...C.value};let x=!1;for(const X of f){const ke=X.commentary;!(ke!=null&&ke.text)||b[ke.id]||(b[ke.id]=ke.text,x=!0)}x&&(C.value=b)}n.watch(()=>r.messages,()=>{if(he(),at(r.messages),c.value=Date.now(),H.value){u.value=null;return}r.messages.length>0&&u.value===null&&(u.value=Date.now())},{deep:!0,immediate:!0}),n.watch(K,(f,b)=>{if(f===b)return;const x=H.value&&(d.value!==null||y.value!==null),X=d.value,ke=y.value,Re=_.value;nt(),x&&(d.value=X??d.value,y.value=ke??y.value,_.value=Re??_.value)}),n.watch(ce,f=>{St(f)},{immediate:!0}),n.watch(H,f=>{if(f?(R.value=!0,E.value||(o.expanded=!0)):E.value||(o.expanded=!1),he(),at(r.messages),f){c.value=Date.now(),u.value=null,B||(B=setInterval(()=>{c.value=Date.now()},1e3));return}B&&(clearInterval(B),B=null),r.messages.length>0&&u.value===null&&(u.value=Date.now())},{immediate:!0}),n.watch(()=>r.messages.map(f=>f.id).join("|"),()=>{H.value||E.value||(o.expanded=R.value?!1:o.expanded)}),n.onBeforeUnmount(()=>{B&&(clearInterval(B),B=null)});function At(){E.value=!0,o.expanded=!o.expanded}function We(f){const b=Math.max(0,Math.floor(f/1e3)),x=Math.floor(b/60),X=b%60;return x>0?`${x}m ${X}s`:`${X}s`}function ct(){return F.value.length>0?F.value:r.messages}function Pt(f){return f.map(b=>b.startTime).filter(b=>typeof b=="number"&&Number.isFinite(b))}function Tt(f){const b=Pt(f);return b.length>0?{source:"server",value:Math.min(...b)}:d.value===null?null:{source:"fallback",value:d.value}}function at(f=r.messages){const b=Tt(f);if(b!==null){if(y.value===null){y.value=b.value,_.value=b.source;return}b.source==="server"&&_.value==="server"&&b.value<y.value&&(y.value=b.value)}}function Ut(f){var b;return y.value??((b=Tt(f))==null?void 0:b.value)??null}function Te(f){if(H.value)return c.value;const b=f.map(x=>x.endTime).filter(x=>typeof x=="number"&&Number.isFinite(x));return b.length>0?Math.max(...b):u.value}function Vt(f){var Re;const b=[];let x=[],X=null;function ke(){X&&(b.push(X),X=null)}for(const st of f){const Rt=Ne(st);Rt&&(ke(),x.push({id:st.id,text:Rt}));const ht=I(st);if(ht.length===0)continue;const Ye=x.filter(Yt=>!Be(Yt.text,ht));if(X&&Ye.length===0){X.items.push(...ht),x=[];continue}ke();const vt=v(Ye);X={id:(vt==null?void 0:vt.id)??((Re=ht[0])==null?void 0:Re.id)??st.id,...vt?{commentary:vt}:{},items:[...ht]},x=[]}ke();for(const st of x)b.push({id:st.id,commentary:st,items:[]});return b}function Ne(f){var x;const b=f.content.trim();return!b||ep(b)&&!dt(f,b)?"":f.processPreamble===!0?b:f.processPreamble===!1||(x=f.processInvocations)!=null&&x.length?"":b}function dt(f,b){var x;return b==="执行 SQL 查询"&&!((x=f.processInvocations)!=null&&x.length)}function Be(f,b){const x=f.trim();return!x||b.length===0?!1:b.some(X=>{const ke=X.actionLabel.trim(),Re=ke.replace(/^正在执行\s+/u,"").replace(/^执行失败\s+/u,"").trim();return x===ke||x===Re})}function v(f){const[b]=f;if(b)return{...b,text:f.map(x=>x.text).filter(Boolean).join(`
20
+ `).trim()}function Gu(e){return e.replace(/^((?:[✅📊📌🔎⚠💡🎯📝📋🔍📈📉]️?)\s+\S.+)$/gmu,"### $1")}function qu(e){return Hu(zu(Gu(Fu(Ou(e)))))}function Uu(e,a){const o=na(e);if(!a)return String(o);const c=typeof a.decimalPlaces=="number"&&Number.isFinite(a.decimalPlaces)?Math.max(0,Math.min(8,Math.trunc(a.decimalPlaces))):2,d=a.valueFormat==="percent"||a.unitCode==="percent"||a.unitLabel==="%",u=d&&Math.abs(o)<=1?o*100:o,y=new Intl.NumberFormat("en-US",{minimumFractionDigits:c,maximumFractionDigits:c}).format(u),_=a.unitLabel??(d?"%":"");return`${y}${_}`}function na(e){if(typeof e=="number"&&Number.isFinite(e))return e;if(typeof e=="string"&&e.trim()!==""){const a=Number(e);return Number.isFinite(a)?a:0}return 0}function Ts(e){const a=new Set(e.chart.hiddenSeries??[]);return e.chart.yFields.filter(o=>!a.has(o))}function Ti(e,a){const o=Ts(e)[0];return o?na(a[o]):0}function Ei(e){const a=e.chart.data.map(c=>({...c})),o=e.chart.sort??"none";return o!=="none"&&a.sort((c,d)=>{const u=Ti(e,c)-Ti(e,d);return o==="asc"?u:-u}),typeof e.chart.limit=="number"&&e.chart.limit>0?a.slice(0,e.chart.limit):a}const xi=3;function Wu(e){const a=e.chart.valueSpec;if(a)return o=>Uu(o,a)}function Qt(e){return na(e)}function ja(e,a){const o=e.map(c=>({field:c,lower:c.toLowerCase()}));return a.map(c=>{var d;return(d=o.find(u=>u.lower===c.toLowerCase()))==null?void 0:d.field}).find(c=>!!c)}function zn(e){return e.chart.yFields[0]||"value"}function Es(e,a="target"){const o=Object.keys(e);return ja(o,[a,"to","target","去向","目标","下游","流向"])||a}function Bi(e){return[...new Set(e.filter(Boolean))].map(a=>({name:a}))}function Ii(e){var U,z;const a=Ei(e),o=Ts(e),c=e.chart.xField;if(e.chart.type==="candlestick"||e.chart.type==="kline"){const S=ja(o,["open","开盘","开盘价"])||o[0],B=ja(o,["close","收盘","收盘价"])||o[1],F=ja(o,["low","最低","最低价"])||o[2],H=ja(o,["high","最高","最高价"])||o[3];return{tooltip:{trigger:"axis"},grid:{left:40,right:16,top:28,bottom:28,containLabel:!0},xAxis:{type:"category",data:a.map(Y=>String(Y[c]??"")),boundaryGap:!0},yAxis:{type:"value",scale:!0,splitLine:{lineStyle:{color:"#eef2f7"}}},series:[{type:"candlestick",data:a.map(Y=>[Qt(Y[S]),Qt(Y[B]),Qt(Y[F]),Qt(Y[H])])}]}}if(e.chart.type==="sankey"){const S=zn(e),B=a.map(F=>{const H=Es(F);return{source:String(F[c]??""),target:String(F[H]??""),value:Qt(F[S])}}).filter(F=>F.source&&F.target);return{tooltip:{trigger:"item"},series:[{type:"sankey",data:Bi(B.flatMap(F=>[F.source,F.target])),links:B}]}}if(e.chart.type==="heatmap"){const S=zn(e),B=a[0]?Es(a[0]):"target",F=[...new Set(a.map(Y=>String(Y[B]??"")))],H=[...new Set(a.map(Y=>String(Y[c]??"")))];return{tooltip:{trigger:"item"},grid:{left:48,right:16,top:28,bottom:28,containLabel:!0},xAxis:{type:"category",data:H},yAxis:{type:"category",data:F},visualMap:{min:0,max:Math.max(...a.map(Y=>Qt(Y[S])),1),calculable:!0,orient:"horizontal",bottom:0},series:[{type:"heatmap",data:a.map(Y=>[H.indexOf(String(Y[c]??"")),F.indexOf(String(Y[B]??"")),Qt(Y[S])])}]}}if(e.chart.type==="radar"){const S=zn(e);return{tooltip:{},radar:{indicator:a.map(B=>({name:String(B[c]??""),max:Math.max(...a.map(F=>Qt(F[S])),1)}))},series:[{type:"radar",data:[{value:a.map(B=>Qt(B[S])),name:S}]}]}}if(e.chart.type==="funnel"){const S=zn(e);return{tooltip:{trigger:"item"},series:[{type:"funnel",data:a.map(B=>({name:String(B[c]??""),value:Qt(B[S])}))}]}}if(e.chart.type==="gauge"){const S=zn(e);return{tooltip:{},series:[{type:"gauge",data:[{name:String(((U=a[0])==null?void 0:U[c])??S),value:Qt((z=a[0])==null?void 0:z[S])}]}]}}if(e.chart.type==="tree"||e.chart.type==="treemap"||e.chart.type==="sunburst"){const S=zn(e);return{tooltip:{trigger:"item"},series:[{type:e.chart.type==="tree"?"tree":e.chart.type,data:a.map(B=>({name:String(B[c]??""),value:Qt(B[S])}))}]}}if(e.chart.type==="graph"||e.chart.type==="network"){const S=zn(e),B=a.map(F=>{const H=Es(F);return{source:String(F[c]??""),target:String(F[H]??""),value:Qt(F[S])}}).filter(F=>F.source&&F.target);return{tooltip:{},series:[{type:"graph",layout:"force",roam:!0,data:Bi(B.flatMap(F=>[F.source,F.target])),links:B}]}}if(e.chart.type==="map"){const S=zn(e);return{tooltip:{trigger:"item"},visualMap:{min:0,max:Math.max(...a.map(B=>Qt(B[S])),1),calculable:!0},series:[{type:"map",map:"china",data:a.map(B=>({name:String(B[c]??""),value:Qt(B[S])}))}]}}if(e.chart.type==="pie"||e.chart.type==="donut"){const S=o[0];return{tooltip:{trigger:"item"},legend:{bottom:0},series:[{type:"pie",radius:e.chart.type==="donut"?["42%","68%"]:"68%",data:S?a.map(B=>({name:String(B[c]??""),value:na(B[S])})):[]}]}}const d=e.chart.type==="mini-bar",u=e.chart.type==="horizontal-bar",y=e.chart.type==="area",_=e.chart.type==="line"||y?"line":e.chart.type==="scatter"||e.chart.type==="bubble"?"scatter":"bar",E=d?o.slice(0,1):o,R=Wu(e);return u?{tooltip:{trigger:"axis",...R?{valueFormatter:R}:{}},grid:{left:56,right:16,top:28,bottom:16,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{color:"#eef2f7"}},...R?{axisLabel:{formatter:R}}:{}},yAxis:{type:"category",data:a.map(S=>String(S[c]??"")),axisTick:{show:!1}},series:E.map(S=>({name:S,type:"bar",barMinHeight:xi,data:a.map(B=>na(B[S]))}))}:{tooltip:d?{show:!1}:{trigger:"axis",...R?{valueFormatter:R}:{}},grid:d?{left:0,right:0,top:4,bottom:0,containLabel:!1}:{left:24,right:16,top:28,bottom:24,containLabel:!0},xAxis:{type:"category",show:!d,data:a.map(S=>String(S[c]??"")),axisTick:{show:!1}},yAxis:{type:"value",show:!d,splitLine:{lineStyle:{color:"#eef2f7"}},...!d&&R?{axisLabel:{formatter:R}}:{}},series:E.map(S=>({name:S,type:_,symbolSize:e.chart.type==="bubble"?12:void 0,barWidth:d?"72%":void 0,barMinHeight:_==="bar"?xi:void 0,data:a.map(B=>na(B[S])),smooth:e.chart.type==="line"||y,areaStyle:y?{}:void 0,itemStyle:d?{borderRadius:[3,3,0,0],color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#c084fc"},{offset:1,color:"#60a5fa"}]}}:void 0}))}}const Ri=["#1f4fd4","#17a34a","#d97706","#9333ea","#0f766e","#dc2626","#0891b2"],ju=new Set(["","#fff","#ffffff","white","transparent","rgb(255,255,255)","rgba(255,255,255,1)","rgba(255,255,255,0)"]),Ku=new Set(["#dbe4f0"]),Qu=new Set(["#475569"]),Yu=new Set(["#eef2f7"]),Ju=new Set(["#333","#333333","#475569","#4b5563","#62799b","#172033","#26364d","#2d3748"]),Zu=12;function Ca(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function xs(e){return Array.isArray(e)?e.map(a=>xs(a)):Ca(e)?Object.fromEntries(Object.entries(e).map(([a,o])=>[a,xs(o)])):e}function Er(e,a){return Ca(e)?e[a]:void 0}function Hn(e,a){const o=e[a];if(Ca(o))return o;const c={};return e[a]=c,c}function Xu(e){return Array.isArray(e)&&e.length===Ri.length&&e.every((a,o)=>String(a).toLowerCase()===Ri[o])}function em(e){return typeof e=="string"?e.trim().toLowerCase().replace(/\s+/g,""):""}function Ka(e,a){return e==null||e===""?!0:a.has(em(e))}function tm(e,a){if(a.axisColor){const o=Hn(e,"axisLine"),c=Hn(o,"lineStyle");Ka(c.color,Ku)&&(c.color=a.axisColor)}if(a.axisLabelColor){const o=Hn(e,"axisLabel");Ka(o.color,Qu)&&(o.color=a.axisLabelColor)}if(a.splitLineColor){const o=Hn(e,"splitLine"),c=Hn(o,"lineStyle");Ka(c.color,Yu)&&(c.color=a.splitLineColor)}}function xr(e,a){(Array.isArray(e)?e:[e]).forEach(c=>{Ca(c)&&tm(c,a)})}function vi(e){return e?e.closest(".workbench-root, [data-workbench-style], [data-dash-theme]")||(typeof document<"u"?document.documentElement:null):null}function nm(e){if(!e||typeof window>"u"||typeof window.getComputedStyle!="function")return null;const a=vi(e),o=[e,a].filter((u,y,_)=>!!u&&_.indexOf(u)===y),c=u=>{for(const y of o){const _=window.getComputedStyle(y).getPropertyValue(u).trim();if(_)return _}return""},d=Array.from({length:Zu},(u,y)=>c(`--wb-chart-color-${y+1}`)).filter(Boolean);return d.length===0?null:{colors:d,axisColor:c("--wb-chart-axis")||void 0,axisLabelColor:c("--wb-chart-axis-label")||void 0,splitLineColor:c("--wb-chart-split-line")||void 0,legendTextColor:c("--wb-chart-legend-text")||void 0,tooltipBg:c("--wb-chart-tooltip-bg")||void 0,tooltipTextColor:c("--wb-chart-tooltip-text")||void 0,backgroundColor:c("--wb-chart-background")||c("--wb-card-bg")||void 0,textColor:c("--wb-chart-text")||c("--wb-text")||c("--wb-chart-legend-text")||void 0}}function am(e,a){if(!(a!=null&&a.colors.length))return e;const o=xs(e);if((o.color===void 0||Xu(o.color))&&(o.color=a.colors),a.backgroundColor&&Ka(o.backgroundColor,ju)&&(o.backgroundColor=a.backgroundColor),a.textColor){const c=Hn(o,"textStyle");Ka(c.color,Ju)&&(c.color=a.textColor)}if(a.legendTextColor&&o.legend!==!1){const d=(Array.isArray(o.legend)?o.legend:[o.legend??{}]).map(u=>{if(!Ca(u))return u;const y={...u},_={...Ca(y.textStyle)?y.textStyle:{}};return(_.color===void 0||_.color==="")&&(_.color=a.legendTextColor),y.textStyle=_,y});o.legend=Array.isArray(o.legend)?d:d[0]}if(a.tooltipBg||a.tooltipTextColor){const c=Hn(o,"tooltip");if(a.tooltipBg&&(c.backgroundColor===void 0||c.backgroundColor==="")&&(c.backgroundColor=a.tooltipBg),a.tooltipTextColor){const d=Hn(c,"textStyle");(d.color===void 0||d.color==="")&&(d.color=a.tooltipTextColor)}}return xr(Er(o,"xAxis"),a),xr(Er(o,"yAxis"),a),xr(Er(o,"radiusAxis"),a),xr(Er(o,"angleAxis"),a),o}const rm={key:0,class:"echarts-view__placeholder","aria-hidden":"true"},sm=n.defineComponent({__name:"EChartsView",props:{option:{},height:{}},setup(e){const a=e,o=n.ref(null);let c=null,d=null,u=null,y=null;const _=n.ref(!1),E=n.ref(!1),R=n.ref(!1),U=n.computed(()=>({height:`${a.height??88}px`}));function z(ue){return am(ue,nm(o.value))}function S(ue,ce){if(!c)return;const Pe=Zr.prepareWorkbenchEChartsRuntimeOption(z(ue));if(typeof ce=="boolean"){c.setOption(Pe,ce),Zr.bindWorkbenchEChartsRuntimeInteractions(c,Pe);return}c.setOption(Pe),Zr.bindWorkbenchEChartsRuntimeInteractions(c,Pe)}function B(){u==null||u.disconnect(),u=null}function F(){if(B(),!o.value||typeof MutationObserver>"u")return;const ue=vi(o.value);ue&&(u=new MutationObserver(()=>{S(a.option,!0)}),u.observe(ue,{attributes:!0,attributeFilter:["data-workbench-style","data-dash-theme","style","class"]}))}function H(){n.nextTick(()=>{c==null||c.resize()})}function Y(){c||!o.value||E.value||(E.value=!0,c=gl.init(o.value),R.value=!0,S(a.option),F(),typeof ResizeObserver<"u"&&o.value&&(d=new ResizeObserver(()=>{H()}),d.observe(o.value)),E.value=!1)}function xe(){y==null||y.disconnect(),y=null}function ie(){if(xe(),!!o.value){if(typeof IntersectionObserver>"u"){_.value=!0,Y();return}y=new IntersectionObserver(ue=>{for(const ce of ue)ce.isIntersecting&&(_.value=!0,Y(),xe())},{root:null,rootMargin:"100px 0px 100px 0px",threshold:0}),o.value&&y.observe(o.value)}}return n.onMounted(()=>{ie()}),n.watch(()=>a.option,ue=>{S(ue,!0)},{deep:!0}),n.watch(()=>a.height,()=>{H()}),n.onUnmounted(()=>{xe(),B(),d==null||d.disconnect(),d=null,c==null||c.dispose(),c=null}),(ue,ce)=>(n.openBlock(),n.createElementBlock("div",{class:"echarts-view",style:n.normalizeStyle(U.value)},[R.value?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",rm,[...ce[0]||(ce[0]=[n.createElementVNode("span",{class:"echarts-view__spinner"},null,-1),n.createElementVNode("span",{class:"echarts-view__label"},"图表加载中",-1)])])),n.createElementVNode("div",{ref_key:"el",ref:o,class:"echarts-view__chart"},null,512)],4))}}),ln=(e,a)=>{const o=e.__vccOpts||e;for(const[c,d]of a)o[c]=d;return o},Di=ln(sm,[["__scopeId","data-v-a62de5ab"]]),om={class:"chart-card__header"},im={class:"chart-card__heading"},cm={class:"chart-card__title"},lm={key:0,class:"chart-card__version"},dm={key:0,class:"chart-card__period"},um={key:1,class:"chart-card__summary"},mm={class:"chart-card__meta"},fm={class:"chart-card__meta-item"},pm={class:"chart-card__meta-item"},hm={key:0,class:"chart-card__meta-item chart-card__meta-item--prompt"},gm={key:2,class:"chart-card__actions"},ym=["disabled","onClick"],Ni=ln(n.defineComponent({__name:"ChartCardRenderer",props:{card:{},showInsertAction:{type:Boolean}},emits:["insertCard"],setup(e,{emit:a}){const o=e,c=a,d=n.ref(null),u={view:"查看",download:"下载","insert-left":"插入左侧","save-doc":"存文档库","save-kb":"存知识库",upgrade:"升级"},y=n.computed(()=>Ii(o.card)),_=n.computed(()=>o.card.chart.type==="mini-bar"?88:240),E=n.computed(()=>{var S;return(S=o.card.meta)==null?void 0:S.version}),R=n.computed(()=>(o.card.actions||[]).filter(S=>S!=="insert-left"||o.showInsertAction));function U(S){return S==="download"&&o.card.permission.downloadable===!1}function z(S){var B;if(!U(S)&&S==="insert-left"){const F=Math.ceil(((B=d.value)==null?void 0:B.getBoundingClientRect().height)||0);c("insertCard",{...o.card,meta:{...o.card.meta,...F>0?{workbenchAdaptiveHeightPx:F}:{}}})}}return(S,B)=>{var F;return n.openBlock(),n.createElementBlock("article",{ref_key:"cardRef",ref:d,class:"chart-card"},[n.createElementVNode("header",om,[n.createElementVNode("div",im,[n.createElementVNode("h3",cm,n.toDisplayString(e.card.title),1),E.value?(n.openBlock(),n.createElementBlock("span",lm,"v"+n.toDisplayString(E.value),1)):n.createCommentVNode("",!0)])]),e.card.period?(n.openBlock(),n.createElementBlock("div",dm,n.toDisplayString(e.card.period),1)):n.createCommentVNode("",!0),n.createVNode(Di,{class:"chart-card__chart",option:y.value,height:_.value},null,8,["option","height"]),e.card.summary?(n.openBlock(),n.createElementBlock("p",um,n.toDisplayString(e.card.summary),1)):n.createCommentVNode("",!0),n.createElementVNode("dl",mm,[n.createElementVNode("div",fm,[B[0]||(B[0]=n.createElementVNode("dt",null,"数据来源",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.source.label),1)]),n.createElementVNode("div",pm,[B[1]||(B[1]=n.createElementVNode("dt",null,"权限",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.permission.label),1)]),(F=e.card.meta)!=null&&F.prompt?(n.openBlock(),n.createElementBlock("div",hm,[B[2]||(B[2]=n.createElementVNode("dt",null,"需求",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.meta.prompt),1)])):n.createCommentVNode("",!0)]),R.value.length?(n.openBlock(),n.createElementBlock("div",gm,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(R.value,H=>(n.openBlock(),n.createElementBlock("button",{key:H,type:"button",class:"chart-card__business-action",disabled:U(H),onClick:Y=>z(H)},n.toDisplayString(u[H]),9,ym))),128))])):n.createCommentVNode("",!0)],512)}}}),[["__scopeId","data-v-6ac5a2cd"]]),bm=/^\/?echarts-system-card-templates\/icons\/[a-z0-9-]+-[a-f0-9]{12}-[a-f0-9]{12}\.svg$/u,Li="echarts-system-card-templates";function km(e,a){const o=a.trim().replace(/\/+$/u,""),c=e.replace(/^\/+/u,"");return o.endsWith(`/${Li}`)?`${o}/${c.slice(`${Li}/`.length)}`:`${o}/${c}`}function _m(e){const a=n.ref({}),o=n.ref({}),c=U();function d(z){if(typeof z!="string")return"";const S=z.trim();return bm.test(S)?S.startsWith("/")?S.slice(1):S:""}function u(z){const S=d(z);if(!S)return"";const B=c.value.trim();return B?km(S,B):S}function y(z){const S=d(z);S&&(a.value={...a.value,[S]:!0})}function _(z){const S=d(z);!S||a.value[S]||(o.value={...o.value,[S]:!0})}function E(z){const S=d(z);return!!(S&&o.value[S]&&!a.value[S])}function R(z){const S=d(z);return!!(S&&!a.value[S])}function U(z){return n.getCurrentInstance()?n.inject(hi,n.ref("")):n.ref("")}return{isLoaded:E,markFailed:y,markLoaded:_,resolvePath:d,resolveSrc:u,shouldShow:R}}function Gn(e){const a=Pi(e.key),o=a?Sm(a,e.labels??{}):"",c=Bs(e.explicitLabel,a);return o||c||a}function Cm(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Pi(e){return typeof e=="string"&&e.trim()?e.trim():""}function Bs(e,a){const o=Pi(e);return!o||a&&o===a.trim()?"":o}function Sm(e,a){return Bs(a[e],e)}function Am(e){return Cm(e)?Object.fromEntries(Object.entries(e).flatMap(([a,o])=>{const c=Bs(o,a);return c?[[a,c]]:[]})):{}}const qn=["runtime_metric","execute_metric_api","metric_execute"],Un=["semantic_sql","execute_sql","query_sql"];function Br(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function dn(e){return Br(e)?e:{}}function Rn(e){if(Br(e))return e;if(typeof e!="string"||!e.trim())return{};try{const a=JSON.parse(e);return Br(a)?a:{}}catch{return{}}}function gn(e){return typeof e=="string"&&e.trim()?e.trim():""}function wm(e){return Br(e)?(gn(e.value)||gn(e.source)||gn(e.kind)||gn(e.type)).toLowerCase():gn(e).toLowerCase()}function qt(e,a){const o=wm(e);return!!(o&&a.some(c=>o===c||o.includes(c)))}function Mi(e){const a=dn(e),o=Rn(e==null?void 0:e.dataBinding),c=dn(o.queryResult),d=dn(c.data),u=dn(e==null?void 0:e.queryResult),y=dn(u.data),_=dn(a.blockPlan),E=dn(_.data),R=Rn(E.dataBinding),U=dn(_.meta),z=dn(U.queryResult),S=dn(z.data);return[a,o,c,Rn(c.dataBinding),d,Rn(d.dataBinding),u,Rn(u.dataBinding),y,Rn(y.dataBinding),E,R,dn(R.queryResult),U,Rn(U.dataBinding),z,Rn(z.dataBinding),S,Rn(S.dataBinding)]}function Oi(e){if(qt(e.source,qn)||qt(e.bindingKind,qn)||qt(e.binding_kind,qn)||qt(e.serviceOperation,qn)||qt(e.service_operation,qn)||qt(e.taskKind,qn)||qt(e.task_kind,qn)||qt(e.value,qn))return!0;const a=dn(e.paramsSchema);if(Array.isArray(a.metricFilterCandidates))return!0;const o=gn(e.executeApi),c=gn(e.refreshApi);return o.includes("/metric/metrics/execute")||c.includes("/metric/metrics/execute")}function Tm(e){return!!(Oi(e)||gn(e.metricCode)||gn(e.metric_code)||gn(e.metricId)||gn(e.metric_id))}function Em(e){return qt(e.source,Un)||qt(e.bindingKind,Un)||qt(e.binding_kind,Un)||qt(e.serviceOperation,Un)||qt(e.service_operation,Un)||qt(e.taskKind,Un)||qt(e.task_kind,Un)||qt(e.value,Un)}function Is(e){if(!e)return!1;if(e.source==="metric")return!0;const a=Mi(e);return e.source==="sql"?a.some(Oi):a.some(Tm)}function xm(e){return!e||e.source==="metric"||Is(e)?!1:e.source==="sql"?!0:Mi(e).some(Em)}const Bm="需要补充配置后才能预览";function Qa(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ze(e){return Qa(e)?e:{}}function Ct(e){return typeof e=="string"?e.trim():""}function Sa(e,a){const o=Ct(e);return!o||o===a.trim()?"":o}function un(e){const a=ze(e);return Object.fromEntries(Object.entries(a).flatMap(([o,c])=>{const d=Sa(c,o);return d?[[o,d]]:[]}))}function Fi(e){return Array.isArray(e)?e.map(Ir).filter(Boolean):[]}function Rs(e,a){if(!Array.isArray(e))return{};const o=Fi(a);return Object.fromEntries(e.flatMap((c,d)=>{const u=(Qa(c)?Ir(c):o[d])||"",y=Qa(c)?Sa(c.label,u)||Sa(c.title,u)||Sa(c.displayName,u):Sa(c,u);return u&&y?[[u,y]]:[]}))}function $i(e,a){if(!Array.isArray(e))return{};const o=e.find(Qa);if(!o)return{};const c=Fi(a);return Object.fromEntries(Object.keys(o).flatMap((d,u)=>{const y=c[u]||"",_=Sa(d,y);return y&&_?[[y,_]]:[]}))}function Aa(e){const a=ze(e.data),o=Array.isArray(e.columns)?e.columns:a.columns;return{...Rs(a.displayColumns,o),...Rs(e.displayColumns,o),...Rs(a.columnMetadata,o),...$i(a.displayRows,o),...$i(e.displayRows,o)}}function Ir(e){if(typeof e=="string")return e.trim();const a=ze(e);return Ct(a.key)||Ct(a.dataIndex)||Ct(a.field)||Ct(a.name)}function Vi(e,a,o,c){if(typeof e=="string")return Gn({key:e,labels:o});const d=ze(e);return Gn({key:a,explicitLabel:Ct(d.label)||Ct(d.title)||Ct(d.displayName),labels:o,role:d.role})}function wa(e){return Array.isArray(e)?Object.fromEntries(e.map((a,o)=>{const c=Ir(a);if(!c)return null;const d=Vi(a,c,{});return d&&d!==c?[c,d]:null}).filter(a=>!!a)):{}}function zi(e){const a=new Set;return e.filter(o=>a.has(o.value)?!1:(a.add(o.value),!0))}function vs(e){const a=ze(e==null?void 0:e.cardConfig),o=ze(e==null?void 0:e.selectedConfig),c=ze(o.values),d=ze(e==null?void 0:e.dataBinding),u=ze(e==null?void 0:e.queryResult),y=ze(u.data),_=ze(u.dataBinding),E=ze(d.queryResult),R=ze(E.data),U=ze(e==null?void 0:e.blockPlan),z=ze(U.data),S=ze(z.dataBinding),B=ze(U.meta),F=ze(B.queryResult);return{...wa(R.columns),...wa(E.columns),...wa(F.columns),...wa(z.columns),...wa(y.columns),...wa(u.columns),...un(R.fieldLabels),...un(E.fieldLabels),...un(F.fieldLabels),...un(S.fieldLabels),...un(z.fieldLabels),...un(y.fieldLabels),...un(_.fieldLabels),...un(u.fieldLabels),...un(d.fieldLabels),...un(o.fieldLabels),...un(c.fieldLabels),...un(a.fieldLabels),...Aa(R),...Aa(E),...Aa(F),...Aa(z),...Aa(y),...Aa(u)}}function Hi(e){const a=ze(e==null?void 0:e.cardConfig),o=ze(e==null?void 0:e.selectedConfig),c=ze(o.values),d=ze(e==null?void 0:e.dataBinding);return[ze(a.fieldMapping),ze(o.fieldMapping),ze(c.fieldMapping),ze(d.fieldMapping)].find(y=>Object.keys(y).length>0)??{}}function Gi(e){if(!e)return[];const a=ze(e.queryResult),o=ze(a.data),c=vs(e),u=(Array.isArray(a.columns)?a.columns:Array.isArray(o.columns)?o.columns:[]).map((E,R)=>{const U=Ir(E);if(!U)return null;const z=ze(E);return{value:U,label:Vi(E,U,c),type:Ct(z.type)||void 0,role:Ct(z.role)||void 0}}).filter(E=>!!E);if(u.length>0)return zi(u);const _=(Array.isArray(a.rows)?a.rows:Array.isArray(o.rows)?o.rows:[]).find(Qa);return _?zi(Object.keys(_).map((E,R)=>({value:E,label:Gn({key:E,labels:c})}))):[]}function qi(e){return Gi(e).length>0}function Ya(e,a){if(typeof e=="string")return Gn({key:e,labels:a});const o=ze(e),c=Ct(o.name)||Ct(o.key)||Ct(o.field);return c?Gn({key:c,explicitLabel:Ct(o.label)||Ct(o.displayName),labels:a}):""}function Ds(e,a){if(!Array.isArray(e))return"";const o=e.map(c=>Ya(c,a)).filter(Boolean);return o.length<=2?o.join("、"):`${o.slice(0,2).join("、")}等 ${o.length} 项`}function Ja(e,a,o,c){c&&e.push({key:a,text:`${o}:${c}`})}function aa(e){const a=ze(e==null?void 0:e.dataBinding);return Ct(a.filterSummary)}function Ui(e){const a=ze(e.configRequirement),o=ze(e.diagnostics);return Ct(a.message)||Ct(e.previewReason)||Ct(e.diagnosticReason)||Ds(o.reasonCodes,{})||Bm}function Wi(e){return e.nextAction==="execute_query"||e.nextAction==="disabled"||e.previewStatus==="requires_execution"||e.previewStatus==="empty"||e.previewStatus==="blocked"}function Im(e){var a;return Wi(e)||!Is(e)||!qi(e)?!1:e.previewStatus==="requires_config"?((a=e.configRequirement)==null?void 0:a.kind)==="field_mapping":e.previewStatus==="ready"||!e.previewStatus}function Rm(e,a){return a==="table"||e.dataShape==="rows"||e.dataShape==="table"||/\.table\b/u.test(e.capabilityId)||/\.list\b/u.test(e.capabilityId)||e.capabilityId.includes(".list")}function vm(e){return e.dataShape==="metricSummary"||/metric|指标|数值/u.test(e.capabilityId)}function ji(e){var R;const{selectedItem:a,previewMode:o}=e,c=[],d=[];if(Wi(a))return{chips:c,actions:d,diagnostic:Ct(a.previewReason)||Ct(a.diagnosticReason)};if(a.previewStatus==="requires_config"&&((R=a.configRequirement)==null?void 0:R.kind)!=="field_mapping")return{chips:c,actions:d,diagnostic:Ui(a)};const u=vs(a),y=Hi(a);Rm(a,o)||(vm(a)?Ja(c,"metric","指标",Ds(y.yFields,u)||Ya(y.yField??y.valueField,u)):(Ja(c,"x","X",Ya(y.xField??y.labelField,u)),Ja(c,"y","Y",Ds(y.yFields,u)||Ya(y.yField??y.valueField,u)),Ja(c,"group","分组",Ya(y.groupField,u))));const E=aa(a);return Ja(c,"filter","筛选",E),{chips:c,actions:d,diagnostic:""}}const Ki={bar:"bar",line:"line",pie:"pie",scatter:"scatter",geomap:"map",map:"map",candlestick:"candlestick",radar:"radar",boxplot:"boxplot",heatmap:"heatmap",graph:"network",lines:"lines",tree:"tree",treemap:"treemap",sunburst:"sunburst",parallel:"parallel",sankey:"sankey",funnel:"funnel",gauge:"gauge",pictorialbar:"pictorialBar",themeriver:"themeRiver",calendar:"calendar",custom:"graphic",gl3d:"scene3D"},Dm={waterfall:"waterfall",pareto:"pareto",stack:"stackedBar",stacked:"stackedBar",race:"ranking",ranking:"ranking",rank:"ranking",sort:"ranking",doughnut:"donut",donut:"donut",radial:"radialTree",gauge:"gauge",clock:"clockGauge",progress:"progress",globe:"globe3D",bar3d:"bar3D",scatter3d:"scatter3D",surface:"surface3D",line3d:"lines",lines3d:"lines",linesgl:"lines",graphgl:"network",geo3d:"map",map3d:"map",flamegraph:"treemap",gantt:"timeline"},Nm={...Ki,graph:"network"};function Wn(e){return typeof e=="string"&&e.trim().length>0?e.trim():""}function Ns(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Qi(e){return Array.isArray(e)?e.flatMap(a=>{const o=Wn(a);return o?[o]:[]}):[]}function Rr(e){const a=Wn(e);if(!a)return[];const o=[];let c="";const d=()=>{if(!c)return;const u=c.toLowerCase();o.push(u);const y=Mm(u);y&&y!==u&&o.push(y),c=""};for(const u of a){if(Lm(u)){d();continue}Pm(u)&&c&&d(),c+=u}return d(),o}function Lm(e){return e==="."||e==="/"||e==="-"||e==="_"||e===":"||e===" "}function Pm(e){return e>="A"&&e<="Z"}function Mm(e){let a=e.length;for(;a>0&&e.charCodeAt(a-1)>=48&&e.charCodeAt(a-1)<=57;)a-=1;return e.slice(0,a)}function Om(e){const a=e.split(".");return a[0]==="card"&&a[1]==="echarts"&&a[2]||""}function Fm(e){const a=e.split(".");return a[0]==="card"&&a[1]==="echarts"&&a[3]||""}function Yi(e){return!Ns(e.option)||!Array.isArray(e.option.series)?[]:e.option.series.filter(Ns)}function $m(e){const a=[...Qi(e.seriesTypes),...Yi(e).flatMap(o=>{const c=Wn(o.type);return c?[c]:[]})];return new Set(a.map(o=>o.toLowerCase()))}function Vm(e){const a=[...Rr(e.exampleId),...Rr(e.templateType),...Rr(Fm(e.capabilityId)),...Qi(e.tags).flatMap(Rr)];if(a.includes("ring")&&a.includes("gauge"))return"donutGauge";if(a.includes("clock")&&a.includes("gauge"))return"clockGauge";if(a.includes("rose")&&a.includes("type"))return"rosePie";if(a.includes("multiple")&&a.includes("pie"))return"multiPie";if(a.includes("calendar")&&a.includes("pie")||a.includes("calendar")&&a.includes("heatmap"))return"calendar";if(a.includes("map")&&a.includes("pie"))return"map";if(a.includes("line")&&a.includes("3d")||a.includes("lines")&&a.includes("gl"))return"lines";if(a.includes("graph")&&a.includes("gl"))return"network";if(a.includes("geo")&&a.includes("3d")||a.includes("map")&&a.includes("3d"))return"map";if(a.includes("error")&&a.includes("bar"))return"boxplot";for(const o of a){const c=Dm[o];if(c)return c}return a.includes("bar")&&a.includes("line")?"mixedBarLine":a.includes("3d")&&a.includes("bar")?"bar3D":a.includes("3d")&&a.includes("scatter")?"scatter3D":""}function zm(e){const a=Yi(e),o=$m(e);if(o.has("bar")&&o.has("line"))return"mixedBarLine";if(a.some(c=>Wn(c.type).toLowerCase()==="line"&&Ns(c.areaStyle)))return"area";if(a.some(c=>Wn(c.type).toLowerCase()==="pie"&&Array.isArray(c.radius)))return"donut";if(a.some(c=>Wn(c.type).toLowerCase()==="bar"&&Wn(c.stack)))return"stackedBar";for(const c of o){const d=Nm[c];if(d&&d!=="bar")return d}return o.has("bar")?"bar":""}function Hm(e){const a=Wn(e.mainCategory||Om(e.capabilityId)).toLowerCase(),o=Ki[a]||"",c=Vm(e);if(c)return c;const d=zm(e);return d&&(a==="bar"||a==="pie"||a==="custom"||!o)?d:o||d||"bar"}const Gm=new Set(["bar","line","pie","scatter","radar","funnel","heatmap","gauge","tree","treemap","sankey","graph","sunburst","parallel","pictorialBar","themeRiver","candlestick","boxplot"]);function Za(e){return typeof e=="string"&&e.trim().length>0?e.trim():""}function qm(e){return Array.isArray(e)?e.flatMap(a=>{const o=Za(a);return o?[o]:[]}):[]}function Ji(e){if(!e)return null;const a=Za(e.mainCategory),o=Za(e.protocolType),c=qm(e.seriesTypes),d=c.map(y=>y.toLowerCase()),u=[Za(e.exampleId),Za(e.templateType)].join(" ").toLowerCase();return!a&&!o&&c.length===0||o==="scene3D"||o==="timeline"||a==="custom"||a==="gl3d"?null:a==="geoMap"||o==="geo"?"map":o==="network"?a==="sankey"||d.includes("sankey")?"sankey":"network":o==="tree"?["tree","treemap","sunburst"].includes(a)?a:"tree":a==="calendar"?"heatmap":a==="pictorialBar"?"pictorialBar":a==="themeRiver"?"themeRiver":d.includes("bar")&&d.includes("line")?"mixedBarLine":a==="pie"&&/(?:half[-_\s]?donut|semi[-_\s]?(?:donut|circle)|piehalfdonut)/iu.test(u)?"halfDonut":Gm.has(a)?a:null}const Um={"card.echarts.bar.bar1":"/echarts-system-card-templates/icons/bar1-868ae2ea577a-4b5eb433decf.svg","card.echarts.bar.barAnimationDelay":"/echarts-system-card-templates/icons/bar-animation-delay-ef3572258fdf-324a9bd21b49.svg","card.echarts.bar.barBackground":"/echarts-system-card-templates/icons/bar-background-514ab16cd8d4-c92c0ccb86d4.svg","card.echarts.bar.barBreaksBrush":"/echarts-system-card-templates/icons/bar-breaks-brush-fc39371592aa-e3bd38bd523d.svg","card.echarts.bar.barBreaksSimple":"/echarts-system-card-templates/icons/bar-breaks-simple-1cd0134a76a9-059be18fb92a.svg","card.echarts.bar.barBrush":"/echarts-system-card-templates/icons/bar-brush-3db143b212fd-756a886cc8b5.svg","card.echarts.bar.barDataColor":"/echarts-system-card-templates/icons/bar-data-color-2ecb0f9d8bc7-6741bc4d7c9e.svg","card.echarts.bar.barDrilldown":"/echarts-system-card-templates/icons/bar-drilldown-ea02f6fc374f-2197964f9434.svg","card.echarts.bar.barGradient":"/echarts-system-card-templates/icons/bar-gradient-95c951868f26-e61ee7801434.svg","card.echarts.bar.barLabelRotation":"/echarts-system-card-templates/icons/bar-label-rotation-9221e2c4bba5-eb3c36872d05.svg","card.echarts.bar.barMultiDrilldown":"/echarts-system-card-templates/icons/bar-multi-drilldown-869c74e782f3-6215bbec7ac8.svg","card.echarts.bar.barNegative":"/echarts-system-card-templates/icons/bar-negative-760f8ebd2092-f5a4da535e5c.svg","card.echarts.bar.barNegative2":"/echarts-system-card-templates/icons/bar-negative2-f095a7ffece0-c95865a44d98.svg","card.echarts.bar.barPolarLabelRadial":"/echarts-system-card-templates/icons/bar-polar-label-radial-3ac627032a9f-5067ad460916.svg","card.echarts.bar.barPolarLabelTangential":"/echarts-system-card-templates/icons/bar-polar-label-tangential-371972119d45-62e6d764f9c8.svg","card.echarts.bar.barPolarRealEstate":"/echarts-system-card-templates/icons/bar-polar-real-estate-e6cd87b53072-ab41a88c0e60.svg","card.echarts.bar.barPolarStack":"/echarts-system-card-templates/icons/bar-polar-stack-f1da21cfca6f-a554fe63f111.svg","card.echarts.bar.barPolarStackRadial":"/echarts-system-card-templates/icons/bar-polar-stack-radial-979647bacb48-de54f97acd9d.svg","card.echarts.bar.barRace":"/echarts-system-card-templates/icons/bar-race-581194f86444-a54d9963d03a.svg","card.echarts.bar.barRaceCountry":"/echarts-system-card-templates/icons/bar-race-country-e7ecf4ca9483-126444c1436a.svg","card.echarts.bar.barRichText":"/echarts-system-card-templates/icons/bar-rich-text-f30feba4a375-1d50477de00e.svg","card.echarts.bar.barSimple":"/echarts-system-card-templates/icons/bar-simple-d1634ca3d005-1d9ba8fee970.svg","card.echarts.bar.barStack":"/echarts-system-card-templates/icons/bar-stack-d161ba04bf4d-e7a5fb22b338.svg","card.echarts.bar.barStackBorderRadius":"/echarts-system-card-templates/icons/bar-stack-borderradius-10d53ad18e33-756853e2b77a.svg","card.echarts.bar.barStackNormalization":"/echarts-system-card-templates/icons/bar-stack-normalization-ff83fb2fb7f1-b660b4dd9012.svg","card.echarts.bar.barStackNormalizationAndVariation":"/echarts-system-card-templates/icons/bar-stack-normalization-and-variation-60a15bd78b88-b660b4dd9012.svg","card.echarts.bar.barTickAlign":"/echarts-system-card-templates/icons/bar-tick-align-7dda661d4105-1d8151a1c780.svg","card.echarts.bar.barWaterfall":"/echarts-system-card-templates/icons/bar-waterfall-b7f6acf0dd6d-533ed6fac1c1.svg","card.echarts.bar.barWaterfall2":"/echarts-system-card-templates/icons/bar-waterfall2-8475d88862c1-c5f1e5a79061.svg","card.echarts.bar.barYCategory":"/echarts-system-card-templates/icons/bar-y-category-e5a42011beb9-c91000071987.svg","card.echarts.bar.barYCategoryStack":"/echarts-system-card-templates/icons/bar-y-category-stack-92f5de6d605c-6385e668c798.svg","card.echarts.bar.datasetEncode0":"/echarts-system-card-templates/icons/dataset-encode0-025f8403e071-0be39b09d4b7.svg","card.echarts.bar.datasetSeriesLayoutBy":"/echarts-system-card-templates/icons/dataset-series-layout-by-451f2638a715-258361ccfdd7.svg","card.echarts.bar.datasetSimple0":"/echarts-system-card-templates/icons/dataset-simple0-e29f09988354-93a572a25e20.svg","card.echarts.bar.datasetSimple1":"/echarts-system-card-templates/icons/dataset-simple1-6154241093ca-93a572a25e20.svg","card.echarts.bar.dataTransformSortBar":"/echarts-system-card-templates/icons/data-transform-sort-bar-8c764fdd3792-39eac0f483a9.svg","card.echarts.bar.docExampleAriaDecalNewspaper":"/echarts-system-card-templates/icons/doc-example-aria-decal-newspaper-9b41b84afc8f-a38e649306ec.svg","card.echarts.bar.docExampleAriaDecalSimple":"/echarts-system-card-templates/icons/doc-example-aria-decal-simple-3b72aa9ef40d-2d84e845964f.svg","card.echarts.bar.docExampleBarDataZoomFilterMode":"/echarts-system-card-templates/icons/doc-example-bar-datazoom-filtermode-997633fc8fe1-680687a8e39f.svg","card.echarts.bar.docExampleBarGridBarGap":"/echarts-system-card-templates/icons/doc-example-bargrid-bargap-31792daf1376-e821d276bf3b.svg","card.echarts.bar.docExampleCanvasVsSvg":"/echarts-system-card-templates/icons/doc-example-canvas-vs-svg-def42d9a2eef-e6a6128f9880.svg","card.echarts.bar.docExampleCanvasVsSvgEn":"/echarts-system-card-templates/icons/doc-example-canvas-vs-svg-en-cce729b24fda-e6a6128f9880.svg","card.echarts.bar.docExampleDatasetEncodeSimple0":"/echarts-system-card-templates/icons/doc-example-dataset-encode-simple0-eb5bca665886-c56936ebe8ae.svg","card.echarts.bar.docExampleDataTransformMultipleSortBar":"/echarts-system-card-templates/icons/doc-example-data-transform-multiple-sort-bar-794ba5b76298-39eac0f483a9.svg","card.echarts.bar.docExampleGettingStarted":"/echarts-system-card-templates/icons/doc-example-getting-started-0a038f6781b6-b0d5463e7c3e.svg","card.echarts.bar.docExamplePictorialBarPosition":"/echarts-system-card-templates/icons/doc-example-pictorialbar-position-a627bcf618bc-17cddda2166a.svg","card.echarts.bar.docExamplePictorialBarSymbolSize":"/echarts-system-card-templates/icons/doc-example-pictorialbar-symbolsize-03d48c6612f0-a4ef999ae547.svg","card.echarts.bar.docExamplePolarEndAngle":"/echarts-system-card-templates/icons/doc-example-polar-end-angle-9d2f3c518f48-f9ff947a881b.svg","card.echarts.bar.docExampleTutorialAsync":"/echarts-system-card-templates/icons/doc-example-tutorial-async-3783e444ccd6-39eac0f483a9.svg","card.echarts.bar.docExampleTutorialLoading":"/echarts-system-card-templates/icons/doc-example-tutorial-loading-e49a537ba945-39eac0f483a9.svg","card.echarts.bar.docExampleValueAnimationSimple":"/echarts-system-card-templates/icons/doc-example-value-animation-simple-e36e10c4bf74-38bba0671c4c.svg","card.echarts.bar.dynamicData":"/echarts-system-card-templates/icons/dynamic-data-3a92aef4e1bc-68e990f80b3c.svg","card.echarts.bar.mixLineBar":"/echarts-system-card-templates/icons/mix-line-bar-3560263980f6-9217c143ef1c.svg","card.echarts.bar.mixTimelineFinance":"/echarts-system-card-templates/icons/mix-timeline-finance-ab32474d2c52-165ab31a1cf6.svg","card.echarts.bar.mixZoomOnValue":"/echarts-system-card-templates/icons/mix-zoom-on-value-7488ff4f4696-680687a8e39f.svg","card.echarts.bar.multipleYAxis":"/echarts-system-card-templates/icons/multiple-y-axis-f7b92b0b6890-6ee8ca4318cb.svg","card.echarts.bar.polarEndAngle":"/echarts-system-card-templates/icons/polar-endangle-b54fb886db15-06611c1a258c.svg","card.echarts.bar.polarRoundCap":"/echarts-system-card-templates/icons/polar-roundcap-aedf5d390911-a1715e7d15fd.svg","card.echarts.bar.watermark":"/echarts-system-card-templates/icons/watermark-50c40638b3c6-ecee7c43f8a3.svg","card.echarts.boxplot.boxplotLightVelocity":"/echarts-system-card-templates/icons/boxplot-light-velocity-dcbaab453cff-97fa8253dda0.svg","card.echarts.boxplot.boxplotLightVelocity2":"/echarts-system-card-templates/icons/boxplot-light-velocity2-3e1daf9bce5a-eefabdf90521.svg","card.echarts.boxplot.boxplotMulti":"/echarts-system-card-templates/icons/boxplot-multi-c8fe3b7b63f7-e48008751ca5.svg","card.echarts.boxplot.dataTransformAggregate":"/echarts-system-card-templates/icons/data-transform-aggregate-62b2102fd9df-21c1d9c4805f.svg","card.echarts.calendar.calendarHorizontal":"/echarts-system-card-templates/icons/calendar-horizontal-6b41070ee63d-eff3281125c0.svg","card.echarts.calendar.calendarLunar":"/echarts-system-card-templates/icons/calendar-lunar-983267b2bffa-7baba259915e.svg","card.echarts.calendar.calendarSimple":"/echarts-system-card-templates/icons/calendar-simple-8eb5da8796ce-eff3281125c0.svg","card.echarts.calendar.customCalendarIcon":"/echarts-system-card-templates/icons/custom-calendar-icon-f69bedc815de-7e4a9a97a383.svg","card.echarts.candlestick.candlestickBrush":"/echarts-system-card-templates/icons/candlestick-brush-3698e62323c6-f7e252b9930d.svg","card.echarts.candlestick.candlestickLarge":"/echarts-system-card-templates/icons/candlestick-large-81c9b8ad4399-81aa7770e5b3.svg","card.echarts.candlestick.candlestickSh":"/echarts-system-card-templates/icons/candlestick-sh-a62159566d28-99eb96317225.svg","card.echarts.candlestick.candlestickSimple":"/echarts-system-card-templates/icons/candlestick-simple-22c1c3ac084a-a7d1cfbbad6c.svg","card.echarts.candlestick.candlestickTouch":"/echarts-system-card-templates/icons/candlestick-touch-d0df15bc6e7c-d81399499b78.svg","card.echarts.candlestick.customOhlc":"/echarts-system-card-templates/icons/custom-ohlc-d088d867adcc-cce1fc7997a9.svg","card.echarts.custom.barHistogram":"/echarts-system-card-templates/icons/bar-histogram-8f4ee0853776-8ec4624a8245.svg","card.echarts.custom.customBarTrend":"/echarts-system-card-templates/icons/custom-bar-trend-c02be4d7236a-c59fff22b7f7.svg","card.echarts.custom.customCartesianPolygon":"/echarts-system-card-templates/icons/custom-cartesian-polygon-aac96a6cc9cf-60892e0e0fb8.svg","card.echarts.custom.customErrorBar":"/echarts-system-card-templates/icons/custom-error-bar-0e7ae2bb0a11-9a7cc138c1ce.svg","card.echarts.custom.customErrorScatter":"/echarts-system-card-templates/icons/custom-error-scatter-c9394d4ebc7b-173617682a63.svg","card.echarts.custom.customGanttFlight":"/echarts-system-card-templates/icons/custom-gantt-flight-f23175de93c1-2d08b5638edb.svg","card.echarts.custom.customGauge":"/echarts-system-card-templates/icons/custom-gauge-56d2e938d4eb-d974231b4990.svg","card.echarts.custom.customPolarHeatmap":"/echarts-system-card-templates/icons/custom-polar-heatmap-3e0f8ae1cfba-b0f326aeadba.svg","card.echarts.custom.customProfile":"/echarts-system-card-templates/icons/custom-profile-d3df2d4327e5-2574883c80e8.svg","card.echarts.custom.customProfit":"/echarts-system-card-templates/icons/custom-profit-2f427fdca098-aebd95b3f1cb.svg","card.echarts.custom.customSpiralRace":"/echarts-system-card-templates/icons/custom-spiral-race-bd8e3066098a-72a3a32ee4b2.svg","card.echarts.custom.cyclePlot":"/echarts-system-card-templates/icons/cycle-plot-91fc292cc127-0d40a11d5c00.svg","card.echarts.custom.docExampleBarMediaTimeline":"/echarts-system-card-templates/icons/doc-example-bar-media-timeline-8e9a77a1ecef-0d5333b5d0d7.svg","card.echarts.custom.docExampleCustomTransitionSimple":"/echarts-system-card-templates/icons/doc-example-custom-transition-simple-59465d0c2dba-0e2716a66496.svg","card.echarts.custom.docExampleGridOuterBounds":"/echarts-system-card-templates/icons/doc-example-grid-outerbounds-5c556123ab9a-bab6f4681c3d.svg","card.echarts.custom.docExampleMixTimelineAll":"/echarts-system-card-templates/icons/doc-example-mix-timeline-all-a55e7b5b2f85-872a6904edf6.svg","card.echarts.custom.docExamplePieMedia":"/echarts-system-card-templates/icons/doc-example-pie-media-f8a3822e7465-7fb29ebd1915.svg","card.echarts.custom.docExampleRadar":"/echarts-system-card-templates/icons/doc-example-radar-5edde5645889-32d4f9c7a7f3.svg","card.echarts.custom.docExampleTimelineDynamicSeries":"/echarts-system-card-templates/icons/doc-example-timeline-dynamic-series-0575d1768998-89fbdf6652af.svg","card.echarts.custom.windBarb":"/echarts-system-card-templates/icons/wind-barb-b6eab67479db-f3f61f9a8179.svg","card.echarts.funnel.funnel":"/echarts-system-card-templates/icons/funnel-56cdf48f369a-ebfe1028ee90.svg","card.echarts.funnel.funnelAlign":"/echarts-system-card-templates/icons/funnel-align-0438eddb6809-fa94a0e0eee5.svg","card.echarts.funnel.funnelCustomize":"/echarts-system-card-templates/icons/funnel-customize-47dd0559e8a6-b5587826e926.svg","card.echarts.funnel.funnelMutiple":"/echarts-system-card-templates/icons/funnel-mutiple-3064f1cbb966-ea95c58c23ae.svg","card.echarts.gauge.gauge":"/echarts-system-card-templates/icons/gauge-f79a2330c22a-8728bf7f07b7.svg","card.echarts.gauge.gaugeCar":"/echarts-system-card-templates/icons/gauge-car-ebe34e1397dd-177d1c03dc06.svg","card.echarts.gauge.gaugeGrade":"/echarts-system-card-templates/icons/gauge-grade-f74185c2b891-fb5f770089ce.svg","card.echarts.gauge.gaugeMultiTitle":"/echarts-system-card-templates/icons/gauge-multi-title-88c7cd8d3e18-9661fb1baa34.svg","card.echarts.gauge.gaugeProgress":"/echarts-system-card-templates/icons/gauge-progress-bf937301db67-a585dc642198.svg","card.echarts.gauge.gaugeRing":"/echarts-system-card-templates/icons/gauge-ring-20179e7beb63-102eef28795f.svg","card.echarts.gauge.gaugeSimple":"/echarts-system-card-templates/icons/gauge-simple-769235e417b5-fc35f564940f.svg","card.echarts.gauge.gaugeSpeed":"/echarts-system-card-templates/icons/gauge-speed-801c8bdf86cd-5dc2058a71fa.svg","card.echarts.gauge.gaugeStage":"/echarts-system-card-templates/icons/gauge-stage-44d1469e9791-72fae61e0552.svg","card.echarts.gauge.gaugeTemperature":"/echarts-system-card-templates/icons/gauge-temperature-74a30746f90b-67ad27f60039.svg","card.echarts.graph.calendarGraph":"/echarts-system-card-templates/icons/calendar-graph-ed647505f583-076e6438923a.svg","card.echarts.graph.chordLineStyleColor":"/echarts-system-card-templates/icons/chord-linestyle-color-598e72686136-4d7358a08e20.svg","card.echarts.graph.chordMinAngle":"/echarts-system-card-templates/icons/chord-minangle-4461ce582ac0-2493e1d4e88e.svg","card.echarts.graph.chordSimple":"/echarts-system-card-templates/icons/chord-simple-93e6d6d9ed4f-31e236b24a87.svg","card.echarts.graph.chordStyle":"/echarts-system-card-templates/icons/chord-style-87a099f45573-153bbe352e51.svg","card.echarts.graph.docExampleGraphRoamIndicator":"/echarts-system-card-templates/icons/doc-example-graph-roam-indicator-809bc967b5a8-c4cb69a8e964.svg","card.echarts.graph.graph":"/echarts-system-card-templates/icons/graph-b9208d0121c9-0cd3d6369a15.svg","card.echarts.graph.graphCircularLayout":"/echarts-system-card-templates/icons/graph-circular-layout-237dd170dfac-0cd3d6369a15.svg","card.echarts.graph.graphForce":"/echarts-system-card-templates/icons/graph-force-12c2e6a90595-b35077bf8ce1.svg","card.echarts.graph.graphForceDynamic":"/echarts-system-card-templates/icons/graph-force-dynamic-a39dfc4ad2ca-101dee7a9bc7.svg","card.echarts.graph.graphGrid":"/echarts-system-card-templates/icons/graph-grid-54ad26482e9b-17e42aebd1c5.svg","card.echarts.graph.graphLabelOverlap":"/echarts-system-card-templates/icons/graph-label-overlap-0573c066b1b7-0cd3d6369a15.svg","card.echarts.graph.graphLifeExpectancy":"/echarts-system-card-templates/icons/graph-life-expectancy-c7bd0c0e6cef-6a85f2dc4599.svg","card.echarts.graph.graphNpm":"/echarts-system-card-templates/icons/graph-npm-e9be97da809d-6ed5acaf8420.svg","card.echarts.graph.graphSimple":"/echarts-system-card-templates/icons/graph-simple-a9ee26d9fa1e-41de101d26a7.svg","card.echarts.graph.graphWebkitDep":"/echarts-system-card-templates/icons/graph-webkit-dep-ced31dc031b4-7a969bcd21f2.svg","card.echarts.heatmap.calendarHeatmap":"/echarts-system-card-templates/icons/calendar-heatmap-e032fb7d182c-cb31a44e898c.svg","card.echarts.heatmap.calendarVertical":"/echarts-system-card-templates/icons/calendar-vertical-622a0fe9aa47-ec2faddc6051.svg","card.echarts.heatmap.heatmapCartesian":"/echarts-system-card-templates/icons/heatmap-cartesian-85245f57f42c-a07baf6d031a.svg","card.echarts.line.areaBasic":"/echarts-system-card-templates/icons/area-basic-5aacd4c079c7-56a601f9f9a8.svg","card.echarts.line.areaPieces":"/echarts-system-card-templates/icons/area-pieces-51da79f9d5de-6f5475a4f458.svg","card.echarts.line.areaRainfall":"/echarts-system-card-templates/icons/area-rainfall-bd1d0fe206f0-50f7d3a318b7.svg","card.echarts.line.areaStack":"/echarts-system-card-templates/icons/area-stack-97e7c2a74919-142d670ee462.svg","card.echarts.line.areaStackGradient":"/echarts-system-card-templates/icons/area-stack-gradient-66ffa1a257a5-645c11714c7a.svg","card.echarts.line.areaTimeAxis":"/echarts-system-card-templates/icons/area-time-axis-6212e1e814bc-614a99bb70c2.svg","card.echarts.line.bumpChart":"/echarts-system-card-templates/icons/bump-chart-52cb6b3af834-b60e9912591b.svg","card.echarts.line.confidenceBand":"/echarts-system-card-templates/icons/confidence-band-695bcb1e3a4d-aac2c061b6d5.svg","card.echarts.line.datasetLink":"/echarts-system-card-templates/icons/dataset-link-3de38117a657-0bec30273e44.svg","card.echarts.line.dataTransformFilter":"/echarts-system-card-templates/icons/data-transform-filter-a642766fab9a-8a1ddc0e3ae6.svg","card.echarts.line.docExampleAxisLabelAlignMinMax":"/echarts-system-card-templates/icons/doc-example-axis-label-align-min-max-866ecf633706-bdd2a78d4994.svg","card.echarts.line.docExampleCandlestickAxisPointer":"/echarts-system-card-templates/icons/doc-example-candlestick-axispointer-4d33c2180e8c-02fc0e864b91.svg","card.echarts.line.docExampleLineStackTiled":"/echarts-system-card-templates/icons/doc-example-line-stack-tiled-03388dab84aa-fcca27f88595.svg","card.echarts.line.docExampleTutorialDynamicData":"/echarts-system-card-templates/icons/doc-example-tutorial-dynamic-data-44e28550df09-9f15bd21d75a.svg","card.echarts.line.dynamicData2":"/echarts-system-card-templates/icons/dynamic-data2-047c82d06185-55f07922cb4a.svg","card.echarts.line.gridMultiple":"/echarts-system-card-templates/icons/grid-multiple-238c706a6b1d-390084d0f836.svg","card.echarts.line.intradayBreaks1":"/echarts-system-card-templates/icons/intraday-breaks-1-23aab9364de1-94bd9aac7ac4.svg","card.echarts.line.intradayBreaks2":"/echarts-system-card-templates/icons/intraday-breaks-2-08225100095a-aa73de9f0b0d.svg","card.echarts.line.lineDraggable":"/echarts-system-card-templates/icons/line-draggable-b3d2ee64f12c-6e7e77ec60da.svg","card.echarts.line.lineEasing":"/echarts-system-card-templates/icons/line-easing-6cfd3c8358d5-3ab1be625e2a.svg","card.echarts.line.lineFisheyeLens":"/echarts-system-card-templates/icons/line-fisheye-lens-5fcbc2882bc5-ac2d70c497eb.svg","card.echarts.line.lineFunction":"/echarts-system-card-templates/icons/line-function-59e587bc6836-bf97dc4a9def.svg","card.echarts.line.lineGradient":"/echarts-system-card-templates/icons/line-gradient-9888ba9b9db5-cb131603de5f.svg","card.echarts.line.lineGraphic":"/echarts-system-card-templates/icons/line-graphic-6779e2ac489c-c59c46b9d053.svg","card.echarts.line.lineLog":"/echarts-system-card-templates/icons/line-log-4fac8966273a-ba4e66709ce2.svg","card.echarts.line.lineMarker":"/echarts-system-card-templates/icons/line-marker-ce764c364123-9ece81920e09.svg","card.echarts.line.lineMarkline":"/echarts-system-card-templates/icons/line-markline-d66a11bbb768-326756d4cde3.svg","card.echarts.line.linePen":"/echarts-system-card-templates/icons/line-pen-e1fec43174a5-0934a4c1c23d.svg","card.echarts.line.linePolar":"/echarts-system-card-templates/icons/line-polar-4da5fcbfe7de-7de5f8daf918.svg","card.echarts.line.linePolar2":"/echarts-system-card-templates/icons/line-polar2-28b23efd48de-a093ccd9a8d7.svg","card.echarts.line.lineRace":"/echarts-system-card-templates/icons/line-race-bb9fce1a9cd0-5229a3cd8a90.svg","card.echarts.line.lineSections":"/echarts-system-card-templates/icons/line-sections-669fc2ece632-b8ded7d0aa9b.svg","card.echarts.line.lineSimple":"/echarts-system-card-templates/icons/line-simple-6351c56a72e4-22eadf0b8215.svg","card.echarts.line.lineSmooth":"/echarts-system-card-templates/icons/line-smooth-66faa5c74d19-2b26b9b162e8.svg","card.echarts.line.lineStack":"/echarts-system-card-templates/icons/line-stack-7a32b45ee4f3-14566fa26f99.svg","card.echarts.line.lineStep":"/echarts-system-card-templates/icons/line-step-cf036bcdc274-aaf47117b9b8.svg","card.echarts.line.lineStyle":"/echarts-system-card-templates/icons/line-style-3d86a69872c3-e45f01690903.svg","card.echarts.line.lineTooltipTouch":"/echarts-system-card-templates/icons/line-tooltip-touch-25e757eabac5-1509068d94de.svg","card.echarts.line.lineYCategory":"/echarts-system-card-templates/icons/line-y-category-4e85a4016c47-64b62892105c.svg","card.echarts.line.multipleXAxis":"/echarts-system-card-templates/icons/multiple-x-axis-418984c2532f-b076d1303cf4.svg","card.echarts.parallel.docExampleParallelAll":"/echarts-system-card-templates/icons/doc-example-parallel-all-9caa17aea7f5-96b4f4d95672.svg","card.echarts.parallel.parallelAqi":"/echarts-system-card-templates/icons/parallel-aqi-d8c3b598e95e-09702cd1546d.svg","card.echarts.parallel.parallelSimple":"/echarts-system-card-templates/icons/parallel-simple-99ab2e88573a-47a37fd5d288.svg","card.echarts.pictorialBar.docExamplePictorialBarClip":"/echarts-system-card-templates/icons/doc-example-pictorialbar-clip-0bb29d6be972-0280d77d438d.svg","card.echarts.pictorialBar.docExamplePictorialBarGraphicType":"/echarts-system-card-templates/icons/doc-example-pictorialbar-graphictype-0ca7e6c0b3d9-c2f29e0b5949.svg","card.echarts.pictorialBar.docExamplePictorialBarPatternSize":"/echarts-system-card-templates/icons/doc-example-pictorialbar-patternsize-a99364965738-d3e08e05eb27.svg","card.echarts.pictorialBar.docExamplePictorialBarRepeat":"/echarts-system-card-templates/icons/doc-example-pictorialbar-repeat-93cc787188da-1e0555b59ff1.svg","card.echarts.pictorialBar.docExamplePictorialBarRepeatDirection":"/echarts-system-card-templates/icons/doc-example-pictorialbar-repeatdirection-972df1840609-3a8ca4b1a5cd.svg","card.echarts.pictorialBar.docExamplePictorialBarRepeatLayout":"/echarts-system-card-templates/icons/doc-example-pictorialbar-repeatlayout-b55a1cd67f45-7cdc92834ed8.svg","card.echarts.pictorialBar.docExamplePictorialBarSymbolBoundingDataArray":"/echarts-system-card-templates/icons/doc-example-pictorialbar-symbolboundingdataarray-cf25a66cae95-f983572ca127.svg","card.echarts.pictorialBar.pictorialbarBarTransition":"/echarts-system-card-templates/icons/pictorialbar-bar-transition-08affa01d5e8-f61154475e2c.svg","card.echarts.pictorialBar.pictorialbarBodyFill":"/echarts-system-card-templates/icons/pictorialbar-body-fill-f61100d36e45-fa460b7a892b.svg","card.echarts.pictorialBar.pictorialbarDotted":"/echarts-system-card-templates/icons/pictorialbar-dotted-abeef716ccbb-350a1956680e.svg","card.echarts.pictorialBar.pictorialbarForest":"/echarts-system-card-templates/icons/pictorialbar-forest-7b9c0bbfba93-3fce8ef8a485.svg","card.echarts.pictorialBar.pictorialbarHill":"/echarts-system-card-templates/icons/pictorialbar-hill-3ee2887ee99e-8700c15900ff.svg","card.echarts.pictorialBar.pictorialbarSpirit":"/echarts-system-card-templates/icons/pictorialbar-spirit-37e9943c5c24-6c37b9fda7d7.svg","card.echarts.pictorialBar.pictorialbarVehicle":"/echarts-system-card-templates/icons/pictorialbar-vehicle-d171a4fcf7d6-c5dd4e325e6d.svg","card.echarts.pictorialBar.pictorialbarVelocity":"/echarts-system-card-templates/icons/pictorialbar-velocity-a1e251f18f5d-e57b369b0c07.svg","card.echarts.pie.calendarPie":"/echarts-system-card-templates/icons/calendar-pie-64f4e2547f81-35615c656ecf.svg","card.echarts.pie.datasetDefault":"/echarts-system-card-templates/icons/dataset-default-cdfef5f7c606-66cf56dd435a.svg","card.echarts.pie.dataTransformMultiplePie":"/echarts-system-card-templates/icons/data-transform-multiple-pie-9d7fb84f8afc-e1255492cce7.svg","card.echarts.pie.docExampleAriaPie":"/echarts-system-card-templates/icons/doc-example-aria-pie-f4efb070a3c2-e7587660d60b.svg","card.echarts.pie.docExamplePieHighlight":"/echarts-system-card-templates/icons/doc-example-pie-highlight-71e048469a00-be898cf11bee.svg","card.echarts.pie.docExamplePieLabelBleedMargin":"/echarts-system-card-templates/icons/doc-example-pie-label-bleedmargin-18ab3d08ed85-9fab537f67ca.svg","card.echarts.pie.docExamplePieLabelDistanceToLabelLine":"/echarts-system-card-templates/icons/doc-example-pie-label-distancetolabelline-4ae5ea76b47a-9fab537f67ca.svg","card.echarts.pie.docExamplePieLabelMargin":"/echarts-system-card-templates/icons/doc-example-pie-label-margin-9ed10a599e3e-9fab537f67ca.svg","card.echarts.pie.docExampleTutorialStylingStep0":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step0-27b61bcb842b-9c93f8a9b69c.svg","card.echarts.pie.docExampleTutorialStylingStep1":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step1-4d50713093d1-d769feea48d6.svg","card.echarts.pie.docExampleTutorialStylingStep2":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step2-a491064d586e-cfc2eca1d2f4.svg","card.echarts.pie.docExampleTutorialStylingStep3":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step3-23355d3f2c83-cfc2eca1d2f4.svg","card.echarts.pie.docExampleTutorialStylingStep4":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step4-40be75d6c320-2df4f68ea047.svg","card.echarts.pie.docExampleTutorialStylingStep5":"/echarts-system-card-templates/icons/doc-example-tutorial-styling-step5-94ee5a53a9c4-d3fd79c42ccd.svg","card.echarts.pie.pieAlignTo":"/echarts-system-card-templates/icons/pie-alignto-9dffb51a85a7-6b3f3096b6da.svg","card.echarts.pie.pieBorderRadius":"/echarts-system-card-templates/icons/pie-borderradius-73447434e7e6-3f4b3cebe9a3.svg","card.echarts.pie.pieCustom":"/echarts-system-card-templates/icons/pie-custom-e5cffba349c4-d3fd79c42ccd.svg","card.echarts.pie.pieDoughnut":"/echarts-system-card-templates/icons/pie-doughnut-b0e7e62f20ca-57516d850039.svg","card.echarts.pie.pieHalfDonut":"/echarts-system-card-templates/icons/pie-half-donut-22bc856d3feb-b1a79285f5be.svg","card.echarts.pie.pieLabelLineAdjust":"/echarts-system-card-templates/icons/pie-labelline-adjust-bb37e02da411-12b593dda807.svg","card.echarts.pie.pieLegend":"/echarts-system-card-templates/icons/pie-legend-c8562a34b2a9-2ea78ed66fba.svg","card.echarts.pie.pieNest":"/echarts-system-card-templates/icons/pie-nest-9f6d0a94b04e-52e354f6dff3.svg","card.echarts.pie.piePadAngle":"/echarts-system-card-templates/icons/pie-padangle-f35dc0601f23-d01a0862eb6a.svg","card.echarts.pie.piePattern":"/echarts-system-card-templates/icons/pie-pattern-414c8a253fc6-18e4d9cad817.svg","card.echarts.pie.pieRichText":"/echarts-system-card-templates/icons/pie-rich-text-ba0a1124a2e5-f916b6f1a94f.svg","card.echarts.pie.pieRoseType":"/echarts-system-card-templates/icons/pie-rosetype-e1e53ab5adc2-85b855e99301.svg","card.echarts.pie.pieSimple":"/echarts-system-card-templates/icons/pie-simple-c69cd07b556c-6a83edbf7488.svg","card.echarts.radar.radar":"/echarts-system-card-templates/icons/radar-63aa573a3c0d-15c8bcd70a4a.svg","card.echarts.radar.radar2":"/echarts-system-card-templates/icons/radar2-6c97ca4984c9-05e708f7454a.svg","card.echarts.radar.radarAqi":"/echarts-system-card-templates/icons/radar-aqi-d8ac0ae04e48-f21506ab85ac.svg","card.echarts.radar.radarCustom":"/echarts-system-card-templates/icons/radar-custom-13f72432b6e6-ef78cd9c1916.svg","card.echarts.radar.radarMultiple":"/echarts-system-card-templates/icons/radar-multiple-87c4cc7814c8-78c7b60aaf8b.svg","card.echarts.sankey.sankeyEnergy":"/echarts-system-card-templates/icons/sankey-energy-e8ef57c8bfa0-42b2449fec20.svg","card.echarts.sankey.sankeyLevels":"/echarts-system-card-templates/icons/sankey-levels-22b485a94dee-2d9e39b89072.svg","card.echarts.sankey.sankeyNodeAlignLeft":"/echarts-system-card-templates/icons/sankey-nodealign-left-f48699e67f21-e779d5921fc4.svg","card.echarts.sankey.sankeyNodeAlignRight":"/echarts-system-card-templates/icons/sankey-nodealign-right-aa3cda7fa63f-f5327000abde.svg","card.echarts.sankey.sankeySimple":"/echarts-system-card-templates/icons/sankey-simple-117e5bf7f245-b9c18ab740e9.svg","card.echarts.sankey.sankeyVertical":"/echarts-system-card-templates/icons/sankey-vertical-0770ceaabd39-6388708dd51b.svg","card.echarts.scatter.bubbleGradient":"/echarts-system-card-templates/icons/bubble-gradient-4d6e064cf562-132f8683139b.svg","card.echarts.scatter.calendarCharts":"/echarts-system-card-templates/icons/calendar-charts-5c0f4d6d4e97-a27b05c4521c.svg","card.echarts.scatter.datasetEncode1":"/echarts-system-card-templates/icons/dataset-encode1-e0669c1e155c-c9b1f944624a.svg","card.echarts.scatter.docExampleAxisPointerHandleImage":"/echarts-system-card-templates/icons/doc-example-axispointer-handle-image-017ef44e8186-32275847833d.svg","card.echarts.scatter.docExampleLabelPosition":"/echarts-system-card-templates/icons/doc-example-label-position-95846546ad80-d7000640d468.svg","card.echarts.scatter.docExampleScatterDataZoomAll":"/echarts-system-card-templates/icons/doc-example-scatter-datazoom-all-632675a66818-acb1e5355c5b.svg","card.echarts.scatter.docExampleScatterJitterAvoidOverlap":"/echarts-system-card-templates/icons/doc-example-scatter-jitter-avoidoverlap-4893d085db39-ec118f4c5218.svg","card.echarts.scatter.docExampleScatterTutorialDataZoom1":"/echarts-system-card-templates/icons/doc-example-scatter-tutorial-datazoom-1-299dcd1ba96b-af058322d528.svg","card.echarts.scatter.docExampleScatterTutorialDataZoom2":"/echarts-system-card-templates/icons/doc-example-scatter-tutorial-datazoom-2-ad61d05ff356-af058322d528.svg","card.echarts.scatter.docExampleScatterTutorialDataZoom3":"/echarts-system-card-templates/icons/doc-example-scatter-tutorial-datazoom-3-4a7850a7f877-af058322d528.svg","card.echarts.scatter.docExampleScatterVisualMapCategories":"/echarts-system-card-templates/icons/doc-example-scatter-visualmap-categories-2be29d46d6a8-4b511baae205.svg","card.echarts.scatter.docExampleTextBlockFragment":"/echarts-system-card-templates/icons/doc-example-text-block-fragment-b5ed0c71c3cf-c8cbc759a67f.svg","card.echarts.scatter.docExampleTextFregmentAlign":"/echarts-system-card-templates/icons/doc-example-text-fregment-align-7a2201dc0613-c8cbc759a67f.svg","card.echarts.scatter.docExampleTextOptions":"/echarts-system-card-templates/icons/doc-example-text-options-594e0841e383-c8cbc759a67f.svg","card.echarts.scatter.docExampleTitleBlock":"/echarts-system-card-templates/icons/doc-example-title-block-91b88da49c7c-056906513060.svg","card.echarts.scatter.scatterAggregateBar":"/echarts-system-card-templates/icons/scatter-aggregate-bar-4266df754765-41483e5dd559.svg","card.echarts.scatter.scatterAnscombeQuartet":"/echarts-system-card-templates/icons/scatter-anscombe-quartet-ccb98d3d5aca-deb21f6dd659.svg","card.echarts.scatter.scatterAqiColor":"/echarts-system-card-templates/icons/scatter-aqi-color-9fce84b9a3af-1d6b94e850e1.svg","card.echarts.scatter.scatterClustering":"/echarts-system-card-templates/icons/scatter-clustering-d4de98a1cc21-d3355fa54a75.svg","card.echarts.scatter.scatterClusteringProcess":"/echarts-system-card-templates/icons/scatter-clustering-process-cce55edb6cd0-ab8b0bb0dcaf.svg","card.echarts.scatter.scatterExponentialRegression":"/echarts-system-card-templates/icons/scatter-exponential-regression-6cd0519cf305-7a12773b1878.svg","card.echarts.scatter.scatterJitter":"/echarts-system-card-templates/icons/scatter-jitter-fd7212867127-cec0039f46f7.svg","card.echarts.scatter.scatterLabelAlignRight":"/echarts-system-card-templates/icons/scatter-label-align-right-936f96eeed9a-137e67749045.svg","card.echarts.scatter.scatterLabelAlignTop":"/echarts-system-card-templates/icons/scatter-label-align-top-80f40249e9a5-137e67749045.svg","card.echarts.scatter.scatterLarge":"/echarts-system-card-templates/icons/scatter-large-f13e5a558b80-633db4374c85.svg","card.echarts.scatter.scatterLifeExpectancyTimeline":"/echarts-system-card-templates/icons/scatter-life-expectancy-timeline-38c84de2a338-c3ca055e3295.svg","card.echarts.scatter.scatterLinearRegression":"/echarts-system-card-templates/icons/scatter-linear-regression-418157c20096-0a5620c2c5b5.svg","card.echarts.scatter.scatterLogarithmicRegression":"/echarts-system-card-templates/icons/scatter-logarithmic-regression-e40024904cea-495761d9e004.svg","card.echarts.scatter.scatterMatrix":"/echarts-system-card-templates/icons/scatter-matrix-3cf9a1e25986-e18eb9a2b301.svg","card.echarts.scatter.scatterNebula":"/echarts-system-card-templates/icons/scatter-nebula-54538a2bb35b-ebda6dc9b44b.svg","card.echarts.scatter.scatterNutrients":"/echarts-system-card-templates/icons/scatter-nutrients-900d75def5fe-7c08b667a74b.svg","card.echarts.scatter.scatterNutrientsMatrix":"/echarts-system-card-templates/icons/scatter-nutrients-matrix-fb30e10d3f77-c001323cd931.svg","card.echarts.scatter.scatterPainterChoice":"/echarts-system-card-templates/icons/scatter-painter-choice-a299540b846d-2f42ffbb3561.svg","card.echarts.scatter.scatterPolarPunchCard":"/echarts-system-card-templates/icons/scatter-polar-punchcard-5cedb731cdbd-37badce1b3e4.svg","card.echarts.scatter.scatterPolynomialRegression":"/echarts-system-card-templates/icons/scatter-polynomial-regression-a7362d629afa-6a6377267665.svg","card.echarts.scatter.scatterPunchCard":"/echarts-system-card-templates/icons/scatter-punchcard-b4b75f756289-0c580a729b5e.svg","card.echarts.scatter.scatterSimple":"/echarts-system-card-templates/icons/scatter-simple-730c45d64a79-94b76dc9cdc2.svg","card.echarts.scatter.scatterSingleAxis":"/echarts-system-card-templates/icons/scatter-single-axis-d1a886e8e081-ccf805765735.svg","card.echarts.scatter.scatterStreamVisual":"/echarts-system-card-templates/icons/scatter-stream-visual-b779ed401439-161584743a50.svg","card.echarts.scatter.scatterSymbolMorph":"/echarts-system-card-templates/icons/scatter-symbol-morph-f83a4fb3ecca-150aba2e694f.svg","card.echarts.scatter.scatterWeight":"/echarts-system-card-templates/icons/scatter-weight-32567a4c6153-ea59f738381e.svg","card.echarts.sunburst.docExampleSunburstColor":"/echarts-system-card-templates/icons/doc-example-sunburst-color-b3550c63d10d-fc2821e31dd3.svg","card.echarts.sunburst.docExampleSunburstHighlightAncestor":"/echarts-system-card-templates/icons/doc-example-sunburst-highlight-ancestor-5ff2f7cc34bb-84db689a4541.svg","card.echarts.sunburst.docExampleSunburstHighlightDescendant":"/echarts-system-card-templates/icons/doc-example-sunburst-highlight-descendant-0b3c7fc78d67-84db689a4541.svg","card.echarts.sunburst.docExampleSunburstLabelAlign":"/echarts-system-card-templates/icons/doc-example-sunburst-label-align-2fe466ce2819-0a336d7017b9.svg","card.echarts.sunburst.docExampleSunburstSimple":"/echarts-system-card-templates/icons/doc-example-sunburst-simple-d669f7fa4052-e1ae4e40409f.svg","card.echarts.sunburst.sunburstBook":"/echarts-system-card-templates/icons/sunburst-book-13d454ca0ba8-6d5d35a7ca98.svg","card.echarts.sunburst.sunburstBorderRadius":"/echarts-system-card-templates/icons/sunburst-borderradius-05872f28e698-f70f918c81c7.svg","card.echarts.sunburst.sunburstDrink":"/echarts-system-card-templates/icons/sunburst-drink-024aae412894-4b9114d48ded.svg","card.echarts.sunburst.sunburstLabelRotate":"/echarts-system-card-templates/icons/sunburst-label-rotate-9a418acf8223-f4ab7aab0d0e.svg","card.echarts.sunburst.sunburstMonochrome":"/echarts-system-card-templates/icons/sunburst-monochrome-8a1d625d1056-6936d51f0795.svg","card.echarts.sunburst.sunburstSimple":"/echarts-system-card-templates/icons/sunburst-simple-f5ae17d2930f-0fa35abb57b3.svg","card.echarts.sunburst.sunburstVisualMap":"/echarts-system-card-templates/icons/sunburst-visualmap-c1cdf191d0c8-9c1a84a1a57f.svg","card.echarts.themeRiver.themeriverBasic":"/echarts-system-card-templates/icons/themeriver-basic-5d76d13a1037-83f0993d9c23.svg","card.echarts.themeRiver.themeriverLastfm":"/echarts-system-card-templates/icons/themeriver-lastfm-0af46ce50ff6-e39f6ae7cecf.svg","card.echarts.tree.treeBasic":"/echarts-system-card-templates/icons/tree-basic-dec0e1bafef6-43173e9bd582.svg","card.echarts.tree.treeLegend":"/echarts-system-card-templates/icons/tree-legend-d48c715c25aa-ddf4d22bb414.svg","card.echarts.tree.treeOrientBottomTop":"/echarts-system-card-templates/icons/tree-orient-bottom-top-3aa298f47af9-513b9aaba6f9.svg","card.echarts.tree.treeOrientRightLeft":"/echarts-system-card-templates/icons/tree-orient-right-left-8cac282014ee-5c5af3e81510.svg","card.echarts.tree.treePolyline":"/echarts-system-card-templates/icons/tree-polyline-4b3f9affe9b9-1fede4e3c770.svg","card.echarts.tree.treeRadial":"/echarts-system-card-templates/icons/tree-radial-8df4eae5dafc-8fbe607708a0.svg","card.echarts.tree.treeVertical":"/echarts-system-card-templates/icons/tree-vertical-0d00ed2886ba-607adef00a9c.svg","card.echarts.treemap.docExampleTreemapBorderColor":"/echarts-system-card-templates/icons/doc-example-treemap-bordercolor-9405aa73bed5-93cc4932d94b.svg","card.echarts.treemap.treemapDisk":"/echarts-system-card-templates/icons/treemap-disk-ba094f8ff276-93cc4932d94b.svg","card.echarts.treemap.treemapDrillDown":"/echarts-system-card-templates/icons/treemap-drill-down-930c387311df-8dda96eb56d6.svg","card.echarts.treemap.treemapObama":"/echarts-system-card-templates/icons/treemap-obama-4618c3b583d1-bff1259981ef.svg","card.echarts.treemap.treemapShowParent":"/echarts-system-card-templates/icons/treemap-show-parent-b2082233158a-2e16b0ed92d3.svg","card.echarts.treemap.treemapSimple":"/echarts-system-card-templates/icons/treemap-simple-20aeea102d4d-d719917a092c.svg","card.echarts.treemap.treemapSunburstTransition":"/echarts-system-card-templates/icons/treemap-sunburst-transition-603cd25614e5-12b4359c6317.svg","card.echarts.treemap.treemapVisual":"/echarts-system-card-templates/icons/treemap-visual-93adbbb1a22e-bf15910c7d06.svg"};function Wm(e){return Um[e]??""}const jm={class:"card-recommendation"},Km={class:"card-recommendation__header"},Qm={class:"card-recommendation__heading"},Ym={key:0,class:"card-recommendation__stats"},Jm={class:"card-recommendation__message"},Zm={key:0,class:"card-recommendation__loop-notice"},Xm={key:1,class:"card-recommendation__list"},ef=["onFocusout"],tf={class:"card-recommendation__preview-header"},nf={class:"card-recommendation__title-wrap"},af=["value","onInput","onBlur","onKeydown"],rf={key:1,class:"card-recommendation__title"},sf=["onClick"],of={class:"card-recommendation__actions"},cf=["aria-expanded","onClick"],lf={class:"card-recommendation__switch-text"},df=["disabled","onClick"],uf={key:0,class:"card-recommendation__insert-spinner","aria-hidden":"true"},mf={key:0,class:"card-recommendation__switch-panel"},ff={class:"card-recommendation__switch-panel-head"},pf={class:"card-recommendation__switch-panel-meta"},hf={class:"card-recommendation__view-options card-recommendation__switch-options"},gf=["disabled","aria-hidden","tabindex","onClick"],yf=["src","onLoad","onError"],bf={key:2,class:"card-recommendation__view-option-icon-loading","aria-hidden":"true"},kf={class:"card-recommendation__view-option-title"},_f={key:3,class:"card-recommendation__view-option-status"},Cf={key:0,class:"card-recommendation__switch-pagination"},Sf=["disabled","onPointerdown","onMousedown","onClick"],Af=["disabled","onPointerdown","onMousedown","onClick"],wf=["data-chart-type","data-capability-id"],Tf={class:"card-recommendation__chart-preview-toolbar","aria-label":"图表预览缩放"},Ef=["disabled","onClick"],xf=["onClick"],Bf=["disabled","onClick"],If={key:2,class:"card-recommendation__preview-table"},Rf={class:"card-recommendation__preview-table-scroll"},vf={key:0,class:"card-recommendation__pagination"},Df={key:0,class:"card-recommendation__page-status"},Nf=["disabled","onClick"],Lf=["onClick"],Pf=["disabled","onClick"],Mf={key:2,class:"card-recommendation__empty"},Of={key:0,class:"card-recommendation__fallback-actions"},Ff=["disabled","onClick"],Ls=4,$f=5,Xa=12,Zi=2,Vf=3,zf=120,Hf=420,Gf=8,qf=80,Uf=320,Xi="62%",ec=12,Wf="card.table.",vr="card.table.list",Ps=3,Ms=7,jf=10,tc=12,Kf=44,Qf=28,Yf=6,Jf=16,nc=ln(n.defineComponent({__name:"CardRecommendationDraft",props:{draft:{}},emits:["choose","configure"],setup(e,{expose:a,emit:o}){const c=e,d=o,u=n.ref({}),y=n.ref({}),_=n.ref({}),E=n.ref({}),R=n.ref({}),U=n.ref({}),z=n.ref({}),S=n.ref({}),B=n.ref({}),F=n.ref({}),H=_m(),Y=[120,160,220,320,420],xe={metricSummary:"指标卡",singleSeries:"趋势图",multiSeries:"对比图",pieSlices:"结构图",rows:"明细表",table:"明细表"},ie={ready:"可插入",requires_execution:"需刷新",requires_config:"需配置",empty:"空结果",blocked:"不可插入"},ue=/^ECharts 图表 \d+$/u,ce=new Set(["bar","line","pie","scatter","radar","funnel","heatmap","gauge","tree","treemap","sankey","graph","sunburst","parallel","pictorialBar","themeRiver","candlestick","boxplot"]),Pe={area:"line",bar:"bar",boxplot:"boxplot",bubble:"scatter",candlestick:"candlestick",customEcharts:null,donut:"donut",drilldownTree:"tree",funnel:"funnel",gantt:null,gauge:"gauge",heatmap:"heatmap",line:"line",map:"map",mixedBarLine:"mixedBarLine",network:"network",pareto:"pareto",pie:"pie",radar:"radar",sankey:"sankey",scatter:"scatter",stackedBar:"bar",tree:"tree",waterfall:"waterfall"},ne={...Pe,area:"area",donut:"donut",mixedBarLine:"mixedBarLine",stackedBar:"stackedBar"},Z=[{key:"table",label:"清单表",icon:"table"},{key:"bar",label:"柱图",icon:"bar"},{key:"pie",label:"饼图",icon:"pie"},{key:"line",label:"线图",icon:"line"},{key:"scatter",label:"散点图",icon:"scatter"},{key:"heatmap",label:"热力图",icon:"heatmap"},{key:"gauge",label:"仪表盘",icon:"gauge"},{key:"metric",label:"指标看板",icon:"metric"},{key:"ranking",label:"排行榜",icon:"ranking"},{key:"map",label:"色彩地图",icon:"map"},{key:"funnel",label:"漏斗图",icon:"funnel"},{key:"radar",label:"雷达图",icon:"radar"},{key:"sankey",label:"桑基图",icon:"sankey"},{key:"tree",label:"树图",icon:"tree"},{key:"treemap",label:"矩形树图",icon:"treemap"},{key:"sunburst",label:"旭日图",icon:"sunburst"},{key:"network",label:"网络图",icon:"network"},{key:"lines",label:"路径图",icon:"lines"},{key:"candlestick",label:"K线图",icon:"candlestick"},{key:"boxplot",label:"盒须图",icon:"boxplot"},{key:"parallel",label:"平行坐标",icon:"parallel"},{key:"pictorialBar",label:"象形柱图",icon:"pictorialBar"},{key:"themeRiver",label:"主题河流",icon:"themeRiver"},{key:"calendar",label:"日历坐标",icon:"calendar"},{key:"tuple",label:"二维数据",icon:"scatter"},{key:"scene3D",label:"3D",icon:"scene3D"},{key:"timeline",label:"时间轴",icon:"timeline"},{key:"transition",label:"动态图",icon:"transition"},{key:"graphic",label:"图形",icon:"graphic"},{key:"layout",label:"布局",icon:"layout"},{key:"composite",label:"组合图",icon:"composite"},{key:"configOnly",label:"模板图",icon:"metric"},{key:"progress",label:"进度条",icon:"progress"}],He=new Set(["","datatable","table","tablelist","list"]);function ae(t){return t.dataShape&&xe[t.dataShape]?xe[t.dataShape]:t.capabilityId.includes(".line")?"趋势图":t.capabilityId.includes(".bar")?"排行图":t.capabilityId.includes(".pie")?"结构图":t.capabilityId.includes(".table")?"明细表":t.capabilityId.includes(".metric")?"指标卡":"卡片"}function he(t){const r=gi(t);if(r)return r;const s=ct(an(t).title);if(s&&s!==t.capabilityId)return s;const i=ct(t.title);return i&&i!==t.capabilityId?i:""}function ye(t){const r=ct(t.title),s=he(t);if(s)return s;const i=ae(t);return t.capabilityId.startsWith("card.echarts.")&&r&&r!==t.capabilityId?r:i}function at(t){return t.nextAction==="configure"||t.previewStatus==="requires_config"?!1:!!t.blockPlan&&(!t.previewStatus||t.previewStatus==="ready")}function St(t,r){return Te(t)==="chart"&&Ze(r)?fr(t,r)||ao(r)&&at(r):fr(t,r)||at(r)}function At(t){return!!t.blockPlan&&(!t.previewStatus||t.previewStatus==="ready")}function je(t){return Array.isArray(t.viewAlternatives)?t.viewAlternatives.filter(r=>!!(r!=null&&r.capabilityId&&r.title)):[]}function lt(t,r="chart"){return[r,t.recommendationId||t.capabilityId,t.capabilityId,t.dataShape||"",t.protocolKind||"",m(t.visualIntent),m(t.blockPlan)].join("|")}function Pt(t){return t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart.")||!!Ra(t)||!!Lc(t)||["metricSummary","singleSeries","multiSeries","pieSlices","scatterPoints","funnelStages"].includes(t.dataShape||"")||["series","network","tree","geo"].includes($(t.protocolKind).toLowerCase())}function Tt(t){const r=_e(t),s=u.value[r];return s?s===lt(t,"chart")||s===lt(t,"table")?t:je(t).find(i=>lt(i,"chart")===s||lt(i,"table")===s)??t:v(t)??X(t)??t}function rt(t){return Sy.value.get(_e(t))??Tt(t)}function Ut(t){const r=u.value[_e(t)];return r!=null&&r.startsWith("table|")?"table":r!=null&&r.startsWith("chart|")?"chart":v(t)?"table":Pt(Tt(t))?"chart":"table"}function Te(t){return Ay.value.get(_e(t))??Ut(t)}function Vt(t){return(Qe(t)??dt(t)).options.length}function Le(t){var r;return((r=Qe(t))==null?void 0:r.options.length)??dt(t).options.length}function dt(t){const r=[t,...je(t)],s=Be(r,t),i=s.map((g,A)=>({...Z[0],key:`table:${lt(g,"table")}:${A}`,label:we(g,t),item:g,previewMode:"table",disabled:!1,statusLabel:Kn(g)})),l=ee(t),p=l.map((g,A)=>{const M=mn(g);return{key:`template:${g.capabilityId}:${A}`,label:Jt(g,A),icon:jn(g),iconPath:M,iconSrc:M?H.resolveSrc(M):void 0,item:g,previewMode:"chart",disabled:!1,statusLabel:ie.ready}});return{options:[...i,...p],chartCount:l.length,tableCount:s.filter(g=>!ge(g,t)).length}}function Be(t,r){const s=new Set,i=t.filter(g=>pn(g)>0).filter(g=>Ne(g)||ge(g,r)),l=i.some(g=>!ge(g,r)&&I(g)),p=i.filter(g=>!(l&&ge(g,r))).filter(g=>{const A=lt(g,"table");return s.has(A)?!1:(s.add(A),!0)});return L(G(T(p)))}function v(t){return Be([t,...je(t)],t).find(r=>!ge(r,t)&&I(r))}function I(t){return t.capabilityId===vr}function G(t){const r=t.filter(Ce);if(r.length<=1)return t;const s=Se(r);let i=!1;return t.flatMap(l=>Ce(l)?i?[]:(i=!0,[s]):[l])}function T(t){const r=new Map;for(const i of t){const l=Q(i);l&&r.set(l,[...r.get(l)??[],i])}if(![...r.values()].some(i=>i.length>1&&i.some(I)))return t;const s=new Map;for(const i of r.values()){if(i.length<=1||!i.some(I))continue;const l=O(i);let p=!1;for(const g of i)g===l&&!p?(s.set(g,l),p=!0):s.set(g,null)}return t.flatMap(i=>{if(!s.has(i))return[i];const l=s.get(i);return l?[l]:[]})}function Q(t){const r=te(t);if(r)return r;const s=Tn(t),i=Bt(t);return s.length===0||i.length===0?"":[m(s),String(pn(t)),m(i)].join("|")}function te(t){const r=ca(t),s=hc(r).map(rn).filter(Boolean),i=sr(r);if(s.length===0||i.length===0)return"";const l=D(r.data);return["raw-table",m(s),String(r.rowCount??l.rowCount??i.length),m(i)].join("|")}function O(t){return t.find(I)??t.find(Ce)??t[0]}function L(t){if(t.length!==2)return t;const r=t.find(j),s=t.find(i=>!j(i)&&Ce(i));return!r||!s||!se(s)?t:[s]}function j(t){return t.dataShape==="metricSummary"||t.capabilityId.startsWith("card.metric.")}function se(t){return pn(t)>1&&Tn(t).length>1}function Ce(t){const r=Me(t).toLowerCase();return t.capabilityId.startsWith(Wf)?He.has(r):!!(r&&He.has(r))}function Se(t){return t.find(r=>r.capabilityId===vr)??t[0]}function Me(t){const r=an(t),s=D(r.renderer),i=D(t.cardConfig),l=D(i.renderer);return $(r.rendererKey)||$(s.rendererKey)||$(i.rendererKey)||$(l.rendererKey)}function Qe(t){return wy.value.get(_e(t))}function Ie(t){var r;return((r=Qe(t))==null?void 0:r.options)??dt(t).options}function st(t){const r=_e(t),s=Re(t),i=R.value[r]||1;return Math.min(Math.max(i,1),s)}function Re(t){return Math.max(1,Math.ceil(Ie(t).length/Xa))}function ft(t){const s=(st(t)-1)*Xa;return Ie(t).slice(s,s+Xa)}function C(t){const r=ft(t);return Re(t)<=1||r.length>=Xa?r:[...r,...Array.from({length:Xa-r.length},(s,i)=>({key:`placeholder:${_e(t)}:${st(t)}:${i}`,label:"",icon:"bar",disabled:!0,previewMode:"chart",placeholder:!0}))]}function q(t,r){const s=_e(t),i=Math.min(Math.max(st(t)+r,1),Re(t));R.value={...R.value,[s]:i},re(t)}function re(t){const r=_e(t);_.value={..._.value,[r]:!0},window.setTimeout(()=>{if(!_.value[r])return;const s={..._.value};delete s[r],_.value=s},0)}function ee(t){const r=new Set,s=[t,...je(t)].filter(l=>Ze(l)).filter(l=>!io(l)).filter(l=>ll(t,l));return tt(t,s).filter(l=>{const p=zt(t,l);return r.has(p)?!1:(r.add(p),!0)})}function ge(t,r){return t===r&&(t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))}function we(t,r){if(t.capabilityId===vr&&r&&(r.capabilityId.startsWith("card.echarts.")||r.capabilityId.startsWith("card.chart."))||t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))return Z[0].label;const s=an(t);return[ct(t.title),ct(s.title)].find(i=>i&&i!==t.capabilityId&&!qe(i))||Z[0].label}function Ge(t){return[t,...je(t)].some(r=>Ze(r)&&!io(r))}const et={bar:0,line:1,pie:2,scatter:3,gauge:4,metric:4,ranking:5,heatmap:6,radar:7,funnel:8,mixedBarLine:8,treemap:9,tree:10,sunburst:11,sankey:12,network:13,graph:13,map:14,candlestick:15,boxplot:16,parallel:17,pictorialBar:18,themeRiver:19},It=[{family:"line",pattern:/(\u6298\u7ebf\u56fe|\u7ebf\u56fe|line\s*chart|line\b)/iu},{family:"bar",pattern:/(\u67f1\u72b6\u56fe|\u67f1\u5f62\u56fe|\u6761\u5f62\u56fe|bar\s*chart|bar\b)/iu},{family:"pie",pattern:/(\u997c\u56fe|\u997c\u72b6\u56fe|pie\s*chart|pie\b)/iu},{family:"scatter",pattern:/(\u6563\u70b9\u56fe|scatter\s*chart|scatter\b)/iu},{family:"funnel",pattern:/(\u6f0f\u6597\u56fe|funnel\s*chart|funnel\b)/iu},{family:"radar",pattern:/(\u96f7\u8fbe\u56fe|radar\s*chart|radar\b)/iu},{family:"heatmap",pattern:/(\u70ed\u529b\u56fe|heat\s*map|heatmap\b)/iu},{family:"gauge",pattern:/(\u4eea\u8868\u76d8|gauge\s*chart|gauge\b)/iu}],pt=["#4C78FC","#35B8A6","#F4B84A","#F47C7C","#8B6FE8","#4DA3C7","#6FBF73","#E66FB3"];function f(t){const r=Jn(t)||Ma(t);return r?r==="network"?"network":r==="ranking"?"ranking":r==="mixedBarLine"?"mixedBarLine":bn(r):""}function b(){const t=D(c.draft.queryResult),r=D(t.data);return[c.draft.prompt,c.draft.message,t.question,r.question].map(ct).filter(Boolean).join(`
21
+ `)}function x(){var r;const t=b();return t&&((r=It.find(s=>s.pattern.test(t)))==null?void 0:r.family)||""}function X(t){const r=x();return r?[t,...je(t)].find(s=>Pt(s)&&f(s)===r)??null:null}function ke(t){const r=f(t);return et[r]??100}function ve(t){const r=an(t);return[t.capabilityId,t.title,t.reason,r.title].filter(Boolean).join(" ").replace(/([a-z0-9])([A-Z])/gu,"$1 $2").toLowerCase()}function ot(t){return/(^|[.\-_\s])bump(?:chart)?($|[.\-_\s])/iu.test(ve(t))}function Rt(t){const r=Bt(t);if(r.length===0)return js(nn(t));const s=va(t),i=Ur(r,s),l=Wr(s,i);return!!(i&&l.length>=1)}function ht(t){return Bb(t)?ot(t)?Rt(t):!0:!1}function Je(t){const r=ve(t);let s=0;return/(^|[._\-\s])(first|primary|default|basic|base|simple|main|recommended|common)($|[._\-\s])/u.test(r)&&(s+=12),/[\u57fa\u7840\u9ed8\u8ba4\u9996\u9009\u4f18\u5148\u5e38\u7528\u5339\u914d]/u.test(r)&&(s+=12),/(^|[._\-\s])(second|duplicate|another|copy|variant|alternative|alt)($|[._\-\s])/u.test(r)&&(s-=12),/(\u53e6|\u7b2c\u4e8c|\u5907\u9009|\u91cd\u590d)/u.test(r)&&(s-=12),s}function vt(t,r){const s=La(t,r),i=Bt(s),l=va(s),p=Ur(i,l),g=Wr(l,p),A=f(r);let M=Je(r);return i.length>0&&(M+=20),l.length>0&&(M+=10),p&&(M+=20),g.length>0&&(M+=15),["bar","line","ranking","gauge","funnel"].includes(A)&&p&&g.length>=1&&(M+=20),A==="pie"&&p&&g.length>=1&&(M+=i.length<=12?18:12),A==="scatter"&&p&&g.length>=1&&(M+=16),A==="heatmap"&&(M+=p&&g.length>=2?18:4),["network","graph","sankey"].includes(A)&&cl(s)&&(M+=18),["tree","treemap","sunburst"].includes(A)&&g.length>=1&&(M+=10),M}function Yt(t,r){return r.fitScore-t.fitScore||t.commonRank-r.commonRank||t.index-r.index}function tt(t,r){const s=r.map((g,A)=>({candidate:g,index:A,type:f(g),fitScore:vt(t,g),commonRank:ke(g)})).sort(Yt),i=new Map,l=[];for(const g of s){const A=i.get(g.type)||[];A.length===0&&l.push(g.type),A.push(g),i.set(g.type,A)}const p=[];for(;l.length>0;)for(let g=0;g<l.length;){const A=l[g],M=i.get(A),V=M==null?void 0:M.shift();V&&p.push(V),!M||M.length===0?(i.delete(A),l.splice(g,1)):g+=1}return p.map(g=>g.candidate)}function Jt(t,r){return De(t)||`图表 ${r+1}`}function jn(t){const r=Oe(t);if(r)return r;const s=Ra(t);return Hm({capabilityId:t.capabilityId,dataShape:t.dataShape,protocolKind:t.protocolKind,mainCategory:s==null?void 0:s.mainCategory,protocolType:s==null?void 0:s.protocolType,seriesTypes:[...Lr(s==null?void 0:s.seriesTypes),...Dc(t)],tags:s==null?void 0:s.tags,exampleId:s==null?void 0:s.exampleId,templateType:s==null?void 0:s.templateType,option:ir(t)})}function mn(t){var r;return H.resolvePath((r=Ra(t))==null?void 0:r.iconPath)}function vn(t){t.iconPath&&H.markFailed(t.iconPath)}function Cn(t){t.iconPath&&H.markLoaded(t.iconPath)}function Dn(t){return!!(t.iconPath&&H.shouldShow(t.iconPath))}function Sn(t){return!!(t.iconPath&&H.isLoaded(t.iconPath))}function J(t){return!Sn(t)}function de(t){return!!(t.iconPath&&H.shouldShow(t.iconPath)&&!H.isLoaded(t.iconPath))}function Oe(t){const r=Mc(t.capabilityId);if(!r)return;if(Object.prototype.hasOwnProperty.call(ne,r))return ne[r];const s=$(t.protocolKind);return Object.prototype.hasOwnProperty.call(ne,s)?ne[s]:null}function De(t){const r=an(t),s=D(r.meta);return[ct(s.registryTitle),ct(t.title),ct(r.title)].find(l=>l&&l!==t.capabilityId&&!ue.test(l)&&!qe(l))||""}function qe(t){return/^doc-example\//iu.test(t)||/^example\//iu.test(t)}function Ke(t){return qe($(t.title))||qe($(an(t).title))}function Ze(t){return(t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))&&!Ke(t)&&!!De(t)}function zt(t,r){const s=La(t,r),i=Jn(r)||Ma(r)||"";return[r.capabilityId.startsWith("card.chart.")||/^card\.echarts\.[^.]+\.[^.]*basic[^.]*$/iu.test(r.capabilityId)?`chart-type:${i||r.capabilityId}`:r.capabilityId,De(r).trim(),i,Rc(r),m(Qn(s)),m(va(s))].join("|")}function en(t){const r=Qe(t)??dt(t);return r.options.length<=1?!1:je(t).length>0?!0:r.chartCount>1}function Nn(t){return je(t).length>0&&Le(t)>1}function Ln(t,r){if(r.disabled||!r.item)return;const s=_e(t);u.value={...u.value,[s]:lt(r.item,r.previewMode)},y.value={...y.value,[s]:!1},E.value={...E.value,[s]:1}}function Ht(t){const r=F.value[_e(t)];return Number.isInteger(r)?Math.min(Math.max(r,0),Y.length-1):tn(t)}function tn(t){return nl(t)?Vf:Zi}function fe(t){const r=Ee(t);if(!r)return Y[Ht(t)]??Y[Zi];const s=Ht(t)-tn(t);return be(r+s*qf)}function k(t,r){const s=Ht(t)+r;return s>=0&&s<Y.length}function P(t,r){const s=_e(t),i=Math.min(Math.max(Ht(t)+r,0),Y.length-1);F.value={...F.value,[s]:i}}function N(t){F.value={...F.value,[_e(t)]:tn(t)}}function me(t){return typeof t=="number"&&Number.isFinite(t)&&t>0?t:void 0}function be(t){return Math.min(Hf,Math.max(zf,Math.round(t)))}function Ee(t){const r=rt(t),s=D(an(r).layout),i=me(s.h)??me(s.minH);if(!i)return;const l=i*Gf,p=nl(t)?Uf:0;return be(Math.max(l,p))}function it(t,r){const s=r.item;if(!s)return!1;const i=u.value[_e(t)],l=lt(s,r.previewMode);return i?i===l:Te(t)===r.previewMode&&lt(rt(t),r.previewMode)===l}function Mt(t){const r=Et(t);if(r==="inserting")return"插入中";if(r==="success")return"已插入";const s=rt(t),i=ul(t);return i.insertReadyChart?"+ 插入":s.nextAction==="configure"||s.previewStatus==="requires_config"?Nr(s):i.canChoose?"+ 插入":Nr(s)}function Et(t){return B.value[lt(rt(t),Te(t))]||""}function ra(t){const r=_e(t);y.value={...y.value,[r]:!y.value[r]}}function ut(t){return!!y.value[_e(t)]}function Ea(t,r){const s=r.currentTarget instanceof HTMLElement?r.currentTarget:null,i=r.relatedTarget instanceof Node?r.relatedTarget:null;if(s&&i&&s.contains(i))return;const l=_e(t);if(!i&&_.value[l]){const p={..._.value};delete p[l],_.value=p;return}y.value[l]&&(y.value={...y.value,[l]:!1})}function xa(t){var r;return ct(t.diagnosticReason)||ct(t.previewReason)||er((r=t.diagnostics)==null?void 0:r.reasonCodes)}function Nr(t){return t.nextAction==="configure"||t.previewStatus==="requires_config"?Kn(t):t.nextAction==="execute_query"||t.previewStatus==="requires_execution"||t.previewStatus==="blocked"||t.previewStatus==="empty"?"重新问数":"使用"}function Kn(t){const r=t.previewStatus||"ready";return ie[r]||"可插入"}function er(t){return Array.isArray(t)?t.filter(r=>typeof r=="string"&&r.trim().length>0).map(r=>r.trim()).slice(0,3).join("、"):""}function D(t){return oe(t)?t:{}}function $(t){return typeof t=="string"&&t.trim().length>0?t.trim():""}function Lr(t){return Array.isArray(t)?t.flatMap(r=>{const s=$(r);return s?[s]:[]}):[]}function ct(t){const r=$(t);return!r||/^[?\s]+$/u.test(r)||/\?{2,}/u.test(r)||/\uFFFD/u.test(r)?"":r}function An(t){const r=D(t.cardConfig),s=D(t.selectedConfig),i=D(s.values),l=D(t.dataBinding),p=D(t.queryResult),g=D(p.data),A=D(p.dataBinding),M=D(l.queryResult),V=D(M.data),W=an(t),pe=D(W.data),Ve=D(pe.dataBinding),bt=D(W.meta),Wt=D(bt.queryResult);return Pn(nr(M.columns),nr(Wt.columns),nr(p.columns),oa(M),oa(Wt),oa(p),gt(V.fieldLabels),gt(M.fieldLabels),gt(Wt.fieldLabels),gt(D(M.metadata).fieldLabels),gt(D(Wt.metadata).fieldLabels),gt(Ve.fieldLabels),gt(pe.fieldLabels),gt(g.fieldLabels),gt(A.fieldLabels),gt(p.fieldLabels),gt(D(p.metadata).fieldLabels),gt(l.fieldLabels),gt(s.fieldLabels),gt(i.fieldLabels),gt(r.fieldLabels))}function gt(t){const r=D(t);return Object.fromEntries(Object.entries(r).flatMap(([s,i])=>{const l=xt(i,s);return l?[[s,l]]:[]}))}function Pn(...t){const r={};for(const s of t)for(const[i,l]of Object.entries(s))r[i]=zs(i,r[i],l);return r}function zs(t,r,s){const i=xt(s,t);return i?!r||tr(i)&&!tr(r)||Pr(r)&&tr(i)&&!Pr(i)?i:r:r||""}function tr(t){return/[\u3400-\u9fff\uf900-\ufaff]/u.test(t)}function Pr(t){return/[A-Za-z]/u.test(t)}function Mr(t){return Array.isArray(t)?t.map(r=>rn(r)).filter(Boolean):[]}function sa(t,r){if(!Array.isArray(t))return{};const s=Mr(r),i=t.flatMap((p,g)=>{const A=(oe(p)?rn(p):s[g])||"",M=oe(p)?xt(p.label,A)||xt(p.title,A)||xt(p.displayName,A):xt(p,A);return A&&M?[[A,M]]:[]}),l=i.reduce((p,[,g])=>(p.set(g,(p.get(g)??0)+1),p),new Map);return Object.fromEntries(i.filter(([,p])=>l.get(p)===1))}function Ba(t,r){if(!Array.isArray(t))return{};const s=t.find(oe);if(!s)return{};const i=Mr(r);return Object.fromEntries(Object.keys(s).flatMap((l,p)=>{const g=i[p]||"",A=xt(l,g);return g&&A?[[g,A]]:[]}))}function oa(t){const r=D(t.data),s=D(t.metadata),i=Array.isArray(t.columns)?t.columns:r.columns;return Pn(sa(r.displayColumns,i),sa(t.displayColumns,i),sa(s.displayColumns,i),sa(r.columnMetadata,i),sa(s.columnMetadata,i),Ba(r.displayRows,i),Ba(t.displayRows,i),Ba(s.displayRows,i))}function nr(t){return Array.isArray(t)?Object.fromEntries(t.flatMap(r=>{if(!oe(r))return[];const s=rn(r),i=xt(r.label,s)||xt(r.title,s)||xt(r.displayName,s)||xt(r.nameCn,s)||xt(r.name_cn,s);return s&&i?[[s,i]]:[]})):{}}function Qn(t){const r=D(t.cardConfig),s=D(t.selectedConfig),i=D(s.values),l=D(t.dataBinding);return[D(r.fieldMapping),D(s.fieldMapping),D(i.fieldMapping),D(l.fieldMapping)].find(g=>Object.keys(g).length>0)??{}}function wn(t,r){const s=$(t);return s?Gn({key:s,labels:r}):""}function xt(t,r){const s=ct(t);if(!s)return"";const i=r.trim();return s===i?"":s}function _e(t){var i,l;if(t.recommendationId)return t.recommendationId;const r=er((i=t.visualIntent)==null?void 0:i.dimensionFields)||"none",s=er((l=t.visualIntent)==null?void 0:l.measureFields)||"none";return`${t.capabilityId}:${r}:${s}`}function m(t){return Array.isArray(t)?`[${t.map(r=>m(r)).join(",")}]`:oe(t)?`{${Object.keys(t).sort().map(r=>`${r}:${m(t[r])}`).join("|")}}`:typeof t=="string"?t.trim():typeof t=="number"||typeof t=="boolean"?String(t):""}function h(t){var i,l,p,g,A,M;if(Ze(t)){const V=Qn(t),W=Object.keys(V).length>0?m(V):"",pe=Jn(t)||Ma(t)||"";return["chart",t.capabilityId.startsWith("card.chart.")||/^card\.echarts\.[^.]+\.basic$/u.test(t.capabilityId)?`chart-type:${pe||t.capabilityId}`:t.capabilityId,t.dataShape||"",W||m((i=t.visualIntent)==null?void 0:i.dimensionFields),W?"":m((l=t.visualIntent)==null?void 0:l.measureFields),W?"":m((p=t.visualIntent)==null?void 0:p.filterFields),pe,Rc(t),aa(t)].join("|")}const r=Qn(t),s=Object.keys(r).length>0?m(r):"";return[ae(t),t.dataShape||"",s||m((g=t.visualIntent)==null?void 0:g.dimensionFields),s?"":m((A=t.visualIntent)==null?void 0:A.measureFields),s?"":m((M=t.visualIntent)==null?void 0:M.filterFields),aa(t)].join("|")}function w(t){const{viewAlternatives:r,...s}=t;return s}function le(t){return pn(t)>0&&Ne(t)}function Ne(t){return!t.capabilityId.startsWith("card.echarts.")&&!t.capabilityId.startsWith("card.chart.")}function nt(t){if(!le(t))return"";const r=he(t)||ct(t.title);return r?[r,aa(t),m(Qn(t)),m(Tn(t)),String(pn(t)),m(Bt(t))].join("|"):""}function $e(t){return!Ce(t)||pn(t)<=0?"":[Me(t).toLowerCase()||"datatable",aa(t),m(Qn(t)),m(Tn(t)),String(pn(t)),m(Bt(t))].join("|")}function yt(t){return pn(t)<=0?[]:[te(t),Q(t),fn(t)].filter((r,s,i)=>!!r&&i.indexOf(r)===s)}function Ot(t){const r=new Set;for(const s of t)if(Ge(s)){for(const i of yt(s))r.add(i);for(const i of Be([s,...je(s)],s))for(const l of yt(i))r.add(l)}return r}function Mn(t){const r=Ot(t);if(r.size===0)return t;const s=new Set,i=[];for(const l of t){if(Ge(l)){i.push(l);continue}const g=yt(l).filter(A=>r.has(A));if(g.length>0){g.forEach(A=>s.add(A));continue}i.push(l)}return s.size===0?t:i}function fn(t){return pn(t)<=0||Tn(t).length<=0?"":[aa(t),m(Tn(t)),String(pn(t)),m(Bt(t))].join("|")}function Ia(t){return Or(t)||Ze(t)}function Or(t){return le(t)&&!j(t)}function ia(t){const r=new Map,s=new Set;for(const p of t){if(!Ia(p))continue;const g=fn(p);g&&!r.has(g)&&r.set(g,p),g&&Ze(p)&&s.add(g)}const i=new Map,l=new Set;for(const p of t){if(!Ia(p))continue;const g=fn(p);if(!g||!s.has(g))continue;const A=g?r.get(g):void 0;if(!A||A===p)continue;const M=i.get(A)??[];M.push(w(p),...je(p).map(w)),i.set(A,M),l.add(p)}return t.flatMap(p=>{if(l.has(p))return[];const g=i.get(p);return!g||g.length===0?[p]:[{...p,viewAlternatives:[...Array.isArray(p.viewAlternatives)?p.viewAlternatives:[],...g]}]})}function Fr(t){const r=[],s=new Map;for(const i of t){const l=nt(i),p=l?s.get(l):void 0;if(!l||p===void 0){l&&s.set(l,r.length),r.push(i);continue}const g=r[p],A=j(g)&&Ce(i)&&se(i);r[p]=A?{...i,viewAlternatives:[w(g),...je(g).map(w),...Array.isArray(i.viewAlternatives)?i.viewAlternatives:[]]}:{...g,viewAlternatives:[...Array.isArray(g.viewAlternatives)?g.viewAlternatives:[],w(i)]}}return r}function _y(t){const r=[],s=new Map;for(const i of t){const l=$e(i),p=l?s.get(l):void 0;if(!l||p===void 0){l&&s.set(l,r.length),r.push(i);continue}const g=r[p];r[p]={...g,viewAlternatives:[...Array.isArray(g.viewAlternatives)?g.viewAlternatives:[],w(i),...je(i).map(w)]}}return r}function Cy(t){if(!Ce(t))return t;const r=je(t),s=r.find(i=>i.capabilityId===vr&&Ce(i));return s?{...s,viewAlternatives:[w(t),...r.filter(i=>i!==s).map(w)]}:t}const Gt=n.computed(()=>{const t=new Set,s=Mn(_y(Fr(ia(c.draft.recommendations))).map(Cy)).filter(i=>{const l=h(i);return t.has(l)?!1:(t.add(l),!0)});return s.some(At)?s:s.slice(0,1)}),Sy=n.computed(()=>{const t=new Map;for(const r of Gt.value)t.set(_e(r),Tt(r));return t}),Ay=n.computed(()=>{const t=new Map;for(const r of Gt.value)t.set(_e(r),Ut(r));return t}),wy=n.computed(()=>{const t=new Map;for(const r of Gt.value)t.set(_e(r),dt(r));return t}),oc=n.computed(()=>{const t=new Map;for(const r of Gt.value){const s=_e(r);t.set(s,Te(r)==="chart"?Xc(r):null)}return t}),Ty=n.computed(()=>{const t=new Map;for(const r of Gt.value){const s=oc.value.get(_e(r));s&&t.set(_e(r),el(s))}return t}),Ey=n.computed(()=>{const t=new Map;for(const r of Gt.value)t.set(_e(r),dl(r,Tt(r)));return t}),xy=n.computed(()=>{const t=new Map;for(const r of Gt.value)t.set(_e(r),fl(r));return t}),By=n.computed(()=>{const t=new Map;for(const r of Gt.value)t.set(_e(r),Ac(Tt(r)));return t}),ic=n.computed(()=>Gt.value.length);function Iy(t){return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):void 0}const Ry=n.computed(()=>Ny()?Ly():Iy(c.draft.totalRecommendationCount)??(Dy()?Py():vy())),cc=n.computed(()=>{const t=Ry.value;return t<=0?"":`共 ${t} 个`}),lc=n.computed(()=>ic.value<=0?"":c.draft.exhausted===!0?"已展示完全部推荐。":"");function oe(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;const r=Object.getPrototypeOf(t);return r===Object.prototype||r===null}function vy(){return Gt.value.reduce((t,r)=>t+dc(r),0)}function Dy(){return Gt.value.length===1&&Gt.value.some(Nn)}function Ny(){return Gt.value.length===1&&Gt.value.some(t=>en(t)&&Vt(t)>0)}function Ly(){return Gt.value.reduce((t,r)=>t+Vt(r),0)}function Py(){return Gt.value.reduce((t,r)=>t+dc(r),0)}function dc(t){return Nn(t)?Ie(t).length:1}function $r(t){return oe(t)?rr(t).length>0:!1}function ar(t){return Array.isArray(t)?t.filter(r=>oe(r)):[]}function Hs(t){const r=D(t.data),s=D(t.metadata);return[ar(t.displayRows),ar(r.displayRows),ar(s.displayRows)].find(i=>i.length>0)||[]}function My(t){const r=/^(合计|总计|汇总|小计|total|subtotal)$/iu;return t.some(s=>Object.values(s).some(i=>r.test(Gs(Zt(i)))))}function Oy(t,r){return t.length===0||r.length===0?!1:My(t)}function rr(t){const r=Hs(t),s=sr(t);return Oy(r,s)?s:r.length>0?r:s}function sr(t){const r=ar(t.rows),s=D(t.data),i=ar(s.rows),l=new Set(r.map(p=>m(p)));return[...r,...i.filter(p=>!l.has(m(p)))]}function uc(t){if(!$r(t))return!1;const r=rr(t);return r.length===0?!1:(Array.isArray(t.columns)?t.columns:Array.isArray(D(t.data).columns)?D(t.data).columns:[]).map(rn).filter(l=>l&&r.some(p=>Object.prototype.hasOwnProperty.call(p,l))).length>1||Object.keys(r[0]??{}).length>1}function Vr(t){if(!oe(t))return!1;const r=D(t.dataBinding);return r.bindingKind==="runtime_metric"?$(r.serviceOperation)==="metric_execute"&&oe(r.serviceParams):!!(($(r.validatedSql)||$(r.sql)||$(r.originalSql)||$(r.translatedSql))&&oe(r.permissionContext))}function Fy(t,r){const s=rr(t),i=rr(r);return s.length>0&&s.length===i.length&&m(s)===m(i)}function mc(t){const r=D(t.data),s=D(t.metadata);return[t.resultId,t.result_id,t.id,r.resultId,r.result_id,r.id,s.resultId,s.result_id,s.id].map($).filter(Boolean)}function fc(t){const r=D(t.data),s=D(t.metadata);return $(t.sourceTurnId)||$(t.source_turn_id)||$(r.sourceTurnId)||$(r.source_turn_id)||$(s.sourceTurnId)||$(s.source_turn_id)}function $y(t,r){const s=mc(t),i=mc(r);if(s.length>0&&i.length>0)return s.some(g=>i.includes(g))?!0:pc(t,r);const l=fc(t),p=fc(r);return l&&p?l===p:pc(t,r)}function pc(t,r){const s=sr(t),i=sr(r);return s.length>0&&i.length>0&&m(s)===m(i)}function hc(t){const r=D(t.data);return Array.isArray(t.columns)?t.columns:Array.isArray(r.columns)?r.columns:[]}function Vy(t){const r=D(t.data),s=D(t.metadata);return[t.displayColumns,r.displayColumns,s.displayColumns].find(i=>Array.isArray(i))??[]}function gc(t){const r=D(t.data),s=D(t.metadata);return Pn(oa(t),gt(r.fieldLabels),gt(s.fieldLabels),gt(t.fieldLabels))}function zy(t,r){const s=Object.keys(t[0]??{});if(s.length===0)return!1;const i=hc(r).map(rn).filter(Boolean);if(i.length>0)return i.some(p=>t.some(g=>Object.prototype.hasOwnProperty.call(g,p)))?!0:s.length===i.length;const l=[...new Set(sr(r).flatMap(p=>Object.keys(p)))];return l.length===0||l.some(p=>t.some(g=>Object.prototype.hasOwnProperty.call(g,p)))?!0:s.length===l.length}function yc(t,r){if(!r||!$y(t,r))return t;const s=Hs(r),i=D(t.data),l=Vy(r),p=Pn(gc(r),gc(t)),g=s.length>0&&zy(s,t);return!g&&l.length===0&&Object.keys(p).length===0?t:{...t,...l.length>0?{displayColumns:l}:{},...g?{displayRows:s}:{},...Object.keys(p).length>0?{fieldLabels:p}:{},data:{...i,...l.length>0?{displayColumns:l}:{},...g?{displayRows:s}:{},...Object.keys(p).length>0?{fieldLabels:p}:{}}}}function bc(t,r){if(Vr(t)||!r||!Vr(r))return t;const s=t,i=r;if(!Fy(s,i))return t;const l=D(s.data),p=D(i.data);return{...s,dataBinding:i.dataBinding,data:{...l,...p.dataBinding?{dataBinding:p.dataBinding}:{}}}}function ca(t){const r=oe(c.draft.queryResult)&&($r(c.draft.queryResult)||Vr(c.draft.queryResult))?c.draft.queryResult:null,s=D(an(t).meta),i=oe(s.queryResult)?s.queryResult:null,l=oe(t.queryResult)?t.queryResult:i,p=l?bc(yc(l,r),r):t.queryResult;return uc(p)?p:r||(oe(t.queryResult)?t.queryResult:i??{})}function an(t){return D(t.blockPlan)}function nn(t){return D(an(t).data)}function Hy(t){const r=ca(t),s=D(r.data),i=rr(r);if(i.length>0)return i;const l=Object.prototype.hasOwnProperty.call(r,"value")?r.value:Object.prototype.hasOwnProperty.call(s,"value")?s.value:void 0;return l===void 0?[]:[{[(Array.isArray(r.columns)?r.columns:Array.isArray(s.columns)?s.columns:[]).map(rn).find(Boolean)||"value"]:l}]}function Gy(t){const r=nn(t),s=Array.isArray(r.columns)?r.columns.map((l,p)=>$(l)||`column_${p+1}`):[];return(Array.isArray(r.rows)?r.rows:[]).flatMap((l,p)=>{if(!oe(l))return[];const g=Array.isArray(l.cells)?l.cells:[];if(g.length===0)return[];const A=Object.fromEntries(g.map((M,V)=>[s[V]||`column_${V+1}`,M]));return[Object.keys(A).length>0?A:{[`row_${p+1}`]:""}]})}function Bt(t){const r=Hy(t);return r.length>0?r:Gy(t)}function rn(t){return typeof t=="string"?t.trim():oe(t)?$(t.key)||$(t.dataIndex)||$(t.field)||$(t.name):""}function kc(t){return typeof t=="string"?ct(t):oe(t)?ct(t.label)||ct(t.title)||ct(t.displayName)||ct(t.nameCn)||ct(t.name_cn):""}function qy(t,r){const s=Object.keys(r[0]??{});if(t.length===0||s.length===0)return[];const i=t.flatMap((l,p)=>{const g=rn(l),A=g&&r.some(V=>Object.prototype.hasOwnProperty.call(V,g))?g:s[p]||"";if(!A||!r.some(V=>Object.prototype.hasOwnProperty.call(V,A)))return[];const M=xt(kc(l),A);return M?[{field:A,label:M,...oe(l)&&typeof l.role=="string"&&l.role.trim()?{role:l.role.trim()}:{},...oe(l)&&typeof l.type=="string"&&l.type.trim()?{type:l.type.trim()}:{}}]:[]});return i.length===t.length?i:[]}function Uy(t,r){return t.map(s=>{if(!oe(s))return s;const i=rn(s),l=i?xt(r[i],i):"";return l?{...s,label:l}:s})}function or(t,r,s){const i=rn(t);if(!i)return"";if(r.some(p=>Object.prototype.hasOwnProperty.call(p,i)))return i;const l=Object.keys(r[0]??{})[s]||"";return l&&r.some(p=>Object.prototype.hasOwnProperty.call(p,l))?l:i}function _c(t,r,s,i){const l=rn(t);if(!l)return"";const p=i||l,g=oe(t)?ct(t.label)||ct(t.title)||ct(t.displayName):void 0,A=xt(g,p)||void 0;return oe(t)&&t.role,Gn({key:p,explicitLabel:A,labels:r})}function Wy(t){const r=t.trim().toLowerCase();return r==="唯一标识符"||r==="唯一标识"||r==="identifier"||r==="unique identifier"||r==="id"}function jy(t){return oe(t)?ct(t.label)||ct(t.title)||ct(t.displayName):""}function Ky(t,r,s){const i=t.flatMap((p,g)=>{const A=or(p,r,g);if(!A)return[];const M=s[A]||xt(jy(p),A);return M&&Wy(M)?[{key:A,label:M}]:[]}),l=i.reduce((p,g)=>(p[g.label]=(p[g.label]||0)+1,p),{});return new Set(i.filter(p=>l[p.label]>1).map(p=>p.key))}function Qy(t,r){return r.size===0?t:Object.fromEntries(Object.entries(t).filter(([s])=>!r.has(s)))}function Cc(t){return t.trim().replace(/[^a-z0-9]+/giu,"").toLowerCase()}function Yy(t){const r=Cc(t);return r==="metricname"?"指标名称":r==="value"||r==="metricvalue"?"指标值":""}function Jy(t){const r=new Set(t.map(Cc));return r.has("metricname")&&(r.has("value")||r.has("metricvalue"))}function Zy(t,r){if(!Jy(r))return t;const s={...t};for(const i of r)if(!s[i]){const l=Yy(i);l&&(s[i]=l)}return s}function zr(t,r){return t.some(s=>{const i=rn(s);return!!i&&r.some(l=>Object.prototype.hasOwnProperty.call(l,i))})}function Xy(t,r,s){const i=t.map((l,p)=>or(l,r,p)).filter(Boolean);return i.length>0&&i.every(l=>!!(s[l]&&s[l]!==l))}function eb(t,r){const s=nn(t);if(t.dataShape!=="metricSummary"&&s.shape!=="metricSummary"||!Object.prototype.hasOwnProperty.call(s,"primaryValue"))return"";const i=r[0];if(!i)return"";const l=s.primaryValue,p=Object.keys(i).filter(g=>r.some(A=>Object.is(A[g],l)||String(A[g])===String(l)));return p.length===1?p[0]:""}function tb(t,r,s){if(r.length!==1||zr(r,s))return null;const i=eb(t,s);if(!i)return null;const l=r[0],p=nn(t),g=xt(kc(l),i)||xt(p.primaryLabel,i);return[{field:i,...g?{label:g}:{},...oe(l)&&typeof l.role=="string"&&l.role.trim()?{role:l.role.trim()}:{},...oe(l)&&typeof l.type=="string"&&l.type.trim()?{type:l.type.trim()}:{}}]}function nb(t,r,s,i,l=[]){const p=qy(l,i);if(p.length>0)return p;if(l.length>0&&zr(l,i))return l;if(!zr(r,i)&&zr(s,i))return s;const g=tb(t,r,i);return g||(r.length>0?r:s)}function Tn(t){const r=ca(t),s=D(r.data),i=Bt(t),l=Hs(r).length>0,p=Pn(oa(r),gt(s.fieldLabels),gt(r.fieldLabels)),g=l?Pn(p,An(t)):Pn(An(t),p),A=Array.isArray(r.columns)?r.columns:[],M=Array.isArray(s.columns)?s.columns:[],V=nn(t),W=Array.isArray(V.displayColumns)?V.displayColumns:[],pe=Xy(A,i,g)?[]:W,Ve=Uy(nb(t,A,M,i,pe),g),bt=Ky(Ve,i,g),Wt=Ve.map((mt,Ft)=>or(mt,i,Ft)).filter(Boolean),xn=Zy(Qy(g,bt),Wt),la=Ve.map((mt,Ft)=>{const Lt=or(mt,i,Ft),Oa=bt.has(Lt)?wn(Lt,xn)||Lt:_c(mt,xn,Ft,Lt);return{key:Lt,label:Oa}}).filter(mt=>mt.key&&mt.label);if(la.length>0)return la;const On=nn(t).columns,Nt=Array.isArray(On)?On.map((mt,Ft)=>{const Lt=rn(mt)||`column_${Ft+1}`;return{key:Lt,label:_c(mt,xn)||Lt}}):[];return Nt.length>0?Nt:Object.keys(i[0]??{}).map(mt=>({key:mt,label:wn(mt,g)||mt}))}function Gs(t){let r=t.trim();const s=[/^\*\*([\s\S]+)\*\*$/u,/^__([\s\S]+)__$/u,/^\*([\s\S]+)\*$/u,/^_([\s\S]+)_$/u,/^`([\s\S]+)`$/u];for(const i of s){const l=r.match(i);if(l){r=l[1].trim();break}}return r.replace(/\*\*([^*]+)\*\*/gu,"$1").replace(/__([^_]+)__/gu,"$1").replace(/`([^`]+)`/gu,"$1")}function Zt(t){if(t==null||t==="")return"-";if(Array.isArray(t))return t.map(s=>Zt(s).trim()).filter(s=>s&&s!=="-").join(",")||"-";if(typeof t=="number"||typeof t=="boolean")return String(t);if(typeof t=="string"){const r=t.trim();if(r.startsWith("[")&&r.endsWith("]"))try{const s=JSON.parse(r);if(Array.isArray(s))return Zt(s)}catch{return Gs(r)}return Gs(r)}return JSON.stringify(t)}function pn(t){const r=Bt(t).length;return Math.max(rb(t)??0,r)}function ab(t){const r=typeof t=="number"?t:typeof t=="string"&&t.trim()?Number(t.trim()):Number.NaN;if(!(!Number.isFinite(r)||r<0))return Math.floor(r)}function rb(t){const r=ca(t),s=D(r.data),i=D(r.metadata),l=D(s.metadata),p=D(r.dataBinding),g=D(p.queryResult),A=[r.rowCount,r.totalCount,r.total_count,r.total,s.rowCount,s.totalCount,s.total_count,s.total,i.rowCount,i.totalCount,i.total_count,i.total,l.rowCount,l.totalCount,l.total_count,l.total,g.rowCount,g.totalCount,g.total_count,g.total];for(const M of A){const V=ab(M);if(V!==void 0)return V}}function Yn(t){return E.value[_e(t)]||1}function qs(t){return Math.max(1,Math.ceil(Bt(t).length/Ls))}function Sc(t,r){const s=Math.max(1,Math.floor(r)),i=Math.min($f,s),l=Math.min(Math.max(1,Math.floor(t)),s),p=Math.floor(i/2);let g=l-p,A=g+i-1;return g<1&&(g=1,A=i),A>s&&(A=s,g=Math.max(1,A-i+1)),Array.from({length:A-g+1},(M,V)=>g+V)}function Ac(t){const r=pn(t),s=qs(t);return{columns:Tn(t),totalCount:r,pageCount:s,pages:Sc(1,s)}}function Us(t){const r=rt(t);return By.value.get(_e(t))??Ac(r)}function wc(t){return Us(t).columns}function Tc(t){return Us(t).totalCount}function Hr(t){return Us(t).pageCount}function sb(t){const r=Hr(t);return`${Math.min(Yn(t),r)} / ${r} 页`}function ob(t){const r=Yn(t),s=Hr(t);return Sc(r,s)}function ib(t){const r=rt(t),i=(Math.min(Yn(t),qs(r))-1)*Ls;return Bt(r).slice(i,i+Ls)}function Ws(t,r){const s=rt(t),i=Math.min(Math.max(1,r),qs(s));E.value={...E.value,[_e(t)]:i}}function Ec(t){const r=rt(t),s=S.value[_e(t)];return s||he(t)||he(r)||ye(r)}function cb(t){const r=_e(t);return U.value[r]?$(z.value[r]):$(S.value[r])}function lb(t){return!!U.value[_e(t)]}function db(t){const r=_e(t);z.value={...z.value,[r]:Ec(t)},U.value={...U.value,[r]:!0}}function ub(t,r){const s=r.target instanceof HTMLInputElement?r.target:null;s&&(z.value={...z.value,[_e(t)]:s.value})}function xc(t){const r=_e(t),s=$(z.value[r]);S.value=s?{...S.value,[r]:s}:Object.fromEntries(Object.entries(S.value).filter(([i])=>i!==r)),U.value={...U.value,[r]:!1}}function Dt(t){return Array.isArray(t)?t.map(r=>Dt(r)):oe(t)?Object.fromEntries(Object.entries(t).map(([r,s])=>[r,Dt(s)])):t}function Bc(t){return D(t.protocolConfig)}function Ic(t){return D(t.protocolData)}function mb(t,r){const s=D(r.categories),i=Array.isArray(s.xAxis)?s.xAxis:[];if(i.length!==0){if(Array.isArray(t.xAxis)){t.xAxis=t.xAxis.map((l,p)=>p===0&&oe(l)?{...l,data:Dt(i)}:l);return}t.xAxis=oe(t.xAxis)?{...t.xAxis,data:Dt(i)}:{type:"category",data:Dt(i)}}}function fb(t,r){if(!Array.isArray(r.datasets))return;const s=r.datasets.filter(oe).map(i=>({...$(i.id)?{id:$(i.id)}:{},...Array.isArray(i.dimensions)&&i.dimensions.length>0?{dimensions:Dt(i.dimensions)}:{},...Array.isArray(i.source)?{source:Dt(i.source)}:{}})).filter(i=>Object.keys(i).length>0);s.length!==0&&(t.dataset=s.length===1?s[0]:s)}function pb(t,r){const s=Array.isArray(r.series)?r.series.filter(oe).filter(g=>Array.isArray(g.data)):[];if(s.length===0)return;const i=Array.isArray(t.series)?t.series.filter(oe):[],l=s.map((g,A)=>{const M=i[A]||i.find(V=>$(V.type)===$(g.typeHint))||i.find(V=>$(V.type)===$(g.type))||i[0]||{};return{...M,type:$(g.typeHint)||$(g.type)||$(M.type)||"line",...$(g.name)?{name:$(g.name)}:$(M.name)?{name:$(M.name)}:{},data:Dt(Array.isArray(g.data)?g.data:[])}});t.series=l;const p=l.map(g=>$(g.name)).filter(Boolean);p.length>0&&(t.legend=Da(t.legend,p))}function Gr(t){if(t.shape!=="protocolRender"||$(t.rendererType)!=="echarts")return{};const r=Bc(t),s=D(r.optionPatch);if(!yn(s))return{};const i=Dt(s),l=Ic(t);return mb(i,l),fb(i,l),pb(i,l),i}function hb(t){return yn(Gr(nn(t)))}function js(t){const r=Ic(t);return Array.isArray(r.series)||Array.isArray(r.datasets)||yn(D(r.categories))}function Rc(t){const r=nn(t);if(r.shape!=="protocolRender")return"";const s=Bc(r);return m({shape:r.shape,rendererType:r.rendererType,chartId:$(s.chartId),optionPatch:D(s.optionPatch)})}function ir(t){const r=nn(t),s=Gr(r);return yn(s)?s:qr(t,D(r.option))}function vc(t){const r=ir(t);return hn(r)}function Dc(t){return vc(t).flatMap(r=>{const s=$(r.type);return s?[s]:[]})}function Nc(t){return vc(t).some(r=>$(r.type)==="pie"&&Array.isArray(r.radius)&&r.radius.length>=2)}function Lc(t){const r=ir(t),s=new Set(Dc(t).map(i=>i.toLowerCase()));if(s.has("pie")&&Nc(t))return"donut";if(oe(r.geo))return"map";if(oe(r.calendar)||Array.isArray(r.calendar))return"heatmap";if(s.has("graph"))return"network";if(s.has("themeriver"))return"themeRiver";if(s.has("pictorialbar"))return"pictorialBar";if(s.has("bar")&&s.has("line"))return"mixedBarLine";for(const i of["sankey","tree","treemap","sunburst","radar","funnel","heatmap","gauge","candlestick","boxplot","parallel","pie","scatter","line","bar"])if(s.has(i))return i;return null}function qr(t,r){if(Object.keys(r).length===0)return r;const s=An(t),i=Array.isArray(r.series)?r.series.map(p=>gb(p,s)):r.series,l=Array.isArray(i)?i.filter(oe).map(p=>$(p.name)).filter(Boolean):[];return{...r,...i?{series:i}:{},...r.legend!==void 0||l.length>1?{legend:yb(r.legend,s,l)}:{},...r.xAxis!==void 0?{xAxis:Ks(r.xAxis,s)}:{},...r.yAxis!==void 0?{yAxis:Ks(r.yAxis,s)}:{}}}function gb(t,r){if(!oe(t))return t;const s=$(t.name);return s?{...t,name:wn(s,r)}:t}function yb(t,r,s){const i=l=>Array.isArray(l)?l.map(p=>typeof p=="string"?wn(p,r):p):s.length>1?s:l;return Array.isArray(t)?t.map(l=>oe(l)?{...l,data:i(l.data)}:l):oe(t)?{...t,data:i(t.data)}:s.length>1?{data:s}:t}function Ks(t,r){if(Array.isArray(t))return t.map(i=>Ks(i,r));if(!oe(t))return t;const s=$(t.name);return s?{...t,name:wn(s,r)}:t}function bb(t){const r=Array.isArray(t)?t[0]:t,s=D(r).data;return Array.isArray(s)?s:[]}function kb(t){return Array.isArray(t)?t.flatMap(r=>{if(typeof r=="number"&&Number.isFinite(r))return[r];if(Array.isArray(r)){const s=r.find(i=>typeof i=="number"&&Number.isFinite(i));return typeof s=="number"?[s]:[]}return oe(r)&&typeof r.value=="number"&&Number.isFinite(r.value)?[r.value]:[]}):[]}function Qs(t,r={}){const s=r.previewType||Ma(t);if(!s)return null;if(r.useMaterializedOption!==!1){const V=ir(t),pe=(Array.isArray(V.series)?V.series.filter(oe):[])[0];if(pe){const Ve=kb(pe.data),bt=bb(V.xAxis).map(Wt=>Zt(Wt));if(Ve.length>0)return{title:$(pe.name)||ye(t),type:$(pe.type)||s,points:Ve.map((Wt,xn)=>({label:bt[xn]||`项 ${xn+1}`,value:Wt}))}}}const i=Bt(t),l=Tn(t).map(V=>V.key),p=l.find(V=>i.some(W=>typeof W[V]=="number"&&Number.isFinite(W[V]))),g=l.find(V=>V!==p)||l[0];if(!g||i.length===0)return null;if(p)return{title:wn(p,An(t)),type:s,points:i.flatMap((V,W)=>{const pe=V[p];return typeof pe=="number"&&Number.isFinite(pe)?[{label:Zt(V[g])||`项 ${W+1}`,value:pe}]:[]})};const A=new Map;for(const V of i){const W=Zt(V[g]);!W||W==="-"||A.set(W,(A.get(W)||0)+1)}const M=Array.from(A.entries()).map(([V,W])=>({label:V,value:W}));return M.length>0?{title:"记录数",type:s,points:M}:null}function yn(t){return Object.keys(t).length>0}function bn(t){return t==="line"||t==="pie"||t==="scatter"?t:t==="donut"||t==="halfDonut"?"pie":t==="network"?"graph":["graph","sankey","tree","treemap","sunburst","radar","funnel","heatmap","gauge","candlestick","boxplot","parallel","pictorialBar","themeRiver"].includes(t)?t:"bar"}function cr(t){return t==="halfDonut"}function Pc(){return{radius:["42%","76%"],center:["50%",Xi],startAngle:180,endAngle:360}}function _b(t){return["50%",Xi]}function Cb(t){return t==="mixedBarLine"?["bar","line"]:[bn(t)]}function Sb(t){const r=t.split(".");return r[0]==="card"&&r[1]==="echarts"&&r[2]||""}function Mc(t){const r=t.split(".");return r[0]==="card"&&r[1]==="chart"&&r[2]||""}function Ra(t){const r=an(t),s=D(r.meta),i=D(s.echartsTemplate),l=Wm(t.capabilityId);return yn(i)&&l&&!i.iconPath?{...i,iconPath:l}:yn(i)?i:l?{iconPath:l}:null}function Ab(t){const r=Mc(t.capabilityId);if(!r)return;if(Object.prototype.hasOwnProperty.call(Pe,r))return Pe[r];const s=$(t.protocolKind);return Object.prototype.hasOwnProperty.call(Pe,s)?Pe[s]:null}function Jn(t){const r=$(t.protocolKind).toLowerCase(),s=Sb(t.capabilityId),i=Ab(t);if(i!==void 0)return i;const l=Ji(Ra(t));if(l==="halfDonut")return l;if(wb(t))return"halfDonut";if(l==="pie"&&Nc(t))return"donut";if(l)return l;const p=Lc(t);return p||(s?Ji({mainCategory:s,protocolType:r}):r==="network"?s==="sankey"?"sankey":"network":r==="tree"?"tree":r==="geo"?"map":ce.has(s)?s:null)}function wb(t){const r=Ra(t),s=[t.capabilityId,$(r==null?void 0:r.exampleId),$(r==null?void 0:r.templateType),$(r==null?void 0:r.iconPath)].join(" ").toLowerCase();return/(?:half[-_\s]?donut|semi[-_\s]?(?:donut|circle)|piehalfdonut)/iu.test(s)}function En(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()){const r=Number(t);return Number.isFinite(r)?r:null}return null}function va(t){const r=ca(t),s=D(r.data),i=Bt(t),p=(Array.isArray(r.columns)?r.columns:Array.isArray(s.columns)?s.columns:[]).map((V,W)=>or(V,i,W)).filter(Boolean);if(p.length>0)return p;const g=nn(t).columns,A=Array.isArray(g)?g.map(V=>$(V)).filter(Boolean):[];if(A.length>0)return A;const M=Bt(t)[0];return M?Object.keys(M):[]}function Ur(t,r){return r.find(s=>t.some(i=>En(i[s])!==null))||""}function Wr(t,r){return t.filter(s=>s&&s!==r)}function Oc(t,r){const s=t.trim().toLowerCase();return s?r.some(i=>{const l=i.toLowerCase();return/[\u4e00-\u9fff]/u.test(l)?s.includes(l):new RegExp(`(^|[._\\-\\s])${l}($|[._\\-\\s])`,"iu").test(s)}):!1}function Fc(t,r){var l;const s=An(t),i=(l=Tn(t).find(p=>p.key===r))==null?void 0:l.label;return[r,s[r],i].filter(Boolean).join(" ")}function $c(t,r){const s=["source","from","src","origin","start","来源","起点","源"],i=["target","to","dst","destination","end","目标","终点","去向"],l=r.find(g=>Oc(Fc(t,g),s)),p=r.find(g=>g!==l&&Oc(Fc(t,g),i));return l&&p?{sourceKey:l,targetKey:p}:null}function Tb(t,r,s,i){const l=$c(t,s);if(!l)return null;const{sourceKey:p,targetKey:g}=l,A=new Set,M=r.flatMap(V=>{const W=Zt(V[p]),pe=Zt(V[g]);return!W||W==="-"||!pe||pe==="-"?[]:(A.add(W),A.add(pe),[{source:W,target:pe,value:En(V[i])??1}])});return M.length===0?null:{nodes:Array.from(A).map(V=>({name:V})),links:M}}function Vc(t,r,s=!0){var M,V;const i=Bt(t),l=va(t),p=Ur(i,l),g=Wr(l,p),A=Qs(t,{useMaterializedOption:s,previewType:r});if(r==="graph"||r==="sankey"){const W=Tb(t,i,g,p);return W?r==="graph"?{tooltip:{trigger:"item"},series:[{type:"graph",layout:"force",roam:!0,label:{show:!0},data:W.nodes,links:W.links,force:{repulsion:120}}]}:{tooltip:{trigger:"item"},series:[{type:"sankey",data:W.nodes,links:W.links}]}:null}if(!A||A.points.length===0)return null;if(r==="radar"){if(A.points.length<Ps)return null;const W=Math.max(1,...A.points.map(pe=>pe.value));return{radar:{indicator:A.points.map(pe=>({name:pe.label,max:Math.max(W,pe.value)}))},series:[{type:"radar",name:A.title,data:[{name:A.title,value:A.points.map(pe=>pe.value)}]}]}}if(r==="funnel")return{tooltip:{trigger:"item"},series:[{type:"funnel",name:A.title,data:A.points.map(W=>({name:W.label,value:W.value}))}]};if(r==="heatmap")return{tooltip:{position:"top"},xAxis:{type:"category",data:A.points.map(W=>W.label)},yAxis:{type:"category",data:[A.title]},visualMap:{min:0,max:Math.max(1,...A.points.map(W=>W.value)),calculable:!0,orient:"horizontal"},series:[{type:"heatmap",data:A.points.map((W,pe)=>[pe,0,W.value])}]};if(r==="gauge")return{series:[{type:"gauge",data:[{name:((M=A.points[0])==null?void 0:M.label)||A.title,value:((V=A.points[0])==null?void 0:V.value)??0}]}]};if(r==="tree"||r==="treemap"||r==="sunburst"){const W=[{name:A.title,children:A.points.map(pe=>({name:pe.label,value:pe.value}))}];return{tooltip:{trigger:"item"},series:[{type:r,data:W,...r==="tree"?{label:{position:"left"}}:{}}]}}return null}function zc(t){const r=t.map(g=>Math.max(0,g.value)),s=r[0]??0,i=r.slice(1).reduce((g,A)=>g+A,0);if(!(r.length>1&&s>0&&i<=s)){let g=0;return{helper:r.map((A,M)=>{const V=M===0?0:g;return g+=r[M]??0,V}),values:r}}let p=s;return{helper:r.map((g,A)=>A===0?0:(p=Math.max(0,p-g),p)),values:r}}function Hc(t){if(t.length<2)return!1;const r=t[0]??0,s=t.slice(1).reduce((i,l)=>i+Math.max(0,l),0);return r>0&&s>0&&s<=r}function Eb(t){return Hc(t.map(r=>r.value))}function Gc(t){return t.seriesValues.length===1&&Hc(t.seriesValues[0]||[])}function xb(t){const r=Ra(t),s=ir(t),i=[t.capabilityId,t.dataShape,$(t.protocolKind),$(r==null?void 0:r.exampleId),$(r==null?void 0:r.templateType),$(r==null?void 0:r.iconPath),...Lr(r==null?void 0:r.tags)].join(" ").toLowerCase();return/waterfall|bar[-_\s]?waterfall|\u7011\u5e03/iu.test(i)||dr(hn(s))}function Bb(t){if(!xb(t)||Bt(t).length===0)return!0;const r=Zs(t);return!!(r&&Gc(r))}function Ib(t){const r=zc(t.points);return{grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},xAxis:{type:"category",data:t.points.map(s=>s.label)},yAxis:{type:"value"},series:[{type:"bar",stack:"waterfall",silent:!0,tooltip:{show:!1},itemStyle:{color:"transparent",borderColor:"transparent"},emphasis:{itemStyle:{color:"transparent",borderColor:"transparent"}},data:r.helper},{type:"bar",stack:"waterfall",name:t.title,data:r.values}]}}function Rb(t){const r=[...t.points].sort((p,g)=>g.value-p.value),s=r.reduce((p,g)=>p+Math.max(0,g.value),0);let i=0;const l=r.map(p=>(i+=Math.max(0,p.value),s>0?Number((i/s*100).toFixed(2)):0));return{grid:{left:40,right:42,top:24,bottom:34},tooltip:{trigger:"axis"},legend:{data:[t.title,"累计占比"]},xAxis:{type:"category",data:r.map(p=>p.label)},yAxis:[{type:"value"},{type:"value",min:0,max:100,axisLabel:{formatter:"{value}%"}}],series:[{type:"bar",name:t.title,data:r.map(p=>p.value)},{type:"line",name:"累计占比",yAxisIndex:1,smooth:!0,data:l}]}}function vb(t){const r=bn(t.type);if(t.type==="waterfall")return Ib(t);if(t.type==="pareto")return Rb(t);if(t.type==="mixedBarLine"){const l=t.points.map(A=>A.label),p=t.points.map(A=>A.value),g={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},legend:{data:[t.title,`${t.title} trend`]},xAxis:{type:"category",data:l},yAxis:{type:"value"},series:[{type:"bar",name:t.title,data:p},{type:"line",name:`${t.title} trend`,data:p}]};return kn(g,l),g}if(["graph","sankey","tree","treemap","radar","funnel","heatmap","gauge"].includes(r))return{};if(r==="pie")return{tooltip:{trigger:"item"},series:[{type:"pie",name:t.title,...t.type==="donut"?{radius:["38%","68%"]}:{},...cr(t.type)?Pc():{},data:t.points.map(l=>({name:l.label,value:l.value}))}]};if(r==="scatter"){const l=t.points.map(g=>g.label),p={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"item"},xAxis:{type:"category",data:l},yAxis:{type:"value"},series:[{type:"scatter",name:t.title,data:t.points.map(g=>g.value)}]};return kn(p,l),p}if(r==="themeRiver"){const l=t.points.map(p=>p.label);return{tooltip:{trigger:"axis"},legend:{data:[t.title]},singleAxis:{type:"category",data:l,boundaryGap:["5%","5%"]},series:[{type:"themeRiver",name:t.title,data:t.points.map(p=>[p.label,p.value,t.title])}]}}const s=t.points.map(l=>l.label),i={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},xAxis:{type:"category",data:s},yAxis:{type:"value"},series:[{type:r,name:t.title,data:t.points.map(l=>l.value)}]};return kn(i,s),i}function qc(t,r){const s=Xb(t,r);if(s)return Pa(s,r);const i=Vc(t,bn(r),!1);if(i)return Pa(i,r);const l=Qs(t,{useMaterializedOption:!1,previewType:r});if(!l||l.points.length===0||r==="waterfall"&&!Eb(l.points))return null;const p=vb(l);return yn(p)?Pa(p,r):null}function Db(t){const r=nn(t),s=Gr(r);if(yn(s))return qr(t,s);const i=qr(t,D(r.option));return yn(i)?i:null}function Ys(t,r){return r.map(s=>$(t[s])).find(Boolean)||""}function Js(t,r){var i;const s=(i=t.visualIntent)==null?void 0:i[r];return Array.isArray(s)&&s.map(l=>$(l)).find(Boolean)||""}function Nb(t,r){return t||r}function Lb(t,r,s,i,l){return[...Array.isArray(t.yFields)?t.yFields.map(A=>$(A)).filter(Boolean):[],Ys(t,["yField","measureField","valueField"])].filter((A,M,V)=>A&&V.indexOf(A)===M).find(A=>r.some(M=>En(M[A])!==null))||s.find(A=>A!==i&&A!==l&&r.some(M=>En(M[A])!==null))||""}function Pb(t,r){const s=new Set(t.map(i=>Zt(i[r])).filter(i=>i&&i!=="-"));return s.size>=2&&s.size<t.length}function Mb(t,r,s,i){return r.find(l=>l!==s&&l!==i&&t.some(p=>En(p[l])===null)&&Pb(t,l))||""}function Ob(t){if(t instanceof Date)return!0;const r=Zt(t).trim();return!r||r==="-"?!1:/^(?:\d{4}[-/年])?(?:0?[1-9]|1[0-2])月$/u.test(r)||/^\d{4}[-/]?(?:0?[1-9]|1[0-2])$/u.test(r)||/^\d{4}[-/]?Q[1-4]$/iu.test(r)||/^\d{4}[-/年]\d{1,2}[-/月]\d{1,2}/u.test(r)}function Uc(t,r){const s=t.map(i=>i[r]).filter(i=>{const l=Zt(i).trim();return!!(l&&l!=="-")});return s.length>0&&s.every(Ob)}function Fb(t,r,s){if(r.length===0||s.length<3)return null;const i=Qn(t),l=Ys(i,["seriesField","groupField","colorField"])||Js(t,"seriesFields");let p=Js(t,"dimensionFields")||Ys(i,["xField","labelField","categoryField","dimensionField"])||s.find(Nt=>Nt!==l&&r.some(mt=>En(mt[Nt])===null))||"";const g=Js(t,"measureFields"),A=g&&r.some(Nt=>En(Nt[g])!==null)?g:Lb(i,r,s,p,l);let M=l||Mb(r,s,p,A);if(p&&M&&Uc(r,p)&&!Uc(r,M)&&([p,M]=[M,p]),!p||!A||p===M)return null;const V=[],W=[],pe=new Set,Ve=new Set,bt=new Map;if(r.forEach((Nt,mt)=>{const Ft=Zt(Nt[p]),Lt=Zt(Nt[M]),Oa=En(Nt[A]);if(!Lt||Lt==="-"||Oa===null)return;const da=Ft&&Ft!=="-"?Ft:`项 ${mt+1}`;pe.has(da)||(pe.add(da),V.push(da)),Ve.has(Lt)||(Ve.add(Lt),W.push(Lt));const co=bt.get(Lt)??new Map;co.set(da,(co.get(da)??0)+Oa),bt.set(Lt,co)}),V.length===0||W.length<2)return null;const Wt=An(t),xn=wn(A,Wt)||A,la=W.map(Nt=>Nb(Nt,xn)),On=W.map(Nt=>{const mt=bt.get(Nt)??new Map;return V.map(Ft=>mt.get(Ft)??0)});return{labels:V,measureLabels:la,seriesValues:On,points:V.map((Nt,mt)=>{var Ft;return{label:Nt,value:((Ft=On[0])==null?void 0:Ft[mt])??0}}),title:la[0]||ye(t)}}function Zs(t){const r=Bt(t),s=va(t),i=Fb(t,r,s);if(i)return i;const l=s.filter(W=>r.some(pe=>En(pe[W])!==null)),p=s.find(W=>!l.includes(W))||s[0];if(!p||r.length===0)return null;const g=r.map((W,pe)=>{const Ve=Zt(W[p]);return Ve&&Ve!=="-"?Ve:`项 ${pe+1}`}),A=An(t);if(l.length>0){const W=l.map(Ve=>wn(Ve,A)||Ve),pe=l.map(Ve=>r.map(bt=>En(bt[Ve])??0));return{labels:g,measureLabels:W,seriesValues:pe,points:g.map((Ve,bt)=>{var Wt;return{label:Ve,value:((Wt=pe[0])==null?void 0:Wt[bt])??0}}),title:W[0]||ye(t)}}const M=new Map;for(const W of g)!W||W==="-"||M.set(W,(M.get(W)||0)+1);const V=Array.from(M.entries()).map(([W,pe])=>({label:W,value:pe}));return V.length===0?null:{labels:V.map(W=>W.label),measureLabels:["记录数"],seriesValues:[V.map(W=>W.value)],points:V,title:"记录数"}}function $b(t){return Array.isArray(t)?D(t.find(oe)):D(t)}function jr(t){const r=$b(t);return $(r.type)==="category"||Array.isArray(r.data)}function Vb(t,r){const s=i=>oe(i)?{...i,type:$(i.type)||"category",data:r}:{type:"category",data:r};return Array.isArray(t)?t.length===0?[{type:"category",data:r}]:t.map((i,l)=>l===0?s(i):i):s(t)}function Wc(t){const r=$(t).replace(/\s+/g,"");return r==="#{value}"||r==="#value"||r.startsWith("#{")}function zb(t){const r=D(t.axisLabel),s=typeof t.max=="number"?t.max:Number(t.max);return Wc(r.formatter)||t.inverse===!0&&Number(t.min)===1&&Number(t.interval)===1&&Number.isFinite(s)&&s<=20}function Xs(t){const r={...t,type:$(t.type)||"value"};if(!zb(t))return r;delete r.inverse,delete r.min,delete r.max,delete r.interval;const s=D(t.axisLabel);if(Wc(s.formatter)){const i={...s};delete i.formatter,r.axisLabel=i}return r}function Hb(t){return Array.isArray(t)?t.length===0?[{type:"value"}]:t.map((r,s)=>s===0&&oe(r)?Xs(r):r):oe(t)?Xs(t):{type:"value"}}function Kr(t,r){const s=jr(t.yAxis)&&!jr(t.xAxis)?"yAxis":"xAxis",i=s==="xAxis"?"yAxis":"xAxis";t[s]=Vb(t[s],r),t[i]=Hb(t[i])}function Gb(t){const r=oe(t.polar)||Array.isArray(t.polar);return hn(t).some(s=>$(s.type)==="bar"&&($(s.coordinateSystem)==="polar"||r))}function qb(t,r){const s=i=>{const l=oe(i)?{...i,type:$(i.type)||"category",data:r}:{type:"category",data:r};return l.axisLabel={...D(l.axisLabel),hideOverlap:!0,margin:8},l};return Array.isArray(t)?t.length===0?[s(void 0)]:t.map((i,l)=>l===0?s(i):i):s(t)}function Ub(t){const r=s=>{const i=oe(s)?Xs(s):{type:"value"};return delete i.min,delete i.max,delete i.interval,i};return Array.isArray(t)?t.length===0?[r(void 0)]:t.map((s,i)=>i===0?r(s):s):r(t)}function Wb(t,r){const s=jr(t.radiusAxis)&&!jr(t.angleAxis)?"radiusAxis":"angleAxis",i=s==="angleAxis"?"radiusAxis":"angleAxis";t[s]=qb(t[s],r),t[i]=Ub(t[i]),delete t.xAxis,delete t.yAxis}function jb(t){const r=s=>({...oe(s)?{...s}:{},center:["50%","43%"],radius:[24,"56%"]});return Array.isArray(t)?t.length===0?[r(void 0)]:t.map((s,i)=>i===0?r(s):s):r(t)}function Kb(t){const r={...D(t)};return delete r.bottom,{...r,type:"scroll",orient:"horizontal",left:"center",top:r.top??0,pageButtonPosition:"end",itemGap:12}}function Qb(t){const r=s=>{if(!oe(s))return s;const i={...s};delete i.startValue,delete i.endValue;const l={...i,start:0,end:100};return $(l.type)==="slider"?{...l,bottom:12,height:22}:l};return Array.isArray(t)?t.map(r):r(t)}function Yb(t){if(!(Array.isArray(t.dataZoom)?t.dataZoom:[t.dataZoom]).some(p=>oe(p)&&$(p.type)==="slider"))return;const i=oe(t.grid)?t.grid:{},l=typeof i.bottom=="number"?i.bottom:Number(i.bottom);t.grid={...i,bottom:Number.isFinite(l)?Math.max(l,92):92}}function Jb(t){if(typeof t=="string"&&t.trim().endsWith("%"))return t;const r=typeof t=="number"?t:Number(t);return Number.isFinite(r)?Math.min(r,ec):ec}function Qr(t){if(![t.yAxis,t.xAxis].flatMap(i=>Array.isArray(i)?i:[i]).some(i=>oe(i)&&(i.type===void 0||$(i.type)==="value")))return;const s=i=>({...i,left:Jb(i.left),containLabel:i.containLabel??!0});if(Array.isArray(t.grid)){t.grid=t.grid.map(i=>oe(i)?s(i):i);return}t.grid=s(oe(t.grid)?t.grid:{})}function Da(t,r){return Array.isArray(t)?t.map(s=>oe(s)?{...s,data:r}:s):oe(t)?{...t,data:r}:{data:r}}function kn(t,r=[]){delete t.dataset,delete t.title,t.dataZoom!==void 0?t.dataZoom=Qb(t.dataZoom):r.length>20&&(t.dataZoom=[{type:"slider",start:0,end:100,bottom:12,height:22},{type:"inside",start:0,end:100}]),Qr(t),Yb(t)}function Zn(t,r){const s=hn(t),i=s.filter(l=>$(l.type)===r);return i.length>0?i:s}function Na(t,r){return t.seriesValues[r]||t.seriesValues[0]||t.points.map(s=>s.value)}function Zb(t){return t.capabilityId.toLowerCase().includes("stackedbar")}function Xb(t,r){const s=Zs(t);if(!s||s.seriesValues.length<=1)return null;const i=bn(r);if(!["bar","line","scatter","pictorialBar"].includes(i)&&r!=="mixedBarLine")return null;const l=s.measureLabels.map((g,A)=>{const M=r==="mixedBarLine"?A===0?"bar":"line":i;return{type:M,name:g||s.title,...M==="bar"&&Zb(t)?{stack:"total"}:{},data:Na(s,A)}}),p={grid:{left:40,right:16,top:24,bottom:34},tooltip:{trigger:"axis"},legend:{data:s.measureLabels},xAxis:{type:"category",data:s.labels},yAxis:{type:"value"},series:l};return kn(p,s.labels),p}function Yr(t){const r=typeof t=="string"?t.trim().toLowerCase().replace(/\s+/g,""):"";return r==="transparent"||r==="rgba(0,0,0,0)"||r==="rgba(255,255,255,0)"}function lr(t){const r=D(t.itemStyle),s=D(D(t.emphasis).itemStyle);return $(t.type)==="bar"&&!!$(t.stack)&&(Yr(r.color)||Yr(r.borderColor)||Yr(s.color)||Yr(s.borderColor))}function dr(t){return t.some(lr)&&t.some(r=>$(r.type)==="bar"&&!lr(r))}function eo(t){return{...t,name:"",silent:t.silent??!0,tooltip:{...D(t.tooltip),show:!1}}}function ek(t){const r=hn(t);if(!dr(r)){const l={...t};return Qr(l),l}const s=Array.isArray(t.series)?t.series.map(l=>oe(l)&&lr(l)?eo(l):l):oe(t.series)&&lr(t.series)?eo(t.series):t.series,i={...t,series:s};return Qr(i),i}function tk(t,r){const s=Dt(t),i=Zn(s,"bar"),l=Math.max(1,r.measureLabels.length),p=i[0]||{type:"bar",coordinateSystem:"polar"};return s.series=Array.from({length:l},(g,A)=>{const V={...i[A]||p,type:"bar",coordinateSystem:"polar",name:r.measureLabels[A]||r.title,data:Na(r,A)};return delete V.encode,delete V.datasetIndex,V}),s.polar=jb(s.polar),Wb(s,r.labels),s.legend=Kb(Da(s.legend,r.measureLabels)),kn(s,r.labels),s}function nk(t,r,s){const i=Dt(t),l=Zn(i,r),p=Math.max(1,s.measureLabels.length),g=l[0]||{type:r};if(r==="bar"&&dr(l)){const A=zc(s.points);let M=0;i.series=l.map(V=>{const W={...V,type:r};if(lr(V))Object.assign(W,eo(V),{type:r,data:A.helper});else{const pe=M;M+=1,W.name=s.measureLabels[pe]||s.title,W.data=pe===0?A.values:Na(s,pe)}return delete W.encode,delete W.datasetIndex,W})}else i.series=Array.from({length:p},(A,M)=>{const W={...l[M]||g,type:r,name:s.measureLabels[M]||s.title,data:Na(s,M)};return delete W.encode,delete W.datasetIndex,W});return Kr(i,s.labels),(i.legend!==void 0||p>1)&&(i.legend=Da(i.legend,s.measureLabels)),kn(i,s.labels),i}function ak(t,r){const s=Dt(t),i=hn(s),l=r.measureLabels.length<=1?["bar","line"]:r.measureLabels.map((A,M)=>M===0?"bar":"line"),p=i[0]||{type:"bar"},g=l.map((A,M)=>{const V=i[M]||i.find(bt=>$(bt.type)===A)||p,W=Math.min(M,r.seriesValues.length-1),pe=r.measureLabels[W]||r.title,Ve={...V,type:A,name:A==="line"&&l.length===2&&r.measureLabels.length<=1?`${pe} trend`:pe,data:Na(r,W)};return delete Ve.encode,delete Ve.datasetIndex,Ve});return s.series=g,Kr(s,r.labels),s.legend=Da(s.legend,g.map(A=>$(A.name)).filter(Boolean)),kn(s,r.labels),s}function rk(t,r,s){const i=Dt(t),p=Zn(i,"pie")[0]||{type:"pie"},g=ok(r),A={...p,type:"pie",name:r.title,data:g.map(W=>({name:W.label,value:W.value}))};s!=="donut"&&Array.isArray(A.radius)&&delete A.radius,s==="donut"&&A.radius===void 0&&(A.radius=["38%","68%"]),delete A.coordinateSystem,delete A.calendarIndex,delete A.left,delete A.right,delete A.top,delete A.bottom,delete A.width,delete A.height,p.coordinateSystem!==void 0&&delete A.center;const M=jc(A)?Kc(A):Qc(A,s);i.series=[M];const V=g.map(W=>W.label);return i.legend=Da(i.legend,V),i.legend=Yc(i.legend,V,cr(s)&&so(V)),delete i.xAxis,delete i.yAxis,delete i.calendar,delete i.dataset,delete i.dataZoom,i}function sk(t){return/^项\s+\d+$/u.test(t)}function ok(t){const r=t.points.filter(s=>!sk(s.label));return r.length>0?r:t.points}function jc(t){const r=t.roseType;return $(t.type)==="pie"&&r!==void 0&&r!==!1&&String(r).trim().toLowerCase()!=="false"}function Kc(t){const r=Array.isArray(t.data)?t.data:[],s=ik(r),i=r.length>=Ms;return{...t,radius:i?["18%","58%"]:s?["26%","58%"]:["16%","58%"],center:i?["50%","43%"]:["50%","48%"],avoidLabelOverlap:!0,minAngle:2,label:{...D(t.label),show:!i,position:"outside",overflow:"truncate",width:i?80:s?72:88},labelLine:{...D(t.labelLine),show:!i,smooth:!0,length:i?6:s?8:10,length2:i?4:s?6:8,maxSurfaceAngle:80},labelLayout:{...D(t.labelLayout),hideOverlap:!0},itemStyle:{...D(t.itemStyle),borderRadius:6,borderColor:"#fff",borderWidth:2}}}function Qc(t,r,s=!1){const i=Array.isArray(t.data)?t.data:[],l=s||i.length>=Ms,p=cr(r),g=r==="donut"||p,A=p?Pc():{};return{...t,...A,...p&&l?{left:0,right:0,top:0,bottom:Kf}:{},radius:g?p?A.radius:l?["38%","62%"]:["36%","64%"]:l?"58%":t.radius,center:p?_b(t.center):l?["50%","44%"]:t.center??["50%","48%"],avoidLabelOverlap:!0,minAngle:2,label:{...D(t.label),show:!l,position:"outside",overflow:"truncate",width:l?80:88},labelLine:{...D(t.labelLine),show:!l,smooth:!0,length:l?6:8,length2:l?4:6,maxSurfaceAngle:80},labelLayout:{...D(t.labelLayout),hideOverlap:!0}}}function ik(t){const r=t.map(l=>oe(l)&&typeof l.value=="number"?l.value:Number.NaN).filter(l=>Number.isFinite(l)&&l>0).sort((l,p)=>p-l),s=r[0]??0,i=r[1]??0;return s>0&&i>0&&s/i>=4}function Yc(t,r=[],s=!1){const i={...D(t)};return delete i.top,delete i.bottom,delete i.right,{...i,show:i.show!==!1,...r.length>0?{data:r}:{},...s?{formatter:ck}:{},type:"scroll",orient:"horizontal",left:"center",bottom:0,...s?{height:Qf,width:"92%",itemGap:8}:{itemGap:12},textStyle:{...D(i.textStyle),...s?{width:88,overflow:"truncate"}:{}},pageButtonPosition:"end"}}function ck(t){return t.length>tc?`${t.slice(0,tc)}...`:t}function to(t,r){if(t.length===0)return 0;const s=(t.length-1)*r,i=Math.floor(s),l=Math.ceil(s);if(i===l)return t[i]??0;const p=s-i;return(t[i]??0)*(1-p)+(t[l]??0)*p}function lk(t,r){const s=[...Na(r,0)].sort((g,A)=>g-A);if(s.length<2)return null;const i=[[s[0],to(s,.25),to(s,.5),to(s,.75),s[s.length-1]]],l=Dt(t),p=Zn(l,"boxplot");return l.series=[{...p[0]||{},type:"boxplot",name:r.title,data:i}],Kr(l,[r.title]),kn(l),l}function dk(t,r){if(r.seriesValues.length<4)return null;const s=r.labels.map((p,g)=>r.seriesValues.slice(0,4).map(A=>A[g]??0)),i=Dt(t),l=Zn(i,"candlestick");return i.series=[{...l[0]||{},type:"candlestick",name:r.title,data:s}],Kr(i,r.labels),kn(i),i}function uk(t,r){if(r.seriesValues.length<2)return null;const s=Dt(t);s.parallelAxis=r.measureLabels.map((l,p)=>({dim:p,name:l}));const i=Zn(s,"parallel");return s.series=[{...i[0]||{},type:"parallel",name:r.title,data:r.labels.map((l,p)=>r.seriesValues.map(g=>g[p]??0))}],kn(s),s}function mk(t,r){const s=Dt(t),i=Zn(s,"themeRiver");return s.series=[{...i[0]||{},type:"themeRiver",name:r.title,data:r.labels.flatMap((l,p)=>r.measureLabels.map((g,A)=>{var M;return[l,((M=r.seriesValues[A])==null?void 0:M[p])??0,g]}))}],s.legend=Da(s.legend,r.measureLabels),kn(s),s}function fk(t,r,s){const i=Zn(t,s),l=hn(r);return{...Dt(t),...r,series:l.map((p,g)=>({...i[g]||i[0]||{},...p}))}}function pk(t,r,s){const i=Zs(t);if(!i||r==="waterfall"&&!Gc(i))return null;if(r==="mixedBarLine")return ak(s,i);const l=bn(r);if(l==="pie")return rk(s,i,r);if(l==="bar"&&Gb(s))return tk(s,i);if(["bar","line","scatter","pictorialBar"].includes(l))return nk(s,l,i);if(l==="candlestick")return dk(s,i);if(l==="boxplot")return lk(s,i);if(l==="parallel")return uk(s,i);if(l==="themeRiver")return mk(s,i);const p=Vc(t,l,!1);return p?fk(s,p,l):null}function Jc(t,r){const s=Db(t);if(s){const l=pk(t,r,s);if(l&&mr(t,l))return Pa(l,r)}const i=qc(t,r);return i&&mr(t,i)?i:null}function hk(t,r){return bn(r)==="pie"&&Bt(t).length>0}function Zc(t,r=!1,s={}){const i=r?Jn(t):Ma(t);if(!i||i==="map"||!ht(t))return null;if(s.preferCurrentRows)return Jc(t,i);const l=nn(t),p=Gr(l);if(yn(p))return mr(t,p)?Pa(p,i):null;if(hk(t,i)){const A=Jc(t,i);if(A)return A}const g=qr(t,D(l.option));return yn(g)&&mr(t,g)?Pa(g,i):qc(t,i)}function La(t,r){const s=ca(t);return r===t||!$r(s)||!no(t,r)?r:{...r,queryResult:s}}function no(t,r){if(r!==t)return Bt(t).length>0;if(ao(r))return!1;const s=nn(r);return s.shape==="protocolRender"&&!js(s)&&Bt(r).length>0}function ao(t){return hb(t)&&js(nn(t))}function Xc(t,r=rt(t),s=!1){return Zc(La(t,r),s,{preferCurrentRows:no(t,r)})}function ur(t){return oc.value.get(_e(t))??null}function el(t){const r={...t};return delete r.title,{...r,animation:!1,animationDuration:0,animationDurationUpdate:0}}function tl(t){const r=ur(t);return r?Ty.value.get(_e(t))??el(r):{}}function hn(t){return Array.isArray(t.series)?t.series.filter(oe):oe(t.series)?[t.series]:[]}function nl(t){const r=ur(t);return r?gk(rt(t),r):!1}function gk(t,r){const s=[t.capabilityId,t.title,t.dataShape,$(t.protocolKind)].join(" ").toLowerCase();return/rose|rosetype|nightingale|南丁格尔|玫瑰/iu.test(s)?!0:hn(r).some(i=>{const l=$(i.type);return l==="pie"?yk(i):l==="radar"?al([i]).some(p=>p>4):!1})}function yk(t){if(t.roseType!==void 0&&$(t.roseType)!=="false")return!0;const r=Array.isArray(t.data)?t.data:[];return r.length>5?!0:r.some(s=>(oe(s)?$(s.name):"").length>=7)}function bk(t){return(Array.isArray(t.radar)?t.radar:[t.radar]).flatMap(s=>{const i=D(s).indicator;return Array.isArray(i)?[i.length]:[]})}function al(t){return t.flatMap(r=>$(r.type)!=="radar"?[]:(Array.isArray(r.data)?r.data:[]).flatMap(i=>{const l=D(i).value;return Array.isArray(l)?[l.length]:[]}))}function kk(t,r){const s=bk(t).filter(l=>l>=Ps);if(s.length===0)return!1;const i=new Set(al(r).filter(l=>l>=Ps));return s.some(l=>i.has(l))}function rl(t){return Array.isArray(t.color)?t.color.filter(r=>typeof r=="string"&&r.trim().length>0):[]}function ro(t){return Array.isArray(t.data)?t.data.map(sl).filter(Boolean):[]}function so(t){return t.length>=Ms||t.some(r=>r.length>=jf)}function _k(t,r){const s=ro(t),i=so(s);return jc(t)?i?{...Kc(t),center:["50%","43%"],label:{...D(t.label),show:!1,position:"outside",overflow:"truncate",width:80},labelLine:{...D(t.labelLine),show:!1,smooth:!0,length:6,length2:4,maxSurfaceAngle:80}}:{...t,labelLayout:{...D(t.labelLayout),hideOverlap:!0}}:i?Qc(t,r,!0):{...t,labelLayout:{...D(t.labelLayout),hideOverlap:!0}}}function Ck(t,r){const s=hn(t);if(!s.some(V=>oe(V)&&$(V.type)==="pie"))return t;const l=Array.from(new Set(s.flatMap(V=>$(V.type)==="pie"?ro(V):[]))),p=s.some(V=>$(V.type)==="pie"&&so(ro(V))),g=rl(t).length>0?rl(t):pt,A=V=>!oe(V)||$(V.type)!=="pie"||!Array.isArray(V.data)?V:{..._k(V,r),data:V.data.map((pe,Ve)=>{if(!oe(pe))return pe;const bt=D(pe.itemStyle);return{...pe,itemStyle:{...bt,color:$(bt.color)||g[Ve%g.length]}}})},M=Array.isArray(t.series)?t.series.map(A):A(t.series);return{...t,color:g,...p?{legend:Yc(t.legend,l,cr(r))}:{},series:M}}function sl(t){return oe(t)?$(t.name):""}function oo(t){return Array.isArray(t.data)?t.data.map(sl).filter(Boolean):[]}function ol(t){return t.length>=Yf||t.some(r=>r.length>=Jf)}function il(t){const r=oo(t),s=ol(r),i=D(t.label),l=D(t.labelLine);return{...t,...s?{left:"12%",width:"76%",top:24,bottom:40}:{},label:{...i,...s?{show:!1}:{},overflow:"truncate",width:i.width??(s?96:120)},labelLine:{...l,...s?{show:!1}:{}},labelLayout:{...D(t.labelLayout),hideOverlap:!0}}}function Sk(t,r,s){const i={...D(t)};delete i.top,delete i.left,delete i.right;const l=D(i.textStyle);return{...i,...r.length>0?{data:r}:{},type:"scroll",orient:"horizontal",left:"center",bottom:0,pageButtonPosition:"end",itemGap:12,textStyle:{...l,overflow:"truncate",width:l.width??(s?120:160)}}}function Ak(t){const s=hn(t).filter(g=>$(g.type)==="funnel");if(s.length===0)return t;const i=Array.from(new Set(s.flatMap(oo))),l=s.some(g=>ol(oo(g))),p=Array.isArray(t.series)?t.series.map(g=>oe(g)&&$(g.type)==="funnel"?il(g):g):oe(t.series)&&$(t.series.type)==="funnel"?il(t.series):t.series;return{...t,tooltip:oe(t.tooltip)?t.tooltip:{trigger:"item"},legend:Sk(t.legend,i,l),series:p}}function Pa(t,r){const s=bn(r);if(dr(hn(t)))return ek(t);if(s==="pie")return Ck(t,r);if(s==="funnel")return Ak(t);const i={...t};return Qr(i),i}function wk(t){return $(t.type)!=="custom"?!0:typeof t.renderItem=="function"}function mr(t,r){const s=Jn(t);if(!s||s==="map")return!1;const i=hn(r);if(i.length===0||!i.every(wk)||bn(s)==="radar"&&!kk(r,i)||cr(s)&&!i.some(Tk)||s==="waterfall"&&!dr(i))return!1;const l=new Set(i.map(p=>$(p.type)||bn(s)));return Cb(s).every(p=>l.has(p))}function Tk(t){return $(t.type)!=="pie"?!1:typeof t.startAngle=="number"&&typeof t.endAngle=="number"&&Math.abs(t.endAngle-t.startAngle)<=180&&Array.isArray(t.radius)}function io(t){return t.previewStatus==="blocked"||t.previewStatus==="empty"||t.previewStatus==="requires_execution"||t.nextAction==="execute_query"}function Ek(t){const r=bn(Jn(t)||"");return r==="graph"||r==="sankey"}function cl(t){const r=Bt(t),s=va(t),i=Ur(r,s);return!!$c(t,Wr(s,i))}function ll(t,r){if(io(r))return!1;const s=La(t,r);if(!ht(s)||Ek(r)&&!cl(s))return!1;const i=Zc(s,!0,{preferCurrentRows:no(t,r)});return!!(i&&mr(r,i))}function fr(t,r){return Ze(r)&&ll(t,r)}function xk(t,r){return fr(t,r)?ie.ready:Kn(r)}function dl(t,r){const s=fr(t,r),i=Te(t)==="chart"&&Ze(r)?s||ao(r)&&at(r):s||at(r),l=s?"":xa(r);return{canChoose:i,insertReadyChart:s,previewStatusLabel:s?ie.ready:Kn(r),diagnosticReason:Bk(l)?"":l}}function Bk(t){return/^已使用.+生成预览/u.test(t.trim())}function ul(t){const r=rt(t);return Ey.value.get(_e(t))??dl(t,r)}function Ma(t){return Jn(t)}function Ik(t){return Te(t)==="chart"&&!!ur(t)}function ml(t){const r=oe(c.draft.queryResult)&&($r(c.draft.queryResult)||Vr(c.draft.queryResult))?c.draft.queryResult:null,s=oe(t.queryResult)?yc(t.queryResult,r):t.queryResult,i=oe(s)?bc(s,r):s,l=oe(i)?i:r,p=an(t),g=D(p.data),A=D(p.meta),M=D(A.queryResult),V=D(g.dataBinding),W=D(t.dataBinding),pe=D(l==null?void 0:l.dataBinding),Ve=Object.keys(V).length>0?V:Object.keys(W).length>0?W:pe,bt=oe(t.blockPlan)&&Object.keys(Ve).length>0?{...p,data:{...g,dataBinding:Ve},meta:{...A,queryResult:{...M,...l??{},dataBinding:Ve}}}:t.blockPlan;return{...t,...bt?{blockPlan:bt}:{},...uc(i)?{queryResult:i}:r?{queryResult:r}:{},...c.draft.conversationId?{conversationId:c.draft.conversationId}:{},...t.sourceTurnId||c.draft.sourceTurnId?{sourceTurnId:t.sourceTurnId||c.draft.sourceTurnId}:{}}}function Rk(t,r){const s=cb(t);if(!s)return r;const i=oe(r.blockPlan)?{...r.blockPlan,title:s}:r.blockPlan;return{...r,title:s,...i?{blockPlan:i}:{}}}function fl(t){const r=Tt(t);return ji({selectedItem:r,previewMode:Ut(t),tableColumns:Tn(r),rowCount:pn(r)||void 0})}function vk(t){return xy.value.get(_e(t))??fl(t)}a({recommendationConfigSummary:vk});function Dk(t,r,s=ur(t)){if(!fr(t,r))return r;const i=La(t,r),l=s??Xc(t,r,!0);if(!l)return r;const p=an(i),g=D(p.renderer),A=D(p.data),{slices:M,innerRadius:V,protocolConfig:W,protocolData:pe,protocolType:Ve,rendererType:bt,optionPatch:Wt,...xn}=A,la=D(p.meta),On=ca(i),Nt=D(On.dataBinding),mt=D(i.dataBinding),Ft=D(A.dataBinding),Lt=Object.keys(Ft).length>0?Ft:Object.keys(mt).length>0?mt:Nt,Oa=$(p.id)||`preview-${i.capabilityId.replace(/[^a-z0-9]+/giu,"-")}`,da=he(t)||ye(t)||ye(i);return{...i,previewStatus:"ready",nextAction:"insert",diagnosticStatus:"ready",blockPlan:{...p,id:Oa,title:da,blockType:$(p.blockType)||"display",subType:$(p.subType)||"chart",renderer:{...g,engine:"echarts",rendererKey:"echartsProtocol"},data:{...xn,shape:"echartsOption",option:Dt(l),renderContract:"materializedPreview",...Object.keys(Lt).length>0?{dataBinding:Lt}:{}},meta:{...la,capabilityId:i.capabilityId,rendererKey:"echartsProtocol",dataShape:"echartsOption",renderContract:"materializedPreview",registryTitle:i.title,...Object.keys(On).length>0?{queryResult:On}:{}}}}}function Nk(t){return ul(t).canChoose}function Lk(t){var i;const r=rt(t),s=La(t,r);return Jn(r)||((i=Qs(s))==null?void 0:i.type)||Ma(r)||void 0}function Pk(t){return rt(t).capabilityId}function Mk(t){const r=rt(t);if(!St(t,r))return;const s=lt(r,Te(t));B.value={...B.value,[s]:"inserting"};const i=ur(t),l=Dk(t,r,i&&tl(t));d("choose",ml(Rk(t,l)),{done:p=>{B.value=p?{...B.value,[s]:"success"}:Object.fromEntries(Object.entries(B.value).filter(([g])=>g!==s))}})}function Ok(t){t.item&&d("choose",ml(t.item))}return(t,r)=>{var s;return n.openBlock(),n.createElementBlock("section",jm,[n.createElementVNode("header",Km,[n.createElementVNode("div",Qm,[r[0]||(r[0]=n.createElementVNode("span",null,"推荐卡片",-1)),cc.value?(n.openBlock(),n.createElementBlock("span",Ym,n.toDisplayString(cc.value),1)):n.createCommentVNode("",!0)])]),n.createElementVNode("p",Jm,n.toDisplayString(c.draft.message),1),lc.value?(n.openBlock(),n.createElementBlock("p",Zm,n.toDisplayString(lc.value),1)):n.createCommentVNode("",!0),ic.value>0?(n.openBlock(),n.createElementBlock("div",Xm,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Gt.value,i=>(n.openBlock(),n.createElementBlock("article",{key:_e(i),class:n.normalizeClass(["card-recommendation__item card-recommendation__preview-card",{"card-recommendation__preview-card--inserting":Et(i)==="inserting","card-recommendation__preview-card--inserted":Et(i)==="success","card-recommendation__preview-card--switch-open":ut(i)}]),onFocusout:l=>Ea(i,l)},[n.createElementVNode("header",tf,[n.createElementVNode("div",nf,[lb(i)?(n.openBlock(),n.createElementBlock("input",{key:0,class:"card-recommendation__title-input",value:z.value[_e(i)],"aria-label":"编辑卡片标题",onInput:l=>ub(i,l),onBlur:l=>xc(i),onKeydown:n.withKeys(n.withModifiers(l=>xc(i),["prevent"]),["enter"])},null,40,af)):(n.openBlock(),n.createElementBlock("div",rf,n.toDisplayString(Ec(i)),1)),n.createElementVNode("button",{type:"button",class:"card-recommendation__edit-title","aria-label":"编辑卡片标题",onClick:l=>db(i)},[n.createVNode(n.unref(Xe.EditOutlined),{class:"card-recommendation__edit-icon","aria-hidden":"true"})],8,sf)]),n.createElementVNode("div",of,[en(i)?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"card-recommendation__chart-switch","aria-label":"图表切换","aria-expanded":ut(i),onClick:l=>ra(i)},[r[1]||(r[1]=n.createElementVNode("span",{class:"card-recommendation__switch-icon","aria-hidden":"true"},null,-1)),n.createElementVNode("span",lf,n.toDisplayString(Vt(i)),1),r[2]||(r[2]=n.createElementVNode("span",{class:"card-recommendation__switch-arrow","aria-hidden":"true"},null,-1))],8,cf)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:n.normalizeClass(["card-recommendation__choose card-recommendation__insert",{"card-recommendation__insert--loading":Et(i)==="inserting"}]),disabled:!Nk(i)||!!Et(i),onClick:l=>Mk(i)},[Et(i)==="inserting"?(n.openBlock(),n.createElementBlock("span",uf)):n.createCommentVNode("",!0),n.createTextVNode(" "+n.toDisplayString(Mt(i)),1)],10,df)])]),ut(i)?(n.openBlock(),n.createElementBlock("div",mf,[n.createElementVNode("div",ff,[r[3]||(r[3]=n.createElementVNode("div",{class:"card-recommendation__switch-panel-title"},"图表切换",-1)),n.createElementVNode("div",pf,"可选 "+n.toDisplayString(Vt(i)),1)]),n.createElementVNode("div",hf,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(C(i),l=>(n.openBlock(),n.createElementBlock("button",{key:l.key,type:"button",class:n.normalizeClass(["card-recommendation__view-option",{"card-recommendation__view-option--active":it(i,l),"card-recommendation__view-option--disabled":l.disabled,"card-recommendation__view-option--icon-loading":de(l),"card-recommendation__view-option--placeholder":l.placeholder}]),disabled:l.disabled||l.placeholder,"aria-hidden":l.placeholder?"true":void 0,tabindex:l.placeholder?-1:void 0,onClick:p=>Ln(i,l)},[Dn(l)?(n.openBlock(),n.createElementBlock("img",{key:0,class:n.normalizeClass(["card-recommendation__view-option-image",{"card-recommendation__view-option-image--loading":!Sn(l),"card-recommendation__view-option-image--loaded":Sn(l)}]),src:l.iconSrc,alt:"",loading:"lazy","aria-hidden":"true",onLoad:p=>Cn(l),onError:p=>vn(l)},null,42,yf)):n.createCommentVNode("",!0),J(l)?(n.openBlock(),n.createElementBlock("span",{key:1,class:n.normalizeClass(["card-recommendation__view-option-icon",`card-recommendation__view-option-icon--${l.icon}`]),"aria-hidden":"true"},null,2)):n.createCommentVNode("",!0),de(l)?(n.openBlock(),n.createElementBlock("span",bf)):n.createCommentVNode("",!0),n.createElementVNode("span",kf,n.toDisplayString(l.label),1),l.item?(n.openBlock(),n.createElementBlock("span",_f,n.toDisplayString(l.statusLabel||xk(i,l.item)),1)):n.createCommentVNode("",!0)],10,gf))),128))]),Re(i)>1?(n.openBlock(),n.createElementBlock("div",Cf,[n.createElementVNode("button",{type:"button",class:"card-recommendation__switch-page",disabled:st(i)<=1,onPointerdown:l=>re(i),onMousedown:l=>re(i),onClick:l=>q(i,-1)}," 上一页 ",40,Sf),n.createElementVNode("span",null,n.toDisplayString(st(i))+" / "+n.toDisplayString(Re(i)),1),n.createElementVNode("button",{type:"button",class:"card-recommendation__switch-page",disabled:st(i)>=Re(i),onPointerdown:l=>re(i),onMousedown:l=>re(i),onClick:l=>q(i,1)}," 下一页 ",40,Af)])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),Ik(i)?(n.openBlock(),n.createElementBlock("div",{key:1,class:"card-recommendation__chart-preview","data-chart-type":Lk(i),"data-capability-id":Pk(i)},[n.createElementVNode("div",Tf,[n.createElementVNode("button",{type:"button",class:"card-recommendation__chart-zoom","data-testid":"card-recommendation-chart-zoom-out","aria-label":"缩小图表预览",title:"缩小图表预览",disabled:!k(i,-1),onClick:l=>P(i,-1)}," - ",8,Ef),n.createElementVNode("button",{type:"button",class:"card-recommendation__chart-zoom","data-testid":"card-recommendation-chart-zoom-reset","aria-label":"重置图表预览大小",title:"重置图表预览大小",onClick:l=>N(i)}," 1x ",8,xf),n.createElementVNode("button",{type:"button",class:"card-recommendation__chart-zoom","data-testid":"card-recommendation-chart-zoom-in","aria-label":"放大图表预览",title:"放大图表预览",disabled:!k(i,1),onClick:l=>P(i,1)}," + ",8,Bf)]),n.createVNode(Di,{class:"card-recommendation__echarts-preview",option:tl(i),height:fe(i)},null,8,["option","height"])],8,wf)):(n.openBlock(),n.createElementBlock("div",If,[n.createElementVNode("div",Rf,[n.createElementVNode("table",null,[n.createElementVNode("thead",null,[n.createElementVNode("tr",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(wc(i),l=>(n.openBlock(),n.createElementBlock("th",{key:l.key},n.toDisplayString(l.label),1))),128))])]),n.createElementVNode("tbody",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ib(i),(l,p)=>(n.openBlock(),n.createElementBlock("tr",{key:p},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(wc(i),g=>(n.openBlock(),n.createElementBlock("td",{key:g.key},n.toDisplayString(Zt(l[g.key])),1))),128))]))),128))])])]),Tc(i)>0?(n.openBlock(),n.createElementBlock("div",vf,[n.createElementVNode("span",null,"共 "+n.toDisplayString(Tc(i))+" 条",1),Hr(i)>1?(n.openBlock(),n.createElementBlock("span",Df,n.toDisplayString(sb(i)),1)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"card-recommendation__page-button card-recommendation__page-arrow",disabled:Yn(i)<=1,onClick:l=>Ws(i,Yn(i)-1)}," ‹ ",8,Nf),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ob(i),l=>(n.openBlock(),n.createElementBlock("button",{key:l,type:"button",class:n.normalizeClass(["card-recommendation__page-button",{"card-recommendation__page-current":Yn(i)===l}]),onClick:p=>Ws(i,l)},n.toDisplayString(l),11,Lf))),128)),n.createElementVNode("button",{type:"button",class:"card-recommendation__page-button card-recommendation__page-arrow",disabled:Yn(i)>=Hr(i),onClick:l=>Ws(i,Yn(i)+1)}," › ",8,Pf)])):n.createCommentVNode("",!0)]))],42,ef))),128))])):(n.openBlock(),n.createElementBlock("div",Mf,[(s=c.draft.fallbackActions)!=null&&s.length?(n.openBlock(),n.createElementBlock("div",Of,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(c.draft.fallbackActions,i=>(n.openBlock(),n.createElementBlock("button",{key:i.action,type:"button",class:"card-recommendation__fallback-action",disabled:!i.item,onClick:l=>Ok(i)},n.toDisplayString(i.label),9,Ff))),128))])):n.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-1cd08616"]]),Zf={key:1,class:"card-recommendation-deferred","aria-live":"polite"},Xf=["disabled"],ep={key:0,class:"card-recommendation-deferred__spinner","aria-hidden":"true"},tp=ln(n.defineComponent({__name:"CardRecommendationDeferredDraft",props:{draft:{},defer:{type:Boolean}},emits:["choose","configure"],setup(e,{emit:a}){const o=e,c=a,d=n.ref(!o.defer),u=n.ref(!1);let y=null;function _(){y&&(clearTimeout(y),y=null)}function E(){d.value||u.value||(u.value=!0,n.nextTick(()=>{y=setTimeout(()=>{d.value=!0,u.value=!1,y=null},0)}))}return n.watch(()=>o.defer,R=>{_(),d.value=!R,u.value=!1}),n.onBeforeUnmount(_),(R,U)=>d.value?(n.openBlock(),n.createBlock(nc,{key:0,draft:e.draft,onChoose:U[0]||(U[0]=(z,S)=>c("choose",z,S)),onConfigure:U[1]||(U[1]=z=>c("configure",z))},null,8,["draft"])):(n.openBlock(),n.createElementBlock("section",Zf,[U[2]||(U[2]=n.createElementVNode("div",{class:"card-recommendation-deferred__main"},[n.createElementVNode("div",{class:"card-recommendation-deferred__title"},"推荐卡片已保留"),n.createElementVNode("div",{class:"card-recommendation-deferred__meta"},"加载后查看可用候选")],-1)),n.createElementVNode("button",{type:"button",class:"card-recommendation-deferred__load",disabled:u.value,onClick:E},[u.value?(n.openBlock(),n.createElementBlock("span",ep)):n.createCommentVNode("",!0),n.createTextVNode(" "+n.toDisplayString(u.value?"加载中":"加载推荐卡片"),1)],8,Xf)]))}}),[["__scopeId","data-v-2342782b"]]),Os="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAI4ElEQVR4AeydDXKcOBBG2b1YPCeLfTLnZkljD2WM+RFSd0stvRSEAaRW8z7eejNbtfl/4hcEIHBIAEEO0XADAtOEILwFEDghgCAncLgFAQThHYDACQFDQU5W5RYEghBAkCBB0WYdAghShzurBiGAIEGCos06BBCkDndWDUIgpiBB4NJmfAIIEj9DnsCQAIIYwqV0fAIIEj9DnsCQAIIYwqV0fAIIssmQUwisCSDImgafIbAhgCAbIJxCYE0AQdY0+AyBDQEE2QDhFAJrAgiypmH7meoBCSBIwNBo2Y8AgvixZqWABBAkYGi07EcAQfxYs1JAAggSMLSfLXPFigCCWJGlbhcEEKSLGHkIKwIIYkWWul0QQJAuYuQhrAggiBXZXuoO/hwIcvECvH/++iuHZX+9mMLtjgggyEGYIsSL7H/l9ovs6+23XEeSNZGOPyPITrgiwCzF+86t5RKSLCQ6PyLIJuAEOZYZSLKQ6PiIIKtwb8ixzEKShUTGMcIUBHmmlCHHc+aEJAuJDo8IIqEWyCGzPzYk+cDQ328I8pnp2R/IP0dc/44k14zCjRheEPnpofmVLZKEU+C84eEFOceTdRdJsrCpTlIrhiDT9EuN5lchJPliEfoTgkzTm1GCSGIE1rPs8II8Ho8/Anze5aC+IYk6Ut+Cwwsy4xZJHnJEEoHA9p0Agjx5IMkTBIdvBH4K8u32WCdIMlbeKU+LIBtKSLIBMvgpguy8AEiyA2XQSwhyEDySHIAZ7DKCnASOJCdwBrnlKkhEpkgSMTW9nhEkgSWSJEDqdAiCJAaLJImgOhuGIDcCRZIbsDoZiiA3g0SSm8CCD+9FENcYkMQVd9XFECQTP5Jkggs2DUEKAkOSAnhBpiJIYVBIUgiw8ekIohAQkihAbLQEglwGkzYASdI4RRuFIIqJIYkizEZKIYhyEEiiDLRyOQQxCABJDKBWKokgRuCRxAisc1kEMQR+KUnZ2vwvhcr4Jc1GkCRM+YOQJJ9dCzMRxCEFJHGAbLQEghiB3ZZFki2RGOcI4pgTkjjCVloKQZRAppbxkiS1H8adE0CQcz4md5HEBKtJUQQxwXpdFEmuGbUwAkEqpoAkFeEnLo0giaCshiGJFVmdugiiw7GoSjBJip412mQEaSQxJGkkiE0bCLIBUvMUSWrS318bQfa5VLuKJNXQ7y6MILtY6l5Ekrr816sjyJpGQ5/HlKShAJ6tIMgTRIsHJKmfCoLUz+C0AyQ5xWN+E0HMEZcvgCTlDHMrIEguOed5SOIM/LkcgjxBRDggSUFKmVMRJBNcrWlI4kseQXx5q6yGJCoYk4ogSBKm9gYhiU8mCOLD2WQVJDHB+q0ognzDEe8ESWwzSxHEtgOqFxNAkmKEhwUQ5BBNrBtIYpMXgthwrVLVQZKXKg9WcVEEqQjfYmlrSSx6brkmgrScTmZvhpK8vL+/v2a2FXJaZUFCMgvRtKEkv0IAUGoSQZRAtljGSJL5p8gwfxZBkBbfbMWejCRR7LDtUgjSdj4q3RlIwk8QlWQo0gwBA0maeTbLRvr9CWJJLWDt57dPw/yTXysiBNEi2XCdpxy/G26x2dYQpNlodBpDjjKOCFLGr+nZVnLIn2eG+Y+FCNL0K57fnJUc0tGb7MNsCJIRdetTDOVo/dHV+0MQdaR1CxrL8TbSv17NSSLITKGT3ViOaTQ55tcCQWYKHezWcgiih+zDbQjSQeQecshPjz8doLr9CAhyG5nphNvFkeM2slsTEOQWrrYGI4d9Hghiz9hkBeQwwfqjKIL8QNL+BeTwywhB/FirrIQcKhiTiyBIMqr6A8vkSOpfvqx6DPlt1REdBDki09h15KgTCILU4X5rVeS4hUt1MIKo4tQvhhz6TO9URJA7tJzHIocz8J3lEGQHSguXQsnRAjCjHhDECGxJWeQooac7F0F0eRZXQ45ihKoFEEQVZ1kx5CjjZzEbQSyoZtREjgxoDlMQxAHy1RLIcUyo9h0EqZwAclQO4GJ5BLkAZHkbOSzp6tRGEB2Ot6sgx21kVSYgSAXsyFEBeuaSCJIJLncacuSSU5+XVBBBkjDpDEIOHY6eVRDEiTZyOIFWXgZBlIHulUOOPSoxriGIcU7IYQzYuDyCGAJGDkO4TqXzBHFqLvIyyBE5va/eEeSLhdon5FBDWb0QgihHgBzKQCuXQxDFAJBDEWYjpRBEKQjkUALZWJnmBGmMT1I7yJGEKeQgBCmMDTkKATY+HUEKAkKOAnhBpiJIZlDIkQku2DQEyQgMOTKgBZ0ykiAqESGHCsYwRRDkRlTIcQNWJ0MRJDFI5EgE1dkwBEkIFDkSIHU6BEEugkWOC0Cd30aQk4DT5Tgpcn6LvxPwnE/1uwhyEAFyHIAZ7DKC7ASOHDtQBr2EIJvgkWMDZPBTBFm9AMixgsHHDwII8oFhmpqV49kfhzoEEES4I4dAYNslMLwgIseLkPktu9XGV7lWZB3qDi+IMJ4FkYPJhhwmWP2KIsg0/TLCjRxGYD3LIogN7RBy2Dx6X1URZJrelCNFDmWgNcsNL4i8zX8kAC1JpNxjricl2XogMLwgc4jyVr/KsVQSKYMcwrGrDUGeccrbXSKJTEeOJ8quDgiyilPe8hxJZBpyrDDOH7vZEWQTpbztdySR4cixQdjVKYLsxClvfYokMgw5dvB1dQlBDuKUt/9IkvlbKrmNHAfourqMICdxigWvsv8nQ+ZvuOZdTj+2WRK5zNY7AQRJSFiUmEWZd8RI4GU7xLc6gvjyZrVgBBAkWGC060sAQXx5s1owAggSLDDa9SWAIL68Wa1lAju9IcgOFC5BYCGAIAsJjhDYIYAgO1C4BIGFAIIsJDhCYIcAguxA4RIEFgJagiz1OEKgKwII0lWcPIw2AQTRJkq9rgggSFdx8jDaBBBEmyj1uiIQQJCuePMwwQggSLDAaNeXAIL48ma1YAQQJFhgtOtLAEF8ebNaMAJjCxIsLNr1J4Ag/sxZMRABBAkUFq36E0AQf+asGIgAggQKi1b9CSCIEXPK9kHgHwAAAP//0HYL0gAAAAZJREFUAwBGB62vUJIG1wAAAABJRU5ErkJggg==",np=new Set(["处理过程","执行过程","执行工具","确认业务口径","检索相关数据候选","核对业务证据","确认查询范围","检索语义资产","读取模型信息","准备执行查询","读取指标信息","检索知识库","准备推荐卡片","规划工作台任务","操作工作台卡片","执行 SQL 查询","读取文件"]);function ap(e){const a=e.trim();return a?np.has(a):!0}const rp={key:0,class:"collapsed-activity codex-turn-process"},sp=["aria-expanded","aria-controls"],op={class:"collapsed-activity__label"},ip=["id"],cp={key:0,class:"codex-process-item codex-process-item--commentary","data-testid":"process-preamble"},lp={class:"codex-process-item__preamble collapsed-activity__item"},dp={class:"collapsed-activity__item-text"},up=["aria-expanded","aria-controls","onClick"],mp={class:"codex-turn-process__group-summary"},fp=["id"],pp=["aria-expanded","aria-controls","onClick"],hp={class:"collapsed-activity__invocation-title collapsed-activity__invocation-title-text"},gp={key:1,class:"codex-process-item__action-row a2 codex-process-item__action-row--static collapsed-activity__invocation-toggle","data-testid":"tool-action-row"},yp={class:"collapsed-activity__invocation-main codex-process-item__action-text"},bp={class:"collapsed-activity__invocation-title collapsed-activity__invocation-title-text"},kp=["id"],_p={key:0,class:"codex-process-item__detail-block"},Cp={key:1,class:"codex-process-item__detail-block"},Sp={class:"is-error"},Ap={key:2,class:"codex-process-item__detail-block"},wp={class:"collapsed-activity__error-text"},Tp={key:0,class:"collapsed-activity__live-status","data-testid":"collapsed-activity-live-status",role:"status","aria-live":"polite"},Ep=ln(n.defineComponent({__name:"CollapsedToolActivity",props:{messages:{},turnActive:{type:Boolean,default:!1}},setup(e){const a=e,o=n.reactive({expanded:!1}),c=n.ref(Date.now()),d=n.ref(null),u=n.ref(null),y=n.ref(null),_=n.ref(null),E=n.ref(!1),R=n.ref(!1),U=n.ref({}),z=n.ref({}),S=n.ref({});let B=null;const F=n.computed(()=>Cu(a.messages)),H=n.computed(()=>a.turnActive),Y=n.computed(()=>{var f;return((f=a.messages[0])==null?void 0:f.id)||""}),xe=n.computed(()=>Y.value?`collapsed-activity-panel-${ye(Y.value)}`:""),ie=n.computed(()=>o.expanded&&xe.value?xe.value:void 0),ue=n.computed(()=>F.value.length>0||a.turnActive),ce=n.computed(()=>Vt(F.value)),Pe=n.computed(()=>ce.value.map(f=>{if(!f.commentary)return f;const b=S.value[f.commentary.id];return!b||b===f.commentary.text?f:{...f,commentary:{...f.commentary,text:b}}})),ne=n.computed(()=>F.value[F.value.length-1]),Z=n.computed(()=>{var f,b;return H.value?(b=(f=ne.value)==null?void 0:f.processInvocations)!=null&&b.length?"处理中":"思考中":""}),He=n.computed(()=>{const f=lt();if(f.length===0)return"0s";const b=Ut(f),x=Te(f);return b!==null&&x!==null?je(x-b):"0s"}),ae=n.computed(()=>{const f=H.value?"处理中":"已处理";return He.value?`${f} ${He.value}`:f});function he(){a.messages.length>0&&d.value===null&&(d.value=Date.now())}function ye(f){return f.replace(/[^a-zA-Z0-9_-]/g,"-")}function at(){E.value=!1,R.value=!1,U.value={},z.value={},S.value={},d.value=null,u.value=null,y.value=null,_.value=null,c.value=Date.now(),H.value?(R.value=!0,o.expanded=!0,u.value=null,he()):o.expanded=!1,St(ce.value)}function St(f){const b={...S.value};let x=!1;for(const X of f){const ke=X.commentary;!(ke!=null&&ke.text)||b[ke.id]||(b[ke.id]=ke.text,x=!0)}x&&(S.value=b)}n.watch(()=>a.messages,()=>{if(he(),rt(a.messages),c.value=Date.now(),H.value){u.value=null;return}a.messages.length>0&&u.value===null&&(u.value=Date.now())},{deep:!0,immediate:!0}),n.watch(Y,(f,b)=>{if(f===b)return;const x=H.value&&(d.value!==null||y.value!==null),X=d.value,ke=y.value,ve=_.value;at(),x&&(d.value=X??d.value,y.value=ke??y.value,_.value=ve??_.value)}),n.watch(ce,f=>{St(f)},{immediate:!0}),n.watch(H,f=>{if(f?(R.value=!0,E.value||(o.expanded=!0)):E.value||(o.expanded=!1),he(),rt(a.messages),f){c.value=Date.now(),u.value=null,B||(B=setInterval(()=>{c.value=Date.now()},1e3));return}B&&(clearInterval(B),B=null),a.messages.length>0&&u.value===null&&(u.value=Date.now())},{immediate:!0}),n.watch(()=>a.messages.map(f=>f.id).join("|"),()=>{H.value||E.value||(o.expanded=R.value?!1:o.expanded)}),n.onBeforeUnmount(()=>{B&&(clearInterval(B),B=null)});function At(){E.value=!0,o.expanded=!o.expanded}function je(f){const b=Math.max(0,Math.floor(f/1e3)),x=Math.floor(b/60),X=b%60;return x>0?`${x}m ${X}s`:`${X}s`}function lt(){return F.value.length>0?F.value:a.messages}function Pt(f){return f.map(b=>b.startTime).filter(b=>typeof b=="number"&&Number.isFinite(b))}function Tt(f){const b=Pt(f);return b.length>0?{source:"server",value:Math.min(...b)}:d.value===null?null:{source:"fallback",value:d.value}}function rt(f=a.messages){const b=Tt(f);if(b!==null){if(y.value===null){y.value=b.value,_.value=b.source;return}b.source==="server"&&_.value==="server"&&b.value<y.value&&(y.value=b.value)}}function Ut(f){var b;return y.value??((b=Tt(f))==null?void 0:b.value)??null}function Te(f){if(H.value)return c.value;const b=f.map(x=>x.endTime).filter(x=>typeof x=="number"&&Number.isFinite(x));return b.length>0?Math.max(...b):u.value}function Vt(f){var ve;const b=[];let x=[],X=null;function ke(){X&&(b.push(X),X=null)}for(const ot of f){const Rt=Le(ot);Rt&&(ke(),x.push({id:ot.id,text:Rt}));const ht=I(ot);if(ht.length===0)continue;const Je=x.filter(Yt=>!Be(Yt.text,ht));if(X&&Je.length===0){X.items.push(...ht),x=[];continue}ke();const vt=v(Je);X={id:(vt==null?void 0:vt.id)??((ve=ht[0])==null?void 0:ve.id)??ot.id,...vt?{commentary:vt}:{},items:[...ht]},x=[]}ke();for(const ot of x)b.push({id:ot.id,commentary:ot,items:[]});return b}function Le(f){var x;const b=f.content.trim();return!b||ap(b)&&!dt(f,b)?"":f.processPreamble===!0?b:f.processPreamble===!1||(x=f.processInvocations)!=null&&x.length?"":b}function dt(f,b){var x;return b==="执行 SQL 查询"&&!((x=f.processInvocations)!=null&&x.length)}function Be(f,b){const x=f.trim();return!x||b.length===0?!1:b.some(X=>{const ke=X.actionLabel.trim(),ve=ke.replace(/^正在执行\s+/u,"").replace(/^执行失败\s+/u,"").trim();return x===ke||x===ve})}function v(f){const[b]=f;if(b)return{...b,text:f.map(x=>x.text).filter(Boolean).join(`
22
22
 
23
- `)}}function I(f){return(f.processInvocations??[]).map(b=>G(f,b))}function G(f,b){const x=T(b),X=x==="readFile"?It(b):void 0,ke=b.title||b.name||(b.kind==="skill"?"Skill":"执行工具"),Re=r.turnActive?b.status:O(b.status);return{actionLabel:te({...b,status:Re},x,ke,X),displayKind:x,error:b.error,id:b.id,inputSummary:b.inputSummary,kind:b.kind,parentMessageId:f.id,resultSummary:b.resultSummary,status:Re,titleLabel:b.title.trim()||b.name.trim()||(b.kind==="skill"?"Skill":"执行工具"),viewStatus:M(Re)}}function T(f){return f.kind==="skill"?"skill":Q(f)?"readFile":"tool"}function Q(f){const b=`${f.name} ${f.title}`.toLowerCase();return b.includes("read_file")||b.includes("read file")||b.includes("读取文件")||b.includes("read attachment")||b.includes("read workspace")}function te(f,b,x,X){return b==="readFile"?X?`Read ${X}`:x:f.status==="running"?`正在执行 ${x}`:f.status==="error"?`执行失败 ${x}`:x}function M(f){return f==="error"?"failed":f==="done"?"completed":"running"}function O(f){return f==="running"?"done":f}function j(f){const b=f.items.filter(X=>X.viewStatus==="failed");if(b.length>0)return`${b.length} 项失败:${ie(b)}`;const x=f.items.filter(X=>X.viewStatus==="running");return x.length>0?x.length===1?ie(x):`${x.length} 项执行中:${ie(x)}`:f.items.length===1?ie(f.items):`已完成 ${f.items.length} 项:${ie(f.items)}`}function ie(f){const b=f.slice(0,3).map(X=>X.actionLabel),x=f.length>b.length?` 等 ${f.length} 项`:"";return`${b.join("、")}${x}`}function Ie(f){return f.items.length>0}function Se(f){if(!Ie(f))return!1;const b=U.value[f.id];return b!==void 0?b:Pe()}function Pe(){return!0}function Ce(f){U.value={...U.value,[f.id]:!Se(f)}}function rt(f){return`collapsed-activity-tools-${ye(f.id)}`}function lt(f){return Se(f)?void 0:rt(f)}function Fe(f){return f.viewStatus==="failed"?"失败":f.viewStatus==="running"?"执行中":"已完成"}function ft(f){return`${f.parentMessageId}:${f.id}`}function S(f){return!!(f!=null&&f.trim())}function q(f){return f.viewStatus==="failed"&&S(f.error)?f.error:void 0}function re(f){return q(f)?void 0:S(f.resultSummary)?f.resultSummary:void 0}function ee(f){return S(f.inputSummary)||!!q(f)||!!re(f)}function ge(f){return z.value[ft(f)]??!0}function we(f){const b=ft(f);z.value={...z.value,[b]:!ge(f)}}function Ge(f){return`collapsed-activity-tool-${ye(ft(f))}`}function Xe(f){return ge(f)?void 0:Ge(f)}function It(f){const b=pt(f.inputSummary);return b||pt(f.resultSummary)}function pt(f){if(!f)return;const b=f.match(/(?:path|file|filePath|file_path)\s*[:=]\s*["']?([^"',\n}]+)/iu),x=((b==null?void 0:b[1])||"").trim();if(!x)return;const X=x.split(/[\\/]+/).filter(Boolean);return X[X.length-1]||x}return(f,b)=>ue.value?(n.openBlock(),n.createElementBlock("div",tp,[n.createElementVNode("button",{type:"button",class:"collapsed-activity__summary codex-turn-process__toggle","aria-expanded":o.expanded,"aria-controls":oe.value,onClick:At},[n.createElementVNode("span",ap,n.toDisplayString(ae.value),1),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__arrow",{"is-open":o.expanded}]),"aria-hidden":"true"},[...b[0]||(b[0]=[n.createElementVNode("img",{src:Os,alt:""},null,-1)])],2)],8,np),o.expanded?(n.openBlock(),n.createElementBlock("div",{key:0,id:xe.value,class:"collapsed-activity__items codex-turn-process__body"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Le.value,x=>(n.openBlock(),n.createElementBlock("div",{key:x.id,class:"collapsed-activity__task"},[x.commentary?(n.openBlock(),n.createElementBlock("article",sp,[n.createElementVNode("div",op,[n.createElementVNode("span",ip,n.toDisplayString(x.commentary.text),1)])])):n.createCommentVNode("",!0),Ie(x)?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"codex-turn-process__group-toggle collapsed-activity__invocation-group-toggle","data-testid":"process-group-tools-toggle","aria-expanded":!Se(x),"aria-controls":lt(x),onClick:X=>Ce(x)},[n.createElementVNode("span",lp,n.toDisplayString(j(x)),1),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-group-arrow",{"is-open":!Se(x)}]),"aria-hidden":"true"},[...b[1]||(b[1]=[n.createElementVNode("img",{src:Os,alt:""},null,-1)])],2)],8,cp)):n.createCommentVNode("",!0),x.items.length>0&&!Se(x)?(n.openBlock(),n.createElementBlock("div",{key:2,id:rt(x),class:"collapsed-activity__invocations codex-turn-process__tools"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(x.items,X=>(n.openBlock(),n.createElementBlock("article",{key:X.id,class:n.normalizeClass(["codex-process-item collapsed-activity__invocation",[`codex-process-item--${X.viewStatus}`,`is-${X.status}`]])},[ee(X)?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"codex-process-item__action-row a2 collapsed-activity__invocation-toggle","data-testid":"tool-action-row","aria-expanded":!ge(X),"aria-controls":Xe(X),onClick:ke=>we(X)},[n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-main codex-process-item__action-text",{"is-open":!ge(X)}])},[n.createElementVNode("span",mp,n.toDisplayString(X.titleLabel),1),n.createElementVNode("span",{class:n.normalizeClass(["codex-process-item__status-hint",`is-${X.viewStatus}`]),style:{"margin-left":"8px"}},n.toDisplayString(Fe(X)),3),b[2]||(b[2]=n.createElementVNode("img",{class:"tool-arrow-toggle",src:Os,alt:""},null,-1))],2),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-arrow",{"is-open":!ge(X)}]),"aria-hidden":"true"},null,2)],8,up)):(n.openBlock(),n.createElementBlock("div",fp,[n.createElementVNode("span",pp,[n.createElementVNode("span",hp,n.toDisplayString(X.titleLabel),1)]),n.createElementVNode("span",{class:n.normalizeClass(["codex-process-item__status-hint",`is-${X.viewStatus}`])},n.toDisplayString(Fe(X)),3)])),ee(X)&&!ge(X)?(n.openBlock(),n.createElementBlock("div",{key:2,id:Ge(X),class:"collapsed-activity__invocation-detail codex-process-item__details"},[S(X.inputSummary)?(n.openBlock(),n.createElementBlock("section",yp,[b[3]||(b[3]=n.createElementVNode("h4",null,"输入",-1)),n.createElementVNode("pre",null,n.toDisplayString(X.inputSummary),1)])):n.createCommentVNode("",!0),q(X)?(n.openBlock(),n.createElementBlock("section",bp,[b[4]||(b[4]=n.createElementVNode("h4",{class:"is-error"},"错误",-1)),n.createElementVNode("pre",kp,n.toDisplayString(q(X)),1)])):re(X)?(n.openBlock(),n.createElementBlock("section",_p,[b[5]||(b[5]=n.createElementVNode("h4",null,"输出",-1)),n.createElementVNode("pre",null,n.toDisplayString(re(X)),1)])):n.createCommentVNode("",!0)],8,gp)):n.createCommentVNode("",!0)],2))),128))],8,dp)):n.createCommentVNode("",!0)]))),128)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(F.value.filter(x=>x.error),x=>(n.openBlock(),n.createElementBlock("div",{key:`error-${x.id}`,class:"collapsed-activity__error"},[n.createElementVNode("span",Cp,n.toDisplayString(x.error),1)]))),128)),Z.value?(n.openBlock(),n.createElementBlock("div",Sp,n.toDisplayString(Z.value),1)):n.createCommentVNode("",!0)],8,rp)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-8ed6feac"]]),wp={class:"plan-draft"},Tp={class:"plan-draft__blocks"},Ep={class:"plan-draft__block-title"},xp={class:"plan-draft__block-meta"},Bp={key:0,class:"plan-draft__block-warn",title:"AI 不确定此识别结果"},Ip={key:0,class:"plan-draft__auto-note"},Rp={key:1,class:"plan-draft__modify"},vp={class:"plan-draft__modify-actions"},Dp={key:2,class:"plan-draft__actions"},Np=ln(n.defineComponent({__name:"PlanDraftCard",props:{draft:{},autoInsert:{type:Boolean,default:!1}},emits:["confirm","cancel","modify","autoInsertChange"],setup(e,{emit:r}){const o=e,c=r,d=n.ref(!1),u=n.ref("");function y(){c("confirm",o.draft.planId)}function _(){c("cancel")}function E(){d.value=!0,u.value=""}function R(){u.value.trim()&&(c("modify",o.draft.planId,u.value.trim()),d.value=!1)}function U(z){const C={"card.metric.numeric":"数值卡片","card.metric.combo":"组合卡片","card.metric.alert":"预警卡片","card.metric.targetAchievement":"目标达成卡","card.chart.line":"折线图","card.chart.bar":"柱状图","card.chart.pie":"饼图","card.chart.donut":"环形图","card.chart.radar":"雷达图","card.chart.area":"面积图","card.chart.scatter":"散点图","card.table.list":"表格卡片","card.analysis.reportSummary":"报告摘要卡","card.dashboard.executiveCockpit":"经营驾驶舱","card.utility.calendar":"日历卡"};return C[z]?C[z]:z.replace("card.","").replace("."," / ")}return(z,C)=>(n.openBlock(),n.createElementBlock("div",wp,[C[5]||(C[5]=n.createElementVNode("div",{class:"plan-draft__header"},"工作台方案确认",-1)),n.createElementVNode("div",Tp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.draft.blocks,B=>(n.openBlock(),n.createElementBlock("div",{key:B.blockId,class:"plan-draft__block"},[n.createElementVNode("span",Ep,n.toDisplayString(B.title),1),n.createElementVNode("span",xp,n.toDisplayString(U(B.capabilityId))+" · "+n.toDisplayString(B.layout.w)+"×"+n.toDisplayString(B.layout.h),1),B.confidence<.7?(n.openBlock(),n.createElementBlock("span",Bp,"?")):n.createCommentVNode("",!0)]))),128))]),o.autoInsert?(n.openBlock(),n.createElementBlock("div",Ip," 识别完成后将自动应用到画布 ")):n.createCommentVNode("",!0),!o.autoInsert&&d.value?(n.openBlock(),n.createElementBlock("div",Rp,[n.withDirectives(n.createElementVNode("textarea",{"onUpdate:modelValue":C[0]||(C[0]=B=>u.value=B),class:"plan-draft__modify-input",rows:"2",placeholder:'请输入修改意见,如"把折线图换成面积图"'},null,512),[[n.vModelText,u.value]]),n.createElementVNode("div",vp,[n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--primary",onClick:R}," 提交修改 "),n.createElementVNode("button",{type:"button",class:"plan-draft__btn",onClick:C[1]||(C[1]=B=>d.value=!1)},"取消")])])):o.autoInsert?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",Dp,[n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--primary",onClick:y},[n.createVNode(n.unref(Ze.CheckOutlined)),C[2]||(C[2]=n.createTextVNode(" 插入工作区 ",-1))]),n.createElementVNode("button",{type:"button",class:"plan-draft__btn",onClick:E},[n.createVNode(n.unref(Ze.EditOutlined)),C[3]||(C[3]=n.createTextVNode(" 修改 ",-1))]),n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--danger",onClick:_},[n.createVNode(n.unref(Ze.CloseOutlined)),C[4]||(C[4]=n.createTextVNode(" 取消 ",-1))])]))]))}}),[["__scopeId","data-v-dcacd78e"]]),Lp={key:0,class:"chat-msg__error"},Pp={class:"chat-msg__error-text"},Mp=["innerHTML"],Op={key:0,class:"chat-msg__query-result-header"},Fp={key:0,class:"chat-msg__query-result-title"},$p={key:1,class:"chat-msg__query-result-count"},Vp={class:"chat-msg__query-result-scroll"},zp={key:3,class:"chat-msg__follow-up-actions"},Hp=["disabled","onClick"],Gp={key:5,class:"chat-msg__cards"},qp={key:6,class:"chat-msg__task-choice"},Up={class:"chat-msg__task-choice-title"},Wp={class:"chat-msg__task-choice-actions"},jp=["data-choice-index","disabled","onClick"],Kp={class:"chat-msg__task-choice-index"},Qp={class:"chat-msg__task-choice-label"},Yp=["disabled"],Jp={key:7,class:"chat-msg__plan-draft"},Zp={key:8,class:"chat-msg__card-recommendation"},Xp={key:9,class:"chat-msg__task-panel"},eh={class:"chat-msg__task-header"},th={class:"chat-msg__task-heading"},nh={class:"chat-msg__task-kicker"},ah={class:"chat-msg__task-title"},rh={key:0,class:"chat-msg__task-section"},sh={class:"chat-msg__task-fields"},oh={class:"chat-msg__task-field-label"},ih={class:"chat-msg__task-field-value"},ch={key:1,class:"chat-msg__task-section"},lh={class:"chat-msg__task-missing-list"},dh={key:2,class:"chat-msg__task-alert chat-msg__task-alert--error"},uh={key:3,class:"chat-msg__task-alert chat-msg__task-alert--summary"},mh={key:4,class:"chat-msg__task-actions"},fh=["disabled"],ph=["disabled"],hh={key:10,class:"chat-msg__memory-capture"},gh={class:"chat-msg__memory-title"},yh={class:"chat-msg__memory-content"},bh={class:"chat-msg__memory-actions"},kh=["disabled"],_h={key:11,class:"chat-msg__detail"},Ch={class:"detail-header"},Sh={class:"detail-content__inner"},Ah=80,nc=ln(n.defineComponent({__name:"ChatMessageItem",props:{message:{type:Object,required:!0},messages:{type:Array,default:()=>[]},autoInsertComposePlan:{type:Boolean,default:!1},taskStateActionsDisabled:{type:Boolean,default:!1}},emits:["autoInsertComposePlanChange","cancelPlan","cancelTaskState","chooseCardRecommendation","configureCardRecommendation","confirmPlan","confirmTaskState","insertCard","memoryCaptureDismiss","memoryCaptureSave","modifyPlan","sendFollowUp"],setup(e,{expose:r,emit:o}){const c=e,d=o,u=n.reactive({collapsed:!0}),y=n.ref({}),_=[],E=[{label:"下载",type:"download"}],R=[{type:"image",matcher:S=>typeof S!="string"?S.type.startsWith("image/"):/^data:image\//i.test(S)||/^(png|jpe?g|gif|webp|bmp|svg)(?:[;,?]|$)/i.test(S)||/\.(png|jpe?g|gif|webp|bmp|svg)(?:[?#].*)?$/i.test(S)}],U=[...R,{type:"pdf",matcher:S=>typeof S!="string"?S.type==="application/pdf":/\.pdf(?:[?#].*)?$/i.test(S)||/^data:application\/pdf[;,]/i.test(S)}],z=n.computed(()=>c.message.attachments||[]),C=n.computed(()=>z.value.map((S,q)=>{const re=S.type==="image"?"image":v(S.mimeType,S.name,S.url),ee={id:`${c.message.id}-${q}-${S.name}`,name:S.name,url:S.url||S.name,fileType:re,status:"success"};return S.rawFile?{...ee,rawFile:S.rawFile}:{...ee,size:S.size||1}})),B=n.computed(()=>c.message.role==="assistant"?"card":z.value.every(S=>S.type==="image")?"picture":"card"),F=n.computed(()=>{var S;return(((S=c.message.cards)==null?void 0:S.length)||0)>1}),H=n.computed(()=>cd(c.message)),K=n.computed(()=>(c.message.cards||[]).map(S=>Q(S))),xe=n.computed(()=>c.message.queryResultTable),oe=n.computed(()=>{const S=Array.isArray(c.message.queryResultTables)?c.message.queryResultTables:[];return(S.length>0?S:xe.value?[xe.value]:[]).filter(re=>!re.renderedInMarkdown)}),ue=n.computed(()=>!!(c.message.role==="assistant"&&!c.message.loading&&!c.message.cardRecommendationDraft&&oe.value.some(S=>S.columns.length>0&&S.rows.length>0)));function ce(S){const q=S.returnedCount??S.rows.length,re=S.totalCount;return typeof re=="number"&&re>q?`已返回 ${q} / ${re} 条`:`共 ${q} 条`}const Le=n.computed(()=>{var S;return((S=c.message.taskStateDraft)==null?void 0:S.fields.filter(q=>!!q.displayValue))||[]}),ne=n.computed(()=>{var S,q;return((q=(S=c.message.taskStateDraft)==null?void 0:S.confirmationOptions)==null?void 0:q.filter(re=>Number.isFinite(re.index)))||[]}),Z=n.computed(()=>{var q,re;const S=(re=(q=c.message.taskStateDraft)==null?void 0:q.title)==null?void 0:re.trim();return S&&!/^确认/u.test(S)?S:"候选项"}),He=n.computed(()=>c.message.role==="assistant"&&!c.message.loading?Ut(c.message.content):[]),ae=n.computed(()=>{const S=c.message.taskStateDraft;return!!(S!=null&&S.canConfirm&&ne.value.length>0)}),he=n.computed(()=>ae.value?void 0:c.message.taskStateDraft),ye=n.computed(()=>{const S=c.message.taskStateDraft;return!!(S!=null&&S.canConfirm&&S.confirmPhrase&&ne.value.length===0)}),nt=n.computed(()=>ae.value),St=n.computed(()=>c.message.thinkingProcessMessages||[]),At=n.computed(()=>{const S=c.message.taskStateDraft;return!!(S!=null&&S.canConfirm&&S.cancelPhrase)}),We=n.computed(()=>c.message.memoryCaptureDraft?y.value[c.message.id]||c.message.memoryCaptureDraft.status:void 0),ct=n.computed(()=>c.message.memoryCaptureDraft?We.value==="candidate_created"?"已保存候选":We.value==="saving"?"保存中":c.message.memoryCaptureDraft.confirmLabel:"");n.watch(()=>c.message.loading,S=>{u.collapsed=!S},{immediate:!0});function Pt(){u.collapsed=!u.collapsed}function Tt(){const S=c.message.memoryCaptureDraft;S&&(y.value={...y.value,[c.message.id]:"dismissed"},d("memoryCaptureDismiss",S.turnId,S.itemId))}function at(){const S=c.message.memoryCaptureDraft;S&&(y.value={...y.value,[c.message.id]:"saving"},d("memoryCaptureSave",S.turnId,S.itemId))}function Ut(S){const q=[],re=we=>{const Ge=we.trim().replace(/[。;;,,]\s*$/u,"");!Ge||Ge.length>80||q.includes(Ge)||q.push(Ge)};let ee=0;for(;q.length<3;){const we=S.indexOf("继续说",ee);if(we<0)break;const Ge=S.slice(we+3).search(/[「“"]/u);if(Ge<0)break;const Xe=we+3+Ge,It=S[Xe],pt=It==="「"?"」":It==="“"?"”":It,f=S.indexOf(pt,Xe+1);if(f<0)break;re(S.slice(Xe+1,f)),ee=f+1}const ge=S.match(/(?:你可以继续这样问|可以继续问|还可以继续问|后续可以):?\s*\n([\s\S]*)/u);if(ge&&q.length<3)for(const we of ge[1].split(`
24
- `)){const Ge=we.match(/^\s*[-*]\s+(.+?)\s*$/u);if(!Ge){if(q.length>0)break;continue}if(re(Ge[1]),q.length>=3)break}return q}function Te(S){!S.trim()||c.taskStateActionsDisabled||d("sendFollowUp",S)}function Vt(){const S=c.message.taskStateDraft;c.taskStateActionsDisabled||!(S!=null&&S.canConfirm)||!S.confirmPhrase||!S.cancelPhrase||d("confirmTaskState",S.turnId,S.taskId,S.confirmPhrase)}function Ne(S){const q=c.message.taskStateDraft;c.taskStateActionsDisabled||q!=null&&q.canConfirm&&d("confirmTaskState",q.turnId,q.taskId,String(S))}function dt(){const S=c.message.taskStateDraft;c.taskStateActionsDisabled||!(S!=null&&S.canConfirm)||!S.confirmPhrase||!S.cancelPhrase||d("cancelTaskState",S.turnId,S.taskId,S.cancelPhrase)}function Be(S){y.value={...y.value,[c.message.id]:S}}r({setMemoryCaptureStatus:Be});function v(S,q,re){return S.includes("pdf")||/\.pdf(?:[?#].*)?$/i.test(q)||/^data:application\/pdf[;,]/i.test(re||"")?"pdf":(S.includes("markdown")||/\.md(?:[?#].*)?$/i.test(q),"other")}function I(S,q){if(!q.url)return;S.preventDefault();const re=document.createElement("a");re.href=q.url,re.download=q.name||"download",re.rel="noopener noreferrer",document.body.appendChild(re),re.click(),document.body.removeChild(re)}function G(S){return/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(S.replace(/\s+/g,""))}function T(){const S=c.messages.findIndex(re=>re.id===c.message.id),q=S>=0?c.messages.slice(0,S):c.messages;for(const re of[...q].reverse()){if(re.role!=="user")continue;const ee=re.content.trim();if(ee&&!G(ee))return ee}return""}function Q(S){var ge,we,Ge,Xe;const q=(we=(ge=S.meta)==null?void 0:ge.prompt)==null?void 0:we.trim();if(q&&!G(q))return S;const re=(Xe=(Ge=S.dataBinding)==null?void 0:Ge.question)==null?void 0:Xe.trim(),ee=re&&!G(re)?re:T();return ee?{...S,dataBinding:{...S.dataBinding,question:ee},meta:{...S.meta,prompt:ee}}:S}function te(S,q){const re=S[q];if(re==null)return"";if(typeof re=="string")return re;if(typeof re=="number"||typeof re=="boolean"||typeof re=="bigint")return String(re);try{return JSON.stringify(re)}catch{return String(re)}}function M(S,q,re){var we;const ee=(we=S.columns[0])==null?void 0:we.key,ge=ee?te(q,ee):"";return`${re}-${ge}`}const O=new lo.Marked({gfm:!0,breaks:!0}),j=n.ref("");let ie=null;const Ie=[/No available provider for this query/giu];function Se(S){const q=Ie.reduce((re,ee)=>re.replace(ee,""),S);return xo.sanitize(O.parse(zu(q)))}function Pe(){ie&&(clearTimeout(ie),ie=null)}function Ce(){Pe(),j.value=c.message.content?Se(c.message.content):""}function rt(){ie||(ie=setTimeout(()=>{ie=null,j.value=c.message.content?Se(c.message.content):""},Ah))}const lt=n.ref(!1);let Fe=null;function ft(){Fe&&(clearTimeout(Fe),Fe=null)}return n.watch(()=>[c.message.content,c.message.loading,c.message.streaming],(S,q)=>{if(c.message.role==="status")return;if(c.message.streaming){!j.value&&c.message.content&&(j.value=Se(c.message.content)),rt();return}Ce(),(q==null?void 0:q[2])&&!c.message.streaming&&c.message.content&&n.nextTick(()=>{lt.value=!0,ft(),Fe=setTimeout(()=>{lt.value=!1,Fe=null},1200)})},{immediate:!0}),n.onBeforeUnmount(()=>{Pe(),ft()}),(S,q)=>{var re;return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["chat-msg",[`chat-msg--${e.message.role}`,{"chat-msg--workbench-interleaved-result":e.message.workbenchInterleavedPlacement==="result"||e.message.workbenchInterleavedPlacement==="separator-result","chat-msg--workbench-interleaved-recommendation":e.message.workbenchInterleavedPlacement==="recommendation","chat-msg--workbench-interleaved-separator":e.message.workbenchInterleavedPlacement==="separator-result"||e.message.workbenchInterleavedPlacement==="separator-tail"}]])},[e.message.error&&e.message.role==="status"?(n.openBlock(),n.createElementBlock("div",Lp,[q[6]||(q[6]=n.createElementVNode("div",{class:"chat-msg__error-title"},"请求失败",-1)),n.createElementVNode("div",Pp,n.toDisplayString(e.message.error),1)])):n.createCommentVNode("",!0),e.message.role==="assistant"&&St.value.length>0?(n.openBlock(),n.createBlock(Ap,{key:1,class:"chat-msg__thinking-process",messages:St.value,"turn-active":e.message.loading||e.message.streaming},null,8,["messages","turn-active"])):n.createCommentVNode("",!0),!e.message.loading&&e.message.content&&j.value?(n.openBlock(),n.createElementBlock("div",{key:2,class:n.normalizeClass(["chat-msg__text",{"chat-msg__text--reveal":lt.value}]),innerHTML:j.value},null,10,Mp)):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ue.value?oe.value:[],(ee,ge)=>(n.openBlock(),n.createElementBlock("section",{key:`${e.message.id}-query-result-table-${ge}`,class:"chat-msg__query-result-table"},[ee.title||ce(ee)?(n.openBlock(),n.createElementBlock("header",Op,[ee.title?(n.openBlock(),n.createElementBlock("div",Fp,n.toDisplayString(ee.title),1)):n.createCommentVNode("",!0),ce(ee)?(n.openBlock(),n.createElementBlock("div",$p,n.toDisplayString(ce(ee)),1)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),n.createElementVNode("div",Vp,[n.createElementVNode("table",null,[n.createElementVNode("thead",null,[n.createElementVNode("tr",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ee.columns,we=>(n.openBlock(),n.createElementBlock("th",{key:we.key},n.toDisplayString(we.label),1))),128))])]),n.createElementVNode("tbody",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ee.rows,(we,Ge)=>(n.openBlock(),n.createElementBlock("tr",{key:M(ee,we,Ge)},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ee.columns,Xe=>(n.openBlock(),n.createElementBlock("td",{key:Xe.key},n.toDisplayString(te(we,Xe.key)),1))),128))]))),128))])])])]))),128)),He.value.length>0?(n.openBlock(),n.createElementBlock("div",zp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(He.value,ee=>(n.openBlock(),n.createElementBlock("button",{key:ee,type:"button",class:"chat-msg__follow-up-action",disabled:e.taskStateActionsDisabled,onClick:ge=>Te(ee)},n.toDisplayString(ee),9,Hp))),128))])):n.createCommentVNode("",!0),!e.message.loading&&C.value.length>0?(n.openBlock(),n.createElementBlock("div",{key:4,class:n.normalizeClass(["chat-msg__attachments",`chat-msg__attachments--${e.message.role}`])},[n.createVNode(n.unref(Jr.TrAttachments),{items:C.value,actions:e.message.role==="assistant"?E:_,"file-matchers":e.message.role==="assistant"?U:R,variant:B.value,disabled:"",wrap:"",onDownload:I},null,8,["items","actions","file-matchers","variant"])],2)):n.createCommentVNode("",!0),H.value?(n.openBlock(),n.createElementBlock("div",Gp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(K.value,ee=>(n.openBlock(),n.createBlock(Di,{key:ee.id,card:ee,"show-insert-action":F.value,onInsertCard:ge=>d("insertCard",ge)},null,8,["card","show-insert-action","onInsertCard"]))),128))])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&ae.value?(n.openBlock(),n.createElementBlock("div",qp,[n.createElementVNode("div",Up,n.toDisplayString(Z.value),1),n.createElementVNode("div",Wp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ne.value,ee=>(n.openBlock(),n.createElementBlock("button",{key:ee.index,type:"button",class:"chat-msg__task-choice-action","data-choice-index":ee.index,disabled:e.taskStateActionsDisabled,onClick:ge=>Ne(ee.index)},[n.createElementVNode("span",Kp,n.toDisplayString(ee.index),1),n.createElementVNode("span",Qp,n.toDisplayString(ee.label),1)],8,jp))),128)),At.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__task-choice-cancel",disabled:e.taskStateActionsDisabled,onClick:dt},n.toDisplayString((re=e.message.taskStateDraft)==null?void 0:re.cancelPhrase),9,Yp)):n.createCommentVNode("",!0)])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.planDraft?(n.openBlock(),n.createElementBlock("div",Jp,[n.createVNode(Np,{draft:e.message.planDraft,"auto-insert":e.autoInsertComposePlan,onConfirm:q[0]||(q[0]=ee=>d("confirmPlan",ee)),onCancel:q[1]||(q[1]=ee=>d("cancelPlan")),onModify:q[2]||(q[2]=(ee,ge)=>d("modifyPlan",ee,ge)),onAutoInsertChange:q[3]||(q[3]=ee=>d("autoInsertComposePlanChange",ee))},null,8,["draft","auto-insert"])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.cardRecommendationDraft&&!H.value?(n.openBlock(),n.createElementBlock("div",Zp,[n.createVNode(Zf,{draft:e.message.cardRecommendationDraft,defer:e.message.deferCardRecommendationRender,onChoose:q[4]||(q[4]=(ee,ge)=>d("chooseCardRecommendation",ee,ge)),onConfigure:q[5]||(q[5]=ee=>d("configureCardRecommendation",ee))},null,8,["draft","defer"])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&he.value?(n.openBlock(),n.createElementBlock("section",Xp,[n.createElementVNode("header",eh,[n.createElementVNode("div",th,[n.createElementVNode("div",nh,n.toDisplayString(he.value.taskKindLabel),1),n.createElementVNode("div",ah,n.toDisplayString(he.value.title),1)]),nt.value?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(["chat-msg__task-status",`chat-msg__task-status--${he.value.statusTone}`])},n.toDisplayString(he.value.statusLabel),3)):n.createCommentVNode("",!0)]),Le.value.length>0?(n.openBlock(),n.createElementBlock("div",rh,[q[7]||(q[7]=n.createElementVNode("div",{class:"chat-msg__task-section-title"},"已收集字段",-1)),n.createElementVNode("dl",sh,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Le.value,ee=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:ee.code},[n.createElementVNode("dt",oh,n.toDisplayString(ee.name),1),n.createElementVNode("dd",ih,n.toDisplayString(ee.displayValue),1)],64))),128))])])):n.createCommentVNode("",!0),he.value.missingFields.length>0?(n.openBlock(),n.createElementBlock("div",ch,[q[8]||(q[8]=n.createElementVNode("div",{class:"chat-msg__task-section-title"},"待补充字段",-1)),n.createElementVNode("div",lh,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(he.value.missingFields,ee=>(n.openBlock(),n.createElementBlock("span",{key:ee.code,class:"chat-msg__task-missing"},n.toDisplayString(ee.name),1))),128))])])):n.createCommentVNode("",!0),he.value.lastErrorMessage?(n.openBlock(),n.createElementBlock("div",dh,n.toDisplayString(he.value.lastErrorMessage),1)):n.createCommentVNode("",!0),he.value.resultSummary?(n.openBlock(),n.createElementBlock("div",uh,n.toDisplayString(he.value.resultSummary),1)):n.createCommentVNode("",!0),At.value?(n.openBlock(),n.createElementBlock("div",mh,[n.createElementVNode("button",{type:"button",class:"chat-msg__task-action chat-msg__task-action--cancel",disabled:e.taskStateActionsDisabled,onClick:dt},n.toDisplayString(he.value.cancelPhrase),9,fh),ye.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__task-action chat-msg__task-action--confirm",disabled:e.taskStateActionsDisabled,onClick:Vt},n.toDisplayString(he.value.confirmPhrase),9,ph)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.memoryCaptureDraft&&We.value!=="dismissed"?(n.openBlock(),n.createElementBlock("div",hh,[n.createElementVNode("div",gh,n.toDisplayString(e.message.memoryCaptureDraft.title),1),n.createElementVNode("div",yh,n.toDisplayString(e.message.memoryCaptureDraft.content),1),n.createElementVNode("div",bh,[We.value==="draft"?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__memory-action chat-msg__memory-action--secondary",onClick:Tt},n.toDisplayString(e.message.memoryCaptureDraft.dismissLabel),1)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"chat-msg__memory-action chat-msg__memory-action--primary",disabled:We.value!=="draft",onClick:at},n.toDisplayString(ct.value),9,kh)])])):n.createCommentVNode("",!0),e.message.role==="status"&&e.message.detail?(n.openBlock(),n.createElementBlock("div",_h,[n.createElementVNode("div",Ch,[n.createElementVNode("span",{class:"detail-toggle",onClick:Pt},[n.createElementVNode("span",{class:n.normalizeClass(["detail-arrow",{"is-open":!u.collapsed}])},"▶",2),n.createTextVNode(" "+n.toDisplayString(u.collapsed?"展开详情":"收起详情"),1)])]),n.createElementVNode("div",{class:n.normalizeClass(["detail-content",{"is-collapsed":u.collapsed}])},[n.createElementVNode("div",Sh,n.toDisplayString(e.message.detail),1)],2)])):n.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-e06e0d6e"]]),wh={key:2,class:"chat-message-list__events-pending","data-testid":"events-pending-thinking",role:"status","aria-live":"polite"},Th=ln(n.defineComponent({__name:"ChatMessageList",props:{messages:{type:Array,required:!0},hiddenStatusMessageIds:{type:Array,default:()=>[]},autoInsertComposePlan:{type:Boolean,default:!1},taskStateActionsDisabled:{type:Boolean,default:!1}},emits:["insertCard","chooseCardRecommendation","configureCardRecommendation","confirmPlan","cancelPlan","confirmTaskState","cancelTaskState","memoryCaptureDismiss","memoryCaptureSave","modifyPlan","sendFollowUp","autoInsertComposePlanChange","scrollPositionChange"],setup(e,{expose:r,emit:o}){const c=e,d=o,u=n.ref(null),y=new Map,_=n.ref(0);let E=null;const R=n.computed(()=>new Set(c.hiddenStatusMessageIds)),U=n.computed(()=>gi(c.messages,{hiddenStatusMessageIds:R.value})),z=n.computed(()=>c.messages.map(ne=>[ne.id,ne.role,ne.loading?"loading":"idle",ne.streaming?ne.content.length:""].join(":")).join("|")),C=n.computed(()=>{var Z;const ne=U.value.find(F);return((Z=ne==null?void 0:ne.messages[0])==null?void 0:Z.id)||""});function B(ne){var Z;switch(ne.type){case"user":case"assistant":case"thinking":return`${ne.type}-${ne.message.id}`;case"tool-activity":return`tool-${((Z=ne.messages[0])==null?void 0:Z.id)??"empty"}`}}function F(ne){var Z;return ne.type==="tool-activity"&&ne.messages.length===1&&!!((Z=ne.messages[0])!=null&&Z.initialEventsPending)}function H(){E&&(clearInterval(E),E=null),_.value=0,E=setInterval(()=>{_.value+=1},1e3)}function K(){E&&(clearInterval(E),E=null),_.value=0}function xe(){d("scrollPositionChange",!!(u.value&&u.value.scrollTop>0))}function oe(){xe()}function ue(){const ne=u.value;ne&&(ne.scrollTop=ne.scrollHeight),xe()}function ce(ne,Z){if(Z&&typeof Z=="object"){y.set(ne,Z);return}y.delete(ne)}function Le(ne,Z){var He,ae;(ae=(He=y.get(ne))==null?void 0:He.setMemoryCaptureStatus)==null||ae.call(He,Z)}return r({setMemoryCaptureStatus:Le}),n.watch(z,()=>{n.nextTick(ue)}),n.watch(C,ne=>{if(ne){H();return}K()},{immediate:!0}),n.onMounted(ue),n.onBeforeUnmount(K),(ne,Z)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"scrollRef",ref:u,class:"chat-message-list",onScroll:oe},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(U.value,He=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:B(He)},[He.type==="user"?(n.openBlock(),n.createBlock(nc,{key:0,ref_for:!0,ref:ae=>ce(He.message.id,ae),message:He.message,messages:e.messages,"auto-insert-compose-plan":e.autoInsertComposePlan,"task-state-actions-disabled":e.taskStateActionsDisabled,onInsertCard:Z[0]||(Z[0]=ae=>d("insertCard",ae)),onChooseCardRecommendation:Z[1]||(Z[1]=(ae,he)=>d("chooseCardRecommendation",ae,he)),onConfigureCardRecommendation:Z[2]||(Z[2]=ae=>d("configureCardRecommendation",ae)),onConfirmPlan:Z[3]||(Z[3]=ae=>d("confirmPlan",ae)),onCancelPlan:Z[4]||(Z[4]=ae=>d("cancelPlan")),onConfirmTaskState:Z[5]||(Z[5]=(ae,he,ye)=>d("confirmTaskState",ae,he,ye)),onCancelTaskState:Z[6]||(Z[6]=(ae,he,ye)=>d("cancelTaskState",ae,he,ye)),onMemoryCaptureDismiss:Z[7]||(Z[7]=(ae,he)=>d("memoryCaptureDismiss",ae,he)),onMemoryCaptureSave:Z[8]||(Z[8]=(ae,he)=>d("memoryCaptureSave",ae,he)),onModifyPlan:Z[9]||(Z[9]=(ae,he)=>d("modifyPlan",ae,he)),onSendFollowUp:Z[10]||(Z[10]=ae=>d("sendFollowUp",ae)),onAutoInsertComposePlanChange:Z[11]||(Z[11]=ae=>d("autoInsertComposePlanChange",ae))},null,8,["message","messages","auto-insert-compose-plan","task-state-actions-disabled"])):He.type==="assistant"?(n.openBlock(),n.createBlock(nc,{key:1,ref_for:!0,ref:ae=>ce(He.message.id,ae),message:He.message,messages:e.messages,"task-state-actions-disabled":e.taskStateActionsDisabled,onInsertCard:Z[12]||(Z[12]=ae=>d("insertCard",ae)),onChooseCardRecommendation:Z[13]||(Z[13]=(ae,he)=>d("chooseCardRecommendation",ae,he)),onConfigureCardRecommendation:Z[14]||(Z[14]=ae=>d("configureCardRecommendation",ae)),onConfirmPlan:Z[15]||(Z[15]=ae=>d("confirmPlan",ae)),onCancelPlan:Z[16]||(Z[16]=ae=>d("cancelPlan")),onConfirmTaskState:Z[17]||(Z[17]=(ae,he,ye)=>d("confirmTaskState",ae,he,ye)),onCancelTaskState:Z[18]||(Z[18]=(ae,he,ye)=>d("cancelTaskState",ae,he,ye)),onMemoryCaptureDismiss:Z[19]||(Z[19]=(ae,he)=>d("memoryCaptureDismiss",ae,he)),onMemoryCaptureSave:Z[20]||(Z[20]=(ae,he)=>d("memoryCaptureSave",ae,he)),onModifyPlan:Z[21]||(Z[21]=(ae,he)=>d("modifyPlan",ae,he)),onSendFollowUp:Z[22]||(Z[22]=ae=>d("sendFollowUp",ae)),onAutoInsertComposePlanChange:Z[23]||(Z[23]=ae=>d("autoInsertComposePlanChange",ae))},null,8,["message","messages","task-state-actions-disabled"])):F(He)?(n.openBlock(),n.createElementBlock("div",wh," 思考中 "+n.toDisplayString(_.value)+"s ",1)):n.createCommentVNode("",!0)],64))),128))],544))}}),[["__scopeId","data-v-8ff74045"]]),Eh={class:"chat-sender"},xh=["placeholder","disabled","onKeydown"],Bh={key:0,class:"chat-sender__attachments"},Ih={key:1,class:"chat-sender__image-error"},Rh={key:2,class:"chat-sender__attachment-preparing"},vh=["accept"],Dh={class:"chat-sender__toolbar"},Nh={class:"chat-sender__right"},Lh={class:"chat-sender__utilities"},Ph=["disabled","aria-expanded"],Mh=["aria-label"],Oh={class:"chat-sender__utilities chat-sender__utilities--right"},Fh=["disabled"],$h=["onKeydown"],Vh={class:"chat-sender__business-list"},zh={key:0,class:"chat-sender__business-state"},Hh={key:1,class:"chat-sender__business-state chat-sender__business-state--error"},Gh=["aria-selected","aria-label","onClick"],qh={class:"chat-sender__business-copy"},Uh=["aria-label","onMouseenter","onFocus"],Wh={class:"chat-sender__business-name"},jh=["aria-label","onMouseenter","onFocus"],Kh={class:"chat-sender__business-desc"},Qh={key:3,class:"chat-sender__business-state"},Dr=74,ac=100,Yh=360,Ta=20,rc=360,Fs=16,$s=6,Jh=10*1024*1024,Zh=ln(n.defineComponent({__name:"ChatSender",props:{businessGroupError:{default:""},businessGroupLoading:{type:Boolean,default:!1},businessGroups:{default:()=>[]},selectedBusinessGroup:{default:null},loading:{type:Boolean},placeholder:{},routeImagesAsAttachments:{type:Boolean,default:!1}},emits:["attachment","attachments","businessGroupClear","businessGroupSelect","businessGroupOpen","cancel","submit","image"],setup(e,{expose:r,emit:o}){const c=e,d=o,u=n.ref(""),y=n.ref([]),_=n.ref(null),E=n.ref(!1),R=n.ref(""),U=n.ref(null),z=n.ref(null),C=n.ref(null),B=n.ref({}),F=n.ref(null),H=n.ref(null),K=n.ref([]),xe=n.ref(null),oe=n.ref(null),ue=n.ref(!1),ce=n.ref(0),Le=n.computed(()=>ce.value>0),ne=n.ref(0),Z=new Set;let He=0;const ae=["image/png","image/jpeg","image/webp"],he=[],ye=[{type:"image",matcher:f=>typeof f!="string"?f.type.startsWith("image/"):/^data:image\//i.test(f)||/^(png|jpe?g|gif|webp|bmp|svg)(?:[;,?]|$)/i.test(f)||/\.(png|jpe?g|gif|webp|bmp|svg)(?:[?#].*)?$/i.test(f)}];function nt(){const f=H.value;if(!f)return;if(!u.value){f.style.height=`${Dr}px`,f.style.overflowY="hidden";return}f.style.height=`${Dr}px`,f.style.overflowY="hidden";const b=f.getBoundingClientRect(),x=b.bottom>ac?Math.max(Dr,b.bottom-ac):f.scrollHeight,X=Math.max(Dr,Math.min(f.scrollHeight,x));f.style.height=`${X}px`,f.style.overflowY=f.scrollHeight>X?"auto":"hidden"}function St(f){u.value=f,n.nextTick(()=>{var b;nt(),(b=H.value)==null||b.setSelectionRange(u.value.length,u.value.length)})}const At=n.computed(()=>K.value.map(f=>{const{file:b}=f,x=f.type==="image";return{id:f.id,name:b.name,url:f.previewUrl||b.name,fileType:x?"image":"file",rawFile:b,status:"success"}})),We=n.computed(()=>{var f;return K.value.length===1&&((f=K.value[0])==null?void 0:f.type)==="image"?"picture":"card"}),ct=n.computed(()=>{const f=R.value.trim().toLowerCase();return f?c.businessGroups.filter(b=>[b.businessGroupName,b.businessGroupCode,b.businessGroupDescription].some(x=>x==null?void 0:x.toLowerCase().includes(f))):c.businessGroups});function Pt(f){return f.businessGroupDescription||f.groupType||f.businessGroupCode}function Tt(f){const b=Pt(f);return b&&b!==f.businessGroupName?`${f.businessGroupName}
25
- ${b}`:f.businessGroupName}function at(){const f=oe.value;f&&(f.value="",f.click())}function Ut(){E.value=!0,d("businessGroupOpen"),n.nextTick(()=>{var f;I(),(f=C.value)==null||f.focus()})}function Te(){E.value=!1,R.value="",T()}function Vt(f){d("businessGroupSelect",f),Te()}function Ne(){d("businessGroupClear"),Te()}function dt(f){var x,X;const b=f.relatedTarget;b instanceof Node&&((x=U.value)!=null&&x.contains(b))||b instanceof Node&&((X=z.value)!=null&&X.contains(b))||Te()}function Be(f){var x,X;if(!E.value)return;const b=f.target;b instanceof Node&&((x=U.value)!=null&&x.contains(b))||b instanceof Node&&((X=z.value)!=null&&X.contains(b))||Te()}function v(){Te()}function I(){const f=U.value;if(!f||typeof window>"u"){B.value={};return}const b=window.innerWidth||document.documentElement.clientWidth,x=window.innerHeight||document.documentElement.clientHeight,X=Math.max(0,b-Ta*2),ke=Math.min(Yh,X),Re=f.getBoundingClientRect(),st=Math.max(Ta,b-Ta-ke),Rt=Math.min(Math.max(Ta,Re.left),st),ht=Math.max(160,Re.top-Ta*2),Ye=Math.min(420,ht),vt=Math.max(Ta,x-Re.top+8);B.value={position:"fixed",left:`${Math.round(Rt)}px`,width:`${Math.round(ke)}px`,maxHeight:`${Math.round(Ye)}px`,bottom:`${Math.round(vt)}px`}}function G(f,b){const x=f.currentTarget;if(!(x instanceof HTMLElement)||!b)return;const X=x.firstElementChild instanceof HTMLElement?x.firstElementChild:x;if(X.scrollWidth<=X.clientWidth){T();return}const ke=x.getBoundingClientRect(),Re=typeof window>"u"?rc:window.innerWidth||document.documentElement.clientWidth,st=Math.min(rc,Math.max(160,Re-Fs*2)),Rt=ke.left+ke.width/2,ht=st/2,Ye=Fs+ht,vt=Math.max(Ye,Re-Fs-ht),Yt=Math.min(Math.max(Ye,Rt),vt),et=ke.top>$s+36;F.value={text:b,style:{left:`${Math.round(Yt)}px`,top:`${Math.round(et?ke.top-$s:ke.bottom+$s)}px`,transform:et?"translate(-50%, -100%)":"translateX(-50%)",maxWidth:`${Math.round(st)}px`}}}function T(){F.value=null}function Q(f){return ae.includes(f.type)}function te(){return He+=1,`pending-attachment-${He}`}function M(f){const b=URL.createObjectURL(f);return Z.add(b),b}function O(f){f!=null&&f.startsWith("blob:")&&(URL.revokeObjectURL(f),Z.delete(f))}function j(f,b){K.value=[...K.value,{file:f,fileName:f.name,mimeType:f.type||"application/octet-stream",previewUrl:b==="image"?M(f):void 0,size:f.size,type:b,id:te()}]}function ie(f){return new Promise(b=>{const x=new FileReader;x.onload=()=>{const X=x.result;K.value=[...K.value,{base64:X.split(",")[1],file:f,fileName:f.name,mimeType:f.type,previewUrl:M(f),size:f.size,type:"image",id:te()}],b()},x.onerror=()=>{xe.value=`无法读取图片:${f.name}`,b()},x.onabort=()=>{xe.value=`已取消读取图片:${f.name}`,b()},x.readAsDataURL(f)})}async function Ie(f){if(f.length!==0){xe.value=null,ce.value+=1;try{for(const b of f){if(!Q(b)){j(b,b.type.startsWith("image/")?"image":"file");continue}if(c.routeImagesAsAttachments){j(b,"image");continue}if(b.size>Jh){xe.value=`图片不能超过 10MB:${b.name}`;continue}await ie(b)}}finally{ce.value=Math.max(0,ce.value-1)}}}function Se(f){const b=f.target;Ie(Array.from(b.files??[]))}function Pe(f){const b=f.target;Ie(Array.from(b.files??[]))}function Ce(f){var ke,Re;const x=Array.from(((ke=f.clipboardData)==null?void 0:ke.items)??[]).find(st=>st.kind==="file"&&st.type.startsWith("image/")),X=(x==null?void 0:x.getAsFile())??Array.from(((Re=f.clipboardData)==null?void 0:Re.files)??[]).find(st=>st.type.startsWith("image/"));X&&(f.preventDefault(),Ie([X]))}function rt(f){const b=K.value.find(x=>x.id===f.id);b&&(O(b.previewUrl),K.value=K.value.filter(x=>x.id!==b.id),xe.value=null)}function lt(){K.value.forEach(f=>{O(f.previewUrl)}),K.value=[],Z.forEach(f=>URL.revokeObjectURL(f)),Z.clear()}function Fe(f){var b;return Array.from(((b=f.dataTransfer)==null?void 0:b.types)??[]).includes("Files")}function ft(f){Fe(f)&&(f.preventDefault(),ne.value+=1,ue.value=!0)}function S(f){Fe(f)&&f.preventDefault()}function q(f){Fe(f)&&(ne.value=Math.max(0,ne.value-1),ne.value===0&&(ue.value=!1))}function re(f){var b;Fe(f)&&(f.preventDefault(),ne.value=0,ue.value=!1,Ie(Array.from(((b=f.dataTransfer)==null?void 0:b.files)??[])))}function ee(){if(Le.value)return;if(xe.value=null,K.value.length>0){const b=u.value.trim();d("attachments",{attachments:K.value.map(({id:x,...X})=>X),text:b}),K.value=[],u.value="",n.nextTick(nt);return}const f=u.value.trim();f&&(y.value=[...y.value,f],_.value=null,d("submit",f),u.value="",n.nextTick(nt))}function ge(f){u.value=f,n.nextTick(nt)}function we(){var f;(f=H.value)==null||f.focus()}function Ge(f){if(y.value.length===0||_.value===null&&u.value.trim())return;f.preventDefault();const b=_.value===null?y.value.length-1:Math.max(0,_.value-1);_.value=b,St(y.value[b])}function Xe(f){if(_.value===null)return;f.preventDefault();const b=_.value+1;if(b>=y.value.length){_.value=null,St("");return}_.value=b,St(y.value[b])}function It(f){f.isComposing||(f.preventDefault(),ee())}r({focusComposer:we,handleAttachmentSelected:Se,handleImageSelected:Pe,setText:ge}),n.watch(u,(f,b)=>{_.value!==null&&f!==y.value[_.value]&&f!==b&&(_.value=null),n.nextTick(nt)}),n.watch(E,f=>{f?n.nextTick(I):T()});function pt(){nt(),E.value&&I(),T()}return typeof window<"u"&&(window.addEventListener("resize",pt),document.addEventListener("pointerdown",Be,!0),n.onBeforeUnmount(()=>{window.removeEventListener("resize",pt),document.removeEventListener("pointerdown",Be,!0)})),n.onBeforeUnmount(()=>{ne.value=0,ue.value=!1,lt()}),(f,b)=>(n.openBlock(),n.createElementBlock("div",Eh,[n.createElementVNode("div",{class:n.normalizeClass(["chat-sender__surface",{"chat-sender__surface--dragging":ue.value}]),onDragenter:ft,onDragover:S,onDragleave:q,onDrop:re},[n.withDirectives(n.createElementVNode("textarea",{ref_key:"textareaRef",ref:H,"onUpdate:modelValue":b[0]||(b[0]=x=>u.value=x),class:"chat-sender__input",rows:"2",placeholder:e.placeholder,disabled:e.loading,onKeydown:[n.withKeys(n.withModifiers(It,["exact"]),["enter"]),n.withKeys(Ge,["up"]),n.withKeys(Xe,["down"])],onPaste:Ce},null,40,xh),[[n.vModelText,u.value]]),At.value.length?(n.openBlock(),n.createElementBlock("div",Bh,[n.createVNode(n.unref(Jr.TrAttachments),{items:At.value,actions:he,"file-matchers":ye,variant:We.value,wrap:"",onRemove:rt},null,8,["items","variant"]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(K.value.filter(x=>x.type==="file"),x=>(n.openBlock(),n.createElementBlock("div",{key:x.id,class:"chat-sender__attachment-name"},n.toDisplayString(x.file.name),1))),128))])):n.createCommentVNode("",!0),xe.value?(n.openBlock(),n.createElementBlock("div",Ih,n.toDisplayString(xe.value),1)):n.createCommentVNode("",!0),Le.value?(n.openBlock(),n.createElementBlock("div",Rh,"正在准备图片附件…")):n.createCommentVNode("",!0),n.createElementVNode("input",{ref_key:"attachmentInputRef",ref:oe,class:"chat-sender__attachment-input",type:"file",multiple:"","aria-hidden":"true",tabindex:"-1",onChange:Se},null,544),n.createElementVNode("input",{class:"chat-sender__image-input",type:"file",accept:ae.join(","),multiple:"","aria-hidden":"true",tabindex:"-1",onChange:Pe},null,40,vh),n.createElementVNode("div",Dh,[n.createElementVNode("div",Nh,[n.createElementVNode("div",Lh,[n.createElementVNode("button",{type:"button",class:"chat-sender__icon-btn",title:"上传附件","aria-label":"上传附件","data-testid":"chat-attachment-trigger",onClick:at},[n.createVNode(n.unref(Ze.PlusOutlined))]),n.createElementVNode("div",{ref_key:"businessGroupRef",ref:U,class:"chat-sender__business-group",onFocusout:dt},[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["chat-sender__business-trigger",{"chat-sender__business-trigger--active":!!e.selectedBusinessGroup}]),disabled:e.loading,"aria-haspopup":"listbox","aria-expanded":E.value,onClick:Ut},[b[4]||(b[4]=n.createElementVNode("span",{class:"chat-sender__business-label"},"业务分组",-1)),e.selectedBusinessGroup?(n.openBlock(),n.createElementBlock("span",{key:0,class:"chat-sender__business-tag","aria-label":e.selectedBusinessGroup.businessGroupName},[n.createElementVNode("span",{class:"chat-sender__business-tag-text",onMouseenter:b[1]||(b[1]=x=>G(x,e.selectedBusinessGroup.businessGroupName)),onMouseleave:T},n.toDisplayString(e.selectedBusinessGroup.businessGroupName),33),n.createElementVNode("button",{type:"button",class:"chat-sender__business-clear",title:"清除业务分组","aria-label":"清除业务分组",onClick:n.withModifiers(Ne,["stop"])},[n.createVNode(n.unref(Ze.CloseOutlined))])],8,Mh)):n.createCommentVNode("",!0)],10,Ph)],544)]),n.createElementVNode("div",Oh,[n.renderSlot(f.$slots,"history",{},void 0,!0),e.loading?(n.openBlock(),n.createElementBlock("button",{key:0,"data-testid":"chat-cancel",type:"button",class:"chat-sender__stop chat-sender__stop--running",title:"停止生成","aria-label":"停止生成",onClick:b[2]||(b[2]=x=>d("cancel"))},[...b[5]||(b[5]=[n.createElementVNode("span",{class:"chat-sender__stop-ring","aria-hidden":"true"},null,-1),n.createElementVNode("span",{class:"chat-sender__stop-core","aria-hidden":"true"},null,-1)])])):(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"chat-sender__send",title:"发送","aria-label":"发送",disabled:!u.value.trim()&&K.value.length===0||e.loading||Le.value,onClick:ee},[n.createVNode(n.unref(Ze.SendOutlined))],8,Fh))])])])],34),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[E.value?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"businessGroupPopoverRef",ref:z,class:"chat-sender__business-popover",style:n.normalizeStyle(B.value),role:"listbox","aria-label":"业务分组",onKeydown:n.withKeys(n.withModifiers(v,["stop","prevent"]),["escape"])},[n.withDirectives(n.createElementVNode("input",{ref_key:"businessGroupSearchRef",ref:C,"onUpdate:modelValue":b[3]||(b[3]=x=>R.value=x),class:"chat-sender__business-search",placeholder:"搜索业务分组"},null,512),[[n.vModelText,R.value]]),n.createElementVNode("div",Vh,[e.businessGroupLoading?(n.openBlock(),n.createElementBlock("div",zh,[n.createVNode(n.unref(Ze.LoadingOutlined)),b[6]||(b[6]=n.createElementVNode("span",null,"加载中",-1))])):e.businessGroupError?(n.openBlock(),n.createElementBlock("div",Hh,n.toDisplayString(e.businessGroupError),1)):(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:2},n.renderList(ct.value,x=>{var X,ke;return n.openBlock(),n.createElementBlock("button",{key:x.businessGroupCode,type:"button",class:n.normalizeClass(["chat-sender__business-option",{"chat-sender__business-option--active":x.businessGroupCode===((X=e.selectedBusinessGroup)==null?void 0:X.businessGroupCode)}]),role:"option","aria-selected":x.businessGroupCode===((ke=e.selectedBusinessGroup)==null?void 0:ke.businessGroupCode),"aria-label":Tt(x),onClick:Re=>Vt(x)},[b[7]||(b[7]=n.createElementVNode("span",{class:"chat-sender__business-radio","aria-hidden":"true"},null,-1)),n.createElementVNode("span",qh,[n.createElementVNode("span",{class:"chat-sender__business-name-trigger",tabindex:"0","aria-label":x.businessGroupName,onMouseenter:Re=>G(Re,x.businessGroupName),onMouseleave:T,onFocus:Re=>G(Re,x.businessGroupName),onBlur:T},[n.createElementVNode("span",Wh,n.toDisplayString(x.businessGroupName),1)],40,Uh),n.createElementVNode("span",{class:"chat-sender__business-desc-trigger",tabindex:"0","aria-label":Pt(x),onMouseenter:Re=>G(Re,Pt(x)),onMouseleave:T,onFocus:Re=>G(Re,Pt(x)),onBlur:T},[n.createElementVNode("span",Kh,n.toDisplayString(Pt(x)),1)],40,jh)])],10,Gh)}),128)),!e.businessGroupLoading&&ct.value.length===0?(n.openBlock(),n.createElementBlock("div",Qh," 暂无匹配分组 ")):n.createCommentVNode("",!0)])],44,$h)):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[F.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"chat-sender__business-floating-tooltip",style:n.normalizeStyle(F.value.style),role:"tooltip"},n.toDisplayString(F.value.text),5)):n.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-f87694d2"]]),Xh=["title","disabled"],eg={class:"ring",viewBox:"0 0 36 36"},tg=["stroke-dashoffset"],ng=ln(n.defineComponent({__name:"ContextUsageRing",props:{disabled:{type:Boolean},loading:{type:Boolean},usage:{}},emits:["compact"],setup(e,{emit:r}){const o=e,c=r,d=n.computed(()=>{const _=o.usage.estimatedTokens.toLocaleString(),E=o.usage.contextWindow.toLocaleString();return o.loading?"正在压缩上下文":o.disabled?"当前对话处理中,完成后可压缩上下文":`上下文占用约 ${o.usage.percent}%(估算 ${_} / ${E} tokens),点击压缩当前对话`}),u=2*Math.PI*14,y=n.computed(()=>u*(1-o.usage.percent/100));return(_,E)=>(n.openBlock(),n.createElementBlock("button",{type:"button",class:n.normalizeClass(["context-usage",[e.usage.level,{loading:e.loading}]]),title:d.value,disabled:e.loading||e.disabled,"aria-label":"压缩上下文","data-testid":"context-usage-control",onClick:E[0]||(E[0]=R=>c("compact"))},[(n.openBlock(),n.createElementBlock("svg",eg,[E[1]||(E[1]=n.createElementVNode("circle",{class:"ring-track",cx:"18",cy:"18",r:"14",fill:"none","stroke-width":"3"},null,-1)),n.createElementVNode("circle",{class:"ring-fill",cx:"18",cy:"18",r:"14",fill:"none","stroke-width":"3","stroke-dasharray":u,"stroke-dashoffset":y.value,"stroke-linecap":"round"},null,8,tg)]))],10,Xh))}}),[["__scopeId","data-v-580a86d9"]]),ag=["aria-expanded"],rg={class:"task-todo-plan__summary-text"},sg={key:0,class:"task-todo-plan__current"},og={key:0,class:"task-todo-plan__body","data-testid":"task-todo-plan-body"},ig={class:"task-todo-plan__step-main"},cg={class:"task-todo-plan__step-title"},lg={key:0,class:"task-todo-plan__step-detail"},dg={key:1,class:"task-todo-plan__step-error"},ug=ln(n.defineComponent({__name:"TaskTodoPlanBar",props:{plan:{}},setup(e){const r=e,o=n.ref(!1),c=n.ref(!1),d=n.ref(Date.now());let u=null;const y=n.computed(()=>{var oe;return((oe=r.plan)==null?void 0:oe.steps.length)??0}),_=n.computed(()=>{var oe;return((oe=r.plan)==null?void 0:oe.steps.filter(ue=>ue.status==="done"||ue.status==="error").length)??0}),E=n.computed(()=>{var oe;return((oe=r.plan)==null?void 0:oe.steps.find(ue=>ue.status==="error"))??null}),R=n.computed(()=>{var oe;return[...((oe=r.plan)==null?void 0:oe.steps)??[]].reverse().find(ue=>ue.status==="running")??null});function U(oe){const ue=Math.max(0,Math.floor(oe/1e3)),ce=Math.floor(ue/60),Le=ue%60;return ce>0?`${ce}m ${Le}s`:`${Le}s`}function z(){if(!r.plan||typeof r.plan.startedAt!="number")return null;const oe=r.plan.active?d.value:r.plan.endedAt;return typeof oe!="number"?null:Math.max(0,oe-r.plan.startedAt)}const C=n.computed(()=>{var ue;const oe=z();return oe===null?"":(ue=r.plan)!=null&&ue.active?`已处理 ${U(oe)}`:`用时 ${U(oe)}`}),B=n.computed(()=>{var ue;if(!r.plan||y.value===0)return"";if(r.plan.mode==="todo")return`Todo 计划 · ${y.value} 项`;if(r.plan.failed){const ce=((ue=E.value)==null?void 0:ue.title)||"执行步骤";return`执行失败 · ${_.value}/${y.value} · 失败于:${ce}`}if(r.plan.active){const ce=C.value?` · ${C.value}`:"";return`执行进度 · ${_.value}/${y.value}${ce}`}const oe=C.value?` · ${C.value}`:"";return`已完成 ${_.value}/${y.value}${oe}`}),F=n.computed(()=>{var oe,ue,ce;return((oe=r.plan)==null?void 0:oe.mode)==="todo"?Ze.ClockCircleOutlined:(ue=r.plan)!=null&&ue.failed?Ze.CloseCircleOutlined:(ce=r.plan)!=null&&ce.active?Ze.LoadingOutlined:Ze.CheckCircleOutlined});function H(oe){return oe.status==="error"?Ze.CloseCircleOutlined:oe.status==="running"?Ze.LoadingOutlined:oe.status==="pending"?Ze.ClockCircleOutlined:Ze.CheckCircleOutlined}function K(){if(!r.plan){o.value=!1,c.value=!1;return}if(r.plan.failed){o.value=!0;return}if(r.plan.mode==="todo"){o.value=!0;return}c.value||(o.value=r.plan.active)}function xe(){c.value=!0,o.value=!o.value}return n.watch(()=>{var oe;return(oe=r.plan)==null?void 0:oe.id},()=>{c.value=!1,K()},{immediate:!0}),n.watch(()=>{var oe,ue;return[(oe=r.plan)==null?void 0:oe.active,(ue=r.plan)==null?void 0:ue.failed]},([,oe],ue)=>{const ce=ue==null?void 0:ue[1];oe&&!ce&&(c.value=!1),K()},{immediate:!0}),n.watch(()=>{var oe;return(oe=r.plan)==null?void 0:oe.active},oe=>{if(oe){d.value=Date.now(),u||(u=setInterval(()=>{d.value=Date.now()},1e3));return}u&&(clearInterval(u),u=null)},{immediate:!0}),n.onBeforeUnmount(()=>{u&&(clearInterval(u),u=null)}),(oe,ue)=>e.plan&&y.value>0?(n.openBlock(),n.createElementBlock("section",{key:0,class:n.normalizeClass(["task-todo-plan",{"task-todo-plan--active":e.plan.active,"task-todo-plan--failed":e.plan.failed}]),"data-testid":"task-todo-plan","aria-label":"多步骤任务 Todo 计划"},[n.createElementVNode("button",{type:"button",class:"task-todo-plan__summary","aria-expanded":o.value,"data-testid":"task-todo-plan-summary",onClick:xe},[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(F.value),{class:"task-todo-plan__summary-icon","aria-hidden":"true"})),n.createElementVNode("span",rg,n.toDisplayString(B.value),1),R.value&&e.plan.active?(n.openBlock(),n.createElementBlock("span",sg,n.toDisplayString(R.value.title),1)):n.createCommentVNode("",!0),n.createVNode(n.unref(Ze.DownOutlined),{class:n.normalizeClass(["task-todo-plan__arrow",{"is-open":o.value}]),"aria-hidden":"true"},null,8,["class"])],8,ag),o.value?(n.openBlock(),n.createElementBlock("div",og,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.plan.steps,ce=>(n.openBlock(),n.createElementBlock("div",{key:ce.id,class:n.normalizeClass(["task-todo-plan__step",`task-todo-plan__step--${ce.status}`]),"data-testid":"task-todo-plan-step"},[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(H(ce)),{class:"task-todo-plan__step-icon","aria-hidden":"true"})),n.createElementVNode("div",ig,[n.createElementVNode("div",cg,n.toDisplayString(ce.title),1),ce.detail?(n.openBlock(),n.createElementBlock("div",lg,n.toDisplayString(ce.detail),1)):n.createCommentVNode("",!0),ce.error?(n.openBlock(),n.createElementBlock("div",dg,n.toDisplayString(ce.error),1)):n.createCommentVNode("",!0)])],2))),128))])):n.createCommentVNode("",!0)],2)):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-2e609adf"]]),mg={class:"runtime-chat"},fg={class:"runtime-chat__main"},pg={key:0,class:"runtime-chat__topbar-leading"},hg={class:"runtime-chat__topbar-actions"},gg=["disabled"],yg={class:"runtime-chat__body"},bg={key:1,class:"chat-switching-skeleton",role:"status","aria-live":"polite"},kg=["innerHTML"],_g={key:3,class:"chat-panel chat-history-panel","aria-label":"历史对话"},Cg={key:0,class:"chat-panel__header-extra"},Sg={class:"chat-history-panel__body"},Ag={key:0,class:"chat-history-panel__loading","data-testid":"chat-history-loading"},wg={key:1,class:"chat-history-group"},Tg=["data-testid"],Eg=["data-testid","onClick"],xg={class:"chat-history-item__content"},Bg=["data-testid"],Ig={class:"chat-history-item__title"},Rg=["data-testid"],vg=["title","data-testid"],Dg={class:"chat-history-item__actions"},Ng=["aria-expanded","data-testid","onClick"],Lg=["data-testid","onClick"],Pg=["data-testid","onClick"],Mg={key:2,class:"chat-history-group"},Og=["data-testid"],Fg=["data-testid","onClick"],$g={class:"chat-history-item__content"},Vg=["data-testid"],zg={class:"chat-history-item__title"},Hg=["data-testid"],Gg=["title","data-testid"],qg={class:"chat-history-item__actions"},Ug=["aria-expanded","data-testid","onClick"],Wg=["data-testid","onClick"],jg=["data-testid","onClick"],Kg={key:3,class:"chat-history-panel__empty"},Qg={key:4,class:"chat-panel chat-settings-panel","aria-label":"工作台设置"},Yg={key:0,class:"chat-panel__header-extra"},Jg={class:"chat-settings-panel__actions"},Zg=["disabled"],Xg={key:0,class:"chat-settings-panel__persona","data-testid":"chat-settings-persona"},ey={class:"chat-settings-panel__persona-options",role:"tablist","aria-label":"人格设定"},ty=["aria-selected","onClick"],ny={class:"chat-settings-panel__body"},ay={key:1,class:"runtime-chat__composer"},ry={class:"rename-modal"},sy={class:"rename-modal__actions"},oy={class:"delete-modal",role:"dialog","aria-modal":"true","aria-labelledby":"delete-conversation-title"},iy={class:"delete-modal__desc"},cy={class:"delete-modal__actions"},ly=["disabled"],dy=["disabled"],uy={class:"clear-modal",role:"dialog","aria-modal":"true","aria-labelledby":"clear-conversations-title"},my={class:"clear-modal__desc"},fy={class:"clear-modal__actions"},py=["disabled"],hy=["disabled"],gy=16,Vs=ln(n.defineComponent({inheritAttrs:!1,__name:"FsesAiChat",props:{apiBaseUrl:{},activeConversationId:{default:""},assistantPersona:{},autoLoadConversations:{type:Boolean,default:!0},businessGroupError:{default:""},businessGroupLoading:{type:Boolean,default:!1},businessGroups:{default:()=>[]},selectedBusinessGroup:{default:null},enableChartCards:{type:Boolean,default:!1},enableChatHistory:{type:Boolean,default:!1},headers:{},onError:{},placeholder:{default:"开始百特搭的探索吧"},transport:{},userId:{},welcomeText:{default:"这里是您的超级个人工作台"},workspaceId:{},autoInsertComposePlan:{type:Boolean},canvasConfigActive:{type:Boolean,default:!1},taskStateActionsDisabled:{type:Boolean,default:!1},showDefaultWorkbenchActions:{type:Boolean,default:!0},defaultWorkbenchSwitchLabel:{default:"切换默认工作台"},showPersonaSettings:{type:Boolean,default:!0},assistantPersonaKey:{default:"warm"},routeImagesAsAttachments:{type:Boolean,default:!1},showTaskTodoPlan:{type:Boolean,default:!1},systemEchartsTemplateCdnBaseUrl:{},chatMode:{}},emits:["confirm-compose-plan","auto-insert-compose-plan-change","cancel-compose-plan","choose-card-recommendation","configure-card-recommendation","image-upload","auto-arrange","attachment-upload","insertCard","insertMetricCard","modify-compose-plan","memory-capture-dismiss","memory-capture-save","confirm-task-state","cancel-task-state","settings-save","settings-open","settings-close","switch-default-workbench","restore-default-workbench","new-conversation","history-loaded","assistant-persona-change","active-conversation-change","business-group-clear","business-group-open","business-group-select","updateCard"],setup(e,{expose:r,emit:o}){var _e;const c=e,d=o,u=ou(),y=n.computed(()=>{var m,h;return((m=c.systemEchartsTemplateCdnBaseUrl)==null?void 0:m.trim())||((h=u==null?void 0:u.systemEchartsTemplateCdnBaseUrl)==null?void 0:h.trim())||""});n.provide(pi,y);const _=((_e=n.getCurrentInstance())==null?void 0:_e.vnode.props)??{},E=n.useSlots(),R=n.computed(()=>!!E["topbar-leading"]),U=n.computed(()=>!!E["utility-header-extra"]),z=Object.prototype.hasOwnProperty.call(_,"enableChartCards")||Object.prototype.hasOwnProperty.call(_,"enable-chart-cards"),C=mi({apiBaseUrl:c.apiBaseUrl||(u==null?void 0:u.apiBaseUrl)||"",headers:c.headers||(u==null?void 0:u.headers),assistantPersona:()=>c.assistantPersona,businessGroup:()=>c.selectedBusinessGroup||void 0,autoLoadConversations:c.autoLoadConversations,activeConversationId:()=>c.activeConversationId,chatMode:()=>c.chatMode,onConversationChange:(m,h)=>d("active-conversation-change",m,h),onHistoryLoaded:m=>d("history-loaded",m),onError:c.onError||(u==null?void 0:u.onError),enableChartCards:z?c.enableChartCards:(u==null?void 0:u.enableChartCards)??!1,transport:c.transport,workspaceId:()=>c.workspaceId,userId:()=>c.userId}),B=C.messages,F=C.isLoading,H=C.isLoadingConversations,K=C.isSwitchingConversation,xe=n.ref(null),oe=n.ref(null),ue=n.ref(""),ce=n.computed(()=>C.conversations.value.map(m=>({id:m.id,title:m.title,createdAt:m.createdAt,updatedAt:m.updatedAt}))),Le=n.computed(()=>C.currentConversationId.value||""),ne=n.ref("chat"),Z=n.ref(!1),He=n.ref(null),ae=n.ref(!1),he=n.computed(()=>c.canvasConfigActive||Z.value),ye=n.computed(()=>ot(B.value)),nt=n.computed(()=>!c.showTaskTodoPlan||ne.value!=="chat"?null:Du(ye.value)),St=n.computed(()=>{var m;return((m=nt.value)==null?void 0:m.claimedStatusMessageIds)??[]}),At=[{id:"warm",label:"热情"},{id:"professional",label:"专业"},{id:"reserved",label:"内敛"}],We=new WeakMap;function ct(m){ae.value=!!(m&&m.scrollTop>0)}function Pt(m){ct(m.currentTarget)}function Tt(m){ae.value=m}function at(){if(ne.value!=="chat"){ae.value=!1;return}ye.value.length===0&&ct(He.value)}n.watch([ne,()=>ye.value.length],()=>n.nextTick(at));const Ut=new lo.Marked({gfm:!0,breaks:!0}),Te=n.computed(()=>Vt(c.welcomeText));function Vt(m){return m.trim()?xo.sanitize(Ut.parse(m)):""}function Ne(m,h,w,le,De,tt={}){return{id:m,entryId:m,label:h,source:w,actionPayload:{action:De,capabilityId:le,quickEntryId:m,source:w,...tt}}}({...Ne("workbench.quick.ask_data","问数分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"问数分析"})},{...Ne("workbench.quick.store_sales","门店销售分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"门店销售分析"})}),{...Ne("workbench.quick.business_analysis","经营分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"经营分析"})},{...Ne("workbench.quick.channel_sales","渠道销售分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"渠道销售分析"})},Ne("workbench.quick.metric_catalog","查看可见指标","welcome_suggested_prompt","runtime_metric.query","list_catalog"),Ne("workbench.quick.create_user","创建用户信息","welcome_suggested_prompt","data_action.execute","execute_data_action",{dataActionIntent:{operation:"create",displayName:"用户信息"}}),Ne("workbench.quick.insert_radar","插入雷达图","welcome_suggested_prompt","workbench_card.compose","compose_workbench_card",{cardIntent:{kind:"radar"}}),Ne("workbench.quick.sales_order_top5","销售订单里金额最高的 5 单是哪几单?","welcome_suggested_prompt","semantic_sql.query","semantic_sql_query",{queryIntent:"销售订单里金额最高的 5 单是哪几单?"}),n.watch(F,(m,h)=>{m||!h||n.nextTick(()=>{var w;(w=xe.value)==null||w.focusComposer()})});const dt=n.ref(!1),Be=n.ref(""),v=n.ref(""),I=n.ref(""),G=n.ref(!1),T=n.ref(!1),Q=n.ref(0),te=n.ref(!1),M=n.ref(!1),O=n.ref(""),j=n.computed(()=>{const m=C.conversations.value.find(h=>h.id===O.value);return(m==null?void 0:m.title)||""}),ie=n.computed(()=>j.value?`确认删除会话“${j.value}”?`:"确认删除这个会话?"),Ie=n.computed(()=>G.value?Q.value:C.conversations.value.length),Se=n.computed(()=>{const m=new Date;return ce.value.filter(h=>{if(!h.updatedAt)return!0;const w=new Date(h.updatedAt);return w.getFullYear()===m.getFullYear()&&w.getMonth()===m.getMonth()&&w.getDate()===m.getDate()})}),Pe=n.computed(()=>{const m=new Date;return ce.value.filter(h=>{if(!h.updatedAt)return!1;const w=new Date(h.updatedAt);return!(w.getFullYear()===m.getFullYear()&&w.getMonth()===m.getMonth()&&w.getDate()===m.getDate())})});function Ce(m){if(!m)return"";const h=new Date(m);if(!Number.isFinite(h.getTime()))return"";const w=new Date,le=ft(h);if(lt(h,w))return le;const De=`${Fe(h.getMonth()+1)}-${Fe(h.getDate())}`;return h.getFullYear()===w.getFullYear()?`${De} ${le}`:`${h.getFullYear()}-${De} ${le}`}function rt(m){if(!m)return"";const h=new Date(m);return Number.isFinite(h.getTime())?[`${h.getFullYear()}-${Fe(h.getMonth()+1)}-${Fe(h.getDate())}`,ft(h)].join(" "):""}function lt(m,h){return m.getFullYear()===h.getFullYear()&&m.getMonth()===h.getMonth()&&m.getDate()===h.getDate()}function Fe(m){return String(m).padStart(2,"0")}function ft(m){return`${Fe(m.getHours())}:${Fe(m.getMinutes())}`}function S(){C.createConversation(),d("new-conversation"),ne.value="chat"}async function q(){await C.createConversation(),d("new-conversation")}async function re(m){I.value="",await C.switchConversation(m),ne.value="chat"}async function ee(m){ge(m)}function ge(m){const h=C.conversations.value.find(w=>w.id===m);h&&(I.value="",O.value=h.id,te.value=!0)}function we(){M.value||(te.value=!1,O.value="")}async function Ge(){if(!(M.value||!O.value)){M.value=!0;try{await C.deleteConversation(O.value),te.value=!1,O.value=""}finally{M.value=!1}}}function Xe(m){const h=C.conversations.value.find(w=>w.id===m);h&&(I.value="",v.value=h.id,Be.value=h.title,dt.value=!0)}function It(m){I.value=I.value===m?"":m}function pt(m){return m.length>gy}function f(m){ne.value=m,C.loadConversations()}function b(){ne.value="chat"}function x(){b()}function X(){f("history")}function ke(){ne.value="settings"}function Re(){ke()}function st(){ne.value="settings",d("settings-open")}function Rt(){ne.value="chat",d("settings-close")}function ht(){Z.value||(Z.value=!0,d("settings-save",m=>{Z.value=!1,m&&ua.message.success("工作台设置已保存")}))}function Ye(){const m=Be.value.trim();m&&v.value&&C.renameConversation(v.value,m),dt.value=!1}function vt(){Q.value=C.conversations.value.length,G.value=!0}function Yt(){T.value||(G.value=!1)}async function et(){if(!T.value){T.value=!0,G.value=!1;try{await C.clearConversations()}finally{T.value=!1,Q.value=0}}}function Jt(m){jn(m)}async function jn(m){const h=m.trim();h&&(ne.value="chat",await C.sendMessage(h))}function mn(m){return/^(取消|算了|不用了|停止|放弃)$/u.test(m.trim())}function vn(m){const h=m.trim().replace(/\s+/gu,"");if(!/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(h))return;const w=Number(h.replace(/\D/gu,""));return Number.isFinite(w)?w:void 0}function Cn(m,h){if(!m||!h.trim())return;const w=mn(h),le=vn(h);C.messages.value=C.messages.value.map(De=>{var yt;const tt=De.taskStateDraft;if(!tt||tt.taskId!==m||!tt.canConfirm)return De;const $e=le!==void 0?(yt=tt.confirmationOptions)==null?void 0:yt.find(Ot=>Ot.index===le):void 0;return{...De,taskStateDraft:{...tt,title:`${tt.title}已确认`,status:w?"cancelled":"confirmed",statusLabel:"已确认",statusTone:w?"neutral":"success",canConfirm:!1,confirmPhrase:void 0,cancelPhrase:void 0,resultSummary:w?"已取消本次问数确认。":$e?`已选择口径 ${$e.index}:${$e.label}`:"已确认,正在继续执行问数。"}}})}function Dn(m,h,w){Cn(h,w),d("confirm-task-state",{turnId:m,taskId:h,phrase:w})}function Sn(m,h,w){Cn(h,w),d("cancel-task-state",{turnId:m,taskId:h,phrase:w})}function Y(m,h){d("choose-card-recommendation",m,h)}function de(m){d("configure-card-recommendation",m)}function Me(m){return/(不要|别|无需|不用|先不).{0,8}(插入|插卡|添加|加到|放到)/.test(m)}function ve(m){const h=m.trim();return!h||Me(h)?!1:/(插入|插卡|添加|加到|放到).{0,12}(左侧|工作台|画布|页面|卡片)/.test(h)||/(左侧|工作台|画布|页面).{0,12}(插入|插卡|添加|加上|放上)/.test(h)}function qe(m){const h=m.trim();return!h||Me(h)||!/(用|按|改成|改为|换成|调整为|调整成|设为|设置为|变成|方式|占比|比例|分布|展示|显示|呈现)/.test(h)?null:/(环形图|环图)/.test(h)?"donut":/饼图|饼状图|圆饼图/.test(h)?"pie":/折线图|折状图/.test(h)?"line":/面积图/.test(h)?"area":/柱状图|柱形图/.test(h)?"bar":/漏斗图/.test(h)?"funnel":null}function je(m,h){const w=m.replace(/\s+/g,""),le=h.find(De=>w.includes(De.replace(/\s+/g,"")));return le?[le]:h}function Je(m,h){const w=qe(h);if(!w)return null;const le=je(h,m.chart.yFields),De=w==="pie"||w==="donut";return{...m,chart:{...m.chart,type:w,yFields:De?le.slice(0,1):le}}}function zt(m){var Or;const h=m.replace(/\s+/g," ").replace(/[??。.!!、]+$/g,"").trim();if(!h||/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(h.replace(/\s+/g,"")))return"";const w=/^(?:请|帮我|麻烦|能不能|可以|我想|能否|请问|我想了解|我想知道|麻烦你?|能麻烦)\s*/u,le=/(?:给我|给我看看|帮我查|帮我分析|帮我看看|查一下|看一下|分析一下?|展示一下?|显示一下?|告诉我|说一下|列举一下?|统计一下?|对比一下?|比较一下?|算一下?)\s*/gu,De=/(?:是多少|有多少|怎么样|的情况|的情况如何|如何|呢|吗|吧|的数据|的数据吗|是什么|是什么情况|有哪些|有哪些变化|趋势如何)$/u,tt=/(?:最近的?|最近\d+[天月年周个]*|今年|去年|上个月|本月|本季度|上季度|当月|上半年|下半年|第[一二三四]季度|\d{4}年(?:第[一二三四]季度)?)/gu;let $e=h.replace(w,"").replace(le,"").replace(De,"").replace(tt,"").replace(/^[的的和与及,,]\s*|\s*[的的和与及,,]$/g,"").trim();if($e||($e=h),$e.length<=20)return $e;const yt=$e.match(/(?:各|全部)?([一-鿿]{0,3}(?:区域|地区|部门|产品线?|品类|渠道|门店|客户|业务线?|分公司|团队|大区|中心))/u),Ot=((Or=yt==null?void 0:yt[1])==null?void 0:Or.slice(0,4))||"",Mn=[/[一-鿿A-Za-z0-9]*(?:毛利率|净利率|利润率|增长率|同比增长|环比增长|占比)/u,/[一-鿿A-Za-z0-9]*(?:销售额|利润|营收|成本|费用|收入|支出)/u,/[一-鿿A-Za-z0-9]*(?:量|数|价|率|额|比)/u];let fn="";for(const ia of Mn){const Fr=$e.match(ia);if(Fr){fn=Fr[0];break}}if(fn){const ia=`${Ot}${fn}`;if(ia.length>0&&ia.length<=20)return ia;if(fn.length<=20)return fn}const Ia=$e.match(/[一-鿿A-Za-z0-9]+(?:额|率|量|数|占比|增长|排名|TOP\d*)/u);return Ia&&Ia[0].length<=20?Ia[0]:`${$e.slice(0,19)}…`}function en(m){return/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(m.replace(/\s+/g,""))}function Nn(m){const h=m.replace(/\s+/g,"");return/用户已对上一轮问数澄清作出选择|上一轮问数澄清.*继续查询|基于该选择继续查询/u.test(h)}function Ln(m){const h=m.replace(/\s+/g,"");return en(m)?!0:/^(?:选|选择|已选|我选|就选|用|使用|确认|确定|继续)(?:第?[1-9]\d*(?:个|项|号)?|[\u4e00-\u9fa5A-Za-z0-9_-]{1,24})$/u.test(h)||/^按(?:第?[1-9]\d*(?:个|项|号)?|[\u4e00-\u9fa5A-Za-z0-9_-]{1,6})$/u.test(h)}function Ht(m){const h=m.replace(/\s+/g,"");return h?/^(?:请|帮我)?(?:(?:把|将)?(?:(?:查询|问数|统计|汇总)?结果|(?:上次|上回|上轮|上一轮|上一条|刚才|刚刚|这个|这次|当前|上面|上述)(?:的)?(?:查询|问数|数据|统计|汇总)?(?:结果|数据|指标|当前值|值))?)?(?:推荐|生成|创建|预览|展示|做|做成)?(?:几张|多个|多张|多维度|按维度)?(?:图表)?(?:卡片|卡|图表)(?:候选|推荐|预览)?$/u.test(h)&&/(?:推荐|候选|预览|几张|多个|多张|多维度|按维度)/u.test(h):!1}function tn(m){const h=m.trim();return!!h&&!en(h)&&!Nn(h)&&!Ln(h)&&!Ht(h)}function fe(){for(const m of[...B.value].reverse()){if(m.role!=="user")continue;const h=m.content.trim();if(tn(h))return h}return""}function k(m){var le,De,tt,$e;const h=(De=(le=m.dataBinding)==null?void 0:le.question)==null?void 0:De.trim();if(h&&tn(h))return h;const w=($e=(tt=m.meta)==null?void 0:tt.prompt)==null?void 0:$e.trim();return w&&tn(w)?w:fe()}function L(m){var yt,Ot,Mn,fn;const h=k(m),w=zt(h);if(!h||!w)return m;const le=(Ot=(yt=m.meta)==null?void 0:yt.prompt)==null?void 0:Ot.trim(),De=(fn=(Mn=m.dataBinding)==null?void 0:Mn.question)==null?void 0:fn.trim(),tt=!!(le&&!tn(le)),$e=!!(De&&!tn(De));return{...m,title:w,dataBinding:{...m.dataBinding,question:h},...tt||$e?{meta:{...m.meta,prompt:h}}:{}}}function N(m){const h=hi(m),w=Array.isArray(m.viewAlternatives)?m.viewAlternatives.map($e=>N($e)):void 0,le=!!w&&w.some(($e,yt)=>{var Ot;return $e!==((Ot=m.viewAlternatives)==null?void 0:Ot[yt])});if(!h)return le?{...m,...w?{viewAlternatives:w}:{}}:m;const De=m.blockPlan&&typeof m.blockPlan=="object"?{...m.blockPlan}:m.blockPlan;let tt=!1;return De&&typeof De=="object"&&"title"in De&&(typeof De.title=="string"?De.title.trim():"")!==h&&(De.title=h,tt=!0),!tt&&!le?m:{...m,...De?{blockPlan:De}:{},...w?{viewAlternatives:w}:{}}}function me(m){const h=m.cardRecommendationDraft;if(!h)return m;const w=We.get(m);if((w==null?void 0:w.draft)===h)return w.normalized;const le=h.recommendations.map($e=>N($e)),tt=le.some(($e,yt)=>$e!==h.recommendations[yt])?{...m,cardRecommendationDraft:{...h,recommendations:le}}:m;return We.set(m,{draft:h,normalized:tt}),tt}function be(m){const h=m.cardRecommendationDraft;return String(m.workbenchTurnId||(h==null?void 0:h.placementTurnId)||(h==null?void 0:h.sourceTurnId)||"").trim()}function Ee(m){const h=new Set(m.filter(w=>{var le;return(((le=w.cards)==null?void 0:le.length)||0)>0}).map(be).filter(Boolean));return h.size===0?m:m.filter(w=>{var le;return!w.cardRecommendationDraft||(((le=w.cards)==null?void 0:le.length)||0)>0||!h.has(be(w))})}function ot(m){return Ee(m).map(h=>me(h))}function Mt(){var m;if(C.latestChartCard.value)return C.latestChartCard.value;for(const h of[...B.value].reverse()){const w=(m=h.cards)==null?void 0:m[h.cards.length-1];if(w)return w}return null}function Et(){return C.latestMetricCard.value}function ra(m){var w,le;const h=((le=(w=m.dataBinding)==null?void 0:w.question)==null?void 0:le.trim())||fe();return h?{...m,dataBinding:{...m.dataBinding,question:h}}:m}function ut(m){var tt,$e,yt,Ot;if((tt=m.meta)!=null&&tt.workbenchAdaptiveHeightPx)return m;const h=((($e=m.meta)==null?void 0:$e.prompt)||((yt=m.dataBinding)==null?void 0:yt.question)||"").length,w=((Ot=m.summary)==null?void 0:Ot.length)||0,le=m.chart.type==="mini-bar"?210:390,De=Math.ceil(h/28)*20+Math.ceil(w/32)*22;return{...m,meta:{...m.meta,workbenchAdaptiveHeightPx:Math.max(le,le+De)}}}async function Ea(m){const h=Mt(),w=h?Je(h,m):null;if(w){d("insertCard",ut(w));return}if(ve(m)){const le=Et();if(le){d("insertMetricCard",ra(le));return}if(h){d("insertCard",ut(L(h)));return}}await C.sendMessage(m)}function xa(){F.value||C.isCompacting.value||C.compactContext()}function Nr(m){const h=m==null?void 0:m.match(/^data:([^;,]+)[;,]/);return h==null?void 0:h[1]}function Kn(m){var yt,Ot,Mn;const h=((yt=m.fileName)==null?void 0:yt.trim())||(m.type==="file"?"附件":"图片"),w=m.type!=="file",le=((Ot=m.text)==null?void 0:Ot.trim())||(w?`上传图片:${h}`:`上传附件:${h}`),De=new Date().toISOString(),tt={id:`image-user-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,role:"user",content:le,timestamp:De};tt.attachments=[{type:w?"image":"file",url:m.downloadUrl||m.imageUrl,downloadUrl:m.downloadUrl,fileId:m.fileId,name:h,mimeType:m.mimeType||Nr(m.imageUrl)||(w?"image/*":"application/octet-stream"),rawFile:m.file,size:(Mn=m.file)==null?void 0:Mn.size}];const $e={id:`${w?"image":"attachment"}-status-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,role:"status",content:m.statusContent||(w?"正在识别图片...":"附件已上传"),loading:m.statusLoading??w,timestamp:De,startTime:Date.now()};return C.messages.value.push(tt,$e),$e.id}function er(m,h){const w=C.messages.value.find(le=>le.id===m);w&&(w.content=h.content,w.loading=h.loading??!1,w.error=h.error,w.detail=h.detail)}function D(m,h){const w="fileName"in m&&m.fileName?m.fileName:m.file.name;return{type:h,url:m.previewUrl||m.downloadUrl,downloadUrl:m.downloadUrl,fileId:m.fileId,name:w,mimeType:m.mimeType||(h==="image"?"image/*":"application/octet-stream"),rawFile:m.file,size:m.file.size}}async function $(m,h){ne.value="chat",await C.sendMessage(m,{attachments:[h]})}function Lr(m){const h=m.text.trim();return h||(m.attachments.every(w=>w.type==="image")?"分析图片":"分析附件")}async function it(m){if(m.attachments.length!==0){if(c.transport){ne.value="chat",await C.sendMessage(Lr(m),{attachments:m.attachments.map(h=>D(h,h.type))});return}for(const h of m.attachments){if(h.type==="image"&&!c.routeImagesAsAttachments){await An({base64:h.base64||"",file:h.file,fileName:h.fileName,mimeType:h.mimeType,previewUrl:h.previewUrl,text:m.text});continue}await gt({...h,text:m.text})}}}async function An(m){var w;if(c.transport){const le=m.fileName||m.file.name;await $(((w=m.text)==null?void 0:w.trim())||"分析图片",D({...m,fileName:le},"image"));return}const h=Kn({fileName:m.file.name,file:m.file,imageUrl:m.previewUrl,mimeType:m.mimeType,text:m.text,statusContent:"图片已添加,正在识别图片...",statusLoading:!0});d("image-upload",{...m,fileName:m.fileName||m.file.name,messageId:h})}async function gt(m){var w;if(c.transport){await $(((w=m.text)==null?void 0:w.trim())||(m.type==="image"?"分析图片":"分析附件"),D(m,m.type));return}const h=Kn({fileName:m.fileName,file:m.file,imageUrl:m.previewUrl,mimeType:m.mimeType,text:m.text,statusContent:"附件已添加",statusLoading:!1,type:m.type});d("attachment-upload",{...m,fileName:m.fileName,messageId:h})}function Pn(m){d("confirm-compose-plan",m)}function zs(){const m=C.messages.value.findIndex(h=>h.planDraft);m!==-1&&C.messages.value.splice(m,1),d("cancel-compose-plan")}function tr(m,h){d("modify-compose-plan",{planId:m,prompt:h})}function Pr(m){C.messages.value.push({id:`plan-${m.planId}`,role:"assistant",content:"已生成编排方案,请确认后生成卡片。",planDraft:m,timestamp:new Date().toISOString()})}function Mr(m){C.messages.value.push({id:`card-rec-${m.recommendationId}`,role:"assistant",content:"",cardRecommendationDraft:m,timestamp:new Date().toISOString()})}function sa(m){ue.value=m,ne.value="chat",n.nextTick(()=>{var h;(h=xe.value)==null||h.setText(ue.value)})}function Ba(){ne.value="chat",n.nextTick(()=>{var m;(m=xe.value)==null||m.focusComposer()})}function oa(m,h){return C.appendMessage(m,h)}function nr(m,h){return C.assignWorkbenchTurnIds(m,h)}function Qn(m,h,w){return C.replaceWorkbenchTurnAnswer(m,h,w)}function wn(m){d("insertCard",L(m)),Ba()}function xt(m,h){var w,le;(le=(w=oe.value)==null?void 0:w.setMemoryCaptureStatus)==null||le.call(w,m,h)}return r({conversations:ce,activeId:Le,startNewConversation:q,switchConversation:re,deleteConversation:ee,openDeleteConversationDialog:ge,openRenameConversationDialog:Xe,openClearConversationDialog:vt,pushImageUploadMessage:Kn,updateImageUploadMessage:er,pushPlanDraft:Pr,pushCardRecommendationDraft:Mr,assignWorkbenchTurnIds:nr,appendMessage:oa,replaceWorkbenchTurnAnswer:Qn,sendText:jn,setInputText:sa,focusComposer:Ba,openChatPanelFromHost:x,openHistoryPanel:X,openSettingsPanelFromHost:Re,setMemoryCaptureStatus:xt,moveMessageToEnd:C.moveMessageToEnd}),(m,h)=>(n.openBlock(),n.createBlock(n.unref(Jr.TrThemeProvider),null,{default:n.withCtx(()=>[n.createElementVNode("div",mg,[n.createElementVNode("div",fg,[ne.value==="chat"?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["runtime-chat__topbar",{"runtime-chat__topbar--shadow":ae.value}]),"aria-label":"对话工具"},[R.value?(n.openBlock(),n.createElementBlock("div",pg,[n.renderSlot(m.$slots,"topbar-leading",{},void 0,!0)])):n.createCommentVNode("",!0),n.createElementVNode("div",hg,[n.createVNode(n.unref(ua.Tooltip),{title:"新建会话",placement:"bottom","overlay-class-name":"runtime-chat__topbar-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("button",{type:"button",class:"runtime-chat__topbar-action","aria-label":"新建会话","data-testid":"chat-action-new",disabled:n.unref(B).length===0,onClick:S},[n.createVNode(n.unref(Ze.MessageOutlined))],8,gg)]),_:1}),e.enableChatHistory?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:"历史对话",placement:"bottom","overlay-class-name":"runtime-chat__topbar-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("button",{type:"button",class:"runtime-chat__topbar-action","aria-label":"历史对话","data-testid":"chat-action-history",onClick:h[0]||(h[0]=w=>f("history"))},[n.createVNode(n.unref(Ze.ClockCircleOutlined))])]),_:1})):n.createCommentVNode("",!0),n.createVNode(n.unref(ua.Tooltip),{title:"配置",placement:"bottom","overlay-class-name":"runtime-chat__topbar-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["runtime-chat__topbar-action",{"runtime-chat__topbar-action--active":e.canvasConfigActive}]),"aria-label":"配置","data-testid":"chat-action-settings",onClick:ke},[n.createVNode(n.unref(Ze.SettingOutlined))],2)]),_:1})])],2)):n.createCommentVNode("",!0),n.createElementVNode("div",yg,[ne.value==="chat"&&ye.value.length>0?(n.openBlock(),n.createBlock(Th,{key:0,ref_key:"messageListRef",ref:oe,messages:ye.value,"hidden-status-message-ids":St.value,"auto-insert-compose-plan":!!c.autoInsertComposePlan,"task-state-actions-disabled":c.taskStateActionsDisabled||n.unref(F),onInsertCard:wn,onChooseCardRecommendation:Y,onConfigureCardRecommendation:de,onConfirmPlan:Pn,onCancelPlan:zs,onConfirmTaskState:Dn,onCancelTaskState:Sn,onMemoryCaptureDismiss:h[1]||(h[1]=(w,le)=>d("memory-capture-dismiss",{turnId:w,itemId:le})),onMemoryCaptureSave:h[2]||(h[2]=(w,le)=>d("memory-capture-save",{turnId:w,itemId:le})),onModifyPlan:tr,onSendFollowUp:Jt,onAutoInsertComposePlanChange:h[3]||(h[3]=w=>d("auto-insert-compose-plan-change",w)),onScrollPositionChange:Tt},null,8,["messages","hidden-status-message-ids","auto-insert-compose-plan","task-state-actions-disabled"])):ne.value==="chat"&&n.unref(K)?(n.openBlock(),n.createElementBlock("section",bg,[...h[15]||(h[15]=[n.createElementVNode("div",{class:"chat-switching-skeleton__spinner","aria-hidden":"true"},null,-1),n.createElementVNode("div",{class:"chat-switching-skeleton__text"},"正在加载会话…",-1),n.createElementVNode("div",{class:"chat-switching-skeleton__messages"},[n.createElementVNode("div",{class:"chat-switching-skeleton__message chat-switching-skeleton__message--assistant"}),n.createElementVNode("div",{class:"chat-switching-skeleton__message chat-switching-skeleton__message--user"}),n.createElementVNode("div",{class:"chat-switching-skeleton__message chat-switching-skeleton__message--assistant"})],-1)])])):ne.value==="chat"?(n.openBlock(),n.createElementBlock("section",{key:2,ref_key:"welcomeWorkspaceRef",ref:He,class:"chat-workspace","aria-label":"AI 助手介绍",onScroll:Pt},[n.createElementVNode("div",{class:"ai-chat-prologue",innerHTML:Te.value},null,8,kg)],544)):ne.value==="history"?(n.openBlock(),n.createElementBlock("section",_g,[n.createElementVNode("header",{class:n.normalizeClass(["chat-panel__header",{"chat-panel__header--with-extra":U.value}])},[n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"返回",onClick:b},[n.createVNode(n.unref(Ze.LeftOutlined))]),h[16]||(h[16]=n.createElementVNode("h2",{class:"chat-panel__title"},"历史",-1)),U.value?(n.openBlock(),n.createElementBlock("div",Cg,[n.renderSlot(m.$slots,"utility-header-extra",{},void 0,!0)])):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"关闭",onClick:b},[n.createVNode(n.unref(Ze.CloseOutlined))])],2),n.createElementVNode("div",Sg,[n.unref(H)?(n.openBlock(),n.createElementBlock("div",Ag,[...h[17]||(h[17]=[n.createElementVNode("span",{class:"chat-history-panel__spinner","aria-hidden":"true"},null,-1),n.createElementVNode("span",null,"正在加载历史对话",-1)])])):(n.openBlock(),n.createElementBlock("section",wg,[h[18]||(h[18]=n.createElementVNode("h3",{class:"chat-history-group__title"},"今天",-1)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Se.value,w=>(n.openBlock(),n.createElementBlock("div",{key:w.id,class:n.normalizeClass(["chat-history-item",{"chat-history-item--active":w.id===Le.value,"chat-history-item--menu-open":I.value===w.id}]),"data-testid":`chat-history-item-row-${w.id}`},[n.createElementVNode("button",{type:"button",class:"chat-history-item__select","data-testid":`chat-history-item-${w.id}`,onClick:le=>re(w.id)},[n.createVNode(n.unref(Ze.CommentOutlined),{class:"chat-history-item__icon"}),n.createElementVNode("span",xg,[pt(w.title)?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:w.title,placement:"topRight","overlay-class-name":"runtime-chat__history-title-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("span",{class:"chat-history-item__title-tooltip-trigger","data-testid":`chat-history-title-tooltip-${w.id}`},[n.createElementVNode("span",Ig,n.toDisplayString(w.title),1)],8,Bg)]),_:2},1032,["title"])):(n.openBlock(),n.createElementBlock("span",{key:1,class:"chat-history-item__title","data-testid":`chat-history-title-${w.id}`},n.toDisplayString(w.title),9,Rg)),Ce(w.updatedAt)?(n.openBlock(),n.createElementBlock("span",{key:2,class:"chat-history-item__time",title:rt(w.updatedAt),"data-testid":`chat-history-updated-at-${w.id}`},n.toDisplayString(Ce(w.updatedAt)),9,vg)):n.createCommentVNode("",!0)])],8,Eg),n.createElementVNode("div",Dg,[n.createElementVNode("button",{type:"button",class:"chat-history-item__more",title:"更多操作","aria-expanded":I.value===w.id,"data-testid":`chat-history-more-${w.id}`,onClick:n.withModifiers(le=>It(w.id),["stop"])},[n.createVNode(n.unref(Ze.EllipsisOutlined))],8,Ng),I.value===w.id?(n.openBlock(),n.createElementBlock("div",{key:0,class:"chat-history-item__menu",onClick:h[4]||(h[4]=n.withModifiers(()=>{},["stop"]))},[n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action","data-testid":`chat-history-rename-${w.id}`,onClick:le=>Xe(w.id)}," 重命名 ",8,Lg),n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action chat-history-item__menu-action--danger","data-testid":`chat-history-delete-${w.id}`,onClick:le=>ge(w.id)}," 删除 ",8,Pg)])):n.createCommentVNode("",!0)])],10,Tg))),128))])),n.unref(H)?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("section",Mg,[h[19]||(h[19]=n.createElementVNode("h3",{class:"chat-history-group__title"},"过去 30 天",-1)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Pe.value,w=>(n.openBlock(),n.createElementBlock("div",{key:w.id,class:n.normalizeClass(["chat-history-item",{"chat-history-item--active":w.id===Le.value,"chat-history-item--menu-open":I.value===w.id}]),"data-testid":`chat-history-item-row-${w.id}`},[n.createElementVNode("button",{type:"button",class:"chat-history-item__select","data-testid":`chat-history-item-${w.id}`,onClick:le=>re(w.id)},[n.createVNode(n.unref(Ze.CommentOutlined),{class:"chat-history-item__icon"}),n.createElementVNode("span",$g,[pt(w.title)?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:w.title,placement:"topRight","overlay-class-name":"runtime-chat__history-title-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("span",{class:"chat-history-item__title-tooltip-trigger","data-testid":`chat-history-title-tooltip-${w.id}`},[n.createElementVNode("span",zg,n.toDisplayString(w.title),1)],8,Vg)]),_:2},1032,["title"])):(n.openBlock(),n.createElementBlock("span",{key:1,class:"chat-history-item__title","data-testid":`chat-history-title-${w.id}`},n.toDisplayString(w.title),9,Hg)),Ce(w.updatedAt)?(n.openBlock(),n.createElementBlock("span",{key:2,class:"chat-history-item__time",title:rt(w.updatedAt),"data-testid":`chat-history-updated-at-${w.id}`},n.toDisplayString(Ce(w.updatedAt)),9,Gg)):n.createCommentVNode("",!0)])],8,Fg),n.createElementVNode("div",qg,[n.createElementVNode("button",{type:"button",class:"chat-history-item__more",title:"更多操作","aria-expanded":I.value===w.id,"data-testid":`chat-history-more-${w.id}`,onClick:n.withModifiers(le=>It(w.id),["stop"])},[n.createVNode(n.unref(Ze.EllipsisOutlined))],8,Ug),I.value===w.id?(n.openBlock(),n.createElementBlock("div",{key:0,class:"chat-history-item__menu",onClick:h[5]||(h[5]=n.withModifiers(()=>{},["stop"]))},[n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action","data-testid":`chat-history-rename-${w.id}`,onClick:le=>Xe(w.id)}," 重命名 ",8,Wg),n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action chat-history-item__menu-action--danger","data-testid":`chat-history-delete-${w.id}`,onClick:le=>ge(w.id)}," 删除 ",8,jg)])):n.createCommentVNode("",!0)])],10,Og))),128))])),!n.unref(H)&&ce.value.length===0?(n.openBlock(),n.createElementBlock("div",Kg," 暂无历史对话 ")):n.createCommentVNode("",!0)])])):(n.openBlock(),n.createElementBlock("section",Qg,[n.createElementVNode("header",{class:n.normalizeClass(["chat-panel__header",{"chat-panel__header--with-extra":U.value}])},[n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"返回",onClick:Rt},[n.createVNode(n.unref(Ze.LeftOutlined))]),h[20]||(h[20]=n.createElementVNode("h2",{class:"chat-panel__title"},"工作台设置",-1)),U.value?(n.openBlock(),n.createElementBlock("div",Yg,[n.renderSlot(m.$slots,"utility-header-extra",{},void 0,!0)])):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"关闭",onClick:Rt},[n.createVNode(n.unref(Ze.CloseOutlined))])],2),n.createElementVNode("div",Jg,[e.showDefaultWorkbenchActions?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[n.createElementVNode("button",{type:"button",class:"chat-settings-panel__secondary","data-testid":"chat-settings-switch-default",onClick:h[6]||(h[6]=w=>d("switch-default-workbench"))},n.toDisplayString(e.defaultWorkbenchSwitchLabel),1),n.createElementVNode("button",{type:"button",class:"chat-settings-panel__secondary","data-testid":"chat-settings-restore-default",onClick:h[7]||(h[7]=w=>d("restore-default-workbench"))}," 恢复默认工作台 ")],64)):n.createCommentVNode("",!0),he.value?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"chat-settings-panel__secondary chat-settings-panel__secondary--wide","data-testid":"chat-settings-edit-workbench",onClick:st}," 编辑工作台 ")),he.value?(n.openBlock(),n.createElementBlock(n.Fragment,{key:2},[n.createElementVNode("button",{type:"button",class:"chat-settings-panel__secondary","data-testid":"chat-settings-auto-arrange",onClick:h[8]||(h[8]=w=>d("auto-arrange"))},[n.createVNode(n.unref(Ze.DragOutlined)),h[21]||(h[21]=n.createTextVNode(" 自动排列 ",-1))]),n.createElementVNode("button",{type:"button",class:"chat-settings-panel__primary","data-testid":"chat-settings-save",disabled:Z.value,onClick:ht},[Z.value?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[h[22]||(h[22]=n.createElementVNode("span",null,"保存中",-1)),h[23]||(h[23]=n.createElementVNode("span",{class:"chat-saving-dots","aria-hidden":"true"},[n.createElementVNode("span",{class:"chat-saving-dots__dot"},"."),n.createElementVNode("span",{class:"chat-saving-dots__dot"},"."),n.createElementVNode("span",{class:"chat-saving-dots__dot"},".")],-1))],64)):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createTextVNode("保存")],64))],8,Zg)],64)):n.createCommentVNode("",!0)]),e.showPersonaSettings?(n.openBlock(),n.createElementBlock("div",Xg,[h[24]||(h[24]=n.createElementVNode("div",{class:"chat-settings-panel__persona-title"},"人格设定",-1)),n.createElementVNode("div",ey,[(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(At,w=>n.createElementVNode("button",{key:w.id,type:"button",class:n.normalizeClass(["chat-settings-panel__persona-option",{"chat-settings-panel__persona-option--active":e.assistantPersonaKey===w.id}]),"aria-selected":e.assistantPersonaKey===w.id,onClick:le=>d("assistant-persona-change",w.id)},n.toDisplayString(w.label),11,ty)),64))])])):n.createCommentVNode("",!0),n.createElementVNode("div",ny,[n.renderSlot(m.$slots,"settings",{},void 0,!0)])]))]),ne.value==="chat"?(n.openBlock(),n.createElementBlock("div",ay,[nt.value?(n.openBlock(),n.createBlock(ug,{key:0,plan:nt.value},null,8,["plan"])):n.createCommentVNode("",!0),n.createVNode(Zh,{ref_key:"senderRef",ref:xe,"business-group-error":c.businessGroupError,"business-group-loading":c.businessGroupLoading,"business-groups":c.businessGroups,loading:n.unref(F),placeholder:e.placeholder,"route-images-as-attachments":c.routeImagesAsAttachments,"selected-business-group":c.selectedBusinessGroup,onBusinessGroupClear:h[9]||(h[9]=w=>d("business-group-clear")),onBusinessGroupOpen:h[10]||(h[10]=w=>d("business-group-open")),onBusinessGroupSelect:h[11]||(h[11]=w=>d("business-group-select",w)),onSubmit:Ea,onCancel:n.unref(C).abortStream,onImage:An,onAttachment:gt,onAttachments:it},{history:n.withCtx(()=>[n.createVNode(ng,{usage:n.unref(C).contextUsage.value,loading:n.unref(C).isCompacting.value,disabled:n.unref(F),onCompact:xa},null,8,["usage","loading","disabled"])]),_:1},8,["business-group-error","business-group-loading","business-groups","loading","placeholder","route-images-as-attachments","selected-business-group","onCancel"])])):n.createCommentVNode("",!0)])]),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[dt.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"rename-overlay",onClick:h[14]||(h[14]=n.withModifiers(w=>dt.value=!1,["self"]))},[n.createElementVNode("div",ry,[h[25]||(h[25]=n.createElementVNode("div",{class:"rename-modal__title"},"重命名会话",-1)),n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":h[12]||(h[12]=w=>Be.value=w),class:"rename-modal__input",placeholder:"请输入新名称",onKeydown:n.withKeys(Ye,["enter"])},null,544),[[n.vModelText,Be.value]]),n.createElementVNode("div",sy,[n.createElementVNode("button",{class:"rename-modal__btn rename-modal__btn--cancel",onClick:h[13]||(h[13]=w=>dt.value=!1)}," 取消 "),n.createElementVNode("button",{class:"rename-modal__btn rename-modal__btn--confirm",onClick:Ye}," 确认 ")])])])):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[te.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"delete-overlay",onClick:n.withModifiers(we,["self"])},[n.createElementVNode("div",oy,[h[26]||(h[26]=n.createElementVNode("div",{id:"delete-conversation-title",class:"delete-modal__title"},"删除会话",-1)),n.createElementVNode("p",iy,n.toDisplayString(ie.value),1),n.createElementVNode("div",cy,[n.createElementVNode("button",{class:"delete-modal__btn delete-modal__btn--cancel",disabled:M.value,"data-testid":"delete-conversation-cancel",onClick:we}," 取消 ",8,ly),n.createElementVNode("button",{class:"delete-modal__btn delete-modal__btn--danger",disabled:M.value,"data-testid":"delete-conversation-confirm",onClick:Ge},n.toDisplayString(M.value?"删除中...":"确认删除"),9,dy)])])])):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[G.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"clear-overlay",onClick:n.withModifiers(Yt,["self"])},[n.createElementVNode("div",uy,[h[27]||(h[27]=n.createElementVNode("div",{id:"clear-conversations-title",class:"clear-modal__title"}," 清空全部会话 ",-1)),n.createElementVNode("p",my," 将删除 "+n.toDisplayString(Ie.value)+" 条会话记录,清空后会回到一个新的空对话。 ",1),n.createElementVNode("div",fy,[n.createElementVNode("button",{class:"clear-modal__btn clear-modal__btn--cancel",disabled:T.value,onClick:Yt}," 取消 ",8,py),n.createElementVNode("button",{class:"clear-modal__btn clear-modal__btn--danger",disabled:T.value,"data-testid":"clear-conversations-confirm",onClick:et},n.toDisplayString(T.value?"清空中...":"确认清空"),9,hy)])])])):n.createCommentVNode("",!0)]))]),_:3}))}}),[["__scopeId","data-v-1edb1d13"]]);Oe.CardRecommendationDraftView=tc,Oe.ChartCardRenderer=Di,Oe.FsesAiChat=Vs,Oe.FsesAiChatPlugin=su,Oe.buildRecommendationConfigSummary=Wi,Oe.canShowRecommendationFieldConfig=Em,Oe.createChartOption=Bi,Oe.default=Vs,Oe.deriveChartCardsFromMarkdown=No,Oe.getDisplayRows=Ti,Oe.getVisibleYFields=Ts,Oe.hasRecommendationFieldOptions=Gi,Oe.isMetricServiceRecommendation=Is,Oe.isSqlQuestionRecommendation=wm,Oe.normalizeCardRecommendationFieldLabels=_m,Oe.normalizeNumber=na,Oe.recommendationConfigDiagnostic=qi,Oe.recommendationFieldLabels=vs,Oe.recommendationFieldMapping=zi,Oe.recommendationFieldOptions=Hi,Oe.recommendationFilterSummary=aa,Oe.resolveCardRecommendationFieldLabel=Gn,Oe.useChat=mi,Object.defineProperties(Oe,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
23
+ `)}}function I(f){return(f.processInvocations??[]).map(b=>G(f,b))}function G(f,b){const x=T(b),X=x==="readFile"?It(b):void 0,ke=b.title||b.name||(b.kind==="skill"?"Skill":"执行工具"),ve=a.turnActive?b.status:L(b.status);return{actionLabel:te({...b,status:ve},x,ke,X),displayKind:x,error:b.error,id:b.id,inputSummary:b.inputSummary,kind:b.kind,parentMessageId:f.id,resultSummary:b.resultSummary,status:ve,titleLabel:b.title.trim()||b.name.trim()||(b.kind==="skill"?"Skill":"执行工具"),viewStatus:O(ve)}}function T(f){return f.kind==="skill"?"skill":Q(f)?"readFile":"tool"}function Q(f){const b=`${f.name} ${f.title}`.toLowerCase();return b.includes("read_file")||b.includes("read file")||b.includes("读取文件")||b.includes("read attachment")||b.includes("read workspace")}function te(f,b,x,X){return b==="readFile"?X?`Read ${X}`:x:f.status==="running"?`正在执行 ${x}`:f.status==="error"?`执行失败 ${x}`:x}function O(f){return f==="error"?"failed":f==="done"?"completed":"running"}function L(f){return f==="running"?"done":f}function j(f){const b=f.items.filter(X=>X.viewStatus==="failed");if(b.length>0)return`${b.length} 项失败:${se(b)}`;const x=f.items.filter(X=>X.viewStatus==="running");return x.length>0?x.length===1?se(x):`${x.length} 项执行中:${se(x)}`:f.items.length===1?se(f.items):`已完成 ${f.items.length} 项:${se(f.items)}`}function se(f){const b=f.slice(0,3).map(X=>X.actionLabel),x=f.length>b.length?` 等 ${f.length} 项`:"";return`${b.join("、")}${x}`}function Ce(f){return f.items.length>0}function Se(f){if(!Ce(f))return!1;const b=U.value[f.id];return b!==void 0?b:Me()}function Me(){return!0}function Qe(f){U.value={...U.value,[f.id]:!Se(f)}}function Ie(f){return`collapsed-activity-tools-${ye(f.id)}`}function st(f){return Se(f)?void 0:Ie(f)}function Re(f){return f.viewStatus==="failed"?"失败":f.viewStatus==="running"?"执行中":"已完成"}function ft(f){return`${f.parentMessageId}:${f.id}`}function C(f){return!!(f!=null&&f.trim())}function q(f){return f.viewStatus==="failed"&&C(f.error)?f.error:void 0}function re(f){return q(f)?void 0:C(f.resultSummary)?f.resultSummary:void 0}function ee(f){return C(f.inputSummary)||!!q(f)||!!re(f)}function ge(f){return z.value[ft(f)]??!0}function we(f){const b=ft(f);z.value={...z.value,[b]:!ge(f)}}function Ge(f){return`collapsed-activity-tool-${ye(ft(f))}`}function et(f){return ge(f)?void 0:Ge(f)}function It(f){const b=pt(f.inputSummary);return b||pt(f.resultSummary)}function pt(f){if(!f)return;const b=f.match(/(?:path|file|filePath|file_path)\s*[:=]\s*["']?([^"',\n}]+)/iu),x=((b==null?void 0:b[1])||"").trim();if(!x)return;const X=x.split(/[\\/]+/).filter(Boolean);return X[X.length-1]||x}return(f,b)=>ue.value?(n.openBlock(),n.createElementBlock("div",rp,[n.createElementVNode("button",{type:"button",class:"collapsed-activity__summary codex-turn-process__toggle","aria-expanded":o.expanded,"aria-controls":ie.value,onClick:At},[n.createElementVNode("span",op,n.toDisplayString(ae.value),1),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__arrow",{"is-open":o.expanded}]),"aria-hidden":"true"},[...b[0]||(b[0]=[n.createElementVNode("img",{src:Os,alt:""},null,-1)])],2)],8,sp),o.expanded?(n.openBlock(),n.createElementBlock("div",{key:0,id:xe.value,class:"collapsed-activity__items codex-turn-process__body"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Pe.value,x=>(n.openBlock(),n.createElementBlock("div",{key:x.id,class:"collapsed-activity__task"},[x.commentary?(n.openBlock(),n.createElementBlock("article",cp,[n.createElementVNode("div",lp,[n.createElementVNode("span",dp,n.toDisplayString(x.commentary.text),1)])])):n.createCommentVNode("",!0),Ce(x)?(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"codex-turn-process__group-toggle collapsed-activity__invocation-group-toggle","data-testid":"process-group-tools-toggle","aria-expanded":!Se(x),"aria-controls":st(x),onClick:X=>Qe(x)},[n.createElementVNode("span",mp,n.toDisplayString(j(x)),1),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-group-arrow",{"is-open":!Se(x)}]),"aria-hidden":"true"},[...b[1]||(b[1]=[n.createElementVNode("img",{src:Os,alt:""},null,-1)])],2)],8,up)):n.createCommentVNode("",!0),x.items.length>0&&!Se(x)?(n.openBlock(),n.createElementBlock("div",{key:2,id:Ie(x),class:"collapsed-activity__invocations codex-turn-process__tools"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(x.items,X=>(n.openBlock(),n.createElementBlock("article",{key:X.id,class:n.normalizeClass(["codex-process-item collapsed-activity__invocation",[`codex-process-item--${X.viewStatus}`,`is-${X.status}`]])},[ee(X)?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"codex-process-item__action-row a2 collapsed-activity__invocation-toggle","data-testid":"tool-action-row","aria-expanded":!ge(X),"aria-controls":et(X),onClick:ke=>we(X)},[n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-main codex-process-item__action-text",{"is-open":!ge(X)}])},[n.createElementVNode("span",hp,n.toDisplayString(X.titleLabel),1),n.createElementVNode("span",{class:n.normalizeClass(["codex-process-item__status-hint",`is-${X.viewStatus}`]),style:{"margin-left":"8px"}},n.toDisplayString(Re(X)),3),b[2]||(b[2]=n.createElementVNode("img",{class:"tool-arrow-toggle",src:Os,alt:""},null,-1))],2),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-arrow",{"is-open":!ge(X)}]),"aria-hidden":"true"},null,2)],8,pp)):(n.openBlock(),n.createElementBlock("div",gp,[n.createElementVNode("span",yp,[n.createElementVNode("span",bp,n.toDisplayString(X.titleLabel),1)]),n.createElementVNode("span",{class:n.normalizeClass(["codex-process-item__status-hint",`is-${X.viewStatus}`])},n.toDisplayString(Re(X)),3)])),ee(X)&&!ge(X)?(n.openBlock(),n.createElementBlock("div",{key:2,id:Ge(X),class:"collapsed-activity__invocation-detail codex-process-item__details"},[C(X.inputSummary)?(n.openBlock(),n.createElementBlock("section",_p,[b[3]||(b[3]=n.createElementVNode("h4",null,"输入",-1)),n.createElementVNode("pre",null,n.toDisplayString(X.inputSummary),1)])):n.createCommentVNode("",!0),q(X)?(n.openBlock(),n.createElementBlock("section",Cp,[b[4]||(b[4]=n.createElementVNode("h4",{class:"is-error"},"错误",-1)),n.createElementVNode("pre",Sp,n.toDisplayString(q(X)),1)])):re(X)?(n.openBlock(),n.createElementBlock("section",Ap,[b[5]||(b[5]=n.createElementVNode("h4",null,"输出",-1)),n.createElementVNode("pre",null,n.toDisplayString(re(X)),1)])):n.createCommentVNode("",!0)],8,kp)):n.createCommentVNode("",!0)],2))),128))],8,fp)):n.createCommentVNode("",!0)]))),128)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(F.value.filter(x=>x.error),x=>(n.openBlock(),n.createElementBlock("div",{key:`error-${x.id}`,class:"collapsed-activity__error"},[n.createElementVNode("span",wp,n.toDisplayString(x.error),1)]))),128)),Z.value?(n.openBlock(),n.createElementBlock("div",Tp,n.toDisplayString(Z.value),1)):n.createCommentVNode("",!0)],8,ip)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-8ed6feac"]]),xp={class:"plan-draft"},Bp={class:"plan-draft__blocks"},Ip={class:"plan-draft__block-title"},Rp={class:"plan-draft__block-meta"},vp={key:0,class:"plan-draft__block-warn",title:"AI 不确定此识别结果"},Dp={key:0,class:"plan-draft__auto-note"},Np={key:1,class:"plan-draft__modify"},Lp={class:"plan-draft__modify-actions"},Pp={key:2,class:"plan-draft__actions"},Mp=ln(n.defineComponent({__name:"PlanDraftCard",props:{draft:{},autoInsert:{type:Boolean,default:!1}},emits:["confirm","cancel","modify","autoInsertChange"],setup(e,{emit:a}){const o=e,c=a,d=n.ref(!1),u=n.ref("");function y(){c("confirm",o.draft.planId)}function _(){c("cancel")}function E(){d.value=!0,u.value=""}function R(){u.value.trim()&&(c("modify",o.draft.planId,u.value.trim()),d.value=!1)}function U(z){const S={"card.metric.numeric":"数值卡片","card.metric.combo":"组合卡片","card.metric.alert":"预警卡片","card.metric.targetAchievement":"目标达成卡","card.chart.line":"折线图","card.chart.bar":"柱状图","card.chart.pie":"饼图","card.chart.donut":"环形图","card.chart.radar":"雷达图","card.chart.area":"面积图","card.chart.scatter":"散点图","card.table.list":"表格卡片","card.analysis.reportSummary":"报告摘要卡","card.dashboard.executiveCockpit":"经营驾驶舱","card.utility.calendar":"日历卡"};return S[z]?S[z]:z.replace("card.","").replace("."," / ")}return(z,S)=>(n.openBlock(),n.createElementBlock("div",xp,[S[5]||(S[5]=n.createElementVNode("div",{class:"plan-draft__header"},"工作台方案确认",-1)),n.createElementVNode("div",Bp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.draft.blocks,B=>(n.openBlock(),n.createElementBlock("div",{key:B.blockId,class:"plan-draft__block"},[n.createElementVNode("span",Ip,n.toDisplayString(B.title),1),n.createElementVNode("span",Rp,n.toDisplayString(U(B.capabilityId))+" · "+n.toDisplayString(B.layout.w)+"×"+n.toDisplayString(B.layout.h),1),B.confidence<.7?(n.openBlock(),n.createElementBlock("span",vp,"?")):n.createCommentVNode("",!0)]))),128))]),o.autoInsert?(n.openBlock(),n.createElementBlock("div",Dp," 识别完成后将自动应用到画布 ")):n.createCommentVNode("",!0),!o.autoInsert&&d.value?(n.openBlock(),n.createElementBlock("div",Np,[n.withDirectives(n.createElementVNode("textarea",{"onUpdate:modelValue":S[0]||(S[0]=B=>u.value=B),class:"plan-draft__modify-input",rows:"2",placeholder:'请输入修改意见,如"把折线图换成面积图"'},null,512),[[n.vModelText,u.value]]),n.createElementVNode("div",Lp,[n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--primary",onClick:R}," 提交修改 "),n.createElementVNode("button",{type:"button",class:"plan-draft__btn",onClick:S[1]||(S[1]=B=>d.value=!1)},"取消")])])):o.autoInsert?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",Pp,[n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--primary",onClick:y},[n.createVNode(n.unref(Xe.CheckOutlined)),S[2]||(S[2]=n.createTextVNode(" 插入工作区 ",-1))]),n.createElementVNode("button",{type:"button",class:"plan-draft__btn",onClick:E},[n.createVNode(n.unref(Xe.EditOutlined)),S[3]||(S[3]=n.createTextVNode(" 修改 ",-1))]),n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--danger",onClick:_},[n.createVNode(n.unref(Xe.CloseOutlined)),S[4]||(S[4]=n.createTextVNode(" 取消 ",-1))])]))]))}}),[["__scopeId","data-v-dcacd78e"]]),Op={key:0,class:"chat-msg__error"},Fp={class:"chat-msg__error-text"},$p=["innerHTML"],Vp={key:0,class:"chat-msg__query-result-header"},zp={key:0,class:"chat-msg__query-result-title"},Hp={key:1,class:"chat-msg__query-result-count"},Gp={class:"chat-msg__query-result-scroll"},qp={key:3,class:"chat-msg__follow-up-actions"},Up=["disabled","onClick"],Wp={key:5,class:"chat-msg__cards"},jp={key:6,class:"chat-msg__task-choice"},Kp={class:"chat-msg__task-choice-title"},Qp={class:"chat-msg__task-choice-actions"},Yp=["data-choice-index","disabled","onClick"],Jp={class:"chat-msg__task-choice-index"},Zp={class:"chat-msg__task-choice-label"},Xp=["disabled"],eh={key:7,class:"chat-msg__plan-draft"},th={key:8,class:"chat-msg__card-recommendation"},nh={key:9,class:"chat-msg__task-panel"},ah={class:"chat-msg__task-header"},rh={class:"chat-msg__task-heading"},sh={class:"chat-msg__task-kicker"},oh={class:"chat-msg__task-title"},ih={key:0,class:"chat-msg__task-section"},ch={class:"chat-msg__task-fields"},lh={class:"chat-msg__task-field-label"},dh={class:"chat-msg__task-field-value"},uh={key:1,class:"chat-msg__task-section"},mh={class:"chat-msg__task-missing-list"},fh={key:2,class:"chat-msg__task-alert chat-msg__task-alert--error"},ph={key:3,class:"chat-msg__task-alert chat-msg__task-alert--summary"},hh={key:4,class:"chat-msg__task-actions"},gh=["disabled"],yh=["disabled"],bh={key:10,class:"chat-msg__memory-capture"},kh={class:"chat-msg__memory-title"},_h={class:"chat-msg__memory-content"},Ch={class:"chat-msg__memory-actions"},Sh=["disabled"],Ah={key:11,class:"chat-msg__detail"},wh={class:"detail-header"},Th={class:"detail-content__inner"},Eh=80,ac=ln(n.defineComponent({__name:"ChatMessageItem",props:{message:{type:Object,required:!0},messages:{type:Array,default:()=>[]},autoInsertComposePlan:{type:Boolean,default:!1},taskStateActionsDisabled:{type:Boolean,default:!1}},emits:["autoInsertComposePlanChange","cancelPlan","cancelTaskState","chooseCardRecommendation","configureCardRecommendation","confirmPlan","confirmTaskState","insertCard","memoryCaptureDismiss","memoryCaptureSave","modifyPlan","sendFollowUp"],setup(e,{expose:a,emit:o}){const c=e,d=o,u=n.reactive({collapsed:!0}),y=n.ref({}),_=[{label:"下载",type:"download"}],R=[...[{type:"image",matcher:C=>typeof C!="string"?C.type.startsWith("image/"):/^data:image\//i.test(C)||/^(png|jpe?g|gif|webp|bmp|svg)(?:[;,?]|$)/i.test(C)||/\.(png|jpe?g|gif|webp|bmp|svg)(?:[?#].*)?$/i.test(C)}],{type:"pdf",matcher:C=>typeof C!="string"?C.type==="application/pdf":/\.pdf(?:[?#].*)?$/i.test(C)||/^data:application\/pdf[;,]/i.test(C)}],U=n.computed(()=>c.message.attachments||[]),z=n.computed(()=>U.value.some(C=>!!C.url)?_:[]),S=n.computed(()=>U.value.map((C,q)=>{const re=C.type==="image"?"image":v(C.mimeType,C.name,C.url),ee={id:`${c.message.id}-${q}-${C.name}`,name:C.name,url:C.url||"",fileType:re,status:"success"};return C.rawFile?{...ee,rawFile:C.rawFile}:{...ee,size:C.size||1}})),B=n.computed(()=>c.message.role==="assistant"?"card":U.value.every(C=>C.type==="image")?"picture":"card"),F=n.computed(()=>{var C;return(((C=c.message.cards)==null?void 0:C.length)||0)>1}),H=n.computed(()=>ld(c.message)),Y=n.computed(()=>(c.message.cards||[]).map(C=>Q(C))),xe=n.computed(()=>c.message.queryResultTable),ie=n.computed(()=>{const C=Array.isArray(c.message.queryResultTables)?c.message.queryResultTables:[];return(C.length>0?C:xe.value?[xe.value]:[]).filter(re=>!re.renderedInMarkdown)}),ue=n.computed(()=>!!(c.message.role==="assistant"&&!c.message.loading&&!c.message.cardRecommendationDraft&&ie.value.some(C=>C.columns.length>0&&C.rows.length>0)));function ce(C){const q=C.returnedCount??C.rows.length,re=C.totalCount;return typeof re=="number"&&re>q?`已返回 ${q} / ${re} 条`:`共 ${q} 条`}const Pe=n.computed(()=>{var C;return((C=c.message.taskStateDraft)==null?void 0:C.fields.filter(q=>!!q.displayValue))||[]}),ne=n.computed(()=>{var C,q;return((q=(C=c.message.taskStateDraft)==null?void 0:C.confirmationOptions)==null?void 0:q.filter(re=>Number.isFinite(re.index)))||[]}),Z=n.computed(()=>{var q,re;const C=(re=(q=c.message.taskStateDraft)==null?void 0:q.title)==null?void 0:re.trim();return C&&!/^确认/u.test(C)?C:"候选项"}),He=n.computed(()=>c.message.role==="assistant"&&!c.message.loading?Ut(c.message.content):[]),ae=n.computed(()=>{const C=c.message.taskStateDraft;return!!(C!=null&&C.canConfirm&&ne.value.length>0)}),he=n.computed(()=>ae.value?void 0:c.message.taskStateDraft),ye=n.computed(()=>{const C=c.message.taskStateDraft;return!!(C!=null&&C.canConfirm&&C.confirmPhrase&&ne.value.length===0)}),at=n.computed(()=>ae.value),St=n.computed(()=>c.message.thinkingProcessMessages||[]),At=n.computed(()=>{const C=c.message.taskStateDraft;return!!(C!=null&&C.canConfirm&&C.cancelPhrase)}),je=n.computed(()=>c.message.memoryCaptureDraft?y.value[c.message.id]||c.message.memoryCaptureDraft.status:void 0),lt=n.computed(()=>c.message.memoryCaptureDraft?je.value==="candidate_created"?"已保存候选":je.value==="saving"?"保存中":c.message.memoryCaptureDraft.confirmLabel:"");n.watch(()=>c.message.loading,C=>{u.collapsed=!C},{immediate:!0});function Pt(){u.collapsed=!u.collapsed}function Tt(){const C=c.message.memoryCaptureDraft;C&&(y.value={...y.value,[c.message.id]:"dismissed"},d("memoryCaptureDismiss",C.turnId,C.itemId))}function rt(){const C=c.message.memoryCaptureDraft;C&&(y.value={...y.value,[c.message.id]:"saving"},d("memoryCaptureSave",C.turnId,C.itemId))}function Ut(C){const q=[],re=we=>{const Ge=we.trim().replace(/[。;;,,]\s*$/u,"");!Ge||Ge.length>80||q.includes(Ge)||q.push(Ge)};let ee=0;for(;q.length<3;){const we=C.indexOf("继续说",ee);if(we<0)break;const Ge=C.slice(we+3).search(/[「“"]/u);if(Ge<0)break;const et=we+3+Ge,It=C[et],pt=It==="「"?"」":It==="“"?"”":It,f=C.indexOf(pt,et+1);if(f<0)break;re(C.slice(et+1,f)),ee=f+1}const ge=C.match(/(?:你可以继续这样问|可以继续问|还可以继续问|后续可以):?\s*\n([\s\S]*)/u);if(ge&&q.length<3)for(const we of ge[1].split(`
24
+ `)){const Ge=we.match(/^\s*[-*]\s+(.+?)\s*$/u);if(!Ge){if(q.length>0)break;continue}if(re(Ge[1]),q.length>=3)break}return q}function Te(C){!C.trim()||c.taskStateActionsDisabled||d("sendFollowUp",C)}function Vt(){const C=c.message.taskStateDraft;c.taskStateActionsDisabled||!(C!=null&&C.canConfirm)||!C.confirmPhrase||!C.cancelPhrase||d("confirmTaskState",C.turnId,C.taskId,C.confirmPhrase)}function Le(C){const q=c.message.taskStateDraft;c.taskStateActionsDisabled||q!=null&&q.canConfirm&&d("confirmTaskState",q.turnId,q.taskId,String(C))}function dt(){const C=c.message.taskStateDraft;c.taskStateActionsDisabled||!(C!=null&&C.canConfirm)||!C.confirmPhrase||!C.cancelPhrase||d("cancelTaskState",C.turnId,C.taskId,C.cancelPhrase)}function Be(C){y.value={...y.value,[c.message.id]:C}}a({setMemoryCaptureStatus:Be});function v(C,q,re){return C.includes("pdf")||/\.pdf(?:[?#].*)?$/i.test(q)||/^data:application\/pdf[;,]/i.test(re||"")?"pdf":(C.includes("markdown")||/\.md(?:[?#].*)?$/i.test(q),"other")}function I(C,q){if(!q.url)return;C.preventDefault();const re=document.createElement("a");re.href=q.url,re.download=q.name||"download",re.rel="noopener noreferrer",document.body.appendChild(re),re.click(),document.body.removeChild(re)}function G(C){return/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(C.replace(/\s+/g,""))}function T(){const C=c.messages.findIndex(re=>re.id===c.message.id),q=C>=0?c.messages.slice(0,C):c.messages;for(const re of[...q].reverse()){if(re.role!=="user")continue;const ee=re.content.trim();if(ee&&!G(ee))return ee}return""}function Q(C){var ge,we,Ge,et;const q=(we=(ge=C.meta)==null?void 0:ge.prompt)==null?void 0:we.trim();if(q&&!G(q))return C;const re=(et=(Ge=C.dataBinding)==null?void 0:Ge.question)==null?void 0:et.trim(),ee=re&&!G(re)?re:T();return ee?{...C,dataBinding:{...C.dataBinding,question:ee},meta:{...C.meta,prompt:ee}}:C}function te(C,q){const re=C[q];if(re==null)return"";if(typeof re=="string")return re;if(typeof re=="number"||typeof re=="boolean"||typeof re=="bigint")return String(re);try{return JSON.stringify(re)}catch{return String(re)}}function O(C,q,re){var we;const ee=(we=C.columns[0])==null?void 0:we.key,ge=ee?te(q,ee):"";return`${re}-${ge}`}const L=new lo.Marked({gfm:!0,breaks:!0}),j=n.ref("");let se=null;const Ce=[/No available provider for this query/giu];function Se(C){const q=Ce.reduce((re,ee)=>re.replace(ee,""),C);return xo.sanitize(L.parse(qu(q)))}function Me(){se&&(clearTimeout(se),se=null)}function Qe(){Me(),j.value=c.message.content?Se(c.message.content):""}function Ie(){se||(se=setTimeout(()=>{se=null,j.value=c.message.content?Se(c.message.content):""},Eh))}const st=n.ref(!1);let Re=null;function ft(){Re&&(clearTimeout(Re),Re=null)}return n.watch(()=>[c.message.content,c.message.loading,c.message.streaming],(C,q)=>{if(c.message.role==="status")return;if(c.message.streaming){!j.value&&c.message.content&&(j.value=Se(c.message.content)),Ie();return}Qe(),(q==null?void 0:q[2])&&!c.message.streaming&&c.message.content&&n.nextTick(()=>{st.value=!0,ft(),Re=setTimeout(()=>{st.value=!1,Re=null},1200)})},{immediate:!0}),n.onBeforeUnmount(()=>{Me(),ft()}),(C,q)=>{var re;return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(["chat-msg",[`chat-msg--${e.message.role}`,{"chat-msg--workbench-interleaved-result":e.message.workbenchInterleavedPlacement==="result"||e.message.workbenchInterleavedPlacement==="separator-result","chat-msg--workbench-interleaved-recommendation":e.message.workbenchInterleavedPlacement==="recommendation","chat-msg--workbench-interleaved-separator":e.message.workbenchInterleavedPlacement==="separator-result"||e.message.workbenchInterleavedPlacement==="separator-tail"}]])},[e.message.error&&e.message.role==="status"?(n.openBlock(),n.createElementBlock("div",Op,[q[6]||(q[6]=n.createElementVNode("div",{class:"chat-msg__error-title"},"请求失败",-1)),n.createElementVNode("div",Fp,n.toDisplayString(e.message.error),1)])):n.createCommentVNode("",!0),e.message.role==="assistant"&&St.value.length>0?(n.openBlock(),n.createBlock(Ep,{key:1,class:"chat-msg__thinking-process",messages:St.value,"turn-active":e.message.loading||e.message.streaming},null,8,["messages","turn-active"])):n.createCommentVNode("",!0),!e.message.loading&&e.message.content&&j.value?(n.openBlock(),n.createElementBlock("div",{key:2,class:n.normalizeClass(["chat-msg__text",{"chat-msg__text--reveal":st.value}]),innerHTML:j.value},null,10,$p)):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ue.value?ie.value:[],(ee,ge)=>(n.openBlock(),n.createElementBlock("section",{key:`${e.message.id}-query-result-table-${ge}`,class:"chat-msg__query-result-table"},[ee.title||ce(ee)?(n.openBlock(),n.createElementBlock("header",Vp,[ee.title?(n.openBlock(),n.createElementBlock("div",zp,n.toDisplayString(ee.title),1)):n.createCommentVNode("",!0),ce(ee)?(n.openBlock(),n.createElementBlock("div",Hp,n.toDisplayString(ce(ee)),1)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),n.createElementVNode("div",Gp,[n.createElementVNode("table",null,[n.createElementVNode("thead",null,[n.createElementVNode("tr",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ee.columns,we=>(n.openBlock(),n.createElementBlock("th",{key:we.key},n.toDisplayString(we.label),1))),128))])]),n.createElementVNode("tbody",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ee.rows,(we,Ge)=>(n.openBlock(),n.createElementBlock("tr",{key:O(ee,we,Ge)},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ee.columns,et=>(n.openBlock(),n.createElementBlock("td",{key:et.key},n.toDisplayString(te(we,et.key)),1))),128))]))),128))])])])]))),128)),He.value.length>0?(n.openBlock(),n.createElementBlock("div",qp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(He.value,ee=>(n.openBlock(),n.createElementBlock("button",{key:ee,type:"button",class:"chat-msg__follow-up-action",disabled:e.taskStateActionsDisabled,onClick:ge=>Te(ee)},n.toDisplayString(ee),9,Up))),128))])):n.createCommentVNode("",!0),!e.message.loading&&S.value.length>0?(n.openBlock(),n.createElementBlock("div",{key:4,class:n.normalizeClass(["chat-msg__attachments",`chat-msg__attachments--${e.message.role}`])},[n.createVNode(n.unref(Jr.TrAttachments),{items:S.value,actions:z.value,"file-matchers":R,variant:B.value,disabled:"",wrap:"",onDownload:I},null,8,["items","actions","variant"])],2)):n.createCommentVNode("",!0),H.value?(n.openBlock(),n.createElementBlock("div",Wp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Y.value,ee=>(n.openBlock(),n.createBlock(Ni,{key:ee.id,card:ee,"show-insert-action":F.value,onInsertCard:ge=>d("insertCard",ge)},null,8,["card","show-insert-action","onInsertCard"]))),128))])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&ae.value?(n.openBlock(),n.createElementBlock("div",jp,[n.createElementVNode("div",Kp,n.toDisplayString(Z.value),1),n.createElementVNode("div",Qp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ne.value,ee=>(n.openBlock(),n.createElementBlock("button",{key:ee.index,type:"button",class:"chat-msg__task-choice-action","data-choice-index":ee.index,disabled:e.taskStateActionsDisabled,onClick:ge=>Le(ee.index)},[n.createElementVNode("span",Jp,n.toDisplayString(ee.index),1),n.createElementVNode("span",Zp,n.toDisplayString(ee.label),1)],8,Yp))),128)),At.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__task-choice-cancel",disabled:e.taskStateActionsDisabled,onClick:dt},n.toDisplayString((re=e.message.taskStateDraft)==null?void 0:re.cancelPhrase),9,Xp)):n.createCommentVNode("",!0)])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.planDraft?(n.openBlock(),n.createElementBlock("div",eh,[n.createVNode(Mp,{draft:e.message.planDraft,"auto-insert":e.autoInsertComposePlan,onConfirm:q[0]||(q[0]=ee=>d("confirmPlan",ee)),onCancel:q[1]||(q[1]=ee=>d("cancelPlan")),onModify:q[2]||(q[2]=(ee,ge)=>d("modifyPlan",ee,ge)),onAutoInsertChange:q[3]||(q[3]=ee=>d("autoInsertComposePlanChange",ee))},null,8,["draft","auto-insert"])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.cardRecommendationDraft&&!H.value?(n.openBlock(),n.createElementBlock("div",th,[n.createVNode(tp,{draft:e.message.cardRecommendationDraft,defer:e.message.deferCardRecommendationRender,onChoose:q[4]||(q[4]=(ee,ge)=>d("chooseCardRecommendation",ee,ge)),onConfigure:q[5]||(q[5]=ee=>d("configureCardRecommendation",ee))},null,8,["draft","defer"])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&he.value?(n.openBlock(),n.createElementBlock("section",nh,[n.createElementVNode("header",ah,[n.createElementVNode("div",rh,[n.createElementVNode("div",sh,n.toDisplayString(he.value.taskKindLabel),1),n.createElementVNode("div",oh,n.toDisplayString(he.value.title),1)]),at.value?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(["chat-msg__task-status",`chat-msg__task-status--${he.value.statusTone}`])},n.toDisplayString(he.value.statusLabel),3)):n.createCommentVNode("",!0)]),Pe.value.length>0?(n.openBlock(),n.createElementBlock("div",ih,[q[7]||(q[7]=n.createElementVNode("div",{class:"chat-msg__task-section-title"},"已收集字段",-1)),n.createElementVNode("dl",ch,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Pe.value,ee=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:ee.code},[n.createElementVNode("dt",lh,n.toDisplayString(ee.name),1),n.createElementVNode("dd",dh,n.toDisplayString(ee.displayValue),1)],64))),128))])])):n.createCommentVNode("",!0),he.value.missingFields.length>0?(n.openBlock(),n.createElementBlock("div",uh,[q[8]||(q[8]=n.createElementVNode("div",{class:"chat-msg__task-section-title"},"待补充字段",-1)),n.createElementVNode("div",mh,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(he.value.missingFields,ee=>(n.openBlock(),n.createElementBlock("span",{key:ee.code,class:"chat-msg__task-missing"},n.toDisplayString(ee.name),1))),128))])])):n.createCommentVNode("",!0),he.value.lastErrorMessage?(n.openBlock(),n.createElementBlock("div",fh,n.toDisplayString(he.value.lastErrorMessage),1)):n.createCommentVNode("",!0),he.value.resultSummary?(n.openBlock(),n.createElementBlock("div",ph,n.toDisplayString(he.value.resultSummary),1)):n.createCommentVNode("",!0),At.value?(n.openBlock(),n.createElementBlock("div",hh,[n.createElementVNode("button",{type:"button",class:"chat-msg__task-action chat-msg__task-action--cancel",disabled:e.taskStateActionsDisabled,onClick:dt},n.toDisplayString(he.value.cancelPhrase),9,gh),ye.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__task-action chat-msg__task-action--confirm",disabled:e.taskStateActionsDisabled,onClick:Vt},n.toDisplayString(he.value.confirmPhrase),9,yh)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.memoryCaptureDraft&&je.value!=="dismissed"?(n.openBlock(),n.createElementBlock("div",bh,[n.createElementVNode("div",kh,n.toDisplayString(e.message.memoryCaptureDraft.title),1),n.createElementVNode("div",_h,n.toDisplayString(e.message.memoryCaptureDraft.content),1),n.createElementVNode("div",Ch,[je.value==="draft"?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__memory-action chat-msg__memory-action--secondary",onClick:Tt},n.toDisplayString(e.message.memoryCaptureDraft.dismissLabel),1)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"chat-msg__memory-action chat-msg__memory-action--primary",disabled:je.value!=="draft",onClick:rt},n.toDisplayString(lt.value),9,Sh)])])):n.createCommentVNode("",!0),e.message.role==="status"&&e.message.detail?(n.openBlock(),n.createElementBlock("div",Ah,[n.createElementVNode("div",wh,[n.createElementVNode("span",{class:"detail-toggle",onClick:Pt},[n.createElementVNode("span",{class:n.normalizeClass(["detail-arrow",{"is-open":!u.collapsed}])},"▶",2),n.createTextVNode(" "+n.toDisplayString(u.collapsed?"展开详情":"收起详情"),1)])]),n.createElementVNode("div",{class:n.normalizeClass(["detail-content",{"is-collapsed":u.collapsed}])},[n.createElementVNode("div",Th,n.toDisplayString(e.message.detail),1)],2)])):n.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-038f9f93"]]),xh={key:2,class:"chat-message-list__events-pending","data-testid":"events-pending-thinking",role:"status","aria-live":"polite"},Bh=ln(n.defineComponent({__name:"ChatMessageList",props:{messages:{type:Array,required:!0},hiddenStatusMessageIds:{type:Array,default:()=>[]},autoInsertComposePlan:{type:Boolean,default:!1},taskStateActionsDisabled:{type:Boolean,default:!1}},emits:["insertCard","chooseCardRecommendation","configureCardRecommendation","confirmPlan","cancelPlan","confirmTaskState","cancelTaskState","memoryCaptureDismiss","memoryCaptureSave","modifyPlan","sendFollowUp","autoInsertComposePlanChange","scrollPositionChange"],setup(e,{expose:a,emit:o}){const c=e,d=o,u=n.ref(null),y=new Map,_=n.ref(0);let E=null;const R=n.computed(()=>new Set(c.hiddenStatusMessageIds)),U=n.computed(()=>yi(c.messages,{hiddenStatusMessageIds:R.value})),z=n.computed(()=>c.messages.map(ne=>[ne.id,ne.role,ne.loading?"loading":"idle",ne.streaming?ne.content.length:""].join(":")).join("|")),S=n.computed(()=>{var Z;const ne=U.value.find(F);return((Z=ne==null?void 0:ne.messages[0])==null?void 0:Z.id)||""});function B(ne){var Z;switch(ne.type){case"user":case"assistant":case"thinking":return`${ne.type}-${ne.message.id}`;case"tool-activity":return`tool-${((Z=ne.messages[0])==null?void 0:Z.id)??"empty"}`}}function F(ne){var Z;return ne.type==="tool-activity"&&ne.messages.length===1&&!!((Z=ne.messages[0])!=null&&Z.initialEventsPending)}function H(){E&&(clearInterval(E),E=null),_.value=0,E=setInterval(()=>{_.value+=1},1e3)}function Y(){E&&(clearInterval(E),E=null),_.value=0}function xe(){d("scrollPositionChange",!!(u.value&&u.value.scrollTop>0))}function ie(){xe()}function ue(){const ne=u.value;ne&&(ne.scrollTop=ne.scrollHeight),xe()}function ce(ne,Z){if(Z&&typeof Z=="object"){y.set(ne,Z);return}y.delete(ne)}function Pe(ne,Z){var He,ae;(ae=(He=y.get(ne))==null?void 0:He.setMemoryCaptureStatus)==null||ae.call(He,Z)}return a({setMemoryCaptureStatus:Pe}),n.watch(z,()=>{n.nextTick(ue)}),n.watch(S,ne=>{if(ne){H();return}Y()},{immediate:!0}),n.onMounted(ue),n.onBeforeUnmount(Y),(ne,Z)=>(n.openBlock(),n.createElementBlock("div",{ref_key:"scrollRef",ref:u,class:"chat-message-list",onScroll:ie},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(U.value,He=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:B(He)},[He.type==="user"?(n.openBlock(),n.createBlock(ac,{key:0,ref_for:!0,ref:ae=>ce(He.message.id,ae),message:He.message,messages:e.messages,"auto-insert-compose-plan":e.autoInsertComposePlan,"task-state-actions-disabled":e.taskStateActionsDisabled,onInsertCard:Z[0]||(Z[0]=ae=>d("insertCard",ae)),onChooseCardRecommendation:Z[1]||(Z[1]=(ae,he)=>d("chooseCardRecommendation",ae,he)),onConfigureCardRecommendation:Z[2]||(Z[2]=ae=>d("configureCardRecommendation",ae)),onConfirmPlan:Z[3]||(Z[3]=ae=>d("confirmPlan",ae)),onCancelPlan:Z[4]||(Z[4]=ae=>d("cancelPlan")),onConfirmTaskState:Z[5]||(Z[5]=(ae,he,ye)=>d("confirmTaskState",ae,he,ye)),onCancelTaskState:Z[6]||(Z[6]=(ae,he,ye)=>d("cancelTaskState",ae,he,ye)),onMemoryCaptureDismiss:Z[7]||(Z[7]=(ae,he)=>d("memoryCaptureDismiss",ae,he)),onMemoryCaptureSave:Z[8]||(Z[8]=(ae,he)=>d("memoryCaptureSave",ae,he)),onModifyPlan:Z[9]||(Z[9]=(ae,he)=>d("modifyPlan",ae,he)),onSendFollowUp:Z[10]||(Z[10]=ae=>d("sendFollowUp",ae)),onAutoInsertComposePlanChange:Z[11]||(Z[11]=ae=>d("autoInsertComposePlanChange",ae))},null,8,["message","messages","auto-insert-compose-plan","task-state-actions-disabled"])):He.type==="assistant"?(n.openBlock(),n.createBlock(ac,{key:1,ref_for:!0,ref:ae=>ce(He.message.id,ae),message:He.message,messages:e.messages,"task-state-actions-disabled":e.taskStateActionsDisabled,onInsertCard:Z[12]||(Z[12]=ae=>d("insertCard",ae)),onChooseCardRecommendation:Z[13]||(Z[13]=(ae,he)=>d("chooseCardRecommendation",ae,he)),onConfigureCardRecommendation:Z[14]||(Z[14]=ae=>d("configureCardRecommendation",ae)),onConfirmPlan:Z[15]||(Z[15]=ae=>d("confirmPlan",ae)),onCancelPlan:Z[16]||(Z[16]=ae=>d("cancelPlan")),onConfirmTaskState:Z[17]||(Z[17]=(ae,he,ye)=>d("confirmTaskState",ae,he,ye)),onCancelTaskState:Z[18]||(Z[18]=(ae,he,ye)=>d("cancelTaskState",ae,he,ye)),onMemoryCaptureDismiss:Z[19]||(Z[19]=(ae,he)=>d("memoryCaptureDismiss",ae,he)),onMemoryCaptureSave:Z[20]||(Z[20]=(ae,he)=>d("memoryCaptureSave",ae,he)),onModifyPlan:Z[21]||(Z[21]=(ae,he)=>d("modifyPlan",ae,he)),onSendFollowUp:Z[22]||(Z[22]=ae=>d("sendFollowUp",ae)),onAutoInsertComposePlanChange:Z[23]||(Z[23]=ae=>d("autoInsertComposePlanChange",ae))},null,8,["message","messages","task-state-actions-disabled"])):F(He)?(n.openBlock(),n.createElementBlock("div",xh," 思考中 "+n.toDisplayString(_.value)+"s ",1)):n.createCommentVNode("",!0)],64))),128))],544))}}),[["__scopeId","data-v-8ff74045"]]),Ih={class:"chat-sender"},Rh=["placeholder","disabled","onKeydown"],vh={key:0,class:"chat-sender__attachments"},Dh={key:1,class:"chat-sender__image-error"},Nh={key:2,class:"chat-sender__attachment-preparing"},Lh=["accept"],Ph={class:"chat-sender__toolbar"},Mh={class:"chat-sender__right"},Oh={class:"chat-sender__utilities"},Fh=["disabled","aria-expanded"],$h=["aria-label"],Vh={class:"chat-sender__utilities chat-sender__utilities--right"},zh=["disabled"],Hh=["onKeydown"],Gh={class:"chat-sender__business-list"},qh={key:0,class:"chat-sender__business-state"},Uh={key:1,class:"chat-sender__business-state chat-sender__business-state--error"},Wh=["aria-selected","aria-label","onClick"],jh={class:"chat-sender__business-copy"},Kh=["aria-label","onMouseenter","onFocus"],Qh={class:"chat-sender__business-name"},Yh=["aria-label","onMouseenter","onFocus"],Jh={class:"chat-sender__business-desc"},Zh={key:3,class:"chat-sender__business-state"},Dr=74,rc=100,Xh=360,Ta=20,sc=360,Fs=16,$s=6,eg=10*1024*1024,tg=ln(n.defineComponent({__name:"ChatSender",props:{businessGroupError:{default:""},businessGroupLoading:{type:Boolean,default:!1},businessGroups:{default:()=>[]},selectedBusinessGroup:{default:null},loading:{type:Boolean},placeholder:{},routeImagesAsAttachments:{type:Boolean,default:!1}},emits:["attachment","attachments","businessGroupClear","businessGroupSelect","businessGroupOpen","cancel","submit","image"],setup(e,{expose:a,emit:o}){const c=e,d=o,u=n.ref(""),y=n.ref([]),_=n.ref(null),E=n.ref(!1),R=n.ref(""),U=n.ref(null),z=n.ref(null),S=n.ref(null),B=n.ref({}),F=n.ref(null),H=n.ref(null),Y=n.ref([]),xe=n.ref(null),ie=n.ref(null),ue=n.ref(!1),ce=n.ref(0),Pe=n.computed(()=>ce.value>0),ne=n.ref(0),Z=new Set;let He=0;const ae=["image/png","image/jpeg","image/webp"],he=[],ye=[{type:"image",matcher:f=>typeof f!="string"?f.type.startsWith("image/"):/^data:image\//i.test(f)||/^(png|jpe?g|gif|webp|bmp|svg)(?:[;,?]|$)/i.test(f)||/\.(png|jpe?g|gif|webp|bmp|svg)(?:[?#].*)?$/i.test(f)}];function at(){const f=H.value;if(!f)return;if(!u.value){f.style.height=`${Dr}px`,f.style.overflowY="hidden";return}f.style.height=`${Dr}px`,f.style.overflowY="hidden";const b=f.getBoundingClientRect(),x=b.bottom>rc?Math.max(Dr,b.bottom-rc):f.scrollHeight,X=Math.max(Dr,Math.min(f.scrollHeight,x));f.style.height=`${X}px`,f.style.overflowY=f.scrollHeight>X?"auto":"hidden"}function St(f){u.value=f,n.nextTick(()=>{var b;at(),(b=H.value)==null||b.setSelectionRange(u.value.length,u.value.length)})}const At=n.computed(()=>Y.value.map(f=>{const{file:b}=f,x=f.type==="image";return{id:f.id,name:b.name,url:f.previewUrl||b.name,fileType:x?"image":"file",rawFile:b,status:"success"}})),je=n.computed(()=>{var f;return Y.value.length===1&&((f=Y.value[0])==null?void 0:f.type)==="image"?"picture":"card"}),lt=n.computed(()=>{const f=R.value.trim().toLowerCase();return f?c.businessGroups.filter(b=>[b.businessGroupName,b.businessGroupCode,b.businessGroupDescription].some(x=>x==null?void 0:x.toLowerCase().includes(f))):c.businessGroups});function Pt(f){return f.businessGroupDescription||f.groupType||f.businessGroupCode}function Tt(f){const b=Pt(f);return b&&b!==f.businessGroupName?`${f.businessGroupName}
25
+ ${b}`:f.businessGroupName}function rt(){const f=ie.value;f&&(f.value="",f.click())}function Ut(){E.value=!0,d("businessGroupOpen"),n.nextTick(()=>{var f;I(),(f=S.value)==null||f.focus()})}function Te(){E.value=!1,R.value="",T()}function Vt(f){d("businessGroupSelect",f),Te()}function Le(){d("businessGroupClear"),Te()}function dt(f){var x,X;const b=f.relatedTarget;b instanceof Node&&((x=U.value)!=null&&x.contains(b))||b instanceof Node&&((X=z.value)!=null&&X.contains(b))||Te()}function Be(f){var x,X;if(!E.value)return;const b=f.target;b instanceof Node&&((x=U.value)!=null&&x.contains(b))||b instanceof Node&&((X=z.value)!=null&&X.contains(b))||Te()}function v(){Te()}function I(){const f=U.value;if(!f||typeof window>"u"){B.value={};return}const b=window.innerWidth||document.documentElement.clientWidth,x=window.innerHeight||document.documentElement.clientHeight,X=Math.max(0,b-Ta*2),ke=Math.min(Xh,X),ve=f.getBoundingClientRect(),ot=Math.max(Ta,b-Ta-ke),Rt=Math.min(Math.max(Ta,ve.left),ot),ht=Math.max(160,ve.top-Ta*2),Je=Math.min(420,ht),vt=Math.max(Ta,x-ve.top+8);B.value={position:"fixed",left:`${Math.round(Rt)}px`,width:`${Math.round(ke)}px`,maxHeight:`${Math.round(Je)}px`,bottom:`${Math.round(vt)}px`}}function G(f,b){const x=f.currentTarget;if(!(x instanceof HTMLElement)||!b)return;const X=x.firstElementChild instanceof HTMLElement?x.firstElementChild:x;if(X.scrollWidth<=X.clientWidth){T();return}const ke=x.getBoundingClientRect(),ve=typeof window>"u"?sc:window.innerWidth||document.documentElement.clientWidth,ot=Math.min(sc,Math.max(160,ve-Fs*2)),Rt=ke.left+ke.width/2,ht=ot/2,Je=Fs+ht,vt=Math.max(Je,ve-Fs-ht),Yt=Math.min(Math.max(Je,Rt),vt),tt=ke.top>$s+36;F.value={text:b,style:{left:`${Math.round(Yt)}px`,top:`${Math.round(tt?ke.top-$s:ke.bottom+$s)}px`,transform:tt?"translate(-50%, -100%)":"translateX(-50%)",maxWidth:`${Math.round(ot)}px`}}}function T(){F.value=null}function Q(f){return ae.includes(f.type)}function te(){return He+=1,`pending-attachment-${He}`}function O(f){const b=URL.createObjectURL(f);return Z.add(b),b}function L(f){f!=null&&f.startsWith("blob:")&&(URL.revokeObjectURL(f),Z.delete(f))}function j(f,b){Y.value=[...Y.value,{file:f,fileName:f.name,mimeType:f.type||"application/octet-stream",previewUrl:b==="image"?O(f):void 0,size:f.size,type:b,id:te()}]}function se(f){return new Promise(b=>{const x=new FileReader;x.onload=()=>{const X=x.result;Y.value=[...Y.value,{base64:X.split(",")[1],file:f,fileName:f.name,mimeType:f.type,previewUrl:O(f),size:f.size,type:"image",id:te()}],b()},x.onerror=()=>{xe.value=`无法读取图片:${f.name}`,b()},x.onabort=()=>{xe.value=`已取消读取图片:${f.name}`,b()},x.readAsDataURL(f)})}async function Ce(f){if(f.length!==0){xe.value=null,ce.value+=1;try{for(const b of f){if(!Q(b)){j(b,b.type.startsWith("image/")?"image":"file");continue}if(c.routeImagesAsAttachments){j(b,"image");continue}if(b.size>eg){xe.value=`图片不能超过 10MB:${b.name}`;continue}await se(b)}}finally{ce.value=Math.max(0,ce.value-1)}}}function Se(f){const b=f.target;Ce(Array.from(b.files??[]))}function Me(f){const b=f.target;Ce(Array.from(b.files??[]))}function Qe(f){var ke,ve;const x=Array.from(((ke=f.clipboardData)==null?void 0:ke.items)??[]).find(ot=>ot.kind==="file"&&ot.type.startsWith("image/")),X=(x==null?void 0:x.getAsFile())??Array.from(((ve=f.clipboardData)==null?void 0:ve.files)??[]).find(ot=>ot.type.startsWith("image/"));X&&(f.preventDefault(),Ce([X]))}function Ie(f){const b=Y.value.find(x=>x.id===f.id);b&&(L(b.previewUrl),Y.value=Y.value.filter(x=>x.id!==b.id),xe.value=null)}function st(){Y.value.forEach(f=>{L(f.previewUrl)}),Y.value=[],Z.forEach(f=>URL.revokeObjectURL(f)),Z.clear()}function Re(f){var b;return Array.from(((b=f.dataTransfer)==null?void 0:b.types)??[]).includes("Files")}function ft(f){Re(f)&&(f.preventDefault(),ne.value+=1,ue.value=!0)}function C(f){Re(f)&&f.preventDefault()}function q(f){Re(f)&&(ne.value=Math.max(0,ne.value-1),ne.value===0&&(ue.value=!1))}function re(f){var b;Re(f)&&(f.preventDefault(),ne.value=0,ue.value=!1,Ce(Array.from(((b=f.dataTransfer)==null?void 0:b.files)??[])))}function ee(){if(Pe.value)return;if(xe.value=null,Y.value.length>0){const b=u.value.trim();d("attachments",{attachments:Y.value.map(({id:x,...X})=>X),text:b}),Y.value=[],u.value="",n.nextTick(at);return}const f=u.value.trim();f&&(y.value=[...y.value,f],_.value=null,d("submit",f),u.value="",n.nextTick(at))}function ge(f){u.value=f,n.nextTick(at)}function we(){var f;(f=H.value)==null||f.focus()}function Ge(f){if(y.value.length===0||_.value===null&&u.value.trim())return;f.preventDefault();const b=_.value===null?y.value.length-1:Math.max(0,_.value-1);_.value=b,St(y.value[b])}function et(f){if(_.value===null)return;f.preventDefault();const b=_.value+1;if(b>=y.value.length){_.value=null,St("");return}_.value=b,St(y.value[b])}function It(f){f.isComposing||(f.preventDefault(),ee())}a({focusComposer:we,handleAttachmentSelected:Se,handleImageSelected:Me,setText:ge}),n.watch(u,(f,b)=>{_.value!==null&&f!==y.value[_.value]&&f!==b&&(_.value=null),n.nextTick(at)}),n.watch(E,f=>{f?n.nextTick(I):T()});function pt(){at(),E.value&&I(),T()}return typeof window<"u"&&(window.addEventListener("resize",pt),document.addEventListener("pointerdown",Be,!0),n.onBeforeUnmount(()=>{window.removeEventListener("resize",pt),document.removeEventListener("pointerdown",Be,!0)})),n.onBeforeUnmount(()=>{ne.value=0,ue.value=!1,st()}),(f,b)=>(n.openBlock(),n.createElementBlock("div",Ih,[n.createElementVNode("div",{class:n.normalizeClass(["chat-sender__surface",{"chat-sender__surface--dragging":ue.value}]),onDragenter:ft,onDragover:C,onDragleave:q,onDrop:re},[n.withDirectives(n.createElementVNode("textarea",{ref_key:"textareaRef",ref:H,"onUpdate:modelValue":b[0]||(b[0]=x=>u.value=x),class:"chat-sender__input",rows:"2",placeholder:e.placeholder,disabled:e.loading,onKeydown:[n.withKeys(n.withModifiers(It,["exact"]),["enter"]),n.withKeys(Ge,["up"]),n.withKeys(et,["down"])],onPaste:Qe},null,40,Rh),[[n.vModelText,u.value]]),At.value.length?(n.openBlock(),n.createElementBlock("div",vh,[n.createVNode(n.unref(Jr.TrAttachments),{items:At.value,actions:he,"file-matchers":ye,variant:je.value,wrap:"",onRemove:Ie},null,8,["items","variant"]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Y.value.filter(x=>x.type==="file"),x=>(n.openBlock(),n.createElementBlock("div",{key:x.id,class:"chat-sender__attachment-name"},n.toDisplayString(x.file.name),1))),128))])):n.createCommentVNode("",!0),xe.value?(n.openBlock(),n.createElementBlock("div",Dh,n.toDisplayString(xe.value),1)):n.createCommentVNode("",!0),Pe.value?(n.openBlock(),n.createElementBlock("div",Nh,"正在准备图片附件…")):n.createCommentVNode("",!0),n.createElementVNode("input",{ref_key:"attachmentInputRef",ref:ie,class:"chat-sender__attachment-input",type:"file",multiple:"","aria-hidden":"true",tabindex:"-1",onChange:Se},null,544),n.createElementVNode("input",{class:"chat-sender__image-input",type:"file",accept:ae.join(","),multiple:"","aria-hidden":"true",tabindex:"-1",onChange:Me},null,40,Lh),n.createElementVNode("div",Ph,[n.createElementVNode("div",Mh,[n.createElementVNode("div",Oh,[n.createElementVNode("button",{type:"button",class:"chat-sender__icon-btn",title:"上传附件","aria-label":"上传附件","data-testid":"chat-attachment-trigger",onClick:rt},[n.createVNode(n.unref(Xe.PlusOutlined))]),n.createElementVNode("div",{ref_key:"businessGroupRef",ref:U,class:"chat-sender__business-group",onFocusout:dt},[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["chat-sender__business-trigger",{"chat-sender__business-trigger--active":!!e.selectedBusinessGroup}]),disabled:e.loading,"aria-haspopup":"listbox","aria-expanded":E.value,onClick:Ut},[b[4]||(b[4]=n.createElementVNode("span",{class:"chat-sender__business-label"},"业务分组",-1)),e.selectedBusinessGroup?(n.openBlock(),n.createElementBlock("span",{key:0,class:"chat-sender__business-tag","aria-label":e.selectedBusinessGroup.businessGroupName},[n.createElementVNode("span",{class:"chat-sender__business-tag-text",onMouseenter:b[1]||(b[1]=x=>G(x,e.selectedBusinessGroup.businessGroupName)),onMouseleave:T},n.toDisplayString(e.selectedBusinessGroup.businessGroupName),33),n.createElementVNode("button",{type:"button",class:"chat-sender__business-clear",title:"清除业务分组","aria-label":"清除业务分组",onClick:n.withModifiers(Le,["stop"])},[n.createVNode(n.unref(Xe.CloseOutlined))])],8,$h)):n.createCommentVNode("",!0)],10,Fh)],544)]),n.createElementVNode("div",Vh,[n.renderSlot(f.$slots,"history",{},void 0,!0),e.loading?(n.openBlock(),n.createElementBlock("button",{key:0,"data-testid":"chat-cancel",type:"button",class:"chat-sender__stop chat-sender__stop--running",title:"停止生成","aria-label":"停止生成",onClick:b[2]||(b[2]=x=>d("cancel"))},[...b[5]||(b[5]=[n.createElementVNode("span",{class:"chat-sender__stop-ring","aria-hidden":"true"},null,-1),n.createElementVNode("span",{class:"chat-sender__stop-core","aria-hidden":"true"},null,-1)])])):(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"chat-sender__send",title:"发送","aria-label":"发送",disabled:!u.value.trim()&&Y.value.length===0||e.loading||Pe.value,onClick:ee},[n.createVNode(n.unref(Xe.SendOutlined))],8,zh))])])])],34),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[E.value?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"businessGroupPopoverRef",ref:z,class:"chat-sender__business-popover",style:n.normalizeStyle(B.value),role:"listbox","aria-label":"业务分组",onKeydown:n.withKeys(n.withModifiers(v,["stop","prevent"]),["escape"])},[n.withDirectives(n.createElementVNode("input",{ref_key:"businessGroupSearchRef",ref:S,"onUpdate:modelValue":b[3]||(b[3]=x=>R.value=x),class:"chat-sender__business-search",placeholder:"搜索业务分组"},null,512),[[n.vModelText,R.value]]),n.createElementVNode("div",Gh,[e.businessGroupLoading?(n.openBlock(),n.createElementBlock("div",qh,[n.createVNode(n.unref(Xe.LoadingOutlined)),b[6]||(b[6]=n.createElementVNode("span",null,"加载中",-1))])):e.businessGroupError?(n.openBlock(),n.createElementBlock("div",Uh,n.toDisplayString(e.businessGroupError),1)):(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:2},n.renderList(lt.value,x=>{var X,ke;return n.openBlock(),n.createElementBlock("button",{key:x.businessGroupCode,type:"button",class:n.normalizeClass(["chat-sender__business-option",{"chat-sender__business-option--active":x.businessGroupCode===((X=e.selectedBusinessGroup)==null?void 0:X.businessGroupCode)}]),role:"option","aria-selected":x.businessGroupCode===((ke=e.selectedBusinessGroup)==null?void 0:ke.businessGroupCode),"aria-label":Tt(x),onClick:ve=>Vt(x)},[b[7]||(b[7]=n.createElementVNode("span",{class:"chat-sender__business-radio","aria-hidden":"true"},null,-1)),n.createElementVNode("span",jh,[n.createElementVNode("span",{class:"chat-sender__business-name-trigger",tabindex:"0","aria-label":x.businessGroupName,onMouseenter:ve=>G(ve,x.businessGroupName),onMouseleave:T,onFocus:ve=>G(ve,x.businessGroupName),onBlur:T},[n.createElementVNode("span",Qh,n.toDisplayString(x.businessGroupName),1)],40,Kh),n.createElementVNode("span",{class:"chat-sender__business-desc-trigger",tabindex:"0","aria-label":Pt(x),onMouseenter:ve=>G(ve,Pt(x)),onMouseleave:T,onFocus:ve=>G(ve,Pt(x)),onBlur:T},[n.createElementVNode("span",Jh,n.toDisplayString(Pt(x)),1)],40,Yh)])],10,Wh)}),128)),!e.businessGroupLoading&&lt.value.length===0?(n.openBlock(),n.createElementBlock("div",Zh," 暂无匹配分组 ")):n.createCommentVNode("",!0)])],44,Hh)):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[F.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"chat-sender__business-floating-tooltip",style:n.normalizeStyle(F.value.style),role:"tooltip"},n.toDisplayString(F.value.text),5)):n.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-f87694d2"]]),ng=["title","disabled"],ag={class:"ring",viewBox:"0 0 36 36"},rg=["stroke-dashoffset"],sg=ln(n.defineComponent({__name:"ContextUsageRing",props:{disabled:{type:Boolean},loading:{type:Boolean},usage:{}},emits:["compact"],setup(e,{emit:a}){const o=e,c=a,d=n.computed(()=>{const _=o.usage.estimatedTokens.toLocaleString(),E=o.usage.contextWindow.toLocaleString();return o.loading?"正在压缩上下文":o.disabled?"当前对话处理中,完成后可压缩上下文":`上下文占用约 ${o.usage.percent}%(估算 ${_} / ${E} tokens),点击压缩当前对话`}),u=2*Math.PI*14,y=n.computed(()=>u*(1-o.usage.percent/100));return(_,E)=>(n.openBlock(),n.createElementBlock("button",{type:"button",class:n.normalizeClass(["context-usage",[e.usage.level,{loading:e.loading}]]),title:d.value,disabled:e.loading||e.disabled,"aria-label":"压缩上下文","data-testid":"context-usage-control",onClick:E[0]||(E[0]=R=>c("compact"))},[(n.openBlock(),n.createElementBlock("svg",ag,[E[1]||(E[1]=n.createElementVNode("circle",{class:"ring-track",cx:"18",cy:"18",r:"14",fill:"none","stroke-width":"3"},null,-1)),n.createElementVNode("circle",{class:"ring-fill",cx:"18",cy:"18",r:"14",fill:"none","stroke-width":"3","stroke-dasharray":u,"stroke-dashoffset":y.value,"stroke-linecap":"round"},null,8,rg)]))],10,ng))}}),[["__scopeId","data-v-580a86d9"]]),og=["aria-expanded"],ig={class:"task-todo-plan__summary-text"},cg={key:0,class:"task-todo-plan__current"},lg={key:0,class:"task-todo-plan__body","data-testid":"task-todo-plan-body"},dg={class:"task-todo-plan__step-main"},ug={class:"task-todo-plan__step-title"},mg={key:0,class:"task-todo-plan__step-detail"},fg={key:1,class:"task-todo-plan__step-error"},pg=ln(n.defineComponent({__name:"TaskTodoPlanBar",props:{plan:{}},setup(e){const a=e,o=n.ref(!1),c=n.ref(!1),d=n.ref(Date.now());let u=null;const y=n.computed(()=>{var ie;return((ie=a.plan)==null?void 0:ie.steps.length)??0}),_=n.computed(()=>{var ie;return((ie=a.plan)==null?void 0:ie.steps.filter(ue=>ue.status==="done"||ue.status==="error").length)??0}),E=n.computed(()=>{var ie;return((ie=a.plan)==null?void 0:ie.steps.find(ue=>ue.status==="error"))??null}),R=n.computed(()=>{var ie;return[...((ie=a.plan)==null?void 0:ie.steps)??[]].reverse().find(ue=>ue.status==="running")??null});function U(ie){const ue=Math.max(0,Math.floor(ie/1e3)),ce=Math.floor(ue/60),Pe=ue%60;return ce>0?`${ce}m ${Pe}s`:`${Pe}s`}function z(){if(!a.plan||typeof a.plan.startedAt!="number")return null;const ie=a.plan.active?d.value:a.plan.endedAt;return typeof ie!="number"?null:Math.max(0,ie-a.plan.startedAt)}const S=n.computed(()=>{var ue;const ie=z();return ie===null?"":(ue=a.plan)!=null&&ue.active?`已处理 ${U(ie)}`:`用时 ${U(ie)}`}),B=n.computed(()=>{var ue;if(!a.plan||y.value===0)return"";if(a.plan.mode==="todo")return`Todo 计划 · ${y.value} 项`;if(a.plan.failed){const ce=((ue=E.value)==null?void 0:ue.title)||"执行步骤";return`执行失败 · ${_.value}/${y.value} · 失败于:${ce}`}if(a.plan.active){const ce=S.value?` · ${S.value}`:"";return`执行进度 · ${_.value}/${y.value}${ce}`}const ie=S.value?` · ${S.value}`:"";return`已完成 ${_.value}/${y.value}${ie}`}),F=n.computed(()=>{var ie,ue,ce;return((ie=a.plan)==null?void 0:ie.mode)==="todo"?Xe.ClockCircleOutlined:(ue=a.plan)!=null&&ue.failed?Xe.CloseCircleOutlined:(ce=a.plan)!=null&&ce.active?Xe.LoadingOutlined:Xe.CheckCircleOutlined});function H(ie){return ie.status==="error"?Xe.CloseCircleOutlined:ie.status==="running"?Xe.LoadingOutlined:ie.status==="pending"?Xe.ClockCircleOutlined:Xe.CheckCircleOutlined}function Y(){if(!a.plan){o.value=!1,c.value=!1;return}if(a.plan.failed){o.value=!0;return}if(a.plan.mode==="todo"){o.value=!0;return}c.value||(o.value=a.plan.active)}function xe(){c.value=!0,o.value=!o.value}return n.watch(()=>{var ie;return(ie=a.plan)==null?void 0:ie.id},()=>{c.value=!1,Y()},{immediate:!0}),n.watch(()=>{var ie,ue;return[(ie=a.plan)==null?void 0:ie.active,(ue=a.plan)==null?void 0:ue.failed]},([,ie],ue)=>{const ce=ue==null?void 0:ue[1];ie&&!ce&&(c.value=!1),Y()},{immediate:!0}),n.watch(()=>{var ie;return(ie=a.plan)==null?void 0:ie.active},ie=>{if(ie){d.value=Date.now(),u||(u=setInterval(()=>{d.value=Date.now()},1e3));return}u&&(clearInterval(u),u=null)},{immediate:!0}),n.onBeforeUnmount(()=>{u&&(clearInterval(u),u=null)}),(ie,ue)=>e.plan&&y.value>0?(n.openBlock(),n.createElementBlock("section",{key:0,class:n.normalizeClass(["task-todo-plan",{"task-todo-plan--active":e.plan.active,"task-todo-plan--failed":e.plan.failed}]),"data-testid":"task-todo-plan","aria-label":"多步骤任务 Todo 计划"},[n.createElementVNode("button",{type:"button",class:"task-todo-plan__summary","aria-expanded":o.value,"data-testid":"task-todo-plan-summary",onClick:xe},[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(F.value),{class:"task-todo-plan__summary-icon","aria-hidden":"true"})),n.createElementVNode("span",ig,n.toDisplayString(B.value),1),R.value&&e.plan.active?(n.openBlock(),n.createElementBlock("span",cg,n.toDisplayString(R.value.title),1)):n.createCommentVNode("",!0),n.createVNode(n.unref(Xe.DownOutlined),{class:n.normalizeClass(["task-todo-plan__arrow",{"is-open":o.value}]),"aria-hidden":"true"},null,8,["class"])],8,og),o.value?(n.openBlock(),n.createElementBlock("div",lg,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.plan.steps,ce=>(n.openBlock(),n.createElementBlock("div",{key:ce.id,class:n.normalizeClass(["task-todo-plan__step",`task-todo-plan__step--${ce.status}`]),"data-testid":"task-todo-plan-step"},[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(H(ce)),{class:"task-todo-plan__step-icon","aria-hidden":"true"})),n.createElementVNode("div",dg,[n.createElementVNode("div",ug,n.toDisplayString(ce.title),1),ce.detail?(n.openBlock(),n.createElementBlock("div",mg,n.toDisplayString(ce.detail),1)):n.createCommentVNode("",!0),ce.error?(n.openBlock(),n.createElementBlock("div",fg,n.toDisplayString(ce.error),1)):n.createCommentVNode("",!0)])],2))),128))])):n.createCommentVNode("",!0)],2)):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-2e609adf"]]),hg={class:"runtime-chat"},gg={class:"runtime-chat__main"},yg={key:0,class:"runtime-chat__topbar-leading"},bg={class:"runtime-chat__topbar-actions"},kg=["disabled"],_g={class:"runtime-chat__body"},Cg={key:1,class:"chat-switching-skeleton",role:"status","aria-live":"polite"},Sg=["innerHTML"],Ag={key:3,class:"chat-panel chat-history-panel","aria-label":"历史对话"},wg={key:0,class:"chat-panel__header-extra"},Tg={class:"chat-history-panel__body"},Eg={key:0,class:"chat-history-panel__loading","data-testid":"chat-history-loading"},xg={key:1,class:"chat-history-group"},Bg=["data-testid"],Ig=["data-testid","onClick"],Rg={class:"chat-history-item__content"},vg=["data-testid"],Dg={class:"chat-history-item__title"},Ng=["data-testid"],Lg=["title","data-testid"],Pg={class:"chat-history-item__actions"},Mg=["aria-expanded","data-testid","onClick"],Og=["data-testid","onClick"],Fg=["data-testid","onClick"],$g={key:2,class:"chat-history-group"},Vg=["data-testid"],zg=["data-testid","onClick"],Hg={class:"chat-history-item__content"},Gg=["data-testid"],qg={class:"chat-history-item__title"},Ug=["data-testid"],Wg=["title","data-testid"],jg={class:"chat-history-item__actions"},Kg=["aria-expanded","data-testid","onClick"],Qg=["data-testid","onClick"],Yg=["data-testid","onClick"],Jg={key:3,class:"chat-history-panel__empty"},Zg={key:4,class:"chat-panel chat-settings-panel","aria-label":"工作台设置"},Xg={key:0,class:"chat-panel__header-extra"},ey={class:"chat-settings-panel__actions"},ty=["disabled"],ny={key:0,class:"chat-settings-panel__persona","data-testid":"chat-settings-persona"},ay={class:"chat-settings-panel__persona-options",role:"tablist","aria-label":"人格设定"},ry=["aria-selected","onClick"],sy={class:"chat-settings-panel__body"},oy={key:1,class:"runtime-chat__composer"},iy={class:"rename-modal"},cy={class:"rename-modal__actions"},ly={class:"delete-modal",role:"dialog","aria-modal":"true","aria-labelledby":"delete-conversation-title"},dy={class:"delete-modal__desc"},uy={class:"delete-modal__actions"},my=["disabled"],fy=["disabled"],py={class:"clear-modal",role:"dialog","aria-modal":"true","aria-labelledby":"clear-conversations-title"},hy={class:"clear-modal__desc"},gy={class:"clear-modal__actions"},yy=["disabled"],by=["disabled"],ky=16,Vs=ln(n.defineComponent({inheritAttrs:!1,__name:"FsesAiChat",props:{apiBaseUrl:{},activeConversationId:{default:""},assistantPersona:{},autoLoadConversations:{type:Boolean,default:!0},businessGroupError:{default:""},businessGroupLoading:{type:Boolean,default:!1},businessGroups:{default:()=>[]},selectedBusinessGroup:{default:null},enableChartCards:{type:Boolean,default:!1},enableChatHistory:{type:Boolean,default:!1},headers:{},onError:{},placeholder:{default:"开始百特搭的探索吧"},transport:{},userId:{},welcomeText:{default:"这里是您的超级个人工作台"},workspaceId:{},autoInsertComposePlan:{type:Boolean},canvasConfigActive:{type:Boolean,default:!1},taskStateActionsDisabled:{type:Boolean,default:!1},showDefaultWorkbenchActions:{type:Boolean,default:!0},defaultWorkbenchSwitchLabel:{default:"切换默认工作台"},showPersonaSettings:{type:Boolean,default:!0},assistantPersonaKey:{default:"warm"},routeImagesAsAttachments:{type:Boolean,default:!1},showTaskTodoPlan:{type:Boolean,default:!1},systemEchartsTemplateCdnBaseUrl:{},chatMode:{}},emits:["confirm-compose-plan","auto-insert-compose-plan-change","cancel-compose-plan","choose-card-recommendation","configure-card-recommendation","image-upload","auto-arrange","attachment-upload","insertCard","insertMetricCard","modify-compose-plan","memory-capture-dismiss","memory-capture-save","confirm-task-state","cancel-task-state","settings-save","settings-open","settings-close","switch-default-workbench","restore-default-workbench","new-conversation","history-loaded","assistant-persona-change","active-conversation-change","business-group-clear","business-group-open","business-group-select","updateCard"],setup(e,{expose:a,emit:o}){var _e;const c=e,d=o,u=lu(),y=n.computed(()=>{var m,h;return((m=c.systemEchartsTemplateCdnBaseUrl)==null?void 0:m.trim())||((h=u==null?void 0:u.systemEchartsTemplateCdnBaseUrl)==null?void 0:h.trim())||""});n.provide(hi,y);const _=((_e=n.getCurrentInstance())==null?void 0:_e.vnode.props)??{},E=n.useSlots(),R=n.computed(()=>!!E["topbar-leading"]),U=n.computed(()=>!!E["utility-header-extra"]),z=Object.prototype.hasOwnProperty.call(_,"enableChartCards")||Object.prototype.hasOwnProperty.call(_,"enable-chart-cards"),S=fi({apiBaseUrl:c.apiBaseUrl||(u==null?void 0:u.apiBaseUrl)||"",headers:c.headers||(u==null?void 0:u.headers),assistantPersona:()=>c.assistantPersona,businessGroup:()=>c.selectedBusinessGroup||void 0,autoLoadConversations:c.autoLoadConversations,activeConversationId:()=>c.activeConversationId,chatMode:()=>c.chatMode,onConversationChange:(m,h)=>d("active-conversation-change",m,h),onHistoryLoaded:m=>d("history-loaded",m),onError:c.onError||(u==null?void 0:u.onError),enableChartCards:z?c.enableChartCards:(u==null?void 0:u.enableChartCards)??!1,transport:c.transport,workspaceId:()=>c.workspaceId,userId:()=>c.userId}),B=S.messages,F=S.isLoading,H=S.isLoadingConversations,Y=S.isSwitchingConversation,xe=n.ref(null),ie=n.ref(null),ue=n.ref(""),ce=n.computed(()=>S.conversations.value.map(m=>({id:m.id,title:m.title,createdAt:m.createdAt,updatedAt:m.updatedAt}))),Pe=n.computed(()=>S.currentConversationId.value||""),ne=n.ref("chat"),Z=n.ref(!1),He=n.ref(null),ae=n.ref(!1),he=n.computed(()=>c.canvasConfigActive||Z.value),ye=n.computed(()=>it(B.value)),at=n.computed(()=>!c.showTaskTodoPlan||ne.value!=="chat"?null:Pu(ye.value)),St=n.computed(()=>{var m;return((m=at.value)==null?void 0:m.claimedStatusMessageIds)??[]}),At=[{id:"warm",label:"热情"},{id:"professional",label:"专业"},{id:"reserved",label:"内敛"}],je=new WeakMap;function lt(m){ae.value=!!(m&&m.scrollTop>0)}function Pt(m){lt(m.currentTarget)}function Tt(m){ae.value=m}function rt(){if(ne.value!=="chat"){ae.value=!1;return}ye.value.length===0&&lt(He.value)}n.watch([ne,()=>ye.value.length],()=>n.nextTick(rt));const Ut=new lo.Marked({gfm:!0,breaks:!0}),Te=n.computed(()=>Vt(c.welcomeText));function Vt(m){return m.trim()?xo.sanitize(Ut.parse(m)):""}function Le(m,h,w,le,Ne,nt={}){return{id:m,entryId:m,label:h,source:w,actionPayload:{action:Ne,capabilityId:le,quickEntryId:m,source:w,...nt}}}({...Le("workbench.quick.ask_data","问数分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"问数分析"})},{...Le("workbench.quick.store_sales","门店销售分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"门店销售分析"})}),{...Le("workbench.quick.business_analysis","经营分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"经营分析"})},{...Le("workbench.quick.channel_sales","渠道销售分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"渠道销售分析"})},Le("workbench.quick.metric_catalog","查看可见指标","welcome_suggested_prompt","runtime_metric.query","list_catalog"),Le("workbench.quick.create_user","创建用户信息","welcome_suggested_prompt","data_action.execute","execute_data_action",{dataActionIntent:{operation:"create",displayName:"用户信息"}}),Le("workbench.quick.insert_radar","插入雷达图","welcome_suggested_prompt","workbench_card.compose","compose_workbench_card",{cardIntent:{kind:"radar"}}),Le("workbench.quick.sales_order_top5","销售订单里金额最高的 5 单是哪几单?","welcome_suggested_prompt","semantic_sql.query","semantic_sql_query",{queryIntent:"销售订单里金额最高的 5 单是哪几单?"}),n.watch(F,(m,h)=>{m||!h||n.nextTick(()=>{var w;(w=xe.value)==null||w.focusComposer()})});const dt=n.ref(!1),Be=n.ref(""),v=n.ref(""),I=n.ref(""),G=n.ref(!1),T=n.ref(!1),Q=n.ref(0),te=n.ref(!1),O=n.ref(!1),L=n.ref(""),j=n.computed(()=>{const m=S.conversations.value.find(h=>h.id===L.value);return(m==null?void 0:m.title)||""}),se=n.computed(()=>j.value?`确认删除会话“${j.value}”?`:"确认删除这个会话?"),Ce=n.computed(()=>G.value?Q.value:S.conversations.value.length),Se=n.computed(()=>{const m=new Date;return ce.value.filter(h=>{if(!h.updatedAt)return!0;const w=new Date(h.updatedAt);return w.getFullYear()===m.getFullYear()&&w.getMonth()===m.getMonth()&&w.getDate()===m.getDate()})}),Me=n.computed(()=>{const m=new Date;return ce.value.filter(h=>{if(!h.updatedAt)return!1;const w=new Date(h.updatedAt);return!(w.getFullYear()===m.getFullYear()&&w.getMonth()===m.getMonth()&&w.getDate()===m.getDate())})});function Qe(m){if(!m)return"";const h=new Date(m);if(!Number.isFinite(h.getTime()))return"";const w=new Date,le=ft(h);if(st(h,w))return le;const Ne=`${Re(h.getMonth()+1)}-${Re(h.getDate())}`;return h.getFullYear()===w.getFullYear()?`${Ne} ${le}`:`${h.getFullYear()}-${Ne} ${le}`}function Ie(m){if(!m)return"";const h=new Date(m);return Number.isFinite(h.getTime())?[`${h.getFullYear()}-${Re(h.getMonth()+1)}-${Re(h.getDate())}`,ft(h)].join(" "):""}function st(m,h){return m.getFullYear()===h.getFullYear()&&m.getMonth()===h.getMonth()&&m.getDate()===h.getDate()}function Re(m){return String(m).padStart(2,"0")}function ft(m){return`${Re(m.getHours())}:${Re(m.getMinutes())}`}function C(){S.createConversation(),d("new-conversation"),ne.value="chat"}async function q(){await S.createConversation(),d("new-conversation")}async function re(m){I.value="",await S.switchConversation(m),ne.value="chat"}async function ee(m){ge(m)}function ge(m){const h=S.conversations.value.find(w=>w.id===m);h&&(I.value="",L.value=h.id,te.value=!0)}function we(){O.value||(te.value=!1,L.value="")}async function Ge(){if(!(O.value||!L.value)){O.value=!0;try{await S.deleteConversation(L.value),te.value=!1,L.value=""}finally{O.value=!1}}}function et(m){const h=S.conversations.value.find(w=>w.id===m);h&&(I.value="",v.value=h.id,Be.value=h.title,dt.value=!0)}function It(m){I.value=I.value===m?"":m}function pt(m){return m.length>ky}function f(m){ne.value=m,S.loadConversations()}function b(){ne.value="chat"}function x(){b()}function X(){f("history")}function ke(){ne.value="settings"}function ve(){ke()}function ot(){ne.value="settings",d("settings-open")}function Rt(){ne.value="chat",d("settings-close")}function ht(){Z.value||(Z.value=!0,d("settings-save",m=>{Z.value=!1,m&&ua.message.success("工作台设置已保存")}))}function Je(){const m=Be.value.trim();m&&v.value&&S.renameConversation(v.value,m),dt.value=!1}function vt(){Q.value=S.conversations.value.length,G.value=!0}function Yt(){T.value||(G.value=!1)}async function tt(){if(!T.value){T.value=!0,G.value=!1;try{await S.clearConversations()}finally{T.value=!1,Q.value=0}}}function Jt(m){jn(m)}async function jn(m){const h=m.trim();h&&(ne.value="chat",await S.sendMessage(h))}function mn(m){return/^(取消|算了|不用了|停止|放弃)$/u.test(m.trim())}function vn(m){const h=m.trim().replace(/\s+/gu,"");if(!/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(h))return;const w=Number(h.replace(/\D/gu,""));return Number.isFinite(w)?w:void 0}function Cn(m,h){if(!m||!h.trim())return;const w=mn(h),le=vn(h);S.messages.value=S.messages.value.map(Ne=>{var yt;const nt=Ne.taskStateDraft;if(!nt||nt.taskId!==m||!nt.canConfirm)return Ne;const $e=le!==void 0?(yt=nt.confirmationOptions)==null?void 0:yt.find(Ot=>Ot.index===le):void 0;return{...Ne,taskStateDraft:{...nt,title:`${nt.title}已确认`,status:w?"cancelled":"confirmed",statusLabel:"已确认",statusTone:w?"neutral":"success",canConfirm:!1,confirmPhrase:void 0,cancelPhrase:void 0,resultSummary:w?"已取消本次问数确认。":$e?`已选择口径 ${$e.index}:${$e.label}`:"已确认,正在继续执行问数。"}}})}function Dn(m,h,w){Cn(h,w),d("confirm-task-state",{turnId:m,taskId:h,phrase:w})}function Sn(m,h,w){Cn(h,w),d("cancel-task-state",{turnId:m,taskId:h,phrase:w})}function J(m,h){d("choose-card-recommendation",m,h)}function de(m){d("configure-card-recommendation",m)}function Oe(m){return/(不要|别|无需|不用|先不).{0,8}(插入|插卡|添加|加到|放到)/.test(m)}function De(m){const h=m.trim();return!h||Oe(h)?!1:/(插入|插卡|添加|加到|放到).{0,12}(左侧|工作台|画布|页面|卡片)/.test(h)||/(左侧|工作台|画布|页面).{0,12}(插入|插卡|添加|加上|放上)/.test(h)}function qe(m){const h=m.trim();return!h||Oe(h)||!/(用|按|改成|改为|换成|调整为|调整成|设为|设置为|变成|方式|占比|比例|分布|展示|显示|呈现)/.test(h)?null:/(环形图|环图)/.test(h)?"donut":/饼图|饼状图|圆饼图/.test(h)?"pie":/折线图|折状图/.test(h)?"line":/面积图/.test(h)?"area":/柱状图|柱形图/.test(h)?"bar":/漏斗图/.test(h)?"funnel":null}function Ke(m,h){const w=m.replace(/\s+/g,""),le=h.find(Ne=>w.includes(Ne.replace(/\s+/g,"")));return le?[le]:h}function Ze(m,h){const w=qe(h);if(!w)return null;const le=Ke(h,m.chart.yFields),Ne=w==="pie"||w==="donut";return{...m,chart:{...m.chart,type:w,yFields:Ne?le.slice(0,1):le}}}function zt(m){var Or;const h=m.replace(/\s+/g," ").replace(/[??。.!!、]+$/g,"").trim();if(!h||/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(h.replace(/\s+/g,"")))return"";const w=/^(?:请|帮我|麻烦|能不能|可以|我想|能否|请问|我想了解|我想知道|麻烦你?|能麻烦)\s*/u,le=/(?:给我|给我看看|帮我查|帮我分析|帮我看看|查一下|看一下|分析一下?|展示一下?|显示一下?|告诉我|说一下|列举一下?|统计一下?|对比一下?|比较一下?|算一下?)\s*/gu,Ne=/(?:是多少|有多少|怎么样|的情况|的情况如何|如何|呢|吗|吧|的数据|的数据吗|是什么|是什么情况|有哪些|有哪些变化|趋势如何)$/u,nt=/(?:最近的?|最近\d+[天月年周个]*|今年|去年|上个月|本月|本季度|上季度|当月|上半年|下半年|第[一二三四]季度|\d{4}年(?:第[一二三四]季度)?)/gu;let $e=h.replace(w,"").replace(le,"").replace(Ne,"").replace(nt,"").replace(/^[的的和与及,,]\s*|\s*[的的和与及,,]$/g,"").trim();if($e||($e=h),$e.length<=20)return $e;const yt=$e.match(/(?:各|全部)?([一-鿿]{0,3}(?:区域|地区|部门|产品线?|品类|渠道|门店|客户|业务线?|分公司|团队|大区|中心))/u),Ot=((Or=yt==null?void 0:yt[1])==null?void 0:Or.slice(0,4))||"",Mn=[/[一-鿿A-Za-z0-9]*(?:毛利率|净利率|利润率|增长率|同比增长|环比增长|占比)/u,/[一-鿿A-Za-z0-9]*(?:销售额|利润|营收|成本|费用|收入|支出)/u,/[一-鿿A-Za-z0-9]*(?:量|数|价|率|额|比)/u];let fn="";for(const ia of Mn){const Fr=$e.match(ia);if(Fr){fn=Fr[0];break}}if(fn){const ia=`${Ot}${fn}`;if(ia.length>0&&ia.length<=20)return ia;if(fn.length<=20)return fn}const Ia=$e.match(/[一-鿿A-Za-z0-9]+(?:额|率|量|数|占比|增长|排名|TOP\d*)/u);return Ia&&Ia[0].length<=20?Ia[0]:`${$e.slice(0,19)}…`}function en(m){return/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(m.replace(/\s+/g,""))}function Nn(m){const h=m.replace(/\s+/g,"");return/用户已对上一轮问数澄清作出选择|上一轮问数澄清.*继续查询|基于该选择继续查询/u.test(h)}function Ln(m){const h=m.replace(/\s+/g,"");return en(m)?!0:/^(?:选|选择|已选|我选|就选|用|使用|确认|确定|继续)(?:第?[1-9]\d*(?:个|项|号)?|[\u4e00-\u9fa5A-Za-z0-9_-]{1,24})$/u.test(h)||/^按(?:第?[1-9]\d*(?:个|项|号)?|[\u4e00-\u9fa5A-Za-z0-9_-]{1,6})$/u.test(h)}function Ht(m){const h=m.replace(/\s+/g,"");return h?/^(?:请|帮我)?(?:(?:把|将)?(?:(?:查询|问数|统计|汇总)?结果|(?:上次|上回|上轮|上一轮|上一条|刚才|刚刚|这个|这次|当前|上面|上述)(?:的)?(?:查询|问数|数据|统计|汇总)?(?:结果|数据|指标|当前值|值))?)?(?:推荐|生成|创建|预览|展示|做|做成)?(?:几张|多个|多张|多维度|按维度)?(?:图表)?(?:卡片|卡|图表)(?:候选|推荐|预览)?$/u.test(h)&&/(?:推荐|候选|预览|几张|多个|多张|多维度|按维度)/u.test(h):!1}function tn(m){const h=m.trim();return!!h&&!en(h)&&!Nn(h)&&!Ln(h)&&!Ht(h)}function fe(){for(const m of[...B.value].reverse()){if(m.role!=="user")continue;const h=m.content.trim();if(tn(h))return h}return""}function k(m){var le,Ne,nt,$e;const h=(Ne=(le=m.dataBinding)==null?void 0:le.question)==null?void 0:Ne.trim();if(h&&tn(h))return h;const w=($e=(nt=m.meta)==null?void 0:nt.prompt)==null?void 0:$e.trim();return w&&tn(w)?w:fe()}function P(m){var yt,Ot,Mn,fn;const h=k(m),w=zt(h);if(!h||!w)return m;const le=(Ot=(yt=m.meta)==null?void 0:yt.prompt)==null?void 0:Ot.trim(),Ne=(fn=(Mn=m.dataBinding)==null?void 0:Mn.question)==null?void 0:fn.trim(),nt=!!(le&&!tn(le)),$e=!!(Ne&&!tn(Ne));return{...m,title:w,dataBinding:{...m.dataBinding,question:h},...nt||$e?{meta:{...m.meta,prompt:h}}:{}}}function N(m){const h=gi(m),w=Array.isArray(m.viewAlternatives)?m.viewAlternatives.map($e=>N($e)):void 0,le=!!w&&w.some(($e,yt)=>{var Ot;return $e!==((Ot=m.viewAlternatives)==null?void 0:Ot[yt])});if(!h)return le?{...m,...w?{viewAlternatives:w}:{}}:m;const Ne=m.blockPlan&&typeof m.blockPlan=="object"?{...m.blockPlan}:m.blockPlan;let nt=!1;return Ne&&typeof Ne=="object"&&"title"in Ne&&(typeof Ne.title=="string"?Ne.title.trim():"")!==h&&(Ne.title=h,nt=!0),!nt&&!le?m:{...m,...Ne?{blockPlan:Ne}:{},...w?{viewAlternatives:w}:{}}}function me(m){const h=m.cardRecommendationDraft;if(!h)return m;const w=je.get(m);if((w==null?void 0:w.draft)===h)return w.normalized;const le=h.recommendations.map($e=>N($e)),nt=le.some(($e,yt)=>$e!==h.recommendations[yt])?{...m,cardRecommendationDraft:{...h,recommendations:le}}:m;return je.set(m,{draft:h,normalized:nt}),nt}function be(m){const h=m.cardRecommendationDraft;return String(m.workbenchTurnId||(h==null?void 0:h.placementTurnId)||(h==null?void 0:h.sourceTurnId)||"").trim()}function Ee(m){const h=new Set(m.filter(w=>{var le;return(((le=w.cards)==null?void 0:le.length)||0)>0}).map(be).filter(Boolean));return h.size===0?m:m.filter(w=>{var le;return!w.cardRecommendationDraft||(((le=w.cards)==null?void 0:le.length)||0)>0||!h.has(be(w))})}function it(m){return Ee(m).map(h=>me(h))}function Mt(){var m;if(S.latestChartCard.value)return S.latestChartCard.value;for(const h of[...B.value].reverse()){const w=(m=h.cards)==null?void 0:m[h.cards.length-1];if(w)return w}return null}function Et(){return S.latestMetricCard.value}function ra(m){var w,le;const h=((le=(w=m.dataBinding)==null?void 0:w.question)==null?void 0:le.trim())||fe();return h?{...m,dataBinding:{...m.dataBinding,question:h}}:m}function ut(m){var nt,$e,yt,Ot;if((nt=m.meta)!=null&&nt.workbenchAdaptiveHeightPx)return m;const h=((($e=m.meta)==null?void 0:$e.prompt)||((yt=m.dataBinding)==null?void 0:yt.question)||"").length,w=((Ot=m.summary)==null?void 0:Ot.length)||0,le=m.chart.type==="mini-bar"?210:390,Ne=Math.ceil(h/28)*20+Math.ceil(w/32)*22;return{...m,meta:{...m.meta,workbenchAdaptiveHeightPx:Math.max(le,le+Ne)}}}async function Ea(m){const h=Mt(),w=h?Ze(h,m):null;if(w){d("insertCard",ut(w));return}if(De(m)){const le=Et();if(le){d("insertMetricCard",ra(le));return}if(h){d("insertCard",ut(P(h)));return}}await S.sendMessage(m)}function xa(){F.value||S.isCompacting.value||S.compactContext()}function Nr(m){const h=m==null?void 0:m.match(/^data:([^;,]+)[;,]/);return h==null?void 0:h[1]}function Kn(m){var yt,Ot,Mn;const h=((yt=m.fileName)==null?void 0:yt.trim())||(m.type==="file"?"附件":"图片"),w=m.type!=="file",le=((Ot=m.text)==null?void 0:Ot.trim())||(w?`上传图片:${h}`:`上传附件:${h}`),Ne=new Date().toISOString(),nt={id:`image-user-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,role:"user",content:le,timestamp:Ne};nt.attachments=[{type:w?"image":"file",url:m.downloadUrl||m.imageUrl,downloadUrl:m.downloadUrl,fileId:m.fileId,name:h,mimeType:m.mimeType||Nr(m.imageUrl)||(w?"image/*":"application/octet-stream"),rawFile:m.file,size:(Mn=m.file)==null?void 0:Mn.size}];const $e={id:`${w?"image":"attachment"}-status-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,role:"status",content:m.statusContent||(w?"正在识别图片...":"附件已上传"),loading:m.statusLoading??w,timestamp:Ne,startTime:Date.now()};return S.messages.value.push(nt,$e),$e.id}function er(m,h){const w=S.messages.value.find(le=>le.id===m);w&&(w.content=h.content,w.loading=h.loading??!1,w.error=h.error,w.detail=h.detail)}function D(m,h){const w="fileName"in m&&m.fileName?m.fileName:m.file.name;return{type:h,url:m.previewUrl||m.downloadUrl,downloadUrl:m.downloadUrl,fileId:m.fileId,name:w,mimeType:m.mimeType||(h==="image"?"image/*":"application/octet-stream"),rawFile:m.file,size:m.file.size}}async function $(m,h){ne.value="chat",await S.sendMessage(m,{attachments:[h]})}function Lr(m){const h=m.text.trim();return h||(m.attachments.every(w=>w.type==="image")?"分析图片":"分析附件")}async function ct(m){if(m.attachments.length!==0){if(c.transport){ne.value="chat",await S.sendMessage(Lr(m),{attachments:m.attachments.map(h=>D(h,h.type))});return}for(const h of m.attachments){if(h.type==="image"&&!c.routeImagesAsAttachments){await An({base64:h.base64||"",file:h.file,fileName:h.fileName,mimeType:h.mimeType,previewUrl:h.previewUrl,text:m.text});continue}await gt({...h,text:m.text})}}}async function An(m){var w;if(c.transport){const le=m.fileName||m.file.name;await $(((w=m.text)==null?void 0:w.trim())||"分析图片",D({...m,fileName:le},"image"));return}const h=Kn({fileName:m.file.name,file:m.file,imageUrl:m.previewUrl,mimeType:m.mimeType,text:m.text,statusContent:"图片已添加,正在识别图片...",statusLoading:!0});d("image-upload",{...m,fileName:m.fileName||m.file.name,messageId:h})}async function gt(m){var w;if(c.transport){await $(((w=m.text)==null?void 0:w.trim())||(m.type==="image"?"分析图片":"分析附件"),D(m,m.type));return}const h=Kn({fileName:m.fileName,file:m.file,imageUrl:m.previewUrl,mimeType:m.mimeType,text:m.text,statusContent:"附件已添加",statusLoading:!1,type:m.type});d("attachment-upload",{...m,fileName:m.fileName,messageId:h})}function Pn(m){d("confirm-compose-plan",m)}function zs(){const m=S.messages.value.findIndex(h=>h.planDraft);m!==-1&&S.messages.value.splice(m,1),d("cancel-compose-plan")}function tr(m,h){d("modify-compose-plan",{planId:m,prompt:h})}function Pr(m){S.messages.value.push({id:`plan-${m.planId}`,role:"assistant",content:"已生成编排方案,请确认后生成卡片。",planDraft:m,timestamp:new Date().toISOString()})}function Mr(m){S.messages.value.push({id:`card-rec-${m.recommendationId}`,role:"assistant",content:"",cardRecommendationDraft:m,timestamp:new Date().toISOString()})}function sa(m){ue.value=m,ne.value="chat",n.nextTick(()=>{var h;(h=xe.value)==null||h.setText(ue.value)})}function Ba(){ne.value="chat",n.nextTick(()=>{var m;(m=xe.value)==null||m.focusComposer()})}function oa(m,h){return S.appendMessage(m,h)}function nr(m,h){return S.assignWorkbenchTurnIds(m,h)}function Qn(m,h,w){return S.replaceWorkbenchTurnAnswer(m,h,w)}function wn(m){d("insertCard",P(m)),Ba()}function xt(m,h){var w,le;(le=(w=ie.value)==null?void 0:w.setMemoryCaptureStatus)==null||le.call(w,m,h)}return a({conversations:ce,activeId:Pe,startNewConversation:q,switchConversation:re,deleteConversation:ee,openDeleteConversationDialog:ge,openRenameConversationDialog:et,openClearConversationDialog:vt,pushImageUploadMessage:Kn,updateImageUploadMessage:er,pushPlanDraft:Pr,pushCardRecommendationDraft:Mr,assignWorkbenchTurnIds:nr,appendMessage:oa,replaceWorkbenchTurnAnswer:Qn,sendText:jn,setInputText:sa,focusComposer:Ba,openChatPanelFromHost:x,openHistoryPanel:X,openSettingsPanelFromHost:ve,setMemoryCaptureStatus:xt,moveMessageToEnd:S.moveMessageToEnd}),(m,h)=>(n.openBlock(),n.createBlock(n.unref(Jr.TrThemeProvider),null,{default:n.withCtx(()=>[n.createElementVNode("div",hg,[n.createElementVNode("div",gg,[ne.value==="chat"?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["runtime-chat__topbar",{"runtime-chat__topbar--shadow":ae.value}]),"aria-label":"对话工具"},[R.value?(n.openBlock(),n.createElementBlock("div",yg,[n.renderSlot(m.$slots,"topbar-leading",{},void 0,!0)])):n.createCommentVNode("",!0),n.createElementVNode("div",bg,[n.createVNode(n.unref(ua.Tooltip),{title:"新建会话",placement:"bottom","overlay-class-name":"runtime-chat__topbar-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("button",{type:"button",class:"runtime-chat__topbar-action","aria-label":"新建会话","data-testid":"chat-action-new",disabled:n.unref(B).length===0,onClick:C},[n.createVNode(n.unref(Xe.MessageOutlined))],8,kg)]),_:1}),e.enableChatHistory?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:"历史对话",placement:"bottom","overlay-class-name":"runtime-chat__topbar-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("button",{type:"button",class:"runtime-chat__topbar-action","aria-label":"历史对话","data-testid":"chat-action-history",onClick:h[0]||(h[0]=w=>f("history"))},[n.createVNode(n.unref(Xe.ClockCircleOutlined))])]),_:1})):n.createCommentVNode("",!0),n.createVNode(n.unref(ua.Tooltip),{title:"配置",placement:"bottom","overlay-class-name":"runtime-chat__topbar-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("button",{type:"button",class:n.normalizeClass(["runtime-chat__topbar-action",{"runtime-chat__topbar-action--active":e.canvasConfigActive}]),"aria-label":"配置","data-testid":"chat-action-settings",onClick:ke},[n.createVNode(n.unref(Xe.SettingOutlined))],2)]),_:1})])],2)):n.createCommentVNode("",!0),n.createElementVNode("div",_g,[ne.value==="chat"&&ye.value.length>0?(n.openBlock(),n.createBlock(Bh,{key:0,ref_key:"messageListRef",ref:ie,messages:ye.value,"hidden-status-message-ids":St.value,"auto-insert-compose-plan":!!c.autoInsertComposePlan,"task-state-actions-disabled":c.taskStateActionsDisabled||n.unref(F),onInsertCard:wn,onChooseCardRecommendation:J,onConfigureCardRecommendation:de,onConfirmPlan:Pn,onCancelPlan:zs,onConfirmTaskState:Dn,onCancelTaskState:Sn,onMemoryCaptureDismiss:h[1]||(h[1]=(w,le)=>d("memory-capture-dismiss",{turnId:w,itemId:le})),onMemoryCaptureSave:h[2]||(h[2]=(w,le)=>d("memory-capture-save",{turnId:w,itemId:le})),onModifyPlan:tr,onSendFollowUp:Jt,onAutoInsertComposePlanChange:h[3]||(h[3]=w=>d("auto-insert-compose-plan-change",w)),onScrollPositionChange:Tt},null,8,["messages","hidden-status-message-ids","auto-insert-compose-plan","task-state-actions-disabled"])):ne.value==="chat"&&n.unref(Y)?(n.openBlock(),n.createElementBlock("section",Cg,[...h[15]||(h[15]=[n.createElementVNode("div",{class:"chat-switching-skeleton__spinner","aria-hidden":"true"},null,-1),n.createElementVNode("div",{class:"chat-switching-skeleton__text"},"正在加载会话…",-1),n.createElementVNode("div",{class:"chat-switching-skeleton__messages"},[n.createElementVNode("div",{class:"chat-switching-skeleton__message chat-switching-skeleton__message--assistant"}),n.createElementVNode("div",{class:"chat-switching-skeleton__message chat-switching-skeleton__message--user"}),n.createElementVNode("div",{class:"chat-switching-skeleton__message chat-switching-skeleton__message--assistant"})],-1)])])):ne.value==="chat"?(n.openBlock(),n.createElementBlock("section",{key:2,ref_key:"welcomeWorkspaceRef",ref:He,class:"chat-workspace","aria-label":"AI 助手介绍",onScroll:Pt},[n.createElementVNode("div",{class:"ai-chat-prologue",innerHTML:Te.value},null,8,Sg)],544)):ne.value==="history"?(n.openBlock(),n.createElementBlock("section",Ag,[n.createElementVNode("header",{class:n.normalizeClass(["chat-panel__header",{"chat-panel__header--with-extra":U.value}])},[n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"返回",onClick:b},[n.createVNode(n.unref(Xe.LeftOutlined))]),h[16]||(h[16]=n.createElementVNode("h2",{class:"chat-panel__title"},"历史",-1)),U.value?(n.openBlock(),n.createElementBlock("div",wg,[n.renderSlot(m.$slots,"utility-header-extra",{},void 0,!0)])):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"关闭",onClick:b},[n.createVNode(n.unref(Xe.CloseOutlined))])],2),n.createElementVNode("div",Tg,[n.unref(H)?(n.openBlock(),n.createElementBlock("div",Eg,[...h[17]||(h[17]=[n.createElementVNode("span",{class:"chat-history-panel__spinner","aria-hidden":"true"},null,-1),n.createElementVNode("span",null,"正在加载历史对话",-1)])])):(n.openBlock(),n.createElementBlock("section",xg,[h[18]||(h[18]=n.createElementVNode("h3",{class:"chat-history-group__title"},"今天",-1)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Se.value,w=>(n.openBlock(),n.createElementBlock("div",{key:w.id,class:n.normalizeClass(["chat-history-item",{"chat-history-item--active":w.id===Pe.value,"chat-history-item--menu-open":I.value===w.id}]),"data-testid":`chat-history-item-row-${w.id}`},[n.createElementVNode("button",{type:"button",class:"chat-history-item__select","data-testid":`chat-history-item-${w.id}`,onClick:le=>re(w.id)},[n.createVNode(n.unref(Xe.CommentOutlined),{class:"chat-history-item__icon"}),n.createElementVNode("span",Rg,[pt(w.title)?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:w.title,placement:"topRight","overlay-class-name":"runtime-chat__history-title-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("span",{class:"chat-history-item__title-tooltip-trigger","data-testid":`chat-history-title-tooltip-${w.id}`},[n.createElementVNode("span",Dg,n.toDisplayString(w.title),1)],8,vg)]),_:2},1032,["title"])):(n.openBlock(),n.createElementBlock("span",{key:1,class:"chat-history-item__title","data-testid":`chat-history-title-${w.id}`},n.toDisplayString(w.title),9,Ng)),Qe(w.updatedAt)?(n.openBlock(),n.createElementBlock("span",{key:2,class:"chat-history-item__time",title:Ie(w.updatedAt),"data-testid":`chat-history-updated-at-${w.id}`},n.toDisplayString(Qe(w.updatedAt)),9,Lg)):n.createCommentVNode("",!0)])],8,Ig),n.createElementVNode("div",Pg,[n.createElementVNode("button",{type:"button",class:"chat-history-item__more",title:"更多操作","aria-expanded":I.value===w.id,"data-testid":`chat-history-more-${w.id}`,onClick:n.withModifiers(le=>It(w.id),["stop"])},[n.createVNode(n.unref(Xe.EllipsisOutlined))],8,Mg),I.value===w.id?(n.openBlock(),n.createElementBlock("div",{key:0,class:"chat-history-item__menu",onClick:h[4]||(h[4]=n.withModifiers(()=>{},["stop"]))},[n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action","data-testid":`chat-history-rename-${w.id}`,onClick:le=>et(w.id)}," 重命名 ",8,Og),n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action chat-history-item__menu-action--danger","data-testid":`chat-history-delete-${w.id}`,onClick:le=>ge(w.id)}," 删除 ",8,Fg)])):n.createCommentVNode("",!0)])],10,Bg))),128))])),n.unref(H)?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("section",$g,[h[19]||(h[19]=n.createElementVNode("h3",{class:"chat-history-group__title"},"过去 30 天",-1)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Me.value,w=>(n.openBlock(),n.createElementBlock("div",{key:w.id,class:n.normalizeClass(["chat-history-item",{"chat-history-item--active":w.id===Pe.value,"chat-history-item--menu-open":I.value===w.id}]),"data-testid":`chat-history-item-row-${w.id}`},[n.createElementVNode("button",{type:"button",class:"chat-history-item__select","data-testid":`chat-history-item-${w.id}`,onClick:le=>re(w.id)},[n.createVNode(n.unref(Xe.CommentOutlined),{class:"chat-history-item__icon"}),n.createElementVNode("span",Hg,[pt(w.title)?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:w.title,placement:"topRight","overlay-class-name":"runtime-chat__history-title-tooltip"},{default:n.withCtx(()=>[n.createElementVNode("span",{class:"chat-history-item__title-tooltip-trigger","data-testid":`chat-history-title-tooltip-${w.id}`},[n.createElementVNode("span",qg,n.toDisplayString(w.title),1)],8,Gg)]),_:2},1032,["title"])):(n.openBlock(),n.createElementBlock("span",{key:1,class:"chat-history-item__title","data-testid":`chat-history-title-${w.id}`},n.toDisplayString(w.title),9,Ug)),Qe(w.updatedAt)?(n.openBlock(),n.createElementBlock("span",{key:2,class:"chat-history-item__time",title:Ie(w.updatedAt),"data-testid":`chat-history-updated-at-${w.id}`},n.toDisplayString(Qe(w.updatedAt)),9,Wg)):n.createCommentVNode("",!0)])],8,zg),n.createElementVNode("div",jg,[n.createElementVNode("button",{type:"button",class:"chat-history-item__more",title:"更多操作","aria-expanded":I.value===w.id,"data-testid":`chat-history-more-${w.id}`,onClick:n.withModifiers(le=>It(w.id),["stop"])},[n.createVNode(n.unref(Xe.EllipsisOutlined))],8,Kg),I.value===w.id?(n.openBlock(),n.createElementBlock("div",{key:0,class:"chat-history-item__menu",onClick:h[5]||(h[5]=n.withModifiers(()=>{},["stop"]))},[n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action","data-testid":`chat-history-rename-${w.id}`,onClick:le=>et(w.id)}," 重命名 ",8,Qg),n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action chat-history-item__menu-action--danger","data-testid":`chat-history-delete-${w.id}`,onClick:le=>ge(w.id)}," 删除 ",8,Yg)])):n.createCommentVNode("",!0)])],10,Vg))),128))])),!n.unref(H)&&ce.value.length===0?(n.openBlock(),n.createElementBlock("div",Jg," 暂无历史对话 ")):n.createCommentVNode("",!0)])])):(n.openBlock(),n.createElementBlock("section",Zg,[n.createElementVNode("header",{class:n.normalizeClass(["chat-panel__header",{"chat-panel__header--with-extra":U.value}])},[n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"返回",onClick:Rt},[n.createVNode(n.unref(Xe.LeftOutlined))]),h[20]||(h[20]=n.createElementVNode("h2",{class:"chat-panel__title"},"工作台设置",-1)),U.value?(n.openBlock(),n.createElementBlock("div",Xg,[n.renderSlot(m.$slots,"utility-header-extra",{},void 0,!0)])):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"关闭",onClick:Rt},[n.createVNode(n.unref(Xe.CloseOutlined))])],2),n.createElementVNode("div",ey,[e.showDefaultWorkbenchActions?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[n.createElementVNode("button",{type:"button",class:"chat-settings-panel__secondary","data-testid":"chat-settings-switch-default",onClick:h[6]||(h[6]=w=>d("switch-default-workbench"))},n.toDisplayString(e.defaultWorkbenchSwitchLabel),1),n.createElementVNode("button",{type:"button",class:"chat-settings-panel__secondary","data-testid":"chat-settings-restore-default",onClick:h[7]||(h[7]=w=>d("restore-default-workbench"))}," 恢复默认工作台 ")],64)):n.createCommentVNode("",!0),he.value?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("button",{key:1,type:"button",class:"chat-settings-panel__secondary chat-settings-panel__secondary--wide","data-testid":"chat-settings-edit-workbench",onClick:ot}," 编辑工作台 ")),he.value?(n.openBlock(),n.createElementBlock(n.Fragment,{key:2},[n.createElementVNode("button",{type:"button",class:"chat-settings-panel__secondary","data-testid":"chat-settings-auto-arrange",onClick:h[8]||(h[8]=w=>d("auto-arrange"))},[n.createVNode(n.unref(Xe.DragOutlined)),h[21]||(h[21]=n.createTextVNode(" 自动排列 ",-1))]),n.createElementVNode("button",{type:"button",class:"chat-settings-panel__primary","data-testid":"chat-settings-save",disabled:Z.value,onClick:ht},[Z.value?(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[h[22]||(h[22]=n.createElementVNode("span",null,"保存中",-1)),h[23]||(h[23]=n.createElementVNode("span",{class:"chat-saving-dots","aria-hidden":"true"},[n.createElementVNode("span",{class:"chat-saving-dots__dot"},"."),n.createElementVNode("span",{class:"chat-saving-dots__dot"},"."),n.createElementVNode("span",{class:"chat-saving-dots__dot"},".")],-1))],64)):(n.openBlock(),n.createElementBlock(n.Fragment,{key:1},[n.createTextVNode("保存")],64))],8,ty)],64)):n.createCommentVNode("",!0)]),e.showPersonaSettings?(n.openBlock(),n.createElementBlock("div",ny,[h[24]||(h[24]=n.createElementVNode("div",{class:"chat-settings-panel__persona-title"},"人格设定",-1)),n.createElementVNode("div",ay,[(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(At,w=>n.createElementVNode("button",{key:w.id,type:"button",class:n.normalizeClass(["chat-settings-panel__persona-option",{"chat-settings-panel__persona-option--active":e.assistantPersonaKey===w.id}]),"aria-selected":e.assistantPersonaKey===w.id,onClick:le=>d("assistant-persona-change",w.id)},n.toDisplayString(w.label),11,ry)),64))])])):n.createCommentVNode("",!0),n.createElementVNode("div",sy,[n.renderSlot(m.$slots,"settings",{},void 0,!0)])]))]),ne.value==="chat"?(n.openBlock(),n.createElementBlock("div",oy,[at.value?(n.openBlock(),n.createBlock(pg,{key:0,plan:at.value},null,8,["plan"])):n.createCommentVNode("",!0),n.createVNode(tg,{ref_key:"senderRef",ref:xe,"business-group-error":c.businessGroupError,"business-group-loading":c.businessGroupLoading,"business-groups":c.businessGroups,loading:n.unref(F),placeholder:e.placeholder,"route-images-as-attachments":c.routeImagesAsAttachments,"selected-business-group":c.selectedBusinessGroup,onBusinessGroupClear:h[9]||(h[9]=w=>d("business-group-clear")),onBusinessGroupOpen:h[10]||(h[10]=w=>d("business-group-open")),onBusinessGroupSelect:h[11]||(h[11]=w=>d("business-group-select",w)),onSubmit:Ea,onCancel:n.unref(S).abortStream,onImage:An,onAttachment:gt,onAttachments:ct},{history:n.withCtx(()=>[n.createVNode(sg,{usage:n.unref(S).contextUsage.value,loading:n.unref(S).isCompacting.value,disabled:n.unref(F),onCompact:xa},null,8,["usage","loading","disabled"])]),_:1},8,["business-group-error","business-group-loading","business-groups","loading","placeholder","route-images-as-attachments","selected-business-group","onCancel"])])):n.createCommentVNode("",!0)])]),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[dt.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"rename-overlay",onClick:h[14]||(h[14]=n.withModifiers(w=>dt.value=!1,["self"]))},[n.createElementVNode("div",iy,[h[25]||(h[25]=n.createElementVNode("div",{class:"rename-modal__title"},"重命名会话",-1)),n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":h[12]||(h[12]=w=>Be.value=w),class:"rename-modal__input",placeholder:"请输入新名称",onKeydown:n.withKeys(Je,["enter"])},null,544),[[n.vModelText,Be.value]]),n.createElementVNode("div",cy,[n.createElementVNode("button",{class:"rename-modal__btn rename-modal__btn--cancel",onClick:h[13]||(h[13]=w=>dt.value=!1)}," 取消 "),n.createElementVNode("button",{class:"rename-modal__btn rename-modal__btn--confirm",onClick:Je}," 确认 ")])])])):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[te.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"delete-overlay",onClick:n.withModifiers(we,["self"])},[n.createElementVNode("div",ly,[h[26]||(h[26]=n.createElementVNode("div",{id:"delete-conversation-title",class:"delete-modal__title"},"删除会话",-1)),n.createElementVNode("p",dy,n.toDisplayString(se.value),1),n.createElementVNode("div",uy,[n.createElementVNode("button",{class:"delete-modal__btn delete-modal__btn--cancel",disabled:O.value,"data-testid":"delete-conversation-cancel",onClick:we}," 取消 ",8,my),n.createElementVNode("button",{class:"delete-modal__btn delete-modal__btn--danger",disabled:O.value,"data-testid":"delete-conversation-confirm",onClick:Ge},n.toDisplayString(O.value?"删除中...":"确认删除"),9,fy)])])])):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[G.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"clear-overlay",onClick:n.withModifiers(Yt,["self"])},[n.createElementVNode("div",py,[h[27]||(h[27]=n.createElementVNode("div",{id:"clear-conversations-title",class:"clear-modal__title"}," 清空全部会话 ",-1)),n.createElementVNode("p",hy," 将删除 "+n.toDisplayString(Ce.value)+" 条会话记录,清空后会回到一个新的空对话。 ",1),n.createElementVNode("div",gy,[n.createElementVNode("button",{class:"clear-modal__btn clear-modal__btn--cancel",disabled:T.value,onClick:Yt}," 取消 ",8,yy),n.createElementVNode("button",{class:"clear-modal__btn clear-modal__btn--danger",disabled:T.value,"data-testid":"clear-conversations-confirm",onClick:tt},n.toDisplayString(T.value?"清空中...":"确认清空"),9,by)])])])):n.createCommentVNode("",!0)]))]),_:3}))}}),[["__scopeId","data-v-1edb1d13"]]);Fe.CardRecommendationDraftView=nc,Fe.ChartCardRenderer=Ni,Fe.FsesAiChat=Vs,Fe.FsesAiChatPlugin=cu,Fe.buildRecommendationConfigSummary=ji,Fe.canShowRecommendationFieldConfig=Im,Fe.createChartOption=Ii,Fe.default=Vs,Fe.deriveChartCardsFromMarkdown=No,Fe.getDisplayRows=Ei,Fe.getVisibleYFields=Ts,Fe.hasRecommendationFieldOptions=qi,Fe.isMetricServiceRecommendation=Is,Fe.isSqlQuestionRecommendation=xm,Fe.normalizeCardRecommendationFieldLabels=Am,Fe.normalizeNumber=na,Fe.recommendationConfigDiagnostic=Ui,Fe.recommendationFieldLabels=vs,Fe.recommendationFieldMapping=Hi,Fe.recommendationFieldOptions=Gi,Fe.recommendationFilterSummary=aa,Fe.resolveCardRecommendationFieldLabel=Gn,Fe.useChat=fi,Object.defineProperties(Fe,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});