@langsword/trace 0.1.24 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/trace.css +2 -2
- package/dist/trace.es.js +20 -20
- package/dist/trace.umd.js +5 -5
- package/package.json +1 -1
package/dist/trace.umd.js
CHANGED
|
@@ -22,7 +22,7 @@ b`.split(/\n/).length!=3?function(e){for(var t=0,a=[],i=e.length;t<=i;){var s=e.
|
|
|
22
22
|
top: `+(e.clientY-C.top-5)+"px; left: "+(e.clientX-C.left-5)+`px;
|
|
23
23
|
z-index: 1000; background: `+(m?"rgba(255, 255, 255, .05)":"transparent")+`;
|
|
24
24
|
outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);`;var _;S&&(_=s.ownerDocument.defaultView.scrollY),i.input.focus(),S&&s.ownerDocument.defaultView.scrollTo(null,_),i.input.reset(),a.somethingSelected()||(s.value=t.prevInput=" "),t.contextMenuPending=O,i.selForContextMenu=a.doc.sel,clearTimeout(i.detectingSelectAll);function F(){if(s.selectionStart!=null){var U=a.somethingSelected(),Y=""+(U?s.value:"");s.value="⇚",s.value=Y,t.prevInput=U?"":"",s.selectionStart=1,s.selectionEnd=Y.length,i.selForContextMenu=a.doc.sel}}function O(){if(t.contextMenuPending==O&&(t.contextMenuPending=!1,t.wrapper.style.cssText=v,s.style.cssText=g,m&&k<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=d),s.selectionStart!=null)){(!m||m&&k<9)&&F();var U=0,Y=function(){i.selForContextMenu==a.doc.sel&&s.selectionStart==0&&s.selectionEnd>0&&t.prevInput==""?yt(a,hc)(a):U++<10?i.detectingSelectAll=setTimeout(Y,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(Y,200)}}if(m&&k>=9&&F(),Re){Rn(e);var B=function(){Tt(window,"mouseup",B),setTimeout(O,20)};me(window,"mouseup",B)}else setTimeout(O,50)},st.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled=e=="nocursor",this.textarea.readOnly=!!e},st.prototype.setUneditable=function(){},st.prototype.needsContentAttribute=!1;function sv(e,t){if(t=t?ke(t):{},t.value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),t.autofocus==null){var a=M(_e(e));t.autofocus=a==e||e.getAttribute("autofocus")!=null&&a==document.body}function i(){e.value=h.getValue()}var s;if(e.form&&(me(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var c=e.form;s=c.submit;try{var d=c.submit=function(){i(),c.submit=s,c.submit(),c.submit=d}}catch{}}t.finishInit=function(g){g.save=i,g.getTextArea=function(){return e},g.toTextArea=function(){g.toTextArea=isNaN,i(),e.parentNode.removeChild(g.getWrapperElement()),e.style.display="",e.form&&(Tt(e.form,"submit",i),!t.leaveSubmitMethodAlone&&typeof e.form.submit=="function"&&(e.form.submit=s))}},e.style.display="none";var h=Ye(function(g){return e.parentNode.insertBefore(g,e.nextSibling)},t);return h}function ov(e){e.off=Tt,e.on=me,e.wheelEventPixels=pm,e.Doc=Ft,e.splitLines=nn,e.countColumn=Le,e.findColumn=ht,e.isWordChar=ye,e.Pass=Ke,e.signal=et,e.Line=Ar,e.changeEnd=jn,e.scrollbarModel=ju,e.Pos=P,e.cmpPos=re,e.modes=Cr,e.mimeModes=un,e.resolveMode=Tr,e.getMode=_r,e.modeExtensions=Pn,e.extendMode=Lr,e.copyState=yn,e.startState=Er,e.innerMode=ci,e.commands=Fi,e.keyMap=An,e.keyName=Ic,e.isModifierKey=Lc,e.lookupKey=jr,e.normalizeKeyMap=Mm,e.StringStream=nt,e.SharedTextMarker=Di,e.TextMarker=Un,e.LineWidget=Ai,e.e_preventDefault=_t,e.e_stopPropagation=kr,e.e_stop=Rn,e.addClass=K,e.contains=A,e.rmClass=Pe,e.keyNames=Gn}Qm(Ye),nv(Ye);var lv="iter insert remove copy getEditor constructor".split(" ");for(var Ma in Ft.prototype)Ft.prototype.hasOwnProperty(Ma)&&we(lv,Ma)<0&&(Ye.prototype[Ma]=function(e){return function(){return e.apply(this.doc,arguments)}}(Ft.prototype[Ma]));return sn(Ft),Ye.inputStyles={textarea:st,contenteditable:We},Ye.defineMode=function(e){!Ye.defaults.mode&&e!="null"&&(Ye.defaults.mode=e),cn.apply(this,arguments)},Ye.defineMIME=tr,Ye.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Ye.defineMIME("text/plain","null"),Ye.defineExtension=function(e,t){Ye.prototype[e]=t},Ye.defineDocExtension=function(e,t){Ft.prototype[e]=t},Ye.fromTextArea=sv,ov(Ye),Ye.version="5.65.20",Ye})}(Pa)),Pa.exports}(function(l,n){(function(r){r(jt())})(function(r){r.defineMode("javascript",function(o,u){var f=o.indentUnit,p=u.statementIndent,y=u.jsonld,m=u.json||y,k=u.trackScope!==!1,S=u.typescript,R=u.wordCharacters||/[\w$\xa1-\uffff]/,L=function(){function b(mt){return{type:mt,style:"keyword"}}var T=b("keyword a"),q=b("keyword b"),X=b("keyword c"),P=b("keyword d"),re=b("operator"),ze={type:"atom",style:"atom"};return{if:b("if"),while:T,with:T,else:q,do:q,try:q,finally:q,return:P,break:P,continue:P,new:b("new"),delete:X,void:X,throw:X,debugger:b("debugger"),var:b("var"),const:b("var"),let:b("var"),function:b("function"),catch:b("catch"),for:b("for"),switch:b("switch"),case:b("case"),default:b("default"),in:re,typeof:re,instanceof:re,true:ze,false:ze,null:ze,undefined:ze,NaN:ze,Infinity:ze,this:b("this"),class:b("class"),super:b("atom"),yield:X,export:b("export"),import:b("import"),extends:X,await:X}}(),W=/[+\-*&%=<>!?|~^@]/,z=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function D(b){for(var T=!1,q,X=!1;(q=b.next())!=null;){if(!T){if(q=="/"&&!X)return;q=="["?X=!0:X&&q=="]"&&(X=!1)}T=!T&&q=="\\"}}var $,I;function N(b,T,q){return $=b,I=q,T}function H(b,T){var q=b.next();if(q=='"'||q=="'")return T.tokenize=V(q),T.tokenize(b,T);if(q=="."&&b.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return N("number","number");if(q=="."&&b.match(".."))return N("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(q))return N(q);if(q=="="&&b.eat(">"))return N("=>","operator");if(q=="0"&&b.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return N("number","number");if(/\d/.test(q))return b.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),N("number","number");if(q=="/")return b.eat("*")?(T.tokenize=ne,ne(b,T)):b.eat("/")?(b.skipToEnd(),N("comment","comment")):Xt(b,T,1)?(D(b),b.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),N("regexp","string-2")):(b.eat("="),N("operator","operator",b.current()));if(q=="`")return T.tokenize=ue,ue(b,T);if(q=="#"&&b.peek()=="!")return b.skipToEnd(),N("meta","meta");if(q=="#"&&b.eatWhile(R))return N("variable","property");if(q=="<"&&b.match("!--")||q=="-"&&b.match("->")&&!/\S/.test(b.string.slice(0,b.start)))return b.skipToEnd(),N("comment","comment");if(W.test(q))return(q!=">"||!T.lexical||T.lexical.type!=">")&&(b.eat("=")?(q=="!"||q=="=")&&b.eat("="):/[<>*+\-|&?]/.test(q)&&(b.eat(q),q==">"&&b.eat(q))),q=="?"&&b.eat(".")?N("."):N("operator","operator",b.current());if(R.test(q)){b.eatWhile(R);var X=b.current();if(T.lastType!="."){if(L.propertyIsEnumerable(X)){var P=L[X];return N(P.type,P.style,X)}if(X=="async"&&b.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return N("async","keyword",X)}return N("variable","variable",X)}}function V(b){return function(T,q){var X=!1,P;if(y&&T.peek()=="@"&&T.match(z))return q.tokenize=H,N("jsonld-keyword","meta");for(;(P=T.next())!=null&&!(P==b&&!X);)X=!X&&P=="\\";return X||(q.tokenize=H),N("string","string")}}function ne(b,T){for(var q=!1,X;X=b.next();){if(X=="/"&&q){T.tokenize=H;break}q=X=="*"}return N("comment","comment")}function ue(b,T){for(var q=!1,X;(X=b.next())!=null;){if(!q&&(X=="`"||X=="$"&&b.eat("{"))){T.tokenize=H;break}q=!q&&X=="\\"}return N("quasi","string-2",b.current())}var se="([{}])";function de(b,T){T.fatArrowAt&&(T.fatArrowAt=null);var q=b.string.indexOf("=>",b.start);if(!(q<0)){if(S){var X=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(b.string.slice(b.start,q));X&&(q=X.index)}for(var P=0,re=!1,ze=q-1;ze>=0;--ze){var mt=b.string.charAt(ze),Ot=se.indexOf(mt);if(Ot>=0&&Ot<3){if(!P){++ze;break}if(--P==0){mt=="("&&(re=!0);break}}else if(Ot>=3&&Ot<6)++P;else if(R.test(mt))re=!0;else if(/["'\/`]/.test(mt))for(;;--ze){if(ze==0)return;var Ir=b.string.charAt(ze-1);if(Ir==mt&&b.string.charAt(ze-2)!="\\"){ze--;break}}else if(re&&!P){++ze;break}}re&&!P&&(T.fatArrowAt=ze)}}var Oe={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function Re(b,T,q,X,P,re){this.indented=b,this.column=T,this.type=q,this.prev=P,this.info=re,X!=null&&(this.align=X)}function ie(b,T){if(!k)return!1;for(var q=b.localVars;q;q=q.next)if(q.name==T)return!0;for(var X=b.context;X;X=X.prev)for(var q=X.vars;q;q=q.next)if(q.name==T)return!0}function Pe(b,T,q,X,P){var re=b.cc;for(j.state=b,j.stream=P,j.marked=null,j.cc=re,j.style=T,b.lexical.hasOwnProperty("align")||(b.lexical.align=!0);;){var ze=re.length?re.pop():m?we:Le;if(ze(q,X)){for(;re.length&&re[re.length-1].lex;)re.pop()();return j.marked?j.marked:q=="variable"&&ie(b,X)?"variable-2":T}}}var j={state:null,marked:null,cc:null};function Q(){for(var b=arguments.length-1;b>=0;b--)j.cc.push(arguments[b])}function w(){return Q.apply(null,arguments),!0}function J(b,T){for(var q=T;q;q=q.next)if(q.name==b)return!0;return!1}function G(b){var T=j.state;if(j.marked="def",!!k){if(T.context){if(T.lexical.info=="var"&&T.context&&T.context.block){var q=A(b,T.context);if(q!=null){T.context=q;return}}else if(!J(b,T.localVars)){T.localVars=new he(b,T.localVars);return}}u.globalVars&&!J(b,T.globalVars)&&(T.globalVars=new he(b,T.globalVars))}}function A(b,T){if(T)if(T.block){var q=A(b,T.prev);return q?q==T.prev?T:new K(q,T.vars,!0):null}else return J(b,T.vars)?T:new K(T.prev,new he(b,T.vars),!1);else return null}function M(b){return b=="public"||b=="private"||b=="protected"||b=="abstract"||b=="readonly"}function K(b,T,q){this.prev=b,this.vars=T,this.block=q}function he(b,T){this.name=b,this.next=T}var E=new he("this",new he("arguments",null));function x(){j.state.context=new K(j.state.context,j.state.localVars,!1),j.state.localVars=E}function oe(){j.state.context=new K(j.state.context,j.state.localVars,!0),j.state.localVars=null}x.lex=oe.lex=!0;function _e(){j.state.localVars=j.state.context.vars,j.state.context=j.state.context.prev}_e.lex=!0;function Z(b,T){var q=function(){var X=j.state,P=X.indented;if(X.lexical.type=="stat")P=X.lexical.indented;else for(var re=X.lexical;re&&re.type==")"&&re.align;re=re.prev)P=re.indented;X.lexical=new Re(P,j.stream.column(),b,null,X.lexical,T)};return q.lex=!0,q}function fe(){var b=j.state;b.lexical.prev&&(b.lexical.type==")"&&(b.indented=b.lexical.indented),b.lexical=b.lexical.prev)}fe.lex=!0;function ke(b){function T(q){return q==b?w():b==";"||q=="}"||q==")"||q=="]"?Q():w(T)}return T}function Le(b,T){return b=="var"?w(Z("vardef",T),kr,ke(";"),fe):b=="keyword a"?w(Z("form"),Ke,Le,fe):b=="keyword b"?w(Z("form"),Le,fe):b=="keyword d"?j.stream.match(/^\s*$/,!1)?w():w(Z("stat"),Pt,ke(";"),fe):b=="debugger"?w(ke(";")):b=="{"?w(Z("}"),oe,en,fe,_e):b==";"?w():b=="if"?(j.state.lexical.info=="else"&&j.state.cc[j.state.cc.length-1]==fe&&j.state.cc.pop()(),w(Z("form"),Ke,Le,fe,Sr)):b=="function"?w(nn):b=="for"?w(Z("form"),oe,aa,Le,_e,fe):b=="class"||S&&T=="interface"?(j.marked="keyword",w(Z("form",b=="class"?b:T),Cr,fe)):b=="variable"?S&&T=="declare"?(j.marked="keyword",w(Le)):S&&(T=="module"||T=="enum"||T=="type")&&j.stream.match(/^\s*\w/,!1)?(j.marked="keyword",T=="enum"?w(ce):T=="type"?w(sa,ke("operator"),$e,ke(";")):w(Z("form"),Dt,ke("{"),Z("}"),en,fe,fe)):S&&T=="namespace"?(j.marked="keyword",w(Z("form"),we,Le,fe)):S&&T=="abstract"?(j.marked="keyword",w(Le)):w(Z("stat"),wr):b=="switch"?w(Z("form"),Ke,ke("{"),Z("}","switch"),oe,en,fe,fe,_e):b=="case"?w(we,ke(":")):b=="default"?w(ke(":")):b=="catch"?w(Z("form"),x,ct,Le,fe,_e):b=="export"?w(Z("stat"),Tr,fe):b=="import"?w(Z("stat"),Pn,fe):b=="async"?w(Le):T=="@"?w(we,Le):Q(Z("stat"),we,ke(";"),fe)}function ct(b){if(b=="(")return w(ln,ke(")"))}function we(b,T){return ft(b,T,!1)}function Fe(b,T){return ft(b,T,!0)}function Ke(b){return b!="("?Q():w(Z(")"),Pt,ke(")"),fe)}function ft(b,T,q){if(j.state.fatArrowAt==j.stream.start){var X=q?St:be;if(b=="(")return w(x,Z(")"),Ie(ln,")"),fe,ke("=>"),X,_e);if(b=="variable")return Q(x,Dt,ke("=>"),X,_e)}var P=q?ht:dt;return Oe.hasOwnProperty(b)?w(P):b=="function"?w(nn,P):b=="class"||S&&T=="interface"?(j.marked="keyword",w(Z("form"),ms,fe)):b=="keyword c"||b=="async"?w(q?Fe:we):b=="("?w(Z(")"),Pt,ke(")"),fe,P):b=="operator"||b=="spread"?w(q?Fe:we):b=="["?w(Z("]"),nt,fe,P):b=="{"?zt(xe,"}",null,P):b=="quasi"?Q(gt,P):b=="new"?w(Vt(q)):w()}function Pt(b){return b.match(/[;\}\)\],]/)?Q():Q(we)}function dt(b,T){return b==","?w(Pt):ht(b,T,!1)}function ht(b,T,q){var X=q==!1?dt:ht,P=q==!1?we:Fe;if(b=="=>")return w(x,q?St:be,_e);if(b=="operator")return/\+\+|--/.test(T)||S&&T=="!"?w(X):S&&T=="<"&&j.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?w(Z(">"),Ie($e,">"),fe,X):T=="?"?w(we,ke(":"),P):w(P);if(b=="quasi")return Q(gt,X);if(b!=";"){if(b=="(")return zt(Fe,")","call",X);if(b==".")return w(ye,X);if(b=="[")return w(Z("]"),Pt,ke("]"),fe,X);if(S&&T=="as")return j.marked="keyword",w($e,X);if(b=="regexp")return j.state.lastType=j.marked="operator",j.stream.backUp(j.stream.pos-j.stream.start-1),w(P)}}function gt(b,T){return b!="quasi"?Q():T.slice(T.length-2)!="${"?w(gt):w(Pt,Kt)}function Kt(b){if(b=="}")return j.marked="string-2",j.state.tokenize=ue,w(gt)}function be(b){return de(j.stream,j.state),Q(b=="{"?Le:we)}function St(b){return de(j.stream,j.state),Q(b=="{"?Le:Fe)}function Vt(b){return function(T){return T=="."?w(b?Zn:On):T=="variable"&&S?w(Bt,b?ht:dt):Q(b?Fe:we)}}function On(b,T){if(T=="target")return j.marked="keyword",w(dt)}function Zn(b,T){if(T=="target")return j.marked="keyword",w(ht)}function wr(b){return b==":"?w(fe,Le):Q(dt,ke(";"),fe)}function ye(b){if(b=="variable")return j.marked="property",w()}function xe(b,T){if(b=="async")return j.marked="property",w(xe);if(b=="variable"||j.style=="keyword"){if(j.marked="property",T=="get"||T=="set")return w(pe);var q;return S&&j.state.fatArrowAt==j.stream.start&&(q=j.stream.match(/^\s*:\s*/,!1))&&(j.state.fatArrowAt=j.stream.pos+q[0].length),w(Me)}else{if(b=="number"||b=="string")return j.marked=y?"property":j.style+" property",w(Me);if(b=="jsonld-keyword")return w(Me);if(S&&M(T))return j.marked="keyword",w(xe);if(b=="[")return w(we,Nn,ke("]"),Me);if(b=="spread")return w(Fe,Me);if(T=="*")return j.marked="keyword",w(xe);if(b==":")return Q(Me)}}function pe(b){return b!="variable"?Q(Me):(j.marked="property",w(nn))}function Me(b){if(b==":")return w(Fe);if(b=="(")return Q(nn)}function Ie(b,T,q){function X(P,re){if(q?q.indexOf(P)>-1:P==","){var ze=j.state.lexical;return ze.info=="call"&&(ze.pos=(ze.pos||0)+1),w(function(mt,Ot){return mt==T||Ot==T?Q():Q(b)},X)}return P==T||re==T?w():q&&q.indexOf(";")>-1?Q(b):w(ke(T))}return function(P,re){return P==T||re==T?w():Q(b,X)}}function zt(b,T,q){for(var X=3;X<arguments.length;X++)j.cc.push(arguments[X]);return w(Z(T,q),Ie(b,T),fe)}function en(b){return b=="}"?w():Q(Le,en)}function Nn(b,T){if(S){if(b==":")return w($e);if(T=="?")return w(Nn)}}function er(b,T){if(S&&(b==":"||T=="in"))return w($e)}function Fn(b){if(S&&b==":")return j.stream.match(/^\s*\w+\s+is\b/,!1)?w(we,ps,$e):w($e)}function ps(b,T){if(T=="is")return j.marked="keyword",w()}function $e(b,T){if(T=="keyof"||T=="typeof"||T=="infer"||T=="readonly")return j.marked="keyword",w(T=="typeof"?Fe:$e);if(b=="variable"||T=="void")return j.marked="type",w(tn);if(T=="|"||T=="&")return w($e);if(b=="string"||b=="number"||b=="atom")return w(tn);if(b=="[")return w(Z("]"),Ie($e,"]",","),fe,tn);if(b=="{")return w(Z("}"),me,fe,tn);if(b=="(")return w(Ie(tt,")"),ia,tn);if(b=="<")return w(Ie($e,">"),$e);if(b=="quasi")return Q(Tt,tn)}function ia(b){if(b=="=>")return w($e)}function me(b){return b.match(/[\}\)\]]/)?w():b==","||b==";"?w(me):Q(Cn,me)}function Cn(b,T){if(b=="variable"||j.style=="keyword")return j.marked="property",w(Cn);if(T=="?"||b=="number"||b=="string")return w(Cn);if(b==":")return w($e);if(b=="[")return w(ke("variable"),er,ke("]"),Cn);if(b=="(")return Q($n,Cn);if(!b.match(/[;\}\)\],]/))return w()}function Tt(b,T){return b!="quasi"?Q():T.slice(T.length-2)!="${"?w(Tt):w($e,et)}function et(b){if(b=="}")return j.marked="string-2",j.state.tokenize=ue,w(Tt)}function tt(b,T){return b=="variable"&&j.stream.match(/^\s*[?:]/,!1)||T=="?"?w(tt):b==":"?w($e):b=="spread"?w(tt):Q($e)}function tn(b,T){if(T=="<")return w(Z(">"),Ie($e,">"),fe,tn);if(T=="|"||b=="."||T=="&")return w($e);if(b=="[")return w($e,ke("]"),tn);if(T=="extends"||T=="implements")return j.marked="keyword",w($e);if(T=="?")return w($e,ke(":"),$e)}function Bt(b,T){if(T=="<")return w(Z(">"),Ie($e,">"),fe,tn)}function sn(){return Q($e,_t)}function _t(b,T){if(T=="=")return w($e)}function kr(b,T){return T=="enum"?(j.marked="keyword",w(ce)):Q(Dt,Nn,on,gs)}function Dt(b,T){if(S&&M(T))return j.marked="keyword",w(Dt);if(b=="variable")return G(T),w();if(b=="spread")return w(Dt);if(b=="[")return zt(li,"]");if(b=="{")return zt(Rn,"}")}function Rn(b,T){return b=="variable"&&!j.stream.match(/^\s*:/,!1)?(G(T),w(on)):(b=="variable"&&(j.marked="property"),b=="spread"?w(Dt):b=="}"?Q():b=="["?w(we,ke("]"),ke(":"),Rn):w(ke(":"),Dt,on))}function li(){return Q(Dt,on)}function on(b,T){if(T=="=")return w(Fe)}function gs(b){if(b==",")return w(kr)}function Sr(b,T){if(b=="keyword b"&&T=="else")return w(Z("form","else"),Le,fe)}function aa(b,T){if(T=="await")return w(aa);if(b=="(")return w(Z(")"),ui,fe)}function ui(b){return b=="var"?w(kr,Mn):b=="variable"?w(Mn):Q(Mn)}function Mn(b,T){return b==")"?w():b==";"?w(Mn):T=="in"||T=="of"?(j.marked="keyword",w(we,Mn)):Q(we,Mn)}function nn(b,T){if(T=="*")return j.marked="keyword",w(nn);if(b=="variable")return G(T),w(nn);if(b=="(")return w(x,Z(")"),Ie(ln,")"),fe,Fn,Le,_e);if(S&&T=="<")return w(Z(">"),Ie(sn,">"),fe,nn)}function $n(b,T){if(T=="*")return j.marked="keyword",w($n);if(b=="variable")return G(T),w($n);if(b=="(")return w(x,Z(")"),Ie(ln,")"),fe,Fn,_e);if(S&&T=="<")return w(Z(">"),Ie(sn,">"),fe,$n)}function sa(b,T){if(b=="keyword"||b=="variable")return j.marked="type",w(sa);if(T=="<")return w(Z(">"),Ie(sn,">"),fe)}function ln(b,T){return T=="@"&&w(we,ln),b=="spread"?w(ln):S&&M(T)?(j.marked="keyword",w(ln)):S&&b=="this"?w(Nn,on):Q(Dt,Nn,on)}function ms(b,T){return b=="variable"?Cr(b,T):un(b,T)}function Cr(b,T){if(b=="variable")return G(T),w(un)}function un(b,T){if(T=="<")return w(Z(">"),Ie(sn,">"),fe,un);if(T=="extends"||T=="implements"||S&&b==",")return T=="implements"&&(j.marked="keyword"),w(S?$e:we,un);if(b=="{")return w(Z("}"),cn,fe)}function cn(b,T){if(b=="async"||b=="variable"&&(T=="static"||T=="get"||T=="set"||S&&M(T))&&j.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1))return j.marked="keyword",w(cn);if(b=="variable"||j.style=="keyword")return j.marked="property",w(tr,cn);if(b=="number"||b=="string")return w(tr,cn);if(b=="[")return w(we,Nn,ke("]"),tr,cn);if(T=="*")return j.marked="keyword",w(cn);if(S&&b=="(")return Q($n,cn);if(b==";"||b==",")return w(cn);if(b=="}")return w();if(T=="@")return w(we,cn)}function tr(b,T){if(T=="!"||T=="?")return w(tr);if(b==":")return w($e,on);if(T=="=")return w(Fe);var q=j.state.lexical.prev,X=q&&q.info=="interface";return Q(X?$n:nn)}function Tr(b,T){return T=="*"?(j.marked="keyword",w(Er,ke(";"))):T=="default"?(j.marked="keyword",w(we,ke(";"))):b=="{"?w(Ie(_r,"}"),Er,ke(";")):Q(Le)}function _r(b,T){if(T=="as")return j.marked="keyword",w(ke("variable"));if(b=="variable")return Q(Fe,_r)}function Pn(b){return b=="string"?w():b=="("?Q(we):b=="."?Q(dt):Q(Lr,yn,Er)}function Lr(b,T){return b=="{"?zt(Lr,"}"):(b=="variable"&&G(T),T=="*"&&(j.marked="keyword"),w(ci))}function yn(b){if(b==",")return w(Lr,yn)}function ci(b,T){if(T=="as")return j.marked="keyword",w(Lr)}function Er(b,T){if(T=="from")return j.marked="keyword",w(we)}function nt(b){return b=="]"?w():Q(Ie(Fe,"]"))}function ce(){return Q(Z("form"),Dt,ke("{"),Z("}"),Ie(Tn,"}"),fe,fe)}function Tn(){return Q(Dt,on)}function fi(b,T){return b.lastType=="operator"||b.lastType==","||W.test(T.charAt(0))||/[,.]/.test(T.charAt(0))}function Xt(b,T,q){return T.tokenize==H&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(T.lastType)||T.lastType=="quasi"&&/\{\s*$/.test(b.string.slice(0,b.pos-(q||0)))}return{startState:function(b){var T={tokenize:H,lastType:"sof",cc:[],lexical:new Re((b||0)-f,0,"block",!1),localVars:u.localVars,context:u.localVars&&new K(null,null,!1),indented:b||0};return u.globalVars&&typeof u.globalVars=="object"&&(T.globalVars=u.globalVars),T},token:function(b,T){if(b.sol()&&(T.lexical.hasOwnProperty("align")||(T.lexical.align=!1),T.indented=b.indentation(),de(b,T)),T.tokenize!=ne&&b.eatSpace())return null;var q=T.tokenize(b,T);return $=="comment"?q:(T.lastType=$=="operator"&&(I=="++"||I=="--")?"incdec":$,Pe(T,q,$,I,b))},indent:function(b,T){if(b.tokenize==ne||b.tokenize==ue)return r.Pass;if(b.tokenize!=H)return 0;var q=T&&T.charAt(0),X=b.lexical,P;if(!/^\s*else\b/.test(T))for(var re=b.cc.length-1;re>=0;--re){var ze=b.cc[re];if(ze==fe)X=X.prev;else if(ze!=Sr&&ze!=_e)break}for(;(X.type=="stat"||X.type=="form")&&(q=="}"||(P=b.cc[b.cc.length-1])&&(P==dt||P==ht)&&!/^[,\.=+\-*:?[\(]/.test(T));)X=X.prev;p&&X.type==")"&&X.prev.type=="stat"&&(X=X.prev);var mt=X.type,Ot=q==mt;return mt=="vardef"?X.indented+(b.lastType=="operator"||b.lastType==","?X.info.length+1:0):mt=="form"&&q=="{"?X.indented:mt=="form"?X.indented+f:mt=="stat"?X.indented+(fi(b,T)?p||f:0):X.info=="switch"&&!Ot&&u.doubleIndentSwitch!=!1?X.indented+(/^(?:case|default)\b/.test(T)?f:2*f):X.align?X.column+(Ot?0:1):X.indented+(Ot?0:f)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:m?null:"/*",blockCommentEnd:m?null:"*/",blockCommentContinue:m?null:" * ",lineComment:m?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:m?"json":"javascript",jsonldMode:y,jsonMode:m,expressionAllowed:Xt,skipExpression:function(b){Pe(b,"atom","atom","true",new r.StringStream("",2,null))}}}),r.registerHelper("wordChars","javascript",/[\w$]/),r.defineMIME("text/javascript","javascript"),r.defineMIME("text/ecmascript","javascript"),r.defineMIME("application/javascript","javascript"),r.defineMIME("application/x-javascript","javascript"),r.defineMIME("application/ecmascript","javascript"),r.defineMIME("application/json",{name:"javascript",json:!0}),r.defineMIME("application/x-json",{name:"javascript",json:!0}),r.defineMIME("application/manifest+json",{name:"javascript",json:!0}),r.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),r.defineMIME("text/typescript",{name:"javascript",typescript:!0}),r.defineMIME("application/typescript",{name:"javascript",typescript:!0})})})(),function(l,n){(function(r){r(jt())})(function(r){var o={pairs:`()[]{}''""`,closeBefore:`)]}'":;>`,triples:"",explode:"[]{}"},u=r.Pos;r.defineOption("autoCloseBrackets",!1,function(I,N,H){H&&H!=r.Init&&(I.removeKeyMap(p),I.state.closeBrackets=null),N&&(y(f(N,"pairs")),I.state.closeBrackets=N,I.addKeyMap(p))});function f(I,N){return N=="pairs"&&typeof I=="string"?I:typeof I=="object"&&I[N]!=null?I[N]:o[N]}var p={Backspace:S,Enter:R};function y(I){for(var N=0;N<I.length;N++){var H=I.charAt(N),V="'"+H+"'";p[V]||(p[V]=m(H))}}y(o.pairs+"`");function m(I){return function(N){return z(N,I)}}function k(I){var N=I.state.closeBrackets;if(!N||N.override)return N;var H=I.getModeAt(I.getCursor());return H.closeBrackets||N}function S(I){var N=k(I);if(!N||I.getOption("disableInput"))return r.Pass;for(var H=f(N,"pairs"),V=I.listSelections(),ne=0;ne<V.length;ne++){if(!V[ne].empty())return r.Pass;var ue=D(I,V[ne].head);if(!ue||H.indexOf(ue)%2!=0)return r.Pass}for(var ne=V.length-1;ne>=0;ne--){var se=V[ne].head;I.replaceRange("",u(se.line,se.ch-1),u(se.line,se.ch+1),"+delete")}}function R(I){var N=k(I),H=N&&f(N,"explode");if(!H||I.getOption("disableInput"))return r.Pass;for(var V=I.listSelections(),ne=0;ne<V.length;ne++){if(!V[ne].empty())return r.Pass;var ue=D(I,V[ne].head);if(!ue||H.indexOf(ue)%2!=0)return r.Pass}I.operation(function(){var se=I.lineSeparator()||`
|
|
25
|
-
`;I.replaceSelection(se+se,null),L(I,-1),V=I.listSelections();for(var de=0;de<V.length;de++){var Oe=V[de].head.line;I.indentLine(Oe,null,!0),I.indentLine(Oe+1,null,!0)}})}function L(I,N){for(var H=[],V=I.listSelections(),ne=0,ue=0;ue<V.length;ue++){var se=V[ue];se.head==I.getCursor()&&(ne=ue);var de=se.head.ch||N>0?{line:se.head.line,ch:se.head.ch+N}:{line:se.head.line-1};H.push({anchor:de,head:de})}I.setSelections(H,ne)}function W(I){var N=r.cmpPos(I.anchor,I.head)>0;return{anchor:new u(I.anchor.line,I.anchor.ch+(N?-1:1)),head:new u(I.head.line,I.head.ch+(N?1:-1))}}function z(I,N){var H=k(I);if(!H||I.getOption("disableInput"))return r.Pass;var V=f(H,"pairs"),ne=V.indexOf(N);if(ne==-1)return r.Pass;for(var ue=f(H,"closeBefore"),se=f(H,"triples"),de=V.charAt(ne+1)==N,Oe=I.listSelections(),Re=ne%2==0,ie,Pe=0;Pe<Oe.length;Pe++){var j=Oe[Pe],Q=j.head,w,J=I.getRange(Q,u(Q.line,Q.ch+1));if(Re&&!j.empty())w="surround";else if((de||!Re)&&J==N)de&&$(I,Q)?w="both":se.indexOf(N)>=0&&I.getRange(Q,u(Q.line,Q.ch+3))==N+N+N?w="skipThree":w="skip";else if(de&&Q.ch>1&&se.indexOf(N)>=0&&I.getRange(u(Q.line,Q.ch-2),Q)==N+N){if(Q.ch>2&&/\bstring/.test(I.getTokenTypeAt(u(Q.line,Q.ch-2))))return r.Pass;w="addFour"}else if(de){var G=Q.ch==0?" ":I.getRange(u(Q.line,Q.ch-1),Q);if(!r.isWordChar(J)&&G!=N&&!r.isWordChar(G))w="both";else return r.Pass}else if(Re&&(J.length===0||/\s/.test(J)||ue.indexOf(J)>-1))w="both";else return r.Pass;if(!ie)ie=w;else if(ie!=w)return r.Pass}var A=ne%2?V.charAt(ne-1):N,M=ne%2?N:V.charAt(ne+1);I.operation(function(){if(ie=="skip")L(I,1);else if(ie=="skipThree")L(I,3);else if(ie=="surround"){for(var K=I.getSelections(),he=0;he<K.length;he++)K[he]=A+K[he]+M;I.replaceSelections(K,"around"),K=I.listSelections().slice();for(var he=0;he<K.length;he++)K[he]=W(K[he]);I.setSelections(K)}else ie=="both"?(I.replaceSelection(A+M,null),I.triggerElectric(A+M),L(I,-1)):ie=="addFour"&&(I.replaceSelection(A+A+A+A,"before"),L(I,1))})}function D(I,N){var H=I.getRange(u(N.line,N.ch-1),u(N.line,N.ch+1));return H.length==2?H:null}function $(I,N){var H=I.getTokenAt(u(N.line,N.ch+1));return/\bstring/.test(H.type)&&H.start==N.ch&&(N.ch==0||!/\bstring/.test(I.getTokenTypeAt(N)))}})}(),function(l,n){(function(r){r(jt())})(function(r){var o=/MSIE \d/.test(navigator.userAgent)&&(document.documentMode==null||document.documentMode<8),u=r.Pos,f={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function p(L){return L&&L.bracketRegex||/[(){}[\]]/}function y(L,W,z){var D=L.getLineHandle(W.line),$=W.ch-1,I=z&&z.afterCursor;I==null&&(I=/(^| )cm-fat-cursor($| )/.test(L.getWrapperElement().className));var N=p(z),H=!I&&$>=0&&N.test(D.text.charAt($))&&f[D.text.charAt($)]||N.test(D.text.charAt($+1))&&f[D.text.charAt(++$)];if(!H)return null;var V=H.charAt(1)==">"?1:-1;if(z&&z.strict&&V>0!=($==W.ch))return null;var ne=L.getTokenTypeAt(u(W.line,$+1)),ue=m(L,u(W.line,$+(V>0?1:0)),V,ne,z);return ue==null?null:{from:u(W.line,$),to:ue&&ue.pos,match:ue&&ue.ch==H.charAt(0),forward:V>0}}function m(L,W,z,D,$){for(var I=$&&$.maxScanLineLength||1e4,N=$&&$.maxScanLines||1e3,H=[],V=p($),ne=z>0?Math.min(W.line+N,L.lastLine()+1):Math.max(L.firstLine()-1,W.line-N),ue=W.line;ue!=ne;ue+=z){var se=L.getLine(ue);if(se){var de=z>0?0:se.length-1,Oe=z>0?se.length:-1;if(!(se.length>I))for(ue==W.line&&(de=W.ch-(z<0?1:0));de!=Oe;de+=z){var Re=se.charAt(de);if(V.test(Re)&&(D===void 0||(L.getTokenTypeAt(u(ue,de+1))||"")==(D||""))){var ie=f[Re];if(ie&&ie.charAt(1)==">"==z>0)H.push(Re);else if(H.length)H.pop();else return{pos:u(ue,de),ch:Re}}}}}return ue-z==(z>0?L.lastLine():L.firstLine())?!1:null}function k(L,W,z){for(var D=L.state.matchBrackets.maxHighlightLineLength||1e3,$=z&&z.highlightNonMatching,I=[],N=L.listSelections(),H=0;H<N.length;H++){var V=N[H].empty()&&y(L,N[H].head,z);if(V&&(V.match||$!==!1)&&L.getLine(V.from.line).length<=D){var ne=V.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";I.push(L.markText(V.from,u(V.from.line,V.from.ch+1),{className:ne})),V.to&&L.getLine(V.to.line).length<=D&&I.push(L.markText(V.to,u(V.to.line,V.to.ch+1),{className:ne}))}}if(I.length){o&&L.state.focused&&L.focus();var ue=function(){L.operation(function(){for(var se=0;se<I.length;se++)I[se].clear()})};if(W)setTimeout(ue,800);else return ue}}function S(L){L.operation(function(){L.state.matchBrackets.currentlyHighlighted&&(L.state.matchBrackets.currentlyHighlighted(),L.state.matchBrackets.currentlyHighlighted=null),L.state.matchBrackets.currentlyHighlighted=k(L,!1,L.state.matchBrackets)})}function R(L){L.state.matchBrackets&&L.state.matchBrackets.currentlyHighlighted&&(L.state.matchBrackets.currentlyHighlighted(),L.state.matchBrackets.currentlyHighlighted=null)}r.defineOption("matchBrackets",!1,function(L,W,z){z&&z!=r.Init&&(L.off("cursorActivity",S),L.off("focus",S),L.off("blur",R),R(L)),W&&(L.state.matchBrackets=typeof W=="object"?W:{},L.on("cursorActivity",S),L.on("focus",S),L.on("blur",R))}),r.defineExtension("matchBrackets",function(){k(this,!0)}),r.defineExtension("findMatchingBracket",function(L,W,z){return(z||typeof W=="boolean")&&(z?(z.strict=W,W=z):W=W?{strict:!0}:null),y(this,L,W)}),r.defineExtension("scanForBracket",function(L,W,z,D){return m(this,L,W,z,D)})})}();var Zc={exports:{}};(function(l,n){(function(r){r(jt())})(function(r){function o(y,m,k,S){if(k&&k.call){var R=k;k=null}else var R=p(y,k,"rangeFinder");typeof m=="number"&&(m=r.Pos(m,0));var L=p(y,k,"minFoldSize");function W(I){var N=R(y,m);if(!N||N.to.line-N.from.line<L)return null;if(S==="fold")return N;for(var H=y.findMarksAt(N.from),V=0;V<H.length;++V)if(H[V].__isFold){if(!I)return null;N.cleared=!0,H[V].clear()}return N}var z=W(!0);if(p(y,k,"scanUp"))for(;!z&&m.line>y.firstLine();)m=r.Pos(m.line-1,0),z=W(!1);if(!(!z||z.cleared||S==="unfold")){var D=u(y,k,z);r.on(D,"mousedown",function(I){$.clear(),r.e_preventDefault(I)});var $=y.markText(z.from,z.to,{replacedWith:D,clearOnEnter:p(y,k,"clearOnEnter"),__isFold:!0});$.on("clear",function(I,N){r.signal(y,"unfold",y,I,N)}),r.signal(y,"fold",y,z.from,z.to)}}function u(y,m,k){var S=p(y,m,"widget");if(typeof S=="function"&&(S=S(k.from,k.to)),typeof S=="string"){var R=document.createTextNode(S);S=document.createElement("span"),S.appendChild(R),S.className="CodeMirror-foldmarker"}else S&&(S=S.cloneNode(!0));return S}r.newFoldFunction=function(y,m){return function(k,S){o(k,S,{rangeFinder:y,widget:m})}},r.defineExtension("foldCode",function(y,m,k){o(this,y,m,k)}),r.defineExtension("isFolded",function(y){for(var m=this.findMarksAt(y),k=0;k<m.length;++k)if(m[k].__isFold)return!0}),r.commands.toggleFold=function(y){y.foldCode(y.getCursor())},r.commands.fold=function(y){y.foldCode(y.getCursor(),null,"fold")},r.commands.unfold=function(y){y.foldCode(y.getCursor(),{scanUp:!1},"unfold")},r.commands.foldAll=function(y){y.operation(function(){for(var m=y.firstLine(),k=y.lastLine();m<=k;m++)y.foldCode(r.Pos(m,0),{scanUp:!1},"fold")})},r.commands.unfoldAll=function(y){y.operation(function(){for(var m=y.firstLine(),k=y.lastLine();m<=k;m++)y.foldCode(r.Pos(m,0),{scanUp:!1},"unfold")})},r.registerHelper("fold","combine",function(){var y=Array.prototype.slice.call(arguments,0);return function(m,k){for(var S=0;S<y.length;++S){var R=y[S](m,k);if(R)return R}}}),r.registerHelper("fold","auto",function(y,m){for(var k=y.getHelpers(m,"fold"),S=0;S<k.length;S++){var R=k[S](y,m);if(R)return R}});var f={rangeFinder:r.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};r.defineOption("foldOptions",null);function p(y,m,k){if(m&&m[k]!==void 0)return m[k];var S=y.options.foldOptions;return S&&S[k]!==void 0?S[k]:f[k]}r.defineExtension("foldOption",function(y,m){return p(this,y,m)})})})();var ef=Zc.exports;(function(l,n){(function(r){r(jt(),ef)})(function(r){r.defineOption("foldGutter",!1,function($,I,N){N&&N!=r.Init&&($.clearGutter($.state.foldGutter.options.gutter),$.state.foldGutter=null,$.off("gutterClick",R),$.off("changes",W),$.off("viewportChange",z),$.off("fold",D),$.off("unfold",D),$.off("swapDoc",W),$.off("optionChange",L)),I&&($.state.foldGutter=new u(f(I)),S($),$.on("gutterClick",R),$.on("changes",W),$.on("viewportChange",z),$.on("fold",D),$.on("unfold",D),$.on("swapDoc",W),$.on("optionChange",L))});var o=r.Pos;function u($){this.options=$,this.from=this.to=0}function f($){return $===!0&&($={}),$.gutter==null&&($.gutter="CodeMirror-foldgutter"),$.indicatorOpen==null&&($.indicatorOpen="CodeMirror-foldgutter-open"),$.indicatorFolded==null&&($.indicatorFolded="CodeMirror-foldgutter-folded"),$}function p($,I){for(var N=$.findMarks(o(I,0),o(I+1,0)),H=0;H<N.length;++H)if(N[H].__isFold){var V=N[H].find(-1);if(V&&V.line===I)return N[H]}}function y($){if(typeof $=="string"){var I=document.createElement("div");return I.className=$+" CodeMirror-guttermarker-subtle",I}else return $.cloneNode(!0)}function m($,I,N){var H=$.state.foldGutter.options,V=I-1,ne=$.foldOption(H,"minFoldSize"),ue=$.foldOption(H,"rangeFinder"),se=typeof H.indicatorFolded=="string"&&k(H.indicatorFolded),de=typeof H.indicatorOpen=="string"&&k(H.indicatorOpen);$.eachLine(I,N,function(Oe){++V;var Re=null,ie=Oe.gutterMarkers;if(ie&&(ie=ie[H.gutter]),p($,V)){if(se&&ie&&se.test(ie.className))return;Re=y(H.indicatorFolded)}else{var Pe=o(V,0),j=ue&&ue($,Pe);if(j&&j.to.line-j.from.line>=ne){if(de&&ie&&de.test(ie.className))return;Re=y(H.indicatorOpen)}}!Re&&!ie||$.setGutterMarker(Oe,H.gutter,Re)})}function k($){return new RegExp("(^|\\s)"+$+"(?:$|\\s)\\s*")}function S($){var I=$.getViewport(),N=$.state.foldGutter;N&&($.operation(function(){m($,I.from,I.to)}),N.from=I.from,N.to=I.to)}function R($,I,N){var H=$.state.foldGutter;if(H){var V=H.options;if(N==V.gutter){var ne=p($,I);ne?ne.clear():$.foldCode(o(I,0),V)}}}function L($,I){I=="mode"&&W($)}function W($){var I=$.state.foldGutter;if(I){var N=I.options;I.from=I.to=0,clearTimeout(I.changeUpdate),I.changeUpdate=setTimeout(function(){S($)},N.foldOnChangeTimeSpan||600)}}function z($){var I=$.state.foldGutter;if(I){var N=I.options;clearTimeout(I.changeUpdate),I.changeUpdate=setTimeout(function(){var H=$.getViewport();I.from==I.to||H.from-I.to>20||I.from-H.to>20?S($):$.operation(function(){H.from<I.from&&(m($,H.from,I.from),I.from=H.from),H.to>I.to&&(m($,I.to,H.to),I.to=H.to)})},N.updateViewportTimeSpan||400)}}function D($,I){var N=$.state.foldGutter;if(N){var H=I.line;H>=N.from&&H<N.to&&m($,H,H+1)}}})})(),function(l,n){(function(r){r(jt())})(function(r){function o(u){return function(f,p){var y=p.line,m=f.getLine(y);function k(D){for(var $,I=p.ch,N=0;;){var H=I<=0?-1:m.lastIndexOf(D[0],I-1);if(H==-1){if(N==1)break;N=1,I=m.length;continue}if(N==1&&H<p.ch)break;if($=f.getTokenTypeAt(r.Pos(y,H+1)),!/^(comment|string)/.test($))return{ch:H+1,tokenType:$,pair:D};I=H-1}}function S(D){var $=1,I=f.lastLine(),N,H=D.ch,V;e:for(var ne=y;ne<=I;++ne)for(var ue=f.getLine(ne),se=ne==y?H:0;;){var de=ue.indexOf(D.pair[0],se),Oe=ue.indexOf(D.pair[1],se);if(de<0&&(de=ue.length),Oe<0&&(Oe=ue.length),se=Math.min(de,Oe),se==ue.length)break;if(f.getTokenTypeAt(r.Pos(ne,se+1))==D.tokenType){if(se==de)++$;else if(!--$){N=ne,V=se;break e}}++se}return N==null||y==N?null:{from:r.Pos(y,H),to:r.Pos(N,V)}}for(var R=[],L=0;L<u.length;L++){var W=k(u[L]);W&&R.push(W)}R.sort(function(D,$){return D.ch-$.ch});for(var L=0;L<R.length;L++){var z=S(R[L]);if(z)return z}return null}}r.registerHelper("fold","brace",o([["{","}"],["[","]"]])),r.registerHelper("fold","brace-paren",o([["{","}"],["[","]"],["(",")"]])),r.registerHelper("fold","import",function(u,f){function p(L){if(L<u.firstLine()||L>u.lastLine())return null;var W=u.getTokenAt(r.Pos(L,1));if(/\S/.test(W.string)||(W=u.getTokenAt(r.Pos(L,W.end+1))),W.type!="keyword"||W.string!="import")return null;for(var z=L,D=Math.min(u.lastLine(),L+10);z<=D;++z){var $=u.getLine(z),I=$.indexOf(";");if(I!=-1)return{startCh:W.end,end:r.Pos(z,I)}}}var y=f.line,m=p(y),k;if(!m||p(y-1)||(k=p(y-2))&&k.end.line==y-1)return null;for(var S=m.end;;){var R=p(S.line+1);if(R==null)break;S=R.end}return{from:u.clipPos(r.Pos(y,m.startCh+1)),to:S}}),r.registerHelper("fold","include",function(u,f){function p(R){if(R<u.firstLine()||R>u.lastLine())return null;var L=u.getTokenAt(r.Pos(R,1));if(/\S/.test(L.string)||(L=u.getTokenAt(r.Pos(R,L.end+1))),L.type=="meta"&&L.string.slice(0,8)=="#include")return L.start+8}var y=f.line,m=p(y);if(m==null||p(y-1)!=null)return null;for(var k=y;;){var S=p(k+1);if(S==null)break;++k}return{from:r.Pos(y,m+1),to:u.clipPos(r.Pos(k))}})})}(),function(l,n){(function(r){r(jt())})(function(r){function o(u,f){var p=u.getLine(f),y=p.search(/\S/);return y==-1||/\bcomment\b/.test(u.getTokenTypeAt(r.Pos(f,y+1)))?-1:r.countColumn(p,null,u.getOption("tabSize"))}r.registerHelper("fold","indent",function(u,f){var p=o(u,f.line);if(!(p<0)){for(var y=null,m=f.line+1,k=u.lastLine();m<=k;++m){var S=o(u,m);if(S!=-1)if(S>p)y=m;else break}if(y)return{from:r.Pos(f.line,u.getLine(f.line).length),to:r.Pos(y,u.getLine(y).length)}}})})}(),function(l,n){(function(r){r(jt())})(function(r){r.defineOption("autoRefresh",!1,function(f,p){f.state.autoRefresh&&(u(f,f.state.autoRefresh),f.state.autoRefresh=null),p&&f.display.wrapper.offsetHeight==0&&o(f,f.state.autoRefresh={delay:p.delay||250})});function o(f,p){function y(){f.display.wrapper.offsetHeight?(u(f,p),f.display.lastWrapHeight!=f.display.wrapper.clientHeight&&f.refresh()):p.timeout=setTimeout(y,p.delay)}p.timeout=setTimeout(y,p.delay),p.hurry=function(){clearTimeout(p.timeout),p.timeout=setTimeout(y,50)},r.on(window,"mouseup",p.hurry),r.on(window,"keyup",p.hurry)}function u(f,p){clearTimeout(p.timeout),r.off(window,"mouseup",p.hurry),r.off(window,"keyup",p.hurry)}})}();const po=it.defineStore("trace",{state:()=>({traces:[],currentTrace:null}),getters:{getTraces:l=>l.traces,getCurrentTrace:l=>l.currentTrace},actions:{setTraces(l){this.traces=l},setCurrentTrace(l){this.currentTrace=l}}}),go=()=>{var l;return typeof window<"u"&&((l=window.GF_LOCAL_CONFIG)!=null&&l.TRACE_API_BASE_URL)?window.GF_LOCAL_CONFIG.TRACE_API_BASE_URL:"/tracing"},zi=l=>{if(!l||typeof l!="string")return"";const n=go(),r=typeof window<"u"&&n.startsWith("/")?window.location.origin:"";return`${n.startsWith("http")?n:r+n}/v1/file/download?url=${encodeURIComponent(l)}`},qt=Jt.create({baseURL:go(),timeout:36e5}),kt={getExperiments(){return qt.post("/experiments/search").then(l=>l.data)},getDictList(){return qt.get("/v1/dict/list").then(l=>l.data)},getSetting(){return qt.get("/setting").then(l=>l.data)},getTraceList(l,n,r,o,u,f,p,y,m){const k={};return l&&(k.query=l),n&&(k.startTime=n),r&&(k.endTime=r),o&&(k.pageNum=o),u&&(k.pageSize=u),f&&(k.experimentId=f),p&&(k.status=p),y&&(k.traceType=y),m&&(k.sortBy=m),qt.get("/v1/trace",{params:k}).then(S=>S.data)},getTraceDetail(l){return qt.get(`/v1/trace/${l}`).then(n=>n.data)},getTraceSpans(l,n={}){const{query:r="",has_events:o,page_num:u=1,page_size:f=100,span_type:p}=n,y={query:r||"",page_num:u,page_size:f};return o===!0&&(y.has_events=!0),p&&(y.span_type=p),qt.post(`/v1/trace/${l}/spans`,y).then(m=>m.data)},getSpanContent(l,n){return qt.get(`/v1/trace/${l}/span/${n}/content`).then(r=>r.data)},removeTraces(l){return!Array.isArray(l)||l.length===0?Promise.resolve():qt.post("/v1/trace/removeTraces",l).then(n=>n.data)},exportTraces(l){return!Array.isArray(l)||l.length===0?Promise.reject(new Error("traceIds is required")):qt.post("/v1/trace/exportTraces",l,{headers:{"Content-Type":"application/json"}}).then(n=>n.data)},importTraces(l){if(!l)return Promise.reject(new Error("file is required"));const n=new FormData;return n.append("file",l),qt.post("/v1/trace/importTraces",n).then(r=>r.data)},deleteTraces(l,n,r,o,u){const f={};return l&&(f.query=l),n&&(f.startTime=n),r&&(f.endTime=r),o&&(f.experimentId=o),u&&(f.status=u),qt.delete("/v1/trace",{params:f}).then(p=>p.data)},debugTrace(l,n={}){return qt.post("/debug",l,{headers:n}).then(r=>r.data)},getPromptTokens(l){return qt.post("/v1/trace/getPromptTokens",l).then(n=>n.data)}};function tf(l){const n=document.createElement("textarea");n.value=l,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",n.style.top="0",document.body.appendChild(n),n.select();try{const r=document.execCommand("copy");return document.body.removeChild(n),r}catch{return document.body.removeChild(n),!1}}function Bi(l,n){if(!l){n.$message.warning(n.$t("debug.copyEmpty"));return}const r=String(l);tf(r)?n.$message.success(n.$t("debug.copySuccess")):n.$message.error(n.$t("debug.copyFailed"))}function mo(l){if(!l)return"-";const n=l/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`}function vo(l){if(!l)return"-";const n=l/1e6,r=new Date(n),o=r.getFullYear(),u=String(r.getMonth()+1).padStart(2,"0"),f=String(r.getDate()).padStart(2,"0"),p=String(r.getHours()).padStart(2,"0"),y=String(r.getMinutes()).padStart(2,"0"),m=String(r.getSeconds()).padStart(2,"0");return`${o}/${u}/${f} ${p}:${y}:${m}`}function nf(l,n,r="-"){return!l||!n?"-":`${vo(l)} ${r} ${vo(n)}`}function yo(l){const n={SERVER:"primary",CHAT_MODEL:"success",LLM:"success",CLIENT:"",INTERNAL:"info",EMBEDDING:"",CHAIN:"warning",AGENT:"danger",TOOL:"info",JOB:"warning",FUNCTION:"info"};return n[l]!==void 0?n[l]:"info"}function bo(l){return{CLIENT:"rgb(141 252 245)",EMBEDDING:"rgb(248 246 130)"}[l]||void 0}function xo(l){return l.status_description?l.status_description:""}function wo(l,n,r){if(!n||!r||n===r)return{width:"100%"};const o=r-n,u=l.start_time_unix_nano-n,f=l.duration_ns,p=u/o*100,y=f/o*100;return{left:`${p}%`,width:`${y}%`}}var ko={exports:{}};(function(l,n){(function(r,o){l.exports=o(jt())})(fo,function(r){return function(o){function u(p){if(f[p])return f[p].exports;var y=f[p]={i:p,l:!1,exports:{}};return o[p].call(y.exports,y,y.exports,u),y.l=!0,y.exports}var f={};return u.m=o,u.c=f,u.i=function(p){return p},u.d=function(p,y,m){u.o(p,y)||Object.defineProperty(p,y,{configurable:!1,enumerable:!0,get:m})},u.n=function(p){var y=p&&p.__esModule?function(){return p.default}:function(){return p};return u.d(y,"a",y),y},u.o=function(p,y){return Object.prototype.hasOwnProperty.call(p,y)},u.p="/",u(u.s=3)}([function(o,u){o.exports=r},function(o,u,f){Object.defineProperty(u,"__esModule",{value:!0});var p=f(0),y=function(k){return k&&k.__esModule?k:{default:k}}(p),m=window.CodeMirror||y.default;typeof Object.assign!="function"&&Object.defineProperty(Object,"assign",{value:function(k,S){if(k==null)throw new TypeError("Cannot convert undefined or null to object");for(var R=Object(k),L=1;L<arguments.length;L++){var W=arguments[L];if(W!=null)for(var z in W)Object.prototype.hasOwnProperty.call(W,z)&&(R[z]=W[z])}return R},writable:!0,configurable:!0}),u.default={name:"codemirror",data:function(){return{content:"",codemirror:null,cminstance:null}},props:{code:String,value:String,marker:Function,unseenLines:Array,name:{type:String,default:"codemirror"},placeholder:{type:String,default:""},merge:{type:Boolean,default:!1},options:{type:Object,default:function(){return{}}},events:{type:Array,default:function(){return[]}},globalOptions:{type:Object,default:function(){return{}}},globalEvents:{type:Array,default:function(){return[]}}},watch:{options:{deep:!0,handler:function(k){for(var S in k)this.cminstance.setOption(S,k[S])}},merge:function(){this.$nextTick(this.switchMerge)},code:function(k){this.handerCodeChange(k)},value:function(k){this.handerCodeChange(k)}},methods:{initialize:function(){var k=this,S=Object.assign({},this.globalOptions,this.options);this.merge?(this.codemirror=m.MergeView(this.$refs.mergeview,S),this.cminstance=this.codemirror.edit):(this.codemirror=m.fromTextArea(this.$refs.textarea,S),this.cminstance=this.codemirror,this.cminstance.setValue(this.code||this.value||this.content)),this.cminstance.on("change",function(L){k.content=L.getValue(),k.$emit&&k.$emit("input",k.content)});var R={};["scroll","changes","beforeChange","cursorActivity","keyHandled","inputRead","electricInput","beforeSelectionChange","viewportChange","swapDoc","gutterClick","gutterContextMenu","focus","blur","refresh","optionChange","scrollCursorIntoView","update"].concat(this.events).concat(this.globalEvents).filter(function(L){return!R[L]&&(R[L]=!0)}).forEach(function(L){k.cminstance.on(L,function(){for(var W=arguments.length,z=Array(W),D=0;D<W;D++)z[D]=arguments[D];k.$emit.apply(k,[L].concat(z));var $=L.replace(/([A-Z])/g,"-$1").toLowerCase();$!==L&&k.$emit.apply(k,[$].concat(z))})}),this.$emit("ready",this.codemirror),this.unseenLineMarkers(),this.refresh()},refresh:function(){var k=this;this.$nextTick(function(){k.cminstance.refresh()})},destroy:function(){var k=this.cminstance.doc.cm.getWrapperElement();k&&k.remove&&k.remove()},handerCodeChange:function(k){if(k!==this.cminstance.getValue()){var S=this.cminstance.getScrollInfo();this.cminstance.setValue(k),this.content=k,this.cminstance.scrollTo(S.left,S.top)}this.unseenLineMarkers()},unseenLineMarkers:function(){var k=this;this.unseenLines!==void 0&&this.marker!==void 0&&this.unseenLines.forEach(function(S){var R=k.cminstance.lineInfo(S);k.cminstance.setGutterMarker(S,"breakpoints",R.gutterMarkers?null:k.marker())})},switchMerge:function(){var k=this.cminstance.doc.history,S=this.cminstance.doc.cleanGeneration;this.options.value=this.cminstance.getValue(),this.destroy(),this.initialize(),this.cminstance.doc.history=k,this.cminstance.doc.cleanGeneration=S}},mounted:function(){this.initialize()},beforeDestroy:function(){this.destroy()}}},function(o,u,f){Object.defineProperty(u,"__esModule",{value:!0});var p=f(1),y=f.n(p);for(var m in p)["default","default"].indexOf(m)<0&&function(L){f.d(u,L,function(){return p[L]})}(m);var k=f(5),S=f(4),R=S(y.a,k.a,!1,null,null,null);u.default=R.exports},function(o,u,f){function p(z){return z&&z.__esModule?z:{default:z}}Object.defineProperty(u,"__esModule",{value:!0}),u.install=u.codemirror=u.CodeMirror=void 0;var y=f(0),m=p(y),k=f(2),S=p(k),R=window.CodeMirror||m.default,L=function(z,D){D&&(D.options&&(S.default.props.globalOptions.default=function(){return D.options}),D.events&&(S.default.props.globalEvents.default=function(){return D.events})),z.component(S.default.name,S.default)},W={CodeMirror:R,codemirror:S.default,install:L};u.default=W,u.CodeMirror=R,u.codemirror=S.default,u.install=L},function(o,u){o.exports=function(f,p,y,m,k,S){var R,L=f=f||{},W=typeof f.default;W!=="object"&&W!=="function"||(R=f,L=f.default);var z=typeof L=="function"?L.options:L;p&&(z.render=p.render,z.staticRenderFns=p.staticRenderFns,z._compiled=!0),y&&(z.functional=!0),k&&(z._scopeId=k);var D;if(S?(D=function(N){N=N||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,N||typeof __VUE_SSR_CONTEXT__>"u"||(N=__VUE_SSR_CONTEXT__),m&&m.call(this,N),N&&N._registeredComponents&&N._registeredComponents.add(S)},z._ssrRegister=D):m&&(D=m),D){var $=z.functional,I=$?z.render:z.beforeCreate;$?(z._injectStyles=D,z.render=function(N,H){return D.call(H),I(N,H)}):z.beforeCreate=I?[].concat(I,D):[D]}return{esModule:R,exports:L,options:z}}},function(o,u,f){var p=function(){var k=this,S=k.$createElement,R=k._self._c||S;return R("div",{staticClass:"vue-codemirror",class:{merge:k.merge}},[k.merge?R("div",{ref:"mergeview"}):R("textarea",{ref:"textarea",attrs:{name:k.name,placeholder:k.placeholder}})])},y=[],m={render:p,staticRenderFns:y};u.a=m}])})})(ko);var za=ko.exports;function Ba(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let Vn=Ba();function So(l){Vn=l}const Co=/[&<>"']/,rf=new RegExp(Co.source,"g"),To=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,af=new RegExp(To.source,"g"),sf={"&":"&","<":"<",">":">",'"':""","'":"'"},_o=l=>sf[l];function Ut(l,n){if(n){if(Co.test(l))return l.replace(rf,_o)}else if(To.test(l))return l.replace(af,_o);return l}const of=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function lf(l){return l.replace(of,(n,r)=>(r=r.toLowerCase(),r==="colon"?":":r.charAt(0)==="#"?r.charAt(1)==="x"?String.fromCharCode(parseInt(r.substring(2),16)):String.fromCharCode(+r.substring(1)):""))}const uf=/(^|[^\[])\^/g;function je(l,n){let r=typeof l=="string"?l:l.source;n=n||"";const o={replace:(u,f)=>{let p=typeof f=="string"?f:f.source;return p=p.replace(uf,"$1"),r=r.replace(u,p),o},getRegex:()=>new RegExp(r,n)};return o}function Lo(l){try{l=encodeURI(l).replace(/%25/g,"%")}catch{return null}return l}const Xr={exec:()=>null};function Eo(l,n){const r=l.replace(/\|/g,(f,p,y)=>{let m=!1,k=p;for(;--k>=0&&y[k]==="\\";)m=!m;return m?"|":" |"}),o=r.split(/ \|/);let u=0;if(o[0].trim()||o.shift(),o.length>0&&!o[o.length-1].trim()&&o.pop(),n)if(o.length>n)o.splice(n);else for(;o.length<n;)o.push("");for(;u<o.length;u++)o[u]=o[u].trim().replace(/\\\|/g,"|");return o}function Hi(l,n,r){const o=l.length;if(o===0)return"";let u=0;for(;u<o&&l.charAt(o-u-1)===n;)u++;return l.slice(0,o-u)}function cf(l,n){if(l.indexOf(n[1])===-1)return-1;let r=0;for(let o=0;o<l.length;o++)if(l[o]==="\\")o++;else if(l[o]===n[0])r++;else if(l[o]===n[1]&&(r--,r<0))return o;return-1}function Io(l,n,r,o){const u=n.href,f=n.title?Ut(n.title):null,p=l[1].replace(/\\([\[\]])/g,"$1");if(l[0].charAt(0)!=="!"){o.state.inLink=!0;const y={type:"link",raw:r,href:u,title:f,text:p,tokens:o.inlineTokens(p)};return o.state.inLink=!1,y}return{type:"image",raw:r,href:u,title:f,text:Ut(p)}}function ff(l,n){const r=l.match(/^(\s+)(?:```)/);if(r===null)return n;const o=r[1];return n.split(`
|
|
25
|
+
`;I.replaceSelection(se+se,null),L(I,-1),V=I.listSelections();for(var de=0;de<V.length;de++){var Oe=V[de].head.line;I.indentLine(Oe,null,!0),I.indentLine(Oe+1,null,!0)}})}function L(I,N){for(var H=[],V=I.listSelections(),ne=0,ue=0;ue<V.length;ue++){var se=V[ue];se.head==I.getCursor()&&(ne=ue);var de=se.head.ch||N>0?{line:se.head.line,ch:se.head.ch+N}:{line:se.head.line-1};H.push({anchor:de,head:de})}I.setSelections(H,ne)}function W(I){var N=r.cmpPos(I.anchor,I.head)>0;return{anchor:new u(I.anchor.line,I.anchor.ch+(N?-1:1)),head:new u(I.head.line,I.head.ch+(N?1:-1))}}function z(I,N){var H=k(I);if(!H||I.getOption("disableInput"))return r.Pass;var V=f(H,"pairs"),ne=V.indexOf(N);if(ne==-1)return r.Pass;for(var ue=f(H,"closeBefore"),se=f(H,"triples"),de=V.charAt(ne+1)==N,Oe=I.listSelections(),Re=ne%2==0,ie,Pe=0;Pe<Oe.length;Pe++){var j=Oe[Pe],Q=j.head,w,J=I.getRange(Q,u(Q.line,Q.ch+1));if(Re&&!j.empty())w="surround";else if((de||!Re)&&J==N)de&&$(I,Q)?w="both":se.indexOf(N)>=0&&I.getRange(Q,u(Q.line,Q.ch+3))==N+N+N?w="skipThree":w="skip";else if(de&&Q.ch>1&&se.indexOf(N)>=0&&I.getRange(u(Q.line,Q.ch-2),Q)==N+N){if(Q.ch>2&&/\bstring/.test(I.getTokenTypeAt(u(Q.line,Q.ch-2))))return r.Pass;w="addFour"}else if(de){var G=Q.ch==0?" ":I.getRange(u(Q.line,Q.ch-1),Q);if(!r.isWordChar(J)&&G!=N&&!r.isWordChar(G))w="both";else return r.Pass}else if(Re&&(J.length===0||/\s/.test(J)||ue.indexOf(J)>-1))w="both";else return r.Pass;if(!ie)ie=w;else if(ie!=w)return r.Pass}var A=ne%2?V.charAt(ne-1):N,M=ne%2?N:V.charAt(ne+1);I.operation(function(){if(ie=="skip")L(I,1);else if(ie=="skipThree")L(I,3);else if(ie=="surround"){for(var K=I.getSelections(),he=0;he<K.length;he++)K[he]=A+K[he]+M;I.replaceSelections(K,"around"),K=I.listSelections().slice();for(var he=0;he<K.length;he++)K[he]=W(K[he]);I.setSelections(K)}else ie=="both"?(I.replaceSelection(A+M,null),I.triggerElectric(A+M),L(I,-1)):ie=="addFour"&&(I.replaceSelection(A+A+A+A,"before"),L(I,1))})}function D(I,N){var H=I.getRange(u(N.line,N.ch-1),u(N.line,N.ch+1));return H.length==2?H:null}function $(I,N){var H=I.getTokenAt(u(N.line,N.ch+1));return/\bstring/.test(H.type)&&H.start==N.ch&&(N.ch==0||!/\bstring/.test(I.getTokenTypeAt(N)))}})}(),function(l,n){(function(r){r(jt())})(function(r){var o=/MSIE \d/.test(navigator.userAgent)&&(document.documentMode==null||document.documentMode<8),u=r.Pos,f={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function p(L){return L&&L.bracketRegex||/[(){}[\]]/}function y(L,W,z){var D=L.getLineHandle(W.line),$=W.ch-1,I=z&&z.afterCursor;I==null&&(I=/(^| )cm-fat-cursor($| )/.test(L.getWrapperElement().className));var N=p(z),H=!I&&$>=0&&N.test(D.text.charAt($))&&f[D.text.charAt($)]||N.test(D.text.charAt($+1))&&f[D.text.charAt(++$)];if(!H)return null;var V=H.charAt(1)==">"?1:-1;if(z&&z.strict&&V>0!=($==W.ch))return null;var ne=L.getTokenTypeAt(u(W.line,$+1)),ue=m(L,u(W.line,$+(V>0?1:0)),V,ne,z);return ue==null?null:{from:u(W.line,$),to:ue&&ue.pos,match:ue&&ue.ch==H.charAt(0),forward:V>0}}function m(L,W,z,D,$){for(var I=$&&$.maxScanLineLength||1e4,N=$&&$.maxScanLines||1e3,H=[],V=p($),ne=z>0?Math.min(W.line+N,L.lastLine()+1):Math.max(L.firstLine()-1,W.line-N),ue=W.line;ue!=ne;ue+=z){var se=L.getLine(ue);if(se){var de=z>0?0:se.length-1,Oe=z>0?se.length:-1;if(!(se.length>I))for(ue==W.line&&(de=W.ch-(z<0?1:0));de!=Oe;de+=z){var Re=se.charAt(de);if(V.test(Re)&&(D===void 0||(L.getTokenTypeAt(u(ue,de+1))||"")==(D||""))){var ie=f[Re];if(ie&&ie.charAt(1)==">"==z>0)H.push(Re);else if(H.length)H.pop();else return{pos:u(ue,de),ch:Re}}}}}return ue-z==(z>0?L.lastLine():L.firstLine())?!1:null}function k(L,W,z){for(var D=L.state.matchBrackets.maxHighlightLineLength||1e3,$=z&&z.highlightNonMatching,I=[],N=L.listSelections(),H=0;H<N.length;H++){var V=N[H].empty()&&y(L,N[H].head,z);if(V&&(V.match||$!==!1)&&L.getLine(V.from.line).length<=D){var ne=V.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";I.push(L.markText(V.from,u(V.from.line,V.from.ch+1),{className:ne})),V.to&&L.getLine(V.to.line).length<=D&&I.push(L.markText(V.to,u(V.to.line,V.to.ch+1),{className:ne}))}}if(I.length){o&&L.state.focused&&L.focus();var ue=function(){L.operation(function(){for(var se=0;se<I.length;se++)I[se].clear()})};if(W)setTimeout(ue,800);else return ue}}function S(L){L.operation(function(){L.state.matchBrackets.currentlyHighlighted&&(L.state.matchBrackets.currentlyHighlighted(),L.state.matchBrackets.currentlyHighlighted=null),L.state.matchBrackets.currentlyHighlighted=k(L,!1,L.state.matchBrackets)})}function R(L){L.state.matchBrackets&&L.state.matchBrackets.currentlyHighlighted&&(L.state.matchBrackets.currentlyHighlighted(),L.state.matchBrackets.currentlyHighlighted=null)}r.defineOption("matchBrackets",!1,function(L,W,z){z&&z!=r.Init&&(L.off("cursorActivity",S),L.off("focus",S),L.off("blur",R),R(L)),W&&(L.state.matchBrackets=typeof W=="object"?W:{},L.on("cursorActivity",S),L.on("focus",S),L.on("blur",R))}),r.defineExtension("matchBrackets",function(){k(this,!0)}),r.defineExtension("findMatchingBracket",function(L,W,z){return(z||typeof W=="boolean")&&(z?(z.strict=W,W=z):W=W?{strict:!0}:null),y(this,L,W)}),r.defineExtension("scanForBracket",function(L,W,z,D){return m(this,L,W,z,D)})})}();var Zc={exports:{}};(function(l,n){(function(r){r(jt())})(function(r){function o(y,m,k,S){if(k&&k.call){var R=k;k=null}else var R=p(y,k,"rangeFinder");typeof m=="number"&&(m=r.Pos(m,0));var L=p(y,k,"minFoldSize");function W(I){var N=R(y,m);if(!N||N.to.line-N.from.line<L)return null;if(S==="fold")return N;for(var H=y.findMarksAt(N.from),V=0;V<H.length;++V)if(H[V].__isFold){if(!I)return null;N.cleared=!0,H[V].clear()}return N}var z=W(!0);if(p(y,k,"scanUp"))for(;!z&&m.line>y.firstLine();)m=r.Pos(m.line-1,0),z=W(!1);if(!(!z||z.cleared||S==="unfold")){var D=u(y,k,z);r.on(D,"mousedown",function(I){$.clear(),r.e_preventDefault(I)});var $=y.markText(z.from,z.to,{replacedWith:D,clearOnEnter:p(y,k,"clearOnEnter"),__isFold:!0});$.on("clear",function(I,N){r.signal(y,"unfold",y,I,N)}),r.signal(y,"fold",y,z.from,z.to)}}function u(y,m,k){var S=p(y,m,"widget");if(typeof S=="function"&&(S=S(k.from,k.to)),typeof S=="string"){var R=document.createTextNode(S);S=document.createElement("span"),S.appendChild(R),S.className="CodeMirror-foldmarker"}else S&&(S=S.cloneNode(!0));return S}r.newFoldFunction=function(y,m){return function(k,S){o(k,S,{rangeFinder:y,widget:m})}},r.defineExtension("foldCode",function(y,m,k){o(this,y,m,k)}),r.defineExtension("isFolded",function(y){for(var m=this.findMarksAt(y),k=0;k<m.length;++k)if(m[k].__isFold)return!0}),r.commands.toggleFold=function(y){y.foldCode(y.getCursor())},r.commands.fold=function(y){y.foldCode(y.getCursor(),null,"fold")},r.commands.unfold=function(y){y.foldCode(y.getCursor(),{scanUp:!1},"unfold")},r.commands.foldAll=function(y){y.operation(function(){for(var m=y.firstLine(),k=y.lastLine();m<=k;m++)y.foldCode(r.Pos(m,0),{scanUp:!1},"fold")})},r.commands.unfoldAll=function(y){y.operation(function(){for(var m=y.firstLine(),k=y.lastLine();m<=k;m++)y.foldCode(r.Pos(m,0),{scanUp:!1},"unfold")})},r.registerHelper("fold","combine",function(){var y=Array.prototype.slice.call(arguments,0);return function(m,k){for(var S=0;S<y.length;++S){var R=y[S](m,k);if(R)return R}}}),r.registerHelper("fold","auto",function(y,m){for(var k=y.getHelpers(m,"fold"),S=0;S<k.length;S++){var R=k[S](y,m);if(R)return R}});var f={rangeFinder:r.fold.auto,widget:"↔",minFoldSize:0,scanUp:!1,clearOnEnter:!0};r.defineOption("foldOptions",null);function p(y,m,k){if(m&&m[k]!==void 0)return m[k];var S=y.options.foldOptions;return S&&S[k]!==void 0?S[k]:f[k]}r.defineExtension("foldOption",function(y,m){return p(this,y,m)})})})();var ef=Zc.exports;(function(l,n){(function(r){r(jt(),ef)})(function(r){r.defineOption("foldGutter",!1,function($,I,N){N&&N!=r.Init&&($.clearGutter($.state.foldGutter.options.gutter),$.state.foldGutter=null,$.off("gutterClick",R),$.off("changes",W),$.off("viewportChange",z),$.off("fold",D),$.off("unfold",D),$.off("swapDoc",W),$.off("optionChange",L)),I&&($.state.foldGutter=new u(f(I)),S($),$.on("gutterClick",R),$.on("changes",W),$.on("viewportChange",z),$.on("fold",D),$.on("unfold",D),$.on("swapDoc",W),$.on("optionChange",L))});var o=r.Pos;function u($){this.options=$,this.from=this.to=0}function f($){return $===!0&&($={}),$.gutter==null&&($.gutter="CodeMirror-foldgutter"),$.indicatorOpen==null&&($.indicatorOpen="CodeMirror-foldgutter-open"),$.indicatorFolded==null&&($.indicatorFolded="CodeMirror-foldgutter-folded"),$}function p($,I){for(var N=$.findMarks(o(I,0),o(I+1,0)),H=0;H<N.length;++H)if(N[H].__isFold){var V=N[H].find(-1);if(V&&V.line===I)return N[H]}}function y($){if(typeof $=="string"){var I=document.createElement("div");return I.className=$+" CodeMirror-guttermarker-subtle",I}else return $.cloneNode(!0)}function m($,I,N){var H=$.state.foldGutter.options,V=I-1,ne=$.foldOption(H,"minFoldSize"),ue=$.foldOption(H,"rangeFinder"),se=typeof H.indicatorFolded=="string"&&k(H.indicatorFolded),de=typeof H.indicatorOpen=="string"&&k(H.indicatorOpen);$.eachLine(I,N,function(Oe){++V;var Re=null,ie=Oe.gutterMarkers;if(ie&&(ie=ie[H.gutter]),p($,V)){if(se&&ie&&se.test(ie.className))return;Re=y(H.indicatorFolded)}else{var Pe=o(V,0),j=ue&&ue($,Pe);if(j&&j.to.line-j.from.line>=ne){if(de&&ie&&de.test(ie.className))return;Re=y(H.indicatorOpen)}}!Re&&!ie||$.setGutterMarker(Oe,H.gutter,Re)})}function k($){return new RegExp("(^|\\s)"+$+"(?:$|\\s)\\s*")}function S($){var I=$.getViewport(),N=$.state.foldGutter;N&&($.operation(function(){m($,I.from,I.to)}),N.from=I.from,N.to=I.to)}function R($,I,N){var H=$.state.foldGutter;if(H){var V=H.options;if(N==V.gutter){var ne=p($,I);ne?ne.clear():$.foldCode(o(I,0),V)}}}function L($,I){I=="mode"&&W($)}function W($){var I=$.state.foldGutter;if(I){var N=I.options;I.from=I.to=0,clearTimeout(I.changeUpdate),I.changeUpdate=setTimeout(function(){S($)},N.foldOnChangeTimeSpan||600)}}function z($){var I=$.state.foldGutter;if(I){var N=I.options;clearTimeout(I.changeUpdate),I.changeUpdate=setTimeout(function(){var H=$.getViewport();I.from==I.to||H.from-I.to>20||I.from-H.to>20?S($):$.operation(function(){H.from<I.from&&(m($,H.from,I.from),I.from=H.from),H.to>I.to&&(m($,I.to,H.to),I.to=H.to)})},N.updateViewportTimeSpan||400)}}function D($,I){var N=$.state.foldGutter;if(N){var H=I.line;H>=N.from&&H<N.to&&m($,H,H+1)}}})})(),function(l,n){(function(r){r(jt())})(function(r){function o(u){return function(f,p){var y=p.line,m=f.getLine(y);function k(D){for(var $,I=p.ch,N=0;;){var H=I<=0?-1:m.lastIndexOf(D[0],I-1);if(H==-1){if(N==1)break;N=1,I=m.length;continue}if(N==1&&H<p.ch)break;if($=f.getTokenTypeAt(r.Pos(y,H+1)),!/^(comment|string)/.test($))return{ch:H+1,tokenType:$,pair:D};I=H-1}}function S(D){var $=1,I=f.lastLine(),N,H=D.ch,V;e:for(var ne=y;ne<=I;++ne)for(var ue=f.getLine(ne),se=ne==y?H:0;;){var de=ue.indexOf(D.pair[0],se),Oe=ue.indexOf(D.pair[1],se);if(de<0&&(de=ue.length),Oe<0&&(Oe=ue.length),se=Math.min(de,Oe),se==ue.length)break;if(f.getTokenTypeAt(r.Pos(ne,se+1))==D.tokenType){if(se==de)++$;else if(!--$){N=ne,V=se;break e}}++se}return N==null||y==N?null:{from:r.Pos(y,H),to:r.Pos(N,V)}}for(var R=[],L=0;L<u.length;L++){var W=k(u[L]);W&&R.push(W)}R.sort(function(D,$){return D.ch-$.ch});for(var L=0;L<R.length;L++){var z=S(R[L]);if(z)return z}return null}}r.registerHelper("fold","brace",o([["{","}"],["[","]"]])),r.registerHelper("fold","brace-paren",o([["{","}"],["[","]"],["(",")"]])),r.registerHelper("fold","import",function(u,f){function p(L){if(L<u.firstLine()||L>u.lastLine())return null;var W=u.getTokenAt(r.Pos(L,1));if(/\S/.test(W.string)||(W=u.getTokenAt(r.Pos(L,W.end+1))),W.type!="keyword"||W.string!="import")return null;for(var z=L,D=Math.min(u.lastLine(),L+10);z<=D;++z){var $=u.getLine(z),I=$.indexOf(";");if(I!=-1)return{startCh:W.end,end:r.Pos(z,I)}}}var y=f.line,m=p(y),k;if(!m||p(y-1)||(k=p(y-2))&&k.end.line==y-1)return null;for(var S=m.end;;){var R=p(S.line+1);if(R==null)break;S=R.end}return{from:u.clipPos(r.Pos(y,m.startCh+1)),to:S}}),r.registerHelper("fold","include",function(u,f){function p(R){if(R<u.firstLine()||R>u.lastLine())return null;var L=u.getTokenAt(r.Pos(R,1));if(/\S/.test(L.string)||(L=u.getTokenAt(r.Pos(R,L.end+1))),L.type=="meta"&&L.string.slice(0,8)=="#include")return L.start+8}var y=f.line,m=p(y);if(m==null||p(y-1)!=null)return null;for(var k=y;;){var S=p(k+1);if(S==null)break;++k}return{from:r.Pos(y,m+1),to:u.clipPos(r.Pos(k))}})})}(),function(l,n){(function(r){r(jt())})(function(r){function o(u,f){var p=u.getLine(f),y=p.search(/\S/);return y==-1||/\bcomment\b/.test(u.getTokenTypeAt(r.Pos(f,y+1)))?-1:r.countColumn(p,null,u.getOption("tabSize"))}r.registerHelper("fold","indent",function(u,f){var p=o(u,f.line);if(!(p<0)){for(var y=null,m=f.line+1,k=u.lastLine();m<=k;++m){var S=o(u,m);if(S!=-1)if(S>p)y=m;else break}if(y)return{from:r.Pos(f.line,u.getLine(f.line).length),to:r.Pos(y,u.getLine(y).length)}}})})}(),function(l,n){(function(r){r(jt())})(function(r){r.defineOption("autoRefresh",!1,function(f,p){f.state.autoRefresh&&(u(f,f.state.autoRefresh),f.state.autoRefresh=null),p&&f.display.wrapper.offsetHeight==0&&o(f,f.state.autoRefresh={delay:p.delay||250})});function o(f,p){function y(){f.display.wrapper.offsetHeight?(u(f,p),f.display.lastWrapHeight!=f.display.wrapper.clientHeight&&f.refresh()):p.timeout=setTimeout(y,p.delay)}p.timeout=setTimeout(y,p.delay),p.hurry=function(){clearTimeout(p.timeout),p.timeout=setTimeout(y,50)},r.on(window,"mouseup",p.hurry),r.on(window,"keyup",p.hurry)}function u(f,p){clearTimeout(p.timeout),r.off(window,"mouseup",p.hurry),r.off(window,"keyup",p.hurry)}})}();const po=it.defineStore("trace",{state:()=>({traces:[],currentTrace:null}),getters:{getTraces:l=>l.traces,getCurrentTrace:l=>l.currentTrace},actions:{setTraces(l){this.traces=l},setCurrentTrace(l){this.currentTrace=l}}}),go=()=>{var l;return typeof window<"u"&&((l=window.GF_LOCAL_CONFIG)!=null&&l.TRACE_API_BASE_URL)?window.GF_LOCAL_CONFIG.TRACE_API_BASE_URL:"/tracing"},zi=l=>{if(!l||typeof l!="string")return"";const n=go(),r=typeof window<"u"&&n.startsWith("/")?window.location.origin:"";return`${n.startsWith("http")?n:r+n}/v1/file/download?url=${encodeURIComponent(l)}`},qt=Jt.create({baseURL:go(),timeout:36e5}),kt={getExperiments(){return qt.post("/experiments/search").then(l=>l.data)},getDictList(){return qt.get("/v1/dict/list").then(l=>l.data)},getSetting(){return qt.get("/setting").then(l=>l.data)},getTraceList(l,n,r,o,u,f,p,y,m){const k={};return l&&(k.query=l),n&&(k.startTime=n),r&&(k.endTime=r),o&&(k.pageNum=o),u&&(k.pageSize=u),f&&(k.experimentId=f),p&&(k.status=p),y&&(k.traceType=y),m&&(k.sortBy=m),qt.get("/v1/trace",{params:k}).then(S=>S.data)},getTraceDetail(l){return qt.get(`/v1/trace/${l}`).then(n=>n.data)},getTraceSpans(l,n={}){const{query:r="",has_events:o,page_num:u=1,page_size:f=100,span_type:p}=n,y={query:r||"",page_num:u,page_size:f};return o&&(y.has_events=1),p&&(y.span_type=p),qt.post(`/v1/trace/${l}/spans`,y).then(m=>m.data)},getSpanContent(l,n){return qt.get(`/v1/trace/${l}/span/${n}/content`).then(r=>r.data)},removeTraces(l){return!Array.isArray(l)||l.length===0?Promise.resolve():qt.post("/v1/trace/removeTraces",l).then(n=>n.data)},exportTraces(l){return!Array.isArray(l)||l.length===0?Promise.reject(new Error("traceIds is required")):qt.post("/v1/trace/exportTraces",l,{headers:{"Content-Type":"application/json"}}).then(n=>n.data)},importTraces(l){if(!l)return Promise.reject(new Error("file is required"));const n=new FormData;return n.append("file",l),qt.post("/v1/trace/importTraces",n).then(r=>r.data)},deleteTraces(l,n,r,o,u){const f={};return l&&(f.query=l),n&&(f.startTime=n),r&&(f.endTime=r),o&&(f.experimentId=o),u&&(f.status=u),qt.delete("/v1/trace",{params:f}).then(p=>p.data)},debugTrace(l,n={}){return qt.post("/debug",l,{headers:n}).then(r=>r.data)},getPromptTokens(l){return qt.post("/v1/trace/getPromptTokens",l).then(n=>n.data)}};function tf(l){const n=document.createElement("textarea");n.value=l,n.setAttribute("readonly",""),n.style.position="fixed",n.style.left="-9999px",n.style.top="0",document.body.appendChild(n),n.select();try{const r=document.execCommand("copy");return document.body.removeChild(n),r}catch{return document.body.removeChild(n),!1}}function Bi(l,n){if(!l){n.$message.warning(n.$t("debug.copyEmpty"));return}const r=String(l);tf(r)?n.$message.success(n.$t("debug.copySuccess")):n.$message.error(n.$t("debug.copyFailed"))}function mo(l){if(!l)return"-";const n=l/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`}function vo(l){if(!l)return"-";const n=l/1e6,r=new Date(n),o=r.getFullYear(),u=String(r.getMonth()+1).padStart(2,"0"),f=String(r.getDate()).padStart(2,"0"),p=String(r.getHours()).padStart(2,"0"),y=String(r.getMinutes()).padStart(2,"0"),m=String(r.getSeconds()).padStart(2,"0");return`${o}/${u}/${f} ${p}:${y}:${m}`}function nf(l,n,r="-"){return!l||!n?"-":`${vo(l)} ${r} ${vo(n)}`}function yo(l){const n={SERVER:"primary",CHAT_MODEL:"success",LLM:"success",CLIENT:"",INTERNAL:"info",EMBEDDING:"",CHAIN:"warning",AGENT:"danger",TOOL:"info",JOB:"warning",FUNCTION:"info"};return n[l]!==void 0?n[l]:"info"}function bo(l){return{CLIENT:"rgb(141 252 245)",EMBEDDING:"rgb(248 246 130)"}[l]||void 0}function xo(l){return l.status_description?l.status_description:""}function wo(l,n,r){if(!n||!r||n===r)return{width:"100%"};const o=r-n,u=l.start_time_unix_nano-n,f=l.duration_ns,p=u/o*100,y=f/o*100;return{left:`${p}%`,width:`${y}%`}}var ko={exports:{}};(function(l,n){(function(r,o){l.exports=o(jt())})(fo,function(r){return function(o){function u(p){if(f[p])return f[p].exports;var y=f[p]={i:p,l:!1,exports:{}};return o[p].call(y.exports,y,y.exports,u),y.l=!0,y.exports}var f={};return u.m=o,u.c=f,u.i=function(p){return p},u.d=function(p,y,m){u.o(p,y)||Object.defineProperty(p,y,{configurable:!1,enumerable:!0,get:m})},u.n=function(p){var y=p&&p.__esModule?function(){return p.default}:function(){return p};return u.d(y,"a",y),y},u.o=function(p,y){return Object.prototype.hasOwnProperty.call(p,y)},u.p="/",u(u.s=3)}([function(o,u){o.exports=r},function(o,u,f){Object.defineProperty(u,"__esModule",{value:!0});var p=f(0),y=function(k){return k&&k.__esModule?k:{default:k}}(p),m=window.CodeMirror||y.default;typeof Object.assign!="function"&&Object.defineProperty(Object,"assign",{value:function(k,S){if(k==null)throw new TypeError("Cannot convert undefined or null to object");for(var R=Object(k),L=1;L<arguments.length;L++){var W=arguments[L];if(W!=null)for(var z in W)Object.prototype.hasOwnProperty.call(W,z)&&(R[z]=W[z])}return R},writable:!0,configurable:!0}),u.default={name:"codemirror",data:function(){return{content:"",codemirror:null,cminstance:null}},props:{code:String,value:String,marker:Function,unseenLines:Array,name:{type:String,default:"codemirror"},placeholder:{type:String,default:""},merge:{type:Boolean,default:!1},options:{type:Object,default:function(){return{}}},events:{type:Array,default:function(){return[]}},globalOptions:{type:Object,default:function(){return{}}},globalEvents:{type:Array,default:function(){return[]}}},watch:{options:{deep:!0,handler:function(k){for(var S in k)this.cminstance.setOption(S,k[S])}},merge:function(){this.$nextTick(this.switchMerge)},code:function(k){this.handerCodeChange(k)},value:function(k){this.handerCodeChange(k)}},methods:{initialize:function(){var k=this,S=Object.assign({},this.globalOptions,this.options);this.merge?(this.codemirror=m.MergeView(this.$refs.mergeview,S),this.cminstance=this.codemirror.edit):(this.codemirror=m.fromTextArea(this.$refs.textarea,S),this.cminstance=this.codemirror,this.cminstance.setValue(this.code||this.value||this.content)),this.cminstance.on("change",function(L){k.content=L.getValue(),k.$emit&&k.$emit("input",k.content)});var R={};["scroll","changes","beforeChange","cursorActivity","keyHandled","inputRead","electricInput","beforeSelectionChange","viewportChange","swapDoc","gutterClick","gutterContextMenu","focus","blur","refresh","optionChange","scrollCursorIntoView","update"].concat(this.events).concat(this.globalEvents).filter(function(L){return!R[L]&&(R[L]=!0)}).forEach(function(L){k.cminstance.on(L,function(){for(var W=arguments.length,z=Array(W),D=0;D<W;D++)z[D]=arguments[D];k.$emit.apply(k,[L].concat(z));var $=L.replace(/([A-Z])/g,"-$1").toLowerCase();$!==L&&k.$emit.apply(k,[$].concat(z))})}),this.$emit("ready",this.codemirror),this.unseenLineMarkers(),this.refresh()},refresh:function(){var k=this;this.$nextTick(function(){k.cminstance.refresh()})},destroy:function(){var k=this.cminstance.doc.cm.getWrapperElement();k&&k.remove&&k.remove()},handerCodeChange:function(k){if(k!==this.cminstance.getValue()){var S=this.cminstance.getScrollInfo();this.cminstance.setValue(k),this.content=k,this.cminstance.scrollTo(S.left,S.top)}this.unseenLineMarkers()},unseenLineMarkers:function(){var k=this;this.unseenLines!==void 0&&this.marker!==void 0&&this.unseenLines.forEach(function(S){var R=k.cminstance.lineInfo(S);k.cminstance.setGutterMarker(S,"breakpoints",R.gutterMarkers?null:k.marker())})},switchMerge:function(){var k=this.cminstance.doc.history,S=this.cminstance.doc.cleanGeneration;this.options.value=this.cminstance.getValue(),this.destroy(),this.initialize(),this.cminstance.doc.history=k,this.cminstance.doc.cleanGeneration=S}},mounted:function(){this.initialize()},beforeDestroy:function(){this.destroy()}}},function(o,u,f){Object.defineProperty(u,"__esModule",{value:!0});var p=f(1),y=f.n(p);for(var m in p)["default","default"].indexOf(m)<0&&function(L){f.d(u,L,function(){return p[L]})}(m);var k=f(5),S=f(4),R=S(y.a,k.a,!1,null,null,null);u.default=R.exports},function(o,u,f){function p(z){return z&&z.__esModule?z:{default:z}}Object.defineProperty(u,"__esModule",{value:!0}),u.install=u.codemirror=u.CodeMirror=void 0;var y=f(0),m=p(y),k=f(2),S=p(k),R=window.CodeMirror||m.default,L=function(z,D){D&&(D.options&&(S.default.props.globalOptions.default=function(){return D.options}),D.events&&(S.default.props.globalEvents.default=function(){return D.events})),z.component(S.default.name,S.default)},W={CodeMirror:R,codemirror:S.default,install:L};u.default=W,u.CodeMirror=R,u.codemirror=S.default,u.install=L},function(o,u){o.exports=function(f,p,y,m,k,S){var R,L=f=f||{},W=typeof f.default;W!=="object"&&W!=="function"||(R=f,L=f.default);var z=typeof L=="function"?L.options:L;p&&(z.render=p.render,z.staticRenderFns=p.staticRenderFns,z._compiled=!0),y&&(z.functional=!0),k&&(z._scopeId=k);var D;if(S?(D=function(N){N=N||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,N||typeof __VUE_SSR_CONTEXT__>"u"||(N=__VUE_SSR_CONTEXT__),m&&m.call(this,N),N&&N._registeredComponents&&N._registeredComponents.add(S)},z._ssrRegister=D):m&&(D=m),D){var $=z.functional,I=$?z.render:z.beforeCreate;$?(z._injectStyles=D,z.render=function(N,H){return D.call(H),I(N,H)}):z.beforeCreate=I?[].concat(I,D):[D]}return{esModule:R,exports:L,options:z}}},function(o,u,f){var p=function(){var k=this,S=k.$createElement,R=k._self._c||S;return R("div",{staticClass:"vue-codemirror",class:{merge:k.merge}},[k.merge?R("div",{ref:"mergeview"}):R("textarea",{ref:"textarea",attrs:{name:k.name,placeholder:k.placeholder}})])},y=[],m={render:p,staticRenderFns:y};u.a=m}])})})(ko);var za=ko.exports;function Ba(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let Vn=Ba();function So(l){Vn=l}const Co=/[&<>"']/,rf=new RegExp(Co.source,"g"),To=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,af=new RegExp(To.source,"g"),sf={"&":"&","<":"<",">":">",'"':""","'":"'"},_o=l=>sf[l];function Ut(l,n){if(n){if(Co.test(l))return l.replace(rf,_o)}else if(To.test(l))return l.replace(af,_o);return l}const of=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function lf(l){return l.replace(of,(n,r)=>(r=r.toLowerCase(),r==="colon"?":":r.charAt(0)==="#"?r.charAt(1)==="x"?String.fromCharCode(parseInt(r.substring(2),16)):String.fromCharCode(+r.substring(1)):""))}const uf=/(^|[^\[])\^/g;function je(l,n){let r=typeof l=="string"?l:l.source;n=n||"";const o={replace:(u,f)=>{let p=typeof f=="string"?f:f.source;return p=p.replace(uf,"$1"),r=r.replace(u,p),o},getRegex:()=>new RegExp(r,n)};return o}function Lo(l){try{l=encodeURI(l).replace(/%25/g,"%")}catch{return null}return l}const Xr={exec:()=>null};function Eo(l,n){const r=l.replace(/\|/g,(f,p,y)=>{let m=!1,k=p;for(;--k>=0&&y[k]==="\\";)m=!m;return m?"|":" |"}),o=r.split(/ \|/);let u=0;if(o[0].trim()||o.shift(),o.length>0&&!o[o.length-1].trim()&&o.pop(),n)if(o.length>n)o.splice(n);else for(;o.length<n;)o.push("");for(;u<o.length;u++)o[u]=o[u].trim().replace(/\\\|/g,"|");return o}function Hi(l,n,r){const o=l.length;if(o===0)return"";let u=0;for(;u<o&&l.charAt(o-u-1)===n;)u++;return l.slice(0,o-u)}function cf(l,n){if(l.indexOf(n[1])===-1)return-1;let r=0;for(let o=0;o<l.length;o++)if(l[o]==="\\")o++;else if(l[o]===n[0])r++;else if(l[o]===n[1]&&(r--,r<0))return o;return-1}function Io(l,n,r,o){const u=n.href,f=n.title?Ut(n.title):null,p=l[1].replace(/\\([\[\]])/g,"$1");if(l[0].charAt(0)!=="!"){o.state.inLink=!0;const y={type:"link",raw:r,href:u,title:f,text:p,tokens:o.inlineTokens(p)};return o.state.inLink=!1,y}return{type:"image",raw:r,href:u,title:f,text:Ut(p)}}function ff(l,n){const r=l.match(/^(\s+)(?:```)/);if(r===null)return n;const o=r[1];return n.split(`
|
|
26
26
|
`).map(u=>{const f=u.match(/^\s+/);if(f===null)return u;const[p]=f;return p.length>=o.length?u.slice(o.length):u}).join(`
|
|
27
27
|
`)}class Wi{constructor(n){Je(this,"options");Je(this,"rules");Je(this,"lexer");this.options=n||Vn}space(n){const r=this.rules.block.newline.exec(n);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(n){const r=this.rules.block.code.exec(n);if(r){const o=r[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?o:Hi(o,`
|
|
28
28
|
`)}}}fences(n){const r=this.rules.block.fences.exec(n);if(r){const o=r[0],u=ff(o,r[3]||"");return{type:"code",raw:o,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:u}}}heading(n){const r=this.rules.block.heading.exec(n);if(r){let o=r[2].trim();if(/#$/.test(o)){const u=Hi(o,"#");(this.options.pedantic||!u||/ $/.test(u))&&(o=u.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:o,tokens:this.lexer.inline(o)}}}hr(n){const r=this.rules.block.hr.exec(n);if(r)return{type:"hr",raw:r[0]}}blockquote(n){const r=this.rules.block.blockquote.exec(n);if(r){const o=Hi(r[0].replace(/^ *>[ \t]?/gm,""),`
|
|
@@ -66,7 +66,7 @@ ${n}</tr>
|
|
|
66
66
|
`}tablecell(n,r){const o=r.header?"th":"td";return(r.align?`<${o} align="${r.align}">`:`<${o}>`)+n+`</${o}>
|
|
67
67
|
`}strong(n){return`<strong>${n}</strong>`}em(n){return`<em>${n}</em>`}codespan(n){return`<code>${n}</code>`}br(){return"<br>"}del(n){return`<del>${n}</del>`}link(n,r,o){const u=Lo(n);if(u===null)return o;n=u;let f='<a href="'+n+'"';return r&&(f+=' title="'+r+'"'),f+=">"+o+"</a>",f}image(n,r,o){const u=Lo(n);if(u===null)return o;n=u;let f=`<img src="${n}" alt="${o}"`;return r&&(f+=` title="${r}"`),f+=">",f}text(n){return n}}class Ka{strong(n){return n}em(n){return n}codespan(n){return n}del(n){return n}html(n){return n}text(n){return n}link(n,r,o){return""+o}image(n,r,o){return""+o}br(){return""}}class mn{constructor(n){Je(this,"options");Je(this,"renderer");Je(this,"textRenderer");this.options=n||Vn,this.options.renderer=this.options.renderer||new Gi,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Ka}static parse(n,r){return new mn(r).parse(n)}static parseInline(n,r){return new mn(r).parseInline(n)}parse(n,r=!0){let o="";for(let u=0;u<n.length;u++){const f=n[u];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[f.type]){const p=f,y=this.options.extensions.renderers[p.type].call({parser:this},p);if(y!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(p.type)){o+=y||"";continue}}switch(f.type){case"space":continue;case"hr":{o+=this.renderer.hr();continue}case"heading":{const p=f;o+=this.renderer.heading(this.parseInline(p.tokens),p.depth,lf(this.parseInline(p.tokens,this.textRenderer)));continue}case"code":{const p=f;o+=this.renderer.code(p.text,p.lang,!!p.escaped);continue}case"table":{const p=f;let y="",m="";for(let S=0;S<p.header.length;S++)m+=this.renderer.tablecell(this.parseInline(p.header[S].tokens),{header:!0,align:p.align[S]});y+=this.renderer.tablerow(m);let k="";for(let S=0;S<p.rows.length;S++){const R=p.rows[S];m="";for(let L=0;L<R.length;L++)m+=this.renderer.tablecell(this.parseInline(R[L].tokens),{header:!1,align:p.align[L]});k+=this.renderer.tablerow(m)}o+=this.renderer.table(y,k);continue}case"blockquote":{const p=f,y=this.parse(p.tokens);o+=this.renderer.blockquote(y);continue}case"list":{const p=f,y=p.ordered,m=p.start,k=p.loose;let S="";for(let R=0;R<p.items.length;R++){const L=p.items[R],W=L.checked,z=L.task;let D="";if(L.task){const $=this.renderer.checkbox(!!W);k?L.tokens.length>0&&L.tokens[0].type==="paragraph"?(L.tokens[0].text=$+" "+L.tokens[0].text,L.tokens[0].tokens&&L.tokens[0].tokens.length>0&&L.tokens[0].tokens[0].type==="text"&&(L.tokens[0].tokens[0].text=$+" "+L.tokens[0].tokens[0].text)):L.tokens.unshift({type:"text",text:$+" "}):D+=$+" "}D+=this.parse(L.tokens,k),S+=this.renderer.listitem(D,z,!!W)}o+=this.renderer.list(S,y,m);continue}case"html":{const p=f;o+=this.renderer.html(p.text,p.block);continue}case"paragraph":{const p=f;o+=this.renderer.paragraph(this.parseInline(p.tokens));continue}case"text":{let p=f,y=p.tokens?this.parseInline(p.tokens):p.text;for(;u+1<n.length&&n[u+1].type==="text";)p=n[++u],y+=`
|
|
68
68
|
`+(p.tokens?this.parseInline(p.tokens):p.text);o+=r?this.renderer.paragraph(y):y;continue}default:{const p='Token with "'+f.type+'" type was not found.';if(this.options.silent)return console.error(p),"";throw new Error(p)}}}return o}parseInline(n,r){r=r||this.renderer;let o="";for(let u=0;u<n.length;u++){const f=n[u];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[f.type]){const p=this.options.extensions.renderers[f.type].call({parser:this},f);if(p!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(f.type)){o+=p||"";continue}}switch(f.type){case"escape":{const p=f;o+=r.text(p.text);break}case"html":{const p=f;o+=r.html(p.text);break}case"link":{const p=f;o+=r.link(p.href,p.title,this.parseInline(p.tokens,r));break}case"image":{const p=f;o+=r.image(p.href,p.title,p.text);break}case"strong":{const p=f;o+=r.strong(this.parseInline(p.tokens,r));break}case"em":{const p=f;o+=r.em(this.parseInline(p.tokens,r));break}case"codespan":{const p=f;o+=r.codespan(p.text);break}case"br":{o+=r.br();break}case"del":{const p=f;o+=r.del(this.parseInline(p.tokens,r));break}case"text":{const p=f;o+=r.text(p.text);break}default:{const p='Token with "'+f.type+'" type was not found.';if(this.options.silent)return console.error(p),"";throw new Error(p)}}}return o}}class Zr{constructor(n){Je(this,"options");this.options=n||Vn}preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}}Je(Zr,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));class $f{constructor(...n){Yc(this,Qn);Je(this,"defaults",Ba());Je(this,"options",this.setOptions);Je(this,"parse",$a(this,Qn,co).call(this,gn.lex,mn.parse));Je(this,"parseInline",$a(this,Qn,co).call(this,gn.lexInline,mn.parseInline));Je(this,"Parser",mn);Je(this,"Renderer",Gi);Je(this,"TextRenderer",Ka);Je(this,"Lexer",gn);Je(this,"Tokenizer",Wi);Je(this,"Hooks",Zr);this.use(...n)}walkTokens(n,r){var u,f;let o=[];for(const p of n)switch(o=o.concat(r.call(this,p)),p.type){case"table":{const y=p;for(const m of y.header)o=o.concat(this.walkTokens(m.tokens,r));for(const m of y.rows)for(const k of m)o=o.concat(this.walkTokens(k.tokens,r));break}case"list":{const y=p;o=o.concat(this.walkTokens(y.items,r));break}default:{const y=p;(f=(u=this.defaults.extensions)==null?void 0:u.childTokens)!=null&&f[y.type]?this.defaults.extensions.childTokens[y.type].forEach(m=>{const k=y[m].flat(1/0);o=o.concat(this.walkTokens(k,r))}):y.tokens&&(o=o.concat(this.walkTokens(y.tokens,r)))}}return o}use(...n){const r=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(o=>{const u={...o};if(u.async=this.defaults.async||u.async||!1,o.extensions&&(o.extensions.forEach(f=>{if(!f.name)throw new Error("extension name required");if("renderer"in f){const p=r.renderers[f.name];p?r.renderers[f.name]=function(...y){let m=f.renderer.apply(this,y);return m===!1&&(m=p.apply(this,y)),m}:r.renderers[f.name]=f.renderer}if("tokenizer"in f){if(!f.level||f.level!=="block"&&f.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const p=r[f.level];p?p.unshift(f.tokenizer):r[f.level]=[f.tokenizer],f.start&&(f.level==="block"?r.startBlock?r.startBlock.push(f.start):r.startBlock=[f.start]:f.level==="inline"&&(r.startInline?r.startInline.push(f.start):r.startInline=[f.start]))}"childTokens"in f&&f.childTokens&&(r.childTokens[f.name]=f.childTokens)}),u.extensions=r),o.renderer){const f=this.defaults.renderer||new Gi(this.defaults);for(const p in o.renderer){if(!(p in f))throw new Error(`renderer '${p}' does not exist`);if(p==="options")continue;const y=p,m=o.renderer[y],k=f[y];f[y]=(...S)=>{let R=m.apply(f,S);return R===!1&&(R=k.apply(f,S)),R||""}}u.renderer=f}if(o.tokenizer){const f=this.defaults.tokenizer||new Wi(this.defaults);for(const p in o.tokenizer){if(!(p in f))throw new Error(`tokenizer '${p}' does not exist`);if(["options","rules","lexer"].includes(p))continue;const y=p,m=o.tokenizer[y],k=f[y];f[y]=(...S)=>{let R=m.apply(f,S);return R===!1&&(R=k.apply(f,S)),R}}u.tokenizer=f}if(o.hooks){const f=this.defaults.hooks||new Zr;for(const p in o.hooks){if(!(p in f))throw new Error(`hook '${p}' does not exist`);if(p==="options")continue;const y=p,m=o.hooks[y],k=f[y];Zr.passThroughHooks.has(p)?f[y]=S=>{if(this.defaults.async)return Promise.resolve(m.call(f,S)).then(L=>k.call(f,L));const R=m.call(f,S);return k.call(f,R)}:f[y]=(...S)=>{let R=m.apply(f,S);return R===!1&&(R=k.apply(f,S)),R}}u.hooks=f}if(o.walkTokens){const f=this.defaults.walkTokens,p=o.walkTokens;u.walkTokens=function(y){let m=[];return m.push(p.call(this,y)),f&&(m=m.concat(f.call(this,y))),m}}this.defaults={...this.defaults,...u}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,r){return gn.lex(n,r??this.defaults)}parser(n,r){return mn.parse(n,r??this.defaults)}}Qn=new WeakSet,co=function(n,r){return(o,u)=>{const f={...u},p={...this.defaults,...f};this.defaults.async===!0&&f.async===!1&&(p.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),p.async=!0);const y=$a(this,Qn,Jc).call(this,!!p.silent,!!p.async);if(typeof o>"u"||o===null)return y(new Error("marked(): input parameter is undefined or null"));if(typeof o!="string")return y(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(o)+", string expected"));if(p.hooks&&(p.hooks.options=p),p.async)return Promise.resolve(p.hooks?p.hooks.preprocess(o):o).then(m=>n(m,p)).then(m=>p.hooks?p.hooks.processAllTokens(m):m).then(m=>p.walkTokens?Promise.all(this.walkTokens(m,p.walkTokens)).then(()=>m):m).then(m=>r(m,p)).then(m=>p.hooks?p.hooks.postprocess(m):m).catch(y);try{p.hooks&&(o=p.hooks.preprocess(o));let m=n(o,p);p.hooks&&(m=p.hooks.processAllTokens(m)),p.walkTokens&&this.walkTokens(m,p.walkTokens);let k=r(m,p);return p.hooks&&(k=p.hooks.postprocess(k)),k}catch(m){return y(m)}}},Jc=function(n,r){return o=>{if(o.message+=`
|
|
69
|
-
Please report this to https://github.com/markedjs/marked.`,n){const u="<p>An error occurred:</p><pre>"+Ut(o.message+"",!0)+"</pre>";return r?Promise.resolve(u):u}if(r)return Promise.reject(o);throw o}};const Xn=new $f;function Se(l,n){return Xn.parse(l,n)}Se.options=Se.setOptions=function(l){return Xn.setOptions(l),Se.defaults=Xn.defaults,So(Se.defaults),Se},Se.getDefaults=Ba,Se.defaults=Vn,Se.use=function(...l){return Xn.use(...l),Se.defaults=Xn.defaults,So(Se.defaults),Se},Se.walkTokens=function(l,n){return Xn.walkTokens(l,n)},Se.parseInline=Xn.parseInline,Se.Parser=mn,Se.parser=mn.parse,Se.Renderer=Gi,Se.TextRenderer=Ka,Se.Lexer=gn,Se.lexer=gn.lex,Se.Tokenizer=Wi,Se.Hooks=Zr,Se.parse=Se,Se.options,Se.setOptions,Se.use,Se.walkTokens,Se.parseInline,mn.parse,gn.lex;function vn(l,n,r,o,u,f,p,y){var m=typeof l=="function"?l.options:l;return n&&(m.render=n,m.staticRenderFns=r,m._compiled=!0),f&&(m._scopeId="data-v-"+f),{exports:l,options:m}}const Pf={name:"TimelineHeader",props:{timeRange:{type:String,default:"-"},allExpanded:{type:Boolean,default:!1},viewMode:{type:String,default:"list"}},methods:{handleToggleExpand(){this.$emit("toggle-expand")},handleToggleView(){this.$emit("toggle-view")}}};var zf=function(){var n=this,r=n._self._c;return r("div",{staticClass:"timeline-header"},[r("div",{staticClass:"time-scale"},[r("span",{staticClass:"time-range"},[n._v(n._s(n.timeRange))])]),r("div",{staticClass:"header-actions"},[n.viewMode==="tree"?r("el-tooltip",{attrs:{content:n.allExpanded?"合上所有节点":"展开所有节点",placement:"top"}},[r("i",{staticClass:"action-icon",class:n.allExpanded?"el-icon-arrow-down":"el-icon-arrow-right",on:{click:n.handleToggleExpand}})]):n._e(),r("el-tooltip",{attrs:{content:n.viewMode==="list"?"切换到树形视图":"切换到列表视图",placement:"top"}},[r("i",{staticClass:"action-icon",class:n.viewMode==="list"?"el-icon-menu":"el-icon-s-operation",on:{click:n.handleToggleView}})])],1)])},Bf=[],Hf=vn(Pf,zf,Bf,!1,null,"a6b357e5");const Wf=Hf.exports,jf={name:"TimelineBar",props:{barStyle:{type:Object,required:!0},statusDescription:{type:String,default:""},selected:{type:Boolean,default:!1},error:{type:Boolean,default:!1},hasEvents:{type:Boolean,default:!1}}};var qf=function(){var n=this,r=n._self._c;return r("el-tooltip",{attrs:{content:n.statusDescription,disabled:!n.statusDescription,placement:"top","popper-class":"span-status-tooltip"}},[r("div",{staticClass:"timeline-bar-wrapper"},[r("div",{staticClass:"timeline-bar",class:{selected:n.selected,error:n.error,"has-events":n.hasEvents},style:n.barStyle})])])},Uf=[],Gf=vn(jf,qf,Uf,!1,null,"52995efa");const Po=Gf.exports,Kf={name:"SpanTreeNode",components:{TimelineBar:Po},props:{node:{type:Object,required:!0},selected:{type:Boolean,default:!1},selectedSpanId:{type:String,default:null},expandedNodes:{type:Set,required:!0},depth:{type:Number,default:0},traceStartTime:{type:Number,default:0},traceEndTime:{type:Number,default:0},spanTypeList:{type:Array,default:()=>[]}},computed:{hasChildren(){return this.node.children&&this.node.children.length>0},isRootNode(){return this.depth===0},isExpanded(){return this.isRootNode?!0:this.expandedNodes.has(this.node.span_id)},shouldShowChildren(){return this.isRootNode?!0:this.isExpanded},duration(){return mo(this.node.duration_ns)},typeLabel(){const l=this.node.type;if(l==null||l==="")return"-";const n=this.spanTypeList.find(r=>r.value===l);return n?n.label:l},typeColor(){return yo(this.node.type)},typeCustomColor(){return bo(this.node.type)},statusDescription(){return xo(this.node)},barStyle(){return wo(this.node,this.traceStartTime,this.traceEndTime)},error(){return this.node.status==="ERROR"},hasEvents(){return this.node.has_events===!0},isChild(){return this.depth>0}},methods:{handleClick(){this.$emit("node-click",this.node)},handleToggleExpand(){this.isRootNode||this.$emit("toggle-expand",this.node)}}};var Vf=function(){var n=this,r=n._self._c;return r("div",[r("div",{staticClass:"timeline-node",class:{selected:n.selected,error:n.error,"child-node":n.isChild},on:{click:n.handleClick}},[r("div",{staticClass:"node-row"},[r("div",{staticClass:"node-info"},[n.hasChildren&&!n.isRootNode?r("i",{staticClass:"expand-icon",class:n.isExpanded?"el-icon-arrow-down":"el-icon-arrow-right",on:{click:function(o){return o.stopPropagation(),n.handleToggleExpand.apply(null,arguments)}}}):n._e(),r("el-tag",{staticClass:"type-tag",attrs:{type:n.typeColor,color:n.typeCustomColor,size:"mini"}},[n._v(" "+n._s(n.typeLabel)+" ")]),r("el-tooltip",{attrs:{content:n.node.name,placement:"top","open-delay":300}},[r("span",{staticClass:"node-name"},[n._v(n._s(n.node.name))])])],1),r("div",{staticClass:"node-duration"},[n._v(" "+n._s(n.duration)+" ")])]),r("TimelineBar",{attrs:{"bar-style":n.barStyle,"status-description":n.statusDescription,selected:n.selected,error:n.error,"has-events":n.hasEvents}})],1),n.shouldShowChildren&&n.hasChildren?r("div",{staticClass:"children-nodes"},n._l(n.node.children,function(o){return r("SpanTreeNode",{key:o.span_id,attrs:{node:o,selected:o.span_id===n.selectedSpanId,"selected-span-id":n.selectedSpanId,"expanded-nodes":n.expandedNodes,depth:n.depth+1,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.spanTypeList},on:{"node-click":function(u){return n.$emit("node-click",u)},"toggle-expand":function(u){return n.$emit("toggle-expand",u)}}})}),1):n._e()])},Xf=[],Yf=vn(Kf,Vf,Xf,!1,null,"3dcb687d");const Jf=Yf.exports,Qf={name:"SpanListNode",components:{TimelineBar:Po},props:{node:{type:Object,required:!0},selected:{type:Boolean,default:!1},traceStartTime:{type:Number,default:0},traceEndTime:{type:Number,default:0},spanTypeList:{type:Array,default:()=>[]}},computed:{duration(){return mo(this.node.duration_ns)},typeLabel(){const l=this.node.type;if(l==null||l==="")return"-";const n=this.spanTypeList.find(r=>r.value===l);return n?n.label:l},typeColor(){return yo(this.node.type)},typeCustomColor(){return bo(this.node.type)},statusDescription(){return xo(this.node)},barStyle(){return wo(this.node,this.traceStartTime,this.traceEndTime)},error(){return this.node.status==="ERROR"},hasEvents(){return this.node.has_events===!0}},methods:{handleClick(){this.$emit("node-click",this.node)}}};var Zf=function(){var n=this,r=n._self._c;return r("div",{staticClass:"timeline-node",class:{selected:n.selected,error:n.error},on:{click:n.handleClick}},[r("div",{staticClass:"node-row"},[r("div",{staticClass:"node-info"},[r("el-tag",{staticClass:"type-tag",attrs:{type:n.typeColor,color:n.typeCustomColor,size:"mini"}},[n._v(" "+n._s(n.typeLabel)+" ")]),r("el-tooltip",{attrs:{content:n.node.name,placement:"top","open-delay":300}},[r("span",{staticClass:"node-name"},[n._v(n._s(n.node.name))])])],1),r("div",{staticClass:"node-duration"},[n._v(" "+n._s(n.duration)+" ")])]),r("TimelineBar",{attrs:{"bar-style":n.barStyle,"status-description":n.statusDescription,selected:n.selected,error:n.error,"has-events":n.hasEvents}})],1)},ed=[],td=vn(Qf,Zf,ed,!1,null,"97dce313");const nd=td.exports,rd={name:"TraceSpanTree",components:{TimelineHeader:Wf,SpanTreeNode:Jf,SpanListNode:nd},props:{spans:{type:Array,default:()=>[]},selectedSpanId:{type:String,default:null},traceStartTime:{type:Number,default:0},traceEndTime:{type:Number,default:0},spanTypeList:{type:Array,default:()=>[]}},data(){return{expandedNodes:new Set,treeData:[],allExpanded:!1,viewMode:"list"}},computed:{flatListData(){const l=[],n=r=>{r.forEach(o=>{l.push(o),o.children&&o.children.length>0&&n(o.children)})};return n(this.treeData),l},timeRange(){const l=this.$t?this.$t("trace.to"):"-";return nf(this.traceStartTime,this.traceEndTime,l)}},watch:{spans:{immediate:!0,handler(){this.buildTree()}}},methods:{buildTree(){if(!this.spans||this.spans.length===0){this.treeData=[];return}const l=new Map,n=[];this.spans.forEach(r=>{l.set(r.span_id,{...r,children:[]})}),this.spans.forEach(r=>{const o=l.get(r.span_id);if(r.parent_span_id){const u=l.get(r.parent_span_id);u?u.children.push(o):n.push(o)}else n.push(o)}),n.forEach(r=>{this.sortChildren(r)}),this.treeData=n,this.expandAllNodes()},expandAllNodes(){const l=new Set,n=r=>{r.forEach(o=>{o.children&&o.children.length>0&&o.children.forEach(u=>{this.hasChildren(u)&&l.add(u.span_id),u.children&&u.children.length>0&&n([u])})})};n(this.treeData),this.expandedNodes=l,this.allExpanded=!0,this.$forceUpdate()},collapseAllNodes(){const l=new Set;this.expandedNodes=l,this.allExpanded=!1,this.$forceUpdate()},toggleAllExpand(){this.allExpanded?this.collapseAllNodes():this.expandAllNodes()},toggleViewMode(){this.viewMode=this.viewMode==="list"?"tree":"list"},sortChildren(l){l.children&&l.children.length>0&&(l.children.sort((n,r)=>n.start_time_unix_nano-r.start_time_unix_nano),l.children.forEach(n=>this.sortChildren(n)))},handleNodeClick(l){this.$emit("span-select",l)},hasChildren(l){return l.children&&l.children.length>0},toggleExpand(l){if(this.treeData.some(o=>o.span_id===l.span_id))return;const r=new Set(this.expandedNodes);r.has(l.span_id)?r.delete(l.span_id):r.add(l.span_id),this.expandedNodes=r,this.updateAllExpandedState(),this.$forceUpdate()},updateAllExpandedState(){const l=(r,o=!1)=>{for(const u of r)if(this.hasChildren(u)&&(!o&&!this.expandedNodes.has(u.span_id)||u.children&&u.children.length>0&&!l(u.children,!1)))return!1;return!0};if(!this.treeData.some(r=>r.children&&r.children.some(o=>this.hasChildren(o)))){this.allExpanded=!1;return}this.allExpanded=l(this.treeData,!0)}}};var id=function(){var n=this,r=n._self._c;return r("div",{staticClass:"span-tree-container"},[n.treeData.length===0?r("div",{staticClass:"empty-state"},[r("el-empty",{attrs:{description:"暂无 Span 数据"}})],1):r("div",{staticClass:"timeline-wrapper"},[r("TimelineHeader",{attrs:{"time-range":n.timeRange,"all-expanded":n.allExpanded,"view-mode":n.viewMode},on:{"toggle-expand":n.toggleAllExpand,"toggle-view":n.toggleViewMode}}),r("div",{ref:"timelineContent",staticClass:"timeline-content"},[n.viewMode==="tree"?n._l(n.treeData,function(o){return r("SpanTreeNode",{key:o.span_id,attrs:{node:o,selected:n.selectedSpanId===o.span_id,"selected-span-id":n.selectedSpanId,"expanded-nodes":n.expandedNodes,depth:0,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.spanTypeList},on:{"node-click":n.handleNodeClick,"toggle-expand":n.toggleExpand}})}):n._l(n.flatListData,function(o){return r("SpanListNode",{key:o.span_id,attrs:{node:o,selected:n.selectedSpanId===o.span_id,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.spanTypeList},on:{"node-click":n.handleNodeClick}})})],2)],1)])},ad=[],sd=vn(rd,id,ad,!1,null,"0cf980e1");const Va=sd.exports;function od(){return window.pdfjsLib}const ld={name:"FilePdfViewer",props:{element:{type:Object,required:!0}},data(){return{currentPage:1,totalPages:0,loading:!1,error:null,pdfDoc:null,renderTask:null,pdfScale:1.5,scaleMin:.5,scaleMax:3}},computed:{formatPageIndicator(){return this.$t("trace.pdfPageIndicator",{page:this.currentPage,total:this.totalPages||1})}},watch:{"element.downloadUrl":{handler(){this.currentPage=1,this.totalPages=0,this.error=null,this.pdfDoc=null,this.loadPdf()}},currentPage(){this.renderCurrentPage()},pdfScale(){this.renderCurrentPage()}},mounted(){this.loadPdf()},beforeDestroy(){this.cancelRender(),this.pdfDoc&&(this.pdfDoc.destroy(),this.pdfDoc=null)},methods:{async loadPdf(){var n,r;const l=(n=this.element)==null?void 0:n.downloadUrl;if(!l){this.error="No PDF URL";return}this.loading=!0,this.error=null,this.cancelRender(),this.pdfDoc&&(this.pdfDoc.destroy(),this.pdfDoc=null);try{const o=od();if(!o){this.error="PDF.js not loaded";return}!o.GlobalWorkerOptions.workerSrc&&((r=window.GF_LOCAL_CONFIG)!=null&&r.WORKER_SRC)&&(o.GlobalWorkerOptions.workerSrc=window.GF_LOCAL_CONFIG.WORKER_SRC);const u=o.getDocument({url:l});this.pdfDoc=await u.promise,this.totalPages=this.pdfDoc.numPages,this.loading=!1,await this.$nextTick(),await this.renderCurrentPage()}catch(o){this.error=(o==null?void 0:o.message)||"Failed to load PDF"}finally{this.loading=!1}},cancelRender(){this.renderTask&&(this.renderTask.cancel(),this.renderTask=null)},async renderCurrentPage(){if(!(!this.pdfDoc||!this.$refs.canvasRef)){this.cancelRender();try{const l=await this.pdfDoc.getPage(this.currentPage),n=this.$refs.canvasRef,r=n.getContext("2d"),o=window.devicePixelRatio||1,u=this.pdfScale*o,f=l.getViewport({scale:u});n.height=f.height,n.width=f.width,n.style.width=`${f.width/o}px`,n.style.height=`${f.height/o}px`,this.renderTask=l.render({canvasContext:r,viewport:f}),await this.renderTask.promise}catch(l){(l==null?void 0:l.name)!=="RenderingCancelledException"&&(this.error=(l==null?void 0:l.message)||"Failed to render page")}finally{this.renderTask=null}}},prevPage(){this.currentPage>1&&this.currentPage--},nextPage(){this.currentPage<this.totalPages&&this.currentPage++},zoomIn(){this.pdfScale<this.scaleMax&&(this.pdfScale=Math.min(this.scaleMax,Math.round((this.pdfScale+.25)*100)/100))},zoomOut(){this.pdfScale>this.scaleMin&&(this.pdfScale=Math.max(this.scaleMin,Math.round((this.pdfScale-.25)*100)/100))},downloadFile(){var o,u,f;const l=(o=this.element)==null?void 0:o.downloadUrl;if(!l)return;const n=((u=this.element)==null?void 0:u.name)||((f=this.element)==null?void 0:f.label)||"file.pdf",r=document.createElement("a");r.href=l,r.download=n,r.rel="noopener",r.target="_blank",document.body.appendChild(r),r.click(),document.body.removeChild(r)}}};var ud=function(){var o;var n=this,r=n._self._c;return r("div",{staticClass:"file-pdf-content"},[n.element.label?r("div",{staticClass:"image-label"},[n._v(n._s(n.element.label))]):n._e(),r("div",{staticClass:"file-pdf-toolbar"},[r("el-button",{attrs:{size:"mini",disabled:n.currentPage<=1},on:{click:n.prevPage}},[n._v(n._s(n.$t("trace.pdfPrevPage")))]),r("span",{staticClass:"file-pdf-page-indicator"},[n._v(n._s(n.formatPageIndicator))]),r("el-button",{attrs:{size:"mini",disabled:n.totalPages>0&&n.currentPage>=n.totalPages},on:{click:n.nextPage}},[n._v(n._s(n.$t("trace.pdfNextPage")))]),r("div",{staticClass:"file-pdf-zoom"},[r("span",{staticClass:"file-pdf-zoom-btn",class:{disabled:n.pdfScale<=n.scaleMin},on:{click:n.zoomOut}},[r("i",{staticClass:"el-icon-minus"})]),r("span",{staticClass:"file-pdf-zoom-btn",class:{disabled:n.pdfScale>=n.scaleMax},on:{click:n.zoomIn}},[r("i",{staticClass:"el-icon-plus"})])]),r("el-button",{attrs:{size:"mini",type:"primary",disabled:!((o=n.element)!=null&&o.downloadUrl)},on:{click:n.downloadFile}},[n._v(n._s(n.$t("trace.pdfDownload")))])],1),r("div",{staticClass:"file-pdf-viewer"},[n.loading?r("div",{staticClass:"file-pdf-loading"},[n._v(n._s(n.$t("trace.pdfLoading")))]):n.error?r("div",{staticClass:"file-pdf-error"},[n._v(n._s(n.error))]):r("canvas",{ref:"canvasRef",staticClass:"file-pdf-canvas"})])])},cd=[],fd=vn(ld,ud,cd,!1,null,"fbe9d6b8");const Xa=fd.exports;/*!
|
|
69
|
+
Please report this to https://github.com/markedjs/marked.`,n){const u="<p>An error occurred:</p><pre>"+Ut(o.message+"",!0)+"</pre>";return r?Promise.resolve(u):u}if(r)return Promise.reject(o);throw o}};const Xn=new $f;function Se(l,n){return Xn.parse(l,n)}Se.options=Se.setOptions=function(l){return Xn.setOptions(l),Se.defaults=Xn.defaults,So(Se.defaults),Se},Se.getDefaults=Ba,Se.defaults=Vn,Se.use=function(...l){return Xn.use(...l),Se.defaults=Xn.defaults,So(Se.defaults),Se},Se.walkTokens=function(l,n){return Xn.walkTokens(l,n)},Se.parseInline=Xn.parseInline,Se.Parser=mn,Se.parser=mn.parse,Se.Renderer=Gi,Se.TextRenderer=Ka,Se.Lexer=gn,Se.lexer=gn.lex,Se.Tokenizer=Wi,Se.Hooks=Zr,Se.parse=Se,Se.options,Se.setOptions,Se.use,Se.walkTokens,Se.parseInline,mn.parse,gn.lex;function vn(l,n,r,o,u,f,p,y){var m=typeof l=="function"?l.options:l;return n&&(m.render=n,m.staticRenderFns=r,m._compiled=!0),f&&(m._scopeId="data-v-"+f),{exports:l,options:m}}const Pf={name:"TimelineHeader",props:{timeRange:{type:String,default:"-"},allExpanded:{type:Boolean,default:!1},viewMode:{type:String,default:"list"}},methods:{handleToggleExpand(){this.$emit("toggle-expand")},handleToggleView(){this.$emit("toggle-view")}}};var zf=function(){var n=this,r=n._self._c;return r("div",{staticClass:"timeline-header"},[r("div",{staticClass:"time-scale"},[r("span",{staticClass:"time-range"},[n._v(n._s(n.timeRange))])]),r("div",{staticClass:"header-actions"},[n.viewMode==="tree"?r("el-tooltip",{attrs:{content:n.allExpanded?"合上所有节点":"展开所有节点",placement:"top"}},[r("i",{staticClass:"action-icon",class:n.allExpanded?"el-icon-arrow-down":"el-icon-arrow-right",on:{click:n.handleToggleExpand}})]):n._e(),r("el-tooltip",{attrs:{content:n.viewMode==="list"?"切换到树形视图":"切换到列表视图",placement:"top"}},[r("i",{staticClass:"action-icon",class:n.viewMode==="list"?"el-icon-menu":"el-icon-s-operation",on:{click:n.handleToggleView}})])],1)])},Bf=[],Hf=vn(Pf,zf,Bf,!1,null,"a6b357e5");const Wf=Hf.exports,jf={name:"TimelineBar",props:{barStyle:{type:Object,required:!0},statusDescription:{type:String,default:""},selected:{type:Boolean,default:!1},error:{type:Boolean,default:!1},hasEvents:{type:[Boolean,Number],default:!1}}};var qf=function(){var n=this,r=n._self._c;return r("el-tooltip",{attrs:{content:n.statusDescription,disabled:!n.statusDescription,placement:"top","popper-class":"span-status-tooltip"}},[r("div",{staticClass:"timeline-bar-wrapper"},[r("div",{staticClass:"timeline-bar",class:{selected:n.selected,error:n.error,"has-events":n.hasEvents},style:n.barStyle})])])},Uf=[],Gf=vn(jf,qf,Uf,!1,null,"00a350c8");const Po=Gf.exports,Kf={name:"SpanTreeNode",components:{TimelineBar:Po},props:{node:{type:Object,required:!0},selected:{type:Boolean,default:!1},selectedSpanId:{type:String,default:null},expandedNodes:{type:Set,required:!0},depth:{type:Number,default:0},traceStartTime:{type:Number,default:0},traceEndTime:{type:Number,default:0},spanTypeList:{type:Array,default:()=>[]}},computed:{hasChildren(){return this.node.children&&this.node.children.length>0},isRootNode(){return this.depth===0},isExpanded(){return this.isRootNode?!0:this.expandedNodes.has(this.node.span_id)},shouldShowChildren(){return this.isRootNode?!0:this.isExpanded},duration(){return mo(this.node.duration_ns)},typeLabel(){const l=this.node.type;if(l==null||l==="")return"-";const n=this.spanTypeList.find(r=>r.value===l);return n?n.label:l},typeColor(){return yo(this.node.type)},typeCustomColor(){return bo(this.node.type)},statusDescription(){return xo(this.node)},barStyle(){return wo(this.node,this.traceStartTime,this.traceEndTime)},error(){return this.node.status==="ERROR"},hasEvents(){return!!this.node.has_events},isChild(){return this.depth>0}},methods:{handleClick(){this.$emit("node-click",this.node)},handleToggleExpand(){this.isRootNode||this.$emit("toggle-expand",this.node)}}};var Vf=function(){var n=this,r=n._self._c;return r("div",[r("div",{staticClass:"timeline-node",class:{selected:n.selected,error:n.error,"child-node":n.isChild},on:{click:n.handleClick}},[r("div",{staticClass:"node-row"},[r("div",{staticClass:"node-info"},[n.hasChildren&&!n.isRootNode?r("i",{staticClass:"expand-icon",class:n.isExpanded?"el-icon-arrow-down":"el-icon-arrow-right",on:{click:function(o){return o.stopPropagation(),n.handleToggleExpand.apply(null,arguments)}}}):n._e(),r("el-tag",{staticClass:"type-tag",attrs:{type:n.typeColor,color:n.typeCustomColor,size:"mini"}},[n._v(" "+n._s(n.typeLabel)+" ")]),r("el-tooltip",{attrs:{content:n.node.name,placement:"top","open-delay":300}},[r("span",{staticClass:"node-name"},[n._v(n._s(n.node.name))])])],1),r("div",{staticClass:"node-duration"},[n._v(" "+n._s(n.duration)+" ")])]),r("TimelineBar",{attrs:{"bar-style":n.barStyle,"status-description":n.statusDescription,selected:n.selected,error:n.error,"has-events":n.hasEvents}})],1),n.shouldShowChildren&&n.hasChildren?r("div",{staticClass:"children-nodes"},n._l(n.node.children,function(o){return r("SpanTreeNode",{key:o.span_id,attrs:{node:o,selected:o.span_id===n.selectedSpanId,"selected-span-id":n.selectedSpanId,"expanded-nodes":n.expandedNodes,depth:n.depth+1,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.spanTypeList},on:{"node-click":function(u){return n.$emit("node-click",u)},"toggle-expand":function(u){return n.$emit("toggle-expand",u)}}})}),1):n._e()])},Xf=[],Yf=vn(Kf,Vf,Xf,!1,null,"d10c241e");const Jf=Yf.exports,Qf={name:"SpanListNode",components:{TimelineBar:Po},props:{node:{type:Object,required:!0},selected:{type:Boolean,default:!1},traceStartTime:{type:Number,default:0},traceEndTime:{type:Number,default:0},spanTypeList:{type:Array,default:()=>[]}},computed:{duration(){return mo(this.node.duration_ns)},typeLabel(){const l=this.node.type;if(l==null||l==="")return"-";const n=this.spanTypeList.find(r=>r.value===l);return n?n.label:l},typeColor(){return yo(this.node.type)},typeCustomColor(){return bo(this.node.type)},statusDescription(){return xo(this.node)},barStyle(){return wo(this.node,this.traceStartTime,this.traceEndTime)},error(){return this.node.status==="ERROR"},hasEvents(){return!!this.node.has_events}},methods:{handleClick(){this.$emit("node-click",this.node)}}};var Zf=function(){var n=this,r=n._self._c;return r("div",{staticClass:"timeline-node",class:{selected:n.selected,error:n.error},on:{click:n.handleClick}},[r("div",{staticClass:"node-row"},[r("div",{staticClass:"node-info"},[r("el-tag",{staticClass:"type-tag",attrs:{type:n.typeColor,color:n.typeCustomColor,size:"mini"}},[n._v(" "+n._s(n.typeLabel)+" ")]),r("el-tooltip",{attrs:{content:n.node.name,placement:"top","open-delay":300}},[r("span",{staticClass:"node-name"},[n._v(n._s(n.node.name))])])],1),r("div",{staticClass:"node-duration"},[n._v(" "+n._s(n.duration)+" ")])]),r("TimelineBar",{attrs:{"bar-style":n.barStyle,"status-description":n.statusDescription,selected:n.selected,error:n.error,"has-events":n.hasEvents}})],1)},ed=[],td=vn(Qf,Zf,ed,!1,null,"111b6031");const nd=td.exports,rd={name:"TraceSpanTree",components:{TimelineHeader:Wf,SpanTreeNode:Jf,SpanListNode:nd},props:{spans:{type:Array,default:()=>[]},selectedSpanId:{type:String,default:null},traceStartTime:{type:Number,default:0},traceEndTime:{type:Number,default:0},spanTypeList:{type:Array,default:()=>[]}},data(){return{expandedNodes:new Set,treeData:[],allExpanded:!1,viewMode:"list"}},computed:{flatListData(){const l=[],n=r=>{r.forEach(o=>{l.push(o),o.children&&o.children.length>0&&n(o.children)})};return n(this.treeData),l},timeRange(){const l=this.$t?this.$t("trace.to"):"-";return nf(this.traceStartTime,this.traceEndTime,l)}},watch:{spans:{immediate:!0,handler(){this.buildTree()}}},methods:{buildTree(){if(!this.spans||this.spans.length===0){this.treeData=[];return}const l=new Map,n=[];this.spans.forEach(r=>{l.set(r.span_id,{...r,children:[]})}),this.spans.forEach(r=>{const o=l.get(r.span_id);if(r.parent_span_id){const u=l.get(r.parent_span_id);u?u.children.push(o):n.push(o)}else n.push(o)}),n.forEach(r=>{this.sortChildren(r)}),this.treeData=n,this.expandAllNodes()},expandAllNodes(){const l=new Set,n=r=>{r.forEach(o=>{o.children&&o.children.length>0&&o.children.forEach(u=>{this.hasChildren(u)&&l.add(u.span_id),u.children&&u.children.length>0&&n([u])})})};n(this.treeData),this.expandedNodes=l,this.allExpanded=!0,this.$forceUpdate()},collapseAllNodes(){const l=new Set;this.expandedNodes=l,this.allExpanded=!1,this.$forceUpdate()},toggleAllExpand(){this.allExpanded?this.collapseAllNodes():this.expandAllNodes()},toggleViewMode(){this.viewMode=this.viewMode==="list"?"tree":"list"},sortChildren(l){l.children&&l.children.length>0&&(l.children.sort((n,r)=>n.start_time_unix_nano-r.start_time_unix_nano),l.children.forEach(n=>this.sortChildren(n)))},handleNodeClick(l){this.$emit("span-select",l)},hasChildren(l){return l.children&&l.children.length>0},toggleExpand(l){if(this.treeData.some(o=>o.span_id===l.span_id))return;const r=new Set(this.expandedNodes);r.has(l.span_id)?r.delete(l.span_id):r.add(l.span_id),this.expandedNodes=r,this.updateAllExpandedState(),this.$forceUpdate()},updateAllExpandedState(){const l=(r,o=!1)=>{for(const u of r)if(this.hasChildren(u)&&(!o&&!this.expandedNodes.has(u.span_id)||u.children&&u.children.length>0&&!l(u.children,!1)))return!1;return!0};if(!this.treeData.some(r=>r.children&&r.children.some(o=>this.hasChildren(o)))){this.allExpanded=!1;return}this.allExpanded=l(this.treeData,!0)}}};var id=function(){var n=this,r=n._self._c;return r("div",{staticClass:"span-tree-container"},[n.treeData.length===0?r("div",{staticClass:"empty-state"},[r("el-empty",{attrs:{description:"暂无 Span 数据"}})],1):r("div",{staticClass:"timeline-wrapper"},[r("TimelineHeader",{attrs:{"time-range":n.timeRange,"all-expanded":n.allExpanded,"view-mode":n.viewMode},on:{"toggle-expand":n.toggleAllExpand,"toggle-view":n.toggleViewMode}}),r("div",{ref:"timelineContent",staticClass:"timeline-content"},[n.viewMode==="tree"?n._l(n.treeData,function(o){return r("SpanTreeNode",{key:o.span_id,attrs:{node:o,selected:n.selectedSpanId===o.span_id,"selected-span-id":n.selectedSpanId,"expanded-nodes":n.expandedNodes,depth:0,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.spanTypeList},on:{"node-click":n.handleNodeClick,"toggle-expand":n.toggleExpand}})}):n._l(n.flatListData,function(o){return r("SpanListNode",{key:o.span_id,attrs:{node:o,selected:n.selectedSpanId===o.span_id,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.spanTypeList},on:{"node-click":n.handleNodeClick}})})],2)],1)])},ad=[],sd=vn(rd,id,ad,!1,null,"0cf980e1");const Va=sd.exports;function od(){return window.pdfjsLib}const ld={name:"FilePdfViewer",props:{element:{type:Object,required:!0}},data(){return{currentPage:1,totalPages:0,loading:!1,error:null,pdfDoc:null,renderTask:null,pdfScale:1.5,scaleMin:.5,scaleMax:3}},computed:{formatPageIndicator(){return this.$t("trace.pdfPageIndicator",{page:this.currentPage,total:this.totalPages||1})}},watch:{"element.downloadUrl":{handler(){this.currentPage=1,this.totalPages=0,this.error=null,this.pdfDoc=null,this.loadPdf()}},currentPage(){this.renderCurrentPage()},pdfScale(){this.renderCurrentPage()}},mounted(){this.loadPdf()},beforeDestroy(){this.cancelRender(),this.pdfDoc&&(this.pdfDoc.destroy(),this.pdfDoc=null)},methods:{async loadPdf(){var n,r;const l=(n=this.element)==null?void 0:n.downloadUrl;if(!l){this.error="No PDF URL";return}this.loading=!0,this.error=null,this.cancelRender(),this.pdfDoc&&(this.pdfDoc.destroy(),this.pdfDoc=null);try{const o=od();if(!o){this.error="PDF.js not loaded";return}!o.GlobalWorkerOptions.workerSrc&&((r=window.GF_LOCAL_CONFIG)!=null&&r.WORKER_SRC)&&(o.GlobalWorkerOptions.workerSrc=window.GF_LOCAL_CONFIG.WORKER_SRC);const u=o.getDocument({url:l});this.pdfDoc=await u.promise,this.totalPages=this.pdfDoc.numPages,this.loading=!1,await this.$nextTick(),await this.renderCurrentPage()}catch(o){this.error=(o==null?void 0:o.message)||"Failed to load PDF"}finally{this.loading=!1}},cancelRender(){this.renderTask&&(this.renderTask.cancel(),this.renderTask=null)},async renderCurrentPage(){if(!(!this.pdfDoc||!this.$refs.canvasRef)){this.cancelRender();try{const l=await this.pdfDoc.getPage(this.currentPage),n=this.$refs.canvasRef,r=n.getContext("2d"),o=window.devicePixelRatio||1,u=this.pdfScale*o,f=l.getViewport({scale:u});n.height=f.height,n.width=f.width,n.style.width=`${f.width/o}px`,n.style.height=`${f.height/o}px`,this.renderTask=l.render({canvasContext:r,viewport:f}),await this.renderTask.promise}catch(l){(l==null?void 0:l.name)!=="RenderingCancelledException"&&(this.error=(l==null?void 0:l.message)||"Failed to render page")}finally{this.renderTask=null}}},prevPage(){this.currentPage>1&&this.currentPage--},nextPage(){this.currentPage<this.totalPages&&this.currentPage++},zoomIn(){this.pdfScale<this.scaleMax&&(this.pdfScale=Math.min(this.scaleMax,Math.round((this.pdfScale+.25)*100)/100))},zoomOut(){this.pdfScale>this.scaleMin&&(this.pdfScale=Math.max(this.scaleMin,Math.round((this.pdfScale-.25)*100)/100))},downloadFile(){var o,u,f;const l=(o=this.element)==null?void 0:o.downloadUrl;if(!l)return;const n=((u=this.element)==null?void 0:u.name)||((f=this.element)==null?void 0:f.label)||"file.pdf",r=document.createElement("a");r.href=l,r.download=n,r.rel="noopener",r.target="_blank",document.body.appendChild(r),r.click(),document.body.removeChild(r)}}};var ud=function(){var o;var n=this,r=n._self._c;return r("div",{staticClass:"file-pdf-content"},[n.element.label?r("div",{staticClass:"image-label"},[n._v(n._s(n.element.label))]):n._e(),r("div",{staticClass:"file-pdf-toolbar"},[r("el-button",{attrs:{size:"mini",disabled:n.currentPage<=1},on:{click:n.prevPage}},[n._v(n._s(n.$t("trace.pdfPrevPage")))]),r("span",{staticClass:"file-pdf-page-indicator"},[n._v(n._s(n.formatPageIndicator))]),r("el-button",{attrs:{size:"mini",disabled:n.totalPages>0&&n.currentPage>=n.totalPages},on:{click:n.nextPage}},[n._v(n._s(n.$t("trace.pdfNextPage")))]),r("div",{staticClass:"file-pdf-zoom"},[r("span",{staticClass:"file-pdf-zoom-btn",class:{disabled:n.pdfScale<=n.scaleMin},on:{click:n.zoomOut}},[r("i",{staticClass:"el-icon-minus"})]),r("span",{staticClass:"file-pdf-zoom-btn",class:{disabled:n.pdfScale>=n.scaleMax},on:{click:n.zoomIn}},[r("i",{staticClass:"el-icon-plus"})])]),r("el-button",{attrs:{size:"mini",type:"primary",disabled:!((o=n.element)!=null&&o.downloadUrl)},on:{click:n.downloadFile}},[n._v(n._s(n.$t("trace.pdfDownload")))])],1),r("div",{staticClass:"file-pdf-viewer"},[n.loading?r("div",{staticClass:"file-pdf-loading"},[n._v(n._s(n.$t("trace.pdfLoading")))]):n.error?r("div",{staticClass:"file-pdf-error"},[n._v(n._s(n.error))]):r("canvas",{ref:"canvasRef",staticClass:"file-pdf-canvas"})])])},cd=[],fd=vn(ld,ud,cd,!1,null,"fbe9d6b8");const Xa=fd.exports;/*!
|
|
70
70
|
* Viewer.js v1.11.7
|
|
71
71
|
* https://fengyuanchen.github.io/viewerjs
|
|
72
72
|
*
|
|
@@ -76,15 +76,15 @@ Please report this to https://github.com/markedjs/marked.`,n){const u="<p>An err
|
|
|
76
76
|
* Date: 2024-11-24T04:32:19.116Z
|
|
77
77
|
*/function dd(l,n){if(!(l instanceof n))throw new TypeError("Cannot call a class as a function")}function zo(l,n){for(var r=0;r<n.length;r++){var o=n[r];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(l,Ho(o.key),o)}}function hd(l,n,r){return n&&zo(l.prototype,n),r&&zo(l,r),Object.defineProperty(l,"prototype",{writable:!1}),l}function pd(l,n,r){return(n=Ho(n))in l?Object.defineProperty(l,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):l[n]=r,l}function Bo(l,n){var r=Object.keys(l);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(l);n&&(o=o.filter(function(u){return Object.getOwnPropertyDescriptor(l,u).enumerable})),r.push.apply(r,o)}return r}function Ya(l){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?Bo(Object(r),!0).forEach(function(o){pd(l,o,r[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(r)):Bo(Object(r)).forEach(function(o){Object.defineProperty(l,o,Object.getOwnPropertyDescriptor(r,o))})}return l}function gd(l,n){if(typeof l!="object"||!l)return l;var r=l[Symbol.toPrimitive];if(r!==void 0){var o=r.call(l,n);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(l)}function Ho(l){var n=gd(l,"string");return typeof n=="symbol"?n:n+""}function Ja(l){"@babel/helpers - typeof";return Ja=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},Ja(l)}var Wo={backdrop:!0,button:!0,navbar:!0,title:!0,toolbar:!0,className:"",container:"body",filter:null,fullscreen:!0,inheritedAttributes:["crossOrigin","decoding","isMap","loading","referrerPolicy","sizes","srcset","useMap"],initialCoverage:.9,initialViewIndex:0,inline:!1,interval:5e3,keyboard:!0,focus:!0,loading:!0,loop:!0,minWidth:200,minHeight:100,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,slideOnTouch:!0,toggleOnDblclick:!0,tooltip:!0,transition:!0,zIndex:2015,zIndexInline:0,zoomRatio:.1,minZoomRatio:.01,maxZoomRatio:100,url:"src",ready:null,show:null,shown:null,hide:null,hidden:null,view:null,viewed:null,move:null,moved:null,rotate:null,rotated:null,scale:null,scaled:null,zoom:null,zoomed:null,play:null,stop:null},md='<div class="viewer-container" tabindex="-1" touch-action="none"><div class="viewer-canvas"></div><div class="viewer-footer"><div class="viewer-title"></div><div class="viewer-toolbar"></div><div class="viewer-navbar"><ul class="viewer-list" role="navigation"></ul></div></div><div class="viewer-tooltip" role="alert" aria-hidden="true"></div><div class="viewer-button" data-viewer-action="mix" role="button"></div><div class="viewer-player"></div></div>',Ki=typeof window<"u"&&typeof window.document<"u",Sn=Ki?window:{},dr=Ki&&Sn.document.documentElement?"ontouchstart"in Sn.document.documentElement:!1,Qa=Ki?"PointerEvent"in Sn:!1,Ne="viewer",Vi="move",jo="switch",ei="zoom",Xi="".concat(Ne,"-active"),vd="".concat(Ne,"-close"),Yi="".concat(Ne,"-fade"),Za="".concat(Ne,"-fixed"),yd="".concat(Ne,"-fullscreen"),qo="".concat(Ne,"-fullscreen-exit"),Yn="".concat(Ne,"-hide"),bd="".concat(Ne,"-hide-md-down"),xd="".concat(Ne,"-hide-sm-down"),wd="".concat(Ne,"-hide-xs-down"),Qt="".concat(Ne,"-in"),ti="".concat(Ne,"-invisible"),hr="".concat(Ne,"-loading"),kd="".concat(Ne,"-move"),Uo="".concat(Ne,"-open"),pr="".concat(Ne,"-show"),at="".concat(Ne,"-transition"),gr="click",es="dblclick",Go="dragstart",Ko="focusin",Vo="keydown",Zt="load",Jn="error",Sd=dr?"touchend touchcancel":"mouseup",Cd=dr?"touchmove":"mousemove",Td=dr?"touchstart":"mousedown",Xo=Qa?"pointerdown":Td,Yo=Qa?"pointermove":Cd,Jo=Qa?"pointerup pointercancel":Sd,Qo="resize",rn="transitionend",Zo="wheel",el="ready",tl="show",nl="shown",rl="hide",il="hidden",al="view",ni="viewed",sl="move",ol="moved",ll="rotate",ul="rotated",cl="scale",fl="scaled",dl="zoom",hl="zoomed",pl="play",gl="stop",Ji="".concat(Ne,"Action"),ts=/\s\s*/,Qi=["zoom-in","zoom-out","one-to-one","reset","prev","play","next","rotate-left","rotate-right","flip-horizontal","flip-vertical"];function ri(l){return typeof l=="string"}var _d=Number.isNaN||Sn.isNaN;function Ze(l){return typeof l=="number"&&!_d(l)}function mr(l){return typeof l>"u"}function vr(l){return Ja(l)==="object"&&l!==null}var Ld=Object.prototype.hasOwnProperty;function yr(l){if(!vr(l))return!1;try{var n=l.constructor,r=n.prototype;return n&&r&&Ld.call(r,"isPrototypeOf")}catch{return!1}}function Ue(l){return typeof l=="function"}function Ve(l,n){if(l&&Ue(n))if(Array.isArray(l)||Ze(l.length)){var r=l.length,o;for(o=0;o<r&&n.call(l,l[o],o,l)!==!1;o+=1);}else vr(l)&&Object.keys(l).forEach(function(u){n.call(l,l[u],u,l)});return l}var Gt=Object.assign||function(n){for(var r=arguments.length,o=new Array(r>1?r-1:0),u=1;u<r;u++)o[u-1]=arguments[u];return vr(n)&&o.length>0&&o.forEach(function(f){vr(f)&&Object.keys(f).forEach(function(p){n[p]=f[p]})}),n},Ed=/^(?:width|height|left|top|marginLeft|marginTop)$/;function an(l,n){var r=l.style;Ve(n,function(o,u){Ed.test(u)&&Ze(o)&&(o+="px"),r[u]=o})}function Id(l){return ri(l)?l.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"):l}function br(l,n){return!l||!n?!1:l.classList?l.classList.contains(n):l.className.indexOf(n)>-1}function Te(l,n){if(!(!l||!n)){if(Ze(l.length)){Ve(l,function(o){Te(o,n)});return}if(l.classList){l.classList.add(n);return}var r=l.className.trim();r?r.indexOf(n)<0&&(l.className="".concat(r," ").concat(n)):l.className=n}}function He(l,n){if(!(!l||!n)){if(Ze(l.length)){Ve(l,function(r){He(r,n)});return}if(l.classList){l.classList.remove(n);return}l.className.indexOf(n)>=0&&(l.className=l.className.replace(n,""))}}function ii(l,n,r){if(n){if(Ze(l.length)){Ve(l,function(o){ii(o,n,r)});return}r?Te(l,n):He(l,n)}}var Ad=/([a-z\d])([A-Z])/g;function ns(l){return l.replace(Ad,"$1-$2").toLowerCase()}function xr(l,n){return vr(l[n])?l[n]:l.dataset?l.dataset[n]:l.getAttribute("data-".concat(ns(n)))}function rs(l,n,r){vr(r)?l[n]=r:l.dataset?l.dataset[n]=r:l.setAttribute("data-".concat(ns(n)),r)}var ml=function(){var l=!1;if(Ki){var n=!1,r=function(){},o=Object.defineProperty({},"once",{get:function(){return l=!0,n},set:function(f){n=f}});Sn.addEventListener("test",r,o),Sn.removeEventListener("test",r,o)}return l}();function Ge(l,n,r){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},u=r;n.trim().split(ts).forEach(function(f){if(!ml){var p=l.listeners;p&&p[f]&&p[f][r]&&(u=p[f][r],delete p[f][r],Object.keys(p[f]).length===0&&delete p[f],Object.keys(p).length===0&&delete l.listeners)}l.removeEventListener(f,u,o)})}function Ee(l,n,r){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},u=r;n.trim().split(ts).forEach(function(f){if(o.once&&!ml){var p=l.listeners,y=p===void 0?{}:p;u=function(){delete y[f][r],l.removeEventListener(f,u,o);for(var k=arguments.length,S=new Array(k),R=0;R<k;R++)S[R]=arguments[R];r.apply(l,S)},y[f]||(y[f]={}),y[f][r]&&l.removeEventListener(f,y[f][r],o),y[f][r]=u,l.listeners=y}l.addEventListener(f,u,o)})}function ot(l,n,r,o){var u;return Ue(Event)&&Ue(CustomEvent)?u=new CustomEvent(n,Ya({bubbles:!0,cancelable:!0,detail:r},o)):(u=document.createEvent("CustomEvent"),u.initCustomEvent(n,!0,!0,r)),l.dispatchEvent(u)}function Dd(l){var n=l.getBoundingClientRect();return{left:n.left+(window.pageXOffset-document.documentElement.clientLeft),top:n.top+(window.pageYOffset-document.documentElement.clientTop)}}function Zi(l){var n=l.rotate,r=l.scaleX,o=l.scaleY,u=l.translateX,f=l.translateY,p=[];Ze(u)&&u!==0&&p.push("translateX(".concat(u,"px)")),Ze(f)&&f!==0&&p.push("translateY(".concat(f,"px)")),Ze(n)&&n!==0&&p.push("rotate(".concat(n,"deg)")),Ze(r)&&r!==1&&p.push("scaleX(".concat(r,")")),Ze(o)&&o!==1&&p.push("scaleY(".concat(o,")"));var y=p.length?p.join(" "):"none";return{WebkitTransform:y,msTransform:y,transform:y}}function Od(l){return ri(l)?decodeURIComponent(l.replace(/^.*\//,"").replace(/[?&#].*$/,"")):""}var is=Sn.navigator&&/Version\/\d+(\.\d+)+?\s+Safari/i.test(Sn.navigator.userAgent);function vl(l,n,r){var o=document.createElement("img");if(l.naturalWidth&&!is)return r(l.naturalWidth,l.naturalHeight),o;var u=document.body||document.documentElement;return o.onload=function(){r(o.width,o.height),is||u.removeChild(o)},Ve(n.inheritedAttributes,function(f){var p=l.getAttribute(f);p!==null&&o.setAttribute(f,p)}),o.src=l.src,is||(o.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",u.appendChild(o)),o}function ea(l){switch(l){case 2:return wd;case 3:return xd;case 4:return bd;default:return""}}function Nd(l){var n=Ya({},l),r=[];return Ve(l,function(o,u){delete n[u],Ve(n,function(f){var p=Math.abs(o.startX-f.startX),y=Math.abs(o.startY-f.startY),m=Math.abs(o.endX-f.endX),k=Math.abs(o.endY-f.endY),S=Math.sqrt(p*p+y*y),R=Math.sqrt(m*m+k*k),L=(R-S)/S;r.push(L)})}),r.sort(function(o,u){return Math.abs(o)<Math.abs(u)}),r[0]}function ta(l,n){var r=l.pageX,o=l.pageY,u={endX:r,endY:o};return n?u:Ya({timeStamp:Date.now(),startX:r,startY:o},u)}function Fd(l){var n=0,r=0,o=0;return Ve(l,function(u){var f=u.startX,p=u.startY;n+=f,r+=p,o+=1}),n/=o,r/=o,{pageX:n,pageY:r}}var Rd={render:function(){this.initContainer(),this.initViewer(),this.initList(),this.renderViewer()},initBody:function(){var n=this.element.ownerDocument,r=n.body||n.documentElement;this.body=r,this.scrollbarWidth=window.innerWidth-n.documentElement.clientWidth,this.initialBodyPaddingRight=r.style.paddingRight,this.initialBodyComputedPaddingRight=window.getComputedStyle(r).paddingRight},initContainer:function(){this.containerData={width:window.innerWidth,height:window.innerHeight}},initViewer:function(){var n=this.options,r=this.parent,o;n.inline&&(o={width:Math.max(r.offsetWidth,n.minWidth),height:Math.max(r.offsetHeight,n.minHeight)},this.parentData=o),(this.fulled||!o)&&(o=this.containerData),this.viewerData=Gt({},o)},renderViewer:function(){this.options.inline&&!this.fulled&&an(this.viewer,this.viewerData)},initList:function(){var n=this,r=this.element,o=this.options,u=this.list,f=[];u.innerHTML="",Ve(this.images,function(p,y){var m=p.src,k=p.alt||Od(m),S=n.getImageURL(p);if(m||S){var R=document.createElement("li"),L=document.createElement("img");Ve(o.inheritedAttributes,function(W){var z=p.getAttribute(W);z!==null&&L.setAttribute(W,z)}),o.navbar&&(L.src=m||S),L.alt=k,L.setAttribute("data-original-url",S||m),R.setAttribute("data-index",y),R.setAttribute("data-viewer-action","view"),R.setAttribute("role","button"),o.keyboard&&R.setAttribute("tabindex",0),R.appendChild(L),u.appendChild(R),f.push(R)}}),this.items=f,Ve(f,function(p){var y=p.firstElementChild,m,k;rs(y,"filled",!0),o.loading&&Te(p,hr),Ee(y,Zt,m=function(R){Ge(y,Jn,k),o.loading&&He(p,hr),n.loadImage(R)},{once:!0}),Ee(y,Jn,k=function(){Ge(y,Zt,m),o.loading&&He(p,hr)},{once:!0})}),o.transition&&Ee(r,ni,function(){Te(u,at)},{once:!0})},renderList:function(){var n=this.index,r=this.items[n];if(r){var o=r.nextElementSibling,u=parseInt(window.getComputedStyle(o||r).marginLeft,10),f=r.offsetWidth,p=f+u;an(this.list,Gt({width:p*this.length-u},Zi({translateX:(this.viewerData.width-f)/2-p*n})))}},resetList:function(){var n=this.list;n.innerHTML="",He(n,at),an(n,Zi({translateX:0}))},initImage:function(n){var r=this,o=this.options,u=this.image,f=this.viewerData,p=this.footer.offsetHeight,y=f.width,m=Math.max(f.height-p,p),k=this.imageData||{},S;this.imageInitializing={abort:function(){S.onload=null}},S=vl(u,o,function(R,L){var W=R/L,z=Math.max(0,Math.min(1,o.initialCoverage)),D=y,$=m;r.imageInitializing=!1,m*W>y?$=y/W:D=m*W,z=Ze(z)?z:.9,D=Math.min(D*z,R),$=Math.min($*z,L);var I=(y-D)/2,N=(m-$)/2,H={left:I,top:N,x:I,y:N,width:D,height:$,oldRatio:1,ratio:D/R,aspectRatio:W,naturalWidth:R,naturalHeight:L},V=Gt({},H);o.rotatable&&(H.rotate=k.rotate||0,V.rotate=0),o.scalable&&(H.scaleX=k.scaleX||1,H.scaleY=k.scaleY||1,V.scaleX=1,V.scaleY=1),r.imageData=H,r.initialImageData=V,n&&n()})},renderImage:function(n){var r=this,o=this.image,u=this.imageData;if(an(o,Gt({width:u.width,height:u.height,marginLeft:u.x,marginTop:u.y},Zi(u))),n)if((this.viewing||this.moving||this.rotating||this.scaling||this.zooming)&&this.options.transition&&br(o,at)){var f=function(){r.imageRendering=!1,n()};this.imageRendering={abort:function(){Ge(o,rn,f)}},Ee(o,rn,f,{once:!0})}else n()},resetImage:function(){var n=this.image;n&&(this.viewing&&this.viewing.abort(),n.parentNode.removeChild(n),this.image=null,this.title.innerHTML="")}},Md={bind:function(){var n=this.options,r=this.viewer,o=this.canvas,u=this.element.ownerDocument;Ee(r,gr,this.onClick=this.click.bind(this)),Ee(r,Go,this.onDragStart=this.dragstart.bind(this)),Ee(o,Xo,this.onPointerDown=this.pointerdown.bind(this)),Ee(u,Yo,this.onPointerMove=this.pointermove.bind(this)),Ee(u,Jo,this.onPointerUp=this.pointerup.bind(this)),Ee(u,Vo,this.onKeyDown=this.keydown.bind(this)),Ee(window,Qo,this.onResize=this.resize.bind(this)),n.zoomable&&n.zoomOnWheel&&Ee(r,Zo,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),n.toggleOnDblclick&&Ee(o,es,this.onDblclick=this.dblclick.bind(this))},unbind:function(){var n=this.options,r=this.viewer,o=this.canvas,u=this.element.ownerDocument;Ge(r,gr,this.onClick),Ge(r,Go,this.onDragStart),Ge(o,Xo,this.onPointerDown),Ge(u,Yo,this.onPointerMove),Ge(u,Jo,this.onPointerUp),Ge(u,Vo,this.onKeyDown),Ge(window,Qo,this.onResize),n.zoomable&&n.zoomOnWheel&&Ge(r,Zo,this.onWheel,{passive:!1,capture:!0}),n.toggleOnDblclick&&Ge(o,es,this.onDblclick)}},$d={click:function(n){var r=this.options,o=this.imageData,u=n.target,f=xr(u,Ji);switch(!f&&u.localName==="img"&&u.parentElement.localName==="li"&&(u=u.parentElement,f=xr(u,Ji)),dr&&n.isTrusted&&u===this.canvas&&clearTimeout(this.clickCanvasTimeout),f){case"mix":this.played?this.stop():r.inline?this.fulled?this.exit():this.full():this.hide();break;case"hide":this.pointerMoved||this.hide();break;case"view":this.view(xr(u,"index"));break;case"zoom-in":this.zoom(.1,!0);break;case"zoom-out":this.zoom(-.1,!0);break;case"one-to-one":this.toggle();break;case"reset":this.reset();break;case"prev":this.prev(r.loop);break;case"play":this.play(r.fullscreen);break;case"next":this.next(r.loop);break;case"rotate-left":this.rotate(-90);break;case"rotate-right":this.rotate(90);break;case"flip-horizontal":this.scaleX(-o.scaleX||-1);break;case"flip-vertical":this.scaleY(-o.scaleY||-1);break;default:this.played&&this.stop()}},dblclick:function(n){n.preventDefault(),this.viewed&&n.target===this.image&&(dr&&n.isTrusted&&clearTimeout(this.doubleClickImageTimeout),this.toggle(n.isTrusted?n:n.detail&&n.detail.originalEvent))},load:function(){var n=this;this.timeout&&(clearTimeout(this.timeout),this.timeout=!1);var r=this.element,o=this.options,u=this.image,f=this.index,p=this.viewerData;He(u,ti),o.loading&&He(this.canvas,hr),u.style.cssText="height:0;"+"margin-left:".concat(p.width/2,"px;")+"margin-top:".concat(p.height/2,"px;")+"max-width:none!important;position:relative;width:0;",this.initImage(function(){ii(u,kd,o.movable),ii(u,at,o.transition),n.renderImage(function(){n.viewed=!0,n.viewing=!1,Ue(o.viewed)&&Ee(r,ni,o.viewed,{once:!0}),ot(r,ni,{originalImage:n.images[f],index:f,image:u},{cancelable:!1})})})},loadImage:function(n){var r=n.target,o=r.parentNode,u=o.offsetWidth||30,f=o.offsetHeight||50,p=!!xr(r,"filled");vl(r,this.options,function(y,m){var k=y/m,S=u,R=f;f*k>u?p?S=f*k:R=u/k:p?R=u/k:S=f*k,an(r,Gt({width:S,height:R},Zi({translateX:(u-S)/2,translateY:(f-R)/2})))})},keydown:function(n){var r=this.options;if(r.keyboard){var o=n.keyCode||n.which||n.charCode;switch(o){case 13:this.viewer.contains(n.target)&&this.click(n);break}if(this.fulled)switch(o){case 27:this.played?this.stop():r.inline?this.fulled&&this.exit():this.hide();break;case 32:this.played&&this.stop();break;case 37:this.played&&this.playing?this.playing.prev():this.prev(r.loop);break;case 38:n.preventDefault(),this.zoom(r.zoomRatio,!0);break;case 39:this.played&&this.playing?this.playing.next():this.next(r.loop);break;case 40:n.preventDefault(),this.zoom(-r.zoomRatio,!0);break;case 48:case 49:n.ctrlKey&&(n.preventDefault(),this.toggle());break}}},dragstart:function(n){n.target.localName==="img"&&n.preventDefault()},pointerdown:function(n){var r=this.options,o=this.pointers,u=n.buttons,f=n.button;if(this.pointerMoved=!1,!(!this.viewed||this.showing||this.viewing||this.hiding||(n.type==="mousedown"||n.type==="pointerdown"&&n.pointerType==="mouse")&&(Ze(u)&&u!==1||Ze(f)&&f!==0||n.ctrlKey))){n.preventDefault(),n.changedTouches?Ve(n.changedTouches,function(y){o[y.identifier]=ta(y)}):o[n.pointerId||0]=ta(n);var p=r.movable?Vi:!1;r.zoomOnTouch&&r.zoomable&&Object.keys(o).length>1?p=ei:r.slideOnTouch&&(n.pointerType==="touch"||n.type==="touchstart")&&this.isSwitchable()&&(p=jo),r.transition&&(p===Vi||p===ei)&&He(this.image,at),this.action=p}},pointermove:function(n){var r=this.pointers,o=this.action;!this.viewed||!o||(n.preventDefault(),n.changedTouches?Ve(n.changedTouches,function(u){Gt(r[u.identifier]||{},ta(u,!0))}):Gt(r[n.pointerId||0]||{},ta(n,!0)),this.change(n))},pointerup:function(n){var r=this,o=this.options,u=this.action,f=this.pointers,p;n.changedTouches?Ve(n.changedTouches,function(y){p=f[y.identifier],delete f[y.identifier]}):(p=f[n.pointerId||0],delete f[n.pointerId||0]),u&&(n.preventDefault(),o.transition&&(u===Vi||u===ei)&&Te(this.image,at),this.action=!1,dr&&u!==ei&&p&&Date.now()-p.timeStamp<500&&(clearTimeout(this.clickCanvasTimeout),clearTimeout(this.doubleClickImageTimeout),o.toggleOnDblclick&&this.viewed&&n.target===this.image?this.imageClicked?(this.imageClicked=!1,this.doubleClickImageTimeout=setTimeout(function(){ot(r.image,es,{originalEvent:n})},50)):(this.imageClicked=!0,this.doubleClickImageTimeout=setTimeout(function(){r.imageClicked=!1},500)):(this.imageClicked=!1,o.backdrop&&o.backdrop!=="static"&&n.target===this.canvas&&(this.clickCanvasTimeout=setTimeout(function(){ot(r.canvas,gr,{originalEvent:n})},50)))))},resize:function(){var n=this;if(!(!this.isShown||this.hiding)&&(this.fulled&&(this.close(),this.initBody(),this.open()),this.initContainer(),this.initViewer(),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){n.renderImage()}),this.played)){if(this.options.fullscreen&&this.fulled&&!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)){this.stop();return}Ve(this.player.getElementsByTagName("img"),function(r){Ee(r,Zt,n.loadImage.bind(n),{once:!0}),ot(r,Zt)})}},wheel:function(n){var r=this;if(this.viewed&&(n.preventDefault(),!this.wheeling)){this.wheeling=!0,setTimeout(function(){r.wheeling=!1},50);var o=Number(this.options.zoomRatio)||.1,u=1;n.deltaY?u=n.deltaY>0?1:-1:n.wheelDelta?u=-n.wheelDelta/120:n.detail&&(u=n.detail>0?1:-1),this.zoom(-u*o,!0,null,n)}}},Pd={show:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=this.element,o=this.options;if(o.inline||this.showing||this.isShown||this.showing)return this;if(!this.ready)return this.build(),this.ready&&this.show(n),this;if(Ue(o.show)&&Ee(r,tl,o.show,{once:!0}),ot(r,tl)===!1||!this.ready)return this;this.hiding&&this.transitioning.abort(),this.showing=!0,this.open();var u=this.viewer;if(He(u,Yn),u.setAttribute("role","dialog"),u.setAttribute("aria-labelledby",this.title.id),u.setAttribute("aria-modal",!0),u.removeAttribute("aria-hidden"),o.transition&&!n){var f=this.shown.bind(this);this.transitioning={abort:function(){Ge(u,rn,f),He(u,Qt)}},Te(u,at),u.initialOffsetWidth=u.offsetWidth,Ee(u,rn,f,{once:!0}),Te(u,Qt)}else Te(u,Qt),this.shown();return this},hide:function(){var n=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,o=this.element,u=this.options;if(u.inline||this.hiding||!(this.isShown||this.showing))return this;if(Ue(u.hide)&&Ee(o,rl,u.hide,{once:!0}),ot(o,rl)===!1)return this;this.showing&&this.transitioning.abort(),this.hiding=!0,this.played?this.stop():this.viewing&&this.viewing.abort();var f=this.viewer,p=this.image,y=function(){He(f,Qt),n.hidden()};if(u.transition&&!r){var m=function(R){R&&R.target===f&&(Ge(f,rn,m),n.hidden())},k=function(){br(f,at)?(Ee(f,rn,m),He(f,Qt)):y()};this.transitioning={abort:function(){n.viewed&&br(p,at)?Ge(p,rn,k):br(f,at)&&Ge(f,rn,m)}},this.viewed&&br(p,at)?(Ee(p,rn,k,{once:!0}),this.zoomTo(0,!1,null,null,!0)):k()}else y();return this},view:function(){var n=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.initialViewIndex;if(r=Number(r)||0,this.hiding||this.played||r<0||r>=this.length||this.viewed&&r===this.index)return this;if(!this.isShown)return this.index=r,this.show();this.viewing&&this.viewing.abort();var o=this.element,u=this.options,f=this.title,p=this.canvas,y=this.items[r],m=y.querySelector("img"),k=xr(m,"originalUrl"),S=m.getAttribute("alt"),R=document.createElement("img");if(Ve(u.inheritedAttributes,function($){var I=m.getAttribute($);I!==null&&R.setAttribute($,I)}),R.src=k,R.alt=S,Ue(u.view)&&Ee(o,al,u.view,{once:!0}),ot(o,al,{originalImage:this.images[r],index:r,image:R})===!1||!this.isShown||this.hiding||this.played)return this;var L=this.items[this.index];L&&(He(L,Xi),L.removeAttribute("aria-selected")),Te(y,Xi),y.setAttribute("aria-selected",!0),u.focus&&y.focus(),this.image=R,this.viewed=!1,this.index=r,this.imageData={},Te(R,ti),u.loading&&Te(p,hr),p.innerHTML="",p.appendChild(R),this.renderList(),f.innerHTML="";var W=function(){var I=n.imageData,N=Array.isArray(u.title)?u.title[1]:u.title;f.innerHTML=Id(Ue(N)?N.call(n,R,I):"".concat(S," (").concat(I.naturalWidth," × ").concat(I.naturalHeight,")"))},z,D;return Ee(o,ni,W,{once:!0}),this.viewing={abort:function(){Ge(o,ni,W),R.complete?n.imageRendering?n.imageRendering.abort():n.imageInitializing&&n.imageInitializing.abort():(R.src="",Ge(R,Zt,z),n.timeout&&clearTimeout(n.timeout))}},R.complete?this.load():(Ee(R,Zt,z=function(){Ge(R,Jn,D),n.load()},{once:!0}),Ee(R,Jn,D=function(){Ge(R,Zt,z),n.timeout&&(clearTimeout(n.timeout),n.timeout=!1),He(R,ti),u.loading&&He(n.canvas,hr)},{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){He(R,ti),n.timeout=!1},1e3)),this},prev:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=this.index-1;return r<0&&(r=n?this.length-1:0),this.view(r),this},next:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=this.length-1,o=this.index+1;return o>r&&(o=n?0:r),this.view(o),this},move:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,o=this.imageData;return this.moveTo(mr(n)?n:o.x+Number(n),mr(r)?r:o.y+Number(r)),this},moveTo:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,f=this.element,p=this.options,y=this.imageData;if(n=Number(n),o=Number(o),this.viewed&&!this.played&&p.movable){var m=y.x,k=y.y,S=!1;if(Ze(n)?S=!0:n=m,Ze(o)?S=!0:o=k,S){if(Ue(p.move)&&Ee(f,sl,p.move,{once:!0}),ot(f,sl,{x:n,y:o,oldX:m,oldY:k,originalEvent:u})===!1)return this;y.x=n,y.y=o,y.left=n,y.top=o,this.moving=!0,this.renderImage(function(){r.moving=!1,Ue(p.moved)&&Ee(f,ol,p.moved,{once:!0}),ot(f,ol,{x:n,y:o,oldX:m,oldY:k,originalEvent:u},{cancelable:!1})})}}return this},rotate:function(n){return this.rotateTo((this.imageData.rotate||0)+Number(n)),this},rotateTo:function(n){var r=this,o=this.element,u=this.options,f=this.imageData;if(n=Number(n),Ze(n)&&this.viewed&&!this.played&&u.rotatable){var p=f.rotate;if(Ue(u.rotate)&&Ee(o,ll,u.rotate,{once:!0}),ot(o,ll,{degree:n,oldDegree:p})===!1)return this;f.rotate=n,this.rotating=!0,this.renderImage(function(){r.rotating=!1,Ue(u.rotated)&&Ee(o,ul,u.rotated,{once:!0}),ot(o,ul,{degree:n,oldDegree:p},{cancelable:!1})})}return this},scaleX:function(n){return this.scale(n,this.imageData.scaleY),this},scaleY:function(n){return this.scale(this.imageData.scaleX,n),this},scale:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,u=this.element,f=this.options,p=this.imageData;if(n=Number(n),o=Number(o),this.viewed&&!this.played&&f.scalable){var y=p.scaleX,m=p.scaleY,k=!1;if(Ze(n)?k=!0:n=y,Ze(o)?k=!0:o=m,k){if(Ue(f.scale)&&Ee(u,cl,f.scale,{once:!0}),ot(u,cl,{scaleX:n,scaleY:o,oldScaleX:y,oldScaleY:m})===!1)return this;p.scaleX=n,p.scaleY=o,this.scaling=!0,this.renderImage(function(){r.scaling=!1,Ue(f.scaled)&&Ee(u,fl,f.scaled,{once:!0}),ot(u,fl,{scaleX:n,scaleY:o,oldScaleX:y,oldScaleY:m},{cancelable:!1})})}}return this},zoom:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,f=this.imageData;return n=Number(n),n<0?n=1/(1-n):n=1+n,this.zoomTo(f.width*n/f.naturalWidth,r,o,u),this},zoomTo:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,y=this.element,m=this.options,k=this.pointers,S=this.imageData,R=S.x,L=S.y,W=S.width,z=S.height,D=S.naturalWidth,$=S.naturalHeight;if(n=Math.max(0,n),Ze(n)&&this.viewed&&!this.played&&(p||m.zoomable)){if(!p){var I=Math.max(.01,m.minZoomRatio),N=Math.min(100,m.maxZoomRatio);n=Math.min(Math.max(n,I),N)}if(f)switch(f.type){case"wheel":m.zoomRatio>=.055&&n>.95&&n<1.05&&(n=1);break;case"pointermove":case"touchmove":case"mousemove":n>.99&&n<1.01&&(n=1);break}var H=D*n,V=$*n,ne=H-W,ue=V-z,se=S.ratio;if(Ue(m.zoom)&&Ee(y,dl,m.zoom,{once:!0}),ot(y,dl,{ratio:n,oldRatio:se,originalEvent:f})===!1)return this;if(this.zooming=!0,f){var de=Dd(this.viewer),Oe=k&&Object.keys(k).length>0?Fd(k):{pageX:f.pageX,pageY:f.pageY};S.x-=ne*((Oe.pageX-de.left-R)/W),S.y-=ue*((Oe.pageY-de.top-L)/z)}else yr(u)&&Ze(u.x)&&Ze(u.y)?(S.x-=ne*((u.x-R)/W),S.y-=ue*((u.y-L)/z)):(S.x-=ne/2,S.y-=ue/2);S.left=S.x,S.top=S.y,S.width=H,S.height=V,S.oldRatio=se,S.ratio=n,this.renderImage(function(){r.zooming=!1,Ue(m.zoomed)&&Ee(y,hl,m.zoomed,{once:!0}),ot(y,hl,{ratio:n,oldRatio:se,originalEvent:f},{cancelable:!1})}),o&&this.tooltip()}return this},play:function(){var n=this,r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!this.isShown||this.played)return this;var o=this.element,u=this.options;if(Ue(u.play)&&Ee(o,pl,u.play,{once:!0}),ot(o,pl)===!1)return this;var f=this.player,p=this.loadImage.bind(this),y=[],m=0,k=0;if(this.played=!0,this.onLoadWhenPlay=p,r&&this.requestFullscreen(r),Te(f,pr),Ve(this.items,function(L,W){var z=L.querySelector("img"),D=document.createElement("img");D.src=xr(z,"originalUrl"),D.alt=z.getAttribute("alt"),D.referrerPolicy=z.referrerPolicy,m+=1,Te(D,Yi),ii(D,at,u.transition),br(L,Xi)&&(Te(D,Qt),k=W),y.push(D),Ee(D,Zt,p,{once:!0}),f.appendChild(D)}),Ze(u.interval)&&u.interval>0){var S=function(){clearTimeout(n.playing.timeout),He(y[k],Qt),k-=1,k=k>=0?k:m-1,Te(y[k],Qt),n.playing.timeout=setTimeout(S,u.interval)},R=function(){clearTimeout(n.playing.timeout),He(y[k],Qt),k+=1,k=k<m?k:0,Te(y[k],Qt),n.playing.timeout=setTimeout(R,u.interval)};m>1&&(this.playing={prev:S,next:R,timeout:setTimeout(R,u.interval)})}return this},stop:function(){var n=this;if(!this.played)return this;var r=this.element,o=this.options;if(Ue(o.stop)&&Ee(r,gl,o.stop,{once:!0}),ot(r,gl)===!1)return this;var u=this.player;return clearTimeout(this.playing.timeout),this.playing=!1,this.played=!1,Ve(u.getElementsByTagName("img"),function(f){Ge(f,Zt,n.onLoadWhenPlay)}),He(u,pr),u.innerHTML="",this.exitFullscreen(),this},full:function(){var n=this,r=this.options,o=this.viewer,u=this.image,f=this.list;return!this.isShown||this.played||this.fulled||!r.inline?this:(this.fulled=!0,this.open(),Te(this.button,qo),r.transition&&(He(f,at),this.viewed&&He(u,at)),Te(o,Za),o.setAttribute("role","dialog"),o.setAttribute("aria-labelledby",this.title.id),o.setAttribute("aria-modal",!0),o.removeAttribute("style"),an(o,{zIndex:r.zIndex}),r.focus&&this.enforceFocus(),this.initContainer(),this.viewerData=Gt({},this.containerData),this.renderList(),this.viewed&&this.initImage(function(){n.renderImage(function(){r.transition&&setTimeout(function(){Te(u,at),Te(f,at)},0)})}),this)},exit:function(){var n=this,r=this.options,o=this.viewer,u=this.image,f=this.list;return!this.isShown||this.played||!this.fulled||!r.inline?this:(this.fulled=!1,this.close(),He(this.button,qo),r.transition&&(He(f,at),this.viewed&&He(u,at)),r.focus&&this.clearEnforceFocus(),o.removeAttribute("role"),o.removeAttribute("aria-labelledby"),o.removeAttribute("aria-modal"),He(o,Za),an(o,{zIndex:r.zIndexInline}),this.viewerData=Gt({},this.parentData),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){n.renderImage(function(){r.transition&&setTimeout(function(){Te(u,at),Te(f,at)},0)})}),this)},tooltip:function(){var n=this,r=this.options,o=this.tooltipBox,u=this.imageData;return!this.viewed||this.played||!r.tooltip?this:(o.textContent="".concat(Math.round(u.ratio*100),"%"),this.tooltipping?clearTimeout(this.tooltipping):r.transition?(this.fading&&ot(o,rn),Te(o,pr),Te(o,Yi),Te(o,at),o.removeAttribute("aria-hidden"),o.initialOffsetWidth=o.offsetWidth,Te(o,Qt)):(Te(o,pr),o.removeAttribute("aria-hidden")),this.tooltipping=setTimeout(function(){r.transition?(Ee(o,rn,function(){He(o,pr),He(o,Yi),He(o,at),o.setAttribute("aria-hidden",!0),n.fading=!1},{once:!0}),He(o,Qt),n.fading=!0):(He(o,pr),o.setAttribute("aria-hidden",!0)),n.tooltipping=!1},1e3),this)},toggle:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.imageData.ratio===1?this.zoomTo(this.imageData.oldRatio,!0,null,n):this.zoomTo(1,!0,null,n),this},reset:function(){return this.viewed&&!this.played&&(this.imageData=Gt({},this.initialImageData),this.renderImage()),this},update:function(){var n=this,r=this.element,o=this.options,u=this.isImg;if(u&&!r.parentNode)return this.destroy();var f=[];if(Ve(u?[r]:r.querySelectorAll("img"),function(k){Ue(o.filter)?o.filter.call(n,k)&&f.push(k):n.getImageURL(k)&&f.push(k)}),!f.length)return this;if(this.images=f,this.length=f.length,this.ready){var p=[];if(Ve(this.items,function(k,S){var R=k.querySelector("img"),L=f[S];L&&R?(L.src!==R.src||L.alt!==R.alt)&&p.push(S):p.push(S)}),an(this.list,{width:"auto"}),this.initList(),this.isShown)if(this.length){if(this.viewed){var y=p.indexOf(this.index);if(y>=0)this.viewed=!1,this.view(Math.max(Math.min(this.index-y,this.length-1),0));else{var m=this.items[this.index];Te(m,Xi),m.setAttribute("aria-selected",!0)}}}else this.image=null,this.viewed=!1,this.index=0,this.imageData={},this.canvas.innerHTML="",this.title.innerHTML=""}else this.build();return this},destroy:function(){var n=this.element,r=this.options;return n[Ne]?(this.destroyed=!0,this.ready?(this.played&&this.stop(),r.inline?(this.fulled&&this.exit(),this.unbind()):this.isShown?(this.viewing&&(this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort()),this.hiding&&this.transitioning.abort(),this.hidden()):this.showing&&(this.transitioning.abort(),this.hidden()),this.ready=!1,this.viewer.parentNode.removeChild(this.viewer)):r.inline&&(this.delaying?this.delaying.abort():this.initializing&&this.initializing.abort()),r.inline||Ge(n,gr,this.onStart),n[Ne]=void 0,this):this}},zd={getImageURL:function(n){var r=this.options.url;return ri(r)?r=n.getAttribute(r):Ue(r)?r=r.call(this,n):r="",r},enforceFocus:function(){var n=this;this.clearEnforceFocus(),Ee(document,Ko,this.onFocusin=function(r){var o=n.viewer,u=r.target;if(!(u===document||u===o||o.contains(u))){for(;u;){if(u.getAttribute("tabindex")!==null||u.getAttribute("aria-modal")==="true")return;u=u.parentElement}o.focus()}})},clearEnforceFocus:function(){this.onFocusin&&(Ge(document,Ko,this.onFocusin),this.onFocusin=null)},open:function(){var n=this.body;Te(n,Uo),this.scrollbarWidth>0&&(n.style.paddingRight="".concat(this.scrollbarWidth+(parseFloat(this.initialBodyComputedPaddingRight)||0),"px"))},close:function(){var n=this.body;He(n,Uo),this.scrollbarWidth>0&&(n.style.paddingRight=this.initialBodyPaddingRight)},shown:function(){var n=this.element,r=this.options,o=this.viewer;this.fulled=!0,this.isShown=!0,this.render(),this.bind(),this.showing=!1,r.focus&&(o.focus(),this.enforceFocus()),Ue(r.shown)&&Ee(n,nl,r.shown,{once:!0}),ot(n,nl)!==!1&&this.ready&&this.isShown&&!this.hiding&&this.view(this.index)},hidden:function(){var n=this.element,r=this.options,o=this.viewer;r.fucus&&this.clearEnforceFocus(),this.close(),this.unbind(),Te(o,Yn),o.removeAttribute("role"),o.removeAttribute("aria-labelledby"),o.removeAttribute("aria-modal"),o.setAttribute("aria-hidden",!0),this.resetList(),this.resetImage(),this.fulled=!1,this.viewed=!1,this.isShown=!1,this.hiding=!1,this.destroyed||(Ue(r.hidden)&&Ee(n,il,r.hidden,{once:!0}),ot(n,il,null,{cancelable:!1}))},requestFullscreen:function(n){var r=this.element.ownerDocument;if(this.fulled&&!(r.fullscreenElement||r.webkitFullscreenElement||r.mozFullScreenElement||r.msFullscreenElement)){var o=r.documentElement;o.requestFullscreen?yr(n)?o.requestFullscreen(n):o.requestFullscreen():o.webkitRequestFullscreen?o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):o.mozRequestFullScreen?o.mozRequestFullScreen():o.msRequestFullscreen&&o.msRequestFullscreen()}},exitFullscreen:function(){var n=this.element.ownerDocument;this.fulled&&(n.fullscreenElement||n.webkitFullscreenElement||n.mozFullScreenElement||n.msFullscreenElement)&&(n.exitFullscreen?n.exitFullscreen():n.webkitExitFullscreen?n.webkitExitFullscreen():n.mozCancelFullScreen?n.mozCancelFullScreen():n.msExitFullscreen&&n.msExitFullscreen())},change:function(n){var r=this.options,o=this.pointers,u=o[Object.keys(o)[0]];if(u){var f=u.endX-u.startX,p=u.endY-u.startY;switch(this.action){case Vi:(f!==0||p!==0)&&(this.pointerMoved=!0,this.move(f,p,n));break;case ei:this.zoom(Nd(o),!1,null,n);break;case jo:{this.action="switched";var y=Math.abs(f);y>1&&y>Math.abs(p)&&(this.pointers={},f>1?this.prev(r.loop):f<-1&&this.next(r.loop));break}}Ve(o,function(m){m.startX=m.endX,m.startY=m.endY})}},isSwitchable:function(){var n=this.imageData,r=this.viewerData;return this.length>1&&n.x>=0&&n.y>=0&&n.width<=r.width&&n.height<=r.height}},Bd=Sn.Viewer,Hd=function(l){return function(){return l+=1,l}}(-1),yl=function(){function l(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(dd(this,l),!n||n.nodeType!==1)throw new Error("The first argument is required and must be an element.");this.element=n,this.options=Gt({},Wo,yr(r)&&r),this.action=!1,this.fading=!1,this.fulled=!1,this.hiding=!1,this.imageClicked=!1,this.imageData={},this.index=this.options.initialViewIndex,this.isImg=!1,this.isShown=!1,this.length=0,this.moving=!1,this.played=!1,this.playing=!1,this.pointers={},this.ready=!1,this.rotating=!1,this.scaling=!1,this.showing=!1,this.timeout=!1,this.tooltipping=!1,this.viewed=!1,this.viewing=!1,this.wheeling=!1,this.zooming=!1,this.pointerMoved=!1,this.id=Hd(),this.init()}return hd(l,[{key:"init",value:function(){var r=this,o=this.element,u=this.options;if(!o[Ne]){o[Ne]=this,u.focus&&!u.keyboard&&(u.focus=!1);var f=o.localName==="img",p=[];if(Ve(f?[o]:o.querySelectorAll("img"),function(k){Ue(u.filter)?u.filter.call(r,k)&&p.push(k):r.getImageURL(k)&&p.push(k)}),this.isImg=f,this.length=p.length,this.images=p,this.initBody(),mr(document.createElement(Ne).style.transition)&&(u.transition=!1),u.inline){var y=0,m=function(){if(y+=1,y===r.length){var S;r.initializing=!1,r.delaying={abort:function(){clearTimeout(S)}},S=setTimeout(function(){r.delaying=!1,r.build()},0)}};this.initializing={abort:function(){Ve(p,function(S){S.complete||(Ge(S,Zt,m),Ge(S,Jn,m))})}},Ve(p,function(k){if(k.complete)m();else{var S,R;Ee(k,Zt,S=function(){Ge(k,Jn,R),m()},{once:!0}),Ee(k,Jn,R=function(){Ge(k,Zt,S),m()},{once:!0})}})}else Ee(o,gr,this.onStart=function(k){var S=k.target;S.localName==="img"&&(!Ue(u.filter)||u.filter.call(r,S))&&r.view(r.images.indexOf(S))})}}},{key:"build",value:function(){if(!this.ready){var r=this.element,o=this.options,u=r.parentNode,f=document.createElement("div");f.innerHTML=md;var p=f.querySelector(".".concat(Ne,"-container")),y=p.querySelector(".".concat(Ne,"-title")),m=p.querySelector(".".concat(Ne,"-toolbar")),k=p.querySelector(".".concat(Ne,"-navbar")),S=p.querySelector(".".concat(Ne,"-button")),R=p.querySelector(".".concat(Ne,"-canvas"));if(this.parent=u,this.viewer=p,this.title=y,this.toolbar=m,this.navbar=k,this.button=S,this.canvas=R,this.footer=p.querySelector(".".concat(Ne,"-footer")),this.tooltipBox=p.querySelector(".".concat(Ne,"-tooltip")),this.player=p.querySelector(".".concat(Ne,"-player")),this.list=p.querySelector(".".concat(Ne,"-list")),p.id="".concat(Ne).concat(this.id),y.id="".concat(Ne,"Title").concat(this.id),Te(y,o.title?ea(Array.isArray(o.title)?o.title[0]:o.title):Yn),Te(k,o.navbar?ea(o.navbar):Yn),ii(S,Yn,!o.button),o.keyboard&&S.setAttribute("tabindex",0),o.backdrop&&(Te(p,"".concat(Ne,"-backdrop")),!o.inline&&o.backdrop!=="static"&&rs(R,Ji,"hide")),ri(o.className)&&o.className&&o.className.split(ts).forEach(function(H){Te(p,H)}),o.toolbar){var L=document.createElement("ul"),W=yr(o.toolbar),z=Qi.slice(0,3),D=Qi.slice(7,9),$=Qi.slice(9);W||Te(m,ea(o.toolbar)),Ve(W?o.toolbar:Qi,function(H,V){var ne=W&&yr(H),ue=W?ns(V):H,se=ne&&!mr(H.show)?H.show:H;if(!(!se||!o.zoomable&&z.indexOf(ue)!==-1||!o.rotatable&&D.indexOf(ue)!==-1||!o.scalable&&$.indexOf(ue)!==-1)){var de=ne&&!mr(H.size)?H.size:H,Oe=ne&&!mr(H.click)?H.click:H,Re=document.createElement("li");o.keyboard&&Re.setAttribute("tabindex",0),Re.setAttribute("role","button"),Te(Re,"".concat(Ne,"-").concat(ue)),Ue(Oe)||rs(Re,Ji,ue),Ze(se)&&Te(Re,ea(se)),["small","large"].indexOf(de)!==-1?Te(Re,"".concat(Ne,"-").concat(de)):ue==="play"&&Te(Re,"".concat(Ne,"-large")),Ue(Oe)&&Ee(Re,gr,Oe),L.appendChild(Re)}}),m.appendChild(L)}else Te(m,Yn);if(!o.rotatable){var I=m.querySelectorAll('li[class*="rotate"]');Te(I,ti),Ve(I,function(H){m.appendChild(H)})}if(o.inline)Te(S,yd),an(p,{zIndex:o.zIndexInline}),window.getComputedStyle(u).position==="static"&&an(u,{position:"relative"}),u.insertBefore(p,r.nextSibling);else{Te(S,vd),Te(p,Za),Te(p,Yi),Te(p,Yn),an(p,{zIndex:o.zIndex});var N=o.container;ri(N)&&(N=r.ownerDocument.querySelector(N)),N||(N=this.body),N.appendChild(p)}if(o.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,Ue(o.ready)&&Ee(r,el,o.ready,{once:!0}),ot(r,el)===!1){this.ready=!1;return}this.ready&&o.inline&&this.view(this.index)}}}],[{key:"noConflict",value:function(){return window.Viewer=Bd,l}},{key:"setDefaults",value:function(r){Gt(Wo,yr(r)&&r)}}])}();Gt(yl.prototype,Rd,Md,$d,Pd,zd);var Wd=typeof global=="object"&&global&&global.Object===Object&&global,bl=Wd,jd=typeof self=="object"&&self&&self.Object===Object&&self,qd=bl||jd||Function("return this")(),as=qd,Ud=as.Symbol,na=Ud,xl=Object.prototype,Gd=xl.hasOwnProperty,Kd=xl.toString,ai=na?na.toStringTag:void 0;function Vd(l){var n=Gd.call(l,ai),r=l[ai];try{l[ai]=void 0;var o=!0}catch{}var u=Kd.call(l);return o&&(n?l[ai]=r:delete l[ai]),u}var Xd=Object.prototype,Yd=Xd.toString;function Jd(l){return Yd.call(l)}var Qd="[object Null]",Zd="[object Undefined]",wl=na?na.toStringTag:void 0;function ss(l){return l==null?l===void 0?Zd:Qd:wl&&wl in Object(l)?Vd(l):Jd(l)}function os(l){return l!=null&&typeof l=="object"}var eh=Array.isArray,th=eh;function ls(l){var n=typeof l;return l!=null&&(n=="object"||n=="function")}function kl(l){return l}var nh="[object AsyncFunction]",rh="[object Function]",ih="[object GeneratorFunction]",ah="[object Proxy]";function Sl(l){if(!ls(l))return!1;var n=ss(l);return n==rh||n==ih||n==nh||n==ah}var sh=as["__core-js_shared__"],us=sh,Cl=function(){var l=/[^.]+$/.exec(us&&us.keys&&us.keys.IE_PROTO||"");return l?"Symbol(src)_1."+l:""}();function oh(l){return!!Cl&&Cl in l}var lh=Function.prototype,uh=lh.toString;function ch(l){if(l!=null){try{return uh.call(l)}catch{}try{return l+""}catch{}}return""}var fh=/[\\^$.*+?()[\]{}|]/g,dh=/^\[object .+?Constructor\]$/,hh=Function.prototype,ph=Object.prototype,gh=hh.toString,mh=ph.hasOwnProperty,vh=RegExp("^"+gh.call(mh).replace(fh,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function yh(l){if(!ls(l)||oh(l))return!1;var n=Sl(l)?vh:dh;return n.test(ch(l))}function bh(l,n){return l==null?void 0:l[n]}function xh(l,n){var r=bh(l,n);return yh(r)?r:void 0}function wh(l,n,r){switch(r.length){case 0:return l.call(n);case 1:return l.call(n,r[0]);case 2:return l.call(n,r[0],r[1]);case 3:return l.call(n,r[0],r[1],r[2])}return l.apply(n,r)}var kh=800,Sh=16,Ch=Date.now;function Th(l){var n=0,r=0;return function(){var o=Ch(),u=Sh-(o-r);if(r=o,u>0){if(++n>=kh)return arguments[0]}else n=0;return l.apply(void 0,arguments)}}function _h(l){return function(){return l}}var Lh=function(){try{var l=xh(Object,"defineProperty");return l({},"",{}),l}catch{}}(),ra=Lh,Eh=ra?function(l,n){return ra(l,"toString",{configurable:!0,enumerable:!1,value:_h(n),writable:!0})}:kl,Ih=Eh,Ah=Th(Ih),Dh=Ah,Oh=9007199254740991,Nh=/^(?:0|[1-9]\d*)$/;function Tl(l,n){var r=typeof l;return n=n??Oh,!!n&&(r=="number"||r!="symbol"&&Nh.test(l))&&l>-1&&l%1==0&&l<n}function _l(l,n,r){n=="__proto__"&&ra?ra(l,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):l[n]=r}function Ll(l,n){return l===n||l!==l&&n!==n}var Fh=Object.prototype,Rh=Fh.hasOwnProperty;function El(l,n,r){var o=l[n];(!(Rh.call(l,n)&&Ll(o,r))||r===void 0&&!(n in l))&&_l(l,n,r)}function Mh(l,n,r,o){var u=!r;r||(r={});for(var f=-1,p=n.length;++f<p;){var y=n[f],m=void 0;m===void 0&&(m=l[y]),u?_l(r,y,m):El(r,y,m)}return r}var Il=Math.max;function $h(l,n,r){return n=Il(n===void 0?l.length-1:n,0),function(){for(var o=arguments,u=-1,f=Il(o.length-n,0),p=Array(f);++u<f;)p[u]=o[n+u];u=-1;for(var y=Array(n+1);++u<n;)y[u]=o[u];return y[n]=r(p),wh(l,this,y)}}function Ph(l,n){return Dh($h(l,n,kl),l+"")}var zh=9007199254740991;function Al(l){return typeof l=="number"&&l>-1&&l%1==0&&l<=zh}function cs(l){return l!=null&&Al(l.length)&&!Sl(l)}function Bh(l,n,r){if(!ls(r))return!1;var o=typeof n;return(o=="number"?cs(r)&&Tl(n,r.length):o=="string"&&n in r)?Ll(r[n],l):!1}function Hh(l){return Ph(function(n,r){var o=-1,u=r.length,f=u>1?r[u-1]:void 0,p=u>2?r[2]:void 0;for(f=l.length>3&&typeof f=="function"?(u--,f):void 0,p&&Bh(r[0],r[1],p)&&(f=u<3?void 0:f,u=1),n=Object(n);++o<u;){var y=r[o];y&&l(n,y,o,f)}return n})}var Wh=Object.prototype;function Dl(l){var n=l&&l.constructor,r=typeof n=="function"&&n.prototype||Wh;return l===r}function jh(l,n){for(var r=-1,o=Array(l);++r<l;)o[r]=n(r);return o}var qh="[object Arguments]";function Ol(l){return os(l)&&ss(l)==qh}var Nl=Object.prototype,Uh=Nl.hasOwnProperty,Gh=Nl.propertyIsEnumerable,Kh=Ol(function(){return arguments}())?Ol:function(l){return os(l)&&Uh.call(l,"callee")&&!Gh.call(l,"callee")},Vh=Kh;function Xh(){return!1}var Fl=typeof De=="object"&&De&&!De.nodeType&&De,Rl=Fl&&typeof module=="object"&&module&&!module.nodeType&&module,Yh=Rl&&Rl.exports===Fl,Ml=Yh?as.Buffer:void 0,Jh=Ml?Ml.isBuffer:void 0,Qh=Jh||Xh,Zh=Qh,ep="[object Arguments]",tp="[object Array]",np="[object Boolean]",rp="[object Date]",ip="[object Error]",ap="[object Function]",sp="[object Map]",op="[object Number]",lp="[object Object]",up="[object RegExp]",cp="[object Set]",fp="[object String]",dp="[object WeakMap]",hp="[object ArrayBuffer]",pp="[object DataView]",gp="[object Float32Array]",mp="[object Float64Array]",vp="[object Int8Array]",yp="[object Int16Array]",bp="[object Int32Array]",xp="[object Uint8Array]",wp="[object Uint8ClampedArray]",kp="[object Uint16Array]",Sp="[object Uint32Array]",Xe={};Xe[gp]=Xe[mp]=Xe[vp]=Xe[yp]=Xe[bp]=Xe[xp]=Xe[wp]=Xe[kp]=Xe[Sp]=!0,Xe[ep]=Xe[tp]=Xe[hp]=Xe[np]=Xe[pp]=Xe[rp]=Xe[ip]=Xe[ap]=Xe[sp]=Xe[op]=Xe[lp]=Xe[up]=Xe[cp]=Xe[fp]=Xe[dp]=!1;function Cp(l){return os(l)&&Al(l.length)&&!!Xe[ss(l)]}function Tp(l){return function(n){return l(n)}}var $l=typeof De=="object"&&De&&!De.nodeType&&De,si=$l&&typeof module=="object"&&module&&!module.nodeType&&module,_p=si&&si.exports===$l,fs=_p&&bl.process,Lp=function(){try{var l=si&&si.require&&si.require("util").types;return l||fs&&fs.binding&&fs.binding("util")}catch{}}(),Pl=Lp,zl=Pl&&Pl.isTypedArray,Ep=zl?Tp(zl):Cp,Ip=Ep,Ap=Object.prototype,Dp=Ap.hasOwnProperty;function Op(l,n){var r=th(l),o=!r&&Vh(l),u=!r&&!o&&Zh(l),f=!r&&!o&&!u&&Ip(l),p=r||o||u||f,y=p?jh(l.length,String):[],m=y.length;for(var k in l)Dp.call(l,k)&&!(p&&(k=="length"||u&&(k=="offset"||k=="parent")||f&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||Tl(k,m)))&&y.push(k);return y}function Np(l,n){return function(r){return l(n(r))}}var Fp=Np(Object.keys,Object),Rp=Fp,Mp=Object.prototype,$p=Mp.hasOwnProperty;function Pp(l){if(!Dl(l))return Rp(l);var n=[];for(var r in Object(l))$p.call(l,r)&&r!="constructor"&&n.push(r);return n}function zp(l){return cs(l)?Op(l):Pp(l)}var Bp=Object.prototype,Hp=Bp.hasOwnProperty,Wp=Hh(function(l,n){if(Dl(n)||cs(n)){Mh(n,zp(n),l);return}for(var r in n)Hp.call(n,r)&&El(l,r,n[r])}),jp=Wp;const Bl=({images:l=[],options:n={}}={})=>{n=jp(n,{inline:!1});const r=Qc.extend({render(p){return p("div",{style:{display:"none"},class:["__viewer-token"]},l.map(y=>p("img",{attrs:typeof y=="string"?{src:y}:y})))}}),o=new r;o.$mount(),document.body.appendChild(o.$el);const u=new yl(o.$el,n),f=u.destroy.bind(u);return u.destroy=function(){return f(),o.$destroy(),document.body.removeChild(o.$el),u},u.show(),o.$el.addEventListener("hidden",function(){this.viewer===u&&u.destroy()}),u};(function(l,n){(function(r){r(jt())})(function(r){function o(A,M,K,he,E,x){this.indented=A,this.column=M,this.type=K,this.info=he,this.align=E,this.prev=x}function u(A,M,K,he){var E=A.indented;return A.context&&A.context.type=="statement"&&K!="statement"&&(E=A.context.indented),A.context=new o(E,M,K,he,null,A.context)}function f(A){var M=A.context.type;return(M==")"||M=="]"||M=="}")&&(A.indented=A.context.indented),A.context=A.context.prev}function p(A,M,K){if(M.prevToken=="variable"||M.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(A.string.slice(0,K))||M.typeAtEndOfLine&&A.column()==A.indentation())return!0}function y(A){for(;;){if(!A||A.type=="top")return!0;if(A.type=="}"&&A.prev.info!="namespace")return!1;A=A.prev}}r.defineMode("clike",function(A,M){var K=A.indentUnit,he=M.statementIndentUnit||K,E=M.dontAlignCalls,x=M.keywords||{},oe=M.types||{},_e=M.builtin||{},Z=M.blockKeywords||{},fe=M.defKeywords||{},ke=M.atoms||{},Le=M.hooks||{},ct=M.multiLineStrings,we=M.indentStatements!==!1,Fe=M.indentSwitch!==!1,Ke=M.namespaceSeparator,ft=M.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Pt=M.numberStart||/[\d\.]/,dt=M.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,ht=M.isOperatorChar||/[+\-*&%=<>!?|\/]/,gt=M.isIdentifierChar||/[\w\$_\xa1-\uffff]/,Kt=M.isReservedIdentifier||!1,be,St;function Vt(ye,xe){var pe=ye.next();if(Le[pe]){var Me=Le[pe](ye,xe);if(Me!==!1)return Me}if(pe=='"'||pe=="'")return xe.tokenize=On(pe),xe.tokenize(ye,xe);if(Pt.test(pe)){if(ye.backUp(1),ye.match(dt))return"number";ye.next()}if(ft.test(pe))return be=pe,null;if(pe=="/"){if(ye.eat("*"))return xe.tokenize=Zn,Zn(ye,xe);if(ye.eat("/"))return ye.skipToEnd(),"comment"}if(ht.test(pe)){for(;!ye.match(/^\/[\/*]/,!1)&&ye.eat(ht););return"operator"}if(ye.eatWhile(gt),Ke)for(;ye.match(Ke);)ye.eatWhile(gt);var Ie=ye.current();return k(x,Ie)?(k(Z,Ie)&&(be="newstatement"),k(fe,Ie)&&(St=!0),"keyword"):k(oe,Ie)?"type":k(_e,Ie)||Kt&&Kt(Ie)?(k(Z,Ie)&&(be="newstatement"),"builtin"):k(ke,Ie)?"atom":"variable"}function On(ye){return function(xe,pe){for(var Me=!1,Ie,zt=!1;(Ie=xe.next())!=null;){if(Ie==ye&&!Me){zt=!0;break}Me=!Me&&Ie=="\\"}return(zt||!(Me||ct))&&(pe.tokenize=null),"string"}}function Zn(ye,xe){for(var pe=!1,Me;Me=ye.next();){if(Me=="/"&&pe){xe.tokenize=null;break}pe=Me=="*"}return"comment"}function wr(ye,xe){M.typeFirstDefinitions&&ye.eol()&&y(xe.context)&&(xe.typeAtEndOfLine=p(ye,xe,ye.pos))}return{startState:function(ye){return{tokenize:null,context:new o((ye||0)-K,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(ye,xe){var pe=xe.context;if(ye.sol()&&(pe.align==null&&(pe.align=!1),xe.indented=ye.indentation(),xe.startOfLine=!0),ye.eatSpace())return wr(ye,xe),null;be=St=null;var Me=(xe.tokenize||Vt)(ye,xe);if(Me=="comment"||Me=="meta")return Me;if(pe.align==null&&(pe.align=!0),be==";"||be==":"||be==","&&ye.match(/^\s*(?:\/\/.*)?$/,!1))for(;xe.context.type=="statement";)f(xe);else if(be=="{")u(xe,ye.column(),"}");else if(be=="[")u(xe,ye.column(),"]");else if(be=="(")u(xe,ye.column(),")");else if(be=="}"){for(;pe.type=="statement";)pe=f(xe);for(pe.type=="}"&&(pe=f(xe));pe.type=="statement";)pe=f(xe)}else be==pe.type?f(xe):we&&((pe.type=="}"||pe.type=="top")&&be!=";"||pe.type=="statement"&&be=="newstatement")&&u(xe,ye.column(),"statement",ye.current());if(Me=="variable"&&(xe.prevToken=="def"||M.typeFirstDefinitions&&p(ye,xe,ye.start)&&y(xe.context)&&ye.match(/^\s*\(/,!1))&&(Me="def"),Le.token){var Ie=Le.token(ye,xe,Me);Ie!==void 0&&(Me=Ie)}return Me=="def"&&M.styleDefs===!1&&(Me="variable"),xe.startOfLine=!1,xe.prevToken=St?"def":Me||be,wr(ye,xe),Me},indent:function(ye,xe){if(ye.tokenize!=Vt&&ye.tokenize!=null||ye.typeAtEndOfLine&&y(ye.context))return r.Pass;var pe=ye.context,Me=xe&&xe.charAt(0),Ie=Me==pe.type;if(pe.type=="statement"&&Me=="}"&&(pe=pe.prev),M.dontIndentStatements)for(;pe.type=="statement"&&M.dontIndentStatements.test(pe.info);)pe=pe.prev;if(Le.indent){var zt=Le.indent(ye,pe,xe,K);if(typeof zt=="number")return zt}var en=pe.prev&&pe.prev.info=="switch";if(M.allmanIndentation&&/[{(]/.test(Me)){for(;pe.type!="top"&&pe.type!="}";)pe=pe.prev;return pe.indented}return pe.type=="statement"?pe.indented+(Me=="{"?0:he):pe.align&&(!E||pe.type!=")")?pe.column+(Ie?0:1):pe.type==")"&&!Ie?pe.indented+he:pe.indented+(Ie?0:K)+(!Ie&&en&&!/^(?:case|default)\b/.test(xe)?K:0)},electricInput:Fe?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function m(A){for(var M={},K=A.split(" "),he=0;he<K.length;++he)M[K[he]]=!0;return M}function k(A,M){return typeof A=="function"?A(M):A.propertyIsEnumerable(M)}var S="auto if break case register continue return default do sizeof static else struct switch extern typedef union for goto while enum const volatile inline restrict asm fortran",R="alignas alignof and and_eq audit axiom bitand bitor catch class compl concept constexpr const_cast decltype delete dynamic_cast explicit export final friend import module mutable namespace new noexcept not not_eq operator or or_eq override private protected public reinterpret_cast requires static_assert static_cast template this thread_local throw try typeid typename using virtual xor xor_eq",L="bycopy byref in inout oneway out self super atomic nonatomic retain copy readwrite readonly strong weak assign typeof nullable nonnull null_resettable _cmd @interface @implementation @end @protocol @encode @property @synthesize @dynamic @class @public @package @private @protected @required @optional @try @catch @finally @import @selector @encode @defs @synchronized @autoreleasepool @compatibility_alias @available",W="FOUNDATION_EXPORT FOUNDATION_EXTERN NS_INLINE NS_FORMAT_FUNCTION NS_RETURNS_RETAINEDNS_ERROR_ENUM NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_DESIGNATED_INITIALIZER NS_ENUM NS_OPTIONS NS_REQUIRES_NIL_TERMINATION NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END NS_SWIFT_NAME NS_REFINED_FOR_SWIFT",z=m("int long char short double float unsigned signed void bool"),D=m("SEL instancetype id Class Protocol BOOL");function $(A){return k(z,A)||/.+_t$/.test(A)}function I(A){return $(A)||k(D,A)}var N="case do else for if switch while struct enum union",H="struct enum union";function V(A,M){if(!M.startOfLine)return!1;for(var K,he=null;K=A.peek();){if(K=="\\"&&A.match(/^.$/)){he=V;break}else if(K=="/"&&A.match(/^\/[\/\*]/,!1))break;A.next()}return M.tokenize=he,"meta"}function ne(A,M){return M.prevToken=="type"?"type":!1}function ue(A){return!A||A.length<2||A[0]!="_"?!1:A[1]=="_"||A[1]!==A[1].toLowerCase()}function se(A){return A.eatWhile(/[\w\.']/),"number"}function de(A,M){if(A.backUp(1),A.match(/^(?:R|u8R|uR|UR|LR)/)){var K=A.match(/^"([^\s\\()]{0,16})\(/);return K?(M.cpp11RawStringDelim=K[1],M.tokenize=ie,ie(A,M)):!1}return A.match(/^(?:u8|u|U|L)/)?A.match(/^["']/,!1)?"string":!1:(A.next(),!1)}function Oe(A){var M=/(\w+)::~?(\w+)$/.exec(A);return M&&M[1]==M[2]}function Re(A,M){for(var K;(K=A.next())!=null;)if(K=='"'&&!A.eat('"')){M.tokenize=null;break}return"string"}function ie(A,M){var K=M.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),he=A.match(new RegExp(".*?\\)"+K+'"'));return he?M.tokenize=null:A.skipToEnd(),"string"}function Pe(A,M){typeof A=="string"&&(A=[A]);var K=[];function he(x){if(x)for(var oe in x)x.hasOwnProperty(oe)&&K.push(oe)}he(M.keywords),he(M.types),he(M.builtin),he(M.atoms),K.length&&(M.helperType=A[0],r.registerHelper("hintWords",A[0],K));for(var E=0;E<A.length;++E)r.defineMIME(A[E],M)}Pe(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:m(S),types:$,blockKeywords:m(N),defKeywords:m(H),typeFirstDefinitions:!0,atoms:m("NULL true false"),isReservedIdentifier:ue,hooks:{"#":V,"*":ne},modeProps:{fold:["brace","include"]}}),Pe(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:m(S+" "+R),types:$,blockKeywords:m(N+" class try catch"),defKeywords:m(H+" class namespace"),typeFirstDefinitions:!0,atoms:m("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:ue,hooks:{"#":V,"*":ne,u:de,U:de,L:de,R:de,0:se,1:se,2:se,3:se,4:se,5:se,6:se,7:se,8:se,9:se,token:function(A,M,K){if(K=="variable"&&A.peek()=="("&&(M.prevToken==";"||M.prevToken==null||M.prevToken=="}")&&Oe(A.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),Pe("text/x-java",{name:"clike",keywords:m("abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public return static strictfp super switch synchronized this throw throws transient try volatile while @interface"),types:m("var byte short int long float double boolean char void Boolean Byte Character Double Float Integer Long Number Object Short String StringBuffer StringBuilder Void"),blockKeywords:m("catch class do else finally for if switch try while"),defKeywords:m("class interface enum @interface"),typeFirstDefinitions:!0,atoms:m("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(A){return A.match("interface",!1)?!1:(A.eatWhile(/[\w\$_]/),"meta")},'"':function(A,M){return A.match(/""$/)?(M.tokenize=j,M.tokenize(A,M)):!1}},modeProps:{fold:["brace","import"]}}),Pe("text/x-csharp",{name:"clike",keywords:m("abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in init interface internal is lock namespace new operator out override params private protected public readonly record ref required return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using virtual void volatile while add alias ascending descending dynamic from get global group into join let orderby partial remove select set value var yield"),types:m("Action Boolean Byte Char DateTime DateTimeOffset Decimal Double Func Guid Int16 Int32 Int64 Object SByte Single String Task TimeSpan UInt16 UInt32 UInt64 bool byte char decimal double short int long object sbyte float string ushort uint ulong"),blockKeywords:m("catch class do else finally for foreach if struct switch try while"),defKeywords:m("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:m("true false null"),hooks:{"@":function(A,M){return A.eat('"')?(M.tokenize=Re,Re(A,M)):(A.eatWhile(/[\w\$_]/),"meta")}}});function j(A,M){for(var K=!1;!A.eol();){if(!K&&A.match('"""')){M.tokenize=null;break}K=A.next()=="\\"&&!K}return"string"}function Q(A){return function(M,K){for(var he;he=M.next();)if(he=="*"&&M.eat("/"))if(A==1){K.tokenize=null;break}else return K.tokenize=Q(A-1),K.tokenize(M,K);else if(he=="/"&&M.eat("*"))return K.tokenize=Q(A+1),K.tokenize(M,K);return"comment"}}Pe("text/x-scala",{name:"clike",keywords:m("abstract case catch class def do else extends final finally for forSome if implicit import lazy match new null object override package private protected return sealed super this throw trait try type val var while with yield _ assert assume require print println printf readLine readBoolean readByte readShort readChar readInt readLong readFloat readDouble"),types:m("AnyVal App Application Array BufferedIterator BigDecimal BigInt Char Console Either Enumeration Equiv Error Exception Fractional Function IndexedSeq Int Integral Iterable Iterator List Map Numeric Nil NotNull Option Ordered Ordering PartialFunction PartialOrdering Product Proxy Range Responder Seq Serializable Set Specializable Stream StringBuilder StringContext Symbol Throwable Traversable TraversableOnce Tuple Unit Vector Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void"),multiLineStrings:!0,blockKeywords:m("catch class enum do else finally for forSome if match switch try while"),defKeywords:m("class enum def object package trait type val var"),atoms:m("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(A){return A.eatWhile(/[\w\$_]/),"meta"},'"':function(A,M){return A.match('""')?(M.tokenize=j,M.tokenize(A,M)):!1},"'":function(A){return A.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(A.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(A,M){var K=M.context;return K.type=="}"&&K.align&&A.eat(">")?(M.context=new o(K.indented,K.column,K.type,K.info,null,K.prev),"operator"):!1},"/":function(A,M){return A.eat("*")?(M.tokenize=Q(1),M.tokenize(A,M)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function w(A){return function(M,K){for(var he=!1,E,x=!1;!M.eol();){if(!A&&!he&&M.match('"')){x=!0;break}if(A&&M.match('"""')){x=!0;break}E=M.next(),!he&&E=="$"&&M.match("{")&&M.skipTo("}"),he=!he&&E=="\\"&&!A}return(x||!A)&&(K.tokenize=null),"string"}}Pe("text/x-kotlin",{name:"clike",keywords:m("package as typealias class interface this super val operator var fun for is in This throw return annotation break continue object if else while do try when !in !is as? file import where by get set abstract enum open inner override private public internal protected catch finally out final vararg reified dynamic companion constructor init sealed field property receiver param sparam lateinit data inline noinline tailrec external annotation crossinline const operator infix suspend actual expect setparam value"),types:m("Boolean Byte Character CharSequence Class ClassLoader Cloneable Comparable Compiler Double Exception Float Integer Long Math Number Object Package Pair Process Runtime Runnable SecurityManager Short StackTraceElement StrictMath String StringBuffer System Thread ThreadGroup ThreadLocal Throwable Triple Void Annotation Any BooleanArray ByteArray Char CharArray DeprecationLevel DoubleArray Enum FloatArray Function Int IntArray Lazy LazyThreadSafetyMode LongArray Nothing ShortArray Unit"),intendSwitch:!1,indentStatements:!1,multiLineStrings:!0,number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+(\.\d+)?|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,blockKeywords:m("catch class do else finally for if where try while enum"),defKeywords:m("class val var object interface fun"),atoms:m("true false null this"),hooks:{"@":function(A){return A.eatWhile(/[\w\$_]/),"meta"},"*":function(A,M){return M.prevToken=="."?"variable":"operator"},'"':function(A,M){return M.tokenize=w(A.match('""')),M.tokenize(A,M)},"/":function(A,M){return A.eat("*")?(M.tokenize=Q(1),M.tokenize(A,M)):!1},indent:function(A,M,K,he){var E=K&&K.charAt(0);if((A.prevToken=="}"||A.prevToken==")")&&K=="")return A.indented;if(A.prevToken=="operator"&&K!="}"&&A.context.type!="}"||A.prevToken=="variable"&&E=="."||(A.prevToken=="}"||A.prevToken==")")&&E==".")return he*2+M.indented;if(M.align&&M.type=="}")return M.indented+(A.context.type==(K||"").charAt(0)?0:he)}},modeProps:{closeBrackets:{triples:'"'}}}),Pe(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:m("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:m("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:m("for while do if else struct"),builtin:m("radians degrees sin cos tan asin acos atan pow exp log exp2 sqrt inversesqrt abs sign floor ceil fract mod min max clamp mix step smoothstep length distance dot cross normalize ftransform faceforward reflect refract matrixCompMult lessThan lessThanEqual greaterThan greaterThanEqual equal notEqual any all not texture1D texture1DProj texture1DLod texture1DProjLod texture2D texture2DProj texture2DLod texture2DProjLod texture3D texture3DProj texture3DLod texture3DProjLod textureCube textureCubeLod shadow1D shadow2D shadow1DProj shadow2DProj shadow1DLod shadow2DLod shadow1DProjLod shadow2DProjLod dFdx dFdy fwidth noise1 noise2 noise3 noise4"),atoms:m("true false gl_FragColor gl_SecondaryColor gl_Normal gl_Vertex gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_FogCoord gl_PointCoord gl_Position gl_PointSize gl_ClipVertex gl_FrontColor gl_BackColor gl_FrontSecondaryColor gl_BackSecondaryColor gl_TexCoord gl_FogFragCoord gl_FragCoord gl_FrontFacing gl_FragData gl_FragDepth gl_ModelViewMatrix gl_ProjectionMatrix gl_ModelViewProjectionMatrix gl_TextureMatrix gl_NormalMatrix gl_ModelViewMatrixInverse gl_ProjectionMatrixInverse gl_ModelViewProjectionMatrixInverse gl_TextureMatrixTranspose gl_ModelViewMatrixInverseTranspose gl_ProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixInverseTranspose gl_TextureMatrixInverseTranspose gl_NormalScale gl_DepthRange gl_ClipPlane gl_Point gl_FrontMaterial gl_BackMaterial gl_LightSource gl_LightModel gl_FrontLightModelProduct gl_BackLightModelProduct gl_TextureColor gl_EyePlaneS gl_EyePlaneT gl_EyePlaneR gl_EyePlaneQ gl_FogParameters gl_MaxLights gl_MaxClipPlanes gl_MaxTextureUnits gl_MaxTextureCoords gl_MaxVertexAttribs gl_MaxVertexUniformComponents gl_MaxVaryingFloats gl_MaxVertexTextureImageUnits gl_MaxTextureImageUnits gl_MaxFragmentUniformComponents gl_MaxCombineTextureImageUnits gl_MaxDrawBuffers"),indentSwitch:!1,hooks:{"#":V},modeProps:{fold:["brace","include"]}}),Pe("text/x-nesc",{name:"clike",keywords:m(S+" as atomic async call command component components configuration event generic implementation includes interface module new norace nx_struct nx_union post provides signal task uses abstract extends"),types:$,blockKeywords:m(N),atoms:m("null true false"),hooks:{"#":V},modeProps:{fold:["brace","include"]}}),Pe("text/x-objectivec",{name:"clike",keywords:m(S+" "+L),types:I,builtin:m(W),blockKeywords:m(N+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:m(H+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:m("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ue,hooks:{"#":V,"*":ne},modeProps:{fold:["brace","include"]}}),Pe("text/x-objectivec++",{name:"clike",keywords:m(S+" "+L+" "+R),types:I,builtin:m(W),blockKeywords:m(N+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:m(H+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:m("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ue,hooks:{"#":V,"*":ne,u:de,U:de,L:de,R:de,0:se,1:se,2:se,3:se,4:se,5:se,6:se,7:se,8:se,9:se,token:function(A,M,K){if(K=="variable"&&A.peek()=="("&&(M.prevToken==";"||M.prevToken==null||M.prevToken=="}")&&Oe(A.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),Pe("text/x-squirrel",{name:"clike",keywords:m("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:$,blockKeywords:m("case catch class else for foreach if switch try while"),defKeywords:m("function local class"),typeFirstDefinitions:!0,atoms:m("true false null"),hooks:{"#":V},modeProps:{fold:["brace","include"]}});var J=null;function G(A){return function(M,K){for(var he=!1,E,x=!1;!M.eol();){if(!he&&M.match('"')&&(A=="single"||M.match('""'))){x=!0;break}if(!he&&M.match("``")){J=G(A),x=!0;break}E=M.next(),he=A=="single"&&!he&&E=="\\"}return x&&(K.tokenize=null),"string"}}Pe("text/x-ceylon",{name:"clike",keywords:m("abstracts alias assembly assert assign break case catch class continue dynamic else exists extends finally for function given if import in interface is let module new nonempty object of out outer package return satisfies super switch then this throw try value void while"),types:function(A){var M=A.charAt(0);return M===M.toUpperCase()&&M!==M.toLowerCase()},blockKeywords:m("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:m("class dynamic function interface module object package value"),builtin:m("abstract actual aliased annotation by default deprecated doc final formal late license native optional sealed see serializable shared suppressWarnings tagged throws variable"),isPunctuationChar:/[\[\]{}\(\),;\:\.`]/,isOperatorChar:/[+\-*&%=<>!?|^~:\/]/,numberStart:/[\d#$]/,number:/^(?:#[\da-fA-F_]+|\$[01_]+|[\d_]+[kMGTPmunpf]?|[\d_]+\.[\d_]+(?:[eE][-+]?\d+|[kMGTPmunpf]|)|)/i,multiLineStrings:!0,typeFirstDefinitions:!0,atoms:m("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(A){return A.eatWhile(/[\w\$_]/),"meta"},'"':function(A,M){return M.tokenize=G(A.match('""')?"triple":"single"),M.tokenize(A,M)},"`":function(A,M){return!J||!A.match("`")?!1:(M.tokenize=J,J=null,M.tokenize(A,M))},"'":function(A){return A.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(A,M,K){if((K=="variable"||K=="type")&&M.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})(),Se.setOptions({breaks:!0});const qp={name:"OutputViewer",components:{codemirror:za.codemirror,FilePdfViewer:Xa},props:{value:{type:[Object,Array,String],default:null},showRawToggle:{type:Boolean,default:!1},isErrorResponse:{type:Boolean,default:!1},previewMarkdown:{type:String,default:""},fileOnly:{type:Boolean,default:!1},supportFileElements:{type:Boolean,default:!1},title:{type:String,default:""},contentKey:{type:[String,Number],default:0}},data(){return{showRaw:!1,cmOptions:{tabSize:2,mode:{name:"javascript",json:!0},theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},viewerOptions:{inline:!1,button:!0,navbar:!0,title:!0,toolbar:!0,tooltip:!0,movable:!0,zoomable:!0,rotatable:!0,scalable:!0,transition:!0,fullscreen:!0,keyboard:!0,zIndex:9999}}},computed:{errorMessage(){return this.getErrorMessage(this.value)},effectiveFileOnly(){return this.fileOnly?!0:!this.supportFileElements||!this.value||this.value.choices?!1:this.extractFileRefs(this.value).length>0||this.extractImageBase64Refs(this.value).length>0}},methods:{handleCopy(){const l=this.formatRawJson(this.value);this.$emit("copy",l)},copyChoiceContent(l){let n="";if(typeof l=="string")n=l;else if(Array.isArray(l)){const r=l.filter(o=>o&&o.type==="text"&&o.text).map(o=>o.text);n=r.length>0?r.join(`
|
|
78
78
|
`):this.formatRawJson(l)}else n=this.formatRawJson(l);this.$emit("copy",n)},formatRawJson(l){if(!l)return"";if(typeof l=="string")try{const n=JSON.parse(l);return JSON.stringify(n,null,2)}catch{return l}return JSON.stringify(l,null,2)},getErrorMessage(l){return!l||typeof l!="object"?String(l??""):l.error&&typeof l.error=="object"&&l.error.message?l.error.message:l.message?l.message:l._status!==void 0?`${l._status} ${l._statusText||""}`.trim():l._raw!==void 0?String(l._raw):JSON.stringify(l)},renderMarkdown(l){return l?Se(String(l)):""},getMessageRoleLabel(l){const n={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return n[l]?this.$t(n[l]):l},handleImageClick(l){Bl({options:this.viewerOptions,images:[l]})},extractImagesFromObject(l,n=[],r=""){if(!(!l||typeof l!="object")){for(const[o,u]of Object.entries(l)){const f=r?`${r}.${o}`:o;typeof u=="string"&&u.trim()!==""?(u.startsWith("data:image/")||u.startsWith("/9j/")||u.startsWith("iVBOR")||u.startsWith("R0lGOD"))&&(n.push({path:f,value:u,label:o==="content"&&r?`${r.split(".").pop()}: ${o}`:o}),l[o]="[IMAGE_DATA]"):u&&typeof u=="object"&&!Array.isArray(u)?this.extractImagesFromObject(u,n,f):Array.isArray(u)&&u.forEach((p,y)=>{p&&typeof p=="object"&&this.extractImagesFromObject(p,n,`${f}[${y}]`)})}return n}},extractFileRefs(l,n=[]){if(!l||typeof l!="object")return n;for(const[r,o]of Object.entries(l))r.startsWith("__file__")&&o!=null?Array.isArray(o)?o.forEach(u=>{u!=null&&typeof u=="string"&&u.trim()!==""&&n.push(u.trim())}):typeof o=="string"&&o.trim()!==""&&n.push(o.trim()):o&&typeof o=="object"&&!Array.isArray(o)?this.extractFileRefs(o,n):Array.isArray(o)&&o.forEach(u=>{u&&typeof u=="object"&&this.extractFileRefs(u,n)});return n},extractImageBase64Refs(l,n=[]){if(!l||typeof l!="object")return n;for(const[r,o]of Object.entries(l))r==="image_base64"&&o!=null&&typeof o=="string"&&o.trim()!==""?n.push(o.trim()):o&&typeof o=="object"&&!Array.isArray(o)?this.extractImageBase64Refs(o,n):Array.isArray(o)&&o.forEach(u=>{u&&typeof u=="object"&&this.extractImageBase64Refs(u,n)});return n},getFileExtension(l){if(!l||typeof l!="string")return"";const n=l.lastIndexOf(".");return n>=0?l.slice(n+1).toLowerCase():""},buildFileElements(l,n="file"){if(!this.supportFileElements)return[];const r=["jpg","jpeg","png","gif","webp","bmp","svg"],o=[];return l.forEach((u,f)=>{const p=this.getFileExtension(u),y=zi(u),m=decodeURIComponent(u.split("/").pop()||u);r.includes(p)?o.push({type:"file-image",downloadUrl:y,key:`${n}-image-${f}`}):p==="pdf"?o.push({type:"file-pdf",downloadUrl:y,key:`${n}-pdf-${f}`}):o.push({type:"file-download",downloadUrl:y,filename:m,key:`${n}-download-${f}`})}),o},formatBase64Image(l){return l?l.startsWith("data:image")?l:l.startsWith("/9j/")?`data:image/jpeg;base64,${l}`:l.startsWith("iVBOR")?`data:image/png;base64,${l}`:l.startsWith("R0lGOD")?`data:image/gif;base64,${l}`:`data:image/jpeg;base64,${l}`:""},renderStructuredContent(l,n=!1){const r=[];if(!l)return r;if(this.supportFileElements){const o=this.extractFileRefs(l);o.length>0&&r.push(...this.buildFileElements(o,"file"))}if(l.data&&Array.isArray(l.data.result))l.data.result.forEach((o,u)=>{o.image_base64&&o.image_base64.trim()!==""&&r.push({type:"image",url:this.formatBase64Image(o.image_base64),key:`result-page-${u}`,label:o.page_num!==void 0?`Page ${o.page_num}`:`Result ${u}`}),o.seals&&Array.isArray(o.seals)&&o.seals.forEach((f,p)=>{f.image_base64&&f.image_base64.trim()!==""&&r.push({type:"image",url:this.formatBase64Image(f.image_base64),key:`result-seal-${u}-${p}`,label:`印章文字: ${f.value||""}`})})});else{const o=this.extractImageBase64Refs(l);o.length>0&&o.forEach((u,f)=>{r.push({type:"image",url:this.formatBase64Image(u),key:`base64-image-${f}`})})}if(n)return r;try{if(Array.isArray(l))l.forEach((o,u)=>{var f;o&&typeof o=="object"?o.type==="text"&&o.text?r.push({type:"markdown",content:Se(o.text),key:`text-${u}`}):o.type==="image_url"&&((f=o.image_url)!=null&&f.url)?r.push({type:"image",url:o.image_url.url,key:`image-${u}`}):o.image_base64&&o.image_base64.trim()!==""?r.push({type:"image",url:this.formatBase64Image(o.image_base64),key:`base64-image-${u}`}):r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(o,null,2)+"\n```"),key:`json-${u}`}):r.push({type:"markdown",content:Se(String(o)),key:`text-${u}`})});else if(typeof l=="string")r.push({type:"markdown",content:Se(l),key:"text-0"});else if(typeof l=="object")if(l.data&&Array.isArray(l.data.result)){const o=JSON.parse(JSON.stringify(l)),u=[];o.data&&o.data.result&&o.data.result.forEach((f,p)=>{f.image_base64&&f.image_base64.trim()!==""&&(u.push({type:"page",image_base64:f.image_base64,page_num:f.page_num,label:f.page_num!==void 0?`Page ${f.page_num}`:`Result ${p}`}),f.image_base64="[BASE64_IMAGE_DATA]"),f.seals&&Array.isArray(f.seals)&&f.seals.forEach((y,m)=>{y.image_base64&&y.image_base64.trim()!==""&&(u.push({type:"seal",image_base64:y.image_base64,page_num:f.page_num,seal_index:m,seal_value:y.value,label:`印章文字: ${y.value||""}`}),y.image_base64="[BASE64_IMAGE_DATA]")})}),r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(o,null,2)+"\n```"),key:"json-0"}),u.forEach((f,p)=>{r.push({type:"image",url:this.formatBase64Image(f.image_base64),key:`result-image-${p}`,label:f.label})})}else{const o=JSON.parse(JSON.stringify(l)),u=[];this.extractImagesFromObject(o,u),r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(o,null,2)+"\n```"),key:"json-0"}),u.forEach((f,p)=>{r.push({type:"image",url:this.formatBase64Image(f.value),key:`extracted-image-${p}`,label:f.label})})}else r.push({type:"markdown",content:Se(String(l)),key:"text-0"})}catch(o){console.error("Error rendering content:",o),r.push({type:"markdown",content:Se("Error rendering content"),key:"error-0"})}return r}}};var Up=function(){var n=this,r=n._self._c;return r("div",{staticClass:"output-viewer"},[n.title||n.$slots.title?r("div",{staticClass:"output-viewer-header"},[r("div",{staticClass:"output-viewer-title-row"},[r("span",{staticClass:"output-viewer-title"},[n._t("title",function(){return[n._v(n._s(n.title))]})],2),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:n.handleCopy}})],1)],1),n.showRawToggle?r("div",{staticClass:"output-viewer-actions"},[r("el-button",{attrs:{type:"text",size:"small"},on:{click:function(o){n.showRaw=!n.showRaw}}},[n._v(n._s(n.showRaw?n.$t("debug.switchToMarkdown"):n.$t("debug.switchToRaw")))])],1):n._e()]):n._e(),n.showRaw?r("div",{staticClass:"output-viewer-raw"},[r("codemirror",{key:`output-raw-${n.contentKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.value),options:n.cmOptions}})],1):r("div",{staticClass:"output-viewer-readable"},[n.isErrorResponse?r("div",{staticClass:"structured-content"},[r("div",{staticClass:"content-element"},[r("div",{staticClass:"markdown-content"},[n._v(n._s(n.errorMessage))])])]):n.previewMarkdown?r("div",{staticClass:"structured-content preview-content"},[r("div",{staticClass:"content-element"},[r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(n.renderMarkdown(n.previewMarkdown))}})])]):n.effectiveFileOnly&&n.value?r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.value,!0),function(o){return r("div",{key:o.key,staticClass:"content-element"},[o.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(o.content)}}):o.type==="image"?r("div",{staticClass:"image-content"},[o.label?r("div",{staticClass:"image-label"},[n._v(n._s(o.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:o.url,alt:"content image"},on:{click:function(u){return n.handleImageClick(o.url)}}})]):o.type==="file-image"?r("div",{staticClass:"image-content"},[o.label?r("div",{staticClass:"image-label"},[n._v(n._s(o.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:o.downloadUrl,alt:"content image"},on:{click:function(u){return n.handleImageClick(o.downloadUrl)}}})]):o.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:o}})],1):o.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:o.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(o.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0):n.value&&n.value.choices?r("div",{staticClass:"outputs-section"},n._l(n.value.choices,function(o,u){return r("div",{key:u,staticClass:"choice-item"},[r("div",{staticClass:"choice-content"},[o.message?r("div",[r("div",{staticClass:"message-header"},[r("i",{staticClass:"el-icon-user message-icon"}),r("span",[n._v(n._s(n.getMessageRoleLabel(o.message.role)))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(f){return n.copyChoiceContent(o.message.content)}}})],1)],1),r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(o.message.content,!1),function(f){return r("div",{key:f.key,staticClass:"content-element"},[f.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(f.content)}}):f.type==="image"?r("div",{staticClass:"image-content"},[f.label?r("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:f.url,alt:"content image"},on:{click:function(p){return n.handleImageClick(f.url)}}})]):f.type==="file-image"?r("div",{staticClass:"image-content"},[f.label?r("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:f.downloadUrl,alt:"content image"},on:{click:function(p){return n.handleImageClick(f.downloadUrl)}}})]):f.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:f}})],1):f.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:f.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(f.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0)]):r("div",[r("div",{staticClass:"message-header"},[r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(f){return n.copyChoiceContent(o)}}})],1)],1),r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(o,!1),function(f){return r("div",{key:f.key,staticClass:"content-element"},[f.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(f.content)}}):f.type==="image"?r("div",{staticClass:"image-content"},[f.label?r("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:f.url,alt:"content image"},on:{click:function(p){return n.handleImageClick(f.url)}}})]):f.type==="file-image"?r("div",{staticClass:"image-content"},[f.label?r("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:f.downloadUrl,alt:"content image"},on:{click:function(p){return n.handleImageClick(f.downloadUrl)}}})]):f.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:f}})],1):f.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:f.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(f.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0)])])])}),0):n.value?r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.value,!1),function(o){return r("div",{key:o.key,staticClass:"content-element"},[o.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(o.content)}}):o.type==="image"?r("div",{staticClass:"image-content"},[o.label?r("div",{staticClass:"image-label"},[n._v(n._s(o.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:o.url,alt:"content image"},on:{click:function(u){return n.handleImageClick(o.url)}}})]):o.type==="file-image"?r("div",{staticClass:"image-content"},[o.label?r("div",{staticClass:"image-label"},[n._v(n._s(o.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:o.downloadUrl,alt:"content image"},on:{click:function(u){return n.handleImageClick(o.downloadUrl)}}})]):o.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:o}})],1):o.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:o.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(o.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0):n._e()])])},Gp=[],Kp=vn(qp,Up,Gp,!1,null,"a12c132d");const Hl=Kp.exports;var Wl={exports:{}},jl;function Vp(){return jl||(jl=1,function(l,n){(function(r){r(jt())})(function(r){var o={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},u={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};r.defineMode("xml",function(f,p){var y=f.indentUnit,m={},k=p.htmlMode?o:u;for(var S in k)m[S]=k[S];for(var S in p)m[S]=p[S];var R,L;function W(w,J){function G(K){return J.tokenize=K,K(w,J)}var A=w.next();if(A=="<")return w.eat("!")?w.eat("[")?w.match("CDATA[")?G($("atom","]]>")):null:w.match("--")?G($("comment","-->")):w.match("DOCTYPE",!0,!0)?(w.eatWhile(/[\w\._\-]/),G(I(1))):null:w.eat("?")?(w.eatWhile(/[\w\._\-]/),J.tokenize=$("meta","?>"),"meta"):(R=w.eat("/")?"closeTag":"openTag",J.tokenize=z,"tag bracket");if(A=="&"){var M;return w.eat("#")?w.eat("x")?M=w.eatWhile(/[a-fA-F\d]/)&&w.eat(";"):M=w.eatWhile(/[\d]/)&&w.eat(";"):M=w.eatWhile(/[\w\.\-:]/)&&w.eat(";"),M?"atom":"error"}else return w.eatWhile(/[^&<]/),null}W.isInText=!0;function z(w,J){var G=w.next();if(G==">"||G=="/"&&w.eat(">"))return J.tokenize=W,R=G==">"?"endTag":"selfcloseTag","tag bracket";if(G=="=")return R="equals",null;if(G=="<"){J.tokenize=W,J.state=ue,J.tagName=J.tagStart=null;var A=J.tokenize(w,J);return A?A+" tag error":"tag error"}else return/[\'\"]/.test(G)?(J.tokenize=D(G),J.stringStartCol=w.column(),J.tokenize(w,J)):(w.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function D(w){var J=function(G,A){for(;!G.eol();)if(G.next()==w){A.tokenize=z;break}return"string"};return J.isInAttribute=!0,J}function $(w,J){return function(G,A){for(;!G.eol();){if(G.match(J)){A.tokenize=W;break}G.next()}return w}}function I(w){return function(J,G){for(var A;(A=J.next())!=null;){if(A=="<")return G.tokenize=I(w+1),G.tokenize(J,G);if(A==">")if(w==1){G.tokenize=W;break}else return G.tokenize=I(w-1),G.tokenize(J,G)}return"meta"}}function N(w){return w&&w.toLowerCase()}function H(w,J,G){this.prev=w.context,this.tagName=J||"",this.indent=w.indented,this.startOfLine=G,(m.doNotIndent.hasOwnProperty(J)||w.context&&w.context.noIndent)&&(this.noIndent=!0)}function V(w){w.context&&(w.context=w.context.prev)}function ne(w,J){for(var G;;){if(!w.context||(G=w.context.tagName,!m.contextGrabbers.hasOwnProperty(N(G))||!m.contextGrabbers[N(G)].hasOwnProperty(N(J))))return;V(w)}}function ue(w,J,G){return w=="openTag"?(G.tagStart=J.column(),se):w=="closeTag"?de:ue}function se(w,J,G){return w=="word"?(G.tagName=J.current(),L="tag",ie):m.allowMissingTagName&&w=="endTag"?(L="tag bracket",ie(w,J,G)):(L="error",se)}function de(w,J,G){if(w=="word"){var A=J.current();return G.context&&G.context.tagName!=A&&m.implicitlyClosed.hasOwnProperty(N(G.context.tagName))&&V(G),G.context&&G.context.tagName==A||m.matchClosing===!1?(L="tag",Oe):(L="tag error",Re)}else return m.allowMissingTagName&&w=="endTag"?(L="tag bracket",Oe(w,J,G)):(L="error",Re)}function Oe(w,J,G){return w!="endTag"?(L="error",Oe):(V(G),ue)}function Re(w,J,G){return L="error",Oe(w,J,G)}function ie(w,J,G){if(w=="word")return L="attribute",Pe;if(w=="endTag"||w=="selfcloseTag"){var A=G.tagName,M=G.tagStart;return G.tagName=G.tagStart=null,w=="selfcloseTag"||m.autoSelfClosers.hasOwnProperty(N(A))?ne(G,A):(ne(G,A),G.context=new H(G,A,M==G.indented)),ue}return L="error",ie}function Pe(w,J,G){return w=="equals"?j:(m.allowMissing||(L="error"),ie(w,J,G))}function j(w,J,G){return w=="string"?Q:w=="word"&&m.allowUnquoted?(L="string",ie):(L="error",ie(w,J,G))}function Q(w,J,G){return w=="string"?Q:ie(w,J,G)}return{startState:function(w){var J={tokenize:W,state:ue,indented:w||0,tagName:null,tagStart:null,context:null};return w!=null&&(J.baseIndent=w),J},token:function(w,J){if(!J.tagName&&w.sol()&&(J.indented=w.indentation()),w.eatSpace())return null;R=null;var G=J.tokenize(w,J);return(G||R)&&G!="comment"&&(L=null,J.state=J.state(R||G,w,J),L&&(G=L=="error"?G+" error":L)),G},indent:function(w,J,G){var A=w.context;if(w.tokenize.isInAttribute)return w.tagStart==w.indented?w.stringStartCol+1:w.indented+y;if(A&&A.noIndent)return r.Pass;if(w.tokenize!=z&&w.tokenize!=W)return G?G.match(/^(\s*)/)[0].length:0;if(w.tagName)return m.multilineTagIndentPastTag!==!1?w.tagStart+w.tagName.length+2:w.tagStart+y*(m.multilineTagIndentFactor||1);if(m.alignCDATA&&/<!\[CDATA\[/.test(J))return 0;var M=J&&/^<(\/)?([\w_:\.-]*)/.exec(J);if(M&&M[1])for(;A;)if(A.tagName==M[2]){A=A.prev;break}else if(m.implicitlyClosed.hasOwnProperty(N(A.tagName)))A=A.prev;else break;else if(M)for(;A;){var K=m.contextGrabbers[N(A.tagName)];if(K&&K.hasOwnProperty(N(M[2])))A=A.prev;else break}for(;A&&A.prev&&!A.startOfLine;)A=A.prev;return A?A.indent+y:w.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:m.htmlMode?"html":"xml",helperType:m.htmlMode?"html":"xml",skipAttribute:function(w){w.state==j&&(w.state=ie)},xmlCurrentTag:function(w){return w.tagName?{name:w.tagName,close:w.type=="closeTag"}:null},xmlCurrentContext:function(w){for(var J=[],G=w.context;G;G=G.prev)J.push(G.tagName);return J.reverse()}}}),r.defineMIME("text/xml","xml"),r.defineMIME("application/xml","xml"),r.mimeModes.hasOwnProperty("text/html")||r.defineMIME("text/html",{name:"xml",htmlMode:!0})})}()),Wl.exports}var ql={exports:{}},Ul;function Xp(){return Ul||(Ul=1,function(l,n){(function(r){r(jt())})(function(r){r.modeInfo=[{name:"APL",mime:"text/apl",mode:"apl",ext:["dyalog","apl"]},{name:"PGP",mimes:["application/pgp","application/pgp-encrypted","application/pgp-keys","application/pgp-signature"],mode:"asciiarmor",ext:["asc","pgp","sig"]},{name:"ASN.1",mime:"text/x-ttcn-asn",mode:"asn.1",ext:["asn","asn1"]},{name:"Asterisk",mime:"text/x-asterisk",mode:"asterisk",file:/^extensions\.conf$/i},{name:"Brainfuck",mime:"text/x-brainfuck",mode:"brainfuck",ext:["b","bf"]},{name:"C",mime:"text/x-csrc",mode:"clike",ext:["c","h","ino"]},{name:"C++",mime:"text/x-c++src",mode:"clike",ext:["cpp","c++","cc","cxx","hpp","h++","hh","hxx"],alias:["cpp"]},{name:"Cobol",mime:"text/x-cobol",mode:"cobol",ext:["cob","cpy","cbl"]},{name:"C#",mime:"text/x-csharp",mode:"clike",ext:["cs"],alias:["csharp","cs"]},{name:"Clojure",mime:"text/x-clojure",mode:"clojure",ext:["clj","cljc","cljx"]},{name:"ClojureScript",mime:"text/x-clojurescript",mode:"clojure",ext:["cljs"]},{name:"Closure Stylesheets (GSS)",mime:"text/x-gss",mode:"css",ext:["gss"]},{name:"CMake",mime:"text/x-cmake",mode:"cmake",ext:["cmake","cmake.in"],file:/^CMakeLists\.txt$/},{name:"CoffeeScript",mimes:["application/vnd.coffeescript","text/coffeescript","text/x-coffeescript"],mode:"coffeescript",ext:["coffee"],alias:["coffee","coffee-script"]},{name:"Common Lisp",mime:"text/x-common-lisp",mode:"commonlisp",ext:["cl","lisp","el"],alias:["lisp"]},{name:"Cypher",mime:"application/x-cypher-query",mode:"cypher",ext:["cyp","cypher"]},{name:"Cython",mime:"text/x-cython",mode:"python",ext:["pyx","pxd","pxi"]},{name:"Crystal",mime:"text/x-crystal",mode:"crystal",ext:["cr"]},{name:"CSS",mime:"text/css",mode:"css",ext:["css"]},{name:"CQL",mime:"text/x-cassandra",mode:"sql",ext:["cql"]},{name:"D",mime:"text/x-d",mode:"d",ext:["d"]},{name:"Dart",mimes:["application/dart","text/x-dart"],mode:"dart",ext:["dart"]},{name:"diff",mime:"text/x-diff",mode:"diff",ext:["diff","patch"]},{name:"Django",mime:"text/x-django",mode:"django"},{name:"Dockerfile",mime:"text/x-dockerfile",mode:"dockerfile",file:/^Dockerfile$/},{name:"DTD",mime:"application/xml-dtd",mode:"dtd",ext:["dtd"]},{name:"Dylan",mime:"text/x-dylan",mode:"dylan",ext:["dylan","dyl","intr"]},{name:"EBNF",mime:"text/x-ebnf",mode:"ebnf"},{name:"ECL",mime:"text/x-ecl",mode:"ecl",ext:["ecl"]},{name:"edn",mime:"application/edn",mode:"clojure",ext:["edn"]},{name:"Eiffel",mime:"text/x-eiffel",mode:"eiffel",ext:["e"]},{name:"Elm",mime:"text/x-elm",mode:"elm",ext:["elm"]},{name:"Embedded JavaScript",mime:"application/x-ejs",mode:"htmlembedded",ext:["ejs"]},{name:"Embedded Ruby",mime:"application/x-erb",mode:"htmlembedded",ext:["erb"]},{name:"Erlang",mime:"text/x-erlang",mode:"erlang",ext:["erl"]},{name:"Esper",mime:"text/x-esper",mode:"sql"},{name:"Factor",mime:"text/x-factor",mode:"factor",ext:["factor"]},{name:"FCL",mime:"text/x-fcl",mode:"fcl"},{name:"Forth",mime:"text/x-forth",mode:"forth",ext:["forth","fth","4th"]},{name:"Fortran",mime:"text/x-fortran",mode:"fortran",ext:["f","for","f77","f90","f95"]},{name:"F#",mime:"text/x-fsharp",mode:"mllike",ext:["fs"],alias:["fsharp"]},{name:"Gas",mime:"text/x-gas",mode:"gas",ext:["s"]},{name:"Gherkin",mime:"text/x-feature",mode:"gherkin",ext:["feature"]},{name:"GitHub Flavored Markdown",mime:"text/x-gfm",mode:"gfm",file:/^(readme|contributing|history)\.md$/i},{name:"Go",mime:"text/x-go",mode:"go",ext:["go"]},{name:"Groovy",mime:"text/x-groovy",mode:"groovy",ext:["groovy","gradle"],file:/^Jenkinsfile$/},{name:"HAML",mime:"text/x-haml",mode:"haml",ext:["haml"]},{name:"Haskell",mime:"text/x-haskell",mode:"haskell",ext:["hs"]},{name:"Haskell (Literate)",mime:"text/x-literate-haskell",mode:"haskell-literate",ext:["lhs"]},{name:"Haxe",mime:"text/x-haxe",mode:"haxe",ext:["hx"]},{name:"HXML",mime:"text/x-hxml",mode:"haxe",ext:["hxml"]},{name:"ASP.NET",mime:"application/x-aspx",mode:"htmlembedded",ext:["aspx"],alias:["asp","aspx"]},{name:"HTML",mime:"text/html",mode:"htmlmixed",ext:["html","htm","handlebars","hbs"],alias:["xhtml"]},{name:"HTTP",mime:"message/http",mode:"http"},{name:"IDL",mime:"text/x-idl",mode:"idl",ext:["pro"]},{name:"Pug",mime:"text/x-pug",mode:"pug",ext:["jade","pug"],alias:["jade"]},{name:"Java",mime:"text/x-java",mode:"clike",ext:["java"]},{name:"Java Server Pages",mime:"application/x-jsp",mode:"htmlembedded",ext:["jsp"],alias:["jsp"]},{name:"JavaScript",mimes:["text/javascript","text/ecmascript","application/javascript","application/x-javascript","application/ecmascript"],mode:"javascript",ext:["js"],alias:["ecmascript","js","node"]},{name:"JSON",mimes:["application/json","application/x-json"],mode:"javascript",ext:["json","map"],alias:["json5"]},{name:"JSON-LD",mime:"application/ld+json",mode:"javascript",ext:["jsonld"],alias:["jsonld"]},{name:"JSX",mime:"text/jsx",mode:"jsx",ext:["jsx"]},{name:"Jinja2",mime:"text/jinja2",mode:"jinja2",ext:["j2","jinja","jinja2"]},{name:"Julia",mime:"text/x-julia",mode:"julia",ext:["jl"],alias:["jl"]},{name:"Kotlin",mime:"text/x-kotlin",mode:"clike",ext:["kt"]},{name:"LESS",mime:"text/x-less",mode:"css",ext:["less"]},{name:"LiveScript",mime:"text/x-livescript",mode:"livescript",ext:["ls"],alias:["ls"]},{name:"Lua",mime:"text/x-lua",mode:"lua",ext:["lua"]},{name:"Markdown",mime:"text/x-markdown",mode:"markdown",ext:["markdown","md","mkd"]},{name:"mIRC",mime:"text/mirc",mode:"mirc"},{name:"MariaDB SQL",mime:"text/x-mariadb",mode:"sql"},{name:"Mathematica",mime:"text/x-mathematica",mode:"mathematica",ext:["m","nb","wl","wls"]},{name:"Modelica",mime:"text/x-modelica",mode:"modelica",ext:["mo"]},{name:"MUMPS",mime:"text/x-mumps",mode:"mumps",ext:["mps"]},{name:"MS SQL",mime:"text/x-mssql",mode:"sql"},{name:"mbox",mime:"application/mbox",mode:"mbox",ext:["mbox"]},{name:"MySQL",mime:"text/x-mysql",mode:"sql"},{name:"Nginx",mime:"text/x-nginx-conf",mode:"nginx",file:/nginx.*\.conf$/i},{name:"NSIS",mime:"text/x-nsis",mode:"nsis",ext:["nsh","nsi"]},{name:"NTriples",mimes:["application/n-triples","application/n-quads","text/n-triples"],mode:"ntriples",ext:["nt","nq"]},{name:"Objective-C",mime:"text/x-objectivec",mode:"clike",ext:["m"],alias:["objective-c","objc"]},{name:"Objective-C++",mime:"text/x-objectivec++",mode:"clike",ext:["mm"],alias:["objective-c++","objc++"]},{name:"OCaml",mime:"text/x-ocaml",mode:"mllike",ext:["ml","mli","mll","mly"]},{name:"Octave",mime:"text/x-octave",mode:"octave",ext:["m"]},{name:"Oz",mime:"text/x-oz",mode:"oz",ext:["oz"]},{name:"Pascal",mime:"text/x-pascal",mode:"pascal",ext:["p","pas"]},{name:"PEG.js",mime:"null",mode:"pegjs",ext:["jsonld"]},{name:"Perl",mime:"text/x-perl",mode:"perl",ext:["pl","pm"]},{name:"PHP",mimes:["text/x-php","application/x-httpd-php","application/x-httpd-php-open"],mode:"php",ext:["php","php3","php4","php5","php7","phtml"]},{name:"Pig",mime:"text/x-pig",mode:"pig",ext:["pig"]},{name:"Plain Text",mime:"text/plain",mode:"null",ext:["txt","text","conf","def","list","log"]},{name:"PLSQL",mime:"text/x-plsql",mode:"sql",ext:["pls"]},{name:"PostgreSQL",mime:"text/x-pgsql",mode:"sql"},{name:"PowerShell",mime:"application/x-powershell",mode:"powershell",ext:["ps1","psd1","psm1"]},{name:"Properties files",mime:"text/x-properties",mode:"properties",ext:["properties","ini","in"],alias:["ini","properties"]},{name:"ProtoBuf",mime:"text/x-protobuf",mode:"protobuf",ext:["proto"]},{name:"Python",mime:"text/x-python",mode:"python",ext:["BUILD","bzl","py","pyw"],file:/^(BUCK|BUILD)$/},{name:"Puppet",mime:"text/x-puppet",mode:"puppet",ext:["pp"]},{name:"Q",mime:"text/x-q",mode:"q",ext:["q"]},{name:"R",mime:"text/x-rsrc",mode:"r",ext:["r","R"],alias:["rscript"]},{name:"reStructuredText",mime:"text/x-rst",mode:"rst",ext:["rst"],alias:["rst"]},{name:"RPM Changes",mime:"text/x-rpm-changes",mode:"rpm"},{name:"RPM Spec",mime:"text/x-rpm-spec",mode:"rpm",ext:["spec"]},{name:"Ruby",mime:"text/x-ruby",mode:"ruby",ext:["rb"],alias:["jruby","macruby","rake","rb","rbx"]},{name:"Rust",mime:"text/x-rustsrc",mode:"rust",ext:["rs"]},{name:"SAS",mime:"text/x-sas",mode:"sas",ext:["sas"]},{name:"Sass",mime:"text/x-sass",mode:"sass",ext:["sass"]},{name:"Scala",mime:"text/x-scala",mode:"clike",ext:["scala"]},{name:"Scheme",mime:"text/x-scheme",mode:"scheme",ext:["scm","ss"]},{name:"SCSS",mime:"text/x-scss",mode:"css",ext:["scss"]},{name:"Shell",mimes:["text/x-sh","application/x-sh"],mode:"shell",ext:["sh","ksh","bash"],alias:["bash","sh","zsh"],file:/^PKGBUILD$/},{name:"Sieve",mime:"application/sieve",mode:"sieve",ext:["siv","sieve"]},{name:"Slim",mimes:["text/x-slim","application/x-slim"],mode:"slim",ext:["slim"]},{name:"Smalltalk",mime:"text/x-stsrc",mode:"smalltalk",ext:["st"]},{name:"Smarty",mime:"text/x-smarty",mode:"smarty",ext:["tpl"]},{name:"Solr",mime:"text/x-solr",mode:"solr"},{name:"SML",mime:"text/x-sml",mode:"mllike",ext:["sml","sig","fun","smackspec"]},{name:"Soy",mime:"text/x-soy",mode:"soy",ext:["soy"],alias:["closure template"]},{name:"SPARQL",mime:"application/sparql-query",mode:"sparql",ext:["rq","sparql"],alias:["sparul"]},{name:"Spreadsheet",mime:"text/x-spreadsheet",mode:"spreadsheet",alias:["excel","formula"]},{name:"SQL",mime:"text/x-sql",mode:"sql",ext:["sql"]},{name:"SQLite",mime:"text/x-sqlite",mode:"sql"},{name:"Squirrel",mime:"text/x-squirrel",mode:"clike",ext:["nut"]},{name:"Stylus",mime:"text/x-styl",mode:"stylus",ext:["styl"]},{name:"Swift",mime:"text/x-swift",mode:"swift",ext:["swift"]},{name:"sTeX",mime:"text/x-stex",mode:"stex"},{name:"LaTeX",mime:"text/x-latex",mode:"stex",ext:["text","ltx","tex"],alias:["tex"]},{name:"SystemVerilog",mime:"text/x-systemverilog",mode:"verilog",ext:["v","sv","svh"]},{name:"Tcl",mime:"text/x-tcl",mode:"tcl",ext:["tcl"]},{name:"Textile",mime:"text/x-textile",mode:"textile",ext:["textile"]},{name:"TiddlyWiki",mime:"text/x-tiddlywiki",mode:"tiddlywiki"},{name:"Tiki wiki",mime:"text/tiki",mode:"tiki"},{name:"TOML",mime:"text/x-toml",mode:"toml",ext:["toml"]},{name:"Tornado",mime:"text/x-tornado",mode:"tornado"},{name:"troff",mime:"text/troff",mode:"troff",ext:["1","2","3","4","5","6","7","8","9"]},{name:"TTCN",mime:"text/x-ttcn",mode:"ttcn",ext:["ttcn","ttcn3","ttcnpp"]},{name:"TTCN_CFG",mime:"text/x-ttcn-cfg",mode:"ttcn-cfg",ext:["cfg"]},{name:"Turtle",mime:"text/turtle",mode:"turtle",ext:["ttl"]},{name:"TypeScript",mime:"application/typescript",mode:"javascript",ext:["ts"],alias:["ts"]},{name:"TypeScript-JSX",mime:"text/typescript-jsx",mode:"jsx",ext:["tsx"],alias:["tsx"]},{name:"Twig",mime:"text/x-twig",mode:"twig"},{name:"Web IDL",mime:"text/x-webidl",mode:"webidl",ext:["webidl"]},{name:"VB.NET",mime:"text/x-vb",mode:"vb",ext:["vb"]},{name:"VBScript",mime:"text/vbscript",mode:"vbscript",ext:["vbs"]},{name:"Velocity",mime:"text/velocity",mode:"velocity",ext:["vtl"]},{name:"Verilog",mime:"text/x-verilog",mode:"verilog",ext:["v"]},{name:"VHDL",mime:"text/x-vhdl",mode:"vhdl",ext:["vhd","vhdl"]},{name:"Vue.js Component",mimes:["script/x-vue","text/x-vue"],mode:"vue",ext:["vue"]},{name:"XML",mimes:["application/xml","text/xml"],mode:"xml",ext:["xml","xsl","xsd","svg"],alias:["rss","wsdl","xsd"]},{name:"XQuery",mime:"application/xquery",mode:"xquery",ext:["xy","xquery"]},{name:"Yacas",mime:"text/x-yacas",mode:"yacas",ext:["ys"]},{name:"YAML",mimes:["text/x-yaml","text/yaml"],mode:"yaml",ext:["yaml","yml"],alias:["yml"]},{name:"Z80",mime:"text/x-z80",mode:"z80",ext:["z80"]},{name:"mscgen",mime:"text/x-mscgen",mode:"mscgen",ext:["mscgen","mscin","msc"]},{name:"xu",mime:"text/x-xu",mode:"mscgen",ext:["xu"]},{name:"msgenny",mime:"text/x-msgenny",mode:"mscgen",ext:["msgenny"]},{name:"WebAssembly",mime:"text/webassembly",mode:"wast",ext:["wat","wast"]}];for(var o=0;o<r.modeInfo.length;o++){var u=r.modeInfo[o];u.mimes&&(u.mime=u.mimes[0])}r.findModeByMIME=function(f){f=f.toLowerCase();for(var p=0;p<r.modeInfo.length;p++){var y=r.modeInfo[p];if(y.mime==f)return y;if(y.mimes){for(var m=0;m<y.mimes.length;m++)if(y.mimes[m]==f)return y}}if(/\+xml$/.test(f))return r.findModeByMIME("application/xml");if(/\+json$/.test(f))return r.findModeByMIME("application/json")},r.findModeByExtension=function(f){f=f.toLowerCase();for(var p=0;p<r.modeInfo.length;p++){var y=r.modeInfo[p];if(y.ext){for(var m=0;m<y.ext.length;m++)if(y.ext[m]==f)return y}}},r.findModeByFileName=function(f){for(var p=0;p<r.modeInfo.length;p++){var y=r.modeInfo[p];if(y.file&&y.file.test(f))return y}var m=f.lastIndexOf("."),k=m>-1&&f.substring(m+1,f.length);if(k)return r.findModeByExtension(k)},r.findModeByName=function(f){f=f.toLowerCase();for(var p=0;p<r.modeInfo.length;p++){var y=r.modeInfo[p];if(y.name.toLowerCase()==f)return y;if(y.alias){for(var m=0;m<y.alias.length;m++)if(y.alias[m].toLowerCase()==f)return y}}}})}()),ql.exports}(function(l,n){(function(r){r(jt(),Vp(),Xp())})(function(r){r.defineMode("markdown",function(o,u){var f=r.getMode(o,"text/html"),p=f.name=="null";function y(E){if(r.findModeByName){var x=r.findModeByName(E);x&&(E=x.mime||x.mimes[0])}var oe=r.getMode(o,E);return oe.name=="null"?null:oe}u.highlightFormatting===void 0&&(u.highlightFormatting=!1),u.maxBlockquoteDepth===void 0&&(u.maxBlockquoteDepth=0),u.taskLists===void 0&&(u.taskLists=!1),u.strikethrough===void 0&&(u.strikethrough=!1),u.emoji===void 0&&(u.emoji=!1),u.fencedCodeBlockHighlighting===void 0&&(u.fencedCodeBlockHighlighting=!0),u.fencedCodeBlockDefaultMode===void 0&&(u.fencedCodeBlockDefaultMode="text/plain"),u.xml===void 0&&(u.xml=!0),u.tokenTypeOverrides===void 0&&(u.tokenTypeOverrides={});var m={header:"header",code:"comment",quote:"quote",list1:"variable-2",list2:"variable-3",list3:"keyword",hr:"hr",image:"image",imageAltText:"image-alt-text",imageMarker:"image-marker",formatting:"formatting",linkInline:"link",linkEmail:"link",linkText:"link",linkHref:"string",em:"em",strong:"strong",strikethrough:"strikethrough",emoji:"builtin"};for(var k in m)m.hasOwnProperty(k)&&u.tokenTypeOverrides[k]&&(m[k]=u.tokenTypeOverrides[k]);var S=/^([*\-_])(?:\s*\1){2,}\s*$/,R=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,L=/^\[(x| )\](?=\s)/i,W=u.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,z=/^ {0,3}(?:\={1,}|-{2,})\s*$/,D=/^[^#!\[\]*_\\<>` "'(~:]+/,$=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,I=/^\s*\[[^\]]+?\]:.*$/,N=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/,H=" ";function V(E,x,oe){return x.f=x.inline=oe,oe(E,x)}function ne(E,x,oe){return x.f=x.block=oe,oe(E,x)}function ue(E){return!E||!/\S/.test(E.string)}function se(E){if(E.linkTitle=!1,E.linkHref=!1,E.linkText=!1,E.em=!1,E.strong=!1,E.strikethrough=!1,E.quote=0,E.indentedCode=!1,E.f==Oe){var x=p;if(!x){var oe=r.innerMode(f,E.htmlState);x=oe.mode.name=="xml"&&oe.state.tagStart===null&&!oe.state.context&&oe.state.tokenize.isInText}x&&(E.f=j,E.block=de,E.htmlState=null)}return E.trailingSpace=0,E.trailingSpaceNewLine=!1,E.prevLine=E.thisLine,E.thisLine={stream:null},null}function de(E,x){var oe=E.column()===x.indentation,_e=ue(x.prevLine.stream),Z=x.indentedCode,fe=x.prevLine.hr,ke=x.list!==!1,Le=(x.listStack[x.listStack.length-1]||0)+3;x.indentedCode=!1;var ct=x.indentation;if(x.indentationDiff===null&&(x.indentationDiff=x.indentation,ke)){for(x.list=null;ct<x.listStack[x.listStack.length-1];)x.listStack.pop(),x.listStack.length?x.indentation=x.listStack[x.listStack.length-1]:x.list=!1;x.list!==!1&&(x.indentationDiff=ct-x.listStack[x.listStack.length-1])}var we=!_e&&!fe&&!x.prevLine.header&&(!ke||!Z)&&!x.prevLine.fencedCodeEnd,Fe=(x.list===!1||fe||_e)&&x.indentation<=Le&&E.match(S),Ke=null;if(x.indentationDiff>=4&&(Z||x.prevLine.fencedCodeEnd||x.prevLine.header||_e))return E.skipToEnd(),x.indentedCode=!0,m.code;if(E.eatSpace())return null;if(oe&&x.indentation<=Le&&(Ke=E.match(W))&&Ke[1].length<=6)return x.quote=0,x.header=Ke[1].length,x.thisLine.header=!0,u.highlightFormatting&&(x.formatting="header"),x.f=x.inline,ie(x);if(x.indentation<=Le&&E.eat(">"))return x.quote=oe?1:x.quote+1,u.highlightFormatting&&(x.formatting="quote"),E.eatSpace(),ie(x);if(!Fe&&!x.setext&&oe&&x.indentation<=Le&&(Ke=E.match(R))){var ft=Ke[1]?"ol":"ul";return x.indentation=ct+E.current().length,x.list=!0,x.quote=0,x.listStack.push(x.indentation),x.em=!1,x.strong=!1,x.code=!1,x.strikethrough=!1,u.taskLists&&E.match(L,!1)&&(x.taskList=!0),x.f=x.inline,u.highlightFormatting&&(x.formatting=["list","list-"+ft]),ie(x)}else{if(oe&&x.indentation<=Le&&(Ke=E.match($,!0)))return x.quote=0,x.fencedEndRE=new RegExp(Ke[1]+"+ *$"),x.localMode=u.fencedCodeBlockHighlighting&&y(Ke[2]||u.fencedCodeBlockDefaultMode),x.localMode&&(x.localState=r.startState(x.localMode)),x.f=x.block=Re,u.highlightFormatting&&(x.formatting="code-block"),x.code=-1,ie(x);if(x.setext||(!we||!ke)&&!x.quote&&x.list===!1&&!x.code&&!Fe&&!I.test(E.string)&&(Ke=E.lookAhead(1))&&(Ke=Ke.match(z)))return x.setext?(x.header=x.setext,x.setext=0,E.skipToEnd(),u.highlightFormatting&&(x.formatting="header")):(x.header=Ke[0].charAt(0)=="="?1:2,x.setext=x.header),x.thisLine.header=!0,x.f=x.inline,ie(x);if(Fe)return E.skipToEnd(),x.hr=!0,x.thisLine.hr=!0,m.hr;if(E.peek()==="[")return V(E,x,A)}return V(E,x,x.inline)}function Oe(E,x){var oe=f.token(E,x.htmlState);if(!p){var _e=r.innerMode(f,x.htmlState);(_e.mode.name=="xml"&&_e.state.tagStart===null&&!_e.state.context&&_e.state.tokenize.isInText||x.md_inside&&E.current().indexOf(">")>-1)&&(x.f=j,x.block=de,x.htmlState=null)}return oe}function Re(E,x){var oe=x.listStack[x.listStack.length-1]||0,_e=x.indentation<oe,Z=oe+3;if(x.fencedEndRE&&x.indentation<=Z&&(_e||E.match(x.fencedEndRE))){u.highlightFormatting&&(x.formatting="code-block");var fe;return _e||(fe=ie(x)),x.localMode=x.localState=null,x.block=de,x.f=j,x.fencedEndRE=null,x.code=0,x.thisLine.fencedCodeEnd=!0,_e?ne(E,x,x.block):fe}else return x.localMode?x.localMode.token(E,x.localState):(E.skipToEnd(),m.code)}function ie(E){var x=[];if(E.formatting){x.push(m.formatting),typeof E.formatting=="string"&&(E.formatting=[E.formatting]);for(var oe=0;oe<E.formatting.length;oe++)x.push(m.formatting+"-"+E.formatting[oe]),E.formatting[oe]==="header"&&x.push(m.formatting+"-"+E.formatting[oe]+"-"+E.header),E.formatting[oe]==="quote"&&(!u.maxBlockquoteDepth||u.maxBlockquoteDepth>=E.quote?x.push(m.formatting+"-"+E.formatting[oe]+"-"+E.quote):x.push("error"))}if(E.taskOpen)return x.push("meta"),x.length?x.join(" "):null;if(E.taskClosed)return x.push("property"),x.length?x.join(" "):null;if(E.linkHref?x.push(m.linkHref,"url"):(E.strong&&x.push(m.strong),E.em&&x.push(m.em),E.strikethrough&&x.push(m.strikethrough),E.emoji&&x.push(m.emoji),E.linkText&&x.push(m.linkText),E.code&&x.push(m.code),E.image&&x.push(m.image),E.imageAltText&&x.push(m.imageAltText,"link"),E.imageMarker&&x.push(m.imageMarker)),E.header&&x.push(m.header,m.header+"-"+E.header),E.quote&&(x.push(m.quote),!u.maxBlockquoteDepth||u.maxBlockquoteDepth>=E.quote?x.push(m.quote+"-"+E.quote):x.push(m.quote+"-"+u.maxBlockquoteDepth)),E.list!==!1){var _e=(E.listStack.length-1)%3;_e?_e===1?x.push(m.list2):x.push(m.list3):x.push(m.list1)}return E.trailingSpaceNewLine?x.push("trailing-space-new-line"):E.trailingSpace&&x.push("trailing-space-"+(E.trailingSpace%2?"a":"b")),x.length?x.join(" "):null}function Pe(E,x){if(E.match(D,!0))return ie(x)}function j(E,x){var oe=x.text(E,x);if(typeof oe<"u")return oe;if(x.list)return x.list=null,ie(x);if(x.taskList){var _e=E.match(L,!0)[1]===" ";return _e?x.taskOpen=!0:x.taskClosed=!0,u.highlightFormatting&&(x.formatting="task"),x.taskList=!1,ie(x)}if(x.taskOpen=!1,x.taskClosed=!1,x.header&&E.match(/^#+$/,!0))return u.highlightFormatting&&(x.formatting="header"),ie(x);var Z=E.next();if(x.linkTitle){x.linkTitle=!1;var fe=Z;Z==="("&&(fe=")"),fe=(fe+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var ke="^\\s*(?:[^"+fe+"\\\\]+|\\\\\\\\|\\\\.)"+fe;if(E.match(new RegExp(ke),!0))return m.linkHref}if(Z==="`"){var Le=x.formatting;u.highlightFormatting&&(x.formatting="code"),E.eatWhile("`");var ct=E.current().length;if(x.code==0&&(!x.quote||ct==1))return x.code=ct,ie(x);if(ct==x.code){var we=ie(x);return x.code=0,we}else return x.formatting=Le,ie(x)}else if(x.code)return ie(x);if(Z==="\\"&&(E.next(),u.highlightFormatting)){var Fe=ie(x),Ke=m.formatting+"-escape";return Fe?Fe+" "+Ke:Ke}if(Z==="!"&&E.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return x.imageMarker=!0,x.image=!0,u.highlightFormatting&&(x.formatting="image"),ie(x);if(Z==="["&&x.imageMarker&&E.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return x.imageMarker=!1,x.imageAltText=!0,u.highlightFormatting&&(x.formatting="image"),ie(x);if(Z==="]"&&x.imageAltText){u.highlightFormatting&&(x.formatting="image");var Fe=ie(x);return x.imageAltText=!1,x.image=!1,x.inline=x.f=w,Fe}if(Z==="["&&!x.image)return x.linkText&&E.match(/^.*?\]/)||(x.linkText=!0,u.highlightFormatting&&(x.formatting="link")),ie(x);if(Z==="]"&&x.linkText){u.highlightFormatting&&(x.formatting="link");var Fe=ie(x);return x.linkText=!1,x.inline=x.f=E.match(/\(.*?\)| ?\[.*?\]/,!1)?w:j,Fe}if(Z==="<"&&E.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){x.f=x.inline=Q,u.highlightFormatting&&(x.formatting="link");var Fe=ie(x);return Fe?Fe+=" ":Fe="",Fe+m.linkInline}if(Z==="<"&&E.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){x.f=x.inline=Q,u.highlightFormatting&&(x.formatting="link");var Fe=ie(x);return Fe?Fe+=" ":Fe="",Fe+m.linkEmail}if(u.xml&&Z==="<"&&E.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var ft=E.string.indexOf(">",E.pos);if(ft!=-1){var Pt=E.string.substring(E.start,ft);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(Pt)&&(x.md_inside=!0)}return E.backUp(1),x.htmlState=r.startState(f),ne(E,x,Oe)}if(u.xml&&Z==="<"&&E.match(/^\/\w*?>/))return x.md_inside=!1,"tag";if(Z==="*"||Z==="_"){for(var dt=1,ht=E.pos==1?" ":E.string.charAt(E.pos-2);dt<3&&E.eat(Z);)dt++;var gt=E.peek()||" ",Kt=!/\s/.test(gt)&&(!N.test(gt)||/\s/.test(ht)||N.test(ht)),be=!/\s/.test(ht)&&(!N.test(ht)||/\s/.test(gt)||N.test(gt)),St=null,Vt=null;if(dt%2&&(!x.em&&Kt&&(Z==="*"||!be||N.test(ht))?St=!0:x.em==Z&&be&&(Z==="*"||!Kt||N.test(gt))&&(St=!1)),dt>1&&(!x.strong&&Kt&&(Z==="*"||!be||N.test(ht))?Vt=!0:x.strong==Z&&be&&(Z==="*"||!Kt||N.test(gt))&&(Vt=!1)),Vt!=null||St!=null){u.highlightFormatting&&(x.formatting=St==null?"strong":Vt==null?"em":"strong em"),St===!0&&(x.em=Z),Vt===!0&&(x.strong=Z);var we=ie(x);return St===!1&&(x.em=!1),Vt===!1&&(x.strong=!1),we}}else if(Z===" "&&(E.eat("*")||E.eat("_"))){if(E.peek()===" ")return ie(x);E.backUp(1)}if(u.strikethrough){if(Z==="~"&&E.eatWhile(Z)){if(x.strikethrough){u.highlightFormatting&&(x.formatting="strikethrough");var we=ie(x);return x.strikethrough=!1,we}else if(E.match(/^[^\s]/,!1))return x.strikethrough=!0,u.highlightFormatting&&(x.formatting="strikethrough"),ie(x)}else if(Z===" "&&E.match("~~",!0)){if(E.peek()===" ")return ie(x);E.backUp(2)}}if(u.emoji&&Z===":"&&E.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){x.emoji=!0,u.highlightFormatting&&(x.formatting="emoji");var On=ie(x);return x.emoji=!1,On}return Z===" "&&(E.match(/^ +$/,!1)?x.trailingSpace++:x.trailingSpace&&(x.trailingSpaceNewLine=!0)),ie(x)}function Q(E,x){var oe=E.next();if(oe===">"){x.f=x.inline=j,u.highlightFormatting&&(x.formatting="link");var _e=ie(x);return _e?_e+=" ":_e="",_e+m.linkInline}return E.match(/^[^>]+/,!0),m.linkInline}function w(E,x){if(E.eatSpace())return null;var oe=E.next();return oe==="("||oe==="["?(x.f=x.inline=G(oe==="("?")":"]"),u.highlightFormatting&&(x.formatting="link-string"),x.linkHref=!0,ie(x)):"error"}var J={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function G(E){return function(x,oe){var _e=x.next();if(_e===E){oe.f=oe.inline=j,u.highlightFormatting&&(oe.formatting="link-string");var Z=ie(oe);return oe.linkHref=!1,Z}return x.match(J[E]),oe.linkHref=!0,ie(oe)}}function A(E,x){return E.match(/^([^\]\\]|\\.)*\]:/,!1)?(x.f=M,E.next(),u.highlightFormatting&&(x.formatting="link"),x.linkText=!0,ie(x)):V(E,x,j)}function M(E,x){if(E.match("]:",!0)){x.f=x.inline=K,u.highlightFormatting&&(x.formatting="link");var oe=ie(x);return x.linkText=!1,oe}return E.match(/^([^\]\\]|\\.)+/,!0),m.linkText}function K(E,x){return E.eatSpace()?null:(E.match(/^[^\s]+/,!0),E.peek()===void 0?x.linkTitle=!0:E.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),x.f=x.inline=j,m.linkHref+" url")}var he={startState:function(){return{f:de,prevLine:{stream:null},thisLine:{stream:null},block:de,htmlState:null,indentation:0,inline:j,text:Pe,formatting:!1,linkText:!1,linkHref:!1,linkTitle:!1,code:0,em:!1,strong:!1,header:0,setext:0,hr:!1,taskList:!1,list:!1,listStack:[],quote:0,trailingSpace:0,trailingSpaceNewLine:!1,strikethrough:!1,emoji:!1,fencedEndRE:null}},copyState:function(E){return{f:E.f,prevLine:E.prevLine,thisLine:E.thisLine,block:E.block,htmlState:E.htmlState&&r.copyState(f,E.htmlState),indentation:E.indentation,localMode:E.localMode,localState:E.localMode?r.copyState(E.localMode,E.localState):null,inline:E.inline,text:E.text,formatting:!1,linkText:E.linkText,linkTitle:E.linkTitle,linkHref:E.linkHref,code:E.code,em:E.em,strong:E.strong,strikethrough:E.strikethrough,emoji:E.emoji,header:E.header,setext:E.setext,hr:E.hr,taskList:E.taskList,list:E.list,listStack:E.listStack.slice(0),quote:E.quote,indentedCode:E.indentedCode,trailingSpace:E.trailingSpace,trailingSpaceNewLine:E.trailingSpaceNewLine,md_inside:E.md_inside,fencedEndRE:E.fencedEndRE}},token:function(E,x){if(x.formatting=!1,E!=x.thisLine.stream){if(x.header=0,x.hr=!1,E.match(/^\s*$/,!0))return se(x),null;if(x.prevLine=x.thisLine,x.thisLine={stream:E},x.taskList=!1,x.trailingSpace=0,x.trailingSpaceNewLine=!1,!x.localState&&(x.f=x.block,x.f!=Oe)){var oe=E.match(/^\s*/,!0)[0].replace(/\t/g,H).length;if(x.indentation=oe,x.indentationDiff=null,oe>0)return null}}return x.f(E,x)},innerMode:function(E){return E.block==Oe?{state:E.htmlState,mode:f}:E.localState?{state:E.localState,mode:E.localMode}:{state:E,mode:he}},indent:function(E,x,oe){return E.block==Oe&&f.indent?f.indent(E.htmlState,x,oe):E.localState&&E.localMode.indent?E.localMode.indent(E.localState,x,oe):r.Pass},blankLine:se,getType:ie,blockCommentStart:"<!--",blockCommentEnd:"-->",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return he},"xml"),r.defineMIME("text/markdown","markdown"),r.defineMIME("text/x-markdown","markdown")})})();const Yp={name:"DebugTab",components:{codemirror:za.codemirror,FilePdfViewer:Xa,OutputViewer:Hl},props:{selectedSpan:{type:Object,required:!0},selectedSpanId:{type:String,required:!0}},data(){return{debugForm:{params:[],systemContent:"",userContent:""},debugSubmitting:!1,debugResponse:null,responsePreview:null,debugResponseIsError:!1,debugResponseKey:0,debugMarkdownKey:0,originalInputs:null,hasImageUrl:!1,submitImage:!0,sendFile:!0,cmOptions:{tabSize:2,mode:{name:"javascript",json:!0},theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},cmOptionsMarkdown:{tabSize:2,mode:"markdown",theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!1,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},tokenCalculating:!1,promptTokensResult:null,tokenCounterEnabled:!1}},computed:{promptTokensTableData(){if(!this.promptTokensResult)return[];const l=this.promptTokensResult;return[{key:"debug.specialTokens",value:l.special_tokens||"0"},{key:"debug.systemTokens",value:l.system_tokens||"0"},{key:"debug.userTokens",value:l.user_tokens||"0"},{key:"debug.assistantTokens",value:l.assistant_tokens||"0"},{key:"debug.textTokens",value:l.text_tokens||"0"}].map(r=>({name:this.$t(r.key),value:r.value})).filter(r=>r.value!=="0"&&r.value!==0)},rawInputs(){var l,n,r;return(r=(n=(l=this.selectedSpan)==null?void 0:l.parsedContent)==null?void 0:n.attributes)==null?void 0:r["langsword.spanInputs"]},targetUrl(){var n,r;const l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.attributes;return l&&l["url.full"]?l["url.full"]:null},clientHasFileInput(){var n;let l=!1;return this.originalInputs&&Object.keys(this.originalInputs).forEach(r=>{r.startsWith("__file__")&&(l=!0)}),((n=this.selectedSpan)==null?void 0:n.type)==="CLIENT"&&l}},watch:{selectedSpanId:{immediate:!0,handler(l,n){l&&l!==n&&this.$nextTick(()=>{this.initDebugForm()})}},"selectedSpan.parsedContent":{deep:!0,handler(){this.selectedSpan&&this.selectedSpanId&&this.$nextTick(()=>{this.initDebugForm()})}}},mounted(){this.selectedSpan&&this.selectedSpanId&&this.$nextTick(()=>{this.initDebugForm()}),this.fetchTracingSetting()},methods:{getMessageRoleLabel(l){const n={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return n[l]?this.$t(n[l]):l},copyContent(l){const n=l==="system"?this.debugForm.systemContent:this.debugForm.userContent;Bi(n,this)},handleOutputCopy(l){Bi(l,this)},initDebugForm(){var n,r;if(!this.selectedSpan)return;let l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.inputs;if(!l&&this.rawInputs)try{l=typeof this.rawInputs=="string"?JSON.parse(this.rawInputs):this.rawInputs}catch(o){console.error("Failed to parse rawInputs:",o);return}if(!l){console.warn("No inputs found for span:",this.selectedSpanId);return}if(this.originalInputs=JSON.parse(JSON.stringify(l)),this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"){this.debugForm.params=[],this.debugForm.systemContent="",this.debugForm.userContent="";let o=!1;this.originalInputs&&Object.keys(this.originalInputs).forEach(u=>{u.startsWith("__file__")&&(o=!0)}),this.sendFile=o,Object.keys(l).forEach(u=>{if(!u.startsWith("__file__")){const f=l[u];let p="";typeof f=="string"?p=f:typeof f=="boolean"||typeof f=="number"?p=String(f):p=JSON.stringify(f),this.debugForm.params.push({key:u,value:p})}})}else if(this.selectedSpan.type==="CHAT_MODEL")if(this.debugForm.params=[],this.hasImageUrl=!1,this.submitImage=!0,Object.keys(l).forEach(o=>{if(o!=="messages"){const u=l[o];let f="";typeof u=="string"?f=u:typeof u=="boolean"||typeof u=="number"?f=String(u):f=JSON.stringify(u),this.debugForm.params.push({key:o,value:f})}}),l.messages&&Array.isArray(l.messages)){const o=l.messages.find(f=>f.role==="system"),u=l.messages.find(f=>f.role==="user");if(o&&o.content?this.debugForm.systemContent=typeof o.content=="string"?o.content:"":this.debugForm.systemContent="",u&&u.content)if(Array.isArray(u.content)){const f=u.content.filter(y=>y.type==="text"&&y.text).map(y=>y.text);this.debugForm.userContent=f.join(`
|
|
79
|
-
`);const p=u.content.some(y=>y.type==="image_url");this.hasImageUrl=p}else typeof u.content=="string"?this.debugForm.userContent=u.content:this.debugForm.userContent="";else this.debugForm.userContent=""}else this.debugForm.systemContent="",this.debugForm.userContent="";this.debugResponse=null,this.debugResponseIsError=!1,this.promptTokensResult=null,this.$nextTick(()=>{this.$refs.systemContentEditor&&this.$refs.systemContentEditor.codemirror&&this.$refs.systemContentEditor.codemirror.setValue(this.debugForm.systemContent||""),this.$refs.userContentEditor&&this.$refs.userContentEditor.codemirror&&this.$refs.userContentEditor.codemirror.setValue(this.debugForm.userContent||"")})},addDebugParam(){this.debugForm.params.push({key:"",value:""})},removeDebugParam(l){this.debugForm.params.splice(l,1)},handleDebugParamChange(){},resetDebugForm(){this.initDebugForm()},parseParamValue(l){if(l==="true"||l==="false")return l==="true";if(l==="")return"";{const n=Number(l);return!isNaN(n)&&isFinite(n)?n:l}},buildRequestHeaders(l){const n={};let r=null;const o=Object.keys(l).find(u=>u.toLowerCase()==="x-target-url");return o?(r=l[o],delete l[o]):this.targetUrl&&(r=this.targetUrl),r&&(n["X-Target-Url"]=r),n},handleDebugResponse(l){console.log("debug response:",l),this.debugResponse=l.original_response?JSON.parse(l.original_response):l,this.responsePreview=l.response_preview,this.debugResponseIsError=!1,this.$nextTick(()=>{this.debugResponseKey++})},handleDebugError(l){if(console.error("Debug request failed:",l),l.response&&l.response.data!==void 0){const n=l.response.data;this.debugResponse=typeof n=="object"&&n!==null?n:{_raw:n},this.debugResponseIsError=!0,this.$nextTick(()=>{this.debugResponseKey++})}else l.response&&l.response.data===void 0&&(this.debugResponse={_status:l.response.status,_statusText:l.response.statusText},this.debugResponseIsError=!0,this.$nextTick(()=>{this.debugResponseKey++}))},async submitDebugRequest(l){const n=this.buildRequestHeaders(l),r=await kt.debugTrace(l,n);this.handleDebugResponse(r)},async submitDebugClient(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const l={};this.sendFile&&this.originalInputs&&Object.keys(this.originalInputs).forEach(n=>{n.startsWith("__file__")&&this.originalInputs[n]&&(l[n]=this.originalInputs[n])}),this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const r=n.value?n.value.trim():"";l[n.key]=this.parseParamValue(r)}}),await this.submitDebugRequest(l)}catch(l){this.handleDebugError(l)}finally{this.debugSubmitting=!1}}},async submitDebugChatModel(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const l=JSON.parse(JSON.stringify(this.originalInputs));if(this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const r=n.value?n.value.trim():"";l[n.key]=this.parseParamValue(r)}}),l.messages&&Array.isArray(l.messages)){const n=l.messages.find(o=>o.role==="system");n&&(n.content=this.debugForm.systemContent||"");const r=l.messages.find(o=>o.role==="user");if(r){const o=this.originalInputs.messages.find(f=>f.role==="user");if(o&&Array.isArray(o.content)){const f=[];this.submitImage&&Array.isArray(r.content)&&r.content.forEach(p=>{p.type==="image_url"&&f.push(p)}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&f.push({type:"text",text:this.debugForm.userContent}),r.content=f.length>0?f:this.debugForm.userContent||""}else r.content=this.debugForm.userContent||""}}await this.submitDebugRequest(l)}catch(l){this.handleDebugError(l)}finally{this.debugSubmitting=!1}}},async fetchTracingSetting(){try{const l=await kt.getSetting();this.tokenCounterEnabled=(l==null?void 0:l.token_counter_enabled)==="true"}catch{this.tokenCounterEnabled=!1}},async calculatePromptTokens(){if(!this.selectedSpan||this.selectedSpan.type!=="CHAT_MODEL")return;const l=[];if(this.debugForm.systemContent&&this.debugForm.systemContent.trim()&&l.push({role:"system",content:this.debugForm.systemContent.trim()}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&l.push({role:"user",content:this.debugForm.userContent.trim()}),l.length===0){this.$message.warning("请至少填写系统提示词或用户提示词");return}const n=this.debugForm.params.find(o=>o.key&&o.key.trim().toLowerCase()==="model"),r={messages:l};n&&n.value&&n.value.trim()&&(r.model=n.value.trim()),this.tokenCalculating=!0;try{const o=await kt.getPromptTokens(r);this.promptTokensResult=o}catch(o){console.error("Token calculation failed:",o);let u="未知错误";if(o.response&&o.response.data){const f=o.response.data;typeof f=="object"&&f!==null&&f.message?u=f.message:o.message&&(u=o.message)}else o.message&&(u=o.message);this.$message.error("Token计算失败: "+u)}finally{this.tokenCalculating=!1}}}};var Jp=function(){var n=this,r=n._self._c;return r("div",{staticClass:"debug-content"},[n.selectedSpan.type==="CLIENT"||n.selectedSpan.type==="EMBEDDING"?r("div",{staticClass:"debug-client-form"},[r("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[n._l(n.debugForm.params,function(o,u){return r("div",{key:u,staticClass:"debug-form-row"},[r("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${u+1}`}},[r("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[r("el-col",{attrs:{span:8}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:o.key,callback:function(f){n.$set(o,"key",f)},expression:"item.key"}})],1),r("el-col",{attrs:{span:14}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:o.value,callback:function(f){n.$set(o,"value",f)},expression:"item.value"}})],1),r("el-col",{attrs:{span:2}},[r("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(f){return n.removeDebugParam(u)}}})],1)],1)],1)],1)}),n.clientHasFileInput?r("el-form-item",[r("el-checkbox",{model:{value:n.sendFile,callback:function(o){n.sendFile=o},expression:"sendFile"}},[n._v(n._s(n.$t("debug.sendFile")))])],1):n._e(),r("el-form-item",[r("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),r("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),r("el-button",{attrs:{type:"success",icon:"el-icon-check",size:"small",loading:n.debugSubmitting},on:{click:n.submitDebugClient}},[n._v(n._s(n.$t("debug.submit")))])],1)],2),n.debugResponse!==null?r("div",{staticClass:"debug-response"},[r("OutputViewer",{attrs:{value:n.debugResponse,"show-raw-toggle":!0,"is-error-response":n.debugResponseIsError,"preview-markdown":n.responsePreview,"support-file-elements":!0,title:n.$t("debug.responseResult"),"content-key":`${n.selectedSpanId}-${n.debugResponseKey}`},on:{copy:n.handleOutputCopy}})],1):n._e()],1):n._e(),n.selectedSpan.type==="CHAT_MODEL"?r("div",{staticClass:"debug-chat-model-form"},[r("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[r("el-form-item",{scopedSlots:n._u([{key:"label",fn:function(){return[r("span",[n._v(n._s(n.$t("debug.systemPrompt")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(o){return n.copyContent("system")}}})],1)]},proxy:!0}],null,!1,671448622)},[r("codemirror",{key:`debug-system-${n.selectedSpanId}-${n.debugMarkdownKey}`,ref:"systemContentEditor",staticClass:"code-editor-wrapper markdown-editor",attrs:{options:n.cmOptionsMarkdown},model:{value:n.debugForm.systemContent,callback:function(o){n.$set(n.debugForm,"systemContent",o)},expression:"debugForm.systemContent"}})],1),r("el-form-item",{scopedSlots:n._u([{key:"label",fn:function(){return[r("span",[n._v(n._s(n.$t("debug.userPrompt")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(o){return n.copyContent("user")}}})],1)]},proxy:!0}],null,!1,1846549358)},[r("codemirror",{key:`debug-user-${n.selectedSpanId}-${n.debugMarkdownKey}`,ref:"userContentEditor",staticClass:"code-editor-wrapper markdown-editor",attrs:{options:n.cmOptionsMarkdown},model:{value:n.debugForm.userContent,callback:function(o){n.$set(n.debugForm,"userContent",o)},expression:"debugForm.userContent"}})],1),n.selectedSpan.type==="CHAT_MODEL"&&n.hasImageUrl?r("el-form-item",{attrs:{label:n.$t("debug.submitImage")}},[r("el-switch",{attrs:{"active-text":n.$t("debug.yes"),"inactive-text":n.$t("debug.no")},model:{value:n.submitImage,callback:function(o){n.submitImage=o},expression:"submitImage"}})],1):n._e(),n._l(n.debugForm.params,function(o,u){return r("div",{key:u,staticClass:"debug-form-row"},[r("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${u+1}`}},[r("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[r("el-col",{attrs:{span:8}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:o.key,callback:function(f){n.$set(o,"key",f)},expression:"item.key"}})],1),r("el-col",{attrs:{span:14}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:o.value,callback:function(f){n.$set(o,"value",f)},expression:"item.value"}})],1),r("el-col",{attrs:{span:2}},[r("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(f){return n.removeDebugParam(u)}}})],1)],1)],1)],1)}),r("el-form-item",[r("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),r("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),r("el-button",{attrs:{type:"success",icon:"el-icon-check",size:"small",loading:n.debugSubmitting},on:{click:n.submitDebugChatModel}},[n._v(n._s(n.$t("debug.submit")))]),n.tokenCounterEnabled?r("el-tooltip",{attrs:{content:n.$t("debug.calculateTokensTooltip"),placement:"top"}},[r("el-button",{attrs:{type:"info",icon:"el-icon-cpu",size:"small",loading:n.tokenCalculating},on:{click:n.calculatePromptTokens}},[n._v(n._s(n.$t("debug.calculateTokens")))])],1):n._e()],1)],2),n.promptTokensResult!==null?r("div",{staticClass:"token-result-section"},[r("div",{staticClass:"token-result-header"},[n._v(n._s(n.$t("debug.tokenResultTitle")))]),r("el-table",{attrs:{data:n.promptTokensTableData,size:"small",border:""}},[r("el-table-column",{attrs:{prop:"name",label:n.$t("debug.tokenType"),width:"140"}}),r("el-table-column",{attrs:{prop:"value",label:n.$t("debug.tokenCount")}})],1)],1):n._e(),n.debugResponse!==null?r("div",{staticClass:"debug-response"},[r("OutputViewer",{attrs:{value:n.debugResponse,"show-raw-toggle":!0,"is-error-response":n.debugResponseIsError,"support-file-elements":!0,title:n.$t("debug.responseResult"),"content-key":`${n.selectedSpanId}-${n.debugResponseKey}`},on:{copy:n.handleOutputCopy}})],1):n._e()],1):n._e()])},Qp=[],Zp=vn(Yp,Jp,Qp,!1,null,"8d08f36c");const eg=Zp.exports;Se.setOptions({breaks:!0});const tg={name:"TraceDetailDrawer",components:{TraceSpanTree:Va,DebugTab:eg,codemirror:za.codemirror,FilePdfViewer:Xa,OutputViewer:Hl},props:{visible:{type:Boolean,default:!1},currentTraceId:{type:String,default:null},traceInfo:{type:Object,default:()=>({})},spans:{type:Array,default:()=>[]},filteredSpans:{type:Array,default:()=>[]},selectedSpanId:{type:String,default:null},selectedSpan:{type:Object,default:null},loading:{type:Boolean,default:!1},spanHasNextPage:{type:Boolean,default:!1},spanLoadMoreLoading:{type:Boolean,default:!1},spanHasEvents:{type:Boolean,default:null},spanPageSize:{type:Number,default:100},traceStatusList:{type:Array,default:()=>[]},traceSpanTypeList:{type:Array,default:()=>[]},spanTypeFilter:{type:String,default:null}},data(){return{localVisible:this.visible,spanSearchQuery:"",activeTab:"io",activeCollapse:["inputs","outputs"],messageCollapse:[],rawIoCollapse:["rawInputs","rawOutputs"],rawInputsKey:0,rawOutputsKey:0,eventsCollapse:[],eventsKey:0,cmOptions:{tabSize:2,mode:{name:"javascript",json:!0},theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},cmOptionsJava:{tabSize:4,mode:"text/x-java",theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:4,styleActiveLine:!0,autoRefresh:!0},viewerOptions:{inline:!1,button:!0,navbar:!0,title:!0,toolbar:!0,tooltip:!0,movable:!0,zoomable:!0,rotatable:!0,scalable:!0,transition:!0,keyboard:!0,zIndex:9999}}},computed:{drawerTitle(){let l=this.traceInfo.trace_name;return l||(l=this.traceInfo.trace_id),l?this.$t("trace.traceDetail")+": "+l:this.$t("trace.traceDetail")},traceStartTime(){return this.spans.length===0?0:Math.min(...this.spans.map(l=>l.start_time_unix_nano))},traceEndTime(){return this.spans.length===0?0:Math.max(...this.spans.map(l=>l.end_time_unix_nano))},hasInputs(){var n,r,o,u;const l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.request_preview;return l!=null&&String(l).trim()!==""?!0:((u=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:u.inputs)!==void 0},hasOutputs(){var n,r,o,u;const l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.response_preview;return l!=null&&String(l).trim()!==""?!0:((u=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:u.outputs)!==void 0},showIOTab(){var k,S,R,L,W,z,D,$,I,N;if(!this.selectedSpan)return!1;const l=(S=(k=this.selectedSpan)==null?void 0:k.parsedContent)==null?void 0:S.request_preview,n=(L=(R=this.selectedSpan)==null?void 0:R.parsedContent)==null?void 0:L.response_preview,r=l!=null&&String(l).trim()!=="",o=n!=null&&String(n).trim()!=="";if(r||o)return!0;if(!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const f=(D=(z=(W=this.selectedSpan)==null?void 0:W.parsedContent)==null?void 0:z.attributes)==null?void 0:D["langsword.spanInputs"],p=(N=(I=($=this.selectedSpan)==null?void 0:$.parsedContent)==null?void 0:I.attributes)==null?void 0:N["langsword.spanOutputs"],y=f!=null&&f!=="",m=p!=null&&p!=="";return y||m},attributesData(){var n,r;if(!((r=(n=this.selectedSpan)==null?void 0:n.parsedContent)!=null&&r.attributes))return[];const l=["http.response.body.size","http.request.body.size","http.request.header.Content-Length","http.response.header.content-length","http.request.header.content-length","http.response.header.Content-Length"];return Object.entries(this.selectedSpan.parsedContent.attributes).filter(([o])=>!o.startsWith("langsword.span")).filter(([,o])=>!(o===0||o==="0"||o==null||o===""||typeof o=="string"&&o.trim()==="")).map(([o,u])=>{let f;return l.includes(o)?f=this.formatBytes(u):typeof u=="string"?f=u:f=JSON.stringify(u,null,2),{key:o,value:f}}).sort((o,u)=>o.key.localeCompare(u.key))},rawInputs(){var l,n,r;return(r=(n=(l=this.selectedSpan)==null?void 0:l.parsedContent)==null?void 0:n.attributes)==null?void 0:r["langsword.spanInputs"]},rawOutputs(){var l,n,r;return(r=(n=(l=this.selectedSpan)==null?void 0:l.parsedContent)==null?void 0:n.attributes)==null?void 0:r["langsword.spanOutputs"]},clientInputsFileOnly(){var n,r,o;if(((n=this.selectedSpan)==null?void 0:n.type)!=="CLIENT")return!1;const l=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.inputs;return l&&(this.extractFileRefs(l).length>0||this.extractImageBase64Refs(l).length>0)},clientOutputsFileOnly(){var n,r,o;if(((n=this.selectedSpan)==null?void 0:n.type)!=="CLIENT")return!1;const l=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.outputs;return l&&(this.extractFileRefs(l).length>0||this.extractImageBase64Refs(l).length>0)},hasEvents(){var n,r,o;if(((n=this.selectedSpan)==null?void 0:n.has_events)!==void 0)return this.selectedSpan.has_events===!0;const l=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.events;return l&&Array.isArray(l)&&l.length>0},spanEvents(){var n,r;const l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.events;return!l||!Array.isArray(l)?[]:l},showDebugTab(){var o,u,f;if(!this.selectedSpan||!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const n=(f=(u=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:u.attributes)==null?void 0:f["langsword.spanInputs"];return n!=null&&n!==""}},watch:{visible(l){this.localVisible=l,l||(this.spanSearchQuery="")},localVisible(l){this.$emit("update:visible",l)},activeTab(l){l==="raw"&&this.$nextTick(()=>{this.rawInputsKey++,this.rawOutputsKey++}),l==="events"&&this.$nextTick(()=>{this.eventsKey++})},selectedSpan(){var o;if(!this.selectedSpan)return;const l=this.selectedSpan.has_events===!0||((o=this.selectedSpan.parsedContent)==null?void 0:o.events)&&Array.isArray(this.selectedSpan.parsedContent.events)&&this.selectedSpan.parsedContent.events.length>0,n=[];this.showIOTab&&n.push("io","raw"),this.showDebugTab&&n.push("debug"),n.push("attributes"),l&&n.push("events");let r="attributes";this.showIOTab&&(r="io"),n.includes(r)?this.activeTab=r:this.activeTab="attributes",this.$nextTick(()=>{this.updateCollapseStates(),this.activeTab==="raw"&&(this.rawInputsKey++,this.rawOutputsKey++),this.activeTab==="events"&&this.eventsKey++})}},methods:{renderMarkdown(l){return l?Se(String(l)):""},copyToClipboard(l){Bi(l,this)},copyMessageContent(l){let n="";if(typeof l=="string")n=l;else if(Array.isArray(l)){const r=l.filter(o=>o&&o.type==="text"&&o.text).map(o=>o.text);n=r.length>0?r.join(`
|
|
80
|
-
`):this.formatRawJson(l)}else n=this.formatRawJson(l);this.copyToClipboard(n)},formatBytes(l){const n=typeof l=="number"?l:Number(l);if(!Number.isFinite(n))return typeof l=="string"?l:JSON.stringify(l,null,2);const r=n<0?"-":"";let o=Math.abs(n);const u=["B","K","M","G","T","P","E"];if(o<1024)return`${r}${Math.round(o)}B`;let f=0;for(;o>=1024&&f<u.length-1;)o/=1024,f++;return`${r}${o.toFixed(2)}${u[f]}`},handleClose(l){this.$emit("close"),l&&typeof l=="function"&&l()},handleSpanSearch(){this.$emit("span-search",this.spanSearchQuery)},handleSpanTypeFilterChange(l){this.$emit("update:span-type-filter",l)},handleHasEventsChange(l){this.$emit("update:span-has-events",l?!0:null)},handleSpanSelect(l){this.$emit("span-select",l),this.$nextTick(()=>{this.updateCollapseStates()})},updateCollapseStates(){var r,o,u,f,p;this.activeCollapse=["inputs","outputs"],(u=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.inputs)!=null&&u.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((y,m)=>`message-${m}`):this.messageCollapse=[],this.rawIoCollapse=["rawInputs","rawOutputs"];const l=(p=(f=this.selectedSpan)==null?void 0:f.parsedContent)==null?void 0:p.events;l&&Array.isArray(l)&&l.length>0?this.eventsCollapse=l.map((y,m)=>`event-${m}`):this.eventsCollapse=[]},parseContentData(l){const n={attributes:l.attributes||{},events:l.events||[],status:l.status||{}};if(l.inputs&&(n.inputs=l.inputs),l.outputs&&(n.outputs=l.outputs),l.request_preview!=null&&l.request_preview!==""&&(n.request_preview=l.request_preview),l.response_preview!=null&&l.response_preview!==""&&(n.response_preview=l.response_preview),n.attributes){const r=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(r)try{n.inputs=typeof r=="string"?JSON.parse(r):r}catch{try{const f=r.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(f)}catch{n.inputs=r}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const f=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(f)}catch{n.outputs=o}}}return n},getStatusType(l){if(!l)return"info";const n=l.toUpperCase();return n==="OK"||n==="SUCCESS"?"success":n==="ERROR"||n==="FAILED"?"danger":n==="WARNING"||n==="WARN"?"warning":"info"},getStatusLabel(l){if(!l)return"-";const n=this.traceStatusList.find(r=>r.value===l);return n?n.label:l},getTraceSpanTypeLabel(l){if(l==null||l==="")return"-";const n=this.traceSpanTypeList.find(r=>r.value===l);return n?n.label:l},formatNanoDuration(l){if(!l)return"-";const n=l/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`},formatTimestamp(l){if(!l)return"-";const n=typeof l=="string"?parseInt(l,10):l,r=new Date(n);return isNaN(r.getTime())?"-":r.toLocaleString("zh-CN")},formatEventTimestamp(l){if(!l)return"-";const n=l/1e6,r=new Date(n);return isNaN(r.getTime())?"-":r.toLocaleString("zh-CN")},getEventAttributesData(l){return!l||!l.attributes?[]:Object.entries(l.attributes).map(([n,r])=>({key:n,value:typeof r=="string"?r:JSON.stringify(r,null,2)}))},getOtherEventAttributes(l){if(!l||!l.attributes)return[];const n=["exception.type","exception.message","exception.stacktrace"];return Object.entries(l.attributes).filter(([r])=>!n.includes(r)).map(([r,o])=>({key:r,value:typeof o=="string"?o:JSON.stringify(o,null,2)}))},formatRawJson(l){if(!l)return"";if(typeof l=="string")try{const n=JSON.parse(l);return JSON.stringify(n,null,2)}catch{return l}return JSON.stringify(l,null,2)},getMessageIcon(l){return{user:"el-icon-user",assistant:"el-icon-service",system:"el-icon-setting"}[l]||"el-icon-document"},getMessageRoleLabel(l){const n={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return n[l]?this.$t(n[l]):l},extractImagesFromObject(l,n=[],r=""){if(!(!l||typeof l!="object")){for(const[o,u]of Object.entries(l)){const f=r?`${r}.${o}`:o;typeof u=="string"&&u.trim()!==""?(u.startsWith("data:image/")||u.startsWith("/9j/")||u.startsWith("iVBOR")||u.startsWith("R0lGOD"))&&(n.push({path:f,value:u,label:o==="content"&&r?`${r.split(".").pop()}: ${o}`:o}),l[o]="[IMAGE_DATA]"):u&&typeof u=="object"&&!Array.isArray(u)?this.extractImagesFromObject(u,n,f):Array.isArray(u)&&u.forEach((p,y)=>{p&&typeof p=="object"&&this.extractImagesFromObject(p,n,`${f}[${y}]`)})}return n}},extractFileRefs(l,n=[]){if(!l||typeof l!="object")return n;for(const[r,o]of Object.entries(l))r.startsWith("__file__")&&o!=null?Array.isArray(o)?o.forEach(u=>{u!=null&&typeof u=="string"&&u.trim()!==""&&n.push(u.trim())}):typeof o=="string"&&o.trim()!==""&&n.push(o.trim()):o&&typeof o=="object"&&!Array.isArray(o)?this.extractFileRefs(o,n):Array.isArray(o)&&o.forEach(u=>{u&&typeof u=="object"&&this.extractFileRefs(u,n)});return n},extractImageBase64Refs(l,n=[]){if(!l||typeof l!="object")return n;for(const[r,o]of Object.entries(l))r==="image_base64"&&o!=null&&typeof o=="string"&&o.trim()!==""?n.push(o.trim()):o&&typeof o=="object"&&!Array.isArray(o)?this.extractImageBase64Refs(o,n):Array.isArray(o)&&o.forEach(u=>{u&&typeof u=="object"&&this.extractImageBase64Refs(u,n)});return n},getFileExtension(l){if(!l||typeof l!="string")return"";const n=l.lastIndexOf(".");return n>=0?l.slice(n+1).toLowerCase():""},buildFileElements(l,n="file"){const r=["jpg","jpeg","png","gif","webp","bmp","svg"],o=[];return l.forEach((u,f)=>{const p=this.getFileExtension(u),y=zi(u),m=decodeURIComponent(u.split("/").pop()||u);r.includes(p)?o.push({type:"file-image",downloadUrl:y,key:`${n}-image-${f}`}):p==="pdf"?o.push({type:"file-pdf",downloadUrl:y,key:`${n}-pdf-${f}`}):o.push({type:"file-download",downloadUrl:y,filename:m,key:`${n}-download-${f}`})}),o},renderStructuredContent(l,n=!1){const r=[];if(!l)return r;const o=this.extractFileRefs(l);if(o.length>0&&r.push(...this.buildFileElements(o,"file")),l.data&&Array.isArray(l.data.result))l.data.result.forEach((u,f)=>{u.image_base64&&u.image_base64.trim()!==""&&r.push({type:"image",url:this.formatBase64Image(u.image_base64),key:`result-page-${f}`,label:u.page_num!==void 0?`Page ${u.page_num}`:`Result ${f}`}),u.seals&&Array.isArray(u.seals)&&u.seals.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&r.push({type:"image",url:this.formatBase64Image(p.image_base64),key:`result-seal-${f}-${y}`,label:`印章文字: ${p.value||y}`})})});else{const u=this.extractImageBase64Refs(l);u.length>0&&u.forEach((f,p)=>{r.push({type:"image",url:this.formatBase64Image(f),key:`base64-image-${p}`})})}if(n)return r;try{if(Array.isArray(l))l.forEach((u,f)=>{var p;u&&typeof u=="object"?u.type==="text"&&u.text?r.push({type:"markdown",content:Se(u.text),key:`text-${f}`}):u.type==="image_url"&&((p=u.image_url)!=null&&p.url)?r.push({type:"image",url:u.image_url.url,key:`image-${f}`}):u.image_base64&&u.image_base64.trim()!==""?r.push({type:"image",url:this.formatBase64Image(u.image_base64),key:`base64-image-${f}`}):r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(u,null,2)+"\n```"),key:`json-${f}`}):r.push({type:"markdown",content:Se(String(u)),key:`text-${f}`})});else if(typeof l=="string")r.push({type:"markdown",content:Se(l),key:"text-0"});else if(typeof l=="object")if(l.data&&Array.isArray(l.data.result)){const u=JSON.parse(JSON.stringify(l)),f=[];u.data&&u.data.result&&u.data.result.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&(f.push({type:"page",image_base64:p.image_base64,page_num:p.page_num,label:p.page_num!==void 0?`Page ${p.page_num}`:`Result ${y}`}),p.image_base64="[BASE64_IMAGE_DATA]"),p.seals&&Array.isArray(p.seals)&&p.seals.forEach((m,k)=>{m.image_base64&&m.image_base64.trim()!==""&&(f.push({type:"seal",image_base64:m.image_base64,page_num:p.page_num,seal_index:k,seal_value:m.value,label:`印章文字: ${m.value||k}`}),m.image_base64="[BASE64_IMAGE_DATA]")})}),r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(u,null,2)+"\n```"),key:"json-0"}),f.forEach((p,y)=>{r.push({type:"image",url:this.formatBase64Image(p.image_base64),key:`result-image-${y}`,label:p.label})})}else{const u=JSON.parse(JSON.stringify(l)),f=[];this.extractImagesFromObject(u,f),r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(u,null,2)+"\n```"),key:"json-0"}),f.forEach((p,y)=>{r.push({type:"image",url:this.formatBase64Image(p.value),key:`extracted-image-${y}`,label:p.label})})}else r.push({type:"markdown",content:Se(String(l)),key:"text-0"})}catch(u){console.error("Error rendering content:",u),r.push({type:"markdown",content:Se("Error rendering content"),key:"error-0"})}return r},formatBase64Image(l){return l?l.startsWith("data:image")?l:l.startsWith("/9j/")?`data:image/jpeg;base64,${l}`:l.startsWith("iVBOR")?`data:image/png;base64,${l}`:l.startsWith("R0lGOD")?`data:image/gif;base64,${l}`:`data:image/jpeg;base64,${l}`:""},handleImageClick(l){Bl({options:this.viewerOptions,images:[l]})}}};var ng=function(){var o,u,f,p,y,m,k,S,R,L,W,z;var n=this,r=n._self._c;return r("el-drawer",{attrs:{visible:n.localVisible,"with-header":!0,title:n.drawerTitle,size:"90%",direction:"rtl","before-close":n.handleClose},on:{"update:visible":function(D){n.localVisible=D}}},[n.currentTraceId?r("div",{directives:[{name:"loading",rawName:"v-loading",value:n.loading,expression:"loading"}],staticClass:"trace-detail-content",attrs:{"element-loading-text":"加载中..."}},[r("div",{staticClass:"trace-info-section"},[r("el-descriptions",{attrs:{column:3,border:""}},[r("el-descriptions-item",{attrs:{label:n.$t("trace.traceId")}},[n._v(n._s(n.traceInfo.trace_id))]),r("el-descriptions-item",{attrs:{label:n.$t("trace.status")}},[r("el-tag",{attrs:{type:n.getStatusType(n.traceInfo.status),size:"mini"}},[n._v(" "+n._s(n.getStatusLabel(n.traceInfo.status))+" ")])],1),r("el-descriptions-item",{attrs:{label:n.$t("trace.executionTime")}},[n._v(" "+n._s(n.formatNanoDuration(n.traceInfo.execution_time_ms))+" ")]),r("el-descriptions-item",{attrs:{label:n.$t("trace.timeCreated")}},[n._v(" "+n._s(n.formatTimestamp(n.traceInfo.timestamp_ms))+" ")]),r("el-descriptions-item",{attrs:{label:n.$t("trace.timeEnded")}},[n._v(" "+n._s(n.formatTimestamp(n.traceInfo.end_time_ms))+" ")]),r("el-descriptions-item",{attrs:{label:n.$t("trace.experimentName")}},[n._v(n._s(n.traceInfo.experiment_name))]),r("el-descriptions-item",{attrs:{label:n.$t("trace.traceType")}},[r("el-tag",{attrs:{size:"mini",type:"info"}},[n._v(n._s(n.getTraceSpanTypeLabel(n.traceInfo.trace_type)))])],1),r("el-descriptions-item",{attrs:{label:n.$t("trace.traceName"),span:2}},[n._v(" "+n._s(n.traceInfo.trace_name||"-")+" ")])],1)],1),r("el-divider"),r("el-row",{attrs:{gutter:20}},[r("el-col",{staticClass:"span-tree-col",attrs:{span:8}},[r("el-card",[r("div",{staticClass:"span-search-header",attrs:{slot:"header"},slot:"header"},[r("el-input",{staticClass:"span-search-input",attrs:{placeholder:n.$t("span.searchTree"),"prefix-icon":"el-icon-search",size:"small",clearable:""},on:{input:n.handleSpanSearch},model:{value:n.spanSearchQuery,callback:function(D){n.spanSearchQuery=D},expression:"spanSearchQuery"}}),r("el-select",{staticClass:"span-type-select",attrs:{value:n.spanTypeFilter,size:"small",clearable:"",placeholder:n.$t("trace.traceType")},on:{input:n.handleSpanTypeFilterChange}},n._l(n.traceSpanTypeList,function(D){return r("el-option",{key:D.value,attrs:{label:D.label,value:D.value}})}),1),r("el-checkbox",{attrs:{value:n.spanHasEvents===!0,size:"small"},on:{change:n.handleHasEventsChange}},[n._v(" "+n._s(n.$t("span.hasEvents"))+" ")])],1),r("TraceSpanTree",{attrs:{spans:n.filteredSpans,"selected-span-id":n.selectedSpanId,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.traceSpanTypeList},on:{"span-select":n.handleSpanSelect}}),n.spanHasNextPage?r("div",{staticClass:"span-load-more"},[r("el-button",{attrs:{type:"primary",size:"mini",loading:n.spanLoadMoreLoading},on:{click:function(D){return n.$emit("span-load-more")}}},[n._v(" 加载更多 ")]),r("el-select",{staticClass:"span-page-size-select",attrs:{value:n.spanPageSize,size:"mini"},on:{input:function(D){return n.$emit("update:span-page-size",D)}}},[r("el-option",{attrs:{label:1e3,value:1e3}}),r("el-option",{attrs:{label:2e3,value:2e3}}),r("el-option",{attrs:{label:5e3,value:5e3}}),r("el-option",{attrs:{label:1e4,value:1e4}})],1)],1):n._e()],1)],1),r("el-col",{staticClass:"span-detail-col",attrs:{span:16}},[r("el-card",[n.selectedSpan?r("div",{staticClass:"span-detail-content"},[r("el-tabs",{key:`tabs-${n.selectedSpanId}`,model:{value:n.activeTab,callback:function(D){n.activeTab=D},expression:"activeTab"}},[n.showIOTab?r("el-tab-pane",{attrs:{label:`${n.$t("trace.inputs")} / ${n.$t("trace.outputs")}`,name:"io"}},[r("div",{staticClass:"io-content"},[n.hasInputs?r("div",{staticClass:"io-section"},[r("el-collapse",{model:{value:n.activeCollapse,callback:function(D){n.activeCollapse=D},expression:"activeCollapse"}},[r("el-collapse-item",{attrs:{name:"inputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.inputs")))]),(o=n.selectedSpan.parsedContent)!=null&&o.request_preview||!((f=(u=n.selectedSpan.parsedContent)==null?void 0:u.inputs)!=null&&f.messages)?r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){var $;D.stopPropagation(),n.copyToClipboard(($=n.selectedSpan.parsedContent)!=null&&$.request_preview?n.selectedSpan.parsedContent.request_preview:n.formatRawJson(n.selectedSpan.parsedContent.inputs))}}})],1):n._e()],1),(p=n.selectedSpan.parsedContent)!=null&&p.request_preview?r("div",{staticClass:"structured-content preview-content"},[r("div",{staticClass:"content-element"},[r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(n.renderMarkdown(n.selectedSpan.parsedContent.request_preview))}})])]):n.clientInputsFileOnly?r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.inputs,!0),function(D){return r("div",{key:D.key,staticClass:"content-element"},[D.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(D.content)}}):D.type==="image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.url,alt:"content image"},on:{click:function($){return n.handleImageClick(D.url)}}})]):D.type==="file-image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.downloadUrl,alt:"content image"},on:{click:function($){return n.handleImageClick(D.downloadUrl)}}})]):D.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:D}})],1):D.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:D.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(D.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0):(m=(y=n.selectedSpan.parsedContent)==null?void 0:y.inputs)!=null&&m.messages?r("div",{staticClass:"messages-section"},n._l(n.selectedSpan.parsedContent.inputs.messages,function(D,$){return r("div",{key:$,staticClass:"message-item"},[r("el-collapse",{model:{value:n.messageCollapse,callback:function(I){n.messageCollapse=I},expression:"messageCollapse"}},[r("el-collapse-item",{attrs:{name:`message-${$}`}},[r("template",{slot:"title"},[r("i",{staticClass:"message-icon",class:n.getMessageIcon(D.role)}),r("span",{staticClass:"message-role"},[n._v(n._s(n.getMessageRoleLabel(D.role)))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(I){return I.stopPropagation(),n.copyMessageContent(D.content)}}})],1)],1),r("div",{staticClass:"message-content"},[r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(D.content),function(I){return r("div",{key:I.key,staticClass:"content-element"},[I.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(I.content)}}):I.type==="image"?r("div",{staticClass:"image-content"},[I.label?r("div",{staticClass:"image-label"},[n._v(n._s(I.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:I.url,alt:"content image"},on:{click:function(N){return n.handleImageClick(I.url)}}})]):I.type==="file-image"?r("div",{staticClass:"image-content"},[I.label?r("div",{staticClass:"image-label"},[n._v(n._s(I.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:I.downloadUrl,alt:"content image"},on:{click:function(N){return n.handleImageClick(I.downloadUrl)}}})]):I.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:I}})],1):I.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:I.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(I.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0)])],2)],1)],1)}),0):(k=n.selectedSpan.parsedContent)!=null&&k.inputs?r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.inputs),function(D){return r("div",{key:D.key,staticClass:"content-element"},[D.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(D.content)}}):D.type==="image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.url,alt:"content image"},on:{click:function($){return n.handleImageClick(D.url)}}})]):D.type==="file-image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.downloadUrl,alt:"content image"},on:{click:function($){return n.handleImageClick(D.downloadUrl)}}})]):D.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:D}})],1):D.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:D.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(D.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0):r("div",{staticClass:"empty-content"},[r("el-empty",{attrs:{description:n.$t("trace.noInputs"),"image-size":80}})],1)],2)],1)],1):n._e(),n.hasOutputs?r("div",{staticClass:"io-section"},[r("el-collapse",{model:{value:n.activeCollapse,callback:function(D){n.activeCollapse=D},expression:"activeCollapse"}},[r("el-collapse-item",{attrs:{name:"outputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.outputs")))]),(S=n.selectedSpan.parsedContent)!=null&&S.response_preview||!((L=(R=n.selectedSpan.parsedContent)==null?void 0:R.outputs)!=null&&L.choices)?r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){var $;D.stopPropagation(),n.copyToClipboard(($=n.selectedSpan.parsedContent)!=null&&$.response_preview?n.selectedSpan.parsedContent.response_preview:n.formatRawJson(n.selectedSpan.parsedContent.outputs))}}})],1):n._e()],1),((W=n.selectedSpan.parsedContent)==null?void 0:W.outputs)!==void 0?r("OutputViewer",{attrs:{value:n.selectedSpan.parsedContent.outputs,"preview-markdown":(z=n.selectedSpan.parsedContent)==null?void 0:z.response_preview,"file-only":n.clientOutputsFileOnly,"support-file-elements":!0,"show-raw-toggle":!1,"content-key":n.selectedSpanId},on:{copy:n.copyToClipboard}}):r("div",{staticClass:"empty-content"},[r("el-empty",{attrs:{description:n.$t("trace.noOutputs"),"image-size":80}})],1)],2)],1)],1):n._e(),!n.hasInputs&&!n.hasOutputs?r("div",{staticClass:"empty-io"},[r("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()])]):n._e(),r("el-tab-pane",{attrs:{label:n.$t("trace.attributes"),name:"attributes"}},[r("el-table",{staticClass:"attributes-table",attrs:{data:n.attributesData,border:"",stripe:""}},[r("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"250"},scopedSlots:n._u([{key:"default",fn:function(D){return[r("el-tooltip",{attrs:{content:D.row.key,placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[r("span",{staticClass:"attribute-key"},[n._v(n._s(D.row.key))])])]}}],null,!1,688878823)}),r("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(D){return[r("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[r("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(D.row.value))]),r("div",{staticClass:"attribute-value"},[n._v(n._s(D.row.value))])])]}}],null,!1,4281519148)})],1)],1),n.showIOTab?r("el-tab-pane",{attrs:{label:n.$t("trace.rawInputsOutputs"),name:"raw"}},[n.activeTab==="raw"?r("div",{staticClass:"raw-io-content"},[n.rawInputs?r("div",{staticClass:"raw-io-section"},[r("el-collapse",{model:{value:n.rawIoCollapse,callback:function(D){n.rawIoCollapse=D},expression:"rawIoCollapse"}},[r("el-collapse-item",{attrs:{name:"rawInputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.rawInputs")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){D.stopPropagation(),n.copyToClipboard(n.formatRawJson(n.rawInputs))}}})],1)],1),r("codemirror",{key:`raw-inputs-${n.selectedSpanId}-${n.rawInputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawInputs),options:n.cmOptions}})],2)],1)],1):n._e(),n.rawOutputs?r("div",{staticClass:"raw-io-section"},[r("el-collapse",{model:{value:n.rawIoCollapse,callback:function(D){n.rawIoCollapse=D},expression:"rawIoCollapse"}},[r("el-collapse-item",{attrs:{name:"rawOutputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.rawOutputs")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){D.stopPropagation(),n.copyToClipboard(n.formatRawJson(n.rawOutputs))}}})],1)],1),r("codemirror",{key:`raw-outputs-${n.selectedSpanId}-${n.rawOutputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawOutputs),options:n.cmOptions}})],2)],1)],1):n._e(),!n.rawInputs&&!n.rawOutputs?r("div",{staticClass:"empty-raw-io"},[r("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()]):n._e()]):n._e(),n.showDebugTab?r("el-tab-pane",{attrs:{label:"快速调试",name:"debug"}},[r("DebugTab",{directives:[{name:"show",rawName:"v-show",value:n.activeTab==="debug",expression:"activeTab === 'debug'"}],attrs:{"selected-span":n.selectedSpan,"selected-span-id":n.selectedSpanId}})],1):n._e(),n.hasEvents?r("el-tab-pane",{attrs:{label:n.$t("trace.events"),name:"events"}},[n.activeTab==="events"?r("div",{staticClass:"events-content"},[r("el-collapse",{model:{value:n.eventsCollapse,callback:function(D){n.eventsCollapse=D},expression:"eventsCollapse"}},n._l(n.spanEvents,function(D,$){return r("el-collapse-item",{key:`event-${$}`,attrs:{name:`event-${$}`}},[r("template",{slot:"title"},[r("div",{staticClass:"event-header"},[r("el-tag",{staticClass:"event-name-tag",attrs:{type:D.name==="exception"?"danger":"info",size:"mini"}},[n._v(" "+n._s(D.name)+" ")]),r("span",{staticClass:"event-time"},[n._v(n._s(n.formatEventTimestamp(D.timestamp)))])],1)]),r("div",{staticClass:"event-detail"},[D.name==="exception"?r("div",{staticClass:"exception-content"},[D.attributes["exception.type"]?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionType")))]),r("div",{staticClass:"field-value exception-type"},[n._v(n._s(D.attributes["exception.type"]))])]):n._e(),D.attributes["exception.message"]?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionMessage")))]),r("div",{staticClass:"field-value exception-message"},[n._v(n._s(D.attributes["exception.message"]))])]):n._e(),D.attributes["exception.stacktrace"]?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionStacktrace")))]),r("codemirror",{key:`stacktrace-${n.selectedSpanId}-${$}-${n.eventsKey}`,staticClass:"code-editor-wrapper stacktrace-editor",attrs:{value:D.attributes["exception.stacktrace"],options:n.cmOptionsJava}})],1):n._e(),n.getOtherEventAttributes(D).length>0?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.otherAttributes")))]),r("el-table",{attrs:{data:n.getOtherEventAttributes(D),border:"",stripe:"",size:"mini"}},[r("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"}}),r("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")}})],1)],1):n._e()]):r("div",{staticClass:"general-event-content"},[r("el-table",{attrs:{data:n.getEventAttributesData(D),border:"",stripe:"",size:"mini"}},[r("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"},scopedSlots:n._u([{key:"default",fn:function(I){return[r("el-tooltip",{attrs:{content:I.row.key,placement:"top","open-delay":500}},[r("span",{staticClass:"attribute-key"},[n._v(n._s(I.row.key))])])]}}],null,!0)}),r("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(I){return[r("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[r("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(I.row.value))]),r("div",{staticClass:"attribute-value"},[n._v(n._s(I.row.value))])])]}}],null,!0)})],1)],1)])],2)}),1),n.spanEvents.length===0?r("div",{staticClass:"empty-events"},[r("el-empty",{attrs:{description:n.$t("trace.noEvents")}})],1):n._e()],1):n._e()]):n._e()],1)],1):r("el-empty",{attrs:{description:n.$t("trace.selectSpan")}})],1)],1)],1)],1):n._e()])},rg=[],ig=vn(tg,ng,rg,!1,null,"c4c8862b");const ag={name:"Trace",components:{TraceDetailDrawer:ig.exports},data(){return{traceList:[],filteredTraceList:[],searchQuery:"",dateRange:null,selectedStatus:null,selectedTraceType:null,sortProp:"timestamp_ms",sortOrder:"descending",traceStatusList:[],traceSpanTypeList:[],experimentList:[],selectedExperimentId:null,loading:!1,deleteLoading:!1,exportLoading:!1,importLoading:!1,showColumnDialog:!1,selectedColumns:["trace_id","timestamp_ms","end_time_ms","status","execution_time_ms","trace_type","trace_name","experiment_name"],visibleColumns:{trace_id:!0,timestamp_ms:!0,end_time_ms:!0,status:!0,execution_time_ms:!0,trace_type:!0,trace_name:!0,experiment_name:!0},drawerVisible:!1,currentTraceId:null,traceInfo:{},spans:[],filteredSpans:[],spanSearchQuery:"",selectedSpanTypeFilter:null,spanHasEvents:null,selectedSpanId:null,selectedSpan:null,activeTab:"io",drawerLoading:!1,spanPageNum:1,spanPageSize:1e3,spanHasNextPage:!1,spanLoadMoreLoading:!1,messageCollapse:[],eventsCollapse:[],pageNum:1,pageSize:10,total:0,autoRefreshEnabled:!1,autoRefreshInterval:10,autoRefreshTimer:null,selectedRows:[],pickerOptions:{shortcuts:[{text:"近7天",onClick(l){const n=new Date,r=new Date;r.setTime(r.getTime()-3600*1e3*24*7),l.$emit("pick",[r,n])}},{text:"近30天",onClick(l){const n=new Date,r=new Date;r.setTime(r.getTime()-3600*1e3*24*30),l.$emit("pick",[r,n])}},{text:"7天前",onClick(l){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*7),n.setHours(23,59,59,999);const r=n.getTime();l.$emit("pick",[null,r])}},{text:"30天前",onClick(l){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*30),n.setHours(23,59,59,999);const r=n.getTime();l.$emit("pick",[null,r])}}]}}},computed:{},watch:{autoRefreshEnabled(l){l?this.startAutoRefresh():this.stopAutoRefresh()},spanHasEvents(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},spanPageSize(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},selectedSpanTypeFilter(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)}},mounted(){this.loadDictList(),this.loadExperiments(),this.loadTraceList()},beforeDestroy(){this.stopAutoRefresh()},methods:{async loadTraceList(){this.loading=!0;try{let l=null,n=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(l=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)),this.dateRange[1]!==null&&this.dateRange[1]!==void 0&&this.dateRange[1]!==""&&(n=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(n=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)));const r=this.sortProp&&this.sortOrder?this.sortOrder==="descending"?"-"+this.sortProp:this.sortProp:"",o=await kt.getTraceList(this.searchQuery,l,n,this.pageNum,this.pageSize,this.selectedExperimentId,this.selectedStatus,this.selectedTraceType,r),u=Array.isArray(o==null?void 0:o.list)?o.list:[];this.traceList=u,this.filteredTraceList=u,this.total=parseInt((o==null?void 0:o.total)||0,10)}catch(l){console.error("Failed to load trace list:",l),this.$message.error("加载 trace 列表失败"),this.traceList=[],this.filteredTraceList=[],this.total=0}finally{this.loading=!1}},refresh(){this.loadTraceList()},startAutoRefresh(){this.stopAutoRefresh();const l=this.autoRefreshInterval*1e3;this.autoRefreshTimer=setInterval(()=>{this.loadTraceList()},l)},stopAutoRefresh(){this.autoRefreshTimer&&(clearInterval(this.autoRefreshTimer),this.autoRefreshTimer=null)},handleAutoRefreshIntervalChange(){this.autoRefreshEnabled&&this.startAutoRefresh()},viewDetail(l){const n=l==null?void 0:l.trace_id;n&&(this.currentTraceId=n,this.traceInfo={...l},(l==null?void 0:l.status)==="WARN"&&(this.spanHasEvents=!0),this.drawerVisible=!0,this.loadTraceSpans(n))},async loadTraceSpans(l){var n,r,o;this.drawerLoading=!0,this.spanPageNum=1;try{const u=await kt.getTraceSpans(l,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),f=Array.isArray(u==null?void 0:u.list)?u.list:[];if(this.spans=f,this.filteredSpans=f,this.spanHasNextPage=(u==null?void 0:u.has_next_page)===!0,this.spans.length>0){this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]);const p=this.spans[0].type==="CLIENT"||this.spans[0].type==="EMBEDDING"||this.spans[0].type==="CHAT_MODEL",y=this.selectedSpan.has_events===!0,m=[];p&&m.push("io","raw"),m.push("attributes"),y&&m.push("events");let k="attributes";p&&(k="io"),m.includes(k)?this.activeTab=k:this.activeTab="attributes",(r=(n=this.selectedSpan.parsedContent)==null?void 0:n.inputs)!=null&&r.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((R,L)=>`message-${L}`):this.messageCollapse=[];const S=(o=this.selectedSpan.parsedContent)==null?void 0:o.events;S&&Array.isArray(S)&&S.length>0?this.eventsCollapse=S.map((R,L)=>`event-${L}`):this.eventsCollapse=[]}}catch(u){console.error("Failed to load trace spans:",u),this.$message.error("加载 span 列表失败"),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}finally{this.drawerLoading=!1}},async handleSpanSearch(l){if(this.spanSearchQuery=l,!!this.currentTraceId){this.spanPageNum=1;try{const n=await kt.getTraceSpans(this.currentTraceId,{query:l||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),r=Array.isArray(n==null?void 0:n.list)?n.list:[];this.spans=r,this.filteredSpans=r,this.spanHasNextPage=(n==null?void 0:n.has_next_page)===!0,this.spans.length>0&&!this.selectedSpanId&&(this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]))}catch(n){console.error("Failed to search spans:",n),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}}},async loadMoreSpans(){if(!(!this.currentTraceId||!this.spanHasNextPage||this.spanLoadMoreLoading)){this.spanLoadMoreLoading=!0;try{const l=this.spanPageNum+1,n=await kt.getTraceSpans(this.currentTraceId,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:l,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),r=Array.isArray(n==null?void 0:n.list)?n.list:[];this.spans=this.spans.concat(r),this.filteredSpans=this.spans,this.spanPageNum=l,this.spanHasNextPage=(n==null?void 0:n.has_next_page)===!0}catch(l){console.error("Failed to load more spans:",l)}finally{this.spanLoadMoreLoading=!1}}},async handleSpanSelect(l){var p,y,m;this.selectedSpanId=l.span_id,this.selectedSpan=l,await this.loadSpanContent(l);const n=l.type==="CLIENT"||l.type==="EMBEDDING"||l.type==="CHAT_MODEL",r=l.has_events===!0,o=[];n&&o.push("io","raw"),o.push("attributes"),r&&o.push("events");let u="attributes";n&&(u="io"),this.$nextTick(()=>{o.includes(u)?this.activeTab=u:this.activeTab="attributes"}),(y=(p=this.selectedSpan.parsedContent)==null?void 0:p.inputs)!=null&&y.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((k,S)=>`message-${S}`):this.messageCollapse=[];const f=(m=this.selectedSpan.parsedContent)==null?void 0:m.events;f&&Array.isArray(f)&&f.length>0?this.eventsCollapse=f.map((k,S)=>`event-${S}`):this.eventsCollapse=[]},async loadSpanContent(l){if(!(!this.currentTraceId||!l.span_id||l.parsedContent))try{const n=await kt.getSpanContent(this.currentTraceId,l.span_id);if(n){const r=this.parseContentData(n);this.$set(l,"parsedContent",r)}}catch(n){console.error("Failed to load span content:",n)}},parseContentData(l){const n={attributes:l.attributes||{},events:l.events||[],status:l.status||{}};if(l.inputs&&(n.inputs=l.inputs),l.outputs&&(n.outputs=l.outputs),l.request_preview!=null&&l.request_preview!==""&&(n.request_preview=l.request_preview),l.response_preview!=null&&l.response_preview!==""&&(n.response_preview=l.response_preview),n.attributes){const r=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(r)try{n.inputs=typeof r=="string"?JSON.parse(r):r}catch{try{const f=r.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(f)}catch{n.inputs=r}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const f=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(f)}catch{n.outputs=o}}}return n},handleDrawerClose(){this.currentTraceId=null,this.traceInfo={},this.spans=[],this.filteredSpans=[],this.selectedSpanId=null,this.selectedSpan=null,this.spanSearchQuery="",this.selectedSpanTypeFilter=null,this.spanHasEvents=null,this.spanPageNum=1,this.spanHasNextPage=!1,this.spanLoadMoreLoading=!1,this.eventsCollapse=[],this.drawerLoading=!1},async loadExperiments(){try{const l=await kt.getExperiments();this.experimentList=Array.isArray(l)?l:[]}catch(l){console.error("Failed to load experiments:",l),this.experimentList=[]}},handleExperimentChange(){this.pageNum=1,this.loadTraceList()},handleSearch(){this.pageNum=1,this.loadTraceList()},handleSearchClear(){this.searchQuery="",this.pageNum=1,this.loadTraceList()},handleDateRangeChange(l){this.pageNum=1,l&&Array.isArray(l)?l.length===2&&(l[0]===null||l[0]===void 0)?this.dateRange=[null,l[1]]:this.dateRange=l:this.dateRange=l,this.loadTraceList()},handleSizeChange(l){this.pageSize=l,this.pageNum=1,this.loadTraceList()},handleCurrentChange(l){this.pageNum=l,this.loadTraceList()},async handleBatchDelete(){var p,y;const l=this.searchQuery&&this.searchQuery.trim(),n=this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2&&this.dateRange[1]!==null||this.dateRange.length===1&&this.dateRange[0]!==null),r=this.selectedExperimentId,o=this.selectedStatus;let u="",f="warning";if(!l&&!n&&!r&&!o)u=this.$t("trace.deleteAllWarning"),f="error";else{if(u=this.$t("trace.deleteConfirmMessage")+`
|
|
79
|
+
`);const p=u.content.some(y=>y.type==="image_url");this.hasImageUrl=p}else typeof u.content=="string"?this.debugForm.userContent=u.content:this.debugForm.userContent="";else this.debugForm.userContent=""}else this.debugForm.systemContent="",this.debugForm.userContent="";this.debugResponse=null,this.debugResponseIsError=!1,this.promptTokensResult=null,this.$nextTick(()=>{this.$refs.systemContentEditor&&this.$refs.systemContentEditor.codemirror&&this.$refs.systemContentEditor.codemirror.setValue(this.debugForm.systemContent||""),this.$refs.userContentEditor&&this.$refs.userContentEditor.codemirror&&this.$refs.userContentEditor.codemirror.setValue(this.debugForm.userContent||"")})},addDebugParam(){this.debugForm.params.push({key:"",value:""})},removeDebugParam(l){this.debugForm.params.splice(l,1)},handleDebugParamChange(){},resetDebugForm(){this.initDebugForm()},parseParamValue(l){if(l==="true"||l==="false")return l==="true";if(l==="")return"";{const n=Number(l);return!isNaN(n)&&isFinite(n)?n:l}},buildRequestHeaders(l){const n={};let r=null;const o=Object.keys(l).find(u=>u.toLowerCase()==="x-target-url");return o?(r=l[o],delete l[o]):this.targetUrl&&(r=this.targetUrl),r&&(n["X-Target-Url"]=r),n},handleDebugResponse(l){console.log("debug response:",l),this.debugResponse=l.original_response?JSON.parse(l.original_response):l,this.responsePreview=l.response_preview,this.debugResponseIsError=!1,this.$nextTick(()=>{this.debugResponseKey++})},handleDebugError(l){if(console.error("Debug request failed:",l),l.response&&l.response.data!==void 0){const n=l.response.data;this.debugResponse=typeof n=="object"&&n!==null?n:{_raw:n},this.debugResponseIsError=!0,this.$nextTick(()=>{this.debugResponseKey++})}else l.response&&l.response.data===void 0&&(this.debugResponse={_status:l.response.status,_statusText:l.response.statusText},this.debugResponseIsError=!0,this.$nextTick(()=>{this.debugResponseKey++}))},async submitDebugRequest(l){const n=this.buildRequestHeaders(l),r=await kt.debugTrace(l,n);this.handleDebugResponse(r)},async submitDebugClient(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const l={};this.sendFile&&this.originalInputs&&Object.keys(this.originalInputs).forEach(n=>{n.startsWith("__file__")&&this.originalInputs[n]&&(l[n]=this.originalInputs[n])}),this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const r=n.value?n.value.trim():"";l[n.key]=this.parseParamValue(r)}}),await this.submitDebugRequest(l)}catch(l){this.handleDebugError(l)}finally{this.debugSubmitting=!1}}},async submitDebugChatModel(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const l=JSON.parse(JSON.stringify(this.originalInputs));if(this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const r=n.value?n.value.trim():"";l[n.key]=this.parseParamValue(r)}}),l.messages&&Array.isArray(l.messages)){const n=l.messages.find(o=>o.role==="system");n&&(n.content=this.debugForm.systemContent||"");const r=l.messages.find(o=>o.role==="user");if(r){const o=this.originalInputs.messages.find(f=>f.role==="user");if(o&&Array.isArray(o.content)){const f=[];this.submitImage&&Array.isArray(r.content)&&r.content.forEach(p=>{p.type==="image_url"&&f.push(p)}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&f.push({type:"text",text:this.debugForm.userContent}),r.content=f.length>0?f:this.debugForm.userContent||""}else r.content=this.debugForm.userContent||""}}await this.submitDebugRequest(l)}catch(l){this.handleDebugError(l)}finally{this.debugSubmitting=!1}}},async fetchTracingSetting(){try{const l=await kt.getSetting();this.tokenCounterEnabled=(l==null?void 0:l.token_counter_enabled)==="true"}catch{this.tokenCounterEnabled=!1}},async calculatePromptTokens(){if(!this.selectedSpan||this.selectedSpan.type!=="CHAT_MODEL")return;const l=[];if(this.debugForm.systemContent&&this.debugForm.systemContent.trim()&&l.push({role:"system",content:this.debugForm.systemContent.trim()}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&l.push({role:"user",content:this.debugForm.userContent.trim()}),l.length===0){this.$message.warning("请至少填写系统提示词或用户提示词");return}const n=this.debugForm.params.find(o=>o.key&&o.key.trim().toLowerCase()==="model"),r={messages:l};n&&n.value&&n.value.trim()&&(r.model=n.value.trim()),this.tokenCalculating=!0;try{const o=await kt.getPromptTokens(r);this.promptTokensResult=o}catch(o){console.error("Token calculation failed:",o);let u="未知错误";if(o.response&&o.response.data){const f=o.response.data;typeof f=="object"&&f!==null&&f.message?u=f.message:o.message&&(u=o.message)}else o.message&&(u=o.message);this.$message.error("Token计算失败: "+u)}finally{this.tokenCalculating=!1}}}};var Jp=function(){var n=this,r=n._self._c;return r("div",{staticClass:"debug-content"},[n.selectedSpan.type==="CLIENT"||n.selectedSpan.type==="EMBEDDING"?r("div",{staticClass:"debug-client-form"},[r("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[n._l(n.debugForm.params,function(o,u){return r("div",{key:u,staticClass:"debug-form-row"},[r("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${u+1}`}},[r("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[r("el-col",{attrs:{span:8}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:o.key,callback:function(f){n.$set(o,"key",f)},expression:"item.key"}})],1),r("el-col",{attrs:{span:14}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:o.value,callback:function(f){n.$set(o,"value",f)},expression:"item.value"}})],1),r("el-col",{attrs:{span:2}},[r("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(f){return n.removeDebugParam(u)}}})],1)],1)],1)],1)}),n.clientHasFileInput?r("el-form-item",[r("el-checkbox",{model:{value:n.sendFile,callback:function(o){n.sendFile=o},expression:"sendFile"}},[n._v(n._s(n.$t("debug.sendFile")))])],1):n._e(),r("el-form-item",[r("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),r("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),r("el-button",{attrs:{type:"success",icon:"el-icon-check",size:"small",loading:n.debugSubmitting},on:{click:n.submitDebugClient}},[n._v(n._s(n.$t("debug.submit")))])],1)],2),n.debugResponse!==null?r("div",{staticClass:"debug-response"},[r("OutputViewer",{attrs:{value:n.debugResponse,"show-raw-toggle":!0,"is-error-response":n.debugResponseIsError,"preview-markdown":n.responsePreview,"support-file-elements":!0,title:n.$t("debug.responseResult"),"content-key":`${n.selectedSpanId}-${n.debugResponseKey}`},on:{copy:n.handleOutputCopy}})],1):n._e()],1):n._e(),n.selectedSpan.type==="CHAT_MODEL"?r("div",{staticClass:"debug-chat-model-form"},[r("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[r("el-form-item",{scopedSlots:n._u([{key:"label",fn:function(){return[r("span",[n._v(n._s(n.$t("debug.systemPrompt")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(o){return n.copyContent("system")}}})],1)]},proxy:!0}],null,!1,671448622)},[r("codemirror",{key:`debug-system-${n.selectedSpanId}-${n.debugMarkdownKey}`,ref:"systemContentEditor",staticClass:"code-editor-wrapper markdown-editor",attrs:{options:n.cmOptionsMarkdown},model:{value:n.debugForm.systemContent,callback:function(o){n.$set(n.debugForm,"systemContent",o)},expression:"debugForm.systemContent"}})],1),r("el-form-item",{scopedSlots:n._u([{key:"label",fn:function(){return[r("span",[n._v(n._s(n.$t("debug.userPrompt")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(o){return n.copyContent("user")}}})],1)]},proxy:!0}],null,!1,1846549358)},[r("codemirror",{key:`debug-user-${n.selectedSpanId}-${n.debugMarkdownKey}`,ref:"userContentEditor",staticClass:"code-editor-wrapper markdown-editor",attrs:{options:n.cmOptionsMarkdown},model:{value:n.debugForm.userContent,callback:function(o){n.$set(n.debugForm,"userContent",o)},expression:"debugForm.userContent"}})],1),n.selectedSpan.type==="CHAT_MODEL"&&n.hasImageUrl?r("el-form-item",{attrs:{label:n.$t("debug.submitImage")}},[r("el-switch",{attrs:{"active-text":n.$t("debug.yes"),"inactive-text":n.$t("debug.no")},model:{value:n.submitImage,callback:function(o){n.submitImage=o},expression:"submitImage"}})],1):n._e(),n._l(n.debugForm.params,function(o,u){return r("div",{key:u,staticClass:"debug-form-row"},[r("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${u+1}`}},[r("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[r("el-col",{attrs:{span:8}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:o.key,callback:function(f){n.$set(o,"key",f)},expression:"item.key"}})],1),r("el-col",{attrs:{span:14}},[r("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:o.value,callback:function(f){n.$set(o,"value",f)},expression:"item.value"}})],1),r("el-col",{attrs:{span:2}},[r("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(f){return n.removeDebugParam(u)}}})],1)],1)],1)],1)}),r("el-form-item",[r("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),r("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),r("el-button",{attrs:{type:"success",icon:"el-icon-check",size:"small",loading:n.debugSubmitting},on:{click:n.submitDebugChatModel}},[n._v(n._s(n.$t("debug.submit")))]),n.tokenCounterEnabled?r("el-tooltip",{attrs:{content:n.$t("debug.calculateTokensTooltip"),placement:"top"}},[r("el-button",{attrs:{type:"info",icon:"el-icon-cpu",size:"small",loading:n.tokenCalculating},on:{click:n.calculatePromptTokens}},[n._v(n._s(n.$t("debug.calculateTokens")))])],1):n._e()],1)],2),n.promptTokensResult!==null?r("div",{staticClass:"token-result-section"},[r("div",{staticClass:"token-result-header"},[n._v(n._s(n.$t("debug.tokenResultTitle")))]),r("el-table",{attrs:{data:n.promptTokensTableData,size:"small",border:""}},[r("el-table-column",{attrs:{prop:"name",label:n.$t("debug.tokenType"),width:"140"}}),r("el-table-column",{attrs:{prop:"value",label:n.$t("debug.tokenCount")}})],1)],1):n._e(),n.debugResponse!==null?r("div",{staticClass:"debug-response"},[r("OutputViewer",{attrs:{value:n.debugResponse,"show-raw-toggle":!0,"is-error-response":n.debugResponseIsError,"support-file-elements":!0,title:n.$t("debug.responseResult"),"content-key":`${n.selectedSpanId}-${n.debugResponseKey}`},on:{copy:n.handleOutputCopy}})],1):n._e()],1):n._e()])},Qp=[],Zp=vn(Yp,Jp,Qp,!1,null,"8d08f36c");const eg=Zp.exports;Se.setOptions({breaks:!0});const tg={name:"TraceDetailDrawer",components:{TraceSpanTree:Va,DebugTab:eg,codemirror:za.codemirror,FilePdfViewer:Xa,OutputViewer:Hl},props:{visible:{type:Boolean,default:!1},currentTraceId:{type:String,default:null},traceInfo:{type:Object,default:()=>({})},spans:{type:Array,default:()=>[]},filteredSpans:{type:Array,default:()=>[]},selectedSpanId:{type:String,default:null},selectedSpan:{type:Object,default:null},loading:{type:Boolean,default:!1},spanHasNextPage:{type:Boolean,default:!1},spanLoadMoreLoading:{type:Boolean,default:!1},spanHasEvents:{type:[Boolean,Number],default:null},spanPageSize:{type:Number,default:100},traceStatusList:{type:Array,default:()=>[]},traceSpanTypeList:{type:Array,default:()=>[]},spanTypeFilter:{type:String,default:null}},data(){return{localVisible:this.visible,spanSearchQuery:"",activeTab:"io",activeCollapse:["inputs","outputs"],messageCollapse:[],rawIoCollapse:["rawInputs","rawOutputs"],rawInputsKey:0,rawOutputsKey:0,eventsCollapse:[],eventsKey:0,cmOptions:{tabSize:2,mode:{name:"javascript",json:!0},theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},cmOptionsJava:{tabSize:4,mode:"text/x-java",theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:4,styleActiveLine:!0,autoRefresh:!0},viewerOptions:{inline:!1,button:!0,navbar:!0,title:!0,toolbar:!0,tooltip:!0,movable:!0,zoomable:!0,rotatable:!0,scalable:!0,transition:!0,keyboard:!0,zIndex:9999}}},computed:{drawerTitle(){let l=this.traceInfo.trace_name;return l||(l=this.traceInfo.trace_id),l?this.$t("trace.traceDetail")+": "+l:this.$t("trace.traceDetail")},traceStartTime(){return this.spans.length===0?0:Math.min(...this.spans.map(l=>l.start_time_unix_nano))},traceEndTime(){return this.spans.length===0?0:Math.max(...this.spans.map(l=>l.end_time_unix_nano))},hasInputs(){var n,r,o,u;const l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.request_preview;return l!=null&&String(l).trim()!==""?!0:((u=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:u.inputs)!==void 0},hasOutputs(){var n,r,o,u;const l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.response_preview;return l!=null&&String(l).trim()!==""?!0:((u=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:u.outputs)!==void 0},showIOTab(){var k,S,R,L,W,z,D,$,I,N;if(!this.selectedSpan)return!1;const l=(S=(k=this.selectedSpan)==null?void 0:k.parsedContent)==null?void 0:S.request_preview,n=(L=(R=this.selectedSpan)==null?void 0:R.parsedContent)==null?void 0:L.response_preview,r=l!=null&&String(l).trim()!=="",o=n!=null&&String(n).trim()!=="";if(r||o)return!0;if(!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const f=(D=(z=(W=this.selectedSpan)==null?void 0:W.parsedContent)==null?void 0:z.attributes)==null?void 0:D["langsword.spanInputs"],p=(N=(I=($=this.selectedSpan)==null?void 0:$.parsedContent)==null?void 0:I.attributes)==null?void 0:N["langsword.spanOutputs"],y=f!=null&&f!=="",m=p!=null&&p!=="";return y||m},attributesData(){var n,r;if(!((r=(n=this.selectedSpan)==null?void 0:n.parsedContent)!=null&&r.attributes))return[];const l=["http.response.body.size","http.request.body.size","http.request.header.Content-Length","http.response.header.content-length","http.request.header.content-length","http.response.header.Content-Length"];return Object.entries(this.selectedSpan.parsedContent.attributes).filter(([o])=>!o.startsWith("langsword.span")).filter(([,o])=>!(o===0||o==="0"||o==null||o===""||typeof o=="string"&&o.trim()==="")).map(([o,u])=>{let f;return l.includes(o)?f=this.formatBytes(u):typeof u=="string"?f=u:f=JSON.stringify(u,null,2),{key:o,value:f}}).sort((o,u)=>o.key.localeCompare(u.key))},rawInputs(){var l,n,r;return(r=(n=(l=this.selectedSpan)==null?void 0:l.parsedContent)==null?void 0:n.attributes)==null?void 0:r["langsword.spanInputs"]},rawOutputs(){var l,n,r;return(r=(n=(l=this.selectedSpan)==null?void 0:l.parsedContent)==null?void 0:n.attributes)==null?void 0:r["langsword.spanOutputs"]},clientInputsFileOnly(){var n,r,o;if(((n=this.selectedSpan)==null?void 0:n.type)!=="CLIENT")return!1;const l=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.inputs;return l&&(this.extractFileRefs(l).length>0||this.extractImageBase64Refs(l).length>0)},clientOutputsFileOnly(){var n,r,o;if(((n=this.selectedSpan)==null?void 0:n.type)!=="CLIENT")return!1;const l=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.outputs;return l&&(this.extractFileRefs(l).length>0||this.extractImageBase64Refs(l).length>0)},hasEvents(){var n,r,o;if(((n=this.selectedSpan)==null?void 0:n.has_events)!==void 0)return!!this.selectedSpan.has_events;const l=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.events;return l&&Array.isArray(l)&&l.length>0},spanEvents(){var n,r;const l=(r=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:r.events;return!l||!Array.isArray(l)?[]:l},showDebugTab(){var o,u,f;if(!this.selectedSpan||!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const n=(f=(u=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:u.attributes)==null?void 0:f["langsword.spanInputs"];return n!=null&&n!==""}},watch:{visible(l){this.localVisible=l,l||(this.spanSearchQuery="")},localVisible(l){this.$emit("update:visible",l)},activeTab(l){l==="raw"&&this.$nextTick(()=>{this.rawInputsKey++,this.rawOutputsKey++}),l==="events"&&this.$nextTick(()=>{this.eventsKey++})},selectedSpan(){var o;if(!this.selectedSpan)return;const l=!!this.selectedSpan.has_events||((o=this.selectedSpan.parsedContent)==null?void 0:o.events)&&Array.isArray(this.selectedSpan.parsedContent.events)&&this.selectedSpan.parsedContent.events.length>0,n=[];this.showIOTab&&n.push("io","raw"),this.showDebugTab&&n.push("debug"),n.push("attributes"),l&&n.push("events");let r="attributes";this.showIOTab&&(r="io"),n.includes(r)?this.activeTab=r:this.activeTab="attributes",this.$nextTick(()=>{this.updateCollapseStates(),this.activeTab==="raw"&&(this.rawInputsKey++,this.rawOutputsKey++),this.activeTab==="events"&&this.eventsKey++})}},methods:{renderMarkdown(l){return l?Se(String(l)):""},copyToClipboard(l){Bi(l,this)},copyMessageContent(l){let n="";if(typeof l=="string")n=l;else if(Array.isArray(l)){const r=l.filter(o=>o&&o.type==="text"&&o.text).map(o=>o.text);n=r.length>0?r.join(`
|
|
80
|
+
`):this.formatRawJson(l)}else n=this.formatRawJson(l);this.copyToClipboard(n)},formatBytes(l){const n=typeof l=="number"?l:Number(l);if(!Number.isFinite(n))return typeof l=="string"?l:JSON.stringify(l,null,2);const r=n<0?"-":"";let o=Math.abs(n);const u=["B","K","M","G","T","P","E"];if(o<1024)return`${r}${Math.round(o)}B`;let f=0;for(;o>=1024&&f<u.length-1;)o/=1024,f++;return`${r}${o.toFixed(2)}${u[f]}`},handleClose(l){this.$emit("close"),l&&typeof l=="function"&&l()},handleSpanSearch(){this.$emit("span-search",this.spanSearchQuery)},handleSpanTypeFilterChange(l){this.$emit("update:span-type-filter",l)},handleHasEventsChange(l){this.$emit("update:span-has-events",l?1:null)},handleSpanSelect(l){this.$emit("span-select",l),this.$nextTick(()=>{this.updateCollapseStates()})},updateCollapseStates(){var r,o,u,f,p;this.activeCollapse=["inputs","outputs"],(u=(o=(r=this.selectedSpan)==null?void 0:r.parsedContent)==null?void 0:o.inputs)!=null&&u.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((y,m)=>`message-${m}`):this.messageCollapse=[],this.rawIoCollapse=["rawInputs","rawOutputs"];const l=(p=(f=this.selectedSpan)==null?void 0:f.parsedContent)==null?void 0:p.events;l&&Array.isArray(l)&&l.length>0?this.eventsCollapse=l.map((y,m)=>`event-${m}`):this.eventsCollapse=[]},parseContentData(l){const n={attributes:l.attributes||{},events:l.events||[],status:l.status||{}};if(l.inputs&&(n.inputs=l.inputs),l.outputs&&(n.outputs=l.outputs),l.request_preview!=null&&l.request_preview!==""&&(n.request_preview=l.request_preview),l.response_preview!=null&&l.response_preview!==""&&(n.response_preview=l.response_preview),n.attributes){const r=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(r)try{n.inputs=typeof r=="string"?JSON.parse(r):r}catch{try{const f=r.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(f)}catch{n.inputs=r}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const f=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(f)}catch{n.outputs=o}}}return n},getStatusType(l){if(!l)return"info";const n=l.toUpperCase();return n==="OK"||n==="SUCCESS"?"success":n==="ERROR"||n==="FAILED"?"danger":n==="WARNING"||n==="WARN"?"warning":"info"},getStatusLabel(l){if(!l)return"-";const n=this.traceStatusList.find(r=>r.value===l);return n?n.label:l},getTraceSpanTypeLabel(l){if(l==null||l==="")return"-";const n=this.traceSpanTypeList.find(r=>r.value===l);return n?n.label:l},formatNanoDuration(l){if(!l)return"-";const n=l/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`},formatTimestamp(l){if(!l)return"-";const n=typeof l=="string"?parseInt(l,10):l,r=new Date(n);return isNaN(r.getTime())?"-":r.toLocaleString("zh-CN")},formatEventTimestamp(l){if(!l)return"-";const n=l/1e6,r=new Date(n);return isNaN(r.getTime())?"-":r.toLocaleString("zh-CN")},getEventAttributesData(l){return!l||!l.attributes?[]:Object.entries(l.attributes).map(([n,r])=>({key:n,value:typeof r=="string"?r:JSON.stringify(r,null,2)}))},getOtherEventAttributes(l){if(!l||!l.attributes)return[];const n=["exception.type","exception.message","exception.stacktrace"];return Object.entries(l.attributes).filter(([r])=>!n.includes(r)).map(([r,o])=>({key:r,value:typeof o=="string"?o:JSON.stringify(o,null,2)}))},formatRawJson(l){if(!l)return"";if(typeof l=="string")try{const n=JSON.parse(l);return JSON.stringify(n,null,2)}catch{return l}return JSON.stringify(l,null,2)},getMessageIcon(l){return{user:"el-icon-user",assistant:"el-icon-service",system:"el-icon-setting"}[l]||"el-icon-document"},getMessageRoleLabel(l){const n={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return n[l]?this.$t(n[l]):l},extractImagesFromObject(l,n=[],r=""){if(!(!l||typeof l!="object")){for(const[o,u]of Object.entries(l)){const f=r?`${r}.${o}`:o;typeof u=="string"&&u.trim()!==""?(u.startsWith("data:image/")||u.startsWith("/9j/")||u.startsWith("iVBOR")||u.startsWith("R0lGOD"))&&(n.push({path:f,value:u,label:o==="content"&&r?`${r.split(".").pop()}: ${o}`:o}),l[o]="[IMAGE_DATA]"):u&&typeof u=="object"&&!Array.isArray(u)?this.extractImagesFromObject(u,n,f):Array.isArray(u)&&u.forEach((p,y)=>{p&&typeof p=="object"&&this.extractImagesFromObject(p,n,`${f}[${y}]`)})}return n}},extractFileRefs(l,n=[]){if(!l||typeof l!="object")return n;for(const[r,o]of Object.entries(l))r.startsWith("__file__")&&o!=null?Array.isArray(o)?o.forEach(u=>{u!=null&&typeof u=="string"&&u.trim()!==""&&n.push(u.trim())}):typeof o=="string"&&o.trim()!==""&&n.push(o.trim()):o&&typeof o=="object"&&!Array.isArray(o)?this.extractFileRefs(o,n):Array.isArray(o)&&o.forEach(u=>{u&&typeof u=="object"&&this.extractFileRefs(u,n)});return n},extractImageBase64Refs(l,n=[]){if(!l||typeof l!="object")return n;for(const[r,o]of Object.entries(l))r==="image_base64"&&o!=null&&typeof o=="string"&&o.trim()!==""?n.push(o.trim()):o&&typeof o=="object"&&!Array.isArray(o)?this.extractImageBase64Refs(o,n):Array.isArray(o)&&o.forEach(u=>{u&&typeof u=="object"&&this.extractImageBase64Refs(u,n)});return n},getFileExtension(l){if(!l||typeof l!="string")return"";const n=l.lastIndexOf(".");return n>=0?l.slice(n+1).toLowerCase():""},buildFileElements(l,n="file"){const r=["jpg","jpeg","png","gif","webp","bmp","svg"],o=[];return l.forEach((u,f)=>{const p=this.getFileExtension(u),y=zi(u),m=decodeURIComponent(u.split("/").pop()||u);r.includes(p)?o.push({type:"file-image",downloadUrl:y,key:`${n}-image-${f}`}):p==="pdf"?o.push({type:"file-pdf",downloadUrl:y,key:`${n}-pdf-${f}`}):o.push({type:"file-download",downloadUrl:y,filename:m,key:`${n}-download-${f}`})}),o},renderStructuredContent(l,n=!1){const r=[];if(!l)return r;const o=this.extractFileRefs(l);if(o.length>0&&r.push(...this.buildFileElements(o,"file")),l.data&&Array.isArray(l.data.result))l.data.result.forEach((u,f)=>{u.image_base64&&u.image_base64.trim()!==""&&r.push({type:"image",url:this.formatBase64Image(u.image_base64),key:`result-page-${f}`,label:u.page_num!==void 0?`Page ${u.page_num}`:`Result ${f}`}),u.seals&&Array.isArray(u.seals)&&u.seals.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&r.push({type:"image",url:this.formatBase64Image(p.image_base64),key:`result-seal-${f}-${y}`,label:`印章文字: ${p.value||y}`})})});else{const u=this.extractImageBase64Refs(l);u.length>0&&u.forEach((f,p)=>{r.push({type:"image",url:this.formatBase64Image(f),key:`base64-image-${p}`})})}if(n)return r;try{if(Array.isArray(l))l.forEach((u,f)=>{var p;u&&typeof u=="object"?u.type==="text"&&u.text?r.push({type:"markdown",content:Se(u.text),key:`text-${f}`}):u.type==="image_url"&&((p=u.image_url)!=null&&p.url)?r.push({type:"image",url:u.image_url.url,key:`image-${f}`}):u.image_base64&&u.image_base64.trim()!==""?r.push({type:"image",url:this.formatBase64Image(u.image_base64),key:`base64-image-${f}`}):r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(u,null,2)+"\n```"),key:`json-${f}`}):r.push({type:"markdown",content:Se(String(u)),key:`text-${f}`})});else if(typeof l=="string")r.push({type:"markdown",content:Se(l),key:"text-0"});else if(typeof l=="object")if(l.data&&Array.isArray(l.data.result)){const u=JSON.parse(JSON.stringify(l)),f=[];u.data&&u.data.result&&u.data.result.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&(f.push({type:"page",image_base64:p.image_base64,page_num:p.page_num,label:p.page_num!==void 0?`Page ${p.page_num}`:`Result ${y}`}),p.image_base64="[BASE64_IMAGE_DATA]"),p.seals&&Array.isArray(p.seals)&&p.seals.forEach((m,k)=>{m.image_base64&&m.image_base64.trim()!==""&&(f.push({type:"seal",image_base64:m.image_base64,page_num:p.page_num,seal_index:k,seal_value:m.value,label:`印章文字: ${m.value||k}`}),m.image_base64="[BASE64_IMAGE_DATA]")})}),r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(u,null,2)+"\n```"),key:"json-0"}),f.forEach((p,y)=>{r.push({type:"image",url:this.formatBase64Image(p.image_base64),key:`result-image-${y}`,label:p.label})})}else{const u=JSON.parse(JSON.stringify(l)),f=[];this.extractImagesFromObject(u,f),r.push({type:"markdown",content:Se("```json\n"+JSON.stringify(u,null,2)+"\n```"),key:"json-0"}),f.forEach((p,y)=>{r.push({type:"image",url:this.formatBase64Image(p.value),key:`extracted-image-${y}`,label:p.label})})}else r.push({type:"markdown",content:Se(String(l)),key:"text-0"})}catch(u){console.error("Error rendering content:",u),r.push({type:"markdown",content:Se("Error rendering content"),key:"error-0"})}return r},formatBase64Image(l){return l?l.startsWith("data:image")?l:l.startsWith("/9j/")?`data:image/jpeg;base64,${l}`:l.startsWith("iVBOR")?`data:image/png;base64,${l}`:l.startsWith("R0lGOD")?`data:image/gif;base64,${l}`:`data:image/jpeg;base64,${l}`:""},handleImageClick(l){Bl({options:this.viewerOptions,images:[l]})}}};var ng=function(){var o,u,f,p,y,m,k,S,R,L,W,z;var n=this,r=n._self._c;return r("el-drawer",{attrs:{visible:n.localVisible,"with-header":!0,title:n.drawerTitle,size:"90%",direction:"rtl","before-close":n.handleClose},on:{"update:visible":function(D){n.localVisible=D}}},[n.currentTraceId?r("div",{directives:[{name:"loading",rawName:"v-loading",value:n.loading,expression:"loading"}],staticClass:"trace-detail-content",attrs:{"element-loading-text":"加载中..."}},[r("div",{staticClass:"trace-info-section"},[r("el-descriptions",{attrs:{column:3,border:""}},[r("el-descriptions-item",{attrs:{label:n.$t("trace.traceId")}},[n._v(n._s(n.traceInfo.trace_id))]),r("el-descriptions-item",{attrs:{label:n.$t("trace.status")}},[r("el-tag",{attrs:{type:n.getStatusType(n.traceInfo.status),size:"mini"}},[n._v(" "+n._s(n.getStatusLabel(n.traceInfo.status))+" ")])],1),r("el-descriptions-item",{attrs:{label:n.$t("trace.executionTime")}},[n._v(" "+n._s(n.formatNanoDuration(n.traceInfo.execution_time_ms))+" ")]),r("el-descriptions-item",{attrs:{label:n.$t("trace.timeCreated")}},[n._v(" "+n._s(n.formatTimestamp(n.traceInfo.timestamp_ms))+" ")]),r("el-descriptions-item",{attrs:{label:n.$t("trace.timeEnded")}},[n._v(" "+n._s(n.formatTimestamp(n.traceInfo.end_time_ms))+" ")]),r("el-descriptions-item",{attrs:{label:n.$t("trace.experimentName")}},[n._v(n._s(n.traceInfo.experiment_name))]),r("el-descriptions-item",{attrs:{label:n.$t("trace.traceType")}},[r("el-tag",{attrs:{size:"mini",type:"info"}},[n._v(n._s(n.getTraceSpanTypeLabel(n.traceInfo.trace_type)))])],1),r("el-descriptions-item",{attrs:{label:n.$t("trace.traceName"),span:2}},[n._v(" "+n._s(n.traceInfo.trace_name||"-")+" ")])],1)],1),r("el-divider"),r("el-row",{attrs:{gutter:20}},[r("el-col",{staticClass:"span-tree-col",attrs:{span:8}},[r("el-card",[r("div",{staticClass:"span-search-header",attrs:{slot:"header"},slot:"header"},[r("el-input",{staticClass:"span-search-input",attrs:{placeholder:n.$t("span.searchTree"),"prefix-icon":"el-icon-search",size:"small",clearable:""},on:{input:n.handleSpanSearch},model:{value:n.spanSearchQuery,callback:function(D){n.spanSearchQuery=D},expression:"spanSearchQuery"}}),r("el-select",{staticClass:"span-type-select",attrs:{value:n.spanTypeFilter,size:"small",clearable:"",placeholder:n.$t("trace.traceType")},on:{input:n.handleSpanTypeFilterChange}},n._l(n.traceSpanTypeList,function(D){return r("el-option",{key:D.value,attrs:{label:D.label,value:D.value}})}),1),r("el-checkbox",{attrs:{value:n.spanHasEvents,size:"small"},on:{change:n.handleHasEventsChange}},[n._v(" "+n._s(n.$t("span.hasEvents"))+" ")])],1),r("TraceSpanTree",{attrs:{spans:n.filteredSpans,"selected-span-id":n.selectedSpanId,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime,"span-type-list":n.traceSpanTypeList},on:{"span-select":n.handleSpanSelect}}),n.spanHasNextPage?r("div",{staticClass:"span-load-more"},[r("el-button",{attrs:{type:"primary",size:"mini",loading:n.spanLoadMoreLoading},on:{click:function(D){return n.$emit("span-load-more")}}},[n._v(" 加载更多 ")]),r("el-select",{staticClass:"span-page-size-select",attrs:{value:n.spanPageSize,size:"mini"},on:{input:function(D){return n.$emit("update:span-page-size",D)}}},[r("el-option",{attrs:{label:1e3,value:1e3}}),r("el-option",{attrs:{label:2e3,value:2e3}}),r("el-option",{attrs:{label:5e3,value:5e3}}),r("el-option",{attrs:{label:1e4,value:1e4}})],1)],1):n._e()],1)],1),r("el-col",{staticClass:"span-detail-col",attrs:{span:16}},[r("el-card",[n.selectedSpan?r("div",{staticClass:"span-detail-content"},[r("el-tabs",{key:`tabs-${n.selectedSpanId}`,model:{value:n.activeTab,callback:function(D){n.activeTab=D},expression:"activeTab"}},[n.showIOTab?r("el-tab-pane",{attrs:{label:`${n.$t("trace.inputs")} / ${n.$t("trace.outputs")}`,name:"io"}},[r("div",{staticClass:"io-content"},[n.hasInputs?r("div",{staticClass:"io-section"},[r("el-collapse",{model:{value:n.activeCollapse,callback:function(D){n.activeCollapse=D},expression:"activeCollapse"}},[r("el-collapse-item",{attrs:{name:"inputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.inputs")))]),(o=n.selectedSpan.parsedContent)!=null&&o.request_preview||!((f=(u=n.selectedSpan.parsedContent)==null?void 0:u.inputs)!=null&&f.messages)?r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){var $;D.stopPropagation(),n.copyToClipboard(($=n.selectedSpan.parsedContent)!=null&&$.request_preview?n.selectedSpan.parsedContent.request_preview:n.formatRawJson(n.selectedSpan.parsedContent.inputs))}}})],1):n._e()],1),(p=n.selectedSpan.parsedContent)!=null&&p.request_preview?r("div",{staticClass:"structured-content preview-content"},[r("div",{staticClass:"content-element"},[r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(n.renderMarkdown(n.selectedSpan.parsedContent.request_preview))}})])]):n.clientInputsFileOnly?r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.inputs,!0),function(D){return r("div",{key:D.key,staticClass:"content-element"},[D.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(D.content)}}):D.type==="image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.url,alt:"content image"},on:{click:function($){return n.handleImageClick(D.url)}}})]):D.type==="file-image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.downloadUrl,alt:"content image"},on:{click:function($){return n.handleImageClick(D.downloadUrl)}}})]):D.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:D}})],1):D.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:D.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(D.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0):(m=(y=n.selectedSpan.parsedContent)==null?void 0:y.inputs)!=null&&m.messages?r("div",{staticClass:"messages-section"},n._l(n.selectedSpan.parsedContent.inputs.messages,function(D,$){return r("div",{key:$,staticClass:"message-item"},[r("el-collapse",{model:{value:n.messageCollapse,callback:function(I){n.messageCollapse=I},expression:"messageCollapse"}},[r("el-collapse-item",{attrs:{name:`message-${$}`}},[r("template",{slot:"title"},[r("i",{staticClass:"message-icon",class:n.getMessageIcon(D.role)}),r("span",{staticClass:"message-role"},[n._v(n._s(n.getMessageRoleLabel(D.role)))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(I){return I.stopPropagation(),n.copyMessageContent(D.content)}}})],1)],1),r("div",{staticClass:"message-content"},[r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(D.content),function(I){return r("div",{key:I.key,staticClass:"content-element"},[I.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(I.content)}}):I.type==="image"?r("div",{staticClass:"image-content"},[I.label?r("div",{staticClass:"image-label"},[n._v(n._s(I.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:I.url,alt:"content image"},on:{click:function(N){return n.handleImageClick(I.url)}}})]):I.type==="file-image"?r("div",{staticClass:"image-content"},[I.label?r("div",{staticClass:"image-label"},[n._v(n._s(I.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:I.downloadUrl,alt:"content image"},on:{click:function(N){return n.handleImageClick(I.downloadUrl)}}})]):I.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:I}})],1):I.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:I.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(I.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0)])],2)],1)],1)}),0):(k=n.selectedSpan.parsedContent)!=null&&k.inputs?r("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.inputs),function(D){return r("div",{key:D.key,staticClass:"content-element"},[D.type==="markdown"?r("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(D.content)}}):D.type==="image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.url,alt:"content image"},on:{click:function($){return n.handleImageClick(D.url)}}})]):D.type==="file-image"?r("div",{staticClass:"image-content"},[D.label?r("div",{staticClass:"image-label"},[n._v(n._s(D.label))]):n._e(),r("img",{staticClass:"content-image",attrs:{src:D.downloadUrl,alt:"content image"},on:{click:function($){return n.handleImageClick(D.downloadUrl)}}})]):D.type==="file-pdf"?r("div",[r("FilePdfViewer",{attrs:{element:D}})],1):D.type==="file-download"?r("div",{staticClass:"file-download-content"},[r("a",{staticClass:"file-download-link",attrs:{href:D.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[n._v(n._s(D.filename))]),r("span",{staticClass:"file-download-hint"},[n._v(n._s(n.$t("trace.clickToDownload")))])]):n._e()])}),0):r("div",{staticClass:"empty-content"},[r("el-empty",{attrs:{description:n.$t("trace.noInputs"),"image-size":80}})],1)],2)],1)],1):n._e(),n.hasOutputs?r("div",{staticClass:"io-section"},[r("el-collapse",{model:{value:n.activeCollapse,callback:function(D){n.activeCollapse=D},expression:"activeCollapse"}},[r("el-collapse-item",{attrs:{name:"outputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.outputs")))]),(S=n.selectedSpan.parsedContent)!=null&&S.response_preview||!((L=(R=n.selectedSpan.parsedContent)==null?void 0:R.outputs)!=null&&L.choices)?r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){var $;D.stopPropagation(),n.copyToClipboard(($=n.selectedSpan.parsedContent)!=null&&$.response_preview?n.selectedSpan.parsedContent.response_preview:n.formatRawJson(n.selectedSpan.parsedContent.outputs))}}})],1):n._e()],1),((W=n.selectedSpan.parsedContent)==null?void 0:W.outputs)!==void 0?r("OutputViewer",{attrs:{value:n.selectedSpan.parsedContent.outputs,"preview-markdown":(z=n.selectedSpan.parsedContent)==null?void 0:z.response_preview,"file-only":n.clientOutputsFileOnly,"support-file-elements":!0,"show-raw-toggle":!1,"content-key":n.selectedSpanId},on:{copy:n.copyToClipboard}}):r("div",{staticClass:"empty-content"},[r("el-empty",{attrs:{description:n.$t("trace.noOutputs"),"image-size":80}})],1)],2)],1)],1):n._e(),!n.hasInputs&&!n.hasOutputs?r("div",{staticClass:"empty-io"},[r("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()])]):n._e(),r("el-tab-pane",{attrs:{label:n.$t("trace.attributes"),name:"attributes"}},[r("el-table",{staticClass:"attributes-table",attrs:{data:n.attributesData,border:"",stripe:""}},[r("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"250"},scopedSlots:n._u([{key:"default",fn:function(D){return[r("el-tooltip",{attrs:{content:D.row.key,placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[r("span",{staticClass:"attribute-key"},[n._v(n._s(D.row.key))])])]}}],null,!1,688878823)}),r("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(D){return[r("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[r("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(D.row.value))]),r("div",{staticClass:"attribute-value"},[n._v(n._s(D.row.value))])])]}}],null,!1,4281519148)})],1)],1),n.showIOTab?r("el-tab-pane",{attrs:{label:n.$t("trace.rawInputsOutputs"),name:"raw"}},[n.activeTab==="raw"?r("div",{staticClass:"raw-io-content"},[n.rawInputs?r("div",{staticClass:"raw-io-section"},[r("el-collapse",{model:{value:n.rawIoCollapse,callback:function(D){n.rawIoCollapse=D},expression:"rawIoCollapse"}},[r("el-collapse-item",{attrs:{name:"rawInputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.rawInputs")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){D.stopPropagation(),n.copyToClipboard(n.formatRawJson(n.rawInputs))}}})],1)],1),r("codemirror",{key:`raw-inputs-${n.selectedSpanId}-${n.rawInputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawInputs),options:n.cmOptions}})],2)],1)],1):n._e(),n.rawOutputs?r("div",{staticClass:"raw-io-section"},[r("el-collapse",{model:{value:n.rawIoCollapse,callback:function(D){n.rawIoCollapse=D},expression:"rawIoCollapse"}},[r("el-collapse-item",{attrs:{name:"rawOutputs"}},[r("template",{slot:"title"},[r("span",{staticClass:"collapse-title-text"},[n._v(n._s(n.$t("trace.rawOutputs")))]),r("el-tooltip",{attrs:{content:n.$t("debug.copyTooltip"),placement:"top"}},[r("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(D){D.stopPropagation(),n.copyToClipboard(n.formatRawJson(n.rawOutputs))}}})],1)],1),r("codemirror",{key:`raw-outputs-${n.selectedSpanId}-${n.rawOutputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawOutputs),options:n.cmOptions}})],2)],1)],1):n._e(),!n.rawInputs&&!n.rawOutputs?r("div",{staticClass:"empty-raw-io"},[r("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()]):n._e()]):n._e(),n.showDebugTab?r("el-tab-pane",{attrs:{label:"快速调试",name:"debug"}},[r("DebugTab",{directives:[{name:"show",rawName:"v-show",value:n.activeTab==="debug",expression:"activeTab === 'debug'"}],attrs:{"selected-span":n.selectedSpan,"selected-span-id":n.selectedSpanId}})],1):n._e(),n.hasEvents?r("el-tab-pane",{attrs:{label:n.$t("trace.events"),name:"events"}},[n.activeTab==="events"?r("div",{staticClass:"events-content"},[r("el-collapse",{model:{value:n.eventsCollapse,callback:function(D){n.eventsCollapse=D},expression:"eventsCollapse"}},n._l(n.spanEvents,function(D,$){return r("el-collapse-item",{key:`event-${$}`,attrs:{name:`event-${$}`}},[r("template",{slot:"title"},[r("div",{staticClass:"event-header"},[r("el-tag",{staticClass:"event-name-tag",attrs:{type:D.name==="exception"?"danger":"info",size:"mini"}},[n._v(" "+n._s(D.name)+" ")]),r("span",{staticClass:"event-time"},[n._v(n._s(n.formatEventTimestamp(D.timestamp)))])],1)]),r("div",{staticClass:"event-detail"},[D.name==="exception"?r("div",{staticClass:"exception-content"},[D.attributes["exception.type"]?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionType")))]),r("div",{staticClass:"field-value exception-type"},[n._v(n._s(D.attributes["exception.type"]))])]):n._e(),D.attributes["exception.message"]?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionMessage")))]),r("div",{staticClass:"field-value exception-message"},[n._v(n._s(D.attributes["exception.message"]))])]):n._e(),D.attributes["exception.stacktrace"]?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionStacktrace")))]),r("codemirror",{key:`stacktrace-${n.selectedSpanId}-${$}-${n.eventsKey}`,staticClass:"code-editor-wrapper stacktrace-editor",attrs:{value:D.attributes["exception.stacktrace"],options:n.cmOptionsJava}})],1):n._e(),n.getOtherEventAttributes(D).length>0?r("div",{staticClass:"exception-field"},[r("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.otherAttributes")))]),r("el-table",{attrs:{data:n.getOtherEventAttributes(D),border:"",stripe:"",size:"mini"}},[r("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"}}),r("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")}})],1)],1):n._e()]):r("div",{staticClass:"general-event-content"},[r("el-table",{attrs:{data:n.getEventAttributesData(D),border:"",stripe:"",size:"mini"}},[r("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"},scopedSlots:n._u([{key:"default",fn:function(I){return[r("el-tooltip",{attrs:{content:I.row.key,placement:"top","open-delay":500}},[r("span",{staticClass:"attribute-key"},[n._v(n._s(I.row.key))])])]}}],null,!0)}),r("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(I){return[r("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[r("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(I.row.value))]),r("div",{staticClass:"attribute-value"},[n._v(n._s(I.row.value))])])]}}],null,!0)})],1)],1)])],2)}),1),n.spanEvents.length===0?r("div",{staticClass:"empty-events"},[r("el-empty",{attrs:{description:n.$t("trace.noEvents")}})],1):n._e()],1):n._e()]):n._e()],1)],1):r("el-empty",{attrs:{description:n.$t("trace.selectSpan")}})],1)],1)],1)],1):n._e()])},rg=[],ig=vn(tg,ng,rg,!1,null,"dacb29d6");const ag={name:"Trace",components:{TraceDetailDrawer:ig.exports},data(){return{traceList:[],filteredTraceList:[],searchQuery:"",dateRange:null,selectedStatus:null,selectedTraceType:null,sortProp:"timestamp_ms",sortOrder:"descending",traceStatusList:[],traceSpanTypeList:[],experimentList:[],selectedExperimentId:null,loading:!1,deleteLoading:!1,exportLoading:!1,importLoading:!1,showColumnDialog:!1,selectedColumns:["trace_id","timestamp_ms","end_time_ms","status","execution_time_ms","trace_type","trace_name","experiment_name"],visibleColumns:{trace_id:!0,timestamp_ms:!0,end_time_ms:!0,status:!0,execution_time_ms:!0,trace_type:!0,trace_name:!0,experiment_name:!0},drawerVisible:!1,currentTraceId:null,traceInfo:{},spans:[],filteredSpans:[],spanSearchQuery:"",selectedSpanTypeFilter:null,spanHasEvents:null,selectedSpanId:null,selectedSpan:null,activeTab:"io",drawerLoading:!1,spanPageNum:1,spanPageSize:1e3,spanHasNextPage:!1,spanLoadMoreLoading:!1,messageCollapse:[],eventsCollapse:[],pageNum:1,pageSize:10,total:0,autoRefreshEnabled:!1,autoRefreshInterval:10,autoRefreshTimer:null,selectedRows:[],pickerOptions:{shortcuts:[{text:"近7天",onClick(l){const n=new Date,r=new Date;r.setTime(r.getTime()-3600*1e3*24*7),l.$emit("pick",[r,n])}},{text:"近30天",onClick(l){const n=new Date,r=new Date;r.setTime(r.getTime()-3600*1e3*24*30),l.$emit("pick",[r,n])}},{text:"7天前",onClick(l){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*7),n.setHours(23,59,59,999);const r=n.getTime();l.$emit("pick",[null,r])}},{text:"30天前",onClick(l){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*30),n.setHours(23,59,59,999);const r=n.getTime();l.$emit("pick",[null,r])}}]}}},computed:{},watch:{autoRefreshEnabled(l){l?this.startAutoRefresh():this.stopAutoRefresh()},spanHasEvents(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},spanPageSize(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},selectedSpanTypeFilter(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)}},mounted(){this.loadDictList(),this.loadExperiments(),this.loadTraceList()},beforeDestroy(){this.stopAutoRefresh()},methods:{async loadTraceList(){this.loading=!0;try{let l=null,n=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(l=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)),this.dateRange[1]!==null&&this.dateRange[1]!==void 0&&this.dateRange[1]!==""&&(n=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(n=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)));const r=this.sortProp&&this.sortOrder?this.sortOrder==="descending"?"-"+this.sortProp:this.sortProp:"",o=await kt.getTraceList(this.searchQuery,l,n,this.pageNum,this.pageSize,this.selectedExperimentId,this.selectedStatus,this.selectedTraceType,r),u=Array.isArray(o==null?void 0:o.list)?o.list:[];this.traceList=u,this.filteredTraceList=u,this.total=parseInt((o==null?void 0:o.total)||0,10)}catch(l){console.error("Failed to load trace list:",l),this.$message.error("加载 trace 列表失败"),this.traceList=[],this.filteredTraceList=[],this.total=0}finally{this.loading=!1}},refresh(){this.loadTraceList()},startAutoRefresh(){this.stopAutoRefresh();const l=this.autoRefreshInterval*1e3;this.autoRefreshTimer=setInterval(()=>{this.loadTraceList()},l)},stopAutoRefresh(){this.autoRefreshTimer&&(clearInterval(this.autoRefreshTimer),this.autoRefreshTimer=null)},handleAutoRefreshIntervalChange(){this.autoRefreshEnabled&&this.startAutoRefresh()},viewDetail(l){const n=l==null?void 0:l.trace_id;n&&(this.currentTraceId=n,this.traceInfo={...l},(l==null?void 0:l.status)==="WARN"&&(this.spanHasEvents=1),this.drawerVisible=!0,this.loadTraceSpans(n))},async loadTraceSpans(l){var n,r,o;this.drawerLoading=!0,this.spanPageNum=1;try{const u=await kt.getTraceSpans(l,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),f=Array.isArray(u==null?void 0:u.list)?u.list:[];if(this.spans=f,this.filteredSpans=f,this.spanHasNextPage=(u==null?void 0:u.has_next_page)===!0,this.spans.length>0){this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]);const p=this.spans[0].type==="CLIENT"||this.spans[0].type==="EMBEDDING"||this.spans[0].type==="CHAT_MODEL",y=!!this.selectedSpan.has_events,m=[];p&&m.push("io","raw"),m.push("attributes"),y&&m.push("events");let k="attributes";p&&(k="io"),m.includes(k)?this.activeTab=k:this.activeTab="attributes",(r=(n=this.selectedSpan.parsedContent)==null?void 0:n.inputs)!=null&&r.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((R,L)=>`message-${L}`):this.messageCollapse=[];const S=(o=this.selectedSpan.parsedContent)==null?void 0:o.events;S&&Array.isArray(S)&&S.length>0?this.eventsCollapse=S.map((R,L)=>`event-${L}`):this.eventsCollapse=[]}}catch(u){console.error("Failed to load trace spans:",u),this.$message.error("加载 span 列表失败"),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}finally{this.drawerLoading=!1}},async handleSpanSearch(l){if(this.spanSearchQuery=l,!!this.currentTraceId){this.spanPageNum=1;try{const n=await kt.getTraceSpans(this.currentTraceId,{query:l||"",has_events:this.spanHasEvents,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),r=Array.isArray(n==null?void 0:n.list)?n.list:[];this.spans=r,this.filteredSpans=r,this.spanHasNextPage=(n==null?void 0:n.has_next_page)===!0,this.spans.length>0&&!this.selectedSpanId&&(this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]))}catch(n){console.error("Failed to search spans:",n),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}}},async loadMoreSpans(){if(!(!this.currentTraceId||!this.spanHasNextPage||this.spanLoadMoreLoading)){this.spanLoadMoreLoading=!0;try{const l=this.spanPageNum+1,n=await kt.getTraceSpans(this.currentTraceId,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents,page_num:l,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),r=Array.isArray(n==null?void 0:n.list)?n.list:[];this.spans=this.spans.concat(r),this.filteredSpans=this.spans,this.spanPageNum=l,this.spanHasNextPage=(n==null?void 0:n.has_next_page)===!0}catch(l){console.error("Failed to load more spans:",l)}finally{this.spanLoadMoreLoading=!1}}},async handleSpanSelect(l){var p,y,m;this.selectedSpanId=l.span_id,this.selectedSpan=l,await this.loadSpanContent(l);const n=l.type==="CLIENT"||l.type==="EMBEDDING"||l.type==="CHAT_MODEL",r=!!l.has_events,o=[];n&&o.push("io","raw"),o.push("attributes"),r&&o.push("events");let u="attributes";n&&(u="io"),this.$nextTick(()=>{o.includes(u)?this.activeTab=u:this.activeTab="attributes"}),(y=(p=this.selectedSpan.parsedContent)==null?void 0:p.inputs)!=null&&y.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((k,S)=>`message-${S}`):this.messageCollapse=[];const f=(m=this.selectedSpan.parsedContent)==null?void 0:m.events;f&&Array.isArray(f)&&f.length>0?this.eventsCollapse=f.map((k,S)=>`event-${S}`):this.eventsCollapse=[]},async loadSpanContent(l){if(!(!this.currentTraceId||!l.span_id||l.parsedContent))try{const n=await kt.getSpanContent(this.currentTraceId,l.span_id);if(n){const r=this.parseContentData(n);this.$set(l,"parsedContent",r)}}catch(n){console.error("Failed to load span content:",n)}},parseContentData(l){const n={attributes:l.attributes||{},events:l.events||[],status:l.status||{}};if(l.inputs&&(n.inputs=l.inputs),l.outputs&&(n.outputs=l.outputs),l.request_preview!=null&&l.request_preview!==""&&(n.request_preview=l.request_preview),l.response_preview!=null&&l.response_preview!==""&&(n.response_preview=l.response_preview),n.attributes){const r=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(r)try{n.inputs=typeof r=="string"?JSON.parse(r):r}catch{try{const f=r.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(f)}catch{n.inputs=r}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const f=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(f)}catch{n.outputs=o}}}return n},handleDrawerClose(){this.currentTraceId=null,this.traceInfo={},this.spans=[],this.filteredSpans=[],this.selectedSpanId=null,this.selectedSpan=null,this.spanSearchQuery="",this.selectedSpanTypeFilter=null,this.spanHasEvents=null,this.spanPageNum=1,this.spanHasNextPage=!1,this.spanLoadMoreLoading=!1,this.eventsCollapse=[],this.drawerLoading=!1},async loadExperiments(){try{const l=await kt.getExperiments();this.experimentList=Array.isArray(l)?l:[]}catch(l){console.error("Failed to load experiments:",l),this.experimentList=[]}},handleExperimentChange(){this.pageNum=1,this.loadTraceList()},handleSearch(){this.pageNum=1,this.loadTraceList()},handleSearchClear(){this.searchQuery="",this.pageNum=1,this.loadTraceList()},handleDateRangeChange(l){this.pageNum=1,l&&Array.isArray(l)?l.length===2&&(l[0]===null||l[0]===void 0)?this.dateRange=[null,l[1]]:this.dateRange=l:this.dateRange=l,this.loadTraceList()},handleSizeChange(l){this.pageSize=l,this.pageNum=1,this.loadTraceList()},handleCurrentChange(l){this.pageNum=l,this.loadTraceList()},async handleBatchDelete(){var p,y;const l=this.searchQuery&&this.searchQuery.trim(),n=this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2&&this.dateRange[1]!==null||this.dateRange.length===1&&this.dateRange[0]!==null),r=this.selectedExperimentId,o=this.selectedStatus;let u="",f="warning";if(!l&&!n&&!r&&!o)u=this.$t("trace.deleteAllWarning"),f="error";else{if(u=this.$t("trace.deleteConfirmMessage")+`
|
|
81
81
|
`,r){const m=this.experimentList.find(S=>S.experiment_id===this.selectedExperimentId),k=m?m.name:this.selectedExperimentId;u+=`${this.$t("trace.application")}: ${k}
|
|
82
82
|
`}if(l&&(u+=`${this.$t("trace.searchCondition")}: ${this.searchQuery}
|
|
83
83
|
`),o&&(u+=`${this.$t("trace.status")}: ${this.getStatusLabel(this.selectedStatus)}
|
|
84
84
|
`),n){const m=this.$i18n.locale==="zh-CN"?"zh-CN":"en-US";let k="";if(this.dateRange.length===2&&this.dateRange[1]!==null?k=new Date(this.dateRange[1]).toLocaleString(m):this.dateRange.length===1&&this.dateRange[0]!==null&&(k=new Date(this.dateRange[0]).toLocaleString(m)),this.dateRange.length===2&&this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""){const S=new Date(this.dateRange[0]).toLocaleString(m);u+=`${this.$t("trace.timeRange")}: ${S} ${this.$t("trace.to")} ${k}
|
|
85
85
|
`}else this.$i18n.locale==="zh-CN"?u+=`${this.$t("trace.timeRange")}: ${this.$t("trace.before")} ${k} 之前
|
|
86
86
|
`:u+=`${this.$t("trace.timeRange")}: ${this.$t("trace.before")} ${k}
|
|
87
|
-
`}u+=this.$t("trace.deleteConfirmFooter")}try{await this.$confirm(u,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:f,dangerouslyUseHTMLString:!1}),this.deleteLoading=!0;let m=null,k=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(m=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)),this.dateRange[1]!==null&&this.dateRange[1]!==void 0&&this.dateRange[1]!==""&&(k=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(k=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10))),await kt.deleteTraces(l?this.searchQuery:null,m,k,this.selectedExperimentId,this.selectedStatus),this.$message.success(this.$t("trace.deleteSuccess")),await this.loadTraceList()}catch(m){if(m!=="cancel"){console.error("Failed to delete traces:",m);const k=((y=(p=m.response)==null?void 0:p.data)==null?void 0:y.message)||m.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${k}`)}}finally{this.deleteLoading=!1}},async loadDictList(){try{const l=await kt.getDictList();this.traceSpanTypeList=Array.isArray(l==null?void 0:l.trace_span_type)?l.trace_span_type:[],this.traceStatusList=Array.isArray(l==null?void 0:l.trace_span_status)?l.trace_span_status:[]}catch(l){console.error("Failed to load dict list:",l),this.traceSpanTypeList=[],this.traceStatusList=[]}},getTraceSpanTypeLabel(l){if(l==null||l==="")return"-";const n=this.traceSpanTypeList.find(r=>r.value===l);return n?n.label:l},handleStatusChange(){this.pageNum=1,this.loadTraceList()},handleTraceTypeChange(){this.pageNum=1,this.loadTraceList()},handleSortChange({column:l,prop:n,order:r}){this.sortProp=r?n:null,this.sortOrder=r||null,this.pageNum=1,this.loadTraceList()},getStatusLabel(l){if(!l)return"-";const n=this.traceStatusList.find(r=>r.value===l);return n?n.label:l},getStatusType(l){return{OK:"success",ERROR:"danger",IN_PROGRESS:"warning",WARN:"warning",UNSET:"info"}[l]||"info"},formatDateTime(l){if(!l)return"-";const n=typeof l=="string"?parseInt(l,10):l;if(isNaN(n))return"-";const r=new Date(n);if(isNaN(r.getTime()))return"-";const o=r.getFullYear(),u=String(r.getMonth()+1).padStart(2,"0"),f=String(r.getDate()).padStart(2,"0"),p=String(r.getHours()).padStart(2,"0"),y=String(r.getMinutes()).padStart(2,"0"),m=String(r.getSeconds()).padStart(2,"0");return`${o}-${u}-${f} ${p}:${y}:${m}`},formatTimeAgo(l){if(!l)return"-";const n=typeof l=="string"?parseInt(l,10):l;if(isNaN(n))return"-";const o=Date.now()-n,u=this.$i18n.locale==="zh-CN",f=Math.floor(o/(1e3*60*60*24));if(f>0)return u?`${f} 天前`:`${f} days ago`;const p=Math.floor(o/(1e3*60*60));if(p>0)return u?`${p} 小时前`:`${p} hours ago`;const y=Math.floor(o/(1e3*60));return y>0?u?`${y} 分钟前`:`${y} minutes ago`:u?"刚刚":"Just now"},formatNanoDuration(l){if(!l)return"-";const n=l/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`},formatJson(l){return l?JSON.stringify(l,null,2):""},formatRawJson(l){if(!l)return"";if(typeof l=="string")try{const n=JSON.parse(l);return JSON.stringify(n,null,2)}catch{try{const r=l.replace(/\\"/g,'"').replace(/^"|"$/g,""),o=JSON.parse(r);return JSON.stringify(o,null,2)}catch{return l}}return JSON.stringify(l,null,2)},handleCodeMirrorReady(l){this.$nextTick(()=>{l&&l.refresh()})},formatMessageContent(l){return typeof l=="string"?l:JSON.stringify(l,null,2)},formatEventTime(l){if(l.time_unix_nano){const n=l.time_unix_nano/1e6;return new Date(n).toLocaleString("zh-CN")}return l.timestamp?new Date(l.timestamp).toLocaleString("zh-CN"):"-"},tableRowClassName({row:l,rowIndex:n}){return"trace-row"},getIndex(l){return(this.pageNum-1)*this.pageSize+l+1},handleSelectionChange(l){this.selectedRows=l||[]},async handleSingleDelete(l){var r,o;const n=l==null?void 0:l.trace_id;if(n)try{await this.$confirm(this.$t("trace.confirmRemoveOne"),this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await kt.removeTraces([n]),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId===n&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(u){if(u!=="cancel"){console.error("Failed to delete trace:",u);const f=((o=(r=u.response)==null?void 0:r.data)==null?void 0:o.message)||u.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${f}`)}}finally{this.deleteLoading=!1}},async handleDeleteSelected(){var o,u;if(this.selectedRows.length===0)return;const l=this.selectedRows.map(f=>f.trace_id).filter(Boolean);if(l.length===0)return;const n=l.length,r=this.$t("trace.confirmRemoveSelected").replace("{count}",String(n));try{await this.$confirm(r,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await kt.removeTraces(l),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId&&l.includes(this.currentTraceId)&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(f){if(f!=="cancel"){console.error("Failed to delete traces:",f);const p=((u=(o=f.response)==null?void 0:o.data)==null?void 0:u.message)||f.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${p}`)}}finally{this.deleteLoading=!1}},copyTraceIdToClipboard(l){l&&Bi(l,this)},clearSelection(){this.$nextTick(()=>{this.$refs.traceTable&&this.$refs.traceTable.clearSelection(),this.selectedRows=[]})},async handleSingleExport(l){var r,o;const n=l==null?void 0:l.trace_id;if(n)try{this.exportLoading=!0;const u=await kt.exportTraces([n]),f=u==null?void 0:u.storage_key;if(f){const p=zi(f);p&&window.open(p,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(u){const f=((o=(r=u.response)==null?void 0:r.data)==null?void 0:o.message)||u.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${f}`)}finally{this.exportLoading=!1}},async handleBatchExport(){var n,r;if(this.selectedRows.length===0)return;const l=this.selectedRows.map(o=>o.trace_id).filter(Boolean);if(l.length!==0)try{this.exportLoading=!0;const o=await kt.exportTraces(l),u=o==null?void 0:o.storage_key;if(u){const f=zi(u);f&&window.open(f,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(o){const u=((r=(n=o.response)==null?void 0:n.data)==null?void 0:r.message)||o.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${u}`)}finally{this.exportLoading=!1}},async handleImportFileChange(l){var r,o,u;const n=(r=l.target.files)==null?void 0:r[0];if(n)try{this.importLoading=!0,await kt.importTraces(n),this.$message.success(this.$t("trace.importSuccess")),await this.loadTraceList()}catch(f){const p=((u=(o=f.response)==null?void 0:o.data)==null?void 0:u.message)||f.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.importFailed")}: ${p}`)}finally{this.importLoading=!1,this.$refs.importFileInput&&(this.$refs.importFileInput.value="")}},applyColumns(){const l={};this.selectedColumns.forEach(n=>{l[n]=!0}),Object.keys(this.visibleColumns).forEach(n=>{this.selectedColumns.includes(n)||(l[n]=!1)}),this.visibleColumns=l,this.showColumnDialog=!1}}};var sg=function(){var n=this,r=n._self._c;return r("div",{staticClass:"trace-list-container"},[r("el-card",[r("div",{staticClass:"trace-content-wrapper"},[r("div",{staticClass:"trace-toolbar"},[r("el-select",{staticClass:"toolbar-select",attrs:{placeholder:n.$t("trace.selectApplication"),clearable:"",size:"mini"},on:{change:n.handleExperimentChange},model:{value:n.selectedExperimentId,callback:function(o){n.selectedExperimentId=o},expression:"selectedExperimentId"}},n._l(n.experimentList,function(o){return r("el-option",{key:o.experiment_id,attrs:{label:o.name,value:o.experiment_id}})}),1),r("el-input",{staticClass:"toolbar-input",attrs:{placeholder:n.$t("trace.searchPlaceholder"),"prefix-icon":"el-icon-search",clearable:"",size:"mini"},on:{clear:n.handleSearchClear,input:n.handleSearch},model:{value:n.searchQuery,callback:function(o){n.searchQuery=o},expression:"searchQuery"}}),r("el-select",{staticClass:"toolbar-select",attrs:{placeholder:n.$t("trace.status"),clearable:"",size:"mini"},on:{change:n.handleStatusChange},model:{value:n.selectedStatus,callback:function(o){n.selectedStatus=o},expression:"selectedStatus"}},n._l(n.traceStatusList,function(o){return r("el-option",{key:o.value,attrs:{label:o.label,value:o.value}})}),1),r("el-select",{staticClass:"toolbar-select",attrs:{placeholder:n.$t("trace.traceType"),clearable:"",size:"mini"},on:{change:n.handleTraceTypeChange},model:{value:n.selectedTraceType,callback:function(o){n.selectedTraceType=o},expression:"selectedTraceType"}},n._l(n.traceSpanTypeList,function(o){return r("el-option",{key:o.value,attrs:{label:o.label,value:o.value}})}),1),r("el-date-picker",{staticClass:"toolbar-date-picker",attrs:{type:"datetimerange","range-separator":n.$t("trace.to"),"start-placeholder":n.$t("trace.startTime"),"end-placeholder":n.$t("trace.endTime"),"value-format":"timestamp",format:"yyyy-MM-dd HH:mm:ss",size:"mini","picker-options":n.pickerOptions,clearable:""},on:{change:n.handleDateRangeChange},model:{value:n.dateRange,callback:function(o){n.dateRange=o},expression:"dateRange"}}),r("el-button",{attrs:{type:"primary",icon:"el-icon-download",size:"mini",disabled:n.exportLoading||n.selectedRows.length===0},on:{click:n.handleBatchExport}},[n._v(" "+n._s(n.$t("trace.exportBatch"))+" ("+n._s(n.selectedRows.length)+") ")]),r("el-button",{attrs:{size:"mini",icon:"el-icon-upload2",loading:n.importLoading},on:{click:function(o){n.$refs.importFileInput&&n.$refs.importFileInput.click()}}},[n._v(" "+n._s(n.$t("trace.importBatch"))+" ")]),r("input",{ref:"importFileInput",staticStyle:{display:"none"},attrs:{type:"file",accept:".gz"},on:{change:n.handleImportFileChange}}),r("el-button",{attrs:{type:"danger",icon:"el-icon-delete",size:"mini",disabled:n.deleteLoading||n.selectedRows.length===0},on:{click:n.handleDeleteSelected}},[n._v(" "+n._s(n.$t("trace.deleteSelected"))+" ("+n._s(n.selectedRows.length)+") ")]),r("el-checkbox",{staticClass:"toolbar-auto-refresh",attrs:{size:"mini"},model:{value:n.autoRefreshEnabled,callback:function(o){n.autoRefreshEnabled=o},expression:"autoRefreshEnabled"}},[n._v(" "+n._s(n.$t("trace.autoRefresh"))+" ")]),n.autoRefreshEnabled?r("el-select",{staticClass:"toolbar-interval-select",attrs:{size:"mini"},on:{change:n.handleAutoRefreshIntervalChange},model:{value:n.autoRefreshInterval,callback:function(o){n.autoRefreshInterval=o},expression:"autoRefreshInterval"}},[r("el-option",{attrs:{label:n.$t("trace.refreshInterval5s"),value:5}}),r("el-option",{attrs:{label:n.$t("trace.refreshInterval10s"),value:10}}),r("el-option",{attrs:{label:n.$t("trace.refreshInterval20s"),value:20}})],1):n._e(),r("el-tooltip",{attrs:{content:n.$t("common.refresh"),placement:"top"}},[r("el-button",{attrs:{icon:"el-icon-refresh",size:"mini",circle:""},on:{click:n.refresh}})],1),r("el-button",{attrs:{icon:"el-icon-setting",size:"mini"},on:{click:function(o){n.showColumnDialog=!0}}},[n._v(" "+n._s(n.$t("common.columns"))+" ")])],1),r("div",{staticClass:"trace-table-wrapper"},[r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:n.loading,expression:"loading"}],ref:"traceTable",staticStyle:{width:"100%"},attrs:{data:n.filteredTraceList,"default-sort":{prop:"timestamp_ms",order:"descending"},size:"mini",stripe:"","row-class-name":n.tableRowClassName},on:{"selection-change":n.handleSelectionChange,"sort-change":n.handleSortChange}},[r("el-table-column",{attrs:{type:"selection",width:"48","class-name":"selection-column"}}),r("el-table-column",{attrs:{type:"index",label:"#",width:"60",index:n.getIndex}}),n.visibleColumns.trace_id?r("el-table-column",{attrs:{prop:"trace_id",label:n.$t("trace.requestId"),width:"280"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-tooltip",{attrs:{placement:"top","popper-class":"trace-id-copy-tooltip"}},[r("template",{slot:"content"},[r("div",{staticClass:"trace-id-tooltip-content"},[r("span",{staticClass:"trace-id-tooltip-text"},[n._v(n._s(o.row.trace_id))]),r("el-button",{staticClass:"trace-id-copy-btn",attrs:{type:"text",size:"mini"},nativeOn:{click:function(u){return u.stopPropagation(),n.copyTraceIdToClipboard(o.row.trace_id)}}},[n._v(" "+n._s(n.$t("trace.copy"))+" ")])],1)]),r("el-link",{attrs:{type:"primary"},on:{click:function(u){return u.stopPropagation(),n.viewDetail(o.row)}}},[n._v(" "+n._s(o.row.trace_id)+" ")])],2)]}}],null,!1,2525458733)}):n._e(),n.visibleColumns.trace_name?r("el-table-column",{attrs:{prop:"trace_name",label:n.$t("trace.traceName"),"min-width":"300","show-overflow-tooltip":""},scopedSlots:n._u([{key:"default",fn:function(o){return[r("span",[n._v(n._s(o.row.trace_name||"-"))])]}}],null,!1,3633653970)}):n._e(),n.visibleColumns.experiment_name?r("el-table-column",{attrs:{prop:"experiment_name",label:n.$t("trace.experimentName"),width:"140","show-overflow-tooltip":""},scopedSlots:n._u([{key:"default",fn:function(o){return[r("span",[n._v(n._s(o.row.experiment_name||"-"))])]}}],null,!1,4093523474)}):n._e(),n.visibleColumns.trace_type?r("el-table-column",{attrs:{prop:"trace_type",label:n.$t("trace.traceType"),width:"120"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-tag",{attrs:{size:"mini",type:"info"}},[n._v(n._s(n.getTraceSpanTypeLabel(o.row.trace_type)))])]}}],null,!1,307785716)}):n._e(),n.visibleColumns.execution_time_ms?r("el-table-column",{attrs:{prop:"execution_time_ms",label:n.$t("trace.executionTime"),width:"120",sortable:"custom","sort-order":n.sortProp==="execution_time_ms"?n.sortOrder:null},scopedSlots:n._u([{key:"default",fn:function(o){return[n._v(" "+n._s(n.formatNanoDuration(o.row.execution_time_ms))+" ")]}}],null,!1,1733254102)}):n._e(),n.visibleColumns.status?r("el-table-column",{attrs:{prop:"status",label:n.$t("trace.status"),width:"100"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-tag",{attrs:{type:n.getStatusType(o.row.status),size:"mini"}},[o.row.status==="OK"?r("i",{staticClass:"el-icon-success"}):n._e(),n._v(" "+n._s(n.getStatusLabel(o.row.status))+" ")])]}}],null,!1,4220190539)}):n._e(),n.visibleColumns.timestamp_ms?r("el-table-column",{attrs:{prop:"timestamp_ms",label:n.$t("trace.timeCreated"),width:"180",sortable:"custom","sort-order":n.sortProp==="timestamp_ms"?n.sortOrder:null},scopedSlots:n._u([{key:"default",fn:function(o){return[n._v(" "+n._s(n.formatDateTime(o.row.timestamp_ms))+" ")]}}],null,!1,1082702673)}):n._e(),n.visibleColumns.end_time_ms?r("el-table-column",{attrs:{prop:"end_time_ms",label:n.$t("trace.timeEnded"),width:"180",sortable:"custom","sort-order":n.sortProp==="end_time_ms"?n.sortOrder:null},scopedSlots:n._u([{key:"default",fn:function(o){return[n._v(" "+n._s(n.formatDateTime(o.row.end_time_ms))+" ")]}}],null,!1,2066523034)}):n._e(),r("el-table-column",{attrs:{label:n.$t("common.operation"),width:"200",fixed:"right"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(u){return u.stopPropagation(),n.viewDetail(o.row)}}},[n._v(" "+n._s(n.$t("common.viewDetail"))+" ")]),r("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(u){return u.stopPropagation(),n.handleSingleExport(o.row)}}},[n._v(" "+n._s(n.$t("trace.exportSingle"))+" ")]),r("el-button",{staticClass:"operation-delete",attrs:{type:"text",size:"mini"},on:{click:function(u){return u.stopPropagation(),n.handleSingleDelete(o.row)}}},[n._v(" "+n._s(n.$t("trace.delete"))+" ")])]}}])})],1)],1),r("div",{staticClass:"trace-pagination-wrapper"},[n.total>0?r("el-pagination",{staticClass:"trace-pagination",attrs:{"current-page":n.pageNum,"page-sizes":[10,20,50,100],"page-size":n.pageSize,size:"mini",layout:"total, prev, pager, next, sizes, jumper",total:n.total,background:""},on:{"size-change":n.handleSizeChange,"current-change":n.handleCurrentChange}}):n._e()],1)])]),r("el-dialog",{attrs:{title:n.$t("trace.selectColumns"),visible:n.showColumnDialog,width:"400px"},on:{"update:visible":function(o){n.showColumnDialog=o}}},[r("el-checkbox-group",{model:{value:n.selectedColumns,callback:function(o){n.selectedColumns=o},expression:"selectedColumns"}},[r("el-checkbox",{attrs:{label:"trace_id"}},[n._v(n._s(n.$t("trace.requestId")))]),r("el-checkbox",{attrs:{label:"timestamp_ms"}},[n._v(n._s(n.$t("trace.timeCreated")))]),r("el-checkbox",{attrs:{label:"end_time_ms"}},[n._v(n._s(n.$t("trace.timeEnded")))]),r("el-checkbox",{attrs:{label:"status"}},[n._v(n._s(n.$t("trace.status")))]),r("el-checkbox",{attrs:{label:"execution_time_ms"}},[n._v(n._s(n.$t("trace.executionTime")))]),r("el-checkbox",{attrs:{label:"trace_type"}},[n._v(n._s(n.$t("trace.traceType")))]),r("el-checkbox",{attrs:{label:"trace_name"}},[n._v(n._s(n.$t("trace.traceName")))]),r("el-checkbox",{attrs:{label:"experiment_name"}},[n._v(n._s(n.$t("trace.experimentName")))])],1),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{size:"mini"},on:{click:function(o){n.showColumnDialog=!1}}},[n._v(n._s(n.$t("common.cancel")))]),r("el-button",{attrs:{size:"mini",type:"primary"},on:{click:n.applyColumns}},[n._v(n._s(n.$t("common.confirm")))])],1)],1),r("TraceDetailDrawer",{attrs:{visible:n.drawerVisible,"current-trace-id":n.currentTraceId,"trace-info":n.traceInfo,"trace-status-list":n.traceStatusList,"trace-span-type-list":n.traceSpanTypeList,spans:n.spans,"filtered-spans":n.filteredSpans,"selected-span-id":n.selectedSpanId,"selected-span":n.selectedSpan,loading:n.drawerLoading,"span-has-next-page":n.spanHasNextPage,"span-load-more-loading":n.spanLoadMoreLoading,"span-page-size":n.spanPageSize,"span-has-events":n.spanHasEvents,"span-type-filter":n.selectedSpanTypeFilter},on:{"update:visible":[function(o){n.drawerVisible=o},function(o){n.drawerVisible=o}],"update:spanPageSize":function(o){n.spanPageSize=o},"update:span-page-size":function(o){n.spanPageSize=o},"update:spanHasEvents":function(o){n.spanHasEvents=o},"update:span-has-events":function(o){n.spanHasEvents=o},"update:spanTypeFilter":function(o){n.selectedSpanTypeFilter=o},"update:span-type-filter":function(o){n.selectedSpanTypeFilter=o},close:n.handleDrawerClose,"span-search":n.handleSpanSearch,"span-select":n.handleSpanSelect,"span-load-more":n.loadMoreSpans}})],1)},og=[],lg=vn(ag,sg,og,!1,null,"63c9cc19");const ds=lg.exports,Gl={routes:[{path:"/trace",name:"trace",component:ds}],beforeEach:(l,n,r)=>{r()}},Kl={common:{home:"首页",todos:"待办事项",trace:"追踪",login:"登录",logout:"退出",user:"用户",search:"搜索",refresh:"刷新",columns:"列设置",confirm:"确定",cancel:"取消",operation:"操作",viewDetail:"查看详情",language:"语言"},span:{searchTree:"Span名称",hasEvents:"只显示有事件"},trace:{title:"追踪列表",searchPlaceholder:"追踪ID/追踪名称",requestId:"追踪ID",timeCreated:"创建时间",timeEnded:"结束时间",status:"状态",executionTime:"执行时长",traceType:"追踪类型",traceName:"追踪名称",traceDetail:"追踪详情",traceId:"追踪ID",clientRequestId:"客户端请求ID",experimentId:"应用ID",application:"应用",experimentName:"应用名称",selectApplication:"请选择应用",spanDetail:"Span 详情",inputs:"输入",outputs:"输出",attributes:"属性",rawInputsOutputs:"原始输入输出",rawInputs:"原始输入",rawOutputs:"原始输出",events:"事件",selectSpan:"请选择一个 Span 查看详情",noInputs:"暂无输入数据",noOutputs:"暂无输出数据",noIoData:"暂无输入输出数据",noEvents:"暂无事件数据",exceptionType:"异常类型",exceptionMessage:"异常消息",exceptionStacktrace:"异常堆栈",otherAttributes:"其他属性",key:"属性名",value:"属性值",selectColumns:"选择列",batchDelete:"批量删除",startTime:"开始时间",endTime:"结束时间",to:"至",confirmDelete:"确认删除",confirmDeleteButton:"确定删除",deleteAllWarning:`警告:您没有设置任何查询条件,这将删除所有 trace 数据!
|
|
87
|
+
`}u+=this.$t("trace.deleteConfirmFooter")}try{await this.$confirm(u,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:f,dangerouslyUseHTMLString:!1}),this.deleteLoading=!0;let m=null,k=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(m=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)),this.dateRange[1]!==null&&this.dateRange[1]!==void 0&&this.dateRange[1]!==""&&(k=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(k=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10))),await kt.deleteTraces(l?this.searchQuery:null,m,k,this.selectedExperimentId,this.selectedStatus),this.$message.success(this.$t("trace.deleteSuccess")),await this.loadTraceList()}catch(m){if(m!=="cancel"){console.error("Failed to delete traces:",m);const k=((y=(p=m.response)==null?void 0:p.data)==null?void 0:y.message)||m.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${k}`)}}finally{this.deleteLoading=!1}},async loadDictList(){try{const l=await kt.getDictList();this.traceSpanTypeList=Array.isArray(l==null?void 0:l.trace_span_type)?l.trace_span_type:[],this.traceStatusList=Array.isArray(l==null?void 0:l.trace_span_status)?l.trace_span_status:[]}catch(l){console.error("Failed to load dict list:",l),this.traceSpanTypeList=[],this.traceStatusList=[]}},getTraceSpanTypeLabel(l){if(l==null||l==="")return"-";const n=this.traceSpanTypeList.find(r=>r.value===l);return n?n.label:l},handleStatusChange(){this.pageNum=1,this.loadTraceList()},handleTraceTypeChange(){this.pageNum=1,this.loadTraceList()},handleSortChange({column:l,prop:n,order:r}){this.sortProp=r?n:null,this.sortOrder=r||null,this.pageNum=1,this.loadTraceList()},getStatusLabel(l){if(!l)return"-";const n=this.traceStatusList.find(r=>r.value===l);return n?n.label:l},getStatusType(l){return{OK:"success",ERROR:"danger",IN_PROGRESS:"warning",WARN:"warning",UNSET:"info"}[l]||"info"},formatDateTime(l){if(!l)return"-";const n=typeof l=="string"?parseInt(l,10):l;if(isNaN(n))return"-";const r=new Date(n);if(isNaN(r.getTime()))return"-";const o=r.getFullYear(),u=String(r.getMonth()+1).padStart(2,"0"),f=String(r.getDate()).padStart(2,"0"),p=String(r.getHours()).padStart(2,"0"),y=String(r.getMinutes()).padStart(2,"0"),m=String(r.getSeconds()).padStart(2,"0");return`${o}-${u}-${f} ${p}:${y}:${m}`},formatTimeAgo(l){if(!l)return"-";const n=typeof l=="string"?parseInt(l,10):l;if(isNaN(n))return"-";const o=Date.now()-n,u=this.$i18n.locale==="zh-CN",f=Math.floor(o/(1e3*60*60*24));if(f>0)return u?`${f} 天前`:`${f} days ago`;const p=Math.floor(o/(1e3*60*60));if(p>0)return u?`${p} 小时前`:`${p} hours ago`;const y=Math.floor(o/(1e3*60));return y>0?u?`${y} 分钟前`:`${y} minutes ago`:u?"刚刚":"Just now"},formatNanoDuration(l){if(!l)return"-";const n=l/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`},formatJson(l){return l?JSON.stringify(l,null,2):""},formatRawJson(l){if(!l)return"";if(typeof l=="string")try{const n=JSON.parse(l);return JSON.stringify(n,null,2)}catch{try{const r=l.replace(/\\"/g,'"').replace(/^"|"$/g,""),o=JSON.parse(r);return JSON.stringify(o,null,2)}catch{return l}}return JSON.stringify(l,null,2)},handleCodeMirrorReady(l){this.$nextTick(()=>{l&&l.refresh()})},formatMessageContent(l){return typeof l=="string"?l:JSON.stringify(l,null,2)},formatEventTime(l){if(l.time_unix_nano){const n=l.time_unix_nano/1e6;return new Date(n).toLocaleString("zh-CN")}return l.timestamp?new Date(l.timestamp).toLocaleString("zh-CN"):"-"},tableRowClassName({row:l,rowIndex:n}){return"trace-row"},getIndex(l){return(this.pageNum-1)*this.pageSize+l+1},handleSelectionChange(l){this.selectedRows=l||[]},async handleSingleDelete(l){var r,o;const n=l==null?void 0:l.trace_id;if(n)try{await this.$confirm(this.$t("trace.confirmRemoveOne"),this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await kt.removeTraces([n]),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId===n&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(u){if(u!=="cancel"){console.error("Failed to delete trace:",u);const f=((o=(r=u.response)==null?void 0:r.data)==null?void 0:o.message)||u.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${f}`)}}finally{this.deleteLoading=!1}},async handleDeleteSelected(){var o,u;if(this.selectedRows.length===0)return;const l=this.selectedRows.map(f=>f.trace_id).filter(Boolean);if(l.length===0)return;const n=l.length,r=this.$t("trace.confirmRemoveSelected").replace("{count}",String(n));try{await this.$confirm(r,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await kt.removeTraces(l),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId&&l.includes(this.currentTraceId)&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(f){if(f!=="cancel"){console.error("Failed to delete traces:",f);const p=((u=(o=f.response)==null?void 0:o.data)==null?void 0:u.message)||f.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${p}`)}}finally{this.deleteLoading=!1}},copyTraceIdToClipboard(l){l&&Bi(l,this)},clearSelection(){this.$nextTick(()=>{this.$refs.traceTable&&this.$refs.traceTable.clearSelection(),this.selectedRows=[]})},async handleSingleExport(l){var r,o;const n=l==null?void 0:l.trace_id;if(n)try{this.exportLoading=!0;const u=await kt.exportTraces([n]),f=u==null?void 0:u.storage_key;if(f){const p=zi(f);p&&window.open(p,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(u){const f=((o=(r=u.response)==null?void 0:r.data)==null?void 0:o.message)||u.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${f}`)}finally{this.exportLoading=!1}},async handleBatchExport(){var n,r;if(this.selectedRows.length===0)return;const l=this.selectedRows.map(o=>o.trace_id).filter(Boolean);if(l.length!==0)try{this.exportLoading=!0;const o=await kt.exportTraces(l),u=o==null?void 0:o.storage_key;if(u){const f=zi(u);f&&window.open(f,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(o){const u=((r=(n=o.response)==null?void 0:n.data)==null?void 0:r.message)||o.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${u}`)}finally{this.exportLoading=!1}},async handleImportFileChange(l){var r,o,u;const n=(r=l.target.files)==null?void 0:r[0];if(n)try{this.importLoading=!0,await kt.importTraces(n),this.$message.success(this.$t("trace.importSuccess")),await this.loadTraceList()}catch(f){const p=((u=(o=f.response)==null?void 0:o.data)==null?void 0:u.message)||f.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.importFailed")}: ${p}`)}finally{this.importLoading=!1,this.$refs.importFileInput&&(this.$refs.importFileInput.value="")}},applyColumns(){const l={};this.selectedColumns.forEach(n=>{l[n]=!0}),Object.keys(this.visibleColumns).forEach(n=>{this.selectedColumns.includes(n)||(l[n]=!1)}),this.visibleColumns=l,this.showColumnDialog=!1}}};var sg=function(){var n=this,r=n._self._c;return r("div",{staticClass:"trace-list-container"},[r("el-card",[r("div",{staticClass:"trace-content-wrapper"},[r("div",{staticClass:"trace-toolbar"},[r("el-select",{staticClass:"toolbar-select",attrs:{placeholder:n.$t("trace.selectApplication"),clearable:"",size:"mini"},on:{change:n.handleExperimentChange},model:{value:n.selectedExperimentId,callback:function(o){n.selectedExperimentId=o},expression:"selectedExperimentId"}},n._l(n.experimentList,function(o){return r("el-option",{key:o.experiment_id,attrs:{label:o.name,value:o.experiment_id}})}),1),r("el-input",{staticClass:"toolbar-input",attrs:{placeholder:n.$t("trace.searchPlaceholder"),"prefix-icon":"el-icon-search",clearable:"",size:"mini"},on:{clear:n.handleSearchClear,input:n.handleSearch},model:{value:n.searchQuery,callback:function(o){n.searchQuery=o},expression:"searchQuery"}}),r("el-select",{staticClass:"toolbar-select",attrs:{placeholder:n.$t("trace.status"),clearable:"",size:"mini"},on:{change:n.handleStatusChange},model:{value:n.selectedStatus,callback:function(o){n.selectedStatus=o},expression:"selectedStatus"}},n._l(n.traceStatusList,function(o){return r("el-option",{key:o.value,attrs:{label:o.label,value:o.value}})}),1),r("el-select",{staticClass:"toolbar-select",attrs:{placeholder:n.$t("trace.traceType"),clearable:"",size:"mini"},on:{change:n.handleTraceTypeChange},model:{value:n.selectedTraceType,callback:function(o){n.selectedTraceType=o},expression:"selectedTraceType"}},n._l(n.traceSpanTypeList,function(o){return r("el-option",{key:o.value,attrs:{label:o.label,value:o.value}})}),1),r("el-date-picker",{staticClass:"toolbar-date-picker",attrs:{type:"datetimerange","range-separator":n.$t("trace.to"),"start-placeholder":n.$t("trace.startTime"),"end-placeholder":n.$t("trace.endTime"),"value-format":"timestamp",format:"yyyy-MM-dd HH:mm:ss",size:"mini","picker-options":n.pickerOptions,clearable:""},on:{change:n.handleDateRangeChange},model:{value:n.dateRange,callback:function(o){n.dateRange=o},expression:"dateRange"}}),r("el-button",{attrs:{type:"primary",icon:"el-icon-download",size:"mini",disabled:n.exportLoading||n.selectedRows.length===0},on:{click:n.handleBatchExport}},[n._v(" "+n._s(n.$t("trace.exportBatch"))+" ("+n._s(n.selectedRows.length)+") ")]),r("el-button",{attrs:{size:"mini",icon:"el-icon-upload2",loading:n.importLoading},on:{click:function(o){n.$refs.importFileInput&&n.$refs.importFileInput.click()}}},[n._v(" "+n._s(n.$t("trace.importBatch"))+" ")]),r("input",{ref:"importFileInput",staticStyle:{display:"none"},attrs:{type:"file",accept:".gz"},on:{change:n.handleImportFileChange}}),r("el-button",{attrs:{type:"danger",icon:"el-icon-delete",size:"mini",disabled:n.deleteLoading||n.selectedRows.length===0},on:{click:n.handleDeleteSelected}},[n._v(" "+n._s(n.$t("trace.deleteSelected"))+" ("+n._s(n.selectedRows.length)+") ")]),r("el-checkbox",{staticClass:"toolbar-auto-refresh",attrs:{size:"mini"},model:{value:n.autoRefreshEnabled,callback:function(o){n.autoRefreshEnabled=o},expression:"autoRefreshEnabled"}},[n._v(" "+n._s(n.$t("trace.autoRefresh"))+" ")]),n.autoRefreshEnabled?r("el-select",{staticClass:"toolbar-interval-select",attrs:{size:"mini"},on:{change:n.handleAutoRefreshIntervalChange},model:{value:n.autoRefreshInterval,callback:function(o){n.autoRefreshInterval=o},expression:"autoRefreshInterval"}},[r("el-option",{attrs:{label:n.$t("trace.refreshInterval5s"),value:5}}),r("el-option",{attrs:{label:n.$t("trace.refreshInterval10s"),value:10}}),r("el-option",{attrs:{label:n.$t("trace.refreshInterval20s"),value:20}})],1):n._e(),r("el-tooltip",{attrs:{content:n.$t("common.refresh"),placement:"top"}},[r("el-button",{attrs:{icon:"el-icon-refresh",size:"mini",circle:""},on:{click:n.refresh}})],1),r("el-button",{attrs:{icon:"el-icon-setting",size:"mini"},on:{click:function(o){n.showColumnDialog=!0}}},[n._v(" "+n._s(n.$t("common.columns"))+" ")])],1),r("div",{staticClass:"trace-table-wrapper"},[r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:n.loading,expression:"loading"}],ref:"traceTable",staticStyle:{width:"100%"},attrs:{data:n.filteredTraceList,"default-sort":{prop:"timestamp_ms",order:"descending"},size:"mini",stripe:"","row-class-name":n.tableRowClassName},on:{"selection-change":n.handleSelectionChange,"sort-change":n.handleSortChange}},[r("el-table-column",{attrs:{type:"selection",width:"48","class-name":"selection-column"}}),r("el-table-column",{attrs:{type:"index",label:"#",width:"60",index:n.getIndex}}),n.visibleColumns.trace_id?r("el-table-column",{attrs:{prop:"trace_id",label:n.$t("trace.requestId"),width:"280"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-tooltip",{attrs:{placement:"top","popper-class":"trace-id-copy-tooltip"}},[r("template",{slot:"content"},[r("div",{staticClass:"trace-id-tooltip-content"},[r("span",{staticClass:"trace-id-tooltip-text"},[n._v(n._s(o.row.trace_id))]),r("el-button",{staticClass:"trace-id-copy-btn",attrs:{type:"text",size:"mini"},nativeOn:{click:function(u){return u.stopPropagation(),n.copyTraceIdToClipboard(o.row.trace_id)}}},[n._v(" "+n._s(n.$t("trace.copy"))+" ")])],1)]),r("el-link",{attrs:{type:"primary"},on:{click:function(u){return u.stopPropagation(),n.viewDetail(o.row)}}},[n._v(" "+n._s(o.row.trace_id)+" ")])],2)]}}],null,!1,2525458733)}):n._e(),n.visibleColumns.trace_name?r("el-table-column",{attrs:{prop:"trace_name",label:n.$t("trace.traceName"),"min-width":"300","show-overflow-tooltip":""},scopedSlots:n._u([{key:"default",fn:function(o){return[r("span",[n._v(n._s(o.row.trace_name||"-"))])]}}],null,!1,3633653970)}):n._e(),n.visibleColumns.experiment_name?r("el-table-column",{attrs:{prop:"experiment_name",label:n.$t("trace.experimentName"),width:"140","show-overflow-tooltip":""},scopedSlots:n._u([{key:"default",fn:function(o){return[r("span",[n._v(n._s(o.row.experiment_name||"-"))])]}}],null,!1,4093523474)}):n._e(),n.visibleColumns.trace_type?r("el-table-column",{attrs:{prop:"trace_type",label:n.$t("trace.traceType"),width:"120"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-tag",{attrs:{size:"mini",type:"info"}},[n._v(n._s(n.getTraceSpanTypeLabel(o.row.trace_type)))])]}}],null,!1,307785716)}):n._e(),n.visibleColumns.execution_time_ms?r("el-table-column",{attrs:{prop:"execution_time_ms",label:n.$t("trace.executionTime"),width:"120",sortable:"custom","sort-order":n.sortProp==="execution_time_ms"?n.sortOrder:null},scopedSlots:n._u([{key:"default",fn:function(o){return[n._v(" "+n._s(n.formatNanoDuration(o.row.execution_time_ms))+" ")]}}],null,!1,1733254102)}):n._e(),n.visibleColumns.status?r("el-table-column",{attrs:{prop:"status",label:n.$t("trace.status"),width:"100"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-tag",{attrs:{type:n.getStatusType(o.row.status),size:"mini"}},[o.row.status==="OK"?r("i",{staticClass:"el-icon-success"}):n._e(),n._v(" "+n._s(n.getStatusLabel(o.row.status))+" ")])]}}],null,!1,4220190539)}):n._e(),n.visibleColumns.timestamp_ms?r("el-table-column",{attrs:{prop:"timestamp_ms",label:n.$t("trace.timeCreated"),width:"180",sortable:"custom","sort-order":n.sortProp==="timestamp_ms"?n.sortOrder:null},scopedSlots:n._u([{key:"default",fn:function(o){return[n._v(" "+n._s(n.formatDateTime(o.row.timestamp_ms))+" ")]}}],null,!1,1082702673)}):n._e(),n.visibleColumns.end_time_ms?r("el-table-column",{attrs:{prop:"end_time_ms",label:n.$t("trace.timeEnded"),width:"180",sortable:"custom","sort-order":n.sortProp==="end_time_ms"?n.sortOrder:null},scopedSlots:n._u([{key:"default",fn:function(o){return[n._v(" "+n._s(n.formatDateTime(o.row.end_time_ms))+" ")]}}],null,!1,2066523034)}):n._e(),r("el-table-column",{attrs:{label:n.$t("common.operation"),width:"200",fixed:"right"},scopedSlots:n._u([{key:"default",fn:function(o){return[r("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(u){return u.stopPropagation(),n.viewDetail(o.row)}}},[n._v(" "+n._s(n.$t("common.viewDetail"))+" ")]),r("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(u){return u.stopPropagation(),n.handleSingleExport(o.row)}}},[n._v(" "+n._s(n.$t("trace.exportSingle"))+" ")]),r("el-button",{staticClass:"operation-delete",attrs:{type:"text",size:"mini"},on:{click:function(u){return u.stopPropagation(),n.handleSingleDelete(o.row)}}},[n._v(" "+n._s(n.$t("trace.delete"))+" ")])]}}])})],1)],1),r("div",{staticClass:"trace-pagination-wrapper"},[n.total>0?r("el-pagination",{staticClass:"trace-pagination",attrs:{"current-page":n.pageNum,"page-sizes":[10,20,50,100],"page-size":n.pageSize,size:"mini",layout:"total, prev, pager, next, sizes, jumper",total:n.total,background:""},on:{"size-change":n.handleSizeChange,"current-change":n.handleCurrentChange}}):n._e()],1)])]),r("el-dialog",{attrs:{title:n.$t("trace.selectColumns"),visible:n.showColumnDialog,width:"400px"},on:{"update:visible":function(o){n.showColumnDialog=o}}},[r("el-checkbox-group",{model:{value:n.selectedColumns,callback:function(o){n.selectedColumns=o},expression:"selectedColumns"}},[r("el-checkbox",{attrs:{label:"trace_id"}},[n._v(n._s(n.$t("trace.requestId")))]),r("el-checkbox",{attrs:{label:"timestamp_ms"}},[n._v(n._s(n.$t("trace.timeCreated")))]),r("el-checkbox",{attrs:{label:"end_time_ms"}},[n._v(n._s(n.$t("trace.timeEnded")))]),r("el-checkbox",{attrs:{label:"status"}},[n._v(n._s(n.$t("trace.status")))]),r("el-checkbox",{attrs:{label:"execution_time_ms"}},[n._v(n._s(n.$t("trace.executionTime")))]),r("el-checkbox",{attrs:{label:"trace_type"}},[n._v(n._s(n.$t("trace.traceType")))]),r("el-checkbox",{attrs:{label:"trace_name"}},[n._v(n._s(n.$t("trace.traceName")))]),r("el-checkbox",{attrs:{label:"experiment_name"}},[n._v(n._s(n.$t("trace.experimentName")))])],1),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{size:"mini"},on:{click:function(o){n.showColumnDialog=!1}}},[n._v(n._s(n.$t("common.cancel")))]),r("el-button",{attrs:{size:"mini",type:"primary"},on:{click:n.applyColumns}},[n._v(n._s(n.$t("common.confirm")))])],1)],1),r("TraceDetailDrawer",{attrs:{visible:n.drawerVisible,"current-trace-id":n.currentTraceId,"trace-info":n.traceInfo,"trace-status-list":n.traceStatusList,"trace-span-type-list":n.traceSpanTypeList,spans:n.spans,"filtered-spans":n.filteredSpans,"selected-span-id":n.selectedSpanId,"selected-span":n.selectedSpan,loading:n.drawerLoading,"span-has-next-page":n.spanHasNextPage,"span-load-more-loading":n.spanLoadMoreLoading,"span-page-size":n.spanPageSize,"span-has-events":n.spanHasEvents,"span-type-filter":n.selectedSpanTypeFilter},on:{"update:visible":[function(o){n.drawerVisible=o},function(o){n.drawerVisible=o}],"update:spanPageSize":function(o){n.spanPageSize=o},"update:span-page-size":function(o){n.spanPageSize=o},"update:spanHasEvents":function(o){n.spanHasEvents=o},"update:span-has-events":function(o){n.spanHasEvents=o},"update:spanTypeFilter":function(o){n.selectedSpanTypeFilter=o},"update:span-type-filter":function(o){n.selectedSpanTypeFilter=o},close:n.handleDrawerClose,"span-search":n.handleSpanSearch,"span-select":n.handleSpanSelect,"span-load-more":n.loadMoreSpans}})],1)},og=[],lg=vn(ag,sg,og,!1,null,"86ff51fc");const ds=lg.exports,Gl={routes:[{path:"/trace",name:"trace",component:ds}],beforeEach:(l,n,r)=>{r()}},Kl={common:{home:"首页",todos:"待办事项",trace:"追踪",login:"登录",logout:"退出",user:"用户",search:"搜索",refresh:"刷新",columns:"列设置",confirm:"确定",cancel:"取消",operation:"操作",viewDetail:"查看详情",language:"语言"},span:{searchTree:"Span名称",hasEvents:"只显示有事件"},trace:{title:"追踪列表",searchPlaceholder:"追踪ID/追踪名称",requestId:"追踪ID",timeCreated:"创建时间",timeEnded:"结束时间",status:"状态",executionTime:"执行时长",traceType:"追踪类型",traceName:"追踪名称",traceDetail:"追踪详情",traceId:"追踪ID",clientRequestId:"客户端请求ID",experimentId:"应用ID",application:"应用",experimentName:"应用名称",selectApplication:"请选择应用",spanDetail:"Span 详情",inputs:"输入",outputs:"输出",attributes:"属性",rawInputsOutputs:"原始输入输出",rawInputs:"原始输入",rawOutputs:"原始输出",events:"事件",selectSpan:"请选择一个 Span 查看详情",noInputs:"暂无输入数据",noOutputs:"暂无输出数据",noIoData:"暂无输入输出数据",noEvents:"暂无事件数据",exceptionType:"异常类型",exceptionMessage:"异常消息",exceptionStacktrace:"异常堆栈",otherAttributes:"其他属性",key:"属性名",value:"属性值",selectColumns:"选择列",batchDelete:"批量删除",startTime:"开始时间",endTime:"结束时间",to:"至",confirmDelete:"确认删除",confirmDeleteButton:"确定删除",deleteAllWarning:`警告:您没有设置任何查询条件,这将删除所有 trace 数据!
|
|
88
88
|
|
|
89
89
|
此操作不可恢复,请确认是否继续?`,deleteConfirmMessage:"确定要删除符合以下条件的 trace 吗?",searchCondition:"搜索条件",timeRange:"时间范围",before:"在",deleteConfirmFooter:`
|
|
90
90
|
此操作不可恢复,请确认是否继续?`,deleteSuccess:"删除成功",deleteFailed:"删除失败",delete:"删除",deleteSelected:"删除选中",confirmRemoveOne:"确定删除该条 trace?",confirmRemoveSelected:"确定删除选中的 {count} 条 trace?",unknownError:"未知错误",autoRefresh:"自动刷新",refreshInterval5s:"5秒",refreshInterval10s:"10秒",refreshInterval20s:"20秒",clickToDownload:"点击文件名下载",pdfLoading:"加载中...",pdfPrevPage:"上一页",pdfNextPage:"下一页",pdfPageIndicator:"第 {page} / {total} 页",pdfDownload:"下载",pdfFullscreen:"全屏",pdfExitFullscreen:"退出全屏",export:"导出",exportSingle:"导出",exportBatch:"批量导出",importBatch:"批量导入",exportSuccess:"导出成功",exportFailed:"导出失败",importSuccess:"导入成功",importFailed:"导入失败",copy:"复制"},debug:{paramLabel:"参数",systemPrompt:"系统提示词",userPrompt:"用户提示词",submitImage:"是否提交图片",addParam:"新增参数",sendFile:"发送文件",reset:"重置",submit:"提交",responseResult:"输出",switchToMarkdown:"切换为Markdown",switchToRaw:"切换为原始输出",paramName:"参数名",paramValue:"参数值",yes:"是",no:"否",calculateTokens:"Token计算",calculateTokensTooltip:"仅计算文本类型提示词的token",copyTooltip:"复制内容",copySuccess:"复制成功",copyFailed:"复制失败",copyEmpty:"内容为空",tokenResultTitle:"Token计算结果",tokenType:"类型",tokenCount:"数量",specialTokens:"特殊字符",systemTokens:"系统提示词",userTokens:"用户提示词",assistantTokens:"助手回答",textTokens:"总计",systemRole:"系统",userRole:"用户",assistantRole:"助手"}},Vl={common:{home:"Home",todos:"Todos",trace:"Trace",login:"Login",logout:"Logout",user:"User",search:"Search",refresh:"Refresh",columns:"Columns",confirm:"Confirm",cancel:"Cancel",operation:"Operation",viewDetail:"View Detail",language:"Language"},span:{searchTree:"Span Name",hasEvents:"Has events"},trace:{title:"Traces",searchPlaceholder:"Trace ID/Trace Name",requestId:"Trace ID",timeCreated:"Time created",timeEnded:"Time ended",status:"Status",executionTime:"Execution time",traceType:"Trace Type",traceName:"Trace Name",traceDetail:"Trace Detail",traceId:"Trace ID",clientRequestId:"Client Request ID",experimentId:"Application ID",application:"Application",experimentName:"Application Name",selectApplication:"Please select application",spanDetail:"Span Detail",inputs:"Inputs",outputs:"Outputs",attributes:"Attributes",rawInputsOutputs:"Raw Inputs/Outputs",rawInputs:"Raw Inputs",rawOutputs:"Raw Outputs",events:"Events",selectSpan:"Please select a Span to view details",noInputs:"No input data",noOutputs:"No output data",noIoData:"No input/output data",noEvents:"No event data",exceptionType:"Exception Type",exceptionMessage:"Exception Message",exceptionStacktrace:"Exception Stacktrace",otherAttributes:"Other Attributes",key:"Key",value:"Value",selectColumns:"Select Columns",batchDelete:"Batch Delete",startTime:"Start Time",endTime:"End Time",to:" to ",confirmDelete:"Confirm Delete",confirmDeleteButton:"Confirm Delete",deleteAllWarning:`Warning: You have not set any query conditions. This will delete all trace data!
|