@fses/workbench-app 0.2.13 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/WORKBENCH-CLOSURE.json +12 -12
- package/dist/{Workspace-Zcro-FS-.js → Workspace-_r17G1XR.js} +1057 -1056
- package/dist/canvas/api/index.js +1 -1
- package/dist/{canvasFacade-B0oy__da.js → canvasFacade-B2EHgdqA.js} +1 -1
- package/dist/{cardFactory-CoDF-zsR.js → cardFactory-BK3CA-Gn.js} +240 -189
- package/dist/config/workbenchAppConfig.d.ts +5 -0
- package/dist/extensions/index.js +1 -1
- package/dist/fses-workbench-app.js +16 -16
- package/dist/{index-BPItQZvf.js → index-C0L5xASu.js} +256 -281
- package/dist/internal/personal-workbench/lib/deepAgentApi.d.ts +14 -3
- package/dist/internal/personal-workbench/lib/echartsTemplateAssets.d.ts +25 -0
- package/dist/internal/personal-workbench/lib/workbenchCardRecommendationReturnItemUpsert.d.ts +1 -0
- package/dist/runtime/index.js +1 -1
- package/dist/style.css +1 -1
- package/dist/{useWorkbenchRuntime-DxtdDpY1.js → useWorkbenchRuntime-DLf_FgC7.js} +6256 -6187
- package/dist/version.d.ts +1 -1
- package/dist/{workbenchCustomComponentRegistry-6GHzavdM.js → workbenchCustomComponentRegistry-Bt94Lgko.js} +1 -1
- package/node_modules/@fses/ai-chat/dist/components/FsesAiChat.vue.d.ts +2 -0
- package/node_modules/@fses/ai-chat/dist/composables/useSystemEChartsIcon.d.ts +19 -2
- package/node_modules/@fses/ai-chat/dist/fses-ai-chat.js +4816 -4789
- package/node_modules/@fses/ai-chat/dist/fses-ai-chat.umd.cjs +16 -16
- package/node_modules/@fses/ai-chat/dist/plugin.d.ts +7 -2
- package/node_modules/@fses/ai-chat/dist/style.css +1 -1
- package/node_modules/@fses/ai-chat/package.json +5 -5
- package/node_modules/@fses/workbench-card/package.json +1 -1
- package/package.json +3 -3
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
(function(Le,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):(Le=typeof globalThis<"u"?globalThis:Le||self,n(Le.FsesAiChat={},Le.Vue,Le.AntDesignIconsVue,Le.AntDesignVue,Le.marked,Le.TinyRobot,Le.echarts,Le.FsesWorkbenchCard))})(this,function(Le,n,Ze,ua,co,Yr,dl,Jr){"use strict";function ul(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 ml=ul(dl);/*! @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:lo,setPrototypeOf:uo,isFrozen:fl,getPrototypeOf:pl,getOwnPropertyDescriptor:hl}=Object;let{freeze:jt,seal:an,create:ma}=Object,{apply:Zr,construct:Xr}=typeof Reflect<"u"&&Reflect;jt||(jt=function(r){return r}),an||(an=function(r){return r}),Zr||(Zr=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)}),Xr||(Xr=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=Et(Array.prototype.forEach),gl=Et(Array.prototype.lastIndexOf),mo=Et(Array.prototype.pop),$a=Et(Array.prototype.push),yl=Et(Array.prototype.splice),Kt=Array.isArray,Va=Et(String.prototype.toLowerCase),es=Et(String.prototype.toString),fo=Et(String.prototype.match),fa=Et(String.prototype.replace),po=Et(String.prototype.indexOf),bl=Et(String.prototype.trim),kl=Et(Number.prototype.toString),_l=Et(Boolean.prototype.toString),ho=typeof BigInt>"u"?null:Et(BigInt.prototype.toString),go=typeof Symbol>"u"?null:Et(Symbol.prototype.toString),yt=Et(Object.prototype.hasOwnProperty),za=Et(Object.prototype.toString),zt=Et(RegExp.prototype.test),hr=Cl(TypeError);function Et(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 Zr(e,r,c)}}function Cl(e){return function(){for(var r=arguments.length,o=new Array(r),c=0;c<r;c++)o[c]=arguments[c];return Xr(e,o)}}function Se(e,r){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Va;if(uo&&uo(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&&(fl(r)||(r[c]=u),d=u)}e[d]=!0}return e}function Sl(e){for(let r=0;r<e.length;r++)yt(e,r)||(e[r]=null);return e}function Jt(e){const r=ma(null);for(const[o,c]of lo(e))yt(e,o)&&(Kt(c)?r[o]=Sl(c):c&&typeof c=="object"&&c.constructor===Object?r[o]=Jt(c):r[o]=c);return r}function Al(e){switch(typeof e){case"string":return e;case"number":return kl(e);case"boolean":return _l(e);case"bigint":return ho?ho(e):"0";case"symbol":return go?go(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=hl(e,r);if(c){if(c.get)return Et(c.get);if(typeof c.value=="function")return Et(c.value)}e=pl(e)}function o(){return null}return o}function wl(e){try{return zt(e,""),!0}catch{return!1}}const yo=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"]),ts=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"]),ns=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"]),Tl=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"]),as=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"]),El=jt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),bo=jt(["#text"]),ko=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"]),rs=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"]),_o=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"]),gr=jt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),xl=an(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Bl=an(/<%[\w\W]*|[\w\W]*%>/gm),Il=an(/\$\{[\w\W]*/gm),Rl=an(/^data-[\-\w.\u00B7-\uFFFF]+$/),vl=an(/^aria-[\-\w]+$/),Co=an(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Dl=an(/^(?:\w+script|data):/i),Nl=an(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),So=an(/^html$/i),Ll=an(/^[a-z][.\w]*(-[.\w]+)+$/i);var Ao=Object.freeze({__proto__:null,ARIA_ATTR:vl,ATTR_WHITESPACE:Nl,CUSTOM_ELEMENT:Ll,DATA_ATTR:Rl,DOCTYPE_NAME:So,ERB_EXPR:Bl,IS_ALLOWED_URI:Co,IS_SCRIPT_OR_DATA:Dl,MUSTACHE_EXPR:xl,TMPLIT_EXPR:Il});const Ga={element:1,text:3,progressingInstruction:7,comment:8,document:9},Pl=function(){return typeof window>"u"?null:window},Ml=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}},wo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function To(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Pl();const r=he=>To(he);if(r.version="3.4.1",r.removed=[],!e||!e.document||e.document.nodeType!==Ga.document||!e.Element)return r.isSupported=!1,r;let{document:o}=e;const c=o,d=c.currentScript,{DocumentFragment:u,HTMLTemplateElement:y,Node:_,Element:T,NodeFilter:B,NamedNodeMap:U=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:D,DOMParser:I,trustedTypes:x}=e,H=T.prototype,q=pa(H,"cloneNode"),j=pa(H,"remove"),Ne=pa(H,"nextSibling"),oe=pa(H,"childNodes"),ue=pa(H,"parentNode");if(typeof y=="function"){const he=o.createElement("template");he.content&&he.content.ownerDocument&&(o=he.content.ownerDocument)}let ce,ge="";const{implementation:de,createNodeIterator:te,createDocumentFragment:Pe,getElementsByTagName:ne}=o,{importNode:fe}=c;let ke=wo();r.isSupported=typeof lo=="function"&&typeof ue=="function"&&de&&de.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:it,ERB_EXPR:St,TMPLIT_EXPR:bt,DATA_ATTR:qe,ARIA_ATTR:ct,IS_SCRIPT_OR_DATA:Mt,ATTR_WHITESPACE:xt,CUSTOM_ELEMENT:rt}=Ao;let{IS_ALLOWED_URI:qt}=Ao,we=null;const dt=Se({},[...yo,...ts,...ns,...as,...bo]);let Fe=null;const ut=Se({},[...ko,...rs,..._o,...gr]);let Ie=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,R=null;const $=Object.seal(ma(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let w=!0,Q=!0,ee=!1,M=!0,V=!1,K=!0,ie=!1,xe=!1,Ce=!1,Be=!1,Ae=!1,ot=!1,je=!0,Ke=!1;const pt="user-content-";let C=!0,z=!1,ae={},Y=null;const ye=Se({},["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 Te=null;const Me=Se({},["audio","video","img","source","image","track"]);let tt=null;const Dt=Se({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ht="http://www.w3.org/1998/Math/MathML",f="http://www.w3.org/2000/svg",b="http://www.w3.org/1999/xhtml";let E=b,J=!1,_e=null;const Re=Se({},[ht,f,b],es);let nt=Se({},["mi","mo","mn","ms","mtext"]),Ot=Se({},["annotation-xml"]);const mt=Se({},["title","style","font","a","script"]);let Xe=null;const Bt=["application/xhtml+xml","text/html"],Zt="text/html";let et=null,Wt=null;const aa=o.createElement("form"),dn=function(k){return k instanceof RegExp||k instanceof Function},kn=function(){let k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Wt&&Wt===k)return;(!k||typeof k!="object")&&(k={}),k=Jt(k),Xe=Bt.indexOf(k.PARSER_MEDIA_TYPE)===-1?Zt:k.PARSER_MEDIA_TYPE,et=Xe==="application/xhtml+xml"?es:Va,we=yt(k,"ALLOWED_TAGS")&&Kt(k.ALLOWED_TAGS)?Se({},k.ALLOWED_TAGS,et):dt,Fe=yt(k,"ALLOWED_ATTR")&&Kt(k.ALLOWED_ATTR)?Se({},k.ALLOWED_ATTR,et):ut,_e=yt(k,"ALLOWED_NAMESPACES")&&Kt(k.ALLOWED_NAMESPACES)?Se({},k.ALLOWED_NAMESPACES,es):Re,tt=yt(k,"ADD_URI_SAFE_ATTR")&&Kt(k.ADD_URI_SAFE_ATTR)?Se(Jt(Dt),k.ADD_URI_SAFE_ATTR,et):Dt,Te=yt(k,"ADD_DATA_URI_TAGS")&&Kt(k.ADD_DATA_URI_TAGS)?Se(Jt(Me),k.ADD_DATA_URI_TAGS,et):Me,Y=yt(k,"FORBID_CONTENTS")&&Kt(k.FORBID_CONTENTS)?Se({},k.FORBID_CONTENTS,et):ye,v=yt(k,"FORBID_TAGS")&&Kt(k.FORBID_TAGS)?Se({},k.FORBID_TAGS,et):Jt({}),R=yt(k,"FORBID_ATTR")&&Kt(k.FORBID_ATTR)?Se({},k.FORBID_ATTR,et):Jt({}),ae=yt(k,"USE_PROFILES")?k.USE_PROFILES&&typeof k.USE_PROFILES=="object"?Jt(k.USE_PROFILES):k.USE_PROFILES:!1,w=k.ALLOW_ARIA_ATTR!==!1,Q=k.ALLOW_DATA_ATTR!==!1,ee=k.ALLOW_UNKNOWN_PROTOCOLS||!1,M=k.ALLOW_SELF_CLOSE_IN_ATTR!==!1,V=k.SAFE_FOR_TEMPLATES||!1,K=k.SAFE_FOR_XML!==!1,ie=k.WHOLE_DOCUMENT||!1,Be=k.RETURN_DOM||!1,Ae=k.RETURN_DOM_FRAGMENT||!1,ot=k.RETURN_TRUSTED_TYPE||!1,Ce=k.FORCE_BODY||!1,je=k.SANITIZE_DOM!==!1,Ke=k.SANITIZE_NAMED_PROPS||!1,C=k.KEEP_CONTENT!==!1,z=k.IN_PLACE||!1,qt=wl(k.ALLOWED_URI_REGEXP)?k.ALLOWED_URI_REGEXP:Co,E=typeof k.NAMESPACE=="string"?k.NAMESPACE:b,nt=yt(k,"MATHML_TEXT_INTEGRATION_POINTS")&&k.MATHML_TEXT_INTEGRATION_POINTS&&typeof k.MATHML_TEXT_INTEGRATION_POINTS=="object"?Jt(k.MATHML_TEXT_INTEGRATION_POINTS):Se({},["mi","mo","mn","ms","mtext"]),Ot=yt(k,"HTML_INTEGRATION_POINTS")&&k.HTML_INTEGRATION_POINTS&&typeof k.HTML_INTEGRATION_POINTS=="object"?Jt(k.HTML_INTEGRATION_POINTS):Se({},["annotation-xml"]);const P=yt(k,"CUSTOM_ELEMENT_HANDLING")&&k.CUSTOM_ELEMENT_HANDLING&&typeof k.CUSTOM_ELEMENT_HANDLING=="object"?Jt(k.CUSTOM_ELEMENT_HANDLING):ma(null);if(Ie=ma(null),yt(P,"tagNameCheck")&&dn(P.tagNameCheck)&&(Ie.tagNameCheck=P.tagNameCheck),yt(P,"attributeNameCheck")&&dn(P.attributeNameCheck)&&(Ie.attributeNameCheck=P.attributeNameCheck),yt(P,"allowCustomizedBuiltInElements")&&typeof P.allowCustomizedBuiltInElements=="boolean"&&(Ie.allowCustomizedBuiltInElements=P.allowCustomizedBuiltInElements),V&&(Q=!1),Ae&&(Be=!0),ae&&(we=Se({},bo),Fe=ma(null),ae.html===!0&&(Se(we,yo),Se(Fe,ko)),ae.svg===!0&&(Se(we,ts),Se(Fe,rs),Se(Fe,gr)),ae.svgFilters===!0&&(Se(we,ns),Se(Fe,rs),Se(Fe,gr)),ae.mathMl===!0&&(Se(we,as),Se(Fe,_o),Se(Fe,gr))),$.tagCheck=null,$.attributeCheck=null,yt(k,"ADD_TAGS")&&(typeof k.ADD_TAGS=="function"?$.tagCheck=k.ADD_TAGS:Kt(k.ADD_TAGS)&&(we===dt&&(we=Jt(we)),Se(we,k.ADD_TAGS,et))),yt(k,"ADD_ATTR")&&(typeof k.ADD_ATTR=="function"?$.attributeCheck=k.ADD_ATTR:Kt(k.ADD_ATTR)&&(Fe===ut&&(Fe=Jt(Fe)),Se(Fe,k.ADD_ATTR,et))),yt(k,"ADD_URI_SAFE_ATTR")&&Kt(k.ADD_URI_SAFE_ATTR)&&Se(tt,k.ADD_URI_SAFE_ATTR,et),yt(k,"FORBID_CONTENTS")&&Kt(k.FORBID_CONTENTS)&&(Y===ye&&(Y=Jt(Y)),Se(Y,k.FORBID_CONTENTS,et)),yt(k,"ADD_FORBID_CONTENTS")&&Kt(k.ADD_FORBID_CONTENTS)&&(Y===ye&&(Y=Jt(Y)),Se(Y,k.ADD_FORBID_CONTENTS,et)),C&&(we["#text"]=!0),ie&&Se(we,["html","head","body"]),we.table&&(Se(we,["tbody"]),delete v.tbody),k.TRUSTED_TYPES_POLICY){if(typeof k.TRUSTED_TYPES_POLICY.createHTML!="function")throw hr('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof k.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw hr('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ce=k.TRUSTED_TYPES_POLICY,ge=ce.createHTML("")}else ce===void 0&&(ce=Ml(x,d)),ce!==null&&typeof ge=="string"&&(ge=ce.createHTML(""));jt&&jt(k),Wt=k},Rn=Se({},[...ts,...ns,...Tl]),vn=Se({},[...as,...El]),_n=function(k){let P=ue(k);(!P||!P.tagName)&&(P={namespaceURI:E,tagName:"template"});const L=Va(k.tagName),me=Va(P.tagName);return _e[k.namespaceURI]?k.namespaceURI===f?P.namespaceURI===b?L==="svg":P.namespaceURI===ht?L==="svg"&&(me==="annotation-xml"||nt[me]):!!Rn[L]:k.namespaceURI===ht?P.namespaceURI===b?L==="math":P.namespaceURI===f?L==="math"&&Ot[me]:!!vn[L]:k.namespaceURI===b?P.namespaceURI===f&&!Ot[me]||P.namespaceURI===ht&&!nt[me]?!1:!vn[L]&&(mt[L]||!Rn[L]):!!(Xe==="application/xhtml+xml"&&_e[k.namespaceURI]):!1},Z=function(k){$a(r.removed,{element:k});try{ue(k).removeChild(k)}catch{j(k)}},le=function(k,P){try{$a(r.removed,{attribute:P.getAttributeNode(k),from:P})}catch{$a(r.removed,{attribute:null,from:P})}if(P.removeAttribute(k),k==="is")if(Be||Ae)try{Z(P)}catch{}else try{P.setAttribute(k,"")}catch{}},Oe=function(k){let P=null,L=null;if(Ce)k="<remove></remove>"+k;else{const Ee=fo(k,/^[\r\n\t ]+/);L=Ee&&Ee[0]}Xe==="application/xhtml+xml"&&E===b&&(k='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+k+"</body></html>");const me=ce?ce.createHTML(k):k;if(E===b)try{P=new I().parseFromString(me,Xe)}catch{}if(!P||!P.documentElement){P=de.createDocument(E,"template",null);try{P.documentElement.innerHTML=J?ge:me}catch{}}const be=P.body||P.documentElement;return k&&L&&be.insertBefore(o.createTextNode(L),be.childNodes[0]||null),E===b?ne.call(P,ie?"html":"body")[0]:ie?P.documentElement:be},ve=function(k){return te.call(k.ownerDocument||k,k,B.SHOW_ELEMENT|B.SHOW_COMMENT|B.SHOW_TEXT|B.SHOW_PROCESSING_INSTRUCTION|B.SHOW_CDATA_SECTION,null)},Ge=function(k){return k instanceof D&&(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")},We=function(k){return typeof _=="function"&&k instanceof _};function Ye(he,k,P){Fa(he,L=>{L.call(r,k,P,Wt)})}const Ft=function(k){let P=null;if(Ye(ke.beforeSanitizeElements,k,null),Ge(k))return Z(k),!0;const L=et(k.nodeName);if(Ye(ke.uponSanitizeElement,k,{tagName:L,allowedTags:we}),K&&k.hasChildNodes()&&!We(k.firstElementChild)&&zt(/<[/\w!]/g,k.innerHTML)&&zt(/<[/\w!]/g,k.textContent)||K&&k.namespaceURI===b&&L==="style"&&We(k.firstElementChild)||k.nodeType===Ga.progressingInstruction||K&&k.nodeType===Ga.comment&&zt(/<[/\w]/g,k.data))return Z(k),!0;if(v[L]||!($.tagCheck instanceof Function&&$.tagCheck(L))&&!we[L]){if(!v[L]&&Nn(L)&&(Ie.tagNameCheck instanceof RegExp&&zt(Ie.tagNameCheck,L)||Ie.tagNameCheck instanceof Function&&Ie.tagNameCheck(L)))return!1;if(C&&!Y[L]){const me=ue(k)||k.parentNode,be=oe(k)||k.childNodes;if(be&&me){const Ee=be.length;for(let st=Ee-1;st>=0;--st){const $t=q(be[st],!0);me.insertBefore($t,Ne(k))}}}return Z(k),!0}return k instanceof T&&!_n(k)||(L==="noscript"||L==="noembed"||L==="noframes")&&zt(/<\/no(script|embed|frames)/i,k.innerHTML)?(Z(k),!0):(V&&k.nodeType===Ga.text&&(P=k.textContent,Fa([it,St,bt],me=>{P=fa(P,me," ")}),k.textContent!==P&&($a(r.removed,{element:k.cloneNode()}),k.textContent=P)),Ye(ke.afterSanitizeElements,k,null),!1)},en=function(k,P,L){if(R[P]||je&&(P==="id"||P==="name")&&(L in o||L in aa))return!1;if(!(Q&&!R[P]&&zt(qe,P))){if(!(w&&zt(ct,P))){if(!($.attributeCheck instanceof Function&&$.attributeCheck(P,k))){if(!Fe[P]||R[P]){if(!(Nn(k)&&(Ie.tagNameCheck instanceof RegExp&&zt(Ie.tagNameCheck,k)||Ie.tagNameCheck instanceof Function&&Ie.tagNameCheck(k))&&(Ie.attributeNameCheck instanceof RegExp&&zt(Ie.attributeNameCheck,P)||Ie.attributeNameCheck instanceof Function&&Ie.attributeNameCheck(P,k))||P==="is"&&Ie.allowCustomizedBuiltInElements&&(Ie.tagNameCheck instanceof RegExp&&zt(Ie.tagNameCheck,L)||Ie.tagNameCheck instanceof Function&&Ie.tagNameCheck(L))))return!1}else if(!tt[P]){if(!zt(qt,fa(L,xt,""))){if(!((P==="src"||P==="xlink:href"||P==="href")&&k!=="script"&&po(L,"data:")===0&&Te[k])){if(!(ee&&!zt(Mt,fa(L,xt,"")))){if(L)return!1}}}}}}}return!0},Dn=Se({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Nn=function(k){return!Dn[Va(k)]&&zt(rt,k)},At=function(k){Ye(ke.beforeSanitizeAttributes,k,null);const{attributes:P}=k;if(!P||Ge(k))return;const L={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Fe,forceKeepAttr:void 0};let me=P.length;for(;me--;){const be=P[me],{name:Ee,namespaceURI:st,value:$t}=be,It=et(Ee),Un=$t;let ft=Ee==="value"?Un:bl(Un);if(L.attrName=It,L.attrValue=ft,L.keepAttr=!0,L.forceKeepAttr=void 0,Ye(ke.uponSanitizeAttribute,k,L),ft=L.attrValue,Ke&&(It==="id"||It==="name")&&po(ft,pt)!==0&&(le(Ee,k),ft=pt+ft),K&&zt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,ft)){le(Ee,k);continue}if(It==="attributename"&&fo(ft,"href")){le(Ee,k);continue}if(L.forceKeepAttr)continue;if(!L.keepAttr){le(Ee,k);continue}if(!M&&zt(/\/>/i,ft)){le(Ee,k);continue}V&&Fa([it,St,bt],xa=>{ft=fa(ft,xa," ")});const Ea=et(k.nodeName);if(!en(Ea,It,ft)){le(Ee,k);continue}if(ce&&typeof x=="object"&&typeof x.getAttributeType=="function"&&!st)switch(x.getAttributeType(Ea,It)){case"TrustedHTML":{ft=ce.createHTML(ft);break}case"TrustedScriptURL":{ft=ce.createScriptURL(ft);break}}if(ft!==Un)try{st?k.setAttributeNS(st,Ee,ft):k.setAttribute(Ee,ft),Ge(k)?Z(k):mo(r.removed)}catch{le(Ee,k)}}Ye(ke.afterSanitizeAttributes,k,null)},pn=function(k){let P=null;const L=ve(k);for(Ye(ke.beforeSanitizeShadowDOM,k,null);P=L.nextNode();)Ye(ke.uponSanitizeShadowNode,P,null),Ft(P),At(P),P.content instanceof u&&pn(P.content);Ye(ke.afterSanitizeShadowDOM,k,null)};return r.sanitize=function(he){let k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},P=null,L=null,me=null,be=null;if(J=!he,J&&(he="<!-->"),typeof he!="string"&&!We(he)&&(he=Al(he),typeof he!="string"))throw hr("dirty is not a string, aborting");if(!r.isSupported)return he;if(xe||kn(k),r.removed=[],typeof he=="string"&&(z=!1),z){const $t=he.nodeName;if(typeof $t=="string"){const It=et($t);if(!we[It]||v[It])throw hr("root node is forbidden and cannot be sanitized in-place")}}else if(he instanceof _)P=Oe("<!---->"),L=P.ownerDocument.importNode(he,!0),L.nodeType===Ga.element&&L.nodeName==="BODY"||L.nodeName==="HTML"?P=L:P.appendChild(L);else{if(!Be&&!V&&!ie&&he.indexOf("<")===-1)return ce&&ot?ce.createHTML(he):he;if(P=Oe(he),!P)return Be?null:ot?ge:""}P&&Ce&&Z(P.firstChild);const Ee=ve(z?he:P);for(;me=Ee.nextNode();)Ft(me),At(me),me.content instanceof u&&pn(me.content);if(z)return he;if(Be){if(V){P.normalize();let $t=P.innerHTML;Fa([it,St,bt],It=>{$t=fa($t,It," ")}),P.innerHTML=$t}if(Ae)for(be=Pe.call(P.ownerDocument);P.firstChild;)be.appendChild(P.firstChild);else be=P;return(Fe.shadowroot||Fe.shadowrootmode)&&(be=fe.call(c,be,!0)),be}let st=ie?P.outerHTML:P.innerHTML;return ie&&we["!doctype"]&&P.ownerDocument&&P.ownerDocument.doctype&&P.ownerDocument.doctype.name&&zt(So,P.ownerDocument.doctype.name)&&(st="<!DOCTYPE "+P.ownerDocument.doctype.name+`>
|
|
2
|
-
`+
|
|
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
3
|
${r}
|
|
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 Ro(e){return e.rows.length!==1?!1:e.headers.every(r=>!yr(r)&&!br(r))&&e.headers.every((r,o)=>kr(e,o))}function jl(e){if(Ro(e))return!0;const r=Bo(e);return e.headers.some((o,c)=>c===r||yr(o)||br(o)?!1:kr(e,c))}function Kl(e,r,o){var B,U;const c=$l(e,r.index);if(Ro(r)){const D=r.headers.map((I,x)=>({指标:rn(I),数值:xo(r.rows[0][x]??"")??0}));return{type:"chart-card",id:`derived-${vo(`${c}:${JSON.stringify(D)}`)}`,title:c,chart:{type:Io(e,c,"指标",["数值"],o.userQuestion),xField:"指标",yFields:["数值"],data:D},summary:"基于当前回复中的结果数据生成。",source:{label:"当前问数结果",value:"assistant-response"},permission:{label:"当前用户可见",level:"self",downloadable:!1},actions:["insert-left"],meta:{generatedBy:"agent",...(B=o.userQuestion)!=null&&B.trim()?{prompt:o.userQuestion.trim()}:{},version:1}}}const d=Bo(r),u=r.headers[d],y=r.headers.map((D,I)=>({header:D,index:I})).filter(({header:D,index:I})=>I===d||yr(D)||br(D)||ql(D)?!1:kr(r,I));if(y.length===0)return null;const _=y.map(D=>D.header),T=r.rows.map(D=>{const I={[u]:rn(D[d]??"")};for(const{header:x,index:H}of y)I[x]=xo(D[H]??"")??0;return I});return{type:"chart-card",id:`derived-${vo(`${c}:${JSON.stringify(T)}`)}`,title:c,chart:{type:Io(e,c,u,_,o.userQuestion),xField:u,yFields:_,data:T},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 vo(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 Do(e,r={}){return Fl(e).filter(jl).map(o=>Kl(e,o,r)).filter(o=>!!o)}const Ql={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 ls(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 _r(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))?_r(e.value):e}function No(e){return typeof e!="string"?"bar":Ql[e]??"bar"}function Yl(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 Lo(e){for(const r of e){if(!Qe(r))continue;const o={},c=He(r.unitCode||r.unit_code),d=He(r.unitLabel||r.unit_label||r.unit),u=He(r.valueFormat||r.value_format||r.format),y=He(r.displayValue||r.display_value),_=ds(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 Jl(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(B=>typeof B=="string"&&B.trim().length>0).map(B=>B.trim()):[],_=Array.isArray(r.data)?r.data.filter(Qe):[];if(!d||!u||y.length===0||_.length===0)return null;const T=Lo([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-${ls(`${d}:${JSON.stringify(_)}`)}`,title:d,...typeof e.period=="string"&&e.period.trim()?{period:e.period.trim()}:{},chart:{type:No(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(B=>typeof B=="string")}:{},...T?{valueSpec:T}:{}},...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(B=>typeof B=="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:Yl(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 Po(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=Lo([e.displaySpec]);return{type:"chart-card",id:`tool-${ls(`${r}:${JSON.stringify(d)}`)}`,title:r,...typeof e.period=="string"&&e.period.trim()?{period:e.period.trim()}:{},chart:{type:No(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 He(e){return typeof e=="string"&&e.trim()?e.trim():""}function ds(e){const r=typeof e=="number"?e:Number(e);return Number.isFinite(r)?r:null}function Zl(e,r){const o=He(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 Xl(e){if(!Qe(e))return{label:"运行态权限已校验",level:"self"};const r=e.level==="team"||e.level==="org"||e.level==="self"?e.level:"self";return{label:He(e.label)||"运行态权限已校验",level:r}}function ed(e,r){const c={...Qe(e.displaySpec)?e.displaySpec:Qe(r.displaySpec)?r.displaySpec:{},...r,...e},d={},u=He(c.unitCode||c.unit_code||c.unit),y=He(c.unitLabel||c.unit_label||c.unitName||c.unit_name||c.unit),_=He(c.valueFormat||c.value_format||c.primaryFormat||c.format),T=He(c.displayValue||c.display_value),B=ds(c.decimalPlaces??c.decimal_places??c.scale);return u&&(d.unitCode=u),y&&(d.unitLabel=y),_&&(d.valueFormat=_),T&&(d.displayValue=T),B!==null&&(d.decimalPlaces=Math.max(0,Math.min(8,Math.trunc(B)))),Object.keys(d).length>0?d:void 0}function td(e){const r=_r(e);if(!Qe(r))return null;const o=Qe(r.source)?r.source:{},c=He(o.value),d=He(r.metricCode||r.metric_code),u=He(r.metricId||r.metric_id),y=He(r.metricName||r.metric_name||r.title)||d||u||"指标",_=ds(r.value??r.currentValue??r.primaryValue),T=!!(d||u||He(r.metricName||r.metric_name)||c==="execute_metric_api"||r.aggregation);if(_===null||!T)return null;const B=Qe(r.dataBinding)?r.dataBinding:{},U=Qe(B.permissionContext)?B.permissionContext:{...He(r.tenantId)?{tenantId:He(r.tenantId)}:{},...He(r.appId)?{appId:He(r.appId)}:{}},D=He(B.question),I=He(B.bindingId)||u||d,x=He(B.metricCode)||d,H=He(B.metricId)||u,q=ed(r,B),j=He(r.displayValue||r.display_value||B.displayValue||(q==null?void 0:q.displayValue));return{type:"metric-card",id:`metric-${ls(`${H||x||y}:${_}`)}`,title:y,metricName:y,...x?{metricCode:x}:{},...H?{metricId:H}:{},value:_,...j?{displayValue:j}:{},...q?{displaySpec:q}:{},format:Zl({...r,...q??{}},y),source:{label:He(o.label)||"百特搭指标执行引擎",...c?{value:c}:{value:"execute_metric_api"}},dataBinding:{...D?{question:D}:{},...I?{bindingId:I}:{},...He(B.contractHash||r.contractHash)?{contractHash:He(B.contractHash||r.contractHash)}:{},executeApi:He(B.executeApi)||"/apps/api/v1/sp/ai/metric/metrics/execute",...x?{metricCode:x}:{},...H?{metricId:H}:{},...q?{displaySpec:q}:{},...j?{displayValue:j}:{},...q!=null&&q.unitCode?{unitCode:q.unitCode}:{},...q!=null&&q.unitLabel?{unitLabel:q.unitLabel}:{},...q!=null&&q.valueFormat?{valueFormat:q.valueFormat}:{},...(q==null?void 0:q.decimalPlaces)!==void 0?{decimalPlaces:q.decimalPlaces}:{},readbackApi:He(B.readbackApi)||"/apps/api/v1/sp/ai/metric/metrics/userReadback",refreshApi:He(B.refreshApi)||"/apps/api/v1/sp/ai/metric/metrics/execute",...Array.isArray(B.queryFilters)?{queryFilters:B.queryFilters}:{},...Qe(B.paramsSchema)?{paramsSchema:B.paramsSchema}:{},...Object.keys(U).length>0?{permissionContext:U}:{}},permission:Xl(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)&&He(r.meta.prompt)?{prompt:He(r.meta.prompt)}:{}}}}function nd(e){const r=_r(e);return Qe(r)?r.type==="chart-card"?Jl(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)?Po(r):null:null}const ad=[/需要确认口径/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 Mo(e){return ad.some(r=>r.test(e))}function rd(e){return e.role==="assistant"&&e.conclusion===!0&&!Mo(e.content)}function sd(e){var r;return e.role==="assistant"&&e.conclusion===!0&&!e.loading&&!e.streaming&&!!((r=e.cards)!=null&&r.length)&&!Mo(e.content)}const od=128e3;function id(e,r={}){const o=r.contextWindow??od,c=e.reduce((_,T)=>_+us(T),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 us(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+us(o),0):typeof e=="object"?Object.entries(e).reduce((r,[o,c])=>r+o.length+us(c),0):0}let cd=0,Oo=0;function xn(){return`msg_${++cd}`}function Bn(){const e=new Date,r=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${r}:${o}`}function Fo(e){return e.role!=="status"&&!e.cardRecommendationDraft}function $o(e){if(typeof e!="string"||!e.trim())return NaN;const r=Date.parse(e);return Number.isFinite(r)?r:NaN}function ld(e,r){const o=$o(r.timestamp);if(!Number.isFinite(o)){e.push(r);return}const c=e.findIndex(d=>{const u=$o(d.timestamp);return Number.isFinite(u)&&u>o});if(c>=0){e.splice(c,0,r);return}e.push(r)}function Zn(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 Cr(e){var o;const r=(o=e.cardRecommendationDraft)==null?void 0:o.sourceTurnId;return typeof r=="string"&&r.trim()?r.trim():""}function Sr(e){const r=e.cardRecommendationDraft,o=r==null?void 0:r.placementTurnId;return typeof o=="string"&&o.trim()?o.trim():""}function On(e){const r=e.workbenchTurnId;return typeof r=="string"&&r.trim()?r.trim():""}function Fn(e){return Sr(e)||Cr(e)||On(e)||Zn(e.id)}function Ha(e){return e==null?"":Array.isArray(e)?`[${e.map(Ha).join(",")}]`:Ue(e)?`{${Object.keys(e).sort().map(r=>`${JSON.stringify(r)}:${Ha(e[r])}`).join(",")}}`:JSON.stringify(e)??String(e)}function ha(e){return Ue(e)?e:{}}function dd(e){return typeof e=="string"&&e.trim()?e.trim():Ue(e)?X(e.key)||X(e.dataIndex)||X(e.data_index)||X(e.field)||X(e.name):""}function Vo(e){const r=ha(e.data);return(Array.isArray(e.rows)?e.rows:Array.isArray(r.rows)?r.rows:[]).filter(Ue)}function zo(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 T=dd(y);return T&&r.some(B=>Object.prototype.hasOwnProperty.call(B,T))?T:d[_]||T}).filter(Boolean);return[...new Set(u.length>0?u:d)]}function ms(e){if(!Ue(e))return"";const r=ha(e.metadata),o=X(e.resultId)||X(r.resultId)||X(e.id),c=X(e.sourceTurnId)||X(r.sourceTurnId);if(c&&(!o||o.startsWith(`${c}:`)))return`turn:${c}`;if(o)return`result:${o}`;if(c)return`turn:${c}`;const d=Vo(e),u=zo(e,d);if(d.length>0&&u.length>0)return`rows:${Ha({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:${Ha(_)}`}function fs(e){return[e,...Array.isArray(e.viewAlternatives)?e.viewAlternatives.flatMap(r=>fs(r)):[]]}function ud(e){const r=e.recommendations.flatMap(fs).map(d=>ms(d.queryResult)).filter(Boolean),o=ms(e.queryResult),c=r.length>0?r:o?[o]:[];return[...new Set(c)].sort()}function md(e){return e.role==="assistant"&&!!e.queryResultTable&&!e.cardRecommendationDraft&&!e.content.trim()}function fd(e){return e.role==="status"&&e.loading===!0&&!e.cardRecommendationDraft&&/^思考中[.。…]*$/u.test(e.content.trim())}function pd(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 Ho(e){if(Go(e),e.role==="status"){pd(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 hd(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 gd(e){return typeof e.totalCount=="number"?e.totalCount:typeof e.returnedCount=="number"?e.returnedCount:e.rows.length}function qo(e){return e.rows.length<=1&&gd(e)<=1&&e.columns.length<=1}function yd(e,r){return!!e.trim()&&qo(r)}function Ar(e){const r=Array.isArray(e.queryResultTables)?e.queryResultTables:e.queryResultTable?[e.queryResultTable]:[];if(r.length===0)return;const o=r.filter(c=>!yd(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(!md(r)||!r.queryResultTable)return null;if(r.queryResultTable.renderedInMarkdown)return r;const o=Fn(r);if(!o)return null;const c=e.findIndex(d=>sn(d,o));return c<0?null:(qo(r.queryResultTable)||hd(e[c],r.queryResultTable),e[c])}function sn(e,r){if(e.role!=="assistant"||e.cardRecommendationDraft||!e.content.trim())return!1;const o=On(e);return o?o===r:Zn(e.id)!==r?!1:e.id.endsWith("-reply")||e.id.endsWith("-conclusion-stream")}function ps(e,r){return!!(r&&e.some(o=>sn(o,r)))}function Uo(e){let r=e.toLocaleLowerCase();for(;/\d,\d/u.test(r);)r=r.replace(/(\d),(\d)/gu,"$1$2");return r}function bd(e){if(!Ue(e))return[];const r=Ue(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(Ue);return[]}function kd(e){const r=e.cardRecommendationDraft;return r?[r.queryResult,...r.recommendations.map(o=>o.queryResult)].filter(Ue):[]}function _d(e){const r=new Set;for(const o of kd(e)){const c=Object.prototype.hasOwnProperty.call(o,"value")?o.value:void 0,d=bd(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(Uo(_))}}return[...r].slice(0,8)}function jo(e,r){const o=_d(r);if(o.length===0)return"";const c=e.flatMap(d=>{const u=Fn(d);if(!u||!sn(d,u))return[];const y=Uo(d.content);return o.every(_=>y.includes(_))?[u]:[]});return new Set(c).size===1&&c[0]||""}function Xn(e,r){if(!r.cardRecommendationDraft)return Fn(r);const o=Cr(r),c=Sr(r);if(ps(e,o))return o;const d=jo(e,r);return d||(ps(e,c)?c:c||o||On(r)||Zn(r.id))}function Cd(e,r,o=[]){if(!e.cardRecommendationDraft||!r)return!1;const c=Cr(e),d=Sr(e);return c===r||c.startsWith(`${r}:`)?!0:c&&ps(o,c)?!1:d===r?!0:On(e)===r||Zn(e.id)===r}function Ko(e,r){if(!r.cardRecommendationDraft)return!1;const o=Xn(e,r);if(!o)return!1;const c=e.findIndex(d=>sn(d,o));return c<0?!1:(e.splice(c+1,0,r),!0)}function Sd(e,r){if(!r.thinkingProcess)return!1;const o=Fn(r);if(!o)return!1;const c=e.findIndex(d=>sn(d,o));return c<0?!1:(e.splice(c,0,r),!0)}function ga(e,r){const o=Fn(r);if(!o||!sn(r,o))return!1;const c=e.flatMap((T,B)=>T.cardRecommendationDraft&&Xn(e,T)===o?[B]:[]);if(c.length===0)return!1;const d=e.findIndex(T=>T.id===r.id),u=c.every((T,B)=>T===d+B+1);if(d<0||u)return!1;const y=c.map(T=>e[T]);for(let T=c.length-1;T>=0;T-=1)e.splice(c[T],1);const _=e.findIndex(T=>T.id===r.id);return e.splice(_+1,0,...y),!0}function Qo(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 hs(e){if(!e.cardRecommendationDraft)return"";const r=ud(e.cardRecommendationDraft);return r.length===1?r[0]:r.length>1?`multi:${r.join("|")}`:Cr(e)||Sr(e)||On(e)||Zn(e.id)}function ea(e,r){const o=hs(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&&hs(d)===o&&e.splice(c,1)}}function gs(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 Ad(e){const r=e.cardRecommendationDraft;return r?[r.queryResult,...r.recommendations.flatMap(fs).map(o=>o.queryResult)].filter(Ue).some(o=>{const c=ha(o.metadata);return!!(X(o.resultId)||X(c.resultId)||X(o.id)||X(o.sourceTurnId)||X(c.sourceTurnId))}):!1}function ya(e){const r=e.cardRecommendationDraft;return!r||e.workbenchInterleavedPlacement==="recommendation"?!1:r.recommendations.length<=1&&!gs(e)}function wd(e){return ya(e)&&!Ad(e)}function ys(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=Fn(d);if(u&&sn(d,u))return u}return""}function Yo(e,r,o){if(!gs(r)||!ya(o))return!1;const c=Xn(e,r),d=Xn(e,o);if(c&&d&&c===d)return!0;const u=ys(e,r),y=ys(e,o);return!!(u&&y&&u===y)}function ba(e,r){if(gs(r))for(let o=e.length-1;o>=0;o-=1){const c=e[o];c&&c.id!==r.id&&Yo(e,r,c)&&e.splice(o,1)}}function Td(e){if(!ya(e))return"";const r=e.cardRecommendationDraft,o=r==null?void 0:r.recommendations[0];return Ha({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 Ed(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 Ue(c)?c:null}function xd(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():Ue(c)?X(c.label)||X(c.title)||X(c.name)||X(c.key):"").filter(Boolean)}function Bd(e){var D,I;const r=Ed(e),o=e.cardRecommendationDraft,c=o==null?void 0:o.recommendations[0];if(!r)return(((D=c==null?void 0:c.title)==null?void 0:D.trim().length)||0)>0?1:0;const d=Vo(r),u=zo(r,d),_=xd(r).filter((x,H)=>{const q=u[H]||"";return x&&x!==q}).length,T=d.slice(0,5).reduce((x,H)=>x+u.filter(q=>H[q]!==null&&H[q]!==void 0&&String(H[q]).trim()!=="").length,0),B=ms(r)?4:0,U=(I=c==null?void 0:c.title)!=null&&I.trim()?2:0;return u.length*20+Math.min(d.length,20)*3+_*6+Math.min(T,30)+B+U}function Id(e,r,o){if(wd(r))return!0;if(!ya(r))return!1;const c=jo(e,r);return!!(c&&c===o)}function Rd(e){const r=new Map;for(let c=0;c<e.length;c+=1){const d=e[c];if(!d)continue;const u=ys(e,d);if(!u||!Id(e,d,u))continue;const y=Td(d),_=r.get(u)||[];_.push({index:c,message:d,signature:y,score:Bd(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 $n(e){for(const r of[...e])ba(e,r);Rd(e)}function qa(e,r){return ya(r)&&e.some(o=>Yo(e,o,r))}function vd(e){const r=[];for(const o of e)Wo(r,o)||r.push(o);return r}function Jo(){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 Oo+=1,`conv_${Date.now().toString(36)}_${Oo.toString(36)}`}function bn(e){return typeof e=="function"?e():e}function Dd(e){return typeof e=="function"?e():e}function Zo(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 Ue(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function ka(e){if(Ue(e)&&e.type==="text"&&typeof e.value=="string"||Ue(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 X(e){return typeof e=="string"&&e.trim()?e.trim():""}function Nd(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 bs(e){if(!Ue(e))return null;const r=new Set,o=(Array.isArray(e.columns)?e.columns:[]).map(y=>{if(!Ue(y))return null;const _=X(y.key)||X(y.name);return!_||r.has(_)?null:(r.add(_),{key:_,label:X(y.label)||_})}).filter(y=>!!y);if(o.length===0)return null;const c=(Array.isArray(e.rows)?e.rows:[]).filter(Ue).map(y=>{const _={};for(const T of o){const B=Nd(y[T.key]);B!==void 0&&(_[T.key]=B)}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}:{},...X(e.title)?{title:X(e.title)}:{},...d!==void 0?{returnedCount:d}:{},...u!==void 0?{totalCount:u}:{}}}function Xo(e){return Array.isArray(e)?e.map(r=>bs(r)).filter(r=>!!r):[]}function ei(e){return e instanceof Error&&e.message.trim()||Ue(e)&&typeof e.message=="string"&&e.message.trim()?e.message.trim():String(e||"请求失败")}function Ld(e){return Ue(e)&&typeof e.code=="number"&&"data"in e?e.data:e}async function ks(e){return Ld(await e.json())}function Pd(e){return Array.isArray(e)?e.flatMap(r=>{if(!Ue(r))return[];const o=X(r.threadId);return o?[{threadId:o,title:X(r.title)||void 0,chatMode:X(r.chatMode)||void 0,createdAt:X(r.createdAt)||void 0,updatedAt:X(r.updatedAt)||void 0}]:[]}):[]}function ti(e){const r=X(e).replace(/\s+/g," ");return r?r.length>20?`${r.slice(0,20)}...`:r:"新对话"}const Md="已加载语义上下文,已提取候选指标、维度、过滤条件和本体模型,用于后续 SQL 推理。",Od="已加载本体知识,相关术语、模型和字段已用于后续推理。",Fd=new Set(["load_semantic_context","get_query_context"]);function $d(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 Vd(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 zd(e){return $d(e)?Md:Vd(e)?Od:e}function ni(e){if(!Ue(e))return null;const r=typeof e.index=="number"&&Number.isFinite(e.index)?e.index:void 0;return r?{index:r,label:X(e.label)||`候选 ${r}`,...X(e.description)?{description:X(e.description)}:{},...X(e.appId)?{appId:X(e.appId)}:{},...X(e.modelCode)?{modelCode:X(e.modelCode)}:{},...X(e.metricCode)?{metricCode:X(e.metricCode)}:{},...X(e.fieldCode)?{fieldCode:X(e.fieldCode)}:{},...X(e.source)?{source:X(e.source)}:{}}:null}function ai(e){if(!Ue(e))return null;const r=X(e.code)||X(e.name),o=X(e.name)||r;return!r||!o?null:{code:r,name:o,...X(e.displayValue)?{displayValue:X(e.displayValue)}:{},...typeof e.required=="boolean"?{required:e.required}:{},...X(e.source)?{source:X(e.source)}:{}}}function ri(e){if(!Ue(e))return null;const r=X(e.taskId),o=X(e.taskKind),c=X(e.title);if(!r||!o||!c)return null;const u=(Array.isArray(e.confirmationOptions)?e.confirmationOptions:[]).map(ni).filter(B=>!!B),y=ni(e.confirmedSelection),_=(Array.isArray(e.fields)?e.fields:[]).map(ai).filter(B=>!!B),T=(Array.isArray(e.missingFields)?e.missingFields:[]).map(ai).filter(B=>!!B);return{turnId:X(e.turnId),taskId:r,taskKind:o,taskKindLabel:X(e.taskKindLabel)||o,title:c,status:X(e.status)||"waiting_confirmation",statusLabel:X(e.statusLabel)||"等待确认",statusTone:["neutral","brand","warning","success","danger"].includes(X(e.statusTone))?X(e.statusTone):"neutral",fields:_,missingFields:T,canConfirm:e.canConfirm===!0,...X(e.confirmPhrase)?{confirmPhrase:X(e.confirmPhrase)}:{},...X(e.cancelPhrase)?{cancelPhrase:X(e.cancelPhrase)}:{},...u.length>0?{confirmationOptions:u}:{},...y?{confirmedSelection:y}:{},...X(e.lastErrorMessage)?{lastErrorMessage:X(e.lastErrorMessage)}:{},...X(e.resultSummary)?{resultSummary:X(e.resultSummary)}:{}}}function si(e){const r=ka(e);if(!Ue(r))return null;const o=Ue(r.queryContext)?r.queryContext:r,c=X(o.tenantId),d=X(o.appId),u=X(o.dialect);return c||d||u?{tenantId:c,appId:d,dialect:u}:null}function Gd(e){const r=ka(e);if(!Ue(r))return;const o=si(r),c=wr(r.matchedMetrics),d=wr(r.matchedDimensions),u=wr(r.matchedFilters),y=wr(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[`候选指标:${Tr(c,"未匹配到明确指标")}`,`候选维度:${Tr(d,"未匹配到明确维度")}`,...u.length?[`候选过滤条件:${Tr(u,"未匹配到明确过滤条件")}`]:[],...y.length?[`候选本体:${Tr(y,"未匹配到明确本体")}`]:[]].join(`
|
|
6
|
-
`)}function
|
|
7
|
-
`).replace(/\s+/gu," ").trim();let
|
|
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&<.includes("no output"))}).map(Ce=>`**${ws(Ce.toolName)}返回结果:**
|
|
8
8
|
|
|
9
|
-
${
|
|
9
|
+
${Ce.output.value}`).join(`
|
|
10
10
|
|
|
11
|
-
`):
|
|
12
|
-
`);ve=he.pop()||"";for(const k of he){const P=k.trim();if(!P)continue;const L=Zo(P);if(L)switch(ie!=null&&ie.initialEventsPending&&Xe(),L.type){case"start-step":tt(),Xe(),M=Dt(L.conclusion===!0||L.kind==="conclusion");break;case"text-delta":if(Xe(),Wt(),M){M.loading=!1,M.streaming=!0;const me=L.delta||"";me.length>je?(Ce+=me,Me()):M.content+=me}ye();break;case"text-end":Te(),ye();break;case"finish-step":{tt(),Te(),Wt(),M&&M.content.trim()===""&&!((Ge=M.cards)!=null&&Ge.length)?Bt():M&&(M.loading=!1,M.streaming=!1,fe(M,pt,C,v),M=null,Y(null)),ye();break}case"tool-input-start":{if(typeof L.toolCallId=="string"&&typeof L.toolName=="string"&&z.set(L.toolCallId,L.toolName),(K==null?void 0:K.kind)==="subagent")break;Xe(),M&&M.content.trim()===""&&!((We=M.cards)!=null&&We.length)&&Bt(),et();const me=As(L.toolName);V=ht(me),K={kind:"tool",name:L.toolName};break}case"tool-input-available":{const me=L.toolName||(typeof L.toolCallId=="string"?z.get(L.toolCallId):void 0)||(K==null?void 0:K.name);if(typeof L.toolCallId=="string"&&me&&z.set(L.toolCallId,me),me==="execute_sql_api"&&typeof L.toolCallId=="string"){const be=Wd(L.input,Ke,v);be&&ae.set(L.toolCallId,be)}break}case"tool-output-available":{const me=L.toolName||(typeof L.toolCallId=="string"?z.get(L.toolCallId):void 0)||(K==null?void 0:K.name);if(me&&Fd.has(me)){const be=Gd(L.output??L.delta??L.result);Ke=qd(Ke,si(L.output??L.delta??L.result)),be&&V&&(V.detail=be)}if(me==="execute_sql_api"&&typeof L.toolCallId=="string"){const be=Ud(L.output??L.delta??L.result);if(be){const Ee=ae.get(L.toolCallId);Ee&&(pt=Ee,C=be)}}if(e.enableChartCards&&(me==="generate_chart"||me==="execute_metric_api")){if(me==="execute_metric_api"){const Ee=td(L.output??L.delta??L.result);Ee&&(B.value=Ee)}const be=nd(L.output??L.delta??L.result);if(be){me==="generate_chart"&&(B.value=null);const Ee=di(be,pt,C);T.value=Ee}}if(!(me&&aa(me))){if(V&&(K==null?void 0:K.kind)==="tool"){if(K.name==="task")Zt();else if(V.startTime){const be=Date.now(),Ee=be-V.startTime;V.content+=`完成,用时 ${Er(Ee)}`,V.endTime=be,V.loading=!1,V=null,K=null}}}Wt(),mt();break}case"tool-output-error":{if(V&&(K==null?void 0:K.kind)==="tool"){if(K.name==="task")Zt();else if(V.startTime){const me=Date.now(),be=me-V.startTime;V.content+=`失败,用时 ${Er(be)}`,V.endTime=me;const Ee=L.output||L.delta||"";try{const st=JSON.parse(Ee);V.error=st.error||st.message||Ee,V.detail=st.detail||st.details||st.reason}catch{V.error=Ee||"未知错误"}V.loading=!1,V=null,K=null}}mt();break}case"data-oh:subagent.start":{if(Xe(),(K==null?void 0:K.kind)==="tool"&&K.name!=="task")break;Zt();const me=((Ye=L.data)==null?void 0:Ye.agentName)||"",be=`执行${eu(me)}`;V=ht(be),K={kind:"subagent",name:me,taskId:(Ft=L.data)==null?void 0:Ft.taskId},(en=L.data)!=null&&en.task&&(V.detail=L.data.task);break}case"data-oh:subagent.done":{const me=((Dn=L.data)==null?void 0:Dn.agentName)||"",be=(Nn=L.data)==null?void 0:Nn.taskId,Ee=(K==null?void 0:K.kind)==="subagent"&&(be&&K.taskId===be||me&&K.name===me||!be&&!me);if(V&&Ee)if(V.startTime){const st=Date.now(),$t=st-V.startTime;V.content+=`完成,用时 ${Er($t)}`,V.endTime=st,V.loading=!1,V=null,K=null}else Zt();Xe();break}case"error":{Te(),dn();const{summary:me,detail:be}=nt(L);b(me,be),ne(new Error(me));break}}}}if(ve.trim()){const At=Zo(ve.trim());At&&(ie!=null&&ie.initialEventsPending)&&Xe(),(At==null?void 0:At.type)==="text-delta"&&M&&(M.loading=!1,M.streaming=!0,M.content+=At.delta)}}if(e.transport){let Z=w.threadId||"";try{const le=Pe(),Oe=x(),ve=Dd(e.businessGroup),Ge=(vn=bn(e.chatMode))==null?void 0:vn.trim(),We=bn(e.workspaceId),Ye=bn(e.userId),Ft=await e.transport({appendMessage:Re,consumeAssistantStream:kn,moveMessageToEnd:Fe,assistantPersona:Oe,businessGroup:ve,chatMode:Ge||void 0,threadId:w.threadId,clientDraftId:w.clientDraftId,onThreadReady:en=>{ct(w,en),Z=w.threadId||en.trim()},...(_n=R.attachments)!=null&&_n.length?{attachments:R.attachments}:{},input:v,messages:w.messages.filter(Fo),...R.quickEntry?{quickEntry:R.quickEntry}:{},traceId:le||void 0,userId:Ye,workspaceId:We,signal:ee.signal});Ft&&typeof Ft=="object"&&Ft.threadId&&(ct(w,Ft.threadId),Z=w.threadId||Ft.threadId.trim())}catch(le){dn(),le.name!=="AbortError"&&(b(`请求异常: ${ei(le)}`),ne(le))}finally{Te(),dn(),(Z||w.threadId)&&await dt(w),c.value=!1,U.value=null,_.value=null}return}try{const Z=new Error("当前 ai-chat 未配置运行态 transport;根 POST /chat 已删除,请接入 /fde-core transport。");dn(),b(Z.message),ne(Z)}catch(Z){dn(),Z.name!=="AbortError"&&(b(`请求异常: ${ei(Z)}`),ne(Z))}finally{Te(),c.value=!1,U.value=null,_.value=null}}return qe(),e.autoLoadConversations!==!1&&it(),n.watch(()=>H(),async v=>{if(!v)return;const R=r.value.some($=>$.id===v);!R&&!D&&e.autoLoadConversations!==!1||R&&await bt(v,{silent:!0})}),{conversations:r,currentConversationId:o,messages:j,contextUsage:Ne,isLoading:c,isLoadingConversations:d,isSwitchingConversation:u,isCompacting:y,streamingMessageId:_,latestChartCard:T,latestMetricCard:B,assignWorkbenchTurnIds:ce,appendMessage:ue,replaceWorkbenchTurnAnswer:ge,sendMessage:Ie,abortStream:ut,compactContext:qt,createConversation:qe,loadConversations:it,deleteConversation:Mt,clearConversations:xt,renameConversation:rt,switchConversation:bt,loadHistory:St,moveMessageToEnd:Fe}}const mi=Symbol("FSES_AI_CHAT_CONFIG_KEY"),nu={install(e,r){e.provide(mi,r),e.component("FsesAiChat",$s)}};function au(){return n.inject(mi,null)}function fi(e){const r=_t(e);return ru(r)?ou(Wa(r.dataBinding),Wa(_t(r.queryResult).dataBinding),Wa(_t(_t(r.queryResult).metadata).dataBinding),Wa(_t(_t(r.blockPlan).data).dataBinding),Wa(_t(_t(r.blockPlan).meta).dataBinding),su(r.assetRefs),_a(_t(r.queryResult).sourceLabel),_a(r.sourceLabel)):""}function ru(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 Wa(e){const r=_t(e);return _a(r.metricName)||_a(r.metric_name)}function su(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 ou(...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 iu(e){return e.role==="status"&&!!e.thinkingProcess}function cu(e){return e.role==="assistant"&&!!e.loading&&!e.content.trim()}function lu(e){return e.role==="assistant"&&(!!e.loading||!!e.streaming)}function du(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 pi(e,r={}){const o=[];let c=[],d=[],u=[],y=!1,_=!1;const T=r.hiddenStatusMessageIds??new Set;function B(x=!1){if(c.length===0)return;const H=c.filter(q=>!T.has(q.id));H.length>0&&o.push({type:"tool-activity",messages:H,...x?{turnActive:!0}:{}}),c=[]}function U(x){if(d.length===0||x.role!=="assistant")return x;const H=[...x.thinkingProcessMessages||[],...d];return d=[],{...x,thinkingProcessMessages:H}}function D(){var j,Ne;if(d.length===0)return;const x=d;d=[];const H=x.some(oe=>oe.loading);if(!H&&_)return;const q=H||y;!q&&!x.some(oe=>oe.content.trim())||o.push({type:"assistant",message:{id:`${((j=x[0])==null?void 0:j.id)||"thinking-process"}-assistant`,role:"assistant",content:"",loading:q,streaming:q,thinkingProcessMessages:x,timestamp:((Ne=x[0])==null?void 0:Ne.timestamp)||""}})}function I(){u.length!==0&&(u.forEach(x=>o.push({type:"assistant",message:U(x)})),u=[])}for(const x of e){if(iu(x)){d.push(x);continue}if(x.role==="status"){c.push(x);continue}if(du(x)){u.push(x);continue}B(lu(x)),I(),x.role==="user"?(o.push({type:"user",message:x}),y=!0,_=!1):cu(x)?o.push({type:"thinking",message:x}):(o.push({type:"assistant",message:U(x)}),_=!0)}return B(),I(),D(),o}function Ua(e){return e.replace(/(完成|失败),用时\s*\d+(?:\.\d+)?(?:ms|s|m|秒|毫秒)\s*$/u,"$1").trim()}function uu(e){return Ua(e).replace(/[。.!!\s]+$/gu,"").replace(/(?:中|完成|失败|已完成|进行中|\.\.\.|…)+$/gu,"").replace(/[。.!!\s]+$/gu,"").trim()}function mu(e){const r=Ua(e.content);return/^加载语义上下文(?:中|完成)?(?:\.{3}|…)?$/u.test(r)||/^已加载语义上下文/u.test(r)}function fu(e){const r=Ua(e.content);return/^执行\s*(?:SQL\s*)?查询(?:中|完成)?(?:\.{3}|…)?$/u.test(r)}function pu(e){if(!e.loading)return!1;const r=Ua(e.content);return/^我在(?:查找|检查)/u.test(r)||/^(?:已找到语义候选|语义候选已找到)/u.test(r)||/^(?:我会先确认|业务口径确认中|查询可执行性检查中)/u.test(r)}function hi(e){var _;const r=e.map(T=>({...T,content:Ua(T.content)})),o=r.some(T=>T.content.startsWith("匹配本体:")),c=r.some(T=>T.content.startsWith("执行查询:")),d=r.filter(T=>!(o&&mu(T)||c&&fu(T)&&!T.detail||c&&pu(T))),u=[],y=new Set;for(let T=d.length-1;T>=0;T-=1){const B=d[T],U=(_=B.processInvocations)!=null&&_.length?`process:${B.id}`:uu(B.content);U&&y.has(U)||(U&&y.add(U),u.unshift(B))}return u}function hu(e){return hi(e)}const gu=/^workbench-turn-(.+?)-item(?:-|$)/u,yu=/^#{1,3}\s+.+(?:todo|待办|计划).*/iu,bu=/^#{2,4}\s+(?:第?\s*\d+\s*[.、::))]?\s*)?(.+?)\s*$/u,ku=/^#{1,3}\s+(?:推荐下一步|下一步|补充说明|注意事项|说明|总结)\s*$/u;function gi(e){return e.role==="status"&&/^workbench-turn-.+?-item(?:-|$)/u.test(e.id)&&!e.thinkingProcess&&!e.markThinking&&e.content.trim().length>0}function _u(e){const r=e.id.match(gu);return r!=null&&r[1]?`workbench-turn-${r[1]}`:e.id}function Cu(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 Su(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 Au(e){return e.error?"error":e.loading?"running":"done"}function wu(e){return{id:e.id,title:e.content.trim(),status:Au(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 yi(e){if(e.role!=="assistant")return!1;const r=e.content.trim();return r.length>0&&/(?:todo|待办|分步\s*Todo\s*计划)/iu.test(r)}function Tu(e){return e.replace(/^第?\s*\d+\s*[.、::))]?\s*/u,"").replace(/\s+$/u,"").trim()}function Eu(e){var _,T;if(!yi(e))return null;const r=e.content.split(/\r?\n/u),o=[];let c=!1,d=null,u=[];function y(){if(!d)return;const B=u.join(`
|
|
13
|
-
`).trim();o.push({...d,...
|
|
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(`
|
|
14
14
|
`).replace(/\n{3,}/gu,`
|
|
15
15
|
|
|
16
|
-
`).trim()}function
|
|
17
|
-
`)}function
|
|
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(`
|
|
18
18
|
`).replace(/\n{3,}/gu,`
|
|
19
19
|
|
|
20
|
-
`).trim()}function Ou(e){return e.replace(/^((?:[✅📊📌🔎⚠💡🎯📝📋🔍📈📉]️?)\s+\S.+)$/gmu,"### $1")}function Fu(e){return Mu(Pu(Ou(Du(vu(e)))))}function $u(e,r){const o=ta(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 ta(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 ws(e){const r=new Set(e.chart.hiddenSeries??[]);return e.chart.yFields.filter(o=>!r.has(o))}function Si(e,r){const o=ws(e)[0];return o?ta(r[o]):0}function Ai(e){const r=e.chart.data.map(c=>({...c})),o=e.chart.sort??"none";return o!=="none"&&r.sort((c,d)=>{const u=Si(e,c)-Si(e,d);return o==="asc"?u:-u}),typeof e.chart.limit=="number"&&e.chart.limit>0?r.slice(0,e.chart.limit):r}const wi=3;function Vu(e){const r=e.chart.valueSpec;if(r)return o=>$u(o,r)}function Qt(e){return ta(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 Vn(e){return e.chart.yFields[0]||"value"}function Ts(e,r="target"){const o=Object.keys(e);return ja(o,[r,"to","target","去向","目标","下游","流向"])||r}function Ti(e){return[...new Set(e.filter(Boolean))].map(r=>({name:r}))}function Ei(e){var U,D;const r=Ai(e),o=ws(e),c=e.chart.xField;if(e.chart.type==="candlestick"||e.chart.type==="kline"){const I=ja(o,["open","开盘","开盘价"])||o[0],x=ja(o,["close","收盘","收盘价"])||o[1],H=ja(o,["low","最低","最低价"])||o[2],q=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(j=>String(j[c]??"")),boundaryGap:!0},yAxis:{type:"value",scale:!0,splitLine:{lineStyle:{color:"#eef2f7"}}},series:[{type:"candlestick",data:r.map(j=>[Qt(j[I]),Qt(j[x]),Qt(j[H]),Qt(j[q])])}]}}if(e.chart.type==="sankey"){const I=Vn(e),x=r.map(H=>{const q=Ts(H);return{source:String(H[c]??""),target:String(H[q]??""),value:Qt(H[I])}}).filter(H=>H.source&&H.target);return{tooltip:{trigger:"item"},series:[{type:"sankey",data:Ti(x.flatMap(H=>[H.source,H.target])),links:x}]}}if(e.chart.type==="heatmap"){const I=Vn(e),x=r[0]?Ts(r[0]):"target",H=[...new Set(r.map(j=>String(j[x]??"")))],q=[...new Set(r.map(j=>String(j[c]??"")))];return{tooltip:{trigger:"item"},grid:{left:48,right:16,top:28,bottom:28,containLabel:!0},xAxis:{type:"category",data:q},yAxis:{type:"category",data:H},visualMap:{min:0,max:Math.max(...r.map(j=>Qt(j[I])),1),calculable:!0,orient:"horizontal",bottom:0},series:[{type:"heatmap",data:r.map(j=>[q.indexOf(String(j[c]??"")),H.indexOf(String(j[x]??"")),Qt(j[I])])}]}}if(e.chart.type==="radar"){const I=Vn(e);return{tooltip:{},radar:{indicator:r.map(x=>({name:String(x[c]??""),max:Math.max(...r.map(H=>Qt(H[I])),1)}))},series:[{type:"radar",data:[{value:r.map(x=>Qt(x[I])),name:I}]}]}}if(e.chart.type==="funnel"){const I=Vn(e);return{tooltip:{trigger:"item"},series:[{type:"funnel",data:r.map(x=>({name:String(x[c]??""),value:Qt(x[I])}))}]}}if(e.chart.type==="gauge"){const I=Vn(e);return{tooltip:{},series:[{type:"gauge",data:[{name:String(((U=r[0])==null?void 0:U[c])??I),value:Qt((D=r[0])==null?void 0:D[I])}]}]}}if(e.chart.type==="tree"||e.chart.type==="treemap"||e.chart.type==="sunburst"){const I=Vn(e);return{tooltip:{trigger:"item"},series:[{type:e.chart.type==="tree"?"tree":e.chart.type,data:r.map(x=>({name:String(x[c]??""),value:Qt(x[I])}))}]}}if(e.chart.type==="graph"||e.chart.type==="network"){const I=Vn(e),x=r.map(H=>{const q=Ts(H);return{source:String(H[c]??""),target:String(H[q]??""),value:Qt(H[I])}}).filter(H=>H.source&&H.target);return{tooltip:{},series:[{type:"graph",layout:"force",roam:!0,data:Ti(x.flatMap(H=>[H.source,H.target])),links:x}]}}if(e.chart.type==="map"){const I=Vn(e);return{tooltip:{trigger:"item"},visualMap:{min:0,max:Math.max(...r.map(x=>Qt(x[I])),1),calculable:!0},series:[{type:"map",map:"china",data:r.map(x=>({name:String(x[c]??""),value:Qt(x[I])}))}]}}if(e.chart.type==="pie"||e.chart.type==="donut"){const I=o[0];return{tooltip:{trigger:"item"},legend:{bottom:0},series:[{type:"pie",radius:e.chart.type==="donut"?["42%","68%"]:"68%",data:I?r.map(x=>({name:String(x[c]??""),value:ta(x[I])})):[]}]}}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",T=d?o.slice(0,1):o,B=Vu(e);return u?{tooltip:{trigger:"axis",...B?{valueFormatter:B}:{}},grid:{left:56,right:16,top:28,bottom:16,containLabel:!0},xAxis:{type:"value",splitLine:{lineStyle:{color:"#eef2f7"}},...B?{axisLabel:{formatter:B}}:{}},yAxis:{type:"category",data:r.map(I=>String(I[c]??"")),axisTick:{show:!1}},series:T.map(I=>({name:I,type:"bar",barMinHeight:wi,data:r.map(x=>ta(x[I]))}))}:{tooltip:d?{show:!1}:{trigger:"axis",...B?{valueFormatter:B}:{}},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(I=>String(I[c]??"")),axisTick:{show:!1}},yAxis:{type:"value",show:!d,splitLine:{lineStyle:{color:"#eef2f7"}},...!d&&B?{axisLabel:{formatter:B}}:{}},series:T.map(I=>({name:I,type:_,symbolSize:e.chart.type==="bubble"?12:void 0,barWidth:d?"72%":void 0,barMinHeight:_==="bar"?wi:void 0,data:r.map(x=>ta(x[I])),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 xi=["#1f4fd4","#17a34a","#d97706","#9333ea","#0f766e","#dc2626","#0891b2"],zu=new Set(["","#fff","#ffffff","white","transparent","rgb(255,255,255)","rgba(255,255,255,1)","rgba(255,255,255,0)"]),Gu=new Set(["#dbe4f0"]),Hu=new Set(["#475569"]),qu=new Set(["#eef2f7"]),Wu=new Set(["#333","#333333","#475569","#4b5563","#62799b","#172033","#26364d","#2d3748"]),Uu=12;function Ca(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Es(e){return Array.isArray(e)?e.map(r=>Es(r)):Ca(e)?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,Es(o)])):e}function xr(e,r){return Ca(e)?e[r]:void 0}function zn(e,r){const o=e[r];if(Ca(o))return o;const c={};return e[r]=c,c}function ju(e){return Array.isArray(e)&&e.length===xi.length&&e.every((r,o)=>String(r).toLowerCase()===xi[o])}function Ku(e){return typeof e=="string"?e.trim().toLowerCase().replace(/\s+/g,""):""}function Ka(e,r){return e==null||e===""?!0:r.has(Ku(e))}function Qu(e,r){if(r.axisColor){const o=zn(e,"axisLine"),c=zn(o,"lineStyle");Ka(c.color,Gu)&&(c.color=r.axisColor)}if(r.axisLabelColor){const o=zn(e,"axisLabel");Ka(o.color,Hu)&&(o.color=r.axisLabelColor)}if(r.splitLineColor){const o=zn(e,"splitLine"),c=zn(o,"lineStyle");Ka(c.color,qu)&&(c.color=r.splitLineColor)}}function Br(e,r){(Array.isArray(e)?e:[e]).forEach(c=>{Ca(c)&&Qu(c,r)})}function Bi(e){return e?e.closest(".workbench-root, [data-workbench-style], [data-dash-theme]")||(typeof document<"u"?document.documentElement:null):null}function Yu(e){if(!e||typeof window>"u"||typeof window.getComputedStyle!="function")return null;const r=Bi(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:Uu},(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 Ju(e,r){if(!(r!=null&&r.colors.length))return e;const o=Es(e);if((o.color===void 0||ju(o.color))&&(o.color=r.colors),r.backgroundColor&&Ka(o.backgroundColor,zu)&&(o.backgroundColor=r.backgroundColor),r.textColor){const c=zn(o,"textStyle");Ka(c.color,Wu)&&(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=zn(o,"tooltip");if(r.tooltipBg&&(c.backgroundColor===void 0||c.backgroundColor==="")&&(c.backgroundColor=r.tooltipBg),r.tooltipTextColor){const d=zn(c,"textStyle");(d.color===void 0||d.color==="")&&(d.color=r.tooltipTextColor)}}return Br(xr(o,"xAxis"),r),Br(xr(o,"yAxis"),r),Br(xr(o,"radiusAxis"),r),Br(xr(o,"angleAxis"),r),o}const Zu={key:0,class:"echarts-view__placeholder","aria-hidden":"true"},Xu=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),T=n.ref(!1),B=n.ref(!1),U=n.computed(()=>({height:`${r.height??88}px`}));function D(ue){return Ju(ue,Yu(o.value))}function I(ue,ce){if(!c)return;const ge=Jr.prepareWorkbenchEChartsRuntimeOption(D(ue));if(typeof ce=="boolean"){c.setOption(ge,ce),Jr.bindWorkbenchEChartsRuntimeInteractions(c,ge);return}c.setOption(ge),Jr.bindWorkbenchEChartsRuntimeInteractions(c,ge)}function x(){u==null||u.disconnect(),u=null}function H(){if(x(),!o.value||typeof MutationObserver>"u")return;const ue=Bi(o.value);ue&&(u=new MutationObserver(()=>{I(r.option,!0)}),u.observe(ue,{attributes:!0,attributeFilter:["data-workbench-style","data-dash-theme","style","class"]}))}function q(){n.nextTick(()=>{c==null||c.resize()})}function j(){c||!o.value||T.value||(T.value=!0,c=ml.init(o.value),B.value=!0,I(r.option),H(),typeof ResizeObserver<"u"&&o.value&&(d=new ResizeObserver(()=>{q()}),d.observe(o.value)),T.value=!1)}function Ne(){y==null||y.disconnect(),y=null}function oe(){if(Ne(),!!o.value){if(typeof IntersectionObserver>"u"){_.value=!0,j();return}y=new IntersectionObserver(ue=>{for(const ce of ue)ce.isIntersecting&&(_.value=!0,j(),Ne())},{root:null,rootMargin:"100px 0px 100px 0px",threshold:0}),o.value&&y.observe(o.value)}}return n.onMounted(()=>{oe()}),n.watch(()=>r.option,ue=>{I(ue,!0)},{deep:!0}),n.watch(()=>r.height,()=>{q()}),n.onUnmounted(()=>{Ne(),x(),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)},[B.value?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",Zu,[...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))}}),on=(e,r)=>{const o=e.__vccOpts||e;for(const[c,d]of r)o[c]=d;return o},Ii=on(Xu,[["__scopeId","data-v-a62de5ab"]]),em={class:"chart-card__header"},tm={class:"chart-card__heading"},nm={class:"chart-card__title"},am={key:0,class:"chart-card__version"},rm={key:0,class:"chart-card__period"},sm={key:1,class:"chart-card__summary"},om={class:"chart-card__meta"},im={class:"chart-card__meta-item"},cm={class:"chart-card__meta-item"},lm={key:0,class:"chart-card__meta-item chart-card__meta-item--prompt"},dm={key:2,class:"chart-card__actions"},um=["disabled","onClick"],Ri=on(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(()=>Ei(o.card)),_=n.computed(()=>o.card.chart.type==="mini-bar"?88:240),T=n.computed(()=>{var I;return(I=o.card.meta)==null?void 0:I.version}),B=n.computed(()=>(o.card.actions||[]).filter(I=>I!=="insert-left"||o.showInsertAction));function U(I){return I==="download"&&o.card.permission.downloadable===!1}function D(I){var x;if(!U(I)&&I==="insert-left"){const H=Math.ceil(((x=d.value)==null?void 0:x.getBoundingClientRect().height)||0);c("insertCard",{...o.card,meta:{...o.card.meta,...H>0?{workbenchAdaptiveHeightPx:H}:{}}})}}return(I,x)=>{var H;return n.openBlock(),n.createElementBlock("article",{ref_key:"cardRef",ref:d,class:"chart-card"},[n.createElementVNode("header",em,[n.createElementVNode("div",tm,[n.createElementVNode("h3",nm,n.toDisplayString(e.card.title),1),T.value?(n.openBlock(),n.createElementBlock("span",am,"v"+n.toDisplayString(T.value),1)):n.createCommentVNode("",!0)])]),e.card.period?(n.openBlock(),n.createElementBlock("div",rm,n.toDisplayString(e.card.period),1)):n.createCommentVNode("",!0),n.createVNode(Ii,{class:"chart-card__chart",option:y.value,height:_.value},null,8,["option","height"]),e.card.summary?(n.openBlock(),n.createElementBlock("p",sm,n.toDisplayString(e.card.summary),1)):n.createCommentVNode("",!0),n.createElementVNode("dl",om,[n.createElementVNode("div",im,[x[0]||(x[0]=n.createElementVNode("dt",null,"数据来源",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.source.label),1)]),n.createElementVNode("div",cm,[x[1]||(x[1]=n.createElementVNode("dt",null,"权限",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.permission.label),1)]),(H=e.card.meta)!=null&&H.prompt?(n.openBlock(),n.createElementBlock("div",lm,[x[2]||(x[2]=n.createElementVNode("dt",null,"需求",-1)),n.createElementVNode("dd",null,n.toDisplayString(e.card.meta.prompt),1)])):n.createCommentVNode("",!0)]),B.value.length?(n.openBlock(),n.createElementBlock("div",dm,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(B.value,q=>(n.openBlock(),n.createElementBlock("button",{key:q,type:"button",class:"chart-card__business-action",disabled:U(q),onClick:j=>D(q)},n.toDisplayString(u[q]),9,um))),128))])):n.createCommentVNode("",!0)],512)}}}),[["__scopeId","data-v-6ac5a2cd"]]),mm=/^\/?echarts-system-card-templates\/icons\/[a-z0-9-]+-[a-f0-9]{12}-[a-f0-9]{12}\.svg$/u;function fm(){const e=n.ref({}),r=n.ref({});function o(_){if(typeof _!="string")return"";const T=_.trim();return mm.test(T)?T.startsWith("/")?T.slice(1):T:""}function c(_){const T=o(_);T&&(e.value={...e.value,[T]:!0})}function d(_){const T=o(_);!T||e.value[T]||(r.value={...r.value,[T]:!0})}function u(_){const T=o(_);return!!(T&&r.value[T]&&!e.value[T])}function y(_){const T=o(_);return!!(T&&!e.value[T])}return{isLoaded:u,markFailed:c,markLoaded:d,resolvePath:o,shouldShow:y}}function Gn(e){const r=vi(e.key),o=r?hm(r,e.labels??{}):"",c=xs(e.explicitLabel,r);return o||c||r}function pm(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function vi(e){return typeof e=="string"&&e.trim()?e.trim():""}function xs(e,r){const o=vi(e);return!o||r&&o===r.trim()?"":o}function hm(e,r){return xs(r[e],e)}function gm(e){return pm(e)?Object.fromEntries(Object.entries(e).flatMap(([r,o])=>{const c=xs(o,r);return c?[[r,c]]:[]})):{}}const Hn=["runtime_metric","execute_metric_api","metric_execute"],qn=["semantic_sql","execute_sql","query_sql"];function Ir(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function cn(e){return Ir(e)?e:{}}function In(e){if(Ir(e))return e;if(typeof e!="string"||!e.trim())return{};try{const r=JSON.parse(e);return Ir(r)?r:{}}catch{return{}}}function fn(e){return typeof e=="string"&&e.trim()?e.trim():""}function ym(e){return Ir(e)?(fn(e.value)||fn(e.source)||fn(e.kind)||fn(e.type)).toLowerCase():fn(e).toLowerCase()}function Ht(e,r){const o=ym(e);return!!(o&&r.some(c=>o===c||o.includes(c)))}function Di(e){const r=cn(e),o=In(e==null?void 0:e.dataBinding),c=cn(o.queryResult),d=cn(c.data),u=cn(e==null?void 0:e.queryResult),y=cn(u.data),_=cn(r.blockPlan),T=cn(_.data),B=In(T.dataBinding),U=cn(_.meta),D=cn(U.queryResult),I=cn(D.data);return[r,o,c,In(c.dataBinding),d,In(d.dataBinding),u,In(u.dataBinding),y,In(y.dataBinding),T,B,cn(B.queryResult),U,In(U.dataBinding),D,In(D.dataBinding),I,In(I.dataBinding)]}function Ni(e){if(Ht(e.source,Hn)||Ht(e.bindingKind,Hn)||Ht(e.binding_kind,Hn)||Ht(e.serviceOperation,Hn)||Ht(e.service_operation,Hn)||Ht(e.taskKind,Hn)||Ht(e.task_kind,Hn)||Ht(e.value,Hn))return!0;const r=cn(e.paramsSchema);if(Array.isArray(r.metricFilterCandidates))return!0;const o=fn(e.executeApi),c=fn(e.refreshApi);return o.includes("/metric/metrics/execute")||c.includes("/metric/metrics/execute")}function bm(e){return!!(Ni(e)||fn(e.metricCode)||fn(e.metric_code)||fn(e.metricId)||fn(e.metric_id))}function km(e){return Ht(e.source,qn)||Ht(e.bindingKind,qn)||Ht(e.binding_kind,qn)||Ht(e.serviceOperation,qn)||Ht(e.service_operation,qn)||Ht(e.taskKind,qn)||Ht(e.task_kind,qn)||Ht(e.value,qn)}function Bs(e){if(!e)return!1;if(e.source==="metric")return!0;const r=Di(e);return e.source==="sql"?r.some(Ni):r.some(bm)}function _m(e){return!e||e.source==="metric"||Bs(e)?!1:e.source==="sql"?!0:Di(e).some(km)}const Cm="需要补充配置后才能预览";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 ln(e){const r=ze(e);return Object.fromEntries(Object.entries(r).flatMap(([o,c])=>{const d=Sa(c,o);return d?[[o,d]]:[]}))}function Li(e){return Array.isArray(e)?e.map(Rr).filter(Boolean):[]}function Is(e,r){if(!Array.isArray(e))return{};const o=Li(r);return Object.fromEntries(e.flatMap((c,d)=>{const u=(Qa(c)?Rr(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 Pi(e,r){if(!Array.isArray(e))return{};const o=e.find(Qa);if(!o)return{};const c=Li(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{...Is(r.displayColumns,o),...Is(e.displayColumns,o),...Is(r.columnMetadata,o),...Pi(r.displayRows,o),...Pi(e.displayRows,o)}}function Rr(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 Mi(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=Rr(r);if(!c)return null;const d=Mi(r,c,{});return d&&d!==c?[c,d]:null}).filter(r=>!!r)):{}}function Oi(e){const r=new Set;return e.filter(o=>r.has(o.value)?!1:(r.add(o.value),!0))}function Rs(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),T=ze(d.queryResult),B=ze(T.data),U=ze(e==null?void 0:e.blockPlan),D=ze(U.data),I=ze(D.dataBinding),x=ze(U.meta),H=ze(x.queryResult);return{...wa(B.columns),...wa(T.columns),...wa(H.columns),...wa(D.columns),...wa(y.columns),...wa(u.columns),...ln(B.fieldLabels),...ln(T.fieldLabels),...ln(H.fieldLabels),...ln(I.fieldLabels),...ln(D.fieldLabels),...ln(y.fieldLabels),...ln(_.fieldLabels),...ln(u.fieldLabels),...ln(d.fieldLabels),...ln(o.fieldLabels),...ln(c.fieldLabels),...ln(r.fieldLabels),...Aa(B),...Aa(T),...Aa(H),...Aa(D),...Aa(y),...Aa(u)}}function Fi(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 $i(e){if(!e)return[];const r=ze(e.queryResult),o=ze(r.data),c=Rs(e),u=(Array.isArray(r.columns)?r.columns:Array.isArray(o.columns)?o.columns:[]).map((T,B)=>{const U=Rr(T);if(!U)return null;const D=ze(T);return{value:U,label:Mi(T,U,c),type:Ct(D.type)||void 0,role:Ct(D.role)||void 0}}).filter(T=>!!T);if(u.length>0)return Oi(u);const _=(Array.isArray(r.rows)?r.rows:Array.isArray(o.rows)?o.rows:[]).find(Qa);return _?Oi(Object.keys(_).map((T,B)=>({value:T,label:Gn({key:T,labels:c})}))):[]}function Vi(e){return $i(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 vs(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 na(e){const r=ze(e==null?void 0:e.dataBinding);return Ct(r.filterSummary)}function zi(e){const r=ze(e.configRequirement),o=ze(e.diagnostics);return Ct(r.message)||Ct(e.previewReason)||Ct(e.diagnosticReason)||vs(o.reasonCodes,{})||Cm}function Gi(e){return e.nextAction==="execute_query"||e.nextAction==="disabled"||e.previewStatus==="requires_execution"||e.previewStatus==="empty"||e.previewStatus==="blocked"}function Sm(e){var r;return Gi(e)||!Bs(e)||!Vi(e)?!1:e.previewStatus==="requires_config"?((r=e.configRequirement)==null?void 0:r.kind)==="field_mapping":e.previewStatus==="ready"||!e.previewStatus}function Am(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 wm(e){return e.dataShape==="metricSummary"||/metric|指标|数值/u.test(e.capabilityId)}function Hi(e){var B;const{selectedItem:r,previewMode:o}=e,c=[],d=[];if(Gi(r))return{chips:c,actions:d,diagnostic:Ct(r.previewReason)||Ct(r.diagnosticReason)};if(r.previewStatus==="requires_config"&&((B=r.configRequirement)==null?void 0:B.kind)!=="field_mapping")return{chips:c,actions:d,diagnostic:zi(r)};const u=Rs(r),y=Fi(r);Am(r,o)||(wm(r)?Ja(c,"metric","指标",vs(y.yFields,u)||Ya(y.yField??y.valueField,u)):(Ja(c,"x","X",Ya(y.xField??y.labelField,u)),Ja(c,"y","Y",vs(y.yFields,u)||Ya(y.yField??y.valueField,u)),Ja(c,"group","分组",Ya(y.groupField,u))));const T=na(r);return Ja(c,"filter","筛选",T),{chips:c,actions:d,diagnostic:""}}const qi={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"},Tm={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"},Em={...qi,graph:"network"};function Wn(e){return typeof e=="string"&&e.trim().length>0?e.trim():""}function Ds(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Wi(e){return Array.isArray(e)?e.flatMap(r=>{const o=Wn(r);return o?[o]:[]}):[]}function vr(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=Im(u);y&&y!==u&&o.push(y),c=""};for(const u of r){if(xm(u)){d();continue}Bm(u)&&c&&d(),c+=u}return d(),o}function xm(e){return e==="."||e==="/"||e==="-"||e==="_"||e===":"||e===" "}function Bm(e){return e>="A"&&e<="Z"}function Im(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 Rm(e){const r=e.split(".");return r[0]==="card"&&r[1]==="echarts"&&r[2]||""}function vm(e){const r=e.split(".");return r[0]==="card"&&r[1]==="echarts"&&r[3]||""}function Ui(e){return!Ds(e.option)||!Array.isArray(e.option.series)?[]:e.option.series.filter(Ds)}function Dm(e){const r=[...Wi(e.seriesTypes),...Ui(e).flatMap(o=>{const c=Wn(o.type);return c?[c]:[]})];return new Set(r.map(o=>o.toLowerCase()))}function Nm(e){const r=[...vr(e.exampleId),...vr(e.templateType),...vr(vm(e.capabilityId)),...Wi(e.tags).flatMap(vr)];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=Tm[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 Lm(e){const r=Ui(e),o=Dm(e);if(o.has("bar")&&o.has("line"))return"mixedBarLine";if(r.some(c=>Wn(c.type).toLowerCase()==="line"&&Ds(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=Em[c];if(d&&d!=="bar")return d}return o.has("bar")?"bar":""}function Pm(e){const r=Wn(e.mainCategory||Rm(e.capabilityId)).toLowerCase(),o=qi[r]||"",c=Nm(e);if(c)return c;const d=Lm(e);return d&&(r==="bar"||r==="pie"||r==="custom"||!o)?d:o||d||"bar"}const Mm=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 Om(e){return Array.isArray(e)?e.flatMap(r=>{const o=Za(r);return o?[o]:[]}):[]}function ji(e){if(!e)return null;const r=Za(e.mainCategory),o=Za(e.protocolType),c=Om(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":Mm.has(r)?r:null}const Fm={"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 $m(e){return Fm[e]??""}const Vm={class:"card-recommendation"},zm={class:"card-recommendation__header"},Gm={class:"card-recommendation__heading"},Hm={key:0,class:"card-recommendation__stats"},qm={class:"card-recommendation__message"},Wm={key:0,class:"card-recommendation__loop-notice"},Um={key:1,class:"card-recommendation__list"},jm=["onFocusout"],Km={class:"card-recommendation__preview-header"},Qm={class:"card-recommendation__title-wrap"},Ym=["value","onInput","onBlur","onKeydown"],Jm={key:1,class:"card-recommendation__title"},Zm=["onClick"],Xm={class:"card-recommendation__actions"},ef=["aria-expanded","onClick"],tf={class:"card-recommendation__switch-text"},nf=["disabled","onClick"],af={key:0,class:"card-recommendation__insert-spinner","aria-hidden":"true"},rf={key:0,class:"card-recommendation__switch-panel"},sf={class:"card-recommendation__switch-panel-head"},of={class:"card-recommendation__switch-panel-meta"},cf={class:"card-recommendation__view-options card-recommendation__switch-options"},lf=["disabled","aria-hidden","tabindex","onClick"],df=["src","onLoad","onError"],uf={key:2,class:"card-recommendation__view-option-icon-loading","aria-hidden":"true"},mf={class:"card-recommendation__view-option-title"},ff={key:3,class:"card-recommendation__view-option-status"},pf={key:0,class:"card-recommendation__switch-pagination"},hf=["disabled","onPointerdown","onMousedown","onClick"],gf=["disabled","onPointerdown","onMousedown","onClick"],yf=["data-chart-type","data-capability-id"],bf={class:"card-recommendation__chart-preview-toolbar","aria-label":"图表预览缩放"},kf=["disabled","onClick"],_f=["onClick"],Cf=["disabled","onClick"],Sf={key:2,class:"card-recommendation__preview-table"},Af={key:0,class:"card-recommendation__pagination"},wf={key:0,class:"card-recommendation__page-status"},Tf=["disabled","onClick"],Ef=["onClick"],xf=["disabled","onClick"],Bf={key:2,class:"card-recommendation__empty"},If={key:0,class:"card-recommendation__fallback-actions"},Rf=["disabled","onClick"],Ns=4,vf=5,Xa=12,Ki=2,Df=3,Nf=120,Lf=420,Pf=8,Mf=80,Of=320,Qi="62%",Yi=12,Ff="card.table.",Dr="card.table.list",Ls=3,Ps=7,$f=10,Ji=12,Vf=44,zf=28,Gf=6,Hf=16,Zi=on(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({}),T=n.ref({}),B=n.ref({}),U=n.ref({}),D=n.ref({}),I=n.ref({}),x=n.ref({}),H=n.ref({}),q=fm(),j=[120,160,220,320,420],Ne={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"]),ge={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"},de={...ge,area:"area",donut:"donut",mixedBarLine:"mixedBarLine",stackedBar:"stackedBar"},te=[{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"}],Pe=new Set(["","datatable","table","tablelist","list"]);function ne(t){return t.dataShape&&Ne[t.dataShape]?Ne[t.dataShape]:t.capabilityId.includes(".line")?"趋势图":t.capabilityId.includes(".bar")?"排行图":t.capabilityId.includes(".pie")?"结构图":t.capabilityId.includes(".table")?"明细表":t.capabilityId.includes(".metric")?"指标卡":"卡片"}function fe(t){const a=fi(t);if(a)return a;const s=at(tn(t).title);if(s&&s!==t.capabilityId)return s;const i=at(t.title);return i&&i!==t.capabilityId?i:""}function ke(t){const a=at(t.title),s=fe(t);if(s)return s;const i=ne(t);return t.capabilityId.startsWith("card.echarts.")&&a&&a!==t.capabilityId?a:i}function it(t){return t.nextAction==="configure"||t.previewStatus==="requires_config"?!1:!!t.blockPlan&&(!t.previewStatus||t.previewStatus==="ready")}function St(t,a){return we(t)==="chart"&&Ye(a)?pr(t,a)||no(a)&&it(a):pr(t,a)||it(a)}function bt(t){return!!t.blockPlan&&(!t.previewStatus||t.previewStatus==="ready")}function qe(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||"",h(t.visualIntent),h(t.blockPlan)].join("|")}function Mt(t){return t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart.")||!!Ra(t)||!!Rc(t)||["metricSummary","singleSeries","multiSeries","pieSlices","scatterPoints","funnelStages"].includes(t.dataShape||"")||["series","network","tree","geo"].includes(G(t.protocolKind).toLowerCase())}function xt(t){const a=m(t),s=u.value[a];return s?s===ct(t,"chart")||s===ct(t,"table")?t:qe(t).find(i=>ct(i,"chart")===s||ct(i,"table")===s)??t:v(t)??J(t)??t}function rt(t){return hy.value.get(m(t))??xt(t)}function qt(t){const a=u.value[m(t)];return a!=null&&a.startsWith("table|")?"table":a!=null&&a.startsWith("chart|")?"chart":v(t)?"table":Mt(xt(t))?"chart":"table"}function we(t){return gy.value.get(m(t))??qt(t)}function dt(t){return(Ae(t)??ut(t)).options.length}function Fe(t){var a;return((a=Ae(t))==null?void 0:a.options.length)??ut(t).options.length}function ut(t){const a=[t,...qe(t)],s=Ie(a,t),i=s.map((g,S)=>({...te[0],key:`table:${ct(g,"table")}:${S}`,label:Te(g,t),item:g,previewMode:"table",disabled:!1,statusLabel:Ia(g)})),l=Y(t),p=l.map((g,S)=>({key:`template:${g.capabilityId}:${S}`,label:Wt(g,S),icon:aa(g),iconPath:dn(g),item:g,previewMode:"chart",disabled:!1,statusLabel:oe.ready}));return{options:[...i,...p],chartCount:l.length,tableCount:s.filter(g=>!ye(g,t)).length}}function Ie(t,a){const s=new Set,i=t.filter(g=>un(g)>0).filter(g=>Je(g)||ye(g,a)),l=i.some(g=>!ye(g,a)&&R(g)),p=i.filter(g=>!(l&&ye(g,a))).filter(g=>{const S=ct(g,"table");return s.has(S)?!1:(s.add(S),!0)});return V($(w(p)))}function v(t){return Ie([t,...qe(t)],t).find(a=>!ye(a,t)&&R(a))}function R(t){return t.capabilityId===Dr}function $(t){const a=t.filter(xe);if(a.length<=1)return t;const s=Ce(a);let i=!1;return t.flatMap(l=>xe(l)?i?[]:(i=!0,[s]):[l])}function w(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(R)))return t;const s=new Map;for(const i of a.values()){if(i.length<=1||!i.some(R))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=ee(t);if(a)return a;const s=wn(t),i=vt(t);return s.length===0||i.length===0?"":[h(s),String(un(t)),h(i)].join("|")}function ee(t){const a=ca(t),s=uc(a).map(nn).filter(Boolean),i=or(a);if(s.length===0||i.length===0)return"";const l=N(a.data);return["raw-table",h(s),String(a.rowCount??l.rowCount??i.length),h(i)].join("|")}function M(t){return t.find(R)??t.find(xe)??t[0]}function V(t){if(t.length!==2)return t;const a=t.find(K),s=t.find(i=>!K(i)&&xe(i));return!a||!s||!ie(s)?t:[s]}function K(t){return t.dataShape==="metricSummary"||t.capabilityId.startsWith("card.metric.")}function ie(t){return un(t)>1&&wn(t).length>1}function xe(t){const a=Be(t).toLowerCase();return t.capabilityId.startsWith(Ff)?Pe.has(a):!!(a&&Pe.has(a))}function Ce(t){return t.find(a=>a.capabilityId===Dr)??t[0]}function Be(t){const a=tn(t),s=N(a.renderer),i=N(t.cardConfig),l=N(i.renderer);return G(a.rendererKey)||G(s.rendererKey)||G(i.rendererKey)||G(l.rendererKey)}function Ae(t){return yy.value.get(m(t))}function ot(t){var a;return((a=Ae(t))==null?void 0:a.options)??ut(t).options}function je(t){const a=m(t),s=Ke(t),i=B.value[a]||1;return Math.min(Math.max(i,1),s)}function Ke(t){return Math.max(1,Math.ceil(ot(t).length/Xa))}function pt(t){const s=(je(t)-1)*Xa;return ot(t).slice(s,s+Xa)}function C(t){const a=pt(t);return Ke(t)<=1||a.length>=Xa?a:[...a,...Array.from({length:Xa-a.length},(s,i)=>({key:`placeholder:${m(t)}:${je(t)}:${i}`,label:"",icon:"bar",disabled:!0,previewMode:"chart",placeholder:!0}))]}function z(t,a){const s=m(t),i=Math.min(Math.max(je(t)+a,1),Ke(t));B.value={...B.value,[s]:i},ae(t)}function ae(t){const a=m(t);_.value={..._.value,[a]:!0},window.setTimeout(()=>{if(!_.value[a])return;const s={..._.value};delete s[a],_.value=s},0)}function Y(t){const a=new Set,s=[t,...qe(t)].filter(l=>Ye(l)).filter(l=>!oo(l)).filter(l=>sl(t,l));return et(t,s).filter(l=>{const p=Ft(t,l);return a.has(p)?!1:(a.add(p),!0)})}function ye(t,a){return t===a&&(t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))}function Te(t,a){if(t.capabilityId===Dr&&a&&(a.capabilityId.startsWith("card.echarts.")||a.capabilityId.startsWith("card.chart."))||t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))return te[0].label;const s=tn(t);return[at(t.title),at(s.title)].find(i=>i&&i!==t.capabilityId&&!Ge(i))||te[0].label}function Me(t){return[t,...qe(t)].some(a=>Ye(a)&&!oo(a))}const tt={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},Dt=[{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}],ht=["#4C78FC","#35B8A6","#F4B84A","#F47C7C","#8B6FE8","#4DA3C7","#6FBF73","#E66FB3"];function f(t){const a=Yn(t)||Ma(t);return a?a==="network"?"network":a==="ranking"?"ranking":a==="mixedBarLine"?"mixedBarLine":gn(a):""}function b(){const t=N(c.draft.queryResult),a=N(t.data);return[c.draft.prompt,c.draft.message,t.question,a.question].map(at).filter(Boolean).join(`
|
|
21
|
-
`)}function E(){var a;const t=b();return t&&((a=Dt.find(s=>s.pattern.test(t)))==null?void 0:a.family)||""}function J(t){const a=E();return a?[t,...qe(t)].find(s=>Mt(s)&&f(s)===a)??null:null}function _e(t){const a=f(t);return tt[a]??100}function Re(t){const a=tn(t);return[t.capabilityId,t.title,t.reason,a.title].filter(Boolean).join(" ").replace(/([a-z0-9])([A-Z])/gu,"$1 $2").toLowerCase()}function nt(t){return/(^|[.\-_\s])bump(?:chart)?($|[.\-_\s])/iu.test(Re(t))}function Ot(t){const a=vt(t);if(a.length===0)return Us(Xt(t));const s=va(t),i=qr(a,s),l=Wr(s,i);return!!(i&&l.length>=1)}function mt(t){return Cb(t)?nt(t)?Ot(t):!0:!1}function Xe(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 Bt(t,a){const s=La(t,a),i=vt(s),l=va(s),p=qr(i,l),g=Wr(l,p),S=f(a);let O=Xe(a);return i.length>0&&(O+=20),l.length>0&&(O+=10),p&&(O+=20),g.length>0&&(O+=15),["bar","line","ranking","gauge","funnel"].includes(S)&&p&&g.length>=1&&(O+=20),S==="pie"&&p&&g.length>=1&&(O+=i.length<=12?18:12),S==="scatter"&&p&&g.length>=1&&(O+=16),S==="heatmap"&&(O+=p&&g.length>=2?18:4),["network","graph","sankey"].includes(S)&&rl(s)&&(O+=18),["tree","treemap","sunburst"].includes(S)&&g.length>=1&&(O+=10),O}function Zt(t,a){return a.fitScore-t.fitScore||t.commonRank-a.commonRank||t.index-a.index}function et(t,a){const s=a.map((g,S)=>({candidate:g,index:S,type:f(g),fitScore:Bt(t,g),commonRank:_e(g)})).sort(Zt),i=new Map,l=[];for(const g of s){const S=i.get(g.type)||[];S.length===0&&l.push(g.type),S.push(g),i.set(g.type,S)}const p=[];for(;l.length>0;)for(let g=0;g<l.length;){const S=l[g],O=i.get(S),F=O==null?void 0:O.shift();F&&p.push(F),!O||O.length===0?(i.delete(S),l.splice(g,1)):g+=1}return p.map(g=>g.candidate)}function Wt(t,a){return ve(t)||`图表 ${a+1}`}function aa(t){const a=Oe(t);if(a)return a;const s=Ra(t);return Pm({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),...Bc(t)],tags:s==null?void 0:s.tags,exampleId:s==null?void 0:s.exampleId,templateType:s==null?void 0:s.templateType,option:cr(t)})}function dn(t){var a;return q.resolvePath((a=Ra(t))==null?void 0:a.iconPath)}function kn(t){t.iconPath&&q.markFailed(t.iconPath)}function Rn(t){t.iconPath&&q.markLoaded(t.iconPath)}function vn(t){return!!(t.iconPath&&q.shouldShow(t.iconPath))}function _n(t){return!!(t.iconPath&&q.isLoaded(t.iconPath))}function Z(t){return!_n(t)}function le(t){return!!(t.iconPath&&q.shouldShow(t.iconPath)&&!q.isLoaded(t.iconPath))}function Oe(t){const a=Dc(t.capabilityId);if(!a)return;if(Object.prototype.hasOwnProperty.call(de,a))return de[a];const s=G(t.protocolKind);return Object.prototype.hasOwnProperty.call(de,s)?de[s]:null}function ve(t){const a=tn(t),s=N(a.meta);return[at(s.registryTitle),at(t.title),at(a.title)].find(l=>l&&l!==t.capabilityId&&!ue.test(l)&&!Ge(l))||""}function Ge(t){return/^doc-example\//iu.test(t)||/^example\//iu.test(t)}function We(t){return Ge(G(t.title))||Ge(G(tn(t).title))}function Ye(t){return(t.capabilityId.startsWith("card.echarts.")||t.capabilityId.startsWith("card.chart."))&&!We(t)&&!!ve(t)}function Ft(t,a){const s=La(t,a),i=Yn(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,Ec(a),h(Kn(s)),h(va(s))].join("|")}function en(t){const a=Ae(t)??ut(t);return a.options.length<=1?!1:qe(t).length>0?!0:a.chartCount>1}function Dn(t){return qe(t).length>0&&Fe(t)>1}function Nn(t,a){if(a.disabled||!a.item)return;const s=m(t);u.value={...u.value,[s]:ct(a.item,a.previewMode)},y.value={...y.value,[s]:!1},T.value={...T.value,[s]:1}}function At(t){const a=H.value[m(t)];return Number.isInteger(a)?Math.min(Math.max(a,0),j.length-1):pn(t)}function pn(t){return Zc(t)?Df:Ki}function he(t){const a=Ee(t);if(!a)return j[At(t)]??j[Ki];const s=At(t)-pn(t);return be(a+s*Mf)}function k(t,a){const s=At(t)+a;return s>=0&&s<j.length}function P(t,a){const s=m(t),i=Math.min(Math.max(At(t)+a,0),j.length-1);H.value={...H.value,[s]:i}}function L(t){H.value={...H.value,[m(t)]:pn(t)}}function me(t){return typeof t=="number"&&Number.isFinite(t)&&t>0?t:void 0}function be(t){return Math.min(Lf,Math.max(Nf,Math.round(t)))}function Ee(t){const a=rt(t),s=N(tn(a).layout),i=me(s.h)??me(s.minH);if(!i)return;const l=i*Pf,p=Zc(t)?Of:0;return be(Math.max(l,p))}function st(t,a){const s=a.item;if(!s)return!1;const i=u.value[m(t)],l=ct(s,a.previewMode);return i?i===l:we(t)===a.previewMode&&ct(rt(t),a.previewMode)===l}function $t(t){const a=It(t);if(a==="inserting")return"插入中";if(a==="success")return"已插入";const s=rt(t),i=il(t);return i.insertReadyChart?"+ 插入":s.nextAction==="configure"||s.previewStatus==="requires_config"?Ba(s):i.canChoose?"+ 插入":Ba(s)}function It(t){return x.value[ct(rt(t),we(t))]||""}function Un(t){const a=m(t);y.value={...y.value,[a]:!y.value[a]}}function ft(t){return!!y.value[m(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=m(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 at(t.diagnosticReason)||at(t.previewReason)||ra((a=t.diagnostics)==null?void 0:a.reasonCodes)}function Ba(t){return t.nextAction==="configure"||t.previewStatus==="requires_config"?Ia(t):t.nextAction==="execute_query"||t.previewStatus==="requires_execution"||t.previewStatus==="blocked"||t.previewStatus==="empty"?"重新问数":"使用"}function Ia(t){const a=t.previewStatus||"ready";return oe[a]||"可插入"}function ra(t){return Array.isArray(t)?t.filter(a=>typeof a=="string"&&a.trim().length>0).map(a=>a.trim()).slice(0,3).join("、"):""}function N(t){return re(t)?t:{}}function G(t){return typeof t=="string"&&t.trim().length>0?t.trim():""}function Lr(t){return Array.isArray(t)?t.flatMap(a=>{const s=G(a);return s?[s]:[]}):[]}function at(t){const a=G(t);return!a||/^[?\s]+$/u.test(a)||/\?{2,}/u.test(a)||/\uFFFD/u.test(a)?"":a}function Cn(t){const a=N(t.cardConfig),s=N(t.selectedConfig),i=N(s.values),l=N(t.dataBinding),p=N(t.queryResult),g=N(p.data),S=N(p.dataBinding),O=N(l.queryResult),F=N(O.data),W=tn(t),pe=N(W.data),Ve=N(pe.dataBinding),gt=N(W.meta),Ut=N(gt.queryResult);return Ln(nr(O.columns),nr(Ut.columns),nr(p.columns),sa(O),sa(Ut),sa(p),kt(F.fieldLabels),kt(O.fieldLabels),kt(Ut.fieldLabels),kt(N(O.metadata).fieldLabels),kt(N(Ut.metadata).fieldLabels),kt(Ve.fieldLabels),kt(pe.fieldLabels),kt(g.fieldLabels),kt(S.fieldLabels),kt(p.fieldLabels),kt(N(p.metadata).fieldLabels),kt(l.fieldLabels),kt(s.fieldLabels),kt(i.fieldLabels),kt(a.fieldLabels))}function kt(t){const a=N(t);return Object.fromEntries(Object.entries(a).flatMap(([s,i])=>{const l=wt(i,s);return l?[[s,l]]:[]}))}function Ln(...t){const a={};for(const s of t)for(const[i,l]of Object.entries(s))a[i]=Vs(i,a[i],l);return a}function Vs(t,a,s){const i=wt(s,t);return i?!a||er(i)&&!er(a)||Pr(a)&&er(i)&&!Pr(i)?i:a:a||""}function er(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=>nn(a)).filter(Boolean):[]}function jn(t,a){if(!Array.isArray(t))return{};const s=Mr(a),i=t.flatMap((p,g)=>{const S=(re(p)?nn(p):s[g])||"",O=re(p)?wt(p.label,S)||wt(p.title,S)||wt(p.displayName,S):wt(p,S);return S&&O?[[S,O]]:[]}),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 tr(t,a){if(!Array.isArray(t))return{};const s=t.find(re);if(!s)return{};const i=Mr(a);return Object.fromEntries(Object.keys(s).flatMap((l,p)=>{const g=i[p]||"",S=wt(l,g);return g&&S?[[g,S]]:[]}))}function sa(t){const a=N(t.data),s=N(t.metadata),i=Array.isArray(t.columns)?t.columns:a.columns;return Ln(jn(a.displayColumns,i),jn(t.displayColumns,i),jn(s.displayColumns,i),jn(a.columnMetadata,i),jn(s.columnMetadata,i),tr(a.displayRows,i),tr(t.displayRows,i),tr(s.displayRows,i))}function nr(t){return Array.isArray(t)?Object.fromEntries(t.flatMap(a=>{if(!re(a))return[];const s=nn(a),i=wt(a.label,s)||wt(a.title,s)||wt(a.displayName,s)||wt(a.nameCn,s)||wt(a.name_cn,s);return s&&i?[[s,i]]:[]})):{}}function Kn(t){const a=N(t.cardConfig),s=N(t.selectedConfig),i=N(s.values),l=N(t.dataBinding);return[N(a.fieldMapping),N(s.fieldMapping),N(i.fieldMapping),N(l.fieldMapping)].find(g=>Object.keys(g).length>0)??{}}function Sn(t,a){const s=G(t);return s?Gn({key:s,labels:a}):""}function wt(t,a){const s=at(t);if(!s)return"";const i=a.trim();return s===i?"":s}function m(t){var i,l;if(t.recommendationId)return t.recommendationId;const a=ra((i=t.visualIntent)==null?void 0:i.dimensionFields)||"none",s=ra((l=t.visualIntent)==null?void 0:l.measureFields)||"none";return`${t.capabilityId}:${a}:${s}`}function h(t){return Array.isArray(t)?`[${t.map(a=>h(a)).join(",")}]`:re(t)?`{${Object.keys(t).sort().map(a=>`${a}:${h(t[a])}`).join("|")}}`:typeof t=="string"?t.trim():typeof t=="number"||typeof t=="boolean"?String(t):""}function A(t){var i,l,p,g,S,O;if(Ye(t)){const F=Kn(t),W=Object.keys(F).length>0?h(F):"",pe=Yn(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||h((i=t.visualIntent)==null?void 0:i.dimensionFields),W?"":h((l=t.visualIntent)==null?void 0:l.measureFields),W?"":h((p=t.visualIntent)==null?void 0:p.filterFields),pe,Ec(t),na(t)].join("|")}const a=Kn(t),s=Object.keys(a).length>0?h(a):"";return[ne(t),t.dataShape||"",s||h((g=t.visualIntent)==null?void 0:g.dimensionFields),s?"":h((S=t.visualIntent)==null?void 0:S.measureFields),s?"":h((O=t.visualIntent)==null?void 0:O.filterFields),na(t)].join("|")}function se(t){const{viewAlternatives:a,...s}=t;return s}function De(t){return un(t)>0&&Je(t)}function Je(t){return!t.capabilityId.startsWith("card.echarts.")&&!t.capabilityId.startsWith("card.chart.")}function $e(t){if(!De(t))return"";const a=fe(t)||at(t.title);return a?[a,na(t),h(Kn(t)),h(wn(t)),String(un(t)),h(vt(t))].join("|"):""}function Tt(t){return!xe(t)||un(t)<=0?"":[Be(t).toLowerCase()||"datatable",na(t),h(Kn(t)),h(wn(t)),String(un(t)),h(vt(t))].join("|")}function Rt(t){return un(t)<=0?[]:[ee(t),Q(t),oa(t)].filter((a,s,i)=>!!a&&i.indexOf(a)===s)}function Pn(t){const a=new Set;for(const s of t)if(Me(s)){for(const i of Rt(s))a.add(i);for(const i of Ie([s,...qe(s)],s))for(const l of Rt(i))a.add(l)}return a}function An(t){const a=Pn(t);if(a.size===0)return t;const s=new Set,i=[];for(const l of t){if(Me(l)){i.push(l);continue}const g=Rt(l).filter(S=>a.has(S));if(g.length>0){g.forEach(S=>s.add(S));continue}i.push(l)}return s.size===0?t:i}function oa(t){return un(t)<=0||wn(t).length<=0?"":[na(t),h(wn(t)),String(un(t)),h(vt(t))].join("|")}function ar(t){return ia(t)||Ye(t)}function ia(t){return De(t)&&!K(t)}function Or(t){const a=new Map,s=new Set;for(const p of t){if(!ar(p))continue;const g=oa(p);g&&!a.has(g)&&a.set(g,p),g&&Ye(p)&&s.add(g)}const i=new Map,l=new Set;for(const p of t){if(!ar(p))continue;const g=oa(p);if(!g||!s.has(g))continue;const S=g?a.get(g):void 0;if(!S||S===p)continue;const O=i.get(S)??[];O.push(se(p),...qe(p).map(se)),i.set(S,O),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 my(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],S=K(g)&&xe(i)&&ie(i);a[p]=S?{...i,viewAlternatives:[se(g),...qe(g).map(se),...Array.isArray(i.viewAlternatives)?i.viewAlternatives:[]]}:{...g,viewAlternatives:[...Array.isArray(g.viewAlternatives)?g.viewAlternatives:[],se(i)]}}return a}function fy(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[p]={...g,viewAlternatives:[...Array.isArray(g.viewAlternatives)?g.viewAlternatives:[],se(i),...qe(i).map(se)]}}return a}function py(t){if(!xe(t))return t;const a=qe(t),s=a.find(i=>i.capabilityId===Dr&&xe(i));return s?{...s,viewAlternatives:[se(t),...a.filter(i=>i!==s).map(se)]}:t}const Gt=n.computed(()=>{const t=new Set,s=An(fy(my(Or(c.draft.recommendations))).map(py)).filter(i=>{const l=A(i);return t.has(l)?!1:(t.add(l),!0)});return s.some(bt)?s:s.slice(0,1)}),hy=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(m(a),xt(a));return t}),gy=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(m(a),qt(a));return t}),yy=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(m(a),ut(a));return t}),nc=n.computed(()=>{const t=new Map;for(const a of Gt.value){const s=m(a);t.set(s,we(a)==="chart"?Qc(a):null)}return t}),by=n.computed(()=>{const t=new Map;for(const a of Gt.value){const s=nc.value.get(m(a));s&&t.set(m(a),Yc(s))}return t}),ky=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(m(a),ol(a,xt(a)));return t}),_y=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(m(a),ll(a));return t}),Cy=n.computed(()=>{const t=new Map;for(const a of Gt.value)t.set(m(a),kc(xt(a)));return t}),ac=n.computed(()=>Gt.value.length);function Sy(t){return typeof t=="number"&&Number.isFinite(t)&&t>0?Math.floor(t):void 0}const Ay=n.computed(()=>Ey()?xy():Sy(c.draft.totalRecommendationCount)??(Ty()?By():wy())),rc=n.computed(()=>{const t=Ay.value;return t<=0?"":`共 ${t} 个`}),sc=n.computed(()=>ac.value<=0?"":c.draft.exhausted===!0?"已展示完全部推荐。":"");function re(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;const a=Object.getPrototypeOf(t);return a===Object.prototype||a===null}function wy(){return Gt.value.reduce((t,a)=>t+oc(a),0)}function Ty(){return Gt.value.length===1&&Gt.value.some(Dn)}function Ey(){return Gt.value.length===1&&Gt.value.some(t=>en(t)&&dt(t)>0)}function xy(){return Gt.value.reduce((t,a)=>t+dt(a),0)}function By(){return Gt.value.reduce((t,a)=>t+oc(a),0)}function oc(t){return Dn(t)?ot(t).length:1}function Fr(t){return re(t)?sr(t).length>0:!1}function rr(t){return Array.isArray(t)?t.filter(a=>re(a)):[]}function zs(t){const a=N(t.data),s=N(t.metadata);return[rr(t.displayRows),rr(a.displayRows),rr(s.displayRows)].find(i=>i.length>0)||[]}function Iy(t){const a=/^(合计|总计|汇总|小计|total|subtotal)$/iu;return t.some(s=>Object.values(s).some(i=>a.test(Gs(Yt(i)))))}function Ry(t,a){return t.length===0||a.length===0?!1:Iy(t)}function sr(t){const a=zs(t),s=or(t);return Ry(a,s)?s:a.length>0?a:s}function or(t){const a=rr(t.rows),s=N(t.data),i=rr(s.rows),l=new Set(a.map(p=>h(p)));return[...a,...i.filter(p=>!l.has(h(p)))]}function ic(t){if(!Fr(t))return!1;const a=sr(t);return a.length===0?!1:(Array.isArray(t.columns)?t.columns:Array.isArray(N(t.data).columns)?N(t.data).columns:[]).map(nn).filter(l=>l&&a.some(p=>Object.prototype.hasOwnProperty.call(p,l))).length>1||Object.keys(a[0]??{}).length>1}function $r(t){if(!re(t))return!1;const a=N(t.dataBinding);return a.bindingKind==="runtime_metric"?G(a.serviceOperation)==="metric_execute"&&re(a.serviceParams):!!((G(a.validatedSql)||G(a.sql)||G(a.originalSql)||G(a.translatedSql))&&re(a.permissionContext))}function vy(t,a){const s=sr(t),i=sr(a);return s.length>0&&s.length===i.length&&h(s)===h(i)}function cc(t){const a=N(t.data),s=N(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(G).filter(Boolean)}function lc(t){const a=N(t.data),s=N(t.metadata);return G(t.sourceTurnId)||G(t.source_turn_id)||G(a.sourceTurnId)||G(a.source_turn_id)||G(s.sourceTurnId)||G(s.source_turn_id)}function Dy(t,a){const s=cc(t),i=cc(a);if(s.length>0&&i.length>0)return s.some(g=>i.includes(g))?!0:dc(t,a);const l=lc(t),p=lc(a);return l&&p?l===p:dc(t,a)}function dc(t,a){const s=or(t),i=or(a);return s.length>0&&i.length>0&&h(s)===h(i)}function uc(t){const a=N(t.data);return Array.isArray(t.columns)?t.columns:Array.isArray(a.columns)?a.columns:[]}function Ny(t){const a=N(t.data),s=N(t.metadata);return[t.displayColumns,a.displayColumns,s.displayColumns].find(i=>Array.isArray(i))??[]}function mc(t){const a=N(t.data),s=N(t.metadata);return Ln(sa(t),kt(a.fieldLabels),kt(s.fieldLabels),kt(t.fieldLabels))}function Ly(t,a){const s=Object.keys(t[0]??{});if(s.length===0)return!1;const i=uc(a).map(nn).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(or(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 fc(t,a){if(!a||!Dy(t,a))return t;const s=zs(a),i=N(t.data),l=Ny(a),p=Ln(mc(a),mc(t)),g=s.length>0&&Ly(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 pc(t,a){if($r(t)||!a||!$r(a))return t;const s=t,i=a;if(!vy(s,i))return t;const l=N(s.data),p=N(i.data);return{...s,dataBinding:i.dataBinding,data:{...l,...p.dataBinding?{dataBinding:p.dataBinding}:{}}}}function ca(t){const a=re(c.draft.queryResult)&&(Fr(c.draft.queryResult)||$r(c.draft.queryResult))?c.draft.queryResult:null,s=N(tn(t).meta),i=re(s.queryResult)?s.queryResult:null,l=re(t.queryResult)?t.queryResult:i,p=l?pc(fc(l,a),a):t.queryResult;return ic(p)?p:a||(re(t.queryResult)?t.queryResult:i??{})}function tn(t){return N(t.blockPlan)}function Xt(t){return N(tn(t).data)}function Py(t){const a=ca(t),s=N(a.data),i=sr(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(nn).find(Boolean)||"value"]:l}]}function My(t){const a=Xt(t),s=Array.isArray(a.columns)?a.columns.map((l,p)=>G(l)||`column_${p+1}`):[];return(Array.isArray(a.rows)?a.rows:[]).flatMap((l,p)=>{if(!re(l))return[];const g=Array.isArray(l.cells)?l.cells:[];if(g.length===0)return[];const S=Object.fromEntries(g.map((O,F)=>[s[F]||`column_${F+1}`,O]));return[Object.keys(S).length>0?S:{[`row_${p+1}`]:""}]})}function vt(t){const a=Py(t);return a.length>0?a:My(t)}function nn(t){return typeof t=="string"?t.trim():re(t)?G(t.key)||G(t.dataIndex)||G(t.field)||G(t.name):""}function hc(t){return typeof t=="string"?at(t):re(t)?at(t.label)||at(t.title)||at(t.displayName)||at(t.nameCn)||at(t.name_cn):""}function Oy(t,a){const s=Object.keys(a[0]??{});if(t.length===0||s.length===0)return[];const i=t.flatMap((l,p)=>{const g=nn(l),S=g&&a.some(F=>Object.prototype.hasOwnProperty.call(F,g))?g:s[p]||"";if(!S||!a.some(F=>Object.prototype.hasOwnProperty.call(F,S)))return[];const O=wt(hc(l),S);return O?[{field:S,label:O,...re(l)&&typeof l.role=="string"&&l.role.trim()?{role:l.role.trim()}:{},...re(l)&&typeof l.type=="string"&&l.type.trim()?{type:l.type.trim()}:{}}]:[]});return i.length===t.length?i:[]}function Fy(t,a){return t.map(s=>{if(!re(s))return s;const i=nn(s),l=i?wt(a[i],i):"";return l?{...s,label:l}:s})}function ir(t,a,s){const i=nn(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 gc(t,a,s,i){const l=nn(t);if(!l)return"";const p=i||l,g=re(t)?at(t.label)||at(t.title)||at(t.displayName):void 0,S=wt(g,p)||void 0;return re(t)&&t.role,Gn({key:p,explicitLabel:S,labels:a})}function $y(t){const a=t.trim().toLowerCase();return a==="唯一标识符"||a==="唯一标识"||a==="identifier"||a==="unique identifier"||a==="id"}function Vy(t){return re(t)?at(t.label)||at(t.title)||at(t.displayName):""}function zy(t,a,s){const i=t.flatMap((p,g)=>{const S=ir(p,a,g);if(!S)return[];const O=s[S]||wt(Vy(p),S);return O&&$y(O)?[{key:S,label:O}]:[]}),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 Gy(t,a){return a.size===0?t:Object.fromEntries(Object.entries(t).filter(([s])=>!a.has(s)))}function yc(t){return t.trim().replace(/[^a-z0-9]+/giu,"").toLowerCase()}function Hy(t){const a=yc(t);return a==="metricname"?"指标名称":a==="value"||a==="metricvalue"?"指标值":""}function qy(t){const a=new Set(t.map(yc));return a.has("metricname")&&(a.has("value")||a.has("metricvalue"))}function Wy(t,a){if(!qy(a))return t;const s={...t};for(const i of a)if(!s[i]){const l=Hy(i);l&&(s[i]=l)}return s}function Vr(t,a){return t.some(s=>{const i=nn(s);return!!i&&a.some(l=>Object.prototype.hasOwnProperty.call(l,i))})}function Uy(t,a,s){const i=t.map((l,p)=>ir(l,a,p)).filter(Boolean);return i.length>0&&i.every(l=>!!(s[l]&&s[l]!==l))}function jy(t,a){const s=Xt(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(S=>Object.is(S[g],l)||String(S[g])===String(l)));return p.length===1?p[0]:""}function Ky(t,a,s){if(a.length!==1||Vr(a,s))return null;const i=jy(t,s);if(!i)return null;const l=a[0],p=Xt(t),g=wt(hc(l),i)||wt(p.primaryLabel,i);return[{field:i,...g?{label:g}:{},...re(l)&&typeof l.role=="string"&&l.role.trim()?{role:l.role.trim()}:{},...re(l)&&typeof l.type=="string"&&l.type.trim()?{type:l.type.trim()}:{}}]}function Qy(t,a,s,i,l=[]){const p=Oy(l,i);if(p.length>0)return p;if(l.length>0&&Vr(l,i))return l;if(!Vr(a,i)&&Vr(s,i))return s;const g=Ky(t,a,i);return g||(a.length>0?a:s)}function wn(t){const a=ca(t),s=N(a.data),i=vt(t),l=zs(a).length>0,p=Ln(sa(a),kt(s.fieldLabels),kt(a.fieldLabels)),g=l?Ln(p,Cn(t)):Ln(Cn(t),p),S=Array.isArray(a.columns)?a.columns:[],O=Array.isArray(s.columns)?s.columns:[],F=Xt(t),W=Array.isArray(F.displayColumns)?F.displayColumns:[],pe=Uy(S,i,g)?[]:W,Ve=Fy(Qy(t,S,O,i,pe),g),gt=zy(Ve,i,g),Ut=Ve.map((lt,Vt)=>ir(lt,i,Vt)).filter(Boolean),En=Wy(Gy(g,gt),Ut),la=Ve.map((lt,Vt)=>{const Pt=ir(lt,i,Vt),Oa=gt.has(Pt)?Sn(Pt,En)||Pt:gc(lt,En,Vt,Pt);return{key:Pt,label:Oa}}).filter(lt=>lt.key&<.label);if(la.length>0)return la;const Mn=Xt(t).columns,Lt=Array.isArray(Mn)?Mn.map((lt,Vt)=>{const Pt=nn(lt)||`column_${Vt+1}`;return{key:Pt,label:gc(lt,En)||Pt}}):[];return Lt.length>0?Lt:Object.keys(i[0]??{}).map(lt=>({key:lt,label:Sn(lt,g)||lt}))}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 Yt(t){if(t==null||t==="")return"-";if(Array.isArray(t))return t.map(s=>Yt(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 Yt(s)}catch{return Gs(a)}return Gs(a)}return JSON.stringify(t)}function un(t){const a=vt(t).length;return Math.max(Jy(t)??0,a)}function Yy(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 Jy(t){const a=ca(t),s=N(a.data),i=N(a.metadata),l=N(s.metadata),p=N(a.dataBinding),g=N(p.queryResult),S=[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 O of S){const F=Yy(O);if(F!==void 0)return F}}function Qn(t){return T.value[m(t)]||1}function Hs(t){return Math.max(1,Math.ceil(vt(t).length/Ns))}function bc(t,a){const s=Math.max(1,Math.floor(a)),i=Math.min(vf,s),l=Math.min(Math.max(1,Math.floor(t)),s),p=Math.floor(i/2);let g=l-p,S=g+i-1;return g<1&&(g=1,S=i),S>s&&(S=s,g=Math.max(1,S-i+1)),Array.from({length:S-g+1},(O,F)=>g+F)}function kc(t){const a=un(t),s=Hs(t);return{columns:wn(t),totalCount:a,pageCount:s,pages:bc(1,s)}}function qs(t){const a=rt(t);return Cy.value.get(m(t))??kc(a)}function _c(t){return qs(t).columns}function Cc(t){return qs(t).totalCount}function zr(t){return qs(t).pageCount}function Zy(t){const a=zr(t);return`${Math.min(Qn(t),a)} / ${a} 页`}function Xy(t){const a=Qn(t),s=zr(t);return bc(a,s)}function eb(t){const a=rt(t),i=(Math.min(Qn(t),Hs(a))-1)*Ns;return vt(a).slice(i,i+Ns)}function Ws(t,a){const s=rt(t),i=Math.min(Math.max(1,a),Hs(s));T.value={...T.value,[m(t)]:i}}function Sc(t){const a=rt(t),s=I.value[m(t)];return s||fe(t)||fe(a)||ke(a)}function tb(t){const a=m(t);return U.value[a]?G(D.value[a]):G(I.value[a])}function nb(t){return!!U.value[m(t)]}function ab(t){const a=m(t);D.value={...D.value,[a]:Sc(t)},U.value={...U.value,[a]:!0}}function rb(t,a){const s=a.target instanceof HTMLInputElement?a.target:null;s&&(D.value={...D.value,[m(t)]:s.value})}function Ac(t){const a=m(t),s=G(D.value[a]);I.value=s?{...I.value,[a]:s}:Object.fromEntries(Object.entries(I.value).filter(([i])=>i!==a)),U.value={...U.value,[a]:!1}}function Nt(t){return Array.isArray(t)?t.map(a=>Nt(a)):re(t)?Object.fromEntries(Object.entries(t).map(([a,s])=>[a,Nt(s)])):t}function wc(t){return N(t.protocolConfig)}function Tc(t){return N(t.protocolData)}function sb(t,a){const s=N(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&&re(l)?{...l,data:Nt(i)}:l);return}t.xAxis=re(t.xAxis)?{...t.xAxis,data:Nt(i)}:{type:"category",data:Nt(i)}}}function ob(t,a){if(!Array.isArray(a.datasets))return;const s=a.datasets.filter(re).map(i=>({...G(i.id)?{id:G(i.id)}:{},...Array.isArray(i.dimensions)&&i.dimensions.length>0?{dimensions:Nt(i.dimensions)}:{},...Array.isArray(i.source)?{source:Nt(i.source)}:{}})).filter(i=>Object.keys(i).length>0);s.length!==0&&(t.dataset=s.length===1?s[0]:s)}function ib(t,a){const s=Array.isArray(a.series)?a.series.filter(re).filter(g=>Array.isArray(g.data)):[];if(s.length===0)return;const i=Array.isArray(t.series)?t.series.filter(re):[],l=s.map((g,S)=>{const O=i[S]||i.find(F=>G(F.type)===G(g.typeHint))||i.find(F=>G(F.type)===G(g.type))||i[0]||{};return{...O,type:G(g.typeHint)||G(g.type)||G(O.type)||"line",...G(g.name)?{name:G(g.name)}:G(O.name)?{name:G(O.name)}:{},data:Nt(Array.isArray(g.data)?g.data:[])}});t.series=l;const p=l.map(g=>G(g.name)).filter(Boolean);p.length>0&&(t.legend=Da(t.legend,p))}function Gr(t){if(t.shape!=="protocolRender"||G(t.rendererType)!=="echarts")return{};const a=wc(t),s=N(a.optionPatch);if(!hn(s))return{};const i=Nt(s),l=Tc(t);return sb(i,l),ob(i,l),ib(i,l),i}function cb(t){return hn(Gr(Xt(t)))}function Us(t){const a=Tc(t);return Array.isArray(a.series)||Array.isArray(a.datasets)||hn(N(a.categories))}function Ec(t){const a=Xt(t);if(a.shape!=="protocolRender")return"";const s=wc(a);return h({shape:a.shape,rendererType:a.rendererType,chartId:G(s.chartId),optionPatch:N(s.optionPatch)})}function cr(t){const a=Xt(t),s=Gr(a);return hn(s)?s:Hr(t,N(a.option))}function xc(t){const a=cr(t);return mn(a)}function Bc(t){return xc(t).flatMap(a=>{const s=G(a.type);return s?[s]:[]})}function Ic(t){return xc(t).some(a=>G(a.type)==="pie"&&Array.isArray(a.radius)&&a.radius.length>=2)}function Rc(t){const a=cr(t),s=new Set(Bc(t).map(i=>i.toLowerCase()));if(s.has("pie")&&Ic(t))return"donut";if(re(a.geo))return"map";if(re(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 Hr(t,a){if(Object.keys(a).length===0)return a;const s=Cn(t),i=Array.isArray(a.series)?a.series.map(p=>lb(p,s)):a.series,l=Array.isArray(i)?i.filter(re).map(p=>G(p.name)).filter(Boolean):[];return{...a,...i?{series:i}:{},...a.legend!==void 0||l.length>1?{legend:db(a.legend,s,l)}:{},...a.xAxis!==void 0?{xAxis:js(a.xAxis,s)}:{},...a.yAxis!==void 0?{yAxis:js(a.yAxis,s)}:{}}}function lb(t,a){if(!re(t))return t;const s=G(t.name);return s?{...t,name:Sn(s,a)}:t}function db(t,a,s){const i=l=>Array.isArray(l)?l.map(p=>typeof p=="string"?Sn(p,a):p):s.length>1?s:l;return Array.isArray(t)?t.map(l=>re(l)?{...l,data:i(l.data)}:l):re(t)?{...t,data:i(t.data)}:s.length>1?{data:s}:t}function js(t,a){if(Array.isArray(t))return t.map(i=>js(i,a));if(!re(t))return t;const s=G(t.name);return s?{...t,name:Sn(s,a)}:t}function ub(t){const a=Array.isArray(t)?t[0]:t,s=N(a).data;return Array.isArray(s)?s:[]}function mb(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 re(a)&&typeof a.value=="number"&&Number.isFinite(a.value)?[a.value]:[]}):[]}function Ks(t,a={}){const s=a.previewType||Ma(t);if(!s)return null;if(a.useMaterializedOption!==!1){const F=cr(t),pe=(Array.isArray(F.series)?F.series.filter(re):[])[0];if(pe){const Ve=mb(pe.data),gt=ub(F.xAxis).map(Ut=>Yt(Ut));if(Ve.length>0)return{title:G(pe.name)||ke(t),type:G(pe.type)||s,points:Ve.map((Ut,En)=>({label:gt[En]||`项 ${En+1}`,value:Ut}))}}}const i=vt(t),l=wn(t).map(F=>F.key),p=l.find(F=>i.some(W=>typeof W[F]=="number"&&Number.isFinite(W[F]))),g=l.find(F=>F!==p)||l[0];if(!g||i.length===0)return null;if(p)return{title:Sn(p,Cn(t)),type:s,points:i.flatMap((F,W)=>{const pe=F[p];return typeof pe=="number"&&Number.isFinite(pe)?[{label:Yt(F[g])||`项 ${W+1}`,value:pe}]:[]})};const S=new Map;for(const F of i){const W=Yt(F[g]);!W||W==="-"||S.set(W,(S.get(W)||0)+1)}const O=Array.from(S.entries()).map(([F,W])=>({label:F,value:W}));return O.length>0?{title:"记录数",type:s,points:O}:null}function hn(t){return Object.keys(t).length>0}function gn(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 lr(t){return t==="halfDonut"}function vc(){return{radius:["42%","76%"],center:["50%",Qi],startAngle:180,endAngle:360}}function fb(t){return["50%",Qi]}function pb(t){return t==="mixedBarLine"?["bar","line"]:[gn(t)]}function hb(t){const a=t.split(".");return a[0]==="card"&&a[1]==="echarts"&&a[2]||""}function Dc(t){const a=t.split(".");return a[0]==="card"&&a[1]==="chart"&&a[2]||""}function Ra(t){const a=tn(t),s=N(a.meta),i=N(s.echartsTemplate),l=$m(t.capabilityId);return hn(i)&&l&&!i.iconPath?{...i,iconPath:l}:hn(i)?i:l?{iconPath:l}:null}function gb(t){const a=Dc(t.capabilityId);if(!a)return;if(Object.prototype.hasOwnProperty.call(ge,a))return ge[a];const s=G(t.protocolKind);return Object.prototype.hasOwnProperty.call(ge,s)?ge[s]:null}function Yn(t){const a=G(t.protocolKind).toLowerCase(),s=hb(t.capabilityId),i=gb(t);if(i!==void 0)return i;const l=ji(Ra(t));if(l==="halfDonut")return l;if(yb(t))return"halfDonut";if(l==="pie"&&Ic(t))return"donut";if(l)return l;const p=Rc(t);return p||(s?ji({mainCategory:s,protocolType:a}):a==="network"?s==="sankey"?"sankey":"network":a==="tree"?"tree":a==="geo"?"map":ce.has(s)?s:null)}function yb(t){const a=Ra(t),s=[t.capabilityId,G(a==null?void 0:a.exampleId),G(a==null?void 0:a.templateType),G(a==null?void 0:a.iconPath)].join(" ").toLowerCase();return/(?:half[-_\s]?donut|semi[-_\s]?(?:donut|circle)|piehalfdonut)/iu.test(s)}function Tn(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=N(a.data),i=vt(t),p=(Array.isArray(a.columns)?a.columns:Array.isArray(s.columns)?s.columns:[]).map((F,W)=>ir(F,i,W)).filter(Boolean);if(p.length>0)return p;const g=Xt(t).columns,S=Array.isArray(g)?g.map(F=>G(F)).filter(Boolean):[];if(S.length>0)return S;const O=vt(t)[0];return O?Object.keys(O):[]}function qr(t,a){return a.find(s=>t.some(i=>Tn(i[s])!==null))||""}function Wr(t,a){return t.filter(s=>s&&s!==a)}function Nc(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 Lc(t,a){var l;const s=Cn(t),i=(l=wn(t).find(p=>p.key===a))==null?void 0:l.label;return[a,s[a],i].filter(Boolean).join(" ")}function Pc(t,a){const s=["source","from","src","origin","start","来源","起点","源"],i=["target","to","dst","destination","end","目标","终点","去向"],l=a.find(g=>Nc(Lc(t,g),s)),p=a.find(g=>g!==l&&Nc(Lc(t,g),i));return l&&p?{sourceKey:l,targetKey:p}:null}function bb(t,a,s,i){const l=Pc(t,s);if(!l)return null;const{sourceKey:p,targetKey:g}=l,S=new Set,O=a.flatMap(F=>{const W=Yt(F[p]),pe=Yt(F[g]);return!W||W==="-"||!pe||pe==="-"?[]:(S.add(W),S.add(pe),[{source:W,target:pe,value:Tn(F[i])??1}])});return O.length===0?null:{nodes:Array.from(S).map(F=>({name:F})),links:O}}function Mc(t,a,s=!0){var O,F;const i=vt(t),l=va(t),p=qr(i,l),g=Wr(l,p),S=Ks(t,{useMaterializedOption:s,previewType:a});if(a==="graph"||a==="sankey"){const W=bb(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(!S||S.points.length===0)return null;if(a==="radar"){if(S.points.length<Ls)return null;const W=Math.max(1,...S.points.map(pe=>pe.value));return{radar:{indicator:S.points.map(pe=>({name:pe.label,max:Math.max(W,pe.value)}))},series:[{type:"radar",name:S.title,data:[{name:S.title,value:S.points.map(pe=>pe.value)}]}]}}if(a==="funnel")return{tooltip:{trigger:"item"},series:[{type:"funnel",name:S.title,data:S.points.map(W=>({name:W.label,value:W.value}))}]};if(a==="heatmap")return{tooltip:{position:"top"},xAxis:{type:"category",data:S.points.map(W=>W.label)},yAxis:{type:"category",data:[S.title]},visualMap:{min:0,max:Math.max(1,...S.points.map(W=>W.value)),calculable:!0,orient:"horizontal"},series:[{type:"heatmap",data:S.points.map((W,pe)=>[pe,0,W.value])}]};if(a==="gauge")return{series:[{type:"gauge",data:[{name:((O=S.points[0])==null?void 0:O.label)||S.title,value:((F=S.points[0])==null?void 0:F.value)??0}]}]};if(a==="tree"||a==="treemap"||a==="sunburst"){const W=[{name:S.title,children:S.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 Oc(t){const a=t.map(g=>Math.max(0,g.value)),s=a[0]??0,i=a.slice(1).reduce((g,S)=>g+S,0);if(!(a.length>1&&s>0&&i<=s)){let g=0;return{helper:a.map((S,O)=>{const F=O===0?0:g;return g+=a[O]??0,F}),values:a}}let p=s;return{helper:a.map((g,S)=>S===0?0:(p=Math.max(0,p-g),p)),values:a}}function Fc(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 kb(t){return Fc(t.map(a=>a.value))}function $c(t){return t.seriesValues.length===1&&Fc(t.seriesValues[0]||[])}function _b(t){const a=Ra(t),s=cr(t),i=[t.capabilityId,t.dataShape,G(t.protocolKind),G(a==null?void 0:a.exampleId),G(a==null?void 0:a.templateType),G(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)||ur(mn(s))}function Cb(t){if(!_b(t)||vt(t).length===0)return!0;const a=Js(t);return!!(a&&$c(a))}function Sb(t){const a=Oc(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 Ab(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 wb(t){const a=gn(t.type);if(t.type==="waterfall")return Sb(t);if(t.type==="pareto")return Ab(t);if(t.type==="mixedBarLine"){const l=t.points.map(S=>S.label),p=t.points.map(S=>S.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 yn(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%"]}:{},...lr(t.type)?vc():{},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 yn(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 yn(i,s),i}function Vc(t,a){const s=Ub(t,a);if(s)return Pa(s,a);const i=Mc(t,gn(a),!1);if(i)return Pa(i,a);const l=Ks(t,{useMaterializedOption:!1,previewType:a});if(!l||l.points.length===0||a==="waterfall"&&!kb(l.points))return null;const p=wb(l);return hn(p)?Pa(p,a):null}function Tb(t){const a=Xt(t),s=Gr(a);if(hn(s))return Hr(t,s);const i=Hr(t,N(a.option));return hn(i)?i:null}function Qs(t,a){return a.map(s=>G(t[s])).find(Boolean)||""}function Ys(t,a){var i;const s=(i=t.visualIntent)==null?void 0:i[a];return Array.isArray(s)&&s.map(l=>G(l)).find(Boolean)||""}function Eb(t,a){return t||a}function xb(t,a,s,i,l){return[...Array.isArray(t.yFields)?t.yFields.map(S=>G(S)).filter(Boolean):[],Qs(t,["yField","measureField","valueField"])].filter((S,O,F)=>S&&F.indexOf(S)===O).find(S=>a.some(O=>Tn(O[S])!==null))||s.find(S=>S!==i&&S!==l&&a.some(O=>Tn(O[S])!==null))||""}function Bb(t,a){const s=new Set(t.map(i=>Yt(i[a])).filter(i=>i&&i!=="-"));return s.size>=2&&s.size<t.length}function Ib(t,a,s,i){return a.find(l=>l!==s&&l!==i&&t.some(p=>Tn(p[l])===null)&&Bb(t,l))||""}function Rb(t){if(t instanceof Date)return!0;const a=Yt(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 zc(t,a){const s=t.map(i=>i[a]).filter(i=>{const l=Yt(i).trim();return!!(l&&l!=="-")});return s.length>0&&s.every(Rb)}function vb(t,a,s){if(a.length===0||s.length<3)return null;const i=Kn(t),l=Qs(i,["seriesField","groupField","colorField"])||Ys(t,"seriesFields");let p=Ys(t,"dimensionFields")||Qs(i,["xField","labelField","categoryField","dimensionField"])||s.find(Lt=>Lt!==l&&a.some(lt=>Tn(lt[Lt])===null))||"";const g=Ys(t,"measureFields"),S=g&&a.some(Lt=>Tn(Lt[g])!==null)?g:xb(i,a,s,p,l);let O=l||Ib(a,s,p,S);if(p&&O&&zc(a,p)&&!zc(a,O)&&([p,O]=[O,p]),!p||!S||p===O)return null;const F=[],W=[],pe=new Set,Ve=new Set,gt=new Map;if(a.forEach((Lt,lt)=>{const Vt=Yt(Lt[p]),Pt=Yt(Lt[O]),Oa=Tn(Lt[S]);if(!Pt||Pt==="-"||Oa===null)return;const da=Vt&&Vt!=="-"?Vt:`项 ${lt+1}`;pe.has(da)||(pe.add(da),F.push(da)),Ve.has(Pt)||(Ve.add(Pt),W.push(Pt));const io=gt.get(Pt)??new Map;io.set(da,(io.get(da)??0)+Oa),gt.set(Pt,io)}),F.length===0||W.length<2)return null;const Ut=Cn(t),En=Sn(S,Ut)||S,la=W.map(Lt=>Eb(Lt,En)),Mn=W.map(Lt=>{const lt=gt.get(Lt)??new Map;return F.map(Vt=>lt.get(Vt)??0)});return{labels:F,measureLabels:la,seriesValues:Mn,points:F.map((Lt,lt)=>{var Vt;return{label:Lt,value:((Vt=Mn[0])==null?void 0:Vt[lt])??0}}),title:la[0]||ke(t)}}function Js(t){const a=vt(t),s=va(t),i=vb(t,a,s);if(i)return i;const l=s.filter(W=>a.some(pe=>Tn(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=Yt(W[p]);return Ve&&Ve!=="-"?Ve:`项 ${pe+1}`}),S=Cn(t);if(l.length>0){const W=l.map(Ve=>Sn(Ve,S)||Ve),pe=l.map(Ve=>a.map(gt=>Tn(gt[Ve])??0));return{labels:g,measureLabels:W,seriesValues:pe,points:g.map((Ve,gt)=>{var Ut;return{label:Ve,value:((Ut=pe[0])==null?void 0:Ut[gt])??0}}),title:W[0]||ke(t)}}const O=new Map;for(const W of g)!W||W==="-"||O.set(W,(O.get(W)||0)+1);const F=Array.from(O.entries()).map(([W,pe])=>({label:W,value:pe}));return F.length===0?null:{labels:F.map(W=>W.label),measureLabels:["记录数"],seriesValues:[F.map(W=>W.value)],points:F,title:"记录数"}}function Db(t){return Array.isArray(t)?N(t.find(re)):N(t)}function Ur(t){const a=Db(t);return G(a.type)==="category"||Array.isArray(a.data)}function Nb(t,a){const s=i=>re(i)?{...i,type:G(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 Gc(t){const a=G(t).replace(/\s+/g,"");return a==="#{value}"||a==="#value"||a.startsWith("#{")}function Lb(t){const a=N(t.axisLabel),s=typeof t.max=="number"?t.max:Number(t.max);return Gc(a.formatter)||t.inverse===!0&&Number(t.min)===1&&Number(t.interval)===1&&Number.isFinite(s)&&s<=20}function Zs(t){const a={...t,type:G(t.type)||"value"};if(!Lb(t))return a;delete a.inverse,delete a.min,delete a.max,delete a.interval;const s=N(t.axisLabel);if(Gc(s.formatter)){const i={...s};delete i.formatter,a.axisLabel=i}return a}function Pb(t){return Array.isArray(t)?t.length===0?[{type:"value"}]:t.map((a,s)=>s===0&&re(a)?Zs(a):a):re(t)?Zs(t):{type:"value"}}function jr(t,a){const s=Ur(t.yAxis)&&!Ur(t.xAxis)?"yAxis":"xAxis",i=s==="xAxis"?"yAxis":"xAxis";t[s]=Nb(t[s],a),t[i]=Pb(t[i])}function Mb(t){const a=re(t.polar)||Array.isArray(t.polar);return mn(t).some(s=>G(s.type)==="bar"&&(G(s.coordinateSystem)==="polar"||a))}function Ob(t,a){const s=i=>{const l=re(i)?{...i,type:G(i.type)||"category",data:a}:{type:"category",data:a};return l.axisLabel={...N(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 Fb(t){const a=s=>{const i=re(s)?Zs(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 $b(t,a){const s=Ur(t.radiusAxis)&&!Ur(t.angleAxis)?"radiusAxis":"angleAxis",i=s==="angleAxis"?"radiusAxis":"angleAxis";t[s]=Ob(t[s],a),t[i]=Fb(t[i]),delete t.xAxis,delete t.yAxis}function Vb(t){const a=s=>({...re(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 zb(t){const a={...N(t)};return delete a.bottom,{...a,type:"scroll",orient:"horizontal",left:"center",top:a.top??0,pageButtonPosition:"end",itemGap:12}}function Gb(t){const a=s=>{if(!re(s))return s;const i={...s};delete i.startValue,delete i.endValue;const l={...i,start:0,end:100};return G(l.type)==="slider"?{...l,bottom:12,height:22}:l};return Array.isArray(t)?t.map(a):a(t)}function Hb(t){if(!(Array.isArray(t.dataZoom)?t.dataZoom:[t.dataZoom]).some(p=>re(p)&&G(p.type)==="slider"))return;const i=re(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 qb(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,Yi):Yi}function Kr(t){if(![t.yAxis,t.xAxis].flatMap(i=>Array.isArray(i)?i:[i]).some(i=>re(i)&&(i.type===void 0||G(i.type)==="value")))return;const s=i=>({...i,left:qb(i.left),containLabel:i.containLabel??!0});if(Array.isArray(t.grid)){t.grid=t.grid.map(i=>re(i)?s(i):i);return}t.grid=s(re(t.grid)?t.grid:{})}function Da(t,a){return Array.isArray(t)?t.map(s=>re(s)?{...s,data:a}:s):re(t)?{...t,data:a}:{data:a}}function yn(t,a=[]){delete t.dataset,delete t.title,t.dataZoom!==void 0?t.dataZoom=Gb(t.dataZoom):a.length>20&&(t.dataZoom=[{type:"slider",start:0,end:100,bottom:12,height:22},{type:"inside",start:0,end:100}]),Kr(t),Hb(t)}function Jn(t,a){const s=mn(t),i=s.filter(l=>G(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 Wb(t){return t.capabilityId.toLowerCase().includes("stackedbar")}function Ub(t,a){const s=Js(t);if(!s||s.seriesValues.length<=1)return null;const i=gn(a);if(!["bar","line","scatter","pictorialBar"].includes(i)&&a!=="mixedBarLine")return null;const l=s.measureLabels.map((g,S)=>{const O=a==="mixedBarLine"?S===0?"bar":"line":i;return{type:O,name:g||s.title,...O==="bar"&&Wb(t)?{stack:"total"}:{},data:Na(s,S)}}),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 yn(p,s.labels),p}function Qr(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 dr(t){const a=N(t.itemStyle),s=N(N(t.emphasis).itemStyle);return G(t.type)==="bar"&&!!G(t.stack)&&(Qr(a.color)||Qr(a.borderColor)||Qr(s.color)||Qr(s.borderColor))}function ur(t){return t.some(dr)&&t.some(a=>G(a.type)==="bar"&&!dr(a))}function Xs(t){return{...t,name:"",silent:t.silent??!0,tooltip:{...N(t.tooltip),show:!1}}}function jb(t){const a=mn(t);if(!ur(a)){const l={...t};return Kr(l),l}const s=Array.isArray(t.series)?t.series.map(l=>re(l)&&dr(l)?Xs(l):l):re(t.series)&&dr(t.series)?Xs(t.series):t.series,i={...t,series:s};return Kr(i),i}function Kb(t,a){const s=Nt(t),i=Jn(s,"bar"),l=Math.max(1,a.measureLabels.length),p=i[0]||{type:"bar",coordinateSystem:"polar"};return s.series=Array.from({length:l},(g,S)=>{const F={...i[S]||p,type:"bar",coordinateSystem:"polar",name:a.measureLabels[S]||a.title,data:Na(a,S)};return delete F.encode,delete F.datasetIndex,F}),s.polar=Vb(s.polar),$b(s,a.labels),s.legend=zb(Da(s.legend,a.measureLabels)),yn(s,a.labels),s}function Qb(t,a,s){const i=Nt(t),l=Jn(i,a),p=Math.max(1,s.measureLabels.length),g=l[0]||{type:a};if(a==="bar"&&ur(l)){const S=Oc(s.points);let O=0;i.series=l.map(F=>{const W={...F,type:a};if(dr(F))Object.assign(W,Xs(F),{type:a,data:S.helper});else{const pe=O;O+=1,W.name=s.measureLabels[pe]||s.title,W.data=pe===0?S.values:Na(s,pe)}return delete W.encode,delete W.datasetIndex,W})}else i.series=Array.from({length:p},(S,O)=>{const W={...l[O]||g,type:a,name:s.measureLabels[O]||s.title,data:Na(s,O)};return delete W.encode,delete W.datasetIndex,W});return jr(i,s.labels),(i.legend!==void 0||p>1)&&(i.legend=Da(i.legend,s.measureLabels)),yn(i,s.labels),i}function Yb(t,a){const s=Nt(t),i=mn(s),l=a.measureLabels.length<=1?["bar","line"]:a.measureLabels.map((S,O)=>O===0?"bar":"line"),p=i[0]||{type:"bar"},g=l.map((S,O)=>{const F=i[O]||i.find(gt=>G(gt.type)===S)||p,W=Math.min(O,a.seriesValues.length-1),pe=a.measureLabels[W]||a.title,Ve={...F,type:S,name:S==="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,jr(s,a.labels),s.legend=Da(s.legend,g.map(S=>G(S.name)).filter(Boolean)),yn(s,a.labels),s}function Jb(t,a,s){const i=Nt(t),p=Jn(i,"pie")[0]||{type:"pie"},g=Xb(a),S={...p,type:"pie",name:a.title,data:g.map(W=>({name:W.label,value:W.value}))};s!=="donut"&&Array.isArray(S.radius)&&delete S.radius,s==="donut"&&S.radius===void 0&&(S.radius=["38%","68%"]),delete S.coordinateSystem,delete S.calendarIndex,delete S.left,delete S.right,delete S.top,delete S.bottom,delete S.width,delete S.height,p.coordinateSystem!==void 0&&delete S.center;const O=Hc(S)?qc(S):Wc(S,s);i.series=[O];const F=g.map(W=>W.label);return i.legend=Da(i.legend,F),i.legend=Uc(i.legend,F,lr(s)&&ro(F)),delete i.xAxis,delete i.yAxis,delete i.calendar,delete i.dataset,delete i.dataZoom,i}function Zb(t){return/^项\s+\d+$/u.test(t)}function Xb(t){const a=t.points.filter(s=>!Zb(s.label));return a.length>0?a:t.points}function Hc(t){const a=t.roseType;return G(t.type)==="pie"&&a!==void 0&&a!==!1&&String(a).trim().toLowerCase()!=="false"}function qc(t){const a=Array.isArray(t.data)?t.data:[],s=ek(a),i=a.length>=Ps;return{...t,radius:i?["18%","58%"]:s?["26%","58%"]:["16%","58%"],center:i?["50%","43%"]:["50%","48%"],avoidLabelOverlap:!0,minAngle:2,label:{...N(t.label),show:!i,position:"outside",overflow:"truncate",width:i?80:s?72:88},labelLine:{...N(t.labelLine),show:!i,smooth:!0,length:i?6:s?8:10,length2:i?4:s?6:8,maxSurfaceAngle:80},labelLayout:{...N(t.labelLayout),hideOverlap:!0},itemStyle:{...N(t.itemStyle),borderRadius:6,borderColor:"#fff",borderWidth:2}}}function Wc(t,a,s=!1){const i=Array.isArray(t.data)?t.data:[],l=s||i.length>=Ps,p=lr(a),g=a==="donut"||p,S=p?vc():{};return{...t,...S,...p&&l?{left:0,right:0,top:0,bottom:Vf}:{},radius:g?p?S.radius:l?["38%","62%"]:["36%","64%"]:l?"58%":t.radius,center:p?fb(t.center):l?["50%","44%"]:t.center??["50%","48%"],avoidLabelOverlap:!0,minAngle:2,label:{...N(t.label),show:!l,position:"outside",overflow:"truncate",width:l?80:88},labelLine:{...N(t.labelLine),show:!l,smooth:!0,length:l?6:8,length2:l?4:6,maxSurfaceAngle:80},labelLayout:{...N(t.labelLayout),hideOverlap:!0}}}function ek(t){const a=t.map(l=>re(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 Uc(t,a=[],s=!1){const i={...N(t)};return delete i.top,delete i.bottom,delete i.right,{...i,show:i.show!==!1,...a.length>0?{data:a}:{},...s?{formatter:tk}:{},type:"scroll",orient:"horizontal",left:"center",bottom:0,...s?{height:zf,width:"92%",itemGap:8}:{itemGap:12},textStyle:{...N(i.textStyle),...s?{width:88,overflow:"truncate"}:{}},pageButtonPosition:"end"}}function tk(t){return t.length>Ji?`${t.slice(0,Ji)}...`:t}function eo(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 nk(t,a){const s=[...Na(a,0)].sort((g,S)=>g-S);if(s.length<2)return null;const i=[[s[0],eo(s,.25),eo(s,.5),eo(s,.75),s[s.length-1]]],l=Nt(t),p=Jn(l,"boxplot");return l.series=[{...p[0]||{},type:"boxplot",name:a.title,data:i}],jr(l,[a.title]),yn(l),l}function ak(t,a){if(a.seriesValues.length<4)return null;const s=a.labels.map((p,g)=>a.seriesValues.slice(0,4).map(S=>S[g]??0)),i=Nt(t),l=Jn(i,"candlestick");return i.series=[{...l[0]||{},type:"candlestick",name:a.title,data:s}],jr(i,a.labels),yn(i),i}function rk(t,a){if(a.seriesValues.length<2)return null;const s=Nt(t);s.parallelAxis=a.measureLabels.map((l,p)=>({dim:p,name:l}));const i=Jn(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))}],yn(s),s}function sk(t,a){const s=Nt(t),i=Jn(s,"themeRiver");return s.series=[{...i[0]||{},type:"themeRiver",name:a.title,data:a.labels.flatMap((l,p)=>a.measureLabels.map((g,S)=>{var O;return[l,((O=a.seriesValues[S])==null?void 0:O[p])??0,g]}))}],s.legend=Da(s.legend,a.measureLabels),yn(s),s}function ok(t,a,s){const i=Jn(t,s),l=mn(a);return{...Nt(t),...a,series:l.map((p,g)=>({...i[g]||i[0]||{},...p}))}}function ik(t,a,s){const i=Js(t);if(!i||a==="waterfall"&&!$c(i))return null;if(a==="mixedBarLine")return Yb(s,i);const l=gn(a);if(l==="pie")return Jb(s,i,a);if(l==="bar"&&Mb(s))return Kb(s,i);if(["bar","line","scatter","pictorialBar"].includes(l))return Qb(s,l,i);if(l==="candlestick")return ak(s,i);if(l==="boxplot")return nk(s,i);if(l==="parallel")return rk(s,i);if(l==="themeRiver")return sk(s,i);const p=Mc(t,l,!1);return p?ok(s,p,l):null}function jc(t,a){const s=Tb(t);if(s){const l=ik(t,a,s);if(l&&fr(t,l))return Pa(l,a)}const i=Vc(t,a);return i&&fr(t,i)?i:null}function ck(t,a){return gn(a)==="pie"&&vt(t).length>0}function Kc(t,a=!1,s={}){const i=a?Yn(t):Ma(t);if(!i||i==="map"||!mt(t))return null;if(s.preferCurrentRows)return jc(t,i);const l=Xt(t),p=Gr(l);if(hn(p))return fr(t,p)?Pa(p,i):null;if(ck(t,i)){const S=jc(t,i);if(S)return S}const g=Hr(t,N(l.option));return hn(g)&&fr(t,g)?Pa(g,i):Vc(t,i)}function La(t,a){const s=ca(t);return a===t||!Fr(s)||!to(t,a)?a:{...a,queryResult:s}}function to(t,a){if(a!==t)return vt(t).length>0;if(no(a))return!1;const s=Xt(a);return s.shape==="protocolRender"&&!Us(s)&&vt(a).length>0}function no(t){return cb(t)&&Us(Xt(t))}function Qc(t,a=rt(t),s=!1){return Kc(La(t,a),s,{preferCurrentRows:to(t,a)})}function mr(t){return nc.value.get(m(t))??null}function Yc(t){const a={...t};return delete a.title,{...a,animation:!1,animationDuration:0,animationDurationUpdate:0}}function Jc(t){const a=mr(t);return a?by.value.get(m(t))??Yc(a):{}}function mn(t){return Array.isArray(t.series)?t.series.filter(re):re(t.series)?[t.series]:[]}function Zc(t){const a=mr(t);return a?lk(rt(t),a):!1}function lk(t,a){const s=[t.capabilityId,t.title,t.dataShape,G(t.protocolKind)].join(" ").toLowerCase();return/rose|rosetype|nightingale|南丁格尔|玫瑰/iu.test(s)?!0:mn(a).some(i=>{const l=G(i.type);return l==="pie"?dk(i):l==="radar"?Xc([i]).some(p=>p>4):!1})}function dk(t){if(t.roseType!==void 0&&G(t.roseType)!=="false")return!0;const a=Array.isArray(t.data)?t.data:[];return a.length>5?!0:a.some(s=>(re(s)?G(s.name):"").length>=7)}function uk(t){return(Array.isArray(t.radar)?t.radar:[t.radar]).flatMap(s=>{const i=N(s).indicator;return Array.isArray(i)?[i.length]:[]})}function Xc(t){return t.flatMap(a=>G(a.type)!=="radar"?[]:(Array.isArray(a.data)?a.data:[]).flatMap(i=>{const l=N(i).value;return Array.isArray(l)?[l.length]:[]}))}function mk(t,a){const s=uk(t).filter(l=>l>=Ls);if(s.length===0)return!1;const i=new Set(Xc(a).filter(l=>l>=Ls));return s.some(l=>i.has(l))}function el(t){return Array.isArray(t.color)?t.color.filter(a=>typeof a=="string"&&a.trim().length>0):[]}function ao(t){return Array.isArray(t.data)?t.data.map(tl).filter(Boolean):[]}function ro(t){return t.length>=Ps||t.some(a=>a.length>=$f)}function fk(t,a){const s=ao(t),i=ro(s);return Hc(t)?i?{...qc(t),center:["50%","43%"],label:{...N(t.label),show:!1,position:"outside",overflow:"truncate",width:80},labelLine:{...N(t.labelLine),show:!1,smooth:!0,length:6,length2:4,maxSurfaceAngle:80}}:{...t,labelLayout:{...N(t.labelLayout),hideOverlap:!0}}:i?Wc(t,a,!0):{...t,labelLayout:{...N(t.labelLayout),hideOverlap:!0}}}function pk(t,a){const s=mn(t);if(!s.some(F=>re(F)&&G(F.type)==="pie"))return t;const l=Array.from(new Set(s.flatMap(F=>G(F.type)==="pie"?ao(F):[]))),p=s.some(F=>G(F.type)==="pie"&&ro(ao(F))),g=el(t).length>0?el(t):ht,S=F=>!re(F)||G(F.type)!=="pie"||!Array.isArray(F.data)?F:{...fk(F,a),data:F.data.map((pe,Ve)=>{if(!re(pe))return pe;const gt=N(pe.itemStyle);return{...pe,itemStyle:{...gt,color:G(gt.color)||g[Ve%g.length]}}})},O=Array.isArray(t.series)?t.series.map(S):S(t.series);return{...t,color:g,...p?{legend:Uc(t.legend,l,lr(a))}:{},series:O}}function tl(t){return re(t)?G(t.name):""}function so(t){return Array.isArray(t.data)?t.data.map(tl).filter(Boolean):[]}function nl(t){return t.length>=Gf||t.some(a=>a.length>=Hf)}function al(t){const a=so(t),s=nl(a),i=N(t.label),l=N(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:{...N(t.labelLayout),hideOverlap:!0}}}function hk(t,a,s){const i={...N(t)};delete i.top,delete i.left,delete i.right;const l=N(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 gk(t){const s=mn(t).filter(g=>G(g.type)==="funnel");if(s.length===0)return t;const i=Array.from(new Set(s.flatMap(so))),l=s.some(g=>nl(so(g))),p=Array.isArray(t.series)?t.series.map(g=>re(g)&&G(g.type)==="funnel"?al(g):g):re(t.series)&&G(t.series.type)==="funnel"?al(t.series):t.series;return{...t,tooltip:re(t.tooltip)?t.tooltip:{trigger:"item"},legend:hk(t.legend,i,l),series:p}}function Pa(t,a){const s=gn(a);if(ur(mn(t)))return jb(t);if(s==="pie")return pk(t,a);if(s==="funnel")return gk(t);const i={...t};return Kr(i),i}function yk(t){return G(t.type)!=="custom"?!0:typeof t.renderItem=="function"}function fr(t,a){const s=Yn(t);if(!s||s==="map")return!1;const i=mn(a);if(i.length===0||!i.every(yk)||gn(s)==="radar"&&!mk(a,i)||lr(s)&&!i.some(bk)||s==="waterfall"&&!ur(i))return!1;const l=new Set(i.map(p=>G(p.type)||gn(s)));return pb(s).every(p=>l.has(p))}function bk(t){return G(t.type)!=="pie"?!1:typeof t.startAngle=="number"&&typeof t.endAngle=="number"&&Math.abs(t.endAngle-t.startAngle)<=180&&Array.isArray(t.radius)}function oo(t){return t.previewStatus==="blocked"||t.previewStatus==="empty"||t.previewStatus==="requires_execution"||t.nextAction==="execute_query"}function kk(t){const a=gn(Yn(t)||"");return a==="graph"||a==="sankey"}function rl(t){const a=vt(t),s=va(t),i=qr(a,s);return!!Pc(t,Wr(s,i))}function sl(t,a){if(oo(a))return!1;const s=La(t,a);if(!mt(s)||kk(a)&&!rl(s))return!1;const i=Kc(s,!0,{preferCurrentRows:to(t,a)});return!!(i&&fr(a,i))}function pr(t,a){return Ye(a)&&sl(t,a)}function _k(t,a){return pr(t,a)?oe.ready:Ia(a)}function ol(t,a){const s=pr(t,a),i=we(t)==="chart"&&Ye(a)?s||no(a)&&it(a):s||it(a),l=s?"":xa(a);return{canChoose:i,insertReadyChart:s,previewStatusLabel:s?oe.ready:Ia(a),diagnosticReason:Ck(l)?"":l}}function Ck(t){return/^已使用.+生成预览/u.test(t.trim())}function il(t){const a=rt(t);return ky.value.get(m(t))??ol(t,a)}function Ma(t){return Yn(t)}function Sk(t){return we(t)==="chart"&&!!mr(t)}function cl(t){const a=re(c.draft.queryResult)&&(Fr(c.draft.queryResult)||$r(c.draft.queryResult))?c.draft.queryResult:null,s=re(t.queryResult)?fc(t.queryResult,a):t.queryResult,i=re(s)?pc(s,a):s,l=re(i)?i:a,p=tn(t),g=N(p.data),S=N(p.meta),O=N(S.queryResult),F=N(g.dataBinding),W=N(t.dataBinding),pe=N(l==null?void 0:l.dataBinding),Ve=Object.keys(F).length>0?F:Object.keys(W).length>0?W:pe,gt=re(t.blockPlan)&&Object.keys(Ve).length>0?{...p,data:{...g,dataBinding:Ve},meta:{...S,queryResult:{...O,...l??{},dataBinding:Ve}}}:t.blockPlan;return{...t,...gt?{blockPlan:gt}:{},...ic(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 Ak(t,a){const s=tb(t);if(!s)return a;const i=re(a.blockPlan)?{...a.blockPlan,title:s}:a.blockPlan;return{...a,title:s,...i?{blockPlan:i}:{}}}function ll(t){const a=xt(t);return Hi({selectedItem:a,previewMode:qt(t),tableColumns:wn(a),rowCount:un(a)||void 0})}function wk(t){return _y.value.get(m(t))??ll(t)}r({recommendationConfigSummary:wk});function Tk(t,a,s=mr(t)){if(!pr(t,a))return a;const i=La(t,a),l=s??Qc(t,a,!0);if(!l)return a;const p=tn(i),g=N(p.renderer),S=N(p.data),{slices:O,innerRadius:F,protocolConfig:W,protocolData:pe,protocolType:Ve,rendererType:gt,optionPatch:Ut,...En}=S,la=N(p.meta),Mn=ca(i),Lt=N(Mn.dataBinding),lt=N(i.dataBinding),Vt=N(S.dataBinding),Pt=Object.keys(Vt).length>0?Vt:Object.keys(lt).length>0?lt:Lt,Oa=G(p.id)||`preview-${i.capabilityId.replace(/[^a-z0-9]+/giu,"-")}`,da=fe(t)||ke(t)||ke(i);return{...i,previewStatus:"ready",nextAction:"insert",diagnosticStatus:"ready",blockPlan:{...p,id:Oa,title:da,blockType:G(p.blockType)||"display",subType:G(p.subType)||"chart",renderer:{...g,engine:"echarts",rendererKey:"echartsProtocol"},data:{...En,shape:"echartsOption",option:Nt(l),renderContract:"materializedPreview",...Object.keys(Pt).length>0?{dataBinding:Pt}:{}},meta:{...la,capabilityId:i.capabilityId,rendererKey:"echartsProtocol",dataShape:"echartsOption",renderContract:"materializedPreview",registryTitle:i.title,...Object.keys(Mn).length>0?{queryResult:Mn}:{}}}}}function Ek(t){return il(t).canChoose}function xk(t){var i;const a=rt(t),s=La(t,a);return Yn(a)||((i=Ks(s))==null?void 0:i.type)||Ma(a)||void 0}function Bk(t){return rt(t).capabilityId}function Ik(t){const a=rt(t);if(!St(t,a))return;const s=ct(a,we(t));x.value={...x.value,[s]:"inserting"};const i=mr(t),l=Tk(t,a,i&&Jc(t));d("choose",cl(Ak(t,l)),{done:p=>{x.value=p?{...x.value,[s]:"success"}:Object.fromEntries(Object.entries(x.value).filter(([g])=>g!==s))}})}function Rk(t){t.item&&d("choose",cl(t.item))}return(t,a)=>{var s;return n.openBlock(),n.createElementBlock("section",Vm,[n.createElementVNode("header",zm,[n.createElementVNode("div",Gm,[a[0]||(a[0]=n.createElementVNode("span",null,"推荐卡片",-1)),rc.value?(n.openBlock(),n.createElementBlock("span",Hm,n.toDisplayString(rc.value),1)):n.createCommentVNode("",!0)])]),n.createElementVNode("p",qm,n.toDisplayString(c.draft.message),1),sc.value?(n.openBlock(),n.createElementBlock("p",Wm,n.toDisplayString(sc.value),1)):n.createCommentVNode("",!0),ac.value>0?(n.openBlock(),n.createElementBlock("div",Um,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Gt.value,i=>(n.openBlock(),n.createElementBlock("article",{key:m(i),class:n.normalizeClass(["card-recommendation__item card-recommendation__preview-card",{"card-recommendation__preview-card--inserting":It(i)==="inserting","card-recommendation__preview-card--inserted":It(i)==="success","card-recommendation__preview-card--switch-open":ft(i)}]),onFocusout:l=>Ea(i,l)},[n.createElementVNode("header",Km,[n.createElementVNode("div",Qm,[nb(i)?(n.openBlock(),n.createElementBlock("input",{key:0,class:"card-recommendation__title-input",value:D.value[m(i)],"aria-label":"编辑卡片标题",onInput:l=>rb(i,l),onBlur:l=>Ac(i),onKeydown:n.withKeys(n.withModifiers(l=>Ac(i),["prevent"]),["enter"])},null,40,Ym)):(n.openBlock(),n.createElementBlock("div",Jm,n.toDisplayString(Sc(i)),1)),n.createElementVNode("button",{type:"button",class:"card-recommendation__edit-title","aria-label":"编辑卡片标题",onClick:l=>ab(i)},[n.createVNode(n.unref(Ze.EditOutlined),{class:"card-recommendation__edit-icon","aria-hidden":"true"})],8,Zm)]),n.createElementVNode("div",Xm,[en(i)?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"card-recommendation__chart-switch","aria-label":"图表切换","aria-expanded":ft(i),onClick:l=>Un(i)},[a[1]||(a[1]=n.createElementVNode("span",{class:"card-recommendation__switch-icon","aria-hidden":"true"},null,-1)),n.createElementVNode("span",tf,n.toDisplayString(dt(i)),1),a[2]||(a[2]=n.createElementVNode("span",{class:"card-recommendation__switch-arrow","aria-hidden":"true"},null,-1))],8,ef)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:n.normalizeClass(["card-recommendation__choose card-recommendation__insert",{"card-recommendation__insert--loading":It(i)==="inserting"}]),disabled:!Ek(i)||!!It(i),onClick:l=>Ik(i)},[It(i)==="inserting"?(n.openBlock(),n.createElementBlock("span",af)):n.createCommentVNode("",!0),n.createTextVNode(" "+n.toDisplayString($t(i)),1)],10,nf)])]),ft(i)?(n.openBlock(),n.createElementBlock("div",rf,[n.createElementVNode("div",sf,[a[3]||(a[3]=n.createElementVNode("div",{class:"card-recommendation__switch-panel-title"},"图表切换",-1)),n.createElementVNode("div",of,"可选 "+n.toDisplayString(dt(i)),1)]),n.createElementVNode("div",cf,[(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":st(i,l),"card-recommendation__view-option--disabled":l.disabled,"card-recommendation__view-option--icon-loading":le(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=>Nn(i,l)},[vn(l)?(n.openBlock(),n.createElementBlock("img",{key:0,class:n.normalizeClass(["card-recommendation__view-option-image",{"card-recommendation__view-option-image--loading":!_n(l),"card-recommendation__view-option-image--loaded":_n(l)}]),src:l.iconPath,alt:"",loading:"lazy","aria-hidden":"true",onLoad:p=>Rn(l),onError:p=>kn(l)},null,42,df)):n.createCommentVNode("",!0),Z(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),le(l)?(n.openBlock(),n.createElementBlock("span",uf)):n.createCommentVNode("",!0),n.createElementVNode("span",mf,n.toDisplayString(l.label),1),l.item?(n.openBlock(),n.createElementBlock("span",ff,n.toDisplayString(l.statusLabel||_k(i,l.item)),1)):n.createCommentVNode("",!0)],10,lf))),128))]),Ke(i)>1?(n.openBlock(),n.createElementBlock("div",pf,[n.createElementVNode("button",{type:"button",class:"card-recommendation__switch-page",disabled:je(i)<=1,onPointerdown:l=>ae(i),onMousedown:l=>ae(i),onClick:l=>z(i,-1)}," 上一页 ",40,hf),n.createElementVNode("span",null,n.toDisplayString(je(i))+" / "+n.toDisplayString(Ke(i)),1),n.createElementVNode("button",{type:"button",class:"card-recommendation__switch-page",disabled:je(i)>=Ke(i),onPointerdown:l=>ae(i),onMousedown:l=>ae(i),onClick:l=>z(i,1)}," 下一页 ",40,gf)])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),Sk(i)?(n.openBlock(),n.createElementBlock("div",{key:1,class:"card-recommendation__chart-preview","data-chart-type":xk(i),"data-capability-id":Bk(i)},[n.createElementVNode("div",bf,[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,kf),n.createElementVNode("button",{type:"button",class:"card-recommendation__chart-zoom","data-testid":"card-recommendation-chart-zoom-reset","aria-label":"重置图表预览大小",title:"重置图表预览大小",onClick:l=>L(i)}," 1x ",8,_f),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,Cf)]),n.createVNode(Ii,{class:"card-recommendation__echarts-preview",option:Jc(i),height:he(i)},null,8,["option","height"])],8,yf)):(n.openBlock(),n.createElementBlock("div",Sf,[n.createElementVNode("table",null,[n.createElementVNode("thead",null,[n.createElementVNode("tr",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(_c(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(eb(i),(l,p)=>(n.openBlock(),n.createElementBlock("tr",{key:p},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(_c(i),g=>(n.openBlock(),n.createElementBlock("td",{key:g.key},n.toDisplayString(Yt(l[g.key])),1))),128))]))),128))])]),Cc(i)>0?(n.openBlock(),n.createElementBlock("div",Af,[n.createElementVNode("span",null,"共 "+n.toDisplayString(Cc(i))+" 条",1),zr(i)>1?(n.openBlock(),n.createElementBlock("span",wf,n.toDisplayString(Zy(i)),1)):n.createCommentVNode("",!0),n.createElementVNode("button",{type:"button",class:"card-recommendation__page-button card-recommendation__page-arrow",disabled:Qn(i)<=1,onClick:l=>Ws(i,Qn(i)-1)}," ‹ ",8,Tf),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Xy(i),l=>(n.openBlock(),n.createElementBlock("button",{key:l,type:"button",class:n.normalizeClass(["card-recommendation__page-button",{"card-recommendation__page-current":Qn(i)===l}]),onClick:p=>Ws(i,l)},n.toDisplayString(l),11,Ef))),128)),n.createElementVNode("button",{type:"button",class:"card-recommendation__page-button card-recommendation__page-arrow",disabled:Qn(i)>=zr(i),onClick:l=>Ws(i,Qn(i)+1)}," › ",8,xf)])):n.createCommentVNode("",!0)]))],42,jm))),128))])):(n.openBlock(),n.createElementBlock("div",Bf,[(s=c.draft.fallbackActions)!=null&&s.length?(n.openBlock(),n.createElementBlock("div",If,[(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=>Rk(i)},n.toDisplayString(i.label),9,Rf))),128))])):n.createCommentVNode("",!0)]))])}}}),[["__scopeId","data-v-abe448c1"]]),qf={key:1,class:"card-recommendation-deferred","aria-live":"polite"},Wf=["disabled"],Uf={key:0,class:"card-recommendation-deferred__spinner","aria-hidden":"true"},jf=on(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 T(){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,B=>{_(),d.value=!B,u.value=!1}),n.onBeforeUnmount(_),(B,U)=>d.value?(n.openBlock(),n.createBlock(Zi,{key:0,draft:e.draft,onChoose:U[0]||(U[0]=(D,I)=>c("choose",D,I)),onConfigure:U[1]||(U[1]=D=>c("configure",D))},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:T},[u.value?(n.openBlock(),n.createElementBlock("span",Uf)):n.createCommentVNode("",!0),n.createTextVNode(" "+n.toDisplayString(u.value?"加载中":"加载推荐卡片"),1)],8,Wf)]))}}),[["__scopeId","data-v-2342782b"]]),Ms="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==",Kf=new Set(["处理过程","执行过程","执行工具","确认业务口径","检索相关数据候选","核对业务证据","确认查询范围","检索语义资产","读取模型信息","准备执行查询","读取指标信息","检索知识库","准备推荐卡片","规划工作台任务","操作工作台卡片","执行 SQL 查询","读取文件"]);function Qf(e){const r=e.trim();return r?Kf.has(r):!0}const Yf={key:0,class:"collapsed-activity codex-turn-process"},Jf=["aria-expanded","aria-controls"],Zf={class:"collapsed-activity__label"},Xf=["id"],ep={key:0,class:"codex-process-item codex-process-item--commentary","data-testid":"process-preamble"},tp={class:"codex-process-item__preamble collapsed-activity__item"},np={class:"collapsed-activity__item-text"},ap=["aria-expanded","aria-controls","onClick"],rp={class:"codex-turn-process__group-summary"},sp=["id"],op=["aria-expanded","aria-controls","onClick"],ip={class:"collapsed-activity__invocation-title collapsed-activity__invocation-title-text"},cp={key:1,class:"codex-process-item__action-row a2 codex-process-item__action-row--static collapsed-activity__invocation-toggle","data-testid":"tool-action-row"},lp={class:"collapsed-activity__invocation-main codex-process-item__action-text"},dp={class:"collapsed-activity__invocation-title collapsed-activity__invocation-title-text"},up=["id"],mp={key:0,class:"codex-process-item__detail-block"},fp={key:1,class:"codex-process-item__detail-block"},pp={class:"is-error"},hp={key:2,class:"codex-process-item__detail-block"},gp={class:"collapsed-activity__error-text"},yp={key:0,class:"collapsed-activity__live-status","data-testid":"collapsed-activity-live-status",role:"status","aria-live":"polite"},bp=on(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),T=n.ref(!1),B=n.ref(!1),U=n.ref({}),D=n.ref({}),I=n.ref({});let x=null;const H=n.computed(()=>hu(r.messages)),q=n.computed(()=>r.turnActive),j=n.computed(()=>{var f;return((f=r.messages[0])==null?void 0:f.id)||""}),Ne=n.computed(()=>j.value?`collapsed-activity-panel-${ke(j.value)}`:""),oe=n.computed(()=>o.expanded&&Ne.value?Ne.value:void 0),ue=n.computed(()=>H.value.length>0||r.turnActive),ce=n.computed(()=>dt(H.value)),ge=n.computed(()=>ce.value.map(f=>{if(!f.commentary)return f;const b=I.value[f.commentary.id];return!b||b===f.commentary.text?f:{...f,commentary:{...f.commentary,text:b}}})),de=n.computed(()=>H.value[H.value.length-1]),te=n.computed(()=>{var f,b;return q.value?(b=(f=de.value)==null?void 0:f.processInvocations)!=null&&b.length?"处理中":"思考中":""}),Pe=n.computed(()=>{const f=ct();if(f.length===0)return"0s";const b=qt(f),E=we(f);return b!==null&&E!==null?qe(E-b):"0s"}),ne=n.computed(()=>{const f=q.value?"处理中":"已处理";return Pe.value?`${f} ${Pe.value}`:f});function fe(){r.messages.length>0&&d.value===null&&(d.value=Date.now())}function ke(f){return f.replace(/[^a-zA-Z0-9_-]/g,"-")}function it(){T.value=!1,B.value=!1,U.value={},D.value={},I.value={},d.value=null,u.value=null,y.value=null,_.value=null,c.value=Date.now(),q.value?(B.value=!0,o.expanded=!0,u.value=null,fe()):o.expanded=!1,St(ce.value)}function St(f){const b={...I.value};let E=!1;for(const J of f){const _e=J.commentary;!(_e!=null&&_e.text)||b[_e.id]||(b[_e.id]=_e.text,E=!0)}E&&(I.value=b)}n.watch(()=>r.messages,()=>{if(fe(),rt(r.messages),c.value=Date.now(),q.value){u.value=null;return}r.messages.length>0&&u.value===null&&(u.value=Date.now())},{deep:!0,immediate:!0}),n.watch(j,(f,b)=>{if(f===b)return;const E=q.value&&(d.value!==null||y.value!==null),J=d.value,_e=y.value,Re=_.value;it(),E&&(d.value=J??d.value,y.value=_e??y.value,_.value=Re??_.value)}),n.watch(ce,f=>{St(f)},{immediate:!0}),n.watch(q,f=>{if(f?(B.value=!0,T.value||(o.expanded=!0)):T.value||(o.expanded=!1),fe(),rt(r.messages),f){c.value=Date.now(),u.value=null,x||(x=setInterval(()=>{c.value=Date.now()},1e3));return}x&&(clearInterval(x),x=null),r.messages.length>0&&u.value===null&&(u.value=Date.now())},{immediate:!0}),n.watch(()=>r.messages.map(f=>f.id).join("|"),()=>{q.value||T.value||(o.expanded=B.value?!1:o.expanded)}),n.onBeforeUnmount(()=>{x&&(clearInterval(x),x=null)});function bt(){T.value=!0,o.expanded=!o.expanded}function qe(f){const b=Math.max(0,Math.floor(f/1e3)),E=Math.floor(b/60),J=b%60;return E>0?`${E}m ${J}s`:`${J}s`}function ct(){return H.value.length>0?H.value:r.messages}function Mt(f){return f.map(b=>b.startTime).filter(b=>typeof b=="number"&&Number.isFinite(b))}function xt(f){const b=Mt(f);return b.length>0?{source:"server",value:Math.min(...b)}:d.value===null?null:{source:"fallback",value:d.value}}function rt(f=r.messages){const b=xt(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 qt(f){var b;return y.value??((b=xt(f))==null?void 0:b.value)??null}function we(f){if(q.value)return c.value;const b=f.map(E=>E.endTime).filter(E=>typeof E=="number"&&Number.isFinite(E));return b.length>0?Math.max(...b):u.value}function dt(f){var Re;const b=[];let E=[],J=null;function _e(){J&&(b.push(J),J=null)}for(const nt of f){const Ot=Fe(nt);Ot&&(_e(),E.push({id:nt.id,text:Ot}));const mt=R(nt);if(mt.length===0)continue;const Xe=E.filter(Zt=>!Ie(Zt.text,mt));if(J&&Xe.length===0){J.items.push(...mt),E=[];continue}_e();const Bt=v(Xe);J={id:(Bt==null?void 0:Bt.id)??((Re=mt[0])==null?void 0:Re.id)??nt.id,...Bt?{commentary:Bt}:{},items:[...mt]},E=[]}_e();for(const nt of E)b.push({id:nt.id,commentary:nt,items:[]});return b}function Fe(f){var E;const b=f.content.trim();return!b||Qf(b)&&!ut(f,b)?"":f.processPreamble===!0?b:f.processPreamble===!1||(E=f.processInvocations)!=null&&E.length?"":b}function ut(f,b){var E;return b==="执行 SQL 查询"&&!((E=f.processInvocations)!=null&&E.length)}function Ie(f,b){const E=f.trim();return!E||b.length===0?!1:b.some(J=>{const _e=J.actionLabel.trim(),Re=_e.replace(/^正在执行\s+/u,"").replace(/^执行失败\s+/u,"").trim();return E===_e||E===Re})}function v(f){const[b]=f;if(b)return{...b,text:f.map(E=>E.text).filter(Boolean).join(`
|
|
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(`
|
|
22
22
|
|
|
23
|
-
`)}}function R(f){return(f.processInvocations??[]).map(b=>$(f,b))}function $(f,b){const E=w(b),J=E==="readFile"?Dt(b):void 0,_e=b.title||b.name||(b.kind==="skill"?"Skill":"执行工具"),Re=r.turnActive?b.status:V(b.status);return{actionLabel:ee({...b,status:Re},E,_e,J),displayKind:E,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 w(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 ee(f,b,E,J){return b==="readFile"?J?`Read ${J}`:E:f.status==="running"?`正在执行 ${E}`:f.status==="error"?`执行失败 ${E}`:E}function M(f){return f==="error"?"failed":f==="done"?"completed":"running"}function V(f){return f==="running"?"done":f}function K(f){const b=f.items.filter(J=>J.viewStatus==="failed");if(b.length>0)return`${b.length} 项失败:${ie(b)}`;const E=f.items.filter(J=>J.viewStatus==="running");return E.length>0?E.length===1?ie(E):`${E.length} 项执行中:${ie(E)}`:f.items.length===1?ie(f.items):`已完成 ${f.items.length} 项:${ie(f.items)}`}function ie(f){const b=f.slice(0,3).map(J=>J.actionLabel),E=f.length>b.length?` 等 ${f.length} 项`:"";return`${b.join("、")}${E}`}function xe(f){return f.items.length>0}function Ce(f){if(!xe(f))return!1;const b=U.value[f.id];return b!==void 0?b:Be()}function Be(){return!0}function Ae(f){U.value={...U.value,[f.id]:!Ce(f)}}function ot(f){return`collapsed-activity-tools-${ke(f.id)}`}function je(f){return Ce(f)?void 0:ot(f)}function Ke(f){return f.viewStatus==="failed"?"失败":f.viewStatus==="running"?"执行中":"已完成"}function pt(f){return`${f.parentMessageId}:${f.id}`}function C(f){return!!(f!=null&&f.trim())}function z(f){return f.viewStatus==="failed"&&C(f.error)?f.error:void 0}function ae(f){return z(f)?void 0:C(f.resultSummary)?f.resultSummary:void 0}function Y(f){return C(f.inputSummary)||!!z(f)||!!ae(f)}function ye(f){return D.value[pt(f)]??!0}function Te(f){const b=pt(f);D.value={...D.value,[b]:!ye(f)}}function Me(f){return`collapsed-activity-tool-${ke(pt(f))}`}function tt(f){return ye(f)?void 0:Me(f)}function Dt(f){const b=ht(f.inputSummary);return b||ht(f.resultSummary)}function ht(f){if(!f)return;const b=f.match(/(?:path|file|filePath|file_path)\s*[:=]\s*["']?([^"',\n}]+)/iu),E=((b==null?void 0:b[1])||"").trim();if(!E)return;const J=E.split(/[\\/]+/).filter(Boolean);return J[J.length-1]||E}return(f,b)=>ue.value?(n.openBlock(),n.createElementBlock("div",Yf,[n.createElementVNode("button",{type:"button",class:"collapsed-activity__summary codex-turn-process__toggle","aria-expanded":o.expanded,"aria-controls":oe.value,onClick:bt},[n.createElementVNode("span",Zf,n.toDisplayString(ne.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:Ms,alt:""},null,-1)])],2)],8,Jf),o.expanded?(n.openBlock(),n.createElementBlock("div",{key:0,id:Ne.value,class:"collapsed-activity__items codex-turn-process__body"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ge.value,E=>(n.openBlock(),n.createElementBlock("div",{key:E.id,class:"collapsed-activity__task"},[E.commentary?(n.openBlock(),n.createElementBlock("article",ep,[n.createElementVNode("div",tp,[n.createElementVNode("span",np,n.toDisplayString(E.commentary.text),1)])])):n.createCommentVNode("",!0),xe(E)?(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":!Ce(E),"aria-controls":je(E),onClick:J=>Ae(E)},[n.createElementVNode("span",rp,n.toDisplayString(K(E)),1),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-group-arrow",{"is-open":!Ce(E)}]),"aria-hidden":"true"},[...b[1]||(b[1]=[n.createElementVNode("img",{src:Ms,alt:""},null,-1)])],2)],8,ap)):n.createCommentVNode("",!0),E.items.length>0&&!Ce(E)?(n.openBlock(),n.createElementBlock("div",{key:2,id:ot(E),class:"collapsed-activity__invocations codex-turn-process__tools"},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(E.items,J=>(n.openBlock(),n.createElementBlock("article",{key:J.id,class:n.normalizeClass(["codex-process-item collapsed-activity__invocation",[`codex-process-item--${J.viewStatus}`,`is-${J.status}`]])},[Y(J)?(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":!ye(J),"aria-controls":tt(J),onClick:_e=>Te(J)},[n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-main codex-process-item__action-text",{"is-open":!ye(J)}])},[n.createElementVNode("span",ip,n.toDisplayString(J.titleLabel),1),n.createElementVNode("span",{class:n.normalizeClass(["codex-process-item__status-hint",`is-${J.viewStatus}`]),style:{"margin-left":"8px"}},n.toDisplayString(Ke(J)),3),b[2]||(b[2]=n.createElementVNode("img",{class:"tool-arrow-toggle",src:Ms,alt:""},null,-1))],2),n.createElementVNode("span",{class:n.normalizeClass(["collapsed-activity__invocation-arrow",{"is-open":!ye(J)}]),"aria-hidden":"true"},null,2)],8,op)):(n.openBlock(),n.createElementBlock("div",cp,[n.createElementVNode("span",lp,[n.createElementVNode("span",dp,n.toDisplayString(J.titleLabel),1)]),n.createElementVNode("span",{class:n.normalizeClass(["codex-process-item__status-hint",`is-${J.viewStatus}`])},n.toDisplayString(Ke(J)),3)])),Y(J)&&!ye(J)?(n.openBlock(),n.createElementBlock("div",{key:2,id:Me(J),class:"collapsed-activity__invocation-detail codex-process-item__details"},[C(J.inputSummary)?(n.openBlock(),n.createElementBlock("section",mp,[b[3]||(b[3]=n.createElementVNode("h4",null,"输入",-1)),n.createElementVNode("pre",null,n.toDisplayString(J.inputSummary),1)])):n.createCommentVNode("",!0),z(J)?(n.openBlock(),n.createElementBlock("section",fp,[b[4]||(b[4]=n.createElementVNode("h4",{class:"is-error"},"错误",-1)),n.createElementVNode("pre",pp,n.toDisplayString(z(J)),1)])):ae(J)?(n.openBlock(),n.createElementBlock("section",hp,[b[5]||(b[5]=n.createElementVNode("h4",null,"输出",-1)),n.createElementVNode("pre",null,n.toDisplayString(ae(J)),1)])):n.createCommentVNode("",!0)],8,up)):n.createCommentVNode("",!0)],2))),128))],8,sp)):n.createCommentVNode("",!0)]))),128)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(H.value.filter(E=>E.error),E=>(n.openBlock(),n.createElementBlock("div",{key:`error-${E.id}`,class:"collapsed-activity__error"},[n.createElementVNode("span",gp,n.toDisplayString(E.error),1)]))),128)),te.value?(n.openBlock(),n.createElementBlock("div",yp,n.toDisplayString(te.value),1)):n.createCommentVNode("",!0)],8,Xf)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-8ed6feac"]]),kp={class:"plan-draft"},_p={class:"plan-draft__blocks"},Cp={class:"plan-draft__block-title"},Sp={class:"plan-draft__block-meta"},Ap={key:0,class:"plan-draft__block-warn",title:"AI 不确定此识别结果"},wp={key:0,class:"plan-draft__auto-note"},Tp={key:1,class:"plan-draft__modify"},Ep={class:"plan-draft__modify-actions"},xp={key:2,class:"plan-draft__actions"},Bp=on(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 T(){d.value=!0,u.value=""}function B(){u.value.trim()&&(c("modify",o.draft.planId,u.value.trim()),d.value=!1)}function U(D){const I={"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 I[D]?I[D]:D.replace("card.","").replace("."," / ")}return(D,I)=>(n.openBlock(),n.createElementBlock("div",kp,[I[5]||(I[5]=n.createElementVNode("div",{class:"plan-draft__header"},"工作台方案确认",-1)),n.createElementVNode("div",_p,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.draft.blocks,x=>(n.openBlock(),n.createElementBlock("div",{key:x.blockId,class:"plan-draft__block"},[n.createElementVNode("span",Cp,n.toDisplayString(x.title),1),n.createElementVNode("span",Sp,n.toDisplayString(U(x.capabilityId))+" · "+n.toDisplayString(x.layout.w)+"×"+n.toDisplayString(x.layout.h),1),x.confidence<.7?(n.openBlock(),n.createElementBlock("span",Ap,"?")):n.createCommentVNode("",!0)]))),128))]),o.autoInsert?(n.openBlock(),n.createElementBlock("div",wp," 识别完成后将自动应用到画布 ")):n.createCommentVNode("",!0),!o.autoInsert&&d.value?(n.openBlock(),n.createElementBlock("div",Tp,[n.withDirectives(n.createElementVNode("textarea",{"onUpdate:modelValue":I[0]||(I[0]=x=>u.value=x),class:"plan-draft__modify-input",rows:"2",placeholder:'请输入修改意见,如"把折线图换成面积图"'},null,512),[[n.vModelText,u.value]]),n.createElementVNode("div",Ep,[n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--primary",onClick:B}," 提交修改 "),n.createElementVNode("button",{type:"button",class:"plan-draft__btn",onClick:I[1]||(I[1]=x=>d.value=!1)},"取消")])])):o.autoInsert?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("div",xp,[n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--primary",onClick:y},[n.createVNode(n.unref(Ze.CheckOutlined)),I[2]||(I[2]=n.createTextVNode(" 插入工作区 ",-1))]),n.createElementVNode("button",{type:"button",class:"plan-draft__btn",onClick:T},[n.createVNode(n.unref(Ze.EditOutlined)),I[3]||(I[3]=n.createTextVNode(" 修改 ",-1))]),n.createElementVNode("button",{type:"button",class:"plan-draft__btn plan-draft__btn--danger",onClick:_},[n.createVNode(n.unref(Ze.CloseOutlined)),I[4]||(I[4]=n.createTextVNode(" 取消 ",-1))])]))]))}}),[["__scopeId","data-v-dcacd78e"]]),Ip={key:0,class:"chat-msg__error"},Rp={class:"chat-msg__error-text"},vp=["innerHTML"],Dp={key:0,class:"chat-msg__query-result-header"},Np={key:0,class:"chat-msg__query-result-title"},Lp={key:1,class:"chat-msg__query-result-count"},Pp={class:"chat-msg__query-result-scroll"},Mp={key:3,class:"chat-msg__follow-up-actions"},Op=["disabled","onClick"],Fp={key:5,class:"chat-msg__cards"},$p={key:6,class:"chat-msg__task-choice"},Vp={class:"chat-msg__task-choice-title"},zp={class:"chat-msg__task-choice-actions"},Gp=["data-choice-index","disabled","onClick"],Hp={class:"chat-msg__task-choice-index"},qp={class:"chat-msg__task-choice-label"},Wp=["disabled"],Up={key:7,class:"chat-msg__plan-draft"},jp={key:8,class:"chat-msg__card-recommendation"},Kp={key:9,class:"chat-msg__task-panel"},Qp={class:"chat-msg__task-header"},Yp={class:"chat-msg__task-heading"},Jp={class:"chat-msg__task-kicker"},Zp={class:"chat-msg__task-title"},Xp={key:0,class:"chat-msg__task-section"},eh={class:"chat-msg__task-fields"},th={class:"chat-msg__task-field-label"},nh={class:"chat-msg__task-field-value"},ah={key:1,class:"chat-msg__task-section"},rh={class:"chat-msg__task-missing-list"},sh={key:2,class:"chat-msg__task-alert chat-msg__task-alert--error"},oh={key:3,class:"chat-msg__task-alert chat-msg__task-alert--summary"},ih={key:4,class:"chat-msg__task-actions"},ch=["disabled"],lh=["disabled"],dh={key:10,class:"chat-msg__memory-capture"},uh={class:"chat-msg__memory-title"},mh={class:"chat-msg__memory-content"},fh={class:"chat-msg__memory-actions"},ph=["disabled"],hh={key:11,class:"chat-msg__detail"},gh={class:"detail-header"},yh={class:"detail-content__inner"},bh=80,Xi=on(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({}),_=[],T=[{label:"下载",type:"download"}],B=[{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)}],U=[...B,{type:"pdf",matcher:C=>typeof C!="string"?C.type==="application/pdf":/\.pdf(?:[?#].*)?$/i.test(C)||/^data:application\/pdf[;,]/i.test(C)}],D=n.computed(()=>c.message.attachments||[]),I=n.computed(()=>D.value.map((C,z)=>{const ae=C.type==="image"?"image":v(C.mimeType,C.name,C.url),Y={id:`${c.message.id}-${z}-${C.name}`,name:C.name,url:C.url||C.name,fileType:ae,status:"success"};return C.rawFile?{...Y,rawFile:C.rawFile}:{...Y,size:C.size||1}})),x=n.computed(()=>c.message.role==="assistant"?"card":D.value.every(C=>C.type==="image")?"picture":"card"),H=n.computed(()=>{var C;return(((C=c.message.cards)==null?void 0:C.length)||0)>1}),q=n.computed(()=>sd(c.message)),j=n.computed(()=>(c.message.cards||[]).map(C=>Q(C))),Ne=n.computed(()=>c.message.queryResultTable),oe=n.computed(()=>{const C=Array.isArray(c.message.queryResultTables)?c.message.queryResultTables:[];return(C.length>0?C:Ne.value?[Ne.value]:[]).filter(ae=>!ae.renderedInMarkdown)}),ue=n.computed(()=>!!(c.message.role==="assistant"&&!c.message.loading&&!c.message.cardRecommendationDraft&&oe.value.some(C=>C.columns.length>0&&C.rows.length>0)));function ce(C){const z=C.returnedCount??C.rows.length,ae=C.totalCount;return typeof ae=="number"&&ae>z?`已返回 ${z} / ${ae} 条`:`共 ${z} 条`}const ge=n.computed(()=>{var C;return((C=c.message.taskStateDraft)==null?void 0:C.fields.filter(z=>!!z.displayValue))||[]}),de=n.computed(()=>{var C,z;return((z=(C=c.message.taskStateDraft)==null?void 0:C.confirmationOptions)==null?void 0:z.filter(ae=>Number.isFinite(ae.index)))||[]}),te=n.computed(()=>{var z,ae;const C=(ae=(z=c.message.taskStateDraft)==null?void 0:z.title)==null?void 0:ae.trim();return C&&!/^确认/u.test(C)?C:"候选项"}),Pe=n.computed(()=>c.message.role==="assistant"&&!c.message.loading?qt(c.message.content):[]),ne=n.computed(()=>{const C=c.message.taskStateDraft;return!!(C!=null&&C.canConfirm&&de.value.length>0)}),fe=n.computed(()=>ne.value?void 0:c.message.taskStateDraft),ke=n.computed(()=>{const C=c.message.taskStateDraft;return!!(C!=null&&C.canConfirm&&C.confirmPhrase&&de.value.length===0)}),it=n.computed(()=>ne.value),St=n.computed(()=>c.message.thinkingProcessMessages||[]),bt=n.computed(()=>{const C=c.message.taskStateDraft;return!!(C!=null&&C.canConfirm&&C.cancelPhrase)}),qe=n.computed(()=>c.message.memoryCaptureDraft?y.value[c.message.id]||c.message.memoryCaptureDraft.status:void 0),ct=n.computed(()=>c.message.memoryCaptureDraft?qe.value==="candidate_created"?"已保存候选":qe.value==="saving"?"保存中":c.message.memoryCaptureDraft.confirmLabel:"");n.watch(()=>c.message.loading,C=>{u.collapsed=!C},{immediate:!0});function Mt(){u.collapsed=!u.collapsed}function xt(){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 qt(C){const z=[],ae=Te=>{const Me=Te.trim().replace(/[。;;,,]\s*$/u,"");!Me||Me.length>80||z.includes(Me)||z.push(Me)};let Y=0;for(;z.length<3;){const Te=C.indexOf("继续说",Y);if(Te<0)break;const Me=C.slice(Te+3).search(/[「“"]/u);if(Me<0)break;const tt=Te+3+Me,Dt=C[tt],ht=Dt==="「"?"」":Dt==="“"?"”":Dt,f=C.indexOf(ht,tt+1);if(f<0)break;ae(C.slice(tt+1,f)),Y=f+1}const ye=C.match(/(?:你可以继续这样问|可以继续问|还可以继续问|后续可以):?\s*\n([\s\S]*)/u);if(ye&&z.length<3)for(const Te of ye[1].split(`
|
|
24
|
-
`)){const Me=Te.match(/^\s*[-*]\s+(.+?)\s*$/u);if(!Me){if(z.length>0)break;continue}if(ae(Me[1]),z.length>=3)break}return z}function we(C){!C.trim()||c.taskStateActionsDisabled||d("sendFollowUp",C)}function dt(){const C=c.message.taskStateDraft;c.taskStateActionsDisabled||!(C!=null&&C.canConfirm)||!C.confirmPhrase||!C.cancelPhrase||d("confirmTaskState",C.turnId,C.taskId,C.confirmPhrase)}function Fe(C){const z=c.message.taskStateDraft;c.taskStateActionsDisabled||z!=null&&z.canConfirm&&d("confirmTaskState",z.turnId,z.taskId,String(C))}function ut(){const C=c.message.taskStateDraft;c.taskStateActionsDisabled||!(C!=null&&C.canConfirm)||!C.confirmPhrase||!C.cancelPhrase||d("cancelTaskState",C.turnId,C.taskId,C.cancelPhrase)}function Ie(C){y.value={...y.value,[c.message.id]:C}}r({setMemoryCaptureStatus:Ie});function v(C,z,ae){return C.includes("pdf")||/\.pdf(?:[?#].*)?$/i.test(z)||/^data:application\/pdf[;,]/i.test(ae||"")?"pdf":(C.includes("markdown")||/\.md(?:[?#].*)?$/i.test(z),"other")}function R(C,z){if(!z.url)return;C.preventDefault();const ae=document.createElement("a");ae.href=z.url,ae.download=z.name||"download",ae.rel="noopener noreferrer",document.body.appendChild(ae),ae.click(),document.body.removeChild(ae)}function $(C){return/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(C.replace(/\s+/g,""))}function w(){const C=c.messages.findIndex(ae=>ae.id===c.message.id),z=C>=0?c.messages.slice(0,C):c.messages;for(const ae of[...z].reverse()){if(ae.role!=="user")continue;const Y=ae.content.trim();if(Y&&!$(Y))return Y}return""}function Q(C){var ye,Te,Me,tt;const z=(Te=(ye=C.meta)==null?void 0:ye.prompt)==null?void 0:Te.trim();if(z&&!$(z))return C;const ae=(tt=(Me=C.dataBinding)==null?void 0:Me.question)==null?void 0:tt.trim(),Y=ae&&!$(ae)?ae:w();return Y?{...C,dataBinding:{...C.dataBinding,question:Y},meta:{...C.meta,prompt:Y}}:C}function ee(C,z){const ae=C[z];if(ae==null)return"";if(typeof ae=="string")return ae;if(typeof ae=="number"||typeof ae=="boolean"||typeof ae=="bigint")return String(ae);try{return JSON.stringify(ae)}catch{return String(ae)}}function M(C,z,ae){var Te;const Y=(Te=C.columns[0])==null?void 0:Te.key,ye=Y?ee(z,Y):"";return`${ae}-${ye}`}const V=new co.Marked({gfm:!0,breaks:!0}),K=n.ref("");let ie=null;const xe=[/No available provider for this query/giu];function Ce(C){const z=xe.reduce((ae,Y)=>ae.replace(Y,""),C);return Eo.sanitize(V.parse(Fu(z)))}function Be(){ie&&(clearTimeout(ie),ie=null)}function Ae(){Be(),K.value=c.message.content?Ce(c.message.content):""}function ot(){ie||(ie=setTimeout(()=>{ie=null,K.value=c.message.content?Ce(c.message.content):""},bh))}const je=n.ref(!1);let Ke=null;function pt(){Ke&&(clearTimeout(Ke),Ke=null)}return n.watch(()=>[c.message.content,c.message.loading,c.message.streaming],(C,z)=>{if(c.message.role==="status")return;if(c.message.streaming){!K.value&&c.message.content&&(K.value=Ce(c.message.content)),ot();return}Ae(),(z==null?void 0:z[2])&&!c.message.streaming&&c.message.content&&n.nextTick(()=>{je.value=!0,pt(),Ke=setTimeout(()=>{je.value=!1,Ke=null},1200)})},{immediate:!0}),n.onBeforeUnmount(()=>{Be(),pt()}),(C,z)=>{var ae;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",Ip,[z[6]||(z[6]=n.createElementVNode("div",{class:"chat-msg__error-title"},"请求失败",-1)),n.createElementVNode("div",Rp,n.toDisplayString(e.message.error),1)])):n.createCommentVNode("",!0),e.message.role==="assistant"&&St.value.length>0?(n.openBlock(),n.createBlock(bp,{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&&K.value?(n.openBlock(),n.createElementBlock("div",{key:2,class:n.normalizeClass(["chat-msg__text",{"chat-msg__text--reveal":je.value}]),innerHTML:K.value},null,10,vp)):n.createCommentVNode("",!0),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ue.value?oe.value:[],(Y,ye)=>(n.openBlock(),n.createElementBlock("section",{key:`${e.message.id}-query-result-table-${ye}`,class:"chat-msg__query-result-table"},[Y.title||ce(Y)?(n.openBlock(),n.createElementBlock("header",Dp,[Y.title?(n.openBlock(),n.createElementBlock("div",Np,n.toDisplayString(Y.title),1)):n.createCommentVNode("",!0),ce(Y)?(n.openBlock(),n.createElementBlock("div",Lp,n.toDisplayString(ce(Y)),1)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),n.createElementVNode("div",Pp,[n.createElementVNode("table",null,[n.createElementVNode("thead",null,[n.createElementVNode("tr",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Y.columns,Te=>(n.openBlock(),n.createElementBlock("th",{key:Te.key},n.toDisplayString(Te.label),1))),128))])]),n.createElementVNode("tbody",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Y.rows,(Te,Me)=>(n.openBlock(),n.createElementBlock("tr",{key:M(Y,Te,Me)},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Y.columns,tt=>(n.openBlock(),n.createElementBlock("td",{key:tt.key},n.toDisplayString(ee(Te,tt.key)),1))),128))]))),128))])])])]))),128)),Pe.value.length>0?(n.openBlock(),n.createElementBlock("div",Mp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Pe.value,Y=>(n.openBlock(),n.createElementBlock("button",{key:Y,type:"button",class:"chat-msg__follow-up-action",disabled:e.taskStateActionsDisabled,onClick:ye=>we(Y)},n.toDisplayString(Y),9,Op))),128))])):n.createCommentVNode("",!0),!e.message.loading&&I.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(Yr.TrAttachments),{items:I.value,actions:e.message.role==="assistant"?T:_,"file-matchers":e.message.role==="assistant"?U:B,variant:x.value,disabled:"",wrap:"",onDownload:R},null,8,["items","actions","file-matchers","variant"])],2)):n.createCommentVNode("",!0),q.value?(n.openBlock(),n.createElementBlock("div",Fp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(j.value,Y=>(n.openBlock(),n.createBlock(Ri,{key:Y.id,card:Y,"show-insert-action":H.value,onInsertCard:ye=>d("insertCard",ye)},null,8,["card","show-insert-action","onInsertCard"]))),128))])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&ne.value?(n.openBlock(),n.createElementBlock("div",$p,[n.createElementVNode("div",Vp,n.toDisplayString(te.value),1),n.createElementVNode("div",zp,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(de.value,Y=>(n.openBlock(),n.createElementBlock("button",{key:Y.index,type:"button",class:"chat-msg__task-choice-action","data-choice-index":Y.index,disabled:e.taskStateActionsDisabled,onClick:ye=>Fe(Y.index)},[n.createElementVNode("span",Hp,n.toDisplayString(Y.index),1),n.createElementVNode("span",qp,n.toDisplayString(Y.label),1)],8,Gp))),128)),bt.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__task-choice-cancel",disabled:e.taskStateActionsDisabled,onClick:ut},n.toDisplayString((ae=e.message.taskStateDraft)==null?void 0:ae.cancelPhrase),9,Wp)):n.createCommentVNode("",!0)])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.planDraft?(n.openBlock(),n.createElementBlock("div",Up,[n.createVNode(Bp,{draft:e.message.planDraft,"auto-insert":e.autoInsertComposePlan,onConfirm:z[0]||(z[0]=Y=>d("confirmPlan",Y)),onCancel:z[1]||(z[1]=Y=>d("cancelPlan")),onModify:z[2]||(z[2]=(Y,ye)=>d("modifyPlan",Y,ye)),onAutoInsertChange:z[3]||(z[3]=Y=>d("autoInsertComposePlanChange",Y))},null,8,["draft","auto-insert"])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.cardRecommendationDraft&&!q.value?(n.openBlock(),n.createElementBlock("div",jp,[n.createVNode(jf,{draft:e.message.cardRecommendationDraft,defer:e.message.deferCardRecommendationRender,onChoose:z[4]||(z[4]=(Y,ye)=>d("chooseCardRecommendation",Y,ye)),onConfigure:z[5]||(z[5]=Y=>d("configureCardRecommendation",Y))},null,8,["draft","defer"])])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&fe.value?(n.openBlock(),n.createElementBlock("section",Kp,[n.createElementVNode("header",Qp,[n.createElementVNode("div",Yp,[n.createElementVNode("div",Jp,n.toDisplayString(fe.value.taskKindLabel),1),n.createElementVNode("div",Zp,n.toDisplayString(fe.value.title),1)]),it.value?(n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(["chat-msg__task-status",`chat-msg__task-status--${fe.value.statusTone}`])},n.toDisplayString(fe.value.statusLabel),3)):n.createCommentVNode("",!0)]),ge.value.length>0?(n.openBlock(),n.createElementBlock("div",Xp,[z[7]||(z[7]=n.createElementVNode("div",{class:"chat-msg__task-section-title"},"已收集字段",-1)),n.createElementVNode("dl",eh,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(ge.value,Y=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:Y.code},[n.createElementVNode("dt",th,n.toDisplayString(Y.name),1),n.createElementVNode("dd",nh,n.toDisplayString(Y.displayValue),1)],64))),128))])])):n.createCommentVNode("",!0),fe.value.missingFields.length>0?(n.openBlock(),n.createElementBlock("div",ah,[z[8]||(z[8]=n.createElementVNode("div",{class:"chat-msg__task-section-title"},"待补充字段",-1)),n.createElementVNode("div",rh,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(fe.value.missingFields,Y=>(n.openBlock(),n.createElementBlock("span",{key:Y.code,class:"chat-msg__task-missing"},n.toDisplayString(Y.name),1))),128))])])):n.createCommentVNode("",!0),fe.value.lastErrorMessage?(n.openBlock(),n.createElementBlock("div",sh,n.toDisplayString(fe.value.lastErrorMessage),1)):n.createCommentVNode("",!0),fe.value.resultSummary?(n.openBlock(),n.createElementBlock("div",oh,n.toDisplayString(fe.value.resultSummary),1)):n.createCommentVNode("",!0),bt.value?(n.openBlock(),n.createElementBlock("div",ih,[n.createElementVNode("button",{type:"button",class:"chat-msg__task-action chat-msg__task-action--cancel",disabled:e.taskStateActionsDisabled,onClick:ut},n.toDisplayString(fe.value.cancelPhrase),9,ch),ke.value?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__task-action chat-msg__task-action--confirm",disabled:e.taskStateActionsDisabled,onClick:dt},n.toDisplayString(fe.value.confirmPhrase),9,lh)):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0)])):n.createCommentVNode("",!0),e.message.role==="assistant"&&!e.message.loading&&e.message.memoryCaptureDraft&&qe.value!=="dismissed"?(n.openBlock(),n.createElementBlock("div",dh,[n.createElementVNode("div",uh,n.toDisplayString(e.message.memoryCaptureDraft.title),1),n.createElementVNode("div",mh,n.toDisplayString(e.message.memoryCaptureDraft.content),1),n.createElementVNode("div",fh,[qe.value==="draft"?(n.openBlock(),n.createElementBlock("button",{key:0,type:"button",class:"chat-msg__memory-action chat-msg__memory-action--secondary",onClick:xt},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:qe.value!=="draft",onClick:rt},n.toDisplayString(ct.value),9,ph)])])):n.createCommentVNode("",!0),e.message.role==="status"&&e.message.detail?(n.openBlock(),n.createElementBlock("div",hh,[n.createElementVNode("div",gh,[n.createElementVNode("span",{class:"detail-toggle",onClick:Mt},[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",yh,n.toDisplayString(e.message.detail),1)],2)])):n.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-e06e0d6e"]]),kh={key:2,class:"chat-message-list__events-pending","data-testid":"events-pending-thinking",role:"status","aria-live":"polite"},_h=on(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 T=null;const B=n.computed(()=>new Set(c.hiddenStatusMessageIds)),U=n.computed(()=>pi(c.messages,{hiddenStatusMessageIds:B.value})),D=n.computed(()=>c.messages.map(de=>[de.id,de.role,de.loading?"loading":"idle",de.streaming?de.content.length:""].join(":")).join("|")),I=n.computed(()=>{var te;const de=U.value.find(H);return((te=de==null?void 0:de.messages[0])==null?void 0:te.id)||""});function x(de){var te;switch(de.type){case"user":case"assistant":case"thinking":return`${de.type}-${de.message.id}`;case"tool-activity":return`tool-${((te=de.messages[0])==null?void 0:te.id)??"empty"}`}}function H(de){var te;return de.type==="tool-activity"&&de.messages.length===1&&!!((te=de.messages[0])!=null&&te.initialEventsPending)}function q(){T&&(clearInterval(T),T=null),_.value=0,T=setInterval(()=>{_.value+=1},1e3)}function j(){T&&(clearInterval(T),T=null),_.value=0}function Ne(){d("scrollPositionChange",!!(u.value&&u.value.scrollTop>0))}function oe(){Ne()}function ue(){const de=u.value;de&&(de.scrollTop=de.scrollHeight),Ne()}function ce(de,te){if(te&&typeof te=="object"){y.set(de,te);return}y.delete(de)}function ge(de,te){var Pe,ne;(ne=(Pe=y.get(de))==null?void 0:Pe.setMemoryCaptureStatus)==null||ne.call(Pe,te)}return r({setMemoryCaptureStatus:ge}),n.watch(D,()=>{n.nextTick(ue)}),n.watch(I,de=>{if(de){q();return}j()},{immediate:!0}),n.onMounted(ue),n.onBeforeUnmount(j),(de,te)=>(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,Pe=>(n.openBlock(),n.createElementBlock(n.Fragment,{key:x(Pe)},[Pe.type==="user"?(n.openBlock(),n.createBlock(Xi,{key:0,ref_for:!0,ref:ne=>ce(Pe.message.id,ne),message:Pe.message,messages:e.messages,"auto-insert-compose-plan":e.autoInsertComposePlan,"task-state-actions-disabled":e.taskStateActionsDisabled,onInsertCard:te[0]||(te[0]=ne=>d("insertCard",ne)),onChooseCardRecommendation:te[1]||(te[1]=(ne,fe)=>d("chooseCardRecommendation",ne,fe)),onConfigureCardRecommendation:te[2]||(te[2]=ne=>d("configureCardRecommendation",ne)),onConfirmPlan:te[3]||(te[3]=ne=>d("confirmPlan",ne)),onCancelPlan:te[4]||(te[4]=ne=>d("cancelPlan")),onConfirmTaskState:te[5]||(te[5]=(ne,fe,ke)=>d("confirmTaskState",ne,fe,ke)),onCancelTaskState:te[6]||(te[6]=(ne,fe,ke)=>d("cancelTaskState",ne,fe,ke)),onMemoryCaptureDismiss:te[7]||(te[7]=(ne,fe)=>d("memoryCaptureDismiss",ne,fe)),onMemoryCaptureSave:te[8]||(te[8]=(ne,fe)=>d("memoryCaptureSave",ne,fe)),onModifyPlan:te[9]||(te[9]=(ne,fe)=>d("modifyPlan",ne,fe)),onSendFollowUp:te[10]||(te[10]=ne=>d("sendFollowUp",ne)),onAutoInsertComposePlanChange:te[11]||(te[11]=ne=>d("autoInsertComposePlanChange",ne))},null,8,["message","messages","auto-insert-compose-plan","task-state-actions-disabled"])):Pe.type==="assistant"?(n.openBlock(),n.createBlock(Xi,{key:1,ref_for:!0,ref:ne=>ce(Pe.message.id,ne),message:Pe.message,messages:e.messages,"task-state-actions-disabled":e.taskStateActionsDisabled,onInsertCard:te[12]||(te[12]=ne=>d("insertCard",ne)),onChooseCardRecommendation:te[13]||(te[13]=(ne,fe)=>d("chooseCardRecommendation",ne,fe)),onConfigureCardRecommendation:te[14]||(te[14]=ne=>d("configureCardRecommendation",ne)),onConfirmPlan:te[15]||(te[15]=ne=>d("confirmPlan",ne)),onCancelPlan:te[16]||(te[16]=ne=>d("cancelPlan")),onConfirmTaskState:te[17]||(te[17]=(ne,fe,ke)=>d("confirmTaskState",ne,fe,ke)),onCancelTaskState:te[18]||(te[18]=(ne,fe,ke)=>d("cancelTaskState",ne,fe,ke)),onMemoryCaptureDismiss:te[19]||(te[19]=(ne,fe)=>d("memoryCaptureDismiss",ne,fe)),onMemoryCaptureSave:te[20]||(te[20]=(ne,fe)=>d("memoryCaptureSave",ne,fe)),onModifyPlan:te[21]||(te[21]=(ne,fe)=>d("modifyPlan",ne,fe)),onSendFollowUp:te[22]||(te[22]=ne=>d("sendFollowUp",ne)),onAutoInsertComposePlanChange:te[23]||(te[23]=ne=>d("autoInsertComposePlanChange",ne))},null,8,["message","messages","task-state-actions-disabled"])):H(Pe)?(n.openBlock(),n.createElementBlock("div",kh," 思考中 "+n.toDisplayString(_.value)+"s ",1)):n.createCommentVNode("",!0)],64))),128))],544))}}),[["__scopeId","data-v-8ff74045"]]),Ch={class:"chat-sender"},Sh=["placeholder","disabled","onKeydown"],Ah={key:0,class:"chat-sender__attachments"},wh={key:1,class:"chat-sender__image-error"},Th={key:2,class:"chat-sender__attachment-preparing"},Eh=["accept"],xh={class:"chat-sender__toolbar"},Bh={class:"chat-sender__right"},Ih={class:"chat-sender__utilities"},Rh=["disabled","aria-expanded"],vh=["aria-label"],Dh={class:"chat-sender__utilities chat-sender__utilities--right"},Nh=["disabled"],Lh=["onKeydown"],Ph={class:"chat-sender__business-list"},Mh={key:0,class:"chat-sender__business-state"},Oh={key:1,class:"chat-sender__business-state chat-sender__business-state--error"},Fh=["aria-selected","aria-label","onClick"],$h={class:"chat-sender__business-copy"},Vh=["aria-label","onMouseenter","onFocus"],zh={class:"chat-sender__business-name"},Gh=["aria-label","onMouseenter","onFocus"],Hh={class:"chat-sender__business-desc"},qh={key:3,class:"chat-sender__business-state"},Nr=74,ec=100,Wh=360,Ta=20,tc=360,Os=16,Fs=6,Uh=10*1024*1024,jh=on(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),T=n.ref(!1),B=n.ref(""),U=n.ref(null),D=n.ref(null),I=n.ref(null),x=n.ref({}),H=n.ref(null),q=n.ref(null),j=n.ref([]),Ne=n.ref(null),oe=n.ref(null),ue=n.ref(!1),ce=n.ref(0),ge=n.computed(()=>ce.value>0),de=n.ref(0),te=new Set;let Pe=0;const ne=["image/png","image/jpeg","image/webp"],fe=[],ke=[{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 it(){const f=q.value;if(!f)return;if(!u.value){f.style.height=`${Nr}px`,f.style.overflowY="hidden";return}f.style.height=`${Nr}px`,f.style.overflowY="hidden";const b=f.getBoundingClientRect(),E=b.bottom>ec?Math.max(Nr,b.bottom-ec):f.scrollHeight,J=Math.max(Nr,Math.min(f.scrollHeight,E));f.style.height=`${J}px`,f.style.overflowY=f.scrollHeight>J?"auto":"hidden"}function St(f){u.value=f,n.nextTick(()=>{var b;it(),(b=q.value)==null||b.setSelectionRange(u.value.length,u.value.length)})}const bt=n.computed(()=>j.value.map(f=>{const{file:b}=f,E=f.type==="image";return{id:f.id,name:b.name,url:f.previewUrl||b.name,fileType:E?"image":"file",rawFile:b,status:"success"}})),qe=n.computed(()=>{var f;return j.value.length===1&&((f=j.value[0])==null?void 0:f.type)==="image"?"picture":"card"}),ct=n.computed(()=>{const f=B.value.trim().toLowerCase();return f?c.businessGroups.filter(b=>[b.businessGroupName,b.businessGroupCode,b.businessGroupDescription].some(E=>E==null?void 0:E.toLowerCase().includes(f))):c.businessGroups});function Mt(f){return f.businessGroupDescription||f.groupType||f.businessGroupCode}function xt(f){const b=Mt(f);return b&&b!==f.businessGroupName?`${f.businessGroupName}
|
|
25
|
-
${b}`:f.businessGroupName}function rt(){const f=oe.value;f&&(f.value="",f.click())}function qt(){T.value=!0,d("businessGroupOpen"),n.nextTick(()=>{var f;R(),(f=I.value)==null||f.focus()})}function we(){T.value=!1,B.value="",w()}function dt(f){d("businessGroupSelect",f),we()}function Fe(){d("businessGroupClear"),we()}function ut(f){var E,J;const b=f.relatedTarget;b instanceof Node&&((E=U.value)!=null&&E.contains(b))||b instanceof Node&&((J=D.value)!=null&&J.contains(b))||we()}function Ie(f){var E,J;if(!T.value)return;const b=f.target;b instanceof Node&&((E=U.value)!=null&&E.contains(b))||b instanceof Node&&((J=D.value)!=null&&J.contains(b))||we()}function v(){we()}function R(){const f=U.value;if(!f||typeof window>"u"){x.value={};return}const b=window.innerWidth||document.documentElement.clientWidth,E=window.innerHeight||document.documentElement.clientHeight,J=Math.max(0,b-Ta*2),_e=Math.min(Wh,J),Re=f.getBoundingClientRect(),nt=Math.max(Ta,b-Ta-_e),Ot=Math.min(Math.max(Ta,Re.left),nt),mt=Math.max(160,Re.top-Ta*2),Xe=Math.min(420,mt),Bt=Math.max(Ta,E-Re.top+8);x.value={position:"fixed",left:`${Math.round(Ot)}px`,width:`${Math.round(_e)}px`,maxHeight:`${Math.round(Xe)}px`,bottom:`${Math.round(Bt)}px`}}function $(f,b){const E=f.currentTarget;if(!(E instanceof HTMLElement)||!b)return;const J=E.firstElementChild instanceof HTMLElement?E.firstElementChild:E;if(J.scrollWidth<=J.clientWidth){w();return}const _e=E.getBoundingClientRect(),Re=typeof window>"u"?tc:window.innerWidth||document.documentElement.clientWidth,nt=Math.min(tc,Math.max(160,Re-Os*2)),Ot=_e.left+_e.width/2,mt=nt/2,Xe=Os+mt,Bt=Math.max(Xe,Re-Os-mt),Zt=Math.min(Math.max(Xe,Ot),Bt),et=_e.top>Fs+36;H.value={text:b,style:{left:`${Math.round(Zt)}px`,top:`${Math.round(et?_e.top-Fs:_e.bottom+Fs)}px`,transform:et?"translate(-50%, -100%)":"translateX(-50%)",maxWidth:`${Math.round(nt)}px`}}}function w(){H.value=null}function Q(f){return ne.includes(f.type)}function ee(){return Pe+=1,`pending-attachment-${Pe}`}function M(f){const b=URL.createObjectURL(f);return te.add(b),b}function V(f){f!=null&&f.startsWith("blob:")&&(URL.revokeObjectURL(f),te.delete(f))}function K(f,b){j.value=[...j.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:ee()}]}function ie(f){return new Promise(b=>{const E=new FileReader;E.onload=()=>{const J=E.result;j.value=[...j.value,{base64:J.split(",")[1],file:f,fileName:f.name,mimeType:f.type,previewUrl:M(f),size:f.size,type:"image",id:ee()}],b()},E.onerror=()=>{Ne.value=`无法读取图片:${f.name}`,b()},E.onabort=()=>{Ne.value=`已取消读取图片:${f.name}`,b()},E.readAsDataURL(f)})}async function xe(f){if(f.length!==0){Ne.value=null,ce.value+=1;try{for(const b of f){if(!Q(b)){K(b,b.type.startsWith("image/")?"image":"file");continue}if(c.routeImagesAsAttachments){K(b,"image");continue}if(b.size>Uh){Ne.value=`图片不能超过 10MB:${b.name}`;continue}await ie(b)}}finally{ce.value=Math.max(0,ce.value-1)}}}function Ce(f){const b=f.target;xe(Array.from(b.files??[]))}function Be(f){const b=f.target;xe(Array.from(b.files??[]))}function Ae(f){var _e,Re;const E=Array.from(((_e=f.clipboardData)==null?void 0:_e.items)??[]).find(nt=>nt.kind==="file"&&nt.type.startsWith("image/")),J=(E==null?void 0:E.getAsFile())??Array.from(((Re=f.clipboardData)==null?void 0:Re.files)??[]).find(nt=>nt.type.startsWith("image/"));J&&(f.preventDefault(),xe([J]))}function ot(f){const b=j.value.find(E=>E.id===f.id);b&&(V(b.previewUrl),j.value=j.value.filter(E=>E.id!==b.id),Ne.value=null)}function je(){j.value.forEach(f=>{V(f.previewUrl)}),j.value=[],te.forEach(f=>URL.revokeObjectURL(f)),te.clear()}function Ke(f){var b;return Array.from(((b=f.dataTransfer)==null?void 0:b.types)??[]).includes("Files")}function pt(f){Ke(f)&&(f.preventDefault(),de.value+=1,ue.value=!0)}function C(f){Ke(f)&&f.preventDefault()}function z(f){Ke(f)&&(de.value=Math.max(0,de.value-1),de.value===0&&(ue.value=!1))}function ae(f){var b;Ke(f)&&(f.preventDefault(),de.value=0,ue.value=!1,xe(Array.from(((b=f.dataTransfer)==null?void 0:b.files)??[])))}function Y(){if(ge.value)return;if(Ne.value=null,j.value.length>0){const b=u.value.trim();d("attachments",{attachments:j.value.map(({id:E,...J})=>J),text:b}),j.value=[],u.value="",n.nextTick(it);return}const f=u.value.trim();f&&(y.value=[...y.value,f],_.value=null,d("submit",f),u.value="",n.nextTick(it))}function ye(f){u.value=f,n.nextTick(it)}function Te(){var f;(f=q.value)==null||f.focus()}function Me(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 tt(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 Dt(f){f.isComposing||(f.preventDefault(),Y())}r({focusComposer:Te,handleAttachmentSelected:Ce,handleImageSelected:Be,setText:ye}),n.watch(u,(f,b)=>{_.value!==null&&f!==y.value[_.value]&&f!==b&&(_.value=null),n.nextTick(it)}),n.watch(T,f=>{f?n.nextTick(R):w()});function ht(){it(),T.value&&R(),w()}return typeof window<"u"&&(window.addEventListener("resize",ht),document.addEventListener("pointerdown",Ie,!0),n.onBeforeUnmount(()=>{window.removeEventListener("resize",ht),document.removeEventListener("pointerdown",Ie,!0)})),n.onBeforeUnmount(()=>{de.value=0,ue.value=!1,je()}),(f,b)=>(n.openBlock(),n.createElementBlock("div",Ch,[n.createElementVNode("div",{class:n.normalizeClass(["chat-sender__surface",{"chat-sender__surface--dragging":ue.value}]),onDragenter:pt,onDragover:C,onDragleave:z,onDrop:ae},[n.withDirectives(n.createElementVNode("textarea",{ref_key:"textareaRef",ref:q,"onUpdate:modelValue":b[0]||(b[0]=E=>u.value=E),class:"chat-sender__input",rows:"2",placeholder:e.placeholder,disabled:e.loading,onKeydown:[n.withKeys(n.withModifiers(Dt,["exact"]),["enter"]),n.withKeys(Me,["up"]),n.withKeys(tt,["down"])],onPaste:Ae},null,40,Sh),[[n.vModelText,u.value]]),bt.value.length?(n.openBlock(),n.createElementBlock("div",Ah,[n.createVNode(n.unref(Yr.TrAttachments),{items:bt.value,actions:fe,"file-matchers":ke,variant:qe.value,wrap:"",onRemove:ot},null,8,["items","variant"]),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(j.value.filter(E=>E.type==="file"),E=>(n.openBlock(),n.createElementBlock("div",{key:E.id,class:"chat-sender__attachment-name"},n.toDisplayString(E.file.name),1))),128))])):n.createCommentVNode("",!0),Ne.value?(n.openBlock(),n.createElementBlock("div",wh,n.toDisplayString(Ne.value),1)):n.createCommentVNode("",!0),ge.value?(n.openBlock(),n.createElementBlock("div",Th,"正在准备图片附件…")):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:Ce},null,544),n.createElementVNode("input",{class:"chat-sender__image-input",type:"file",accept:ne.join(","),multiple:"","aria-hidden":"true",tabindex:"-1",onChange:Be},null,40,Eh),n.createElementVNode("div",xh,[n.createElementVNode("div",Bh,[n.createElementVNode("div",Ih,[n.createElementVNode("button",{type:"button",class:"chat-sender__icon-btn",title:"上传附件","aria-label":"上传附件","data-testid":"chat-attachment-trigger",onClick:rt},[n.createVNode(n.unref(Ze.PlusOutlined))]),n.createElementVNode("div",{ref_key:"businessGroupRef",ref:U,class:"chat-sender__business-group",onFocusout:ut},[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":T.value,onClick:qt},[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]=E=>$(E,e.selectedBusinessGroup.businessGroupName)),onMouseleave:w},n.toDisplayString(e.selectedBusinessGroup.businessGroupName),33),n.createElementVNode("button",{type:"button",class:"chat-sender__business-clear",title:"清除业务分组","aria-label":"清除业务分组",onClick:n.withModifiers(Fe,["stop"])},[n.createVNode(n.unref(Ze.CloseOutlined))])],8,vh)):n.createCommentVNode("",!0)],10,Rh)],544)]),n.createElementVNode("div",Dh,[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]=E=>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()&&j.value.length===0||e.loading||ge.value,onClick:Y},[n.createVNode(n.unref(Ze.SendOutlined))],8,Nh))])])])],34),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[T.value?(n.openBlock(),n.createElementBlock("div",{key:0,ref_key:"businessGroupPopoverRef",ref:D,class:"chat-sender__business-popover",style:n.normalizeStyle(x.value),role:"listbox","aria-label":"业务分组",onKeydown:n.withKeys(n.withModifiers(v,["stop","prevent"]),["escape"])},[n.withDirectives(n.createElementVNode("input",{ref_key:"businessGroupSearchRef",ref:I,"onUpdate:modelValue":b[3]||(b[3]=E=>B.value=E),class:"chat-sender__business-search",placeholder:"搜索业务分组"},null,512),[[n.vModelText,B.value]]),n.createElementVNode("div",Ph,[e.businessGroupLoading?(n.openBlock(),n.createElementBlock("div",Mh,[n.createVNode(n.unref(Ze.LoadingOutlined)),b[6]||(b[6]=n.createElementVNode("span",null,"加载中",-1))])):e.businessGroupError?(n.openBlock(),n.createElementBlock("div",Oh,n.toDisplayString(e.businessGroupError),1)):(n.openBlock(!0),n.createElementBlock(n.Fragment,{key:2},n.renderList(ct.value,E=>{var J,_e;return n.openBlock(),n.createElementBlock("button",{key:E.businessGroupCode,type:"button",class:n.normalizeClass(["chat-sender__business-option",{"chat-sender__business-option--active":E.businessGroupCode===((J=e.selectedBusinessGroup)==null?void 0:J.businessGroupCode)}]),role:"option","aria-selected":E.businessGroupCode===((_e=e.selectedBusinessGroup)==null?void 0:_e.businessGroupCode),"aria-label":xt(E),onClick:Re=>dt(E)},[b[7]||(b[7]=n.createElementVNode("span",{class:"chat-sender__business-radio","aria-hidden":"true"},null,-1)),n.createElementVNode("span",$h,[n.createElementVNode("span",{class:"chat-sender__business-name-trigger",tabindex:"0","aria-label":E.businessGroupName,onMouseenter:Re=>$(Re,E.businessGroupName),onMouseleave:w,onFocus:Re=>$(Re,E.businessGroupName),onBlur:w},[n.createElementVNode("span",zh,n.toDisplayString(E.businessGroupName),1)],40,Vh),n.createElementVNode("span",{class:"chat-sender__business-desc-trigger",tabindex:"0","aria-label":Mt(E),onMouseenter:Re=>$(Re,Mt(E)),onMouseleave:w,onFocus:Re=>$(Re,Mt(E)),onBlur:w},[n.createElementVNode("span",Hh,n.toDisplayString(Mt(E)),1)],40,Gh)])],10,Fh)}),128)),!e.businessGroupLoading&&ct.value.length===0?(n.openBlock(),n.createElementBlock("div",qh," 暂无匹配分组 ")):n.createCommentVNode("",!0)])],44,Lh)):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[H.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"chat-sender__business-floating-tooltip",style:n.normalizeStyle(H.value.style),role:"tooltip"},n.toDisplayString(H.value.text),5)):n.createCommentVNode("",!0)]))]))}}),[["__scopeId","data-v-f87694d2"]]),Kh=["title","disabled"],Qh={class:"ring",viewBox:"0 0 36 36"},Yh=["stroke-dashoffset"],Jh=on(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(),T=o.usage.contextWindow.toLocaleString();return o.loading?"正在压缩上下文":o.disabled?"当前对话处理中,完成后可压缩上下文":`上下文占用约 ${o.usage.percent}%(估算 ${_} / ${T} tokens),点击压缩当前对话`}),u=2*Math.PI*14,y=n.computed(()=>u*(1-o.usage.percent/100));return(_,T)=>(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:T[0]||(T[0]=B=>c("compact"))},[(n.openBlock(),n.createElementBlock("svg",Qh,[T[1]||(T[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,Yh)]))],10,Kh))}}),[["__scopeId","data-v-580a86d9"]]),Zh=["aria-expanded"],Xh={class:"task-todo-plan__summary-text"},eg={key:0,class:"task-todo-plan__current"},tg={key:0,class:"task-todo-plan__body","data-testid":"task-todo-plan-body"},ng={class:"task-todo-plan__step-main"},ag={class:"task-todo-plan__step-title"},rg={key:0,class:"task-todo-plan__step-detail"},sg={key:1,class:"task-todo-plan__step-error"},og=on(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}),T=n.computed(()=>{var oe;return((oe=r.plan)==null?void 0:oe.steps.find(ue=>ue.status==="error"))??null}),B=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),ge=ue%60;return ce>0?`${ce}m ${ge}s`:`${ge}s`}function D(){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 I=n.computed(()=>{var ue;const oe=D();return oe===null?"":(ue=r.plan)!=null&&ue.active?`已处理 ${U(oe)}`:`用时 ${U(oe)}`}),x=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=T.value)==null?void 0:ue.title)||"执行步骤";return`执行失败 · ${_.value}/${y.value} · 失败于:${ce}`}if(r.plan.active){const ce=I.value?` · ${I.value}`:"";return`执行进度 · ${_.value}/${y.value}${ce}`}const oe=I.value?` · ${I.value}`:"";return`已完成 ${_.value}/${y.value}${oe}`}),H=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 q(oe){return oe.status==="error"?Ze.CloseCircleOutlined:oe.status==="running"?Ze.LoadingOutlined:oe.status==="pending"?Ze.ClockCircleOutlined:Ze.CheckCircleOutlined}function j(){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 Ne(){c.value=!0,o.value=!o.value}return n.watch(()=>{var oe;return(oe=r.plan)==null?void 0:oe.id},()=>{c.value=!1,j()},{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),j()},{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:Ne},[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(H.value),{class:"task-todo-plan__summary-icon","aria-hidden":"true"})),n.createElementVNode("span",Xh,n.toDisplayString(x.value),1),B.value&&e.plan.active?(n.openBlock(),n.createElementBlock("span",eg,n.toDisplayString(B.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,Zh),o.value?(n.openBlock(),n.createElementBlock("div",tg,[(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(q(ce)),{class:"task-todo-plan__step-icon","aria-hidden":"true"})),n.createElementVNode("div",ng,[n.createElementVNode("div",ag,n.toDisplayString(ce.title),1),ce.detail?(n.openBlock(),n.createElementBlock("div",rg,n.toDisplayString(ce.detail),1)):n.createCommentVNode("",!0),ce.error?(n.openBlock(),n.createElementBlock("div",sg,n.toDisplayString(ce.error),1)):n.createCommentVNode("",!0)])],2))),128))])):n.createCommentVNode("",!0)],2)):n.createCommentVNode("",!0)}}),[["__scopeId","data-v-2e609adf"]]),ig={class:"runtime-chat"},cg={class:"runtime-chat__main"},lg={key:0,class:"runtime-chat__topbar-leading"},dg={class:"runtime-chat__topbar-actions"},ug=["disabled"],mg={class:"runtime-chat__body"},fg={key:1,class:"chat-switching-skeleton",role:"status","aria-live":"polite"},pg=["innerHTML"],hg={key:3,class:"chat-panel chat-history-panel","aria-label":"历史对话"},gg={key:0,class:"chat-panel__header-extra"},yg={class:"chat-history-panel__body"},bg={key:0,class:"chat-history-panel__loading","data-testid":"chat-history-loading"},kg={key:1,class:"chat-history-group"},_g=["data-testid"],Cg=["data-testid","onClick"],Sg={class:"chat-history-item__content"},Ag=["data-testid"],wg={class:"chat-history-item__title"},Tg=["data-testid"],Eg=["title","data-testid"],xg={class:"chat-history-item__actions"},Bg=["aria-expanded","data-testid","onClick"],Ig=["data-testid","onClick"],Rg=["data-testid","onClick"],vg={key:2,class:"chat-history-group"},Dg=["data-testid"],Ng=["data-testid","onClick"],Lg={class:"chat-history-item__content"},Pg=["data-testid"],Mg={class:"chat-history-item__title"},Og=["data-testid"],Fg=["title","data-testid"],$g={class:"chat-history-item__actions"},Vg=["aria-expanded","data-testid","onClick"],zg=["data-testid","onClick"],Gg=["data-testid","onClick"],Hg={key:3,class:"chat-history-panel__empty"},qg={key:4,class:"chat-panel chat-settings-panel","aria-label":"工作台设置"},Wg={key:0,class:"chat-panel__header-extra"},Ug={class:"chat-settings-panel__actions"},jg=["disabled"],Kg={key:0,class:"chat-settings-panel__persona","data-testid":"chat-settings-persona"},Qg={class:"chat-settings-panel__persona-options",role:"tablist","aria-label":"人格设定"},Yg=["aria-selected","onClick"],Jg={class:"chat-settings-panel__body"},Zg={key:1,class:"runtime-chat__composer"},Xg={class:"rename-modal"},ey={class:"rename-modal__actions"},ty={class:"delete-modal",role:"dialog","aria-modal":"true","aria-labelledby":"delete-conversation-title"},ny={class:"delete-modal__desc"},ay={class:"delete-modal__actions"},ry=["disabled"],sy=["disabled"],oy={class:"clear-modal",role:"dialog","aria-modal":"true","aria-labelledby":"clear-conversations-title"},iy={class:"clear-modal__desc"},cy={class:"clear-modal__actions"},ly=["disabled"],dy=["disabled"],uy=16,$s=on(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},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 wt;const c=e,d=o,u=au(),y=((wt=n.getCurrentInstance())==null?void 0:wt.vnode.props)??{},_=n.useSlots(),T=n.computed(()=>!!_["topbar-leading"]),B=n.computed(()=>!!_["utility-header-extra"]),U=Object.prototype.hasOwnProperty.call(y,"enableChartCards")||Object.prototype.hasOwnProperty.call(y,"enable-chart-cards"),D=ui({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:U?c.enableChartCards:(u==null?void 0:u.enableChartCards)??!1,transport:c.transport,workspaceId:()=>c.workspaceId,userId:()=>c.userId}),I=D.messages,x=D.isLoading,H=D.isLoadingConversations,q=D.isSwitchingConversation,j=n.ref(null),Ne=n.ref(null),oe=n.ref(""),ue=n.computed(()=>D.conversations.value.map(m=>({id:m.id,title:m.title,createdAt:m.createdAt,updatedAt:m.updatedAt}))),ce=n.computed(()=>D.currentConversationId.value||""),ge=n.ref("chat"),de=n.ref(!1),te=n.ref(null),Pe=n.ref(!1),ne=n.computed(()=>c.canvasConfigActive||de.value),fe=n.computed(()=>Ee(I.value)),ke=n.computed(()=>!c.showTaskTodoPlan||ge.value!=="chat"?null:Iu(fe.value)),it=n.computed(()=>{var m;return((m=ke.value)==null?void 0:m.claimedStatusMessageIds)??[]}),St=[{id:"warm",label:"热情"},{id:"professional",label:"专业"},{id:"reserved",label:"内敛"}],bt=new WeakMap;function qe(m){Pe.value=!!(m&&m.scrollTop>0)}function ct(m){qe(m.currentTarget)}function Mt(m){Pe.value=m}function xt(){if(ge.value!=="chat"){Pe.value=!1;return}fe.value.length===0&&qe(te.value)}n.watch([ge,()=>fe.value.length],()=>n.nextTick(xt));const rt=new co.Marked({gfm:!0,breaks:!0}),qt=n.computed(()=>we(c.welcomeText));function we(m){return m.trim()?Eo.sanitize(rt.parse(m)):""}function dt(m,h,A,se,De,Je={}){return{id:m,entryId:m,label:h,source:A,actionPayload:{action:De,capabilityId:se,quickEntryId:m,source:A,...Je}}}({...dt("workbench.quick.ask_data","问数分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"问数分析"})},{...dt("workbench.quick.store_sales","门店销售分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"门店销售分析"})}),{...dt("workbench.quick.business_analysis","经营分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"经营分析"})},{...dt("workbench.quick.channel_sales","渠道销售分析","welcome_recommendation","semantic_sql.query","semantic_sql_query",{queryIntent:"渠道销售分析"})},dt("workbench.quick.metric_catalog","查看可见指标","welcome_suggested_prompt","runtime_metric.query","list_catalog"),dt("workbench.quick.create_user","创建用户信息","welcome_suggested_prompt","data_action.execute","execute_data_action",{dataActionIntent:{operation:"create",displayName:"用户信息"}}),dt("workbench.quick.insert_radar","插入雷达图","welcome_suggested_prompt","workbench_card.compose","compose_workbench_card",{cardIntent:{kind:"radar"}}),dt("workbench.quick.sales_order_top5","销售订单里金额最高的 5 单是哪几单?","welcome_suggested_prompt","semantic_sql.query","semantic_sql_query",{queryIntent:"销售订单里金额最高的 5 单是哪几单?"}),n.watch(x,(m,h)=>{m||!h||n.nextTick(()=>{var A;(A=j.value)==null||A.focusComposer()})});const Fe=n.ref(!1),ut=n.ref(""),Ie=n.ref(""),v=n.ref(""),R=n.ref(!1),$=n.ref(!1),w=n.ref(0),Q=n.ref(!1),ee=n.ref(!1),M=n.ref(""),V=n.computed(()=>{const m=D.conversations.value.find(h=>h.id===M.value);return(m==null?void 0:m.title)||""}),K=n.computed(()=>V.value?`确认删除会话“${V.value}”?`:"确认删除这个会话?"),ie=n.computed(()=>R.value?w.value:D.conversations.value.length),xe=n.computed(()=>{const m=new Date;return ue.value.filter(h=>{if(!h.updatedAt)return!0;const A=new Date(h.updatedAt);return A.getFullYear()===m.getFullYear()&&A.getMonth()===m.getMonth()&&A.getDate()===m.getDate()})}),Ce=n.computed(()=>{const m=new Date;return ue.value.filter(h=>{if(!h.updatedAt)return!1;const A=new Date(h.updatedAt);return!(A.getFullYear()===m.getFullYear()&&A.getMonth()===m.getMonth()&&A.getDate()===m.getDate())})});function Be(m){if(!m)return"";const h=new Date(m);if(!Number.isFinite(h.getTime()))return"";const A=new Date,se=Ke(h);if(ot(h,A))return se;const De=`${je(h.getMonth()+1)}-${je(h.getDate())}`;return h.getFullYear()===A.getFullYear()?`${De} ${se}`:`${h.getFullYear()}-${De} ${se}`}function Ae(m){if(!m)return"";const h=new Date(m);return Number.isFinite(h.getTime())?[`${h.getFullYear()}-${je(h.getMonth()+1)}-${je(h.getDate())}`,Ke(h)].join(" "):""}function ot(m,h){return m.getFullYear()===h.getFullYear()&&m.getMonth()===h.getMonth()&&m.getDate()===h.getDate()}function je(m){return String(m).padStart(2,"0")}function Ke(m){return`${je(m.getHours())}:${je(m.getMinutes())}`}function pt(){D.createConversation(),d("new-conversation"),ge.value="chat"}async function C(){await D.createConversation(),d("new-conversation")}async function z(m){v.value="",await D.switchConversation(m),ge.value="chat"}async function ae(m){Y(m)}function Y(m){const h=D.conversations.value.find(A=>A.id===m);h&&(v.value="",M.value=h.id,Q.value=!0)}function ye(){ee.value||(Q.value=!1,M.value="")}async function Te(){if(!(ee.value||!M.value)){ee.value=!0;try{await D.deleteConversation(M.value),Q.value=!1,M.value=""}finally{ee.value=!1}}}function Me(m){const h=D.conversations.value.find(A=>A.id===m);h&&(v.value="",Ie.value=h.id,ut.value=h.title,Fe.value=!0)}function tt(m){v.value=v.value===m?"":m}function Dt(m){return m.length>uy}function ht(m){ge.value=m,D.loadConversations()}function f(){ge.value="chat"}function b(){f()}function E(){ht("history")}function J(){ge.value="settings"}function _e(){J()}function Re(){ge.value="settings",d("settings-open")}function nt(){ge.value="chat",d("settings-close")}function Ot(){de.value||(de.value=!0,d("settings-save",m=>{de.value=!1,m&&ua.message.success("工作台设置已保存")}))}function mt(){const m=ut.value.trim();m&&Ie.value&&D.renameConversation(Ie.value,m),Fe.value=!1}function Xe(){w.value=D.conversations.value.length,R.value=!0}function Bt(){$.value||(R.value=!1)}async function Zt(){if(!$.value){$.value=!0,R.value=!1;try{await D.clearConversations()}finally{$.value=!1,w.value=0}}}function et(m){Wt(m)}async function Wt(m){const h=m.trim();h&&(ge.value="chat",await D.sendMessage(h))}function aa(m){return/^(取消|算了|不用了|停止|放弃)$/u.test(m.trim())}function dn(m){const h=m.trim().replace(/\s+/gu,"");if(!/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(h))return;const A=Number(h.replace(/\D/gu,""));return Number.isFinite(A)?A:void 0}function kn(m,h){if(!m||!h.trim())return;const A=aa(h),se=dn(h);D.messages.value=D.messages.value.map(De=>{var Tt;const Je=De.taskStateDraft;if(!Je||Je.taskId!==m||!Je.canConfirm)return De;const $e=se!==void 0?(Tt=Je.confirmationOptions)==null?void 0:Tt.find(Rt=>Rt.index===se):void 0;return{...De,taskStateDraft:{...Je,title:`${Je.title}已确认`,status:A?"cancelled":"confirmed",statusLabel:"已确认",statusTone:A?"neutral":"success",canConfirm:!1,confirmPhrase:void 0,cancelPhrase:void 0,resultSummary:A?"已取消本次问数确认。":$e?`已选择口径 ${$e.index}:${$e.label}`:"已确认,正在继续执行问数。"}}})}function Rn(m,h,A){kn(h,A),d("confirm-task-state",{turnId:m,taskId:h,phrase:A})}function vn(m,h,A){kn(h,A),d("cancel-task-state",{turnId:m,taskId:h,phrase:A})}function _n(m,h){d("choose-card-recommendation",m,h)}function Z(m){d("configure-card-recommendation",m)}function le(m){return/(不要|别|无需|不用|先不).{0,8}(插入|插卡|添加|加到|放到)/.test(m)}function Oe(m){const h=m.trim();return!h||le(h)?!1:/(插入|插卡|添加|加到|放到).{0,12}(左侧|工作台|画布|页面|卡片)/.test(h)||/(左侧|工作台|画布|页面).{0,12}(插入|插卡|添加|加上|放上)/.test(h)}function ve(m){const h=m.trim();return!h||le(h)||!/(用|按|改成|改为|换成|调整为|调整成|设为|设置为|变成|方式|占比|比例|分布|展示|显示|呈现)/.test(h)?null:/(环形图|环图)/.test(h)?"donut":/饼图|饼状图|圆饼图/.test(h)?"pie":/折线图|折状图/.test(h)?"line":/面积图/.test(h)?"area":/柱状图|柱形图/.test(h)?"bar":/漏斗图/.test(h)?"funnel":null}function Ge(m,h){const A=m.replace(/\s+/g,""),se=h.find(De=>A.includes(De.replace(/\s+/g,"")));return se?[se]:h}function We(m,h){const A=ve(h);if(!A)return null;const se=Ge(h,m.chart.yFields),De=A==="pie"||A==="donut";return{...m,chart:{...m.chart,type:A,yFields:De?se.slice(0,1):se}}}function Ye(m){var ar;const h=m.replace(/\s+/g," ").replace(/[??。.!!、]+$/g,"").trim();if(!h||/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(h.replace(/\s+/g,"")))return"";const A=/^(?:请|帮我|麻烦|能不能|可以|我想|能否|请问|我想了解|我想知道|麻烦你?|能麻烦)\s*/u,se=/(?:给我|给我看看|帮我查|帮我分析|帮我看看|查一下|看一下|分析一下?|展示一下?|显示一下?|告诉我|说一下|列举一下?|统计一下?|对比一下?|比较一下?|算一下?)\s*/gu,De=/(?:是多少|有多少|怎么样|的情况|的情况如何|如何|呢|吗|吧|的数据|的数据吗|是什么|是什么情况|有哪些|有哪些变化|趋势如何)$/u,Je=/(?:最近的?|最近\d+[天月年周个]*|今年|去年|上个月|本月|本季度|上季度|当月|上半年|下半年|第[一二三四]季度|\d{4}年(?:第[一二三四]季度)?)/gu;let $e=h.replace(A,"").replace(se,"").replace(De,"").replace(Je,"").replace(/^[的的和与及,,]\s*|\s*[的的和与及,,]$/g,"").trim();if($e||($e=h),$e.length<=20)return $e;const Tt=$e.match(/(?:各|全部)?([一-鿿]{0,3}(?:区域|地区|部门|产品线?|品类|渠道|门店|客户|业务线?|分公司|团队|大区|中心))/u),Rt=((ar=Tt==null?void 0:Tt[1])==null?void 0:ar.slice(0,4))||"",Pn=[/[一-鿿A-Za-z0-9]*(?:毛利率|净利率|利润率|增长率|同比增长|环比增长|占比)/u,/[一-鿿A-Za-z0-9]*(?:销售额|利润|营收|成本|费用|收入|支出)/u,/[一-鿿A-Za-z0-9]*(?:量|数|价|率|额|比)/u];let An="";for(const ia of Pn){const Or=$e.match(ia);if(Or){An=Or[0];break}}if(An){const ia=`${Rt}${An}`;if(ia.length>0&&ia.length<=20)return ia;if(An.length<=20)return An}const oa=$e.match(/[一-鿿A-Za-z0-9]+(?:额|率|量|数|占比|增长|排名|TOP\d*)/u);return oa&&oa[0].length<=20?oa[0]:`${$e.slice(0,19)}…`}function Ft(m){return/^(?:选|选择|序号|第)?[1-9]\d*(?:个|项|号)?$/u.test(m.replace(/\s+/g,""))}function en(m){const h=m.replace(/\s+/g,"");return/用户已对上一轮问数澄清作出选择|上一轮问数澄清.*继续查询|基于该选择继续查询/u.test(h)}function Dn(m){const h=m.replace(/\s+/g,"");return Ft(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 Nn(m){const h=m.replace(/\s+/g,"");return h?/^(?:请|帮我)?(?:(?:把|将)?(?:(?:查询|问数|统计|汇总)?结果|(?:上次|上回|上轮|上一轮|上一条|刚才|刚刚|这个|这次|当前|上面|上述)(?:的)?(?:查询|问数|数据|统计|汇总)?(?:结果|数据|指标|当前值|值))?)?(?:推荐|生成|创建|预览|展示|做|做成)?(?:几张|多个|多张|多维度|按维度)?(?:图表)?(?:卡片|卡|图表)(?:候选|推荐|预览)?$/u.test(h)&&/(?:推荐|候选|预览|几张|多个|多张|多维度|按维度)/u.test(h):!1}function At(m){const h=m.trim();return!!h&&!Ft(h)&&!en(h)&&!Dn(h)&&!Nn(h)}function pn(){for(const m of[...I.value].reverse()){if(m.role!=="user")continue;const h=m.content.trim();if(At(h))return h}return""}function he(m){var se,De,Je,$e;const h=(De=(se=m.dataBinding)==null?void 0:se.question)==null?void 0:De.trim();if(h&&At(h))return h;const A=($e=(Je=m.meta)==null?void 0:Je.prompt)==null?void 0:$e.trim();return A&&At(A)?A:pn()}function k(m){var Tt,Rt,Pn,An;const h=he(m),A=Ye(h);if(!h||!A)return m;const se=(Rt=(Tt=m.meta)==null?void 0:Tt.prompt)==null?void 0:Rt.trim(),De=(An=(Pn=m.dataBinding)==null?void 0:Pn.question)==null?void 0:An.trim(),Je=!!(se&&!At(se)),$e=!!(De&&!At(De));return{...m,title:A,dataBinding:{...m.dataBinding,question:h},...Je||$e?{meta:{...m.meta,prompt:h}}:{}}}function P(m){const h=fi(m),A=Array.isArray(m.viewAlternatives)?m.viewAlternatives.map($e=>P($e)):void 0,se=!!A&&A.some(($e,Tt)=>{var Rt;return $e!==((Rt=m.viewAlternatives)==null?void 0:Rt[Tt])});if(!h)return se?{...m,...A?{viewAlternatives:A}:{}}:m;const De=m.blockPlan&&typeof m.blockPlan=="object"?{...m.blockPlan}:m.blockPlan;let Je=!1;return De&&typeof De=="object"&&"title"in De&&(typeof De.title=="string"?De.title.trim():"")!==h&&(De.title=h,Je=!0),!Je&&!se?m:{...m,...De?{blockPlan:De}:{},...A?{viewAlternatives:A}:{}}}function L(m){const h=m.cardRecommendationDraft;if(!h)return m;const A=bt.get(m);if((A==null?void 0:A.draft)===h)return A.normalized;const se=h.recommendations.map($e=>P($e)),Je=se.some(($e,Tt)=>$e!==h.recommendations[Tt])?{...m,cardRecommendationDraft:{...h,recommendations:se}}:m;return bt.set(m,{draft:h,normalized:Je}),Je}function me(m){const h=m.cardRecommendationDraft;return String(m.workbenchTurnId||(h==null?void 0:h.placementTurnId)||(h==null?void 0:h.sourceTurnId)||"").trim()}function be(m){const h=new Set(m.filter(A=>{var se;return(((se=A.cards)==null?void 0:se.length)||0)>0}).map(me).filter(Boolean));return h.size===0?m:m.filter(A=>{var se;return!A.cardRecommendationDraft||(((se=A.cards)==null?void 0:se.length)||0)>0||!h.has(me(A))})}function Ee(m){return be(m).map(h=>L(h))}function st(){var m;if(D.latestChartCard.value)return D.latestChartCard.value;for(const h of[...I.value].reverse()){const A=(m=h.cards)==null?void 0:m[h.cards.length-1];if(A)return A}return null}function $t(){return D.latestMetricCard.value}function It(m){var A,se;const h=((se=(A=m.dataBinding)==null?void 0:A.question)==null?void 0:se.trim())||pn();return h?{...m,dataBinding:{...m.dataBinding,question:h}}:m}function Un(m){var Je,$e,Tt,Rt;if((Je=m.meta)!=null&&Je.workbenchAdaptiveHeightPx)return m;const h=((($e=m.meta)==null?void 0:$e.prompt)||((Tt=m.dataBinding)==null?void 0:Tt.question)||"").length,A=((Rt=m.summary)==null?void 0:Rt.length)||0,se=m.chart.type==="mini-bar"?210:390,De=Math.ceil(h/28)*20+Math.ceil(A/32)*22;return{...m,meta:{...m.meta,workbenchAdaptiveHeightPx:Math.max(se,se+De)}}}async function ft(m){const h=st(),A=h?We(h,m):null;if(A){d("insertCard",Un(A));return}if(Oe(m)){const se=$t();if(se){d("insertMetricCard",It(se));return}if(h){d("insertCard",Un(k(h)));return}}await D.sendMessage(m)}function Ea(){x.value||D.isCompacting.value||D.compactContext()}function xa(m){const h=m==null?void 0:m.match(/^data:([^;,]+)[;,]/);return h==null?void 0:h[1]}function Ba(m){var Tt,Rt,Pn;const h=((Tt=m.fileName)==null?void 0:Tt.trim())||(m.type==="file"?"附件":"图片"),A=m.type!=="file",se=((Rt=m.text)==null?void 0:Rt.trim())||(A?`上传图片:${h}`:`上传附件:${h}`),De=new Date().toISOString(),Je={id:`image-user-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,role:"user",content:se,timestamp:De};Je.attachments=[{type:A?"image":"file",url:m.downloadUrl||m.imageUrl,downloadUrl:m.downloadUrl,fileId:m.fileId,name:h,mimeType:m.mimeType||xa(m.imageUrl)||(A?"image/*":"application/octet-stream"),rawFile:m.file,size:(Pn=m.file)==null?void 0:Pn.size}];const $e={id:`${A?"image":"attachment"}-status-${Date.now()}-${Math.random().toString(16).slice(2,8)}`,role:"status",content:m.statusContent||(A?"正在识别图片...":"附件已上传"),loading:m.statusLoading??A,timestamp:De,startTime:Date.now()};return D.messages.value.push(Je,$e),$e.id}function Ia(m,h){const A=D.messages.value.find(se=>se.id===m);A&&(A.content=h.content,A.loading=h.loading??!1,A.error=h.error,A.detail=h.detail)}function ra(m,h){const A="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:A,mimeType:m.mimeType||(h==="image"?"image/*":"application/octet-stream"),rawFile:m.file,size:m.file.size}}async function N(m,h){ge.value="chat",await D.sendMessage(m,{attachments:[h]})}function G(m){const h=m.text.trim();return h||(m.attachments.every(A=>A.type==="image")?"分析图片":"分析附件")}async function Lr(m){if(m.attachments.length!==0){if(c.transport){ge.value="chat",await D.sendMessage(G(m),{attachments:m.attachments.map(h=>ra(h,h.type))});return}for(const h of m.attachments){if(h.type==="image"&&!c.routeImagesAsAttachments){await at({base64:h.base64||"",file:h.file,fileName:h.fileName,mimeType:h.mimeType,previewUrl:h.previewUrl,text:m.text});continue}await Cn({...h,text:m.text})}}}async function at(m){var A;if(c.transport){const se=m.fileName||m.file.name;await N(((A=m.text)==null?void 0:A.trim())||"分析图片",ra({...m,fileName:se},"image"));return}const h=Ba({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 Cn(m){var A;if(c.transport){await N(((A=m.text)==null?void 0:A.trim())||(m.type==="image"?"分析图片":"分析附件"),ra(m,m.type));return}const h=Ba({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 kt(m){d("confirm-compose-plan",m)}function Ln(){const m=D.messages.value.findIndex(h=>h.planDraft);m!==-1&&D.messages.value.splice(m,1),d("cancel-compose-plan")}function Vs(m,h){d("modify-compose-plan",{planId:m,prompt:h})}function er(m){D.messages.value.push({id:`plan-${m.planId}`,role:"assistant",content:"已生成编排方案,请确认后生成卡片。",planDraft:m,timestamp:new Date().toISOString()})}function Pr(m){D.messages.value.push({id:`card-rec-${m.recommendationId}`,role:"assistant",content:"",cardRecommendationDraft:m,timestamp:new Date().toISOString()})}function Mr(m){oe.value=m,ge.value="chat",n.nextTick(()=>{var h;(h=j.value)==null||h.setText(oe.value)})}function jn(){ge.value="chat",n.nextTick(()=>{var m;(m=j.value)==null||m.focusComposer()})}function tr(m,h){return D.appendMessage(m,h)}function sa(m,h){return D.assignWorkbenchTurnIds(m,h)}function nr(m,h,A){return D.replaceWorkbenchTurnAnswer(m,h,A)}function Kn(m){d("insertCard",k(m)),jn()}function Sn(m,h){var A,se;(se=(A=Ne.value)==null?void 0:A.setMemoryCaptureStatus)==null||se.call(A,m,h)}return r({conversations:ue,activeId:ce,startNewConversation:C,switchConversation:z,deleteConversation:ae,openDeleteConversationDialog:Y,openRenameConversationDialog:Me,openClearConversationDialog:Xe,pushImageUploadMessage:Ba,updateImageUploadMessage:Ia,pushPlanDraft:er,pushCardRecommendationDraft:Pr,assignWorkbenchTurnIds:sa,appendMessage:tr,replaceWorkbenchTurnAnswer:nr,sendText:Wt,setInputText:Mr,focusComposer:jn,openChatPanelFromHost:b,openHistoryPanel:E,openSettingsPanelFromHost:_e,setMemoryCaptureStatus:Sn,moveMessageToEnd:D.moveMessageToEnd}),(m,h)=>(n.openBlock(),n.createBlock(n.unref(Yr.TrThemeProvider),null,{default:n.withCtx(()=>[n.createElementVNode("div",ig,[n.createElementVNode("div",cg,[ge.value==="chat"?(n.openBlock(),n.createElementBlock("div",{key:0,class:n.normalizeClass(["runtime-chat__topbar",{"runtime-chat__topbar--shadow":Pe.value}]),"aria-label":"对话工具"},[T.value?(n.openBlock(),n.createElementBlock("div",lg,[n.renderSlot(m.$slots,"topbar-leading",{},void 0,!0)])):n.createCommentVNode("",!0),n.createElementVNode("div",dg,[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(I).length===0,onClick:pt},[n.createVNode(n.unref(Ze.MessageOutlined))],8,ug)]),_: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]=A=>ht("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:J},[n.createVNode(n.unref(Ze.SettingOutlined))],2)]),_:1})])],2)):n.createCommentVNode("",!0),n.createElementVNode("div",mg,[ge.value==="chat"&&fe.value.length>0?(n.openBlock(),n.createBlock(_h,{key:0,ref_key:"messageListRef",ref:Ne,messages:fe.value,"hidden-status-message-ids":it.value,"auto-insert-compose-plan":!!c.autoInsertComposePlan,"task-state-actions-disabled":c.taskStateActionsDisabled||n.unref(x),onInsertCard:Kn,onChooseCardRecommendation:_n,onConfigureCardRecommendation:Z,onConfirmPlan:kt,onCancelPlan:Ln,onConfirmTaskState:Rn,onCancelTaskState:vn,onMemoryCaptureDismiss:h[1]||(h[1]=(A,se)=>d("memory-capture-dismiss",{turnId:A,itemId:se})),onMemoryCaptureSave:h[2]||(h[2]=(A,se)=>d("memory-capture-save",{turnId:A,itemId:se})),onModifyPlan:Vs,onSendFollowUp:et,onAutoInsertComposePlanChange:h[3]||(h[3]=A=>d("auto-insert-compose-plan-change",A)),onScrollPositionChange:Mt},null,8,["messages","hidden-status-message-ids","auto-insert-compose-plan","task-state-actions-disabled"])):ge.value==="chat"&&n.unref(q)?(n.openBlock(),n.createElementBlock("section",fg,[...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)])])):ge.value==="chat"?(n.openBlock(),n.createElementBlock("section",{key:2,ref_key:"welcomeWorkspaceRef",ref:te,class:"chat-workspace","aria-label":"AI 助手介绍",onScroll:ct},[n.createElementVNode("div",{class:"ai-chat-prologue",innerHTML:qt.value},null,8,pg)],544)):ge.value==="history"?(n.openBlock(),n.createElementBlock("section",hg,[n.createElementVNode("header",{class:n.normalizeClass(["chat-panel__header",{"chat-panel__header--with-extra":B.value}])},[n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"返回",onClick:f},[n.createVNode(n.unref(Ze.LeftOutlined))]),h[16]||(h[16]=n.createElementVNode("h2",{class:"chat-panel__title"},"历史",-1)),B.value?(n.openBlock(),n.createElementBlock("div",gg,[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:f},[n.createVNode(n.unref(Ze.CloseOutlined))])],2),n.createElementVNode("div",yg,[n.unref(H)?(n.openBlock(),n.createElementBlock("div",bg,[...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",kg,[h[18]||(h[18]=n.createElementVNode("h3",{class:"chat-history-group__title"},"今天",-1)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(xe.value,A=>(n.openBlock(),n.createElementBlock("div",{key:A.id,class:n.normalizeClass(["chat-history-item",{"chat-history-item--active":A.id===ce.value,"chat-history-item--menu-open":v.value===A.id}]),"data-testid":`chat-history-item-row-${A.id}`},[n.createElementVNode("button",{type:"button",class:"chat-history-item__select","data-testid":`chat-history-item-${A.id}`,onClick:se=>z(A.id)},[n.createVNode(n.unref(Ze.CommentOutlined),{class:"chat-history-item__icon"}),n.createElementVNode("span",Sg,[Dt(A.title)?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:A.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-${A.id}`},[n.createElementVNode("span",wg,n.toDisplayString(A.title),1)],8,Ag)]),_:2},1032,["title"])):(n.openBlock(),n.createElementBlock("span",{key:1,class:"chat-history-item__title","data-testid":`chat-history-title-${A.id}`},n.toDisplayString(A.title),9,Tg)),Be(A.updatedAt)?(n.openBlock(),n.createElementBlock("span",{key:2,class:"chat-history-item__time",title:Ae(A.updatedAt),"data-testid":`chat-history-updated-at-${A.id}`},n.toDisplayString(Be(A.updatedAt)),9,Eg)):n.createCommentVNode("",!0)])],8,Cg),n.createElementVNode("div",xg,[n.createElementVNode("button",{type:"button",class:"chat-history-item__more",title:"更多操作","aria-expanded":v.value===A.id,"data-testid":`chat-history-more-${A.id}`,onClick:n.withModifiers(se=>tt(A.id),["stop"])},[n.createVNode(n.unref(Ze.EllipsisOutlined))],8,Bg),v.value===A.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-${A.id}`,onClick:se=>Me(A.id)}," 重命名 ",8,Ig),n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action chat-history-item__menu-action--danger","data-testid":`chat-history-delete-${A.id}`,onClick:se=>Y(A.id)}," 删除 ",8,Rg)])):n.createCommentVNode("",!0)])],10,_g))),128))])),n.unref(H)?n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("section",vg,[h[19]||(h[19]=n.createElementVNode("h3",{class:"chat-history-group__title"},"过去 30 天",-1)),(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(Ce.value,A=>(n.openBlock(),n.createElementBlock("div",{key:A.id,class:n.normalizeClass(["chat-history-item",{"chat-history-item--active":A.id===ce.value,"chat-history-item--menu-open":v.value===A.id}]),"data-testid":`chat-history-item-row-${A.id}`},[n.createElementVNode("button",{type:"button",class:"chat-history-item__select","data-testid":`chat-history-item-${A.id}`,onClick:se=>z(A.id)},[n.createVNode(n.unref(Ze.CommentOutlined),{class:"chat-history-item__icon"}),n.createElementVNode("span",Lg,[Dt(A.title)?(n.openBlock(),n.createBlock(n.unref(ua.Tooltip),{key:0,title:A.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-${A.id}`},[n.createElementVNode("span",Mg,n.toDisplayString(A.title),1)],8,Pg)]),_:2},1032,["title"])):(n.openBlock(),n.createElementBlock("span",{key:1,class:"chat-history-item__title","data-testid":`chat-history-title-${A.id}`},n.toDisplayString(A.title),9,Og)),Be(A.updatedAt)?(n.openBlock(),n.createElementBlock("span",{key:2,class:"chat-history-item__time",title:Ae(A.updatedAt),"data-testid":`chat-history-updated-at-${A.id}`},n.toDisplayString(Be(A.updatedAt)),9,Fg)):n.createCommentVNode("",!0)])],8,Ng),n.createElementVNode("div",$g,[n.createElementVNode("button",{type:"button",class:"chat-history-item__more",title:"更多操作","aria-expanded":v.value===A.id,"data-testid":`chat-history-more-${A.id}`,onClick:n.withModifiers(se=>tt(A.id),["stop"])},[n.createVNode(n.unref(Ze.EllipsisOutlined))],8,Vg),v.value===A.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-${A.id}`,onClick:se=>Me(A.id)}," 重命名 ",8,zg),n.createElementVNode("button",{type:"button",class:"chat-history-item__menu-action chat-history-item__menu-action--danger","data-testid":`chat-history-delete-${A.id}`,onClick:se=>Y(A.id)}," 删除 ",8,Gg)])):n.createCommentVNode("",!0)])],10,Dg))),128))])),!n.unref(H)&&ue.value.length===0?(n.openBlock(),n.createElementBlock("div",Hg," 暂无历史对话 ")):n.createCommentVNode("",!0)])])):(n.openBlock(),n.createElementBlock("section",qg,[n.createElementVNode("header",{class:n.normalizeClass(["chat-panel__header",{"chat-panel__header--with-extra":B.value}])},[n.createElementVNode("button",{type:"button",class:"chat-panel__nav","aria-label":"返回",onClick:nt},[n.createVNode(n.unref(Ze.LeftOutlined))]),h[20]||(h[20]=n.createElementVNode("h2",{class:"chat-panel__title"},"工作台设置",-1)),B.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:nt},[n.createVNode(n.unref(Ze.CloseOutlined))])],2),n.createElementVNode("div",Ug,[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]=A=>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]=A=>d("restore-default-workbench"))}," 恢复默认工作台 ")],64)):n.createCommentVNode("",!0),ne.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:Re}," 编辑工作台 ")),ne.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]=A=>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:de.value,onClick:Ot},[de.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,jg)],64)):n.createCommentVNode("",!0)]),e.showPersonaSettings?(n.openBlock(),n.createElementBlock("div",Kg,[h[24]||(h[24]=n.createElementVNode("div",{class:"chat-settings-panel__persona-title"},"人格设定",-1)),n.createElementVNode("div",Qg,[(n.openBlock(),n.createElementBlock(n.Fragment,null,n.renderList(St,A=>n.createElementVNode("button",{key:A.id,type:"button",class:n.normalizeClass(["chat-settings-panel__persona-option",{"chat-settings-panel__persona-option--active":e.assistantPersonaKey===A.id}]),"aria-selected":e.assistantPersonaKey===A.id,onClick:se=>d("assistant-persona-change",A.id)},n.toDisplayString(A.label),11,Yg)),64))])])):n.createCommentVNode("",!0),n.createElementVNode("div",Jg,[n.renderSlot(m.$slots,"settings",{},void 0,!0)])]))]),ge.value==="chat"?(n.openBlock(),n.createElementBlock("div",Zg,[ke.value?(n.openBlock(),n.createBlock(og,{key:0,plan:ke.value},null,8,["plan"])):n.createCommentVNode("",!0),n.createVNode(jh,{ref_key:"senderRef",ref:j,"business-group-error":c.businessGroupError,"business-group-loading":c.businessGroupLoading,"business-groups":c.businessGroups,loading:n.unref(x),placeholder:e.placeholder,"route-images-as-attachments":c.routeImagesAsAttachments,"selected-business-group":c.selectedBusinessGroup,onBusinessGroupClear:h[9]||(h[9]=A=>d("business-group-clear")),onBusinessGroupOpen:h[10]||(h[10]=A=>d("business-group-open")),onBusinessGroupSelect:h[11]||(h[11]=A=>d("business-group-select",A)),onSubmit:ft,onCancel:n.unref(D).abortStream,onImage:at,onAttachment:Cn,onAttachments:Lr},{history:n.withCtx(()=>[n.createVNode(Jh,{usage:n.unref(D).contextUsage.value,loading:n.unref(D).isCompacting.value,disabled:n.unref(x),onCompact:Ea},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"},[Fe.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"rename-overlay",onClick:h[14]||(h[14]=n.withModifiers(A=>Fe.value=!1,["self"]))},[n.createElementVNode("div",Xg,[h[25]||(h[25]=n.createElementVNode("div",{class:"rename-modal__title"},"重命名会话",-1)),n.withDirectives(n.createElementVNode("input",{"onUpdate:modelValue":h[12]||(h[12]=A=>ut.value=A),class:"rename-modal__input",placeholder:"请输入新名称",onKeydown:n.withKeys(mt,["enter"])},null,544),[[n.vModelText,ut.value]]),n.createElementVNode("div",ey,[n.createElementVNode("button",{class:"rename-modal__btn rename-modal__btn--cancel",onClick:h[13]||(h[13]=A=>Fe.value=!1)}," 取消 "),n.createElementVNode("button",{class:"rename-modal__btn rename-modal__btn--confirm",onClick:mt}," 确认 ")])])])):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[Q.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"delete-overlay",onClick:n.withModifiers(ye,["self"])},[n.createElementVNode("div",ty,[h[26]||(h[26]=n.createElementVNode("div",{id:"delete-conversation-title",class:"delete-modal__title"},"删除会话",-1)),n.createElementVNode("p",ny,n.toDisplayString(K.value),1),n.createElementVNode("div",ay,[n.createElementVNode("button",{class:"delete-modal__btn delete-modal__btn--cancel",disabled:ee.value,"data-testid":"delete-conversation-cancel",onClick:ye}," 取消 ",8,ry),n.createElementVNode("button",{class:"delete-modal__btn delete-modal__btn--danger",disabled:ee.value,"data-testid":"delete-conversation-confirm",onClick:Te},n.toDisplayString(ee.value?"删除中...":"确认删除"),9,sy)])])])):n.createCommentVNode("",!0)])),(n.openBlock(),n.createBlock(n.Teleport,{to:"body"},[R.value?(n.openBlock(),n.createElementBlock("div",{key:0,class:"clear-overlay",onClick:n.withModifiers(Bt,["self"])},[n.createElementVNode("div",oy,[h[27]||(h[27]=n.createElementVNode("div",{id:"clear-conversations-title",class:"clear-modal__title"}," 清空全部会话 ",-1)),n.createElementVNode("p",iy," 将删除 "+n.toDisplayString(ie.value)+" 条会话记录,清空后会回到一个新的空对话。 ",1),n.createElementVNode("div",cy,[n.createElementVNode("button",{class:"clear-modal__btn clear-modal__btn--cancel",disabled:$.value,onClick:Bt}," 取消 ",8,ly),n.createElementVNode("button",{class:"clear-modal__btn clear-modal__btn--danger",disabled:$.value,"data-testid":"clear-conversations-confirm",onClick:Zt},n.toDisplayString($.value?"清空中...":"确认清空"),9,dy)])])])):n.createCommentVNode("",!0)]))]),_:3}))}}),[["__scopeId","data-v-9ae83f5b"]]);Le.CardRecommendationDraftView=Zi,Le.ChartCardRenderer=Ri,Le.FsesAiChat=$s,Le.FsesAiChatPlugin=nu,Le.buildRecommendationConfigSummary=Hi,Le.canShowRecommendationFieldConfig=Sm,Le.createChartOption=Ei,Le.default=$s,Le.deriveChartCardsFromMarkdown=Do,Le.getDisplayRows=Ai,Le.getVisibleYFields=ws,Le.hasRecommendationFieldOptions=Vi,Le.isMetricServiceRecommendation=Bs,Le.isSqlQuestionRecommendation=_m,Le.normalizeCardRecommendationFieldLabels=gm,Le.normalizeNumber=ta,Le.recommendationConfigDiagnostic=zi,Le.recommendationFieldLabels=Rs,Le.recommendationFieldMapping=Fi,Le.recommendationFieldOptions=$i,Le.recommendationFilterSummary=na,Le.resolveCardRecommendationFieldLabel=Gn,Le.useChat=ui,Object.defineProperties(Le,{__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":"执行工具"),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"}})});
|