@langsword/trace 0.1.2 → 0.1.3
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 +1 -1
- package/dist/trace.es.js +46 -21
- package/dist/trace.umd.js +1 -1
- package/package.json +1 -1
package/dist/trace.css
CHANGED
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
*
|
|
8
8
|
* Date: 2024-11-24T04:32:14.526Z
|
|
9
|
-
*/.viewer-zoom-in:before,.viewer-zoom-out:before,.viewer-one-to-one:before,.viewer-reset:before,.viewer-prev:before,.viewer-play:before,.viewer-next:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen:before,.viewer-fullscreen-exit:before,.viewer-close:before{background-image:url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 560 40%22%3E%3Cpath fill%3D%22%23fff%22 d%3D%22M49.6 17.9h20.2v3.9H49.6zm123.1 2 10.9-11 2.7 2.8-8.2 8.2 8.2 8.2-2.7 2.7-10.9-10.9zm94 0-10.8-11-2.7 2.8 8.1 8.2-8.1 8.2 2.7 2.7 10.8-10.9zM212 9.3l20.1 10.6L212 30.5V9.3zm161.5 4.6-7.2 6 7.2 5.9v-4h12.4v4l7.3-5.9-7.3-6v4h-12.4v-4zm40.2 12.3 5.9 7.2 5.9-7.2h-4V13.6h4l-5.9-7.3-5.9 7.3h4v12.6h-4zm35.9-16.5h6.3v2h-4.3V16h-2V9.7Zm14 0h6.2V16h-2v-4.3h-4.2v-2Zm6.2 14V30h-6.2v-2h4.2v-4.3h2Zm-14 6.3h-6.2v-6.3h2v4.4h4.3v2Zm-438 .1v-8.3H9.6v-3.9h8.2V9.7h3.9v8.2h8.1v3.9h-8.1v8.3h-3.9zM93.6 9.7h-5.8v3.9h2V30h3.8V9.7zm16.1 0h-5.8v3.9h1.9V30h3.9V9.7zm-11.9 4.1h3.9v3.9h-3.9zm0 8.2h3.9v3.9h-3.9zm244.6-11.7 7.2 5.9-7.2 6v-3.6c-5.4-.4-7.8.8-8.7 2.8-.8 1.7-1.8 4.9 2.8 8.2-6.3-2-7.5-6.9-6-11.3 1.6-4.4 8-5 11.9-4.9v-3.1Zm147.2 13.4h6.3V30h-2v-4.3h-4.3v-2zm14 6.3v-6.3h6.2v2h-4.3V30h-1.9zm6.2-14h-6.2V9.7h1.9V14h4.3v2zm-13.9 0h-6.3v-2h4.3V9.7h2V16zm33.3 12.5 8.6-8.6-8.6-8.7 1.9-1.9 8.6 8.7 8.6-8.7 1.9 1.9-8.6 8.7 8.6 8.6-1.9 2-8.6-8.7-8.6 8.7-1.9-2zM297 10.3l-7.1 5.9 7.2 6v-3.6c5.3-.4 7.7.8 8.7 2.8.8 1.7 1.7 4.9-2.9 8.2 6.3-2 7.5-6.9 6-11.3-1.6-4.4-7.9-5-11.8-4.9v-3.1Zm-157.3-.6c2.3 0 4.4.7 6 2l2.5-3 1.9 9.2h-9.3l2.6-3.1a6.2 6.2 0 0 0-9.9 5.1c0 3.4 2.8 6.3 6.2 6.3 2.8 0 5.1-1.9 6-4.4h4c-1 4.7-5 8.3-10 8.3a10 10 0 0 1-10-10.2 10 10 0 0 1 10-10.2Z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:280px;color:transparent;display:block;font-size:0;height:20px;line-height:0;width:20px}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{bottom:0;direction:ltr;font-size:0;left:0;line-height:0;overflow:hidden;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.viewer-container::-moz-selection,.viewer-container *::-moz-selection{background-color:transparent}.viewer-container::selection,.viewer-container *::selection{background-color:transparent}.viewer-container:focus{outline:0}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:#00000080;overflow:hidden}.viewer-list{box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{color:transparent;cursor:pointer;float:left;font-size:0;height:50px;line-height:0;opacity:.5;overflow:hidden;transition:opacity .15s;width:30px}.viewer-list>li:focus,.viewer-list>li:hover{opacity:.75}.viewer-list>li:focus{outline:0}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-loading{position:relative}.viewer-list>.viewer-loading:after{border-width:2px;height:20px;margin-left:-10px;margin-top:-10px;width:20px}.viewer-list>.viewer-active,.viewer-list>.viewer-active:focus,.viewer-list>.viewer-active:hover{opacity:1}.viewer-player{background-color:#000;bottom:0;cursor:none;display:none;left:0;position:absolute;right:0;top:0;z-index:1}.viewer-player>img{left:0;position:absolute;top:0}.viewer-toolbar>ul{display:inline-block;margin:0 auto 5px;overflow:hidden;padding:6px 3px}.viewer-toolbar>ul>li{background-color:#00000080;border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;transition:background-color .15s;width:24px}.viewer-toolbar>ul>li:focus,.viewer-toolbar>ul>li:hover{background-color:#000c}.viewer-toolbar>ul>li:focus{box-shadow:0 0 3px #fff;outline:0;position:relative;z-index:1}.viewer-toolbar>ul>li:before{margin:2px}.viewer-toolbar>ul>li+li{margin-left:1px}.viewer-toolbar>ul>.viewer-small{height:18px;margin-bottom:3px;margin-top:3px;width:18px}.viewer-toolbar>ul>.viewer-small:before{margin:-1px}.viewer-toolbar>ul>.viewer-large{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>ul>.viewer-large:before{margin:5px}.viewer-tooltip{background-color:#000c;border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1.2;margin:5px 5%;max-width:90%;min-height:14px;opacity:.8;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{-webkit-app-region:no-drag;background-color:#00000080;border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;transition:background-color .15s;width:80px}.viewer-button:focus,.viewer-button:hover{background-color:#000c}.viewer-button:focus{box-shadow:0 0 3px #fff;outline:0}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-backdrop{background-color:#00000080}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{transition:all .3s}@keyframes viewer-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.viewer-loading:after{animation:viewer-spinner 1s linear infinite;border:4px solid rgba(255,255,255,.1);border-left-color:#ffffff80;border-radius:50%;content:"";display:inline-block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:1}@media (max-width: 767px){.viewer-hide-xs-down{display:none}}@media (max-width: 991px){.viewer-hide-sm-down{display:none}}@media (max-width: 1199px){.viewer-hide-md-down{display:none}}.debug-content[data-v-5a07e1ef]{padding:10px 0}.debug-client-form[data-v-5a07e1ef],.debug-chat-model-form[data-v-5a07e1ef]{padding:10px}.debug-form-row[data-v-5a07e1ef]{margin-bottom:10px}.debug-form-row[data-v-5a07e1ef] .el-form-item__content{display:flex;align-items:center}.debug-form-row[data-v-5a07e1ef] .el-row{width:100%;flex-wrap:nowrap}.delete-param-btn[data-v-5a07e1ef]{width:100%;padding:0;display:flex;align-items:center;justify-content:center;height:32px}.delete-param-btn[data-v-5a07e1ef] .el-icon-delete{margin:0}.debug-response[data-v-5a07e1ef]{margin-top:20px;padding:15px;border-radius:4px;border:1px solid #e4e7ed}.debug-response-header[data-v-5a07e1ef]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-weight:500;font-size:14px}.debug-response-raw[data-v-5a07e1ef],.debug-response-markdown[data-v-5a07e1ef]{margin-top:10px}.markdown-editor[data-v-5a07e1ef]{height:300px;max-height:400px}.markdown-editor[data-v-5a07e1ef] .CodeMirror{height:100%;font-size:13px;line-height:1.6;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.markdown-editor[data-v-5a07e1ef] .CodeMirror-scroll{max-height:400px}.code-editor-wrapper[data-v-5a07e1ef]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-5a07e1ef] .CodeMirror{height:100%;font-size:13px;line-height:1.6;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.code-editor-wrapper[data-v-5a07e1ef] .CodeMirror-scroll{max-height:600px}.structured-content[data-v-5a07e1ef]{display:flex;flex-direction:column;gap:16px}.content-element[data-v-5a07e1ef]{width:100%}.markdown-content[data-v-5a07e1ef]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-5a07e1ef] h1,.markdown-content[data-v-5a07e1ef] h2,.markdown-content[data-v-5a07e1ef] h3,.markdown-content[data-v-5a07e1ef] h4,.markdown-content[data-v-5a07e1ef] h5,.markdown-content[data-v-5a07e1ef] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-5a07e1ef] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-5a07e1ef] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-5a07e1ef] h3{font-size:18px}.markdown-content[data-v-5a07e1ef] h4{font-size:16px}.markdown-content[data-v-5a07e1ef] h5{font-size:14px}.markdown-content[data-v-5a07e1ef] h6{font-size:13px}.markdown-content[data-v-5a07e1ef] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-5a07e1ef] ul,.markdown-content[data-v-5a07e1ef] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-5a07e1ef] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-5a07e1ef] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-5a07e1ef] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-5a07e1ef] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-5a07e1ef] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-5a07e1ef] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-5a07e1ef] table th,.markdown-content[data-v-5a07e1ef] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-5a07e1ef] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-5a07e1ef] a{color:#409eff;text-decoration:none}.markdown-content[data-v-5a07e1ef] a:hover{text-decoration:underline}.image-content[data-v-5a07e1ef]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-5a07e1ef]{font-size:12px;color:#606266;margin-bottom:8px;font-weight:500;background-color:#e6f7ff;padding:4px 12px;border-radius:4px;border:1px solid #91d5ff}.content-image[data-v-5a07e1ef]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-5a07e1ef]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.outputs-section[data-v-5a07e1ef]{padding:10px}.choice-item[data-v-5a07e1ef]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-header[data-v-5a07e1ef]{padding:8px 12px;background-color:#f5f7fa;border-bottom:1px solid #ebeef5;font-weight:500;font-size:13px}.choice-content[data-v-5a07e1ef]{padding:12px}.choice-content .structured-content[data-v-5a07e1ef]{margin-top:8px}.choice-content .markdown-content[data-v-5a07e1ef]{background-color:#f5f7fa}.message-header[data-v-5a07e1ef]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-icon[data-v-5a07e1ef]{margin-right:8px;font-size:14px}.choice-content pre[data-v-5a07e1ef]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.trace-detail-content[data-v-af1e0db8]{height:calc(100vh - 100px);overflow:auto}.trace-info-section[data-v-af1e0db8]{margin-bottom:20px;padding:0 10px}.trace-info-section[data-v-af1e0db8] .el-descriptions{padding:0;font-size:12px!important}.trace-info-section[data-v-af1e0db8] .el-descriptions *{font-size:12px!important}.trace-info-section[data-v-af1e0db8] .el-descriptions__body .el-descriptions__table{margin:0}.trace-info-section[data-v-af1e0db8] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-af1e0db8] .el-descriptions__body .el-descriptions__table th{padding:8px 12px}.trace-info-section[data-v-af1e0db8] .el-descriptions__label,.trace-info-section[data-v-af1e0db8] .el-descriptions__content{font-size:12px!important;color:#606266;font-weight:400}.trace-info-section[data-v-af1e0db8] .el-descriptions__body,.trace-info-section[data-v-af1e0db8] .el-descriptions__body .el-descriptions__table,.trace-info-section[data-v-af1e0db8] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-af1e0db8] .el-descriptions__body .el-descriptions__table th{font-size:12px!important}.trace-info-section[data-v-af1e0db8] .el-tag{font-size:12px;height:20px;line-height:20px;padding:0 6px}.span-tree-col[data-v-af1e0db8]{height:calc(100vh - 300px);min-height:500px}.span-tree-col[data-v-af1e0db8] .el-card__body{height:calc(100% - 57px);overflow:hidden;display:flex;flex-direction:column;padding:10px}.span-detail-col[data-v-af1e0db8]{height:calc(100vh - 300px);min-height:500px}.span-detail-col[data-v-af1e0db8] .el-card__body{height:100%;overflow:hidden;display:flex;flex-direction:column;padding:20px}.span-detail-content[data-v-af1e0db8]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.span-detail-content[data-v-af1e0db8] .el-tabs{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.span-detail-content[data-v-af1e0db8] .el-tabs__content{flex:1;overflow:hidden;min-height:0}.span-detail-content[data-v-af1e0db8] .el-tab-pane{height:100%;overflow-y:auto;overflow-x:hidden}.io-content[data-v-af1e0db8]{padding:10px 0}.io-section[data-v-af1e0db8]{margin-bottom:20px}.messages-section[data-v-af1e0db8]{padding:10px}.message-item[data-v-af1e0db8]{margin-bottom:10px}.message-icon[data-v-af1e0db8]{margin-right:8px;font-size:14px}.message-role[data-v-af1e0db8]{text-transform:capitalize;font-weight:500}.message-content[data-v-af1e0db8]{padding:12px;background-color:#f5f7fa;border-radius:4px;border-left:3px solid #409eff}.message-content pre[data-v-af1e0db8]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.message-content .structured-content[data-v-af1e0db8]{background-color:transparent;padding:0}.message-content .markdown-content[data-v-af1e0db8]{background-color:transparent;border:none;padding:0}.json-content[data-v-af1e0db8]{padding:12px;background-color:#f5f7fa;border-radius:4px}.json-content pre[data-v-af1e0db8]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:12px;line-height:1.6}.output-section[data-v-af1e0db8]{padding:10px}.choice-item[data-v-af1e0db8]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-header[data-v-af1e0db8]{padding:8px 12px;background-color:#f5f7fa;border-bottom:1px solid #ebeef5;font-weight:500;font-size:13px}.choice-content[data-v-af1e0db8]{padding:12px}.choice-content .structured-content[data-v-af1e0db8]{margin-top:8px}.choice-content .markdown-content[data-v-af1e0db8]{background-color:#f5f7fa}.message-header[data-v-af1e0db8]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.choice-content pre[data-v-af1e0db8]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.empty-content[data-v-af1e0db8]{padding:20px 0}.empty-io[data-v-af1e0db8]{padding:40px 0}.event-attributes[data-v-af1e0db8]{margin-top:10px;padding:10px;background-color:#f5f7fa;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.raw-io-content[data-v-af1e0db8]{padding:10px 0}.raw-io-section[data-v-af1e0db8]{margin-bottom:20px}.code-editor-wrapper[data-v-af1e0db8]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-af1e0db8] .CodeMirror{height:100%;font-size:13px;line-height:1.6;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.code-editor-wrapper[data-v-af1e0db8] .CodeMirror-scroll{max-height:600px}.code-editor-wrapper[data-v-af1e0db8] .CodeMirror-cursor{border-left:1px solid #fff}.code-editor-wrapper[data-v-af1e0db8] .cm-string{color:#98d982}.code-editor-wrapper[data-v-af1e0db8] .cm-number{color:#d19a66}.code-editor-wrapper[data-v-af1e0db8] .cm-keyword{color:#c678dd}.code-editor-wrapper[data-v-af1e0db8] .cm-atom{color:#56b6c2}.code-editor-wrapper[data-v-af1e0db8] .cm-property,.code-editor-wrapper[data-v-af1e0db8] .cm-variable{color:#e06c75}.code-editor-wrapper[data-v-af1e0db8] .cm-operator{color:#56b6c2}.code-editor-wrapper[data-v-af1e0db8] .cm-bracket,.code-editor-wrapper[data-v-af1e0db8] .cm-punctuation{color:#abb2bf}.empty-raw-io[data-v-af1e0db8]{padding:40px 0}.structured-content[data-v-af1e0db8]{display:flex;flex-direction:column;gap:16px}.io-section .structured-content[data-v-af1e0db8]{padding:10px}.content-element[data-v-af1e0db8]{width:100%}.markdown-content[data-v-af1e0db8]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-af1e0db8] h1,.markdown-content[data-v-af1e0db8] h2,.markdown-content[data-v-af1e0db8] h3,.markdown-content[data-v-af1e0db8] h4,.markdown-content[data-v-af1e0db8] h5,.markdown-content[data-v-af1e0db8] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-af1e0db8] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-af1e0db8] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-af1e0db8] h3{font-size:18px}.markdown-content[data-v-af1e0db8] h4{font-size:16px}.markdown-content[data-v-af1e0db8] h5{font-size:14px}.markdown-content[data-v-af1e0db8] h6{font-size:13px}.markdown-content[data-v-af1e0db8] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-af1e0db8] ul,.markdown-content[data-v-af1e0db8] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-af1e0db8] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-af1e0db8] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-af1e0db8] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-af1e0db8] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-af1e0db8] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-af1e0db8] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-af1e0db8] table th,.markdown-content[data-v-af1e0db8] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-af1e0db8] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-af1e0db8] a{color:#409eff;text-decoration:none}.markdown-content[data-v-af1e0db8] a:hover{text-decoration:underline}.image-content[data-v-af1e0db8]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-af1e0db8]{font-size:12px;color:#606266;margin-bottom:8px;font-weight:500;background-color:#e6f7ff;padding:4px 12px;border-radius:4px;border:1px solid #91d5ff}.content-image[data-v-af1e0db8]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-af1e0db8]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.attributes-table .attribute-key[data-v-af1e0db8]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attributes-table .attribute-value[data-v-af1e0db8]{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-all;line-height:1.5;max-height:4.5em}.events-content[data-v-af1e0db8]{padding:10px 0}.event-header[data-v-af1e0db8]{display:flex;align-items:center;gap:12px}.event-name-tag[data-v-af1e0db8]{font-weight:500}.event-time[data-v-af1e0db8]{font-size:12px;color:#909399}.event-detail[data-v-af1e0db8]{padding:12px}.exception-content[data-v-af1e0db8]{display:flex;flex-direction:column;gap:16px}.exception-field[data-v-af1e0db8]{display:flex;flex-direction:column;gap:8px}.exception-field .field-label[data-v-af1e0db8]{font-size:13px;font-weight:500;color:#606266}.exception-field .field-value[data-v-af1e0db8]{padding:12px;background-color:#f5f7fa;border-radius:4px;font-size:13px;line-height:1.6;word-break:break-all}.exception-field .exception-type[data-v-af1e0db8]{color:#e6a23c;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.exception-field .exception-message[data-v-af1e0db8]{color:#f56c6c;border-left:3px solid #f56c6c}.stacktrace-editor[data-v-af1e0db8]{height:400px;max-height:500px}.stacktrace-editor[data-v-af1e0db8] .CodeMirror{height:100%}.stacktrace-editor[data-v-af1e0db8] .CodeMirror-scroll{max-height:500px;padding-bottom:30px}.general-event-content[data-v-af1e0db8]{padding:0}.empty-events[data-v-af1e0db8]{padding:40px 0}.attribute-tooltip{max-width:800px!important}.attribute-tooltip .attribute-tooltip-content{word-break:break-all;white-space:pre-wrap;line-height:1.6;max-height:300px;overflow-y:auto}.trace-list-container[data-v-ca175755]{padding:0;font-size:12px;color:#606266;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-ca175755] .el-card{border:none;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-ca175755] .el-card__body{padding:16px 16px 9px;flex:1;display:flex;flex-direction:column;overflow:hidden}.trace-content-wrapper[data-v-ca175755]{display:flex;flex-direction:column;flex:1;min-height:0}.trace-table-wrapper[data-v-ca175755]{flex:1;overflow:auto;margin-bottom:12px;min-height:0}.trace-pagination-wrapper[data-v-ca175755]{margin-top:auto;padding-top:10px;border-top:1px solid #EBEEF5}.trace-toolbar[data-v-ca175755]{margin-bottom:12px;padding:12px;background-color:#f8f9fa;border-radius:4px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.toolbar-select[data-v-ca175755]{width:200px;flex-shrink:0}.toolbar-input[data-v-ca175755]{width:300px;flex-shrink:0}.toolbar-date-picker[data-v-ca175755]{width:380px;flex-shrink:0}.trace-toolbar .el-button[data-v-ca175755],.trace-toolbar .el-tooltip[data-v-ca175755]{flex-shrink:0}.trace-list-container[data-v-ca175755] .el-table{font-size:12px;color:#606266}.trace-list-container[data-v-ca175755] .el-table th{background-color:#f3f5fa;color:#606266;font-size:12px;padding:8px 0;font-weight:500}.trace-list-container[data-v-ca175755] .el-table td{font-size:12px;color:#606266;padding:8px 0}.trace-list-container[data-v-ca175755] .el-table .el-link{font-size:12px}.trace-list-container[data-v-ca175755] .el-table .el-button--text{font-size:12px;padding:0}.trace-list-container[data-v-ca175755] .el-table .el-tag{font-size:12px}.trace-list-container[data-v-ca175755] .el-table--striped .el-table__body tr.el-table__row--striped td{background-color:#fafafa}.trace-list-container[data-v-ca175755] .el-table--striped .el-table__body tr.el-table__row--striped:hover td{background-color:#f0f2f5}.trace-row[data-v-ca175755]{cursor:pointer}.trace-row[data-v-ca175755]:hover{background-color:#f0f2f5}.trace-pagination[data-v-ca175755]{text-align:right;font-size:12px;color:#606266;font-weight:400}.trace-pagination[data-v-ca175755] .el-pagination{font-size:12px;color:#606266;display:flex;align-items:center;justify-content:flex-end}.trace-pagination[data-v-ca175755] .el-pagination *,.trace-pagination[data-v-ca175755] .el-pagination__total{font-size:12px;color:#606266;margin-right:8px;height:28px;line-height:28px}.trace-pagination[data-v-ca175755] .el-pagination .btn-next,.trace-pagination[data-v-ca175755] .el-pagination .btn-prev,.trace-pagination[data-v-ca175755] .el-pagination .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px;border:none;font-size:12px;height:28px;line-height:28px}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li{padding:0 4px;box-sizing:border-box;text-align:center}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.trace-pagination[data-v-ca175755] .el-pagination .btn-prev:hover,.trace-pagination[data-v-ca175755] .el-pagination .btn-next:hover{color:#409eff}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li:hover:not(.active){color:#409eff}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li.active:hover{color:#fff}.trace-pagination[data-v-ca175755] .el-pagination__sizes .el-input{font-size:12px}.trace-pagination[data-v-ca175755] .el-pagination__sizes .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 25px 0 8px}.trace-pagination[data-v-ca175755] .el-pagination__jump{margin-left:16px;font-size:12px;color:#606266}.trace-pagination[data-v-ca175755] .el-pagination__editor{font-size:12px;margin:0 4px}.trace-pagination[data-v-ca175755] .el-pagination__editor .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 4px;text-align:center}.text-muted[data-v-ca175755]{color:#909399}
|
|
9
|
+
*/.viewer-zoom-in:before,.viewer-zoom-out:before,.viewer-one-to-one:before,.viewer-reset:before,.viewer-prev:before,.viewer-play:before,.viewer-next:before,.viewer-rotate-left:before,.viewer-rotate-right:before,.viewer-flip-horizontal:before,.viewer-flip-vertical:before,.viewer-fullscreen:before,.viewer-fullscreen-exit:before,.viewer-close:before{background-image:url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 560 40%22%3E%3Cpath fill%3D%22%23fff%22 d%3D%22M49.6 17.9h20.2v3.9H49.6zm123.1 2 10.9-11 2.7 2.8-8.2 8.2 8.2 8.2-2.7 2.7-10.9-10.9zm94 0-10.8-11-2.7 2.8 8.1 8.2-8.1 8.2 2.7 2.7 10.8-10.9zM212 9.3l20.1 10.6L212 30.5V9.3zm161.5 4.6-7.2 6 7.2 5.9v-4h12.4v4l7.3-5.9-7.3-6v4h-12.4v-4zm40.2 12.3 5.9 7.2 5.9-7.2h-4V13.6h4l-5.9-7.3-5.9 7.3h4v12.6h-4zm35.9-16.5h6.3v2h-4.3V16h-2V9.7Zm14 0h6.2V16h-2v-4.3h-4.2v-2Zm6.2 14V30h-6.2v-2h4.2v-4.3h2Zm-14 6.3h-6.2v-6.3h2v4.4h4.3v2Zm-438 .1v-8.3H9.6v-3.9h8.2V9.7h3.9v8.2h8.1v3.9h-8.1v8.3h-3.9zM93.6 9.7h-5.8v3.9h2V30h3.8V9.7zm16.1 0h-5.8v3.9h1.9V30h3.9V9.7zm-11.9 4.1h3.9v3.9h-3.9zm0 8.2h3.9v3.9h-3.9zm244.6-11.7 7.2 5.9-7.2 6v-3.6c-5.4-.4-7.8.8-8.7 2.8-.8 1.7-1.8 4.9 2.8 8.2-6.3-2-7.5-6.9-6-11.3 1.6-4.4 8-5 11.9-4.9v-3.1Zm147.2 13.4h6.3V30h-2v-4.3h-4.3v-2zm14 6.3v-6.3h6.2v2h-4.3V30h-1.9zm6.2-14h-6.2V9.7h1.9V14h4.3v2zm-13.9 0h-6.3v-2h4.3V9.7h2V16zm33.3 12.5 8.6-8.6-8.6-8.7 1.9-1.9 8.6 8.7 8.6-8.7 1.9 1.9-8.6 8.7 8.6 8.6-1.9 2-8.6-8.7-8.6 8.7-1.9-2zM297 10.3l-7.1 5.9 7.2 6v-3.6c5.3-.4 7.7.8 8.7 2.8.8 1.7 1.7 4.9-2.9 8.2 6.3-2 7.5-6.9 6-11.3-1.6-4.4-7.9-5-11.8-4.9v-3.1Zm-157.3-.6c2.3 0 4.4.7 6 2l2.5-3 1.9 9.2h-9.3l2.6-3.1a6.2 6.2 0 0 0-9.9 5.1c0 3.4 2.8 6.3 6.2 6.3 2.8 0 5.1-1.9 6-4.4h4c-1 4.7-5 8.3-10 8.3a10 10 0 0 1-10-10.2 10 10 0 0 1 10-10.2Z%22%2F%3E%3C%2Fsvg%3E");background-repeat:no-repeat;background-size:280px;color:transparent;display:block;font-size:0;height:20px;line-height:0;width:20px}.viewer-zoom-in:before{background-position:0 0;content:"Zoom In"}.viewer-zoom-out:before{background-position:-20px 0;content:"Zoom Out"}.viewer-one-to-one:before{background-position:-40px 0;content:"One to One"}.viewer-reset:before{background-position:-60px 0;content:"Reset"}.viewer-prev:before{background-position:-80px 0;content:"Previous"}.viewer-play:before{background-position:-100px 0;content:"Play"}.viewer-next:before{background-position:-120px 0;content:"Next"}.viewer-rotate-left:before{background-position:-140px 0;content:"Rotate Left"}.viewer-rotate-right:before{background-position:-160px 0;content:"Rotate Right"}.viewer-flip-horizontal:before{background-position:-180px 0;content:"Flip Horizontal"}.viewer-flip-vertical:before{background-position:-200px 0;content:"Flip Vertical"}.viewer-fullscreen:before{background-position:-220px 0;content:"Enter Full Screen"}.viewer-fullscreen-exit:before{background-position:-240px 0;content:"Exit Full Screen"}.viewer-close:before{background-position:-260px 0;content:"Close"}.viewer-container{bottom:0;direction:ltr;font-size:0;left:0;line-height:0;overflow:hidden;position:absolute;right:0;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.viewer-container::-moz-selection,.viewer-container *::-moz-selection{background-color:transparent}.viewer-container::selection,.viewer-container *::selection{background-color:transparent}.viewer-container:focus{outline:0}.viewer-container img{display:block;height:auto;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.viewer-canvas{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.viewer-canvas>img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:#00000080;overflow:hidden}.viewer-list{box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{color:transparent;cursor:pointer;float:left;font-size:0;height:50px;line-height:0;opacity:.5;overflow:hidden;transition:opacity .15s;width:30px}.viewer-list>li:focus,.viewer-list>li:hover{opacity:.75}.viewer-list>li:focus{outline:0}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-loading{position:relative}.viewer-list>.viewer-loading:after{border-width:2px;height:20px;margin-left:-10px;margin-top:-10px;width:20px}.viewer-list>.viewer-active,.viewer-list>.viewer-active:focus,.viewer-list>.viewer-active:hover{opacity:1}.viewer-player{background-color:#000;bottom:0;cursor:none;display:none;left:0;position:absolute;right:0;top:0;z-index:1}.viewer-player>img{left:0;position:absolute;top:0}.viewer-toolbar>ul{display:inline-block;margin:0 auto 5px;overflow:hidden;padding:6px 3px}.viewer-toolbar>ul>li{background-color:#00000080;border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;transition:background-color .15s;width:24px}.viewer-toolbar>ul>li:focus,.viewer-toolbar>ul>li:hover{background-color:#000c}.viewer-toolbar>ul>li:focus{box-shadow:0 0 3px #fff;outline:0;position:relative;z-index:1}.viewer-toolbar>ul>li:before{margin:2px}.viewer-toolbar>ul>li+li{margin-left:1px}.viewer-toolbar>ul>.viewer-small{height:18px;margin-bottom:3px;margin-top:3px;width:18px}.viewer-toolbar>ul>.viewer-small:before{margin:-1px}.viewer-toolbar>ul>.viewer-large{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>ul>.viewer-large:before{margin:5px}.viewer-tooltip{background-color:#000c;border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1.2;margin:5px 5%;max-width:90%;min-height:14px;opacity:.8;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{-webkit-app-region:no-drag;background-color:#00000080;border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;transition:background-color .15s;width:80px}.viewer-button:focus,.viewer-button:hover{background-color:#000c}.viewer-button:focus{box-shadow:0 0 3px #fff;outline:0}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-backdrop{background-color:#00000080}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{transition:all .3s}@keyframes viewer-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.viewer-loading:after{animation:viewer-spinner 1s linear infinite;border:4px solid rgba(255,255,255,.1);border-left-color:#ffffff80;border-radius:50%;content:"";display:inline-block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:1}@media (max-width: 767px){.viewer-hide-xs-down{display:none}}@media (max-width: 991px){.viewer-hide-sm-down{display:none}}@media (max-width: 1199px){.viewer-hide-md-down{display:none}}.debug-content[data-v-5a07e1ef]{padding:10px 0}.debug-client-form[data-v-5a07e1ef],.debug-chat-model-form[data-v-5a07e1ef]{padding:10px}.debug-form-row[data-v-5a07e1ef]{margin-bottom:10px}.debug-form-row[data-v-5a07e1ef] .el-form-item__content{display:flex;align-items:center}.debug-form-row[data-v-5a07e1ef] .el-row{width:100%;flex-wrap:nowrap}.delete-param-btn[data-v-5a07e1ef]{width:100%;padding:0;display:flex;align-items:center;justify-content:center;height:32px}.delete-param-btn[data-v-5a07e1ef] .el-icon-delete{margin:0}.debug-response[data-v-5a07e1ef]{margin-top:20px;padding:15px;border-radius:4px;border:1px solid #e4e7ed}.debug-response-header[data-v-5a07e1ef]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-weight:500;font-size:14px}.debug-response-raw[data-v-5a07e1ef],.debug-response-markdown[data-v-5a07e1ef]{margin-top:10px}.markdown-editor[data-v-5a07e1ef]{height:300px;max-height:400px}.markdown-editor[data-v-5a07e1ef] .CodeMirror{height:100%;font-size:13px;line-height:1.6;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.markdown-editor[data-v-5a07e1ef] .CodeMirror-scroll{max-height:400px}.code-editor-wrapper[data-v-5a07e1ef]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-5a07e1ef] .CodeMirror{height:100%;font-size:13px;line-height:1.6;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.code-editor-wrapper[data-v-5a07e1ef] .CodeMirror-scroll{max-height:600px}.structured-content[data-v-5a07e1ef]{display:flex;flex-direction:column;gap:16px}.content-element[data-v-5a07e1ef]{width:100%}.markdown-content[data-v-5a07e1ef]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-5a07e1ef] h1,.markdown-content[data-v-5a07e1ef] h2,.markdown-content[data-v-5a07e1ef] h3,.markdown-content[data-v-5a07e1ef] h4,.markdown-content[data-v-5a07e1ef] h5,.markdown-content[data-v-5a07e1ef] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-5a07e1ef] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-5a07e1ef] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-5a07e1ef] h3{font-size:18px}.markdown-content[data-v-5a07e1ef] h4{font-size:16px}.markdown-content[data-v-5a07e1ef] h5{font-size:14px}.markdown-content[data-v-5a07e1ef] h6{font-size:13px}.markdown-content[data-v-5a07e1ef] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-5a07e1ef] ul,.markdown-content[data-v-5a07e1ef] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-5a07e1ef] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-5a07e1ef] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-5a07e1ef] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-5a07e1ef] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-5a07e1ef] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-5a07e1ef] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-5a07e1ef] table th,.markdown-content[data-v-5a07e1ef] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-5a07e1ef] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-5a07e1ef] a{color:#409eff;text-decoration:none}.markdown-content[data-v-5a07e1ef] a:hover{text-decoration:underline}.image-content[data-v-5a07e1ef]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-5a07e1ef]{font-size:12px;color:#606266;margin-bottom:8px;font-weight:500;background-color:#e6f7ff;padding:4px 12px;border-radius:4px;border:1px solid #91d5ff}.content-image[data-v-5a07e1ef]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-5a07e1ef]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.outputs-section[data-v-5a07e1ef]{padding:10px}.choice-item[data-v-5a07e1ef]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-header[data-v-5a07e1ef]{padding:8px 12px;background-color:#f5f7fa;border-bottom:1px solid #ebeef5;font-weight:500;font-size:13px}.choice-content[data-v-5a07e1ef]{padding:12px}.choice-content .structured-content[data-v-5a07e1ef]{margin-top:8px}.choice-content .markdown-content[data-v-5a07e1ef]{background-color:#f5f7fa}.message-header[data-v-5a07e1ef]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-icon[data-v-5a07e1ef]{margin-right:8px;font-size:14px}.choice-content pre[data-v-5a07e1ef]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.trace-detail-content[data-v-0c406c8e]{height:calc(100vh - 100px);overflow:auto}.trace-info-section[data-v-0c406c8e]{margin-bottom:20px;padding:0 10px}.trace-info-section[data-v-0c406c8e] .el-descriptions{padding:0;font-size:12px!important}.trace-info-section[data-v-0c406c8e] .el-descriptions *{font-size:12px!important}.trace-info-section[data-v-0c406c8e] .el-descriptions__body .el-descriptions__table{margin:0}.trace-info-section[data-v-0c406c8e] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-0c406c8e] .el-descriptions__body .el-descriptions__table th{padding:8px 12px}.trace-info-section[data-v-0c406c8e] .el-descriptions__label,.trace-info-section[data-v-0c406c8e] .el-descriptions__content{font-size:12px!important;color:#606266;font-weight:400}.trace-info-section[data-v-0c406c8e] .el-descriptions__body,.trace-info-section[data-v-0c406c8e] .el-descriptions__body .el-descriptions__table,.trace-info-section[data-v-0c406c8e] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-0c406c8e] .el-descriptions__body .el-descriptions__table th{font-size:12px!important}.trace-info-section[data-v-0c406c8e] .el-tag{font-size:12px;height:20px;line-height:20px;padding:0 6px}.span-tree-col[data-v-0c406c8e]{height:calc(100vh - 300px);min-height:500px}.span-tree-col[data-v-0c406c8e] .el-card__body{height:calc(100% - 57px);overflow:hidden;display:flex;flex-direction:column;padding:10px}.span-detail-col[data-v-0c406c8e]{height:calc(100vh - 300px);min-height:500px}.span-detail-col[data-v-0c406c8e] .el-card__body{height:100%;overflow:hidden;display:flex;flex-direction:column;padding:20px}.span-detail-content[data-v-0c406c8e]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.span-detail-content[data-v-0c406c8e] .el-tabs{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.span-detail-content[data-v-0c406c8e] .el-tabs__content{flex:1;overflow:hidden;min-height:0}.span-detail-content[data-v-0c406c8e] .el-tab-pane{height:100%;overflow-y:auto;overflow-x:hidden}.io-content[data-v-0c406c8e]{padding:10px 0}.io-section[data-v-0c406c8e]{margin-bottom:20px}.messages-section[data-v-0c406c8e]{padding:10px}.message-item[data-v-0c406c8e]{margin-bottom:10px}.message-icon[data-v-0c406c8e]{margin-right:8px;font-size:14px}.message-role[data-v-0c406c8e]{text-transform:capitalize;font-weight:500}.message-content[data-v-0c406c8e]{padding:12px;background-color:#f5f7fa;border-radius:4px;border-left:3px solid #409eff}.message-content pre[data-v-0c406c8e]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.message-content .structured-content[data-v-0c406c8e]{background-color:transparent;padding:0}.message-content .markdown-content[data-v-0c406c8e]{background-color:transparent;border:none;padding:0}.json-content[data-v-0c406c8e]{padding:12px;background-color:#f5f7fa;border-radius:4px}.json-content pre[data-v-0c406c8e]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:12px;line-height:1.6}.output-section[data-v-0c406c8e]{padding:10px}.choice-item[data-v-0c406c8e]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-header[data-v-0c406c8e]{padding:8px 12px;background-color:#f5f7fa;border-bottom:1px solid #ebeef5;font-weight:500;font-size:13px}.choice-content[data-v-0c406c8e]{padding:12px}.choice-content .structured-content[data-v-0c406c8e]{margin-top:8px}.choice-content .markdown-content[data-v-0c406c8e]{background-color:#f5f7fa}.message-header[data-v-0c406c8e]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.choice-content pre[data-v-0c406c8e]{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.empty-content[data-v-0c406c8e]{padding:20px 0}.empty-io[data-v-0c406c8e]{padding:40px 0}.event-attributes[data-v-0c406c8e]{margin-top:10px;padding:10px;background-color:#f5f7fa;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.raw-io-content[data-v-0c406c8e]{padding:10px 0}.raw-io-section[data-v-0c406c8e]{margin-bottom:20px}.code-editor-wrapper[data-v-0c406c8e]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-0c406c8e] .CodeMirror{height:100%;font-size:13px;line-height:1.6;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace}.code-editor-wrapper[data-v-0c406c8e] .CodeMirror-scroll{max-height:600px}.code-editor-wrapper[data-v-0c406c8e] .CodeMirror-cursor{border-left:1px solid #fff}.code-editor-wrapper[data-v-0c406c8e] .cm-string{color:#98d982}.code-editor-wrapper[data-v-0c406c8e] .cm-number{color:#d19a66}.code-editor-wrapper[data-v-0c406c8e] .cm-keyword{color:#c678dd}.code-editor-wrapper[data-v-0c406c8e] .cm-atom{color:#56b6c2}.code-editor-wrapper[data-v-0c406c8e] .cm-property,.code-editor-wrapper[data-v-0c406c8e] .cm-variable{color:#e06c75}.code-editor-wrapper[data-v-0c406c8e] .cm-operator{color:#56b6c2}.code-editor-wrapper[data-v-0c406c8e] .cm-bracket,.code-editor-wrapper[data-v-0c406c8e] .cm-punctuation{color:#abb2bf}.empty-raw-io[data-v-0c406c8e]{padding:40px 0}.structured-content[data-v-0c406c8e]{display:flex;flex-direction:column;gap:16px}.io-section .structured-content[data-v-0c406c8e]{padding:10px}.content-element[data-v-0c406c8e]{width:100%}.markdown-content[data-v-0c406c8e]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-0c406c8e] h1,.markdown-content[data-v-0c406c8e] h2,.markdown-content[data-v-0c406c8e] h3,.markdown-content[data-v-0c406c8e] h4,.markdown-content[data-v-0c406c8e] h5,.markdown-content[data-v-0c406c8e] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-0c406c8e] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-0c406c8e] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-0c406c8e] h3{font-size:18px}.markdown-content[data-v-0c406c8e] h4{font-size:16px}.markdown-content[data-v-0c406c8e] h5{font-size:14px}.markdown-content[data-v-0c406c8e] h6{font-size:13px}.markdown-content[data-v-0c406c8e] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-0c406c8e] ul,.markdown-content[data-v-0c406c8e] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-0c406c8e] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-0c406c8e] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-0c406c8e] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-0c406c8e] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-0c406c8e] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-0c406c8e] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-0c406c8e] table th,.markdown-content[data-v-0c406c8e] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-0c406c8e] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-0c406c8e] a{color:#409eff;text-decoration:none}.markdown-content[data-v-0c406c8e] a:hover{text-decoration:underline}.image-content[data-v-0c406c8e]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-0c406c8e]{font-size:12px;color:#606266;margin-bottom:8px;font-weight:500;background-color:#e6f7ff;padding:4px 12px;border-radius:4px;border:1px solid #91d5ff}.content-image[data-v-0c406c8e]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-0c406c8e]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.attributes-table .attribute-key[data-v-0c406c8e]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attributes-table .attribute-value[data-v-0c406c8e]{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-all;line-height:1.5;max-height:4.5em}.events-content[data-v-0c406c8e]{padding:10px 0}.event-header[data-v-0c406c8e]{display:flex;align-items:center;gap:12px}.event-name-tag[data-v-0c406c8e]{font-weight:500}.event-time[data-v-0c406c8e]{font-size:12px;color:#909399}.event-detail[data-v-0c406c8e]{padding:12px}.exception-content[data-v-0c406c8e]{display:flex;flex-direction:column;gap:16px}.exception-field[data-v-0c406c8e]{display:flex;flex-direction:column;gap:8px}.exception-field .field-label[data-v-0c406c8e]{font-size:13px;font-weight:500;color:#606266}.exception-field .field-value[data-v-0c406c8e]{padding:12px;background-color:#f5f7fa;border-radius:4px;font-size:13px;line-height:1.6;word-break:break-all}.exception-field .exception-type[data-v-0c406c8e]{color:#e6a23c;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.exception-field .exception-message[data-v-0c406c8e]{color:#f56c6c;border-left:3px solid #f56c6c}.stacktrace-editor[data-v-0c406c8e]{height:400px;max-height:500px}.stacktrace-editor[data-v-0c406c8e] .CodeMirror{height:100%}.stacktrace-editor[data-v-0c406c8e] .CodeMirror-scroll{max-height:500px;padding-bottom:30px}.general-event-content[data-v-0c406c8e]{padding:0}.empty-events[data-v-0c406c8e]{padding:40px 0}.attribute-tooltip{max-width:800px!important}.attribute-tooltip .attribute-tooltip-content{word-break:break-all;white-space:pre-wrap;line-height:1.6;max-height:300px;overflow-y:auto}.trace-list-container[data-v-ca175755]{padding:0;font-size:12px;color:#606266;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-ca175755] .el-card{border:none;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-ca175755] .el-card__body{padding:16px 16px 9px;flex:1;display:flex;flex-direction:column;overflow:hidden}.trace-content-wrapper[data-v-ca175755]{display:flex;flex-direction:column;flex:1;min-height:0}.trace-table-wrapper[data-v-ca175755]{flex:1;overflow:auto;margin-bottom:12px;min-height:0}.trace-pagination-wrapper[data-v-ca175755]{margin-top:auto;padding-top:10px;border-top:1px solid #EBEEF5}.trace-toolbar[data-v-ca175755]{margin-bottom:12px;padding:12px;background-color:#f8f9fa;border-radius:4px;display:flex;align-items:center;flex-wrap:wrap;gap:10px}.toolbar-select[data-v-ca175755]{width:200px;flex-shrink:0}.toolbar-input[data-v-ca175755]{width:300px;flex-shrink:0}.toolbar-date-picker[data-v-ca175755]{width:380px;flex-shrink:0}.trace-toolbar .el-button[data-v-ca175755],.trace-toolbar .el-tooltip[data-v-ca175755]{flex-shrink:0}.trace-list-container[data-v-ca175755] .el-table{font-size:12px;color:#606266}.trace-list-container[data-v-ca175755] .el-table th{background-color:#f3f5fa;color:#606266;font-size:12px;padding:8px 0;font-weight:500}.trace-list-container[data-v-ca175755] .el-table td{font-size:12px;color:#606266;padding:8px 0}.trace-list-container[data-v-ca175755] .el-table .el-link{font-size:12px}.trace-list-container[data-v-ca175755] .el-table .el-button--text{font-size:12px;padding:0}.trace-list-container[data-v-ca175755] .el-table .el-tag{font-size:12px}.trace-list-container[data-v-ca175755] .el-table--striped .el-table__body tr.el-table__row--striped td{background-color:#fafafa}.trace-list-container[data-v-ca175755] .el-table--striped .el-table__body tr.el-table__row--striped:hover td{background-color:#f0f2f5}.trace-row[data-v-ca175755]{cursor:pointer}.trace-row[data-v-ca175755]:hover{background-color:#f0f2f5}.trace-pagination[data-v-ca175755]{text-align:right;font-size:12px;color:#606266;font-weight:400}.trace-pagination[data-v-ca175755] .el-pagination{font-size:12px;color:#606266;display:flex;align-items:center;justify-content:flex-end}.trace-pagination[data-v-ca175755] .el-pagination *,.trace-pagination[data-v-ca175755] .el-pagination__total{font-size:12px;color:#606266;margin-right:8px;height:28px;line-height:28px}.trace-pagination[data-v-ca175755] .el-pagination .btn-next,.trace-pagination[data-v-ca175755] .el-pagination .btn-prev,.trace-pagination[data-v-ca175755] .el-pagination .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px;border:none;font-size:12px;height:28px;line-height:28px}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li{padding:0 4px;box-sizing:border-box;text-align:center}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.trace-pagination[data-v-ca175755] .el-pagination .btn-prev:hover,.trace-pagination[data-v-ca175755] .el-pagination .btn-next:hover{color:#409eff}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li:hover:not(.active){color:#409eff}.trace-pagination[data-v-ca175755] .el-pagination .el-pager li.active:hover{color:#fff}.trace-pagination[data-v-ca175755] .el-pagination__sizes .el-input{font-size:12px}.trace-pagination[data-v-ca175755] .el-pagination__sizes .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 25px 0 8px}.trace-pagination[data-v-ca175755] .el-pagination__jump{margin-left:16px;font-size:12px;color:#606266}.trace-pagination[data-v-ca175755] .el-pagination__editor{font-size:12px;margin:0 4px}.trace-pagination[data-v-ca175755] .el-pagination__editor .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 4px;text-align:center}.text-muted[data-v-ca175755]{color:#909399}
|
package/dist/trace.es.js
CHANGED
|
@@ -13286,12 +13286,21 @@ const $m = {
|
|
|
13286
13286
|
var u, n;
|
|
13287
13287
|
return ((n = (u = this.selectedSpan) == null ? void 0 : u.parsedContent) == null ? void 0 : n.outputs) !== void 0;
|
|
13288
13288
|
},
|
|
13289
|
+
showIOTab() {
|
|
13290
|
+
var o, f, d;
|
|
13291
|
+
if (!this.selectedSpan || !(this.selectedSpan.type === "CLIENT" || this.selectedSpan.type === "CHAT_MODEL")) return !1;
|
|
13292
|
+
const n = (d = (f = (o = this.selectedSpan) == null ? void 0 : o.parsedContent) == null ? void 0 : f.attributes) == null ? void 0 : d["langsword.spanInputs"];
|
|
13293
|
+
return n != null && n !== "";
|
|
13294
|
+
},
|
|
13289
13295
|
attributesData() {
|
|
13290
13296
|
var u, n;
|
|
13291
|
-
return (n = (u = this.selectedSpan) == null ? void 0 : u.parsedContent) != null && n.attributes ? Object.entries(this.selectedSpan.parsedContent.attributes).filter(([a]) => !a.startsWith("langsword.span")).map(([a, o]) =>
|
|
13292
|
-
|
|
13293
|
-
|
|
13294
|
-
|
|
13297
|
+
return (n = (u = this.selectedSpan) == null ? void 0 : u.parsedContent) != null && n.attributes ? Object.entries(this.selectedSpan.parsedContent.attributes).filter(([a]) => !a.startsWith("langsword.span")).map(([a, o]) => {
|
|
13298
|
+
let f;
|
|
13299
|
+
return a === "http.response.body.size" || a === "http.request.body.size" ? f = this.formatBytes(o) : typeof o == "string" ? f = o : f = JSON.stringify(o, null, 2), {
|
|
13300
|
+
key: a,
|
|
13301
|
+
value: f
|
|
13302
|
+
};
|
|
13303
|
+
}) : [];
|
|
13295
13304
|
},
|
|
13296
13305
|
rawInputs() {
|
|
13297
13306
|
var u, n, a;
|
|
@@ -13314,22 +13323,24 @@ const $m = {
|
|
|
13314
13323
|
return !u || !Array.isArray(u) ? [] : u;
|
|
13315
13324
|
},
|
|
13316
13325
|
showDebugTab() {
|
|
13317
|
-
var
|
|
13318
|
-
if (!this.selectedSpan) return !1;
|
|
13326
|
+
var o, f, d, p, y;
|
|
13327
|
+
if (!this.selectedSpan || !(this.selectedSpan.type === "CLIENT" || this.selectedSpan.type === "CHAT_MODEL")) return !1;
|
|
13328
|
+
const n = (d = (f = (o = this.selectedSpan) == null ? void 0 : o.parsedContent) == null ? void 0 : f.attributes) == null ? void 0 : d["langsword.spanInputs"];
|
|
13329
|
+
if (!(n != null && n !== "")) return !1;
|
|
13319
13330
|
if (this.selectedSpan.type === "CLIENT") {
|
|
13320
|
-
const
|
|
13321
|
-
if (!
|
|
13322
|
-
const
|
|
13323
|
-
if (
|
|
13331
|
+
const m = (y = (p = this.selectedSpan) == null ? void 0 : p.parsedContent) == null ? void 0 : y.inputs;
|
|
13332
|
+
if (!m) {
|
|
13333
|
+
const x = this.rawInputs;
|
|
13334
|
+
if (x)
|
|
13324
13335
|
try {
|
|
13325
|
-
const
|
|
13326
|
-
return
|
|
13336
|
+
const S = typeof x == "string" ? JSON.parse(x) : x;
|
|
13337
|
+
return S && S.file && (S.file.filename || S.file.content);
|
|
13327
13338
|
} catch {
|
|
13328
13339
|
return !1;
|
|
13329
13340
|
}
|
|
13330
13341
|
return !1;
|
|
13331
13342
|
}
|
|
13332
|
-
return
|
|
13343
|
+
return m && m.file && (m.file.filename || m.file.content);
|
|
13333
13344
|
}
|
|
13334
13345
|
return this.selectedSpan.type === "CHAT_MODEL";
|
|
13335
13346
|
}
|
|
@@ -13349,17 +13360,31 @@ const $m = {
|
|
|
13349
13360
|
});
|
|
13350
13361
|
},
|
|
13351
13362
|
selectedSpan() {
|
|
13352
|
-
var
|
|
13363
|
+
var o;
|
|
13353
13364
|
if (!this.selectedSpan) return;
|
|
13354
|
-
const u = this.selectedSpan.
|
|
13355
|
-
|
|
13356
|
-
let
|
|
13357
|
-
|
|
13365
|
+
const u = 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 = [];
|
|
13366
|
+
this.showIOTab && n.push("io", "raw"), this.showDebugTab && n.push("debug"), n.push("attributes"), u && n.push("events");
|
|
13367
|
+
let a = "attributes";
|
|
13368
|
+
this.showIOTab && (a = "io"), n.includes(a) ? this.activeTab = a : this.activeTab = "attributes", this.$nextTick(() => {
|
|
13358
13369
|
this.updateCollapseStates(), this.activeTab === "raw" && (this.rawInputsKey++, this.rawOutputsKey++), this.activeTab === "events" && this.eventsKey++;
|
|
13359
13370
|
});
|
|
13360
13371
|
}
|
|
13361
13372
|
},
|
|
13362
13373
|
methods: {
|
|
13374
|
+
formatBytes(u) {
|
|
13375
|
+
const n = typeof u == "number" ? u : Number(u);
|
|
13376
|
+
if (!Number.isFinite(n))
|
|
13377
|
+
return typeof u == "string" ? u : JSON.stringify(u, null, 2);
|
|
13378
|
+
const a = n < 0 ? "-" : "";
|
|
13379
|
+
let o = Math.abs(n);
|
|
13380
|
+
const f = ["B", "K", "M", "G", "T", "P", "E"];
|
|
13381
|
+
if (o < 1024)
|
|
13382
|
+
return `${a}${Math.round(o)}B`;
|
|
13383
|
+
let d = 0;
|
|
13384
|
+
for (; o >= 1024 && d < f.length - 1; )
|
|
13385
|
+
o /= 1024, d++;
|
|
13386
|
+
return `${a}${o.toFixed(2)}${f[d]}`;
|
|
13387
|
+
},
|
|
13363
13388
|
handleClose(u) {
|
|
13364
13389
|
this.$emit("close"), u && typeof u == "function" && u();
|
|
13365
13390
|
},
|
|
@@ -13594,7 +13619,7 @@ var Bm = function() {
|
|
|
13594
13619
|
n.spanSearchQuery = x;
|
|
13595
13620
|
}, expression: "spanSearchQuery" } })], 1), a("TraceSpanTree", { attrs: { spans: n.filteredSpans, "selected-span-id": n.selectedSpanId, "trace-start-time": n.traceStartTime, "trace-end-time": n.traceEndTime }, on: { "span-select": n.handleSpanSelect } })], 1)], 1), a("el-col", { staticClass: "span-detail-col", attrs: { span: 16 } }, [a("el-card", [n.selectedSpan ? a("div", { staticClass: "span-detail-content" }, [a("el-tabs", { key: `tabs-${n.selectedSpanId}`, model: { value: n.activeTab, callback: function(x) {
|
|
13596
13621
|
n.activeTab = x;
|
|
13597
|
-
}, expression: "activeTab" } }, [n.
|
|
13622
|
+
}, expression: "activeTab" } }, [n.showIOTab ? a("el-tab-pane", { attrs: { label: `${n.$t("trace.inputs")} / ${n.$t("trace.outputs")}`, name: "io" } }, [a("div", { staticClass: "io-content" }, [n.hasInputs ? a("div", { staticClass: "io-section" }, [a("el-collapse", { model: { value: n.activeCollapse, callback: function(x) {
|
|
13598
13623
|
n.activeCollapse = x;
|
|
13599
13624
|
}, expression: "activeCollapse" } }, [a("el-collapse-item", { attrs: { title: n.$t("trace.inputs"), name: "inputs" } }, [(f = (o = n.selectedSpan.parsedContent) == null ? void 0 : o.inputs) != null && f.messages ? a("div", { staticClass: "messages-section" }, n._l(n.selectedSpan.parsedContent.inputs.messages, function(x, S) {
|
|
13600
13625
|
return a("div", { key: S, staticClass: "message-item" }, [a("el-collapse", { model: { value: n.messageCollapse, callback: function(A) {
|
|
@@ -13628,7 +13653,7 @@ var Bm = function() {
|
|
|
13628
13653
|
return [a("el-tooltip", { attrs: { content: x.row.key, placement: "top", "open-delay": 500, "popper-class": "attribute-tooltip" } }, [a("span", { staticClass: "attribute-key" }, [n._v(n._s(x.row.key))])])];
|
|
13629
13654
|
} }], null, !1, 688878823) }), a("el-table-column", { attrs: { prop: "value", label: n.$t("trace.value") }, scopedSlots: n._u([{ key: "default", fn: function(x) {
|
|
13630
13655
|
return [a("el-tooltip", { attrs: { placement: "top", "open-delay": 500, "popper-class": "attribute-tooltip" } }, [a("div", { staticClass: "attribute-tooltip-content", attrs: { slot: "content" }, slot: "content" }, [n._v(n._s(x.row.value))]), a("div", { staticClass: "attribute-value" }, [n._v(n._s(x.row.value))])])];
|
|
13631
|
-
} }], null, !1, 4281519148) })], 1)], 1), n.
|
|
13656
|
+
} }], null, !1, 4281519148) })], 1)], 1), n.showIOTab ? a("el-tab-pane", { attrs: { label: n.$t("trace.rawInputsOutputs"), name: "raw" } }, [n.activeTab === "raw" ? a("div", { staticClass: "raw-io-content" }, [n.rawInputs ? a("div", { staticClass: "raw-io-section" }, [a("el-collapse", { model: { value: n.rawIoCollapse, callback: function(x) {
|
|
13632
13657
|
n.rawIoCollapse = x;
|
|
13633
13658
|
}, expression: "rawIoCollapse" } }, [a("el-collapse-item", { attrs: { title: n.$t("trace.rawInputs"), name: "rawInputs" } }, [a("codemirror", { key: `raw-inputs-${n.selectedSpanId}-${n.rawInputsKey}`, staticClass: "code-editor-wrapper", attrs: { value: n.formatRawJson(n.rawInputs), options: n.cmOptions } })], 1)], 1)], 1) : n._e(), n.rawOutputs ? a("div", { staticClass: "raw-io-section" }, [a("el-collapse", { model: { value: n.rawIoCollapse, callback: function(x) {
|
|
13634
13659
|
n.rawIoCollapse = x;
|
|
@@ -13647,7 +13672,7 @@ var Bm = function() {
|
|
|
13647
13672
|
Hm,
|
|
13648
13673
|
!1,
|
|
13649
13674
|
null,
|
|
13650
|
-
"
|
|
13675
|
+
"0c406c8e"
|
|
13651
13676
|
);
|
|
13652
13677
|
const jm = Wm.exports, Um = {
|
|
13653
13678
|
name: "Trace",
|
package/dist/trace.umd.js
CHANGED
|
@@ -75,7 +75,7 @@ Please report this to https://github.com/markedjs/marked.`,n){const f="<p>An err
|
|
|
75
75
|
*
|
|
76
76
|
* Date: 2024-11-24T04:32:19.116Z
|
|
77
77
|
*/function th(u,n){if(!(u instanceof n))throw new TypeError("Cannot call a class as a function")}function Mo(u,n){for(var a=0;a<n.length;a++){var o=n[a];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(u,Fo(o.key),o)}}function nh(u,n,a){return n&&Mo(u.prototype,n),a&&Mo(u,a),Object.defineProperty(u,"prototype",{writable:!1}),u}function rh(u,n,a){return(n=Fo(n))in u?Object.defineProperty(u,n,{value:a,enumerable:!0,configurable:!0,writable:!0}):u[n]=a,u}function Ro(u,n){var a=Object.keys(u);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(u);n&&(o=o.filter(function(f){return Object.getOwnPropertyDescriptor(u,f).enumerable})),a.push.apply(a,o)}return a}function Ga(u){for(var n=1;n<arguments.length;n++){var a=arguments[n]!=null?arguments[n]:{};n%2?Ro(Object(a),!0).forEach(function(o){rh(u,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(a)):Ro(Object(a)).forEach(function(o){Object.defineProperty(u,o,Object.getOwnPropertyDescriptor(a,o))})}return u}function ih(u,n){if(typeof u!="object"||!u)return u;var a=u[Symbol.toPrimitive];if(a!==void 0){var o=a.call(u,n);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(u)}function Fo(u){var n=ih(u,"string");return typeof n=="symbol"?n:n+""}function Ka(u){"@babel/helpers - typeof";return Ka=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},Ka(u)}var Po={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},ah='<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>',qi=typeof window<"u"&&typeof window.document<"u",wn=qi?window:{},hr=qi&&wn.document.documentElement?"ontouchstart"in wn.document.documentElement:!1,Xa=qi?"PointerEvent"in wn:!1,Ne="viewer",Gi="move",zo="switch",ei="zoom",Ki="".concat(Ne,"-active"),sh="".concat(Ne,"-close"),Xi="".concat(Ne,"-fade"),Ya="".concat(Ne,"-fixed"),oh="".concat(Ne,"-fullscreen"),$o="".concat(Ne,"-fullscreen-exit"),Vn="".concat(Ne,"-hide"),lh="".concat(Ne,"-hide-md-down"),uh="".concat(Ne,"-hide-sm-down"),fh="".concat(Ne,"-hide-xs-down"),Vt="".concat(Ne,"-in"),ti="".concat(Ne,"-invisible"),dr="".concat(Ne,"-loading"),ch="".concat(Ne,"-move"),Bo="".concat(Ne,"-open"),pr="".concat(Ne,"-show"),at="".concat(Ne,"-transition"),gr="click",Va="dblclick",Ho="dragstart",Wo="focusin",jo="keydown",Jt="load",Jn="error",hh=hr?"touchend touchcancel":"mouseup",dh=hr?"touchmove":"mousemove",ph=hr?"touchstart":"mousedown",Uo=Xa?"pointerdown":ph,qo=Xa?"pointermove":dh,Go=Xa?"pointerup pointercancel":hh,Ko="resize",tn="transitionend",Xo="wheel",Yo="ready",Vo="show",Jo="shown",Qo="hide",Zo="hidden",el="view",ni="viewed",tl="move",nl="moved",rl="rotate",il="rotated",al="scale",sl="scaled",ol="zoom",ll="zoomed",ul="play",fl="stop",Yi="".concat(Ne,"Action"),Ja=/\s\s*/,Vi=["zoom-in","zoom-out","one-to-one","reset","prev","play","next","rotate-left","rotate-right","flip-horizontal","flip-vertical"];function ri(u){return typeof u=="string"}var gh=Number.isNaN||wn.isNaN;function Ze(u){return typeof u=="number"&&!gh(u)}function mr(u){return typeof u>"u"}function vr(u){return Ka(u)==="object"&&u!==null}var mh=Object.prototype.hasOwnProperty;function yr(u){if(!vr(u))return!1;try{var n=u.constructor,a=n.prototype;return n&&a&&mh.call(a,"isPrototypeOf")}catch{return!1}}function qe(u){return typeof u=="function"}function Xe(u,n){if(u&&qe(n))if(Array.isArray(u)||Ze(u.length)){var a=u.length,o;for(o=0;o<a&&n.call(u,u[o],o,u)!==!1;o+=1);}else vr(u)&&Object.keys(u).forEach(function(f){n.call(u,u[f],f,u)});return u}var Ut=Object.assign||function(n){for(var a=arguments.length,o=new Array(a>1?a-1:0),f=1;f<a;f++)o[f-1]=arguments[f];return vr(n)&&o.length>0&&o.forEach(function(d){vr(d)&&Object.keys(d).forEach(function(p){n[p]=d[p]})}),n},vh=/^(?:width|height|left|top|marginLeft|marginTop)$/;function nn(u,n){var a=u.style;Xe(n,function(o,f){vh.test(f)&&Ze(o)&&(o+="px"),a[f]=o})}function yh(u){return ri(u)?u.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"):u}function br(u,n){return!u||!n?!1:u.classList?u.classList.contains(n):u.className.indexOf(n)>-1}function Ce(u,n){if(!(!u||!n)){if(Ze(u.length)){Xe(u,function(o){Ce(o,n)});return}if(u.classList){u.classList.add(n);return}var a=u.className.trim();a?a.indexOf(n)<0&&(u.className="".concat(a," ").concat(n)):u.className=n}}function He(u,n){if(!(!u||!n)){if(Ze(u.length)){Xe(u,function(a){He(a,n)});return}if(u.classList){u.classList.remove(n);return}u.className.indexOf(n)>=0&&(u.className=u.className.replace(n,""))}}function ii(u,n,a){if(n){if(Ze(u.length)){Xe(u,function(o){ii(o,n,a)});return}a?Ce(u,n):He(u,n)}}var bh=/([a-z\d])([A-Z])/g;function Qa(u){return u.replace(bh,"$1-$2").toLowerCase()}function xr(u,n){return vr(u[n])?u[n]:u.dataset?u.dataset[n]:u.getAttribute("data-".concat(Qa(n)))}function Za(u,n,a){vr(a)?u[n]=a:u.dataset?u.dataset[n]=a:u.setAttribute("data-".concat(Qa(n)),a)}var cl=function(){var u=!1;if(qi){var n=!1,a=function(){},o=Object.defineProperty({},"once",{get:function(){return u=!0,n},set:function(d){n=d}});wn.addEventListener("test",a,o),wn.removeEventListener("test",a,o)}return u}();function Ge(u,n,a){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},f=a;n.trim().split(Ja).forEach(function(d){if(!cl){var p=u.listeners;p&&p[d]&&p[d][a]&&(f=p[d][a],delete p[d][a],Object.keys(p[d]).length===0&&delete p[d],Object.keys(p).length===0&&delete u.listeners)}u.removeEventListener(d,f,o)})}function Ee(u,n,a){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},f=a;n.trim().split(Ja).forEach(function(d){if(o.once&&!cl){var p=u.listeners,y=p===void 0?{}:p;f=function(){delete y[d][a],u.removeEventListener(d,f,o);for(var x=arguments.length,S=new Array(x),A=0;A<x;A++)S[A]=arguments[A];a.apply(u,S)},y[d]||(y[d]={}),y[d][a]&&u.removeEventListener(d,y[d][a],o),y[d][a]=f,u.listeners=y}u.addEventListener(d,f,o)})}function ot(u,n,a,o){var f;return qe(Event)&&qe(CustomEvent)?f=new CustomEvent(n,Ga({bubbles:!0,cancelable:!0,detail:a},o)):(f=document.createEvent("CustomEvent"),f.initCustomEvent(n,!0,!0,a)),u.dispatchEvent(f)}function xh(u){var n=u.getBoundingClientRect();return{left:n.left+(window.pageXOffset-document.documentElement.clientLeft),top:n.top+(window.pageYOffset-document.documentElement.clientTop)}}function Ji(u){var n=u.rotate,a=u.scaleX,o=u.scaleY,f=u.translateX,d=u.translateY,p=[];Ze(f)&&f!==0&&p.push("translateX(".concat(f,"px)")),Ze(d)&&d!==0&&p.push("translateY(".concat(d,"px)")),Ze(n)&&n!==0&&p.push("rotate(".concat(n,"deg)")),Ze(a)&&a!==1&&p.push("scaleX(".concat(a,")")),Ze(o)&&o!==1&&p.push("scaleY(".concat(o,")"));var y=p.length?p.join(" "):"none";return{WebkitTransform:y,msTransform:y,transform:y}}function wh(u){return ri(u)?decodeURIComponent(u.replace(/^.*\//,"").replace(/[?&#].*$/,"")):""}var es=wn.navigator&&/Version\/\d+(\.\d+)+?\s+Safari/i.test(wn.navigator.userAgent);function hl(u,n,a){var o=document.createElement("img");if(u.naturalWidth&&!es)return a(u.naturalWidth,u.naturalHeight),o;var f=document.body||document.documentElement;return o.onload=function(){a(o.width,o.height),es||f.removeChild(o)},Xe(n.inheritedAttributes,function(d){var p=u.getAttribute(d);p!==null&&o.setAttribute(d,p)}),o.src=u.src,es||(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;",f.appendChild(o)),o}function Qi(u){switch(u){case 2:return fh;case 3:return uh;case 4:return lh;default:return""}}function kh(u){var n=Ga({},u),a=[];return Xe(u,function(o,f){delete n[f],Xe(n,function(d){var p=Math.abs(o.startX-d.startX),y=Math.abs(o.startY-d.startY),m=Math.abs(o.endX-d.endX),x=Math.abs(o.endY-d.endY),S=Math.sqrt(p*p+y*y),A=Math.sqrt(m*m+x*x),E=(A-S)/S;a.push(E)})}),a.sort(function(o,f){return Math.abs(o)<Math.abs(f)}),a[0]}function Zi(u,n){var a=u.pageX,o=u.pageY,f={endX:a,endY:o};return n?f:Ga({timeStamp:Date.now(),startX:a,startY:o},f)}function Sh(u){var n=0,a=0,o=0;return Xe(u,function(f){var d=f.startX,p=f.startY;n+=d,a+=p,o+=1}),n/=o,a/=o,{pageX:n,pageY:a}}var Ch={render:function(){this.initContainer(),this.initViewer(),this.initList(),this.renderViewer()},initBody:function(){var n=this.element.ownerDocument,a=n.body||n.documentElement;this.body=a,this.scrollbarWidth=window.innerWidth-n.documentElement.clientWidth,this.initialBodyPaddingRight=a.style.paddingRight,this.initialBodyComputedPaddingRight=window.getComputedStyle(a).paddingRight},initContainer:function(){this.containerData={width:window.innerWidth,height:window.innerHeight}},initViewer:function(){var n=this.options,a=this.parent,o;n.inline&&(o={width:Math.max(a.offsetWidth,n.minWidth),height:Math.max(a.offsetHeight,n.minHeight)},this.parentData=o),(this.fulled||!o)&&(o=this.containerData),this.viewerData=Ut({},o)},renderViewer:function(){this.options.inline&&!this.fulled&&nn(this.viewer,this.viewerData)},initList:function(){var n=this,a=this.element,o=this.options,f=this.list,d=[];f.innerHTML="",Xe(this.images,function(p,y){var m=p.src,x=p.alt||wh(m),S=n.getImageURL(p);if(m||S){var A=document.createElement("li"),E=document.createElement("img");Xe(o.inheritedAttributes,function(W){var B=p.getAttribute(W);B!==null&&E.setAttribute(W,B)}),o.navbar&&(E.src=m||S),E.alt=x,E.setAttribute("data-original-url",S||m),A.setAttribute("data-index",y),A.setAttribute("data-viewer-action","view"),A.setAttribute("role","button"),o.keyboard&&A.setAttribute("tabindex",0),A.appendChild(E),f.appendChild(A),d.push(A)}}),this.items=d,Xe(d,function(p){var y=p.firstElementChild,m,x;Za(y,"filled",!0),o.loading&&Ce(p,dr),Ee(y,Jt,m=function(A){Ge(y,Jn,x),o.loading&&He(p,dr),n.loadImage(A)},{once:!0}),Ee(y,Jn,x=function(){Ge(y,Jt,m),o.loading&&He(p,dr)},{once:!0})}),o.transition&&Ee(a,ni,function(){Ce(f,at)},{once:!0})},renderList:function(){var n=this.index,a=this.items[n];if(a){var o=a.nextElementSibling,f=parseInt(window.getComputedStyle(o||a).marginLeft,10),d=a.offsetWidth,p=d+f;nn(this.list,Ut({width:p*this.length-f},Ji({translateX:(this.viewerData.width-d)/2-p*n})))}},resetList:function(){var n=this.list;n.innerHTML="",He(n,at),nn(n,Ji({translateX:0}))},initImage:function(n){var a=this,o=this.options,f=this.image,d=this.viewerData,p=this.footer.offsetHeight,y=d.width,m=Math.max(d.height-p,p),x=this.imageData||{},S;this.imageInitializing={abort:function(){S.onload=null}},S=hl(f,o,function(A,E){var W=A/E,B=Math.max(0,Math.min(1,o.initialCoverage)),q=y,F=m;a.imageInitializing=!1,m*W>y?F=y/W:q=m*W,B=Ze(B)?B:.9,q=Math.min(q*B,A),F=Math.min(F*B,E);var N=(y-q)/2,O=(m-F)/2,$={left:N,top:O,x:N,y:O,width:q,height:F,oldRatio:1,ratio:q/A,aspectRatio:W,naturalWidth:A,naturalHeight:E},X=Ut({},$);o.rotatable&&($.rotate=x.rotate||0,X.rotate=0),o.scalable&&($.scaleX=x.scaleX||1,$.scaleY=x.scaleY||1,X.scaleX=1,X.scaleY=1),a.imageData=$,a.initialImageData=X,n&&n()})},renderImage:function(n){var a=this,o=this.image,f=this.imageData;if(nn(o,Ut({width:f.width,height:f.height,marginLeft:f.x,marginTop:f.y},Ji(f))),n)if((this.viewing||this.moving||this.rotating||this.scaling||this.zooming)&&this.options.transition&&br(o,at)){var d=function(){a.imageRendering=!1,n()};this.imageRendering={abort:function(){Ge(o,tn,d)}},Ee(o,tn,d,{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="")}},Th={bind:function(){var n=this.options,a=this.viewer,o=this.canvas,f=this.element.ownerDocument;Ee(a,gr,this.onClick=this.click.bind(this)),Ee(a,Ho,this.onDragStart=this.dragstart.bind(this)),Ee(o,Uo,this.onPointerDown=this.pointerdown.bind(this)),Ee(f,qo,this.onPointerMove=this.pointermove.bind(this)),Ee(f,Go,this.onPointerUp=this.pointerup.bind(this)),Ee(f,jo,this.onKeyDown=this.keydown.bind(this)),Ee(window,Ko,this.onResize=this.resize.bind(this)),n.zoomable&&n.zoomOnWheel&&Ee(a,Xo,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),n.toggleOnDblclick&&Ee(o,Va,this.onDblclick=this.dblclick.bind(this))},unbind:function(){var n=this.options,a=this.viewer,o=this.canvas,f=this.element.ownerDocument;Ge(a,gr,this.onClick),Ge(a,Ho,this.onDragStart),Ge(o,Uo,this.onPointerDown),Ge(f,qo,this.onPointerMove),Ge(f,Go,this.onPointerUp),Ge(f,jo,this.onKeyDown),Ge(window,Ko,this.onResize),n.zoomable&&n.zoomOnWheel&&Ge(a,Xo,this.onWheel,{passive:!1,capture:!0}),n.toggleOnDblclick&&Ge(o,Va,this.onDblclick)}},_h={click:function(n){var a=this.options,o=this.imageData,f=n.target,d=xr(f,Yi);switch(!d&&f.localName==="img"&&f.parentElement.localName==="li"&&(f=f.parentElement,d=xr(f,Yi)),hr&&n.isTrusted&&f===this.canvas&&clearTimeout(this.clickCanvasTimeout),d){case"mix":this.played?this.stop():a.inline?this.fulled?this.exit():this.full():this.hide();break;case"hide":this.pointerMoved||this.hide();break;case"view":this.view(xr(f,"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(a.loop);break;case"play":this.play(a.fullscreen);break;case"next":this.next(a.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&&(hr&&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 a=this.element,o=this.options,f=this.image,d=this.index,p=this.viewerData;He(f,ti),o.loading&&He(this.canvas,dr),f.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(f,ch,o.movable),ii(f,at,o.transition),n.renderImage(function(){n.viewed=!0,n.viewing=!1,qe(o.viewed)&&Ee(a,ni,o.viewed,{once:!0}),ot(a,ni,{originalImage:n.images[d],index:d,image:f},{cancelable:!1})})})},loadImage:function(n){var a=n.target,o=a.parentNode,f=o.offsetWidth||30,d=o.offsetHeight||50,p=!!xr(a,"filled");hl(a,this.options,function(y,m){var x=y/m,S=f,A=d;d*x>f?p?S=d*x:A=f/x:p?A=f/x:S=d*x,nn(a,Ut({width:S,height:A},Ji({translateX:(f-S)/2,translateY:(d-A)/2})))})},keydown:function(n){var a=this.options;if(a.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():a.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(a.loop);break;case 38:n.preventDefault(),this.zoom(a.zoomRatio,!0);break;case 39:this.played&&this.playing?this.playing.next():this.next(a.loop);break;case 40:n.preventDefault(),this.zoom(-a.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 a=this.options,o=this.pointers,f=n.buttons,d=n.button;if(this.pointerMoved=!1,!(!this.viewed||this.showing||this.viewing||this.hiding||(n.type==="mousedown"||n.type==="pointerdown"&&n.pointerType==="mouse")&&(Ze(f)&&f!==1||Ze(d)&&d!==0||n.ctrlKey))){n.preventDefault(),n.changedTouches?Xe(n.changedTouches,function(y){o[y.identifier]=Zi(y)}):o[n.pointerId||0]=Zi(n);var p=a.movable?Gi:!1;a.zoomOnTouch&&a.zoomable&&Object.keys(o).length>1?p=ei:a.slideOnTouch&&(n.pointerType==="touch"||n.type==="touchstart")&&this.isSwitchable()&&(p=zo),a.transition&&(p===Gi||p===ei)&&He(this.image,at),this.action=p}},pointermove:function(n){var a=this.pointers,o=this.action;!this.viewed||!o||(n.preventDefault(),n.changedTouches?Xe(n.changedTouches,function(f){Ut(a[f.identifier]||{},Zi(f,!0))}):Ut(a[n.pointerId||0]||{},Zi(n,!0)),this.change(n))},pointerup:function(n){var a=this,o=this.options,f=this.action,d=this.pointers,p;n.changedTouches?Xe(n.changedTouches,function(y){p=d[y.identifier],delete d[y.identifier]}):(p=d[n.pointerId||0],delete d[n.pointerId||0]),f&&(n.preventDefault(),o.transition&&(f===Gi||f===ei)&&Ce(this.image,at),this.action=!1,hr&&f!==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(a.image,Va,{originalEvent:n})},50)):(this.imageClicked=!0,this.doubleClickImageTimeout=setTimeout(function(){a.imageClicked=!1},500)):(this.imageClicked=!1,o.backdrop&&o.backdrop!=="static"&&n.target===this.canvas&&(this.clickCanvasTimeout=setTimeout(function(){ot(a.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}Xe(this.player.getElementsByTagName("img"),function(a){Ee(a,Jt,n.loadImage.bind(n),{once:!0}),ot(a,Jt)})}},wheel:function(n){var a=this;if(this.viewed&&(n.preventDefault(),!this.wheeling)){this.wheeling=!0,setTimeout(function(){a.wheeling=!1},50);var o=Number(this.options.zoomRatio)||.1,f=1;n.deltaY?f=n.deltaY>0?1:-1:n.wheelDelta?f=-n.wheelDelta/120:n.detail&&(f=n.detail>0?1:-1),this.zoom(-f*o,!0,null,n)}}},Lh={show:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,a=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(qe(o.show)&&Ee(a,Vo,o.show,{once:!0}),ot(a,Vo)===!1||!this.ready)return this;this.hiding&&this.transitioning.abort(),this.showing=!0,this.open();var f=this.viewer;if(He(f,Vn),f.setAttribute("role","dialog"),f.setAttribute("aria-labelledby",this.title.id),f.setAttribute("aria-modal",!0),f.removeAttribute("aria-hidden"),o.transition&&!n){var d=this.shown.bind(this);this.transitioning={abort:function(){Ge(f,tn,d),He(f,Vt)}},Ce(f,at),f.initialOffsetWidth=f.offsetWidth,Ee(f,tn,d,{once:!0}),Ce(f,Vt)}else Ce(f,Vt),this.shown();return this},hide:function(){var n=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,o=this.element,f=this.options;if(f.inline||this.hiding||!(this.isShown||this.showing))return this;if(qe(f.hide)&&Ee(o,Qo,f.hide,{once:!0}),ot(o,Qo)===!1)return this;this.showing&&this.transitioning.abort(),this.hiding=!0,this.played?this.stop():this.viewing&&this.viewing.abort();var d=this.viewer,p=this.image,y=function(){He(d,Vt),n.hidden()};if(f.transition&&!a){var m=function(A){A&&A.target===d&&(Ge(d,tn,m),n.hidden())},x=function(){br(d,at)?(Ee(d,tn,m),He(d,Vt)):y()};this.transitioning={abort:function(){n.viewed&&br(p,at)?Ge(p,tn,x):br(d,at)&&Ge(d,tn,m)}},this.viewed&&br(p,at)?(Ee(p,tn,x,{once:!0}),this.zoomTo(0,!1,null,null,!0)):x()}else y();return this},view:function(){var n=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.initialViewIndex;if(a=Number(a)||0,this.hiding||this.played||a<0||a>=this.length||this.viewed&&a===this.index)return this;if(!this.isShown)return this.index=a,this.show();this.viewing&&this.viewing.abort();var o=this.element,f=this.options,d=this.title,p=this.canvas,y=this.items[a],m=y.querySelector("img"),x=xr(m,"originalUrl"),S=m.getAttribute("alt"),A=document.createElement("img");if(Xe(f.inheritedAttributes,function(F){var N=m.getAttribute(F);N!==null&&A.setAttribute(F,N)}),A.src=x,A.alt=S,qe(f.view)&&Ee(o,el,f.view,{once:!0}),ot(o,el,{originalImage:this.images[a],index:a,image:A})===!1||!this.isShown||this.hiding||this.played)return this;var E=this.items[this.index];E&&(He(E,Ki),E.removeAttribute("aria-selected")),Ce(y,Ki),y.setAttribute("aria-selected",!0),f.focus&&y.focus(),this.image=A,this.viewed=!1,this.index=a,this.imageData={},Ce(A,ti),f.loading&&Ce(p,dr),p.innerHTML="",p.appendChild(A),this.renderList(),d.innerHTML="";var W=function(){var N=n.imageData,O=Array.isArray(f.title)?f.title[1]:f.title;d.innerHTML=yh(qe(O)?O.call(n,A,N):"".concat(S," (").concat(N.naturalWidth," × ").concat(N.naturalHeight,")"))},B,q;return Ee(o,ni,W,{once:!0}),this.viewing={abort:function(){Ge(o,ni,W),A.complete?n.imageRendering?n.imageRendering.abort():n.imageInitializing&&n.imageInitializing.abort():(A.src="",Ge(A,Jt,B),n.timeout&&clearTimeout(n.timeout))}},A.complete?this.load():(Ee(A,Jt,B=function(){Ge(A,Jn,q),n.load()},{once:!0}),Ee(A,Jn,q=function(){Ge(A,Jt,B),n.timeout&&(clearTimeout(n.timeout),n.timeout=!1),He(A,ti),f.loading&&He(n.canvas,dr)},{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){He(A,ti),n.timeout=!1},1e3)),this},prev:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,a=this.index-1;return a<0&&(a=n?this.length-1:0),this.view(a),this},next:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,a=this.length-1,o=this.index+1;return o>a&&(o=n?0:a),this.view(o),this},move:function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,o=this.imageData;return this.moveTo(mr(n)?n:o.x+Number(n),mr(a)?a:o.y+Number(a)),this},moveTo:function(n){var a=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,d=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,x=y.y,S=!1;if(Ze(n)?S=!0:n=m,Ze(o)?S=!0:o=x,S){if(qe(p.move)&&Ee(d,tl,p.move,{once:!0}),ot(d,tl,{x:n,y:o,oldX:m,oldY:x,originalEvent:f})===!1)return this;y.x=n,y.y=o,y.left=n,y.top=o,this.moving=!0,this.renderImage(function(){a.moving=!1,qe(p.moved)&&Ee(d,nl,p.moved,{once:!0}),ot(d,nl,{x:n,y:o,oldX:m,oldY:x,originalEvent:f},{cancelable:!1})})}}return this},rotate:function(n){return this.rotateTo((this.imageData.rotate||0)+Number(n)),this},rotateTo:function(n){var a=this,o=this.element,f=this.options,d=this.imageData;if(n=Number(n),Ze(n)&&this.viewed&&!this.played&&f.rotatable){var p=d.rotate;if(qe(f.rotate)&&Ee(o,rl,f.rotate,{once:!0}),ot(o,rl,{degree:n,oldDegree:p})===!1)return this;d.rotate=n,this.rotating=!0,this.renderImage(function(){a.rotating=!1,qe(f.rotated)&&Ee(o,il,f.rotated,{once:!0}),ot(o,il,{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 a=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:n,f=this.element,d=this.options,p=this.imageData;if(n=Number(n),o=Number(o),this.viewed&&!this.played&&d.scalable){var y=p.scaleX,m=p.scaleY,x=!1;if(Ze(n)?x=!0:n=y,Ze(o)?x=!0:o=m,x){if(qe(d.scale)&&Ee(f,al,d.scale,{once:!0}),ot(f,al,{scaleX:n,scaleY:o,oldScaleX:y,oldScaleY:m})===!1)return this;p.scaleX=n,p.scaleY=o,this.scaling=!0,this.renderImage(function(){a.scaling=!1,qe(d.scaled)&&Ee(f,sl,d.scaled,{once:!0}),ot(f,sl,{scaleX:n,scaleY:o,oldScaleX:y,oldScaleY:m},{cancelable:!1})})}}return this},zoom:function(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,d=this.imageData;return n=Number(n),n<0?n=1/(1-n):n=1+n,this.zoomTo(d.width*n/d.naturalWidth,a,o,f),this},zoomTo:function(n){var a=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,d=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,x=this.pointers,S=this.imageData,A=S.x,E=S.y,W=S.width,B=S.height,q=S.naturalWidth,F=S.naturalHeight;if(n=Math.max(0,n),Ze(n)&&this.viewed&&!this.played&&(p||m.zoomable)){if(!p){var N=Math.max(.01,m.minZoomRatio),O=Math.min(100,m.maxZoomRatio);n=Math.min(Math.max(n,N),O)}if(d)switch(d.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 $=q*n,X=F*n,ne=$-W,ue=X-B,se=S.ratio;if(qe(m.zoom)&&Ee(y,ol,m.zoom,{once:!0}),ot(y,ol,{ratio:n,oldRatio:se,originalEvent:d})===!1)return this;if(this.zooming=!0,d){var he=xh(this.viewer),Oe=x&&Object.keys(x).length>0?Sh(x):{pageX:d.pageX,pageY:d.pageY};S.x-=ne*((Oe.pageX-he.left-A)/W),S.y-=ue*((Oe.pageY-he.top-E)/B)}else yr(f)&&Ze(f.x)&&Ze(f.y)?(S.x-=ne*((f.x-A)/W),S.y-=ue*((f.y-E)/B)):(S.x-=ne/2,S.y-=ue/2);S.left=S.x,S.top=S.y,S.width=$,S.height=X,S.oldRatio=se,S.ratio=n,this.renderImage(function(){a.zooming=!1,qe(m.zoomed)&&Ee(y,ll,m.zoomed,{once:!0}),ot(y,ll,{ratio:n,oldRatio:se,originalEvent:d},{cancelable:!1})}),o&&this.tooltip()}return this},play:function(){var n=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!this.isShown||this.played)return this;var o=this.element,f=this.options;if(qe(f.play)&&Ee(o,ul,f.play,{once:!0}),ot(o,ul)===!1)return this;var d=this.player,p=this.loadImage.bind(this),y=[],m=0,x=0;if(this.played=!0,this.onLoadWhenPlay=p,a&&this.requestFullscreen(a),Ce(d,pr),Xe(this.items,function(E,W){var B=E.querySelector("img"),q=document.createElement("img");q.src=xr(B,"originalUrl"),q.alt=B.getAttribute("alt"),q.referrerPolicy=B.referrerPolicy,m+=1,Ce(q,Xi),ii(q,at,f.transition),br(E,Ki)&&(Ce(q,Vt),x=W),y.push(q),Ee(q,Jt,p,{once:!0}),d.appendChild(q)}),Ze(f.interval)&&f.interval>0){var S=function(){clearTimeout(n.playing.timeout),He(y[x],Vt),x-=1,x=x>=0?x:m-1,Ce(y[x],Vt),n.playing.timeout=setTimeout(S,f.interval)},A=function(){clearTimeout(n.playing.timeout),He(y[x],Vt),x+=1,x=x<m?x:0,Ce(y[x],Vt),n.playing.timeout=setTimeout(A,f.interval)};m>1&&(this.playing={prev:S,next:A,timeout:setTimeout(A,f.interval)})}return this},stop:function(){var n=this;if(!this.played)return this;var a=this.element,o=this.options;if(qe(o.stop)&&Ee(a,fl,o.stop,{once:!0}),ot(a,fl)===!1)return this;var f=this.player;return clearTimeout(this.playing.timeout),this.playing=!1,this.played=!1,Xe(f.getElementsByTagName("img"),function(d){Ge(d,Jt,n.onLoadWhenPlay)}),He(f,pr),f.innerHTML="",this.exitFullscreen(),this},full:function(){var n=this,a=this.options,o=this.viewer,f=this.image,d=this.list;return!this.isShown||this.played||this.fulled||!a.inline?this:(this.fulled=!0,this.open(),Ce(this.button,$o),a.transition&&(He(d,at),this.viewed&&He(f,at)),Ce(o,Ya),o.setAttribute("role","dialog"),o.setAttribute("aria-labelledby",this.title.id),o.setAttribute("aria-modal",!0),o.removeAttribute("style"),nn(o,{zIndex:a.zIndex}),a.focus&&this.enforceFocus(),this.initContainer(),this.viewerData=Ut({},this.containerData),this.renderList(),this.viewed&&this.initImage(function(){n.renderImage(function(){a.transition&&setTimeout(function(){Ce(f,at),Ce(d,at)},0)})}),this)},exit:function(){var n=this,a=this.options,o=this.viewer,f=this.image,d=this.list;return!this.isShown||this.played||!this.fulled||!a.inline?this:(this.fulled=!1,this.close(),He(this.button,$o),a.transition&&(He(d,at),this.viewed&&He(f,at)),a.focus&&this.clearEnforceFocus(),o.removeAttribute("role"),o.removeAttribute("aria-labelledby"),o.removeAttribute("aria-modal"),He(o,Ya),nn(o,{zIndex:a.zIndexInline}),this.viewerData=Ut({},this.parentData),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){n.renderImage(function(){a.transition&&setTimeout(function(){Ce(f,at),Ce(d,at)},0)})}),this)},tooltip:function(){var n=this,a=this.options,o=this.tooltipBox,f=this.imageData;return!this.viewed||this.played||!a.tooltip?this:(o.textContent="".concat(Math.round(f.ratio*100),"%"),this.tooltipping?clearTimeout(this.tooltipping):a.transition?(this.fading&&ot(o,tn),Ce(o,pr),Ce(o,Xi),Ce(o,at),o.removeAttribute("aria-hidden"),o.initialOffsetWidth=o.offsetWidth,Ce(o,Vt)):(Ce(o,pr),o.removeAttribute("aria-hidden")),this.tooltipping=setTimeout(function(){a.transition?(Ee(o,tn,function(){He(o,pr),He(o,Xi),He(o,at),o.setAttribute("aria-hidden",!0),n.fading=!1},{once:!0}),He(o,Vt),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=Ut({},this.initialImageData),this.renderImage()),this},update:function(){var n=this,a=this.element,o=this.options,f=this.isImg;if(f&&!a.parentNode)return this.destroy();var d=[];if(Xe(f?[a]:a.querySelectorAll("img"),function(x){qe(o.filter)?o.filter.call(n,x)&&d.push(x):n.getImageURL(x)&&d.push(x)}),!d.length)return this;if(this.images=d,this.length=d.length,this.ready){var p=[];if(Xe(this.items,function(x,S){var A=x.querySelector("img"),E=d[S];E&&A?(E.src!==A.src||E.alt!==A.alt)&&p.push(S):p.push(S)}),nn(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];Ce(m,Ki),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,a=this.options;return n[Ne]?(this.destroyed=!0,this.ready?(this.played&&this.stop(),a.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)):a.inline&&(this.delaying?this.delaying.abort():this.initializing&&this.initializing.abort()),a.inline||Ge(n,gr,this.onStart),n[Ne]=void 0,this):this}},Eh={getImageURL:function(n){var a=this.options.url;return ri(a)?a=n.getAttribute(a):qe(a)?a=a.call(this,n):a="",a},enforceFocus:function(){var n=this;this.clearEnforceFocus(),Ee(document,Wo,this.onFocusin=function(a){var o=n.viewer,f=a.target;if(!(f===document||f===o||o.contains(f))){for(;f;){if(f.getAttribute("tabindex")!==null||f.getAttribute("aria-modal")==="true")return;f=f.parentElement}o.focus()}})},clearEnforceFocus:function(){this.onFocusin&&(Ge(document,Wo,this.onFocusin),this.onFocusin=null)},open:function(){var n=this.body;Ce(n,Bo),this.scrollbarWidth>0&&(n.style.paddingRight="".concat(this.scrollbarWidth+(parseFloat(this.initialBodyComputedPaddingRight)||0),"px"))},close:function(){var n=this.body;He(n,Bo),this.scrollbarWidth>0&&(n.style.paddingRight=this.initialBodyPaddingRight)},shown:function(){var n=this.element,a=this.options,o=this.viewer;this.fulled=!0,this.isShown=!0,this.render(),this.bind(),this.showing=!1,a.focus&&(o.focus(),this.enforceFocus()),qe(a.shown)&&Ee(n,Jo,a.shown,{once:!0}),ot(n,Jo)!==!1&&this.ready&&this.isShown&&!this.hiding&&this.view(this.index)},hidden:function(){var n=this.element,a=this.options,o=this.viewer;a.fucus&&this.clearEnforceFocus(),this.close(),this.unbind(),Ce(o,Vn),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||(qe(a.hidden)&&Ee(n,Zo,a.hidden,{once:!0}),ot(n,Zo,null,{cancelable:!1}))},requestFullscreen:function(n){var a=this.element.ownerDocument;if(this.fulled&&!(a.fullscreenElement||a.webkitFullscreenElement||a.mozFullScreenElement||a.msFullscreenElement)){var o=a.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 a=this.options,o=this.pointers,f=o[Object.keys(o)[0]];if(f){var d=f.endX-f.startX,p=f.endY-f.startY;switch(this.action){case Gi:(d!==0||p!==0)&&(this.pointerMoved=!0,this.move(d,p,n));break;case ei:this.zoom(kh(o),!1,null,n);break;case zo:{this.action="switched";var y=Math.abs(d);y>1&&y>Math.abs(p)&&(this.pointers={},d>1?this.prev(a.loop):d<-1&&this.next(a.loop));break}}Xe(o,function(m){m.startX=m.endX,m.startY=m.endY})}},isSwitchable:function(){var n=this.imageData,a=this.viewerData;return this.length>1&&n.x>=0&&n.y>=0&&n.width<=a.width&&n.height<=a.height}},Dh=wn.Viewer,Ah=function(u){return function(){return u+=1,u}}(-1),dl=function(){function u(n){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(th(this,u),!n||n.nodeType!==1)throw new Error("The first argument is required and must be an element.");this.element=n,this.options=Ut({},Po,yr(a)&&a),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=Ah(),this.init()}return nh(u,[{key:"init",value:function(){var a=this,o=this.element,f=this.options;if(!o[Ne]){o[Ne]=this,f.focus&&!f.keyboard&&(f.focus=!1);var d=o.localName==="img",p=[];if(Xe(d?[o]:o.querySelectorAll("img"),function(x){qe(f.filter)?f.filter.call(a,x)&&p.push(x):a.getImageURL(x)&&p.push(x)}),this.isImg=d,this.length=p.length,this.images=p,this.initBody(),mr(document.createElement(Ne).style.transition)&&(f.transition=!1),f.inline){var y=0,m=function(){if(y+=1,y===a.length){var S;a.initializing=!1,a.delaying={abort:function(){clearTimeout(S)}},S=setTimeout(function(){a.delaying=!1,a.build()},0)}};this.initializing={abort:function(){Xe(p,function(S){S.complete||(Ge(S,Jt,m),Ge(S,Jn,m))})}},Xe(p,function(x){if(x.complete)m();else{var S,A;Ee(x,Jt,S=function(){Ge(x,Jn,A),m()},{once:!0}),Ee(x,Jn,A=function(){Ge(x,Jt,S),m()},{once:!0})}})}else Ee(o,gr,this.onStart=function(x){var S=x.target;S.localName==="img"&&(!qe(f.filter)||f.filter.call(a,S))&&a.view(a.images.indexOf(S))})}}},{key:"build",value:function(){if(!this.ready){var a=this.element,o=this.options,f=a.parentNode,d=document.createElement("div");d.innerHTML=ah;var p=d.querySelector(".".concat(Ne,"-container")),y=p.querySelector(".".concat(Ne,"-title")),m=p.querySelector(".".concat(Ne,"-toolbar")),x=p.querySelector(".".concat(Ne,"-navbar")),S=p.querySelector(".".concat(Ne,"-button")),A=p.querySelector(".".concat(Ne,"-canvas"));if(this.parent=f,this.viewer=p,this.title=y,this.toolbar=m,this.navbar=x,this.button=S,this.canvas=A,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),Ce(y,o.title?Qi(Array.isArray(o.title)?o.title[0]:o.title):Vn),Ce(x,o.navbar?Qi(o.navbar):Vn),ii(S,Vn,!o.button),o.keyboard&&S.setAttribute("tabindex",0),o.backdrop&&(Ce(p,"".concat(Ne,"-backdrop")),!o.inline&&o.backdrop!=="static"&&Za(A,Yi,"hide")),ri(o.className)&&o.className&&o.className.split(Ja).forEach(function($){Ce(p,$)}),o.toolbar){var E=document.createElement("ul"),W=yr(o.toolbar),B=Vi.slice(0,3),q=Vi.slice(7,9),F=Vi.slice(9);W||Ce(m,Qi(o.toolbar)),Xe(W?o.toolbar:Vi,function($,X){var ne=W&&yr($),ue=W?Qa(X):$,se=ne&&!mr($.show)?$.show:$;if(!(!se||!o.zoomable&&B.indexOf(ue)!==-1||!o.rotatable&&q.indexOf(ue)!==-1||!o.scalable&&F.indexOf(ue)!==-1)){var he=ne&&!mr($.size)?$.size:$,Oe=ne&&!mr($.click)?$.click:$,Re=document.createElement("li");o.keyboard&&Re.setAttribute("tabindex",0),Re.setAttribute("role","button"),Ce(Re,"".concat(Ne,"-").concat(ue)),qe(Oe)||Za(Re,Yi,ue),Ze(se)&&Ce(Re,Qi(se)),["small","large"].indexOf(he)!==-1?Ce(Re,"".concat(Ne,"-").concat(he)):ue==="play"&&Ce(Re,"".concat(Ne,"-large")),qe(Oe)&&Ee(Re,gr,Oe),E.appendChild(Re)}}),m.appendChild(E)}else Ce(m,Vn);if(!o.rotatable){var N=m.querySelectorAll('li[class*="rotate"]');Ce(N,ti),Xe(N,function($){m.appendChild($)})}if(o.inline)Ce(S,oh),nn(p,{zIndex:o.zIndexInline}),window.getComputedStyle(f).position==="static"&&nn(f,{position:"relative"}),f.insertBefore(p,a.nextSibling);else{Ce(S,sh),Ce(p,Ya),Ce(p,Xi),Ce(p,Vn),nn(p,{zIndex:o.zIndex});var O=o.container;ri(O)&&(O=a.ownerDocument.querySelector(O)),O||(O=this.body),O.appendChild(p)}if(o.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,qe(o.ready)&&Ee(a,Yo,o.ready,{once:!0}),ot(a,Yo)===!1){this.ready=!1;return}this.ready&&o.inline&&this.view(this.index)}}}],[{key:"noConflict",value:function(){return window.Viewer=Dh,u}},{key:"setDefaults",value:function(a){Ut(Po,yr(a)&&a)}}])}();Ut(dl.prototype,Ch,Th,_h,Lh,Eh);var Ih=typeof global=="object"&&global&&global.Object===Object&&global,pl=Ih,Oh=typeof self=="object"&&self&&self.Object===Object&&self,Nh=pl||Oh||Function("return this")(),ts=Nh,Mh=ts.Symbol,ea=Mh,gl=Object.prototype,Rh=gl.hasOwnProperty,Fh=gl.toString,ai=ea?ea.toStringTag:void 0;function Ph(u){var n=Rh.call(u,ai),a=u[ai];try{u[ai]=void 0;var o=!0}catch{}var f=Fh.call(u);return o&&(n?u[ai]=a:delete u[ai]),f}var zh=Object.prototype,$h=zh.toString;function Bh(u){return $h.call(u)}var Hh="[object Null]",Wh="[object Undefined]",ml=ea?ea.toStringTag:void 0;function ns(u){return u==null?u===void 0?Wh:Hh:ml&&ml in Object(u)?Ph(u):Bh(u)}function rs(u){return u!=null&&typeof u=="object"}var jh=Array.isArray,Uh=jh;function is(u){var n=typeof u;return u!=null&&(n=="object"||n=="function")}function vl(u){return u}var qh="[object AsyncFunction]",Gh="[object Function]",Kh="[object GeneratorFunction]",Xh="[object Proxy]";function yl(u){if(!is(u))return!1;var n=ns(u);return n==Gh||n==Kh||n==qh||n==Xh}var Yh=ts["__core-js_shared__"],as=Yh,bl=function(){var u=/[^.]+$/.exec(as&&as.keys&&as.keys.IE_PROTO||"");return u?"Symbol(src)_1."+u:""}();function Vh(u){return!!bl&&bl in u}var Jh=Function.prototype,Qh=Jh.toString;function Zh(u){if(u!=null){try{return Qh.call(u)}catch{}try{return u+""}catch{}}return""}var ed=/[\\^$.*+?()[\]{}|]/g,td=/^\[object .+?Constructor\]$/,nd=Function.prototype,rd=Object.prototype,id=nd.toString,ad=rd.hasOwnProperty,sd=RegExp("^"+id.call(ad).replace(ed,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function od(u){if(!is(u)||Vh(u))return!1;var n=yl(u)?sd:td;return n.test(Zh(u))}function ld(u,n){return u==null?void 0:u[n]}function ud(u,n){var a=ld(u,n);return od(a)?a:void 0}function fd(u,n,a){switch(a.length){case 0:return u.call(n);case 1:return u.call(n,a[0]);case 2:return u.call(n,a[0],a[1]);case 3:return u.call(n,a[0],a[1],a[2])}return u.apply(n,a)}var cd=800,hd=16,dd=Date.now;function pd(u){var n=0,a=0;return function(){var o=dd(),f=hd-(o-a);if(a=o,f>0){if(++n>=cd)return arguments[0]}else n=0;return u.apply(void 0,arguments)}}function gd(u){return function(){return u}}var md=function(){try{var u=ud(Object,"defineProperty");return u({},"",{}),u}catch{}}(),ta=md,vd=ta?function(u,n){return ta(u,"toString",{configurable:!0,enumerable:!1,value:gd(n),writable:!0})}:vl,yd=vd,bd=pd(yd),xd=bd,wd=9007199254740991,kd=/^(?:0|[1-9]\d*)$/;function xl(u,n){var a=typeof u;return n=n??wd,!!n&&(a=="number"||a!="symbol"&&kd.test(u))&&u>-1&&u%1==0&&u<n}function wl(u,n,a){n=="__proto__"&&ta?ta(u,n,{configurable:!0,enumerable:!0,value:a,writable:!0}):u[n]=a}function kl(u,n){return u===n||u!==u&&n!==n}var Sd=Object.prototype,Cd=Sd.hasOwnProperty;function Sl(u,n,a){var o=u[n];(!(Cd.call(u,n)&&kl(o,a))||a===void 0&&!(n in u))&&wl(u,n,a)}function Td(u,n,a,o){var f=!a;a||(a={});for(var d=-1,p=n.length;++d<p;){var y=n[d],m=void 0;m===void 0&&(m=u[y]),f?wl(a,y,m):Sl(a,y,m)}return a}var Cl=Math.max;function _d(u,n,a){return n=Cl(n===void 0?u.length-1:n,0),function(){for(var o=arguments,f=-1,d=Cl(o.length-n,0),p=Array(d);++f<d;)p[f]=o[n+f];f=-1;for(var y=Array(n+1);++f<n;)y[f]=o[f];return y[n]=a(p),fd(u,this,y)}}function Ld(u,n){return xd(_d(u,n,vl),u+"")}var Ed=9007199254740991;function Tl(u){return typeof u=="number"&&u>-1&&u%1==0&&u<=Ed}function ss(u){return u!=null&&Tl(u.length)&&!yl(u)}function Dd(u,n,a){if(!is(a))return!1;var o=typeof n;return(o=="number"?ss(a)&&xl(n,a.length):o=="string"&&n in a)?kl(a[n],u):!1}function Ad(u){return Ld(function(n,a){var o=-1,f=a.length,d=f>1?a[f-1]:void 0,p=f>2?a[2]:void 0;for(d=u.length>3&&typeof d=="function"?(f--,d):void 0,p&&Dd(a[0],a[1],p)&&(d=f<3?void 0:d,f=1),n=Object(n);++o<f;){var y=a[o];y&&u(n,y,o,d)}return n})}var Id=Object.prototype;function _l(u){var n=u&&u.constructor,a=typeof n=="function"&&n.prototype||Id;return u===a}function Od(u,n){for(var a=-1,o=Array(u);++a<u;)o[a]=n(a);return o}var Nd="[object Arguments]";function Ll(u){return rs(u)&&ns(u)==Nd}var El=Object.prototype,Md=El.hasOwnProperty,Rd=El.propertyIsEnumerable,Fd=Ll(function(){return arguments}())?Ll:function(u){return rs(u)&&Md.call(u,"callee")&&!Rd.call(u,"callee")},Pd=Fd;function zd(){return!1}var Dl=typeof Ie=="object"&&Ie&&!Ie.nodeType&&Ie,Al=Dl&&typeof module=="object"&&module&&!module.nodeType&&module,$d=Al&&Al.exports===Dl,Il=$d?ts.Buffer:void 0,Bd=Il?Il.isBuffer:void 0,Hd=Bd||zd,Wd=Hd,jd="[object Arguments]",Ud="[object Array]",qd="[object Boolean]",Gd="[object Date]",Kd="[object Error]",Xd="[object Function]",Yd="[object Map]",Vd="[object Number]",Jd="[object Object]",Qd="[object RegExp]",Zd="[object Set]",ep="[object String]",tp="[object WeakMap]",np="[object ArrayBuffer]",rp="[object DataView]",ip="[object Float32Array]",ap="[object Float64Array]",sp="[object Int8Array]",op="[object Int16Array]",lp="[object Int32Array]",up="[object Uint8Array]",fp="[object Uint8ClampedArray]",cp="[object Uint16Array]",hp="[object Uint32Array]",Ye={};Ye[ip]=Ye[ap]=Ye[sp]=Ye[op]=Ye[lp]=Ye[up]=Ye[fp]=Ye[cp]=Ye[hp]=!0,Ye[jd]=Ye[Ud]=Ye[np]=Ye[qd]=Ye[rp]=Ye[Gd]=Ye[Kd]=Ye[Xd]=Ye[Yd]=Ye[Vd]=Ye[Jd]=Ye[Qd]=Ye[Zd]=Ye[ep]=Ye[tp]=!1;function dp(u){return rs(u)&&Tl(u.length)&&!!Ye[ns(u)]}function pp(u){return function(n){return u(n)}}var Ol=typeof Ie=="object"&&Ie&&!Ie.nodeType&&Ie,si=Ol&&typeof module=="object"&&module&&!module.nodeType&&module,gp=si&&si.exports===Ol,os=gp&&pl.process,mp=function(){try{var u=si&&si.require&&si.require("util").types;return u||os&&os.binding&&os.binding("util")}catch{}}(),Nl=mp,Ml=Nl&&Nl.isTypedArray,vp=Ml?pp(Ml):dp,yp=vp,bp=Object.prototype,xp=bp.hasOwnProperty;function wp(u,n){var a=Uh(u),o=!a&&Pd(u),f=!a&&!o&&Wd(u),d=!a&&!o&&!f&&yp(u),p=a||o||f||d,y=p?Od(u.length,String):[],m=y.length;for(var x in u)xp.call(u,x)&&!(p&&(x=="length"||f&&(x=="offset"||x=="parent")||d&&(x=="buffer"||x=="byteLength"||x=="byteOffset")||xl(x,m)))&&y.push(x);return y}function kp(u,n){return function(a){return u(n(a))}}var Sp=kp(Object.keys,Object),Cp=Sp,Tp=Object.prototype,_p=Tp.hasOwnProperty;function Lp(u){if(!_l(u))return Cp(u);var n=[];for(var a in Object(u))_p.call(u,a)&&a!="constructor"&&n.push(a);return n}function Ep(u){return ss(u)?wp(u):Lp(u)}var Dp=Object.prototype,Ap=Dp.hasOwnProperty,Ip=Ad(function(u,n){if(_l(n)||ss(n)){Td(n,Ep(n),u);return}for(var a in n)Ap.call(n,a)&&Sl(u,a,n[a])}),Op=Ip;const Rl=({images:u=[],options:n={}}={})=>{n=Op(n,{inline:!1});const a=Kf.extend({render(p){return p("div",{style:{display:"none"},class:["__viewer-token"]},u.map(y=>p("img",{attrs:typeof y=="string"?{src:y}:y})))}}),o=new a;o.$mount(),document.body.appendChild(o.$el);const f=new dl(o.$el,n),d=f.destroy.bind(f);return f.destroy=function(){return d(),o.$destroy(),document.body.removeChild(o.$el),f},f.show(),o.$el.addEventListener("hidden",function(){this.viewer===f&&f.destroy()}),f};var Fl={exports:{}},Pl;function Np(){return Pl||(Pl=1,function(u,n){(function(a){a(Wt())})(function(a){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},f={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};a.defineMode("xml",function(d,p){var y=d.indentUnit,m={},x=p.htmlMode?o:f;for(var S in x)m[S]=x[S];for(var S in p)m[S]=p[S];var A,E;function W(k,J){function G(K){return J.tokenize=K,K(k,J)}var D=k.next();if(D=="<")return k.eat("!")?k.eat("[")?k.match("CDATA[")?G(F("atom","]]>")):null:k.match("--")?G(F("comment","-->")):k.match("DOCTYPE",!0,!0)?(k.eatWhile(/[\w\._\-]/),G(N(1))):null:k.eat("?")?(k.eatWhile(/[\w\._\-]/),J.tokenize=F("meta","?>"),"meta"):(A=k.eat("/")?"closeTag":"openTag",J.tokenize=B,"tag bracket");if(D=="&"){var R;return k.eat("#")?k.eat("x")?R=k.eatWhile(/[a-fA-F\d]/)&&k.eat(";"):R=k.eatWhile(/[\d]/)&&k.eat(";"):R=k.eatWhile(/[\w\.\-:]/)&&k.eat(";"),R?"atom":"error"}else return k.eatWhile(/[^&<]/),null}W.isInText=!0;function B(k,J){var G=k.next();if(G==">"||G=="/"&&k.eat(">"))return J.tokenize=W,A=G==">"?"endTag":"selfcloseTag","tag bracket";if(G=="=")return A="equals",null;if(G=="<"){J.tokenize=W,J.state=ue,J.tagName=J.tagStart=null;var D=J.tokenize(k,J);return D?D+" tag error":"tag error"}else return/[\'\"]/.test(G)?(J.tokenize=q(G),J.stringStartCol=k.column(),J.tokenize(k,J)):(k.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function q(k){var J=function(G,D){for(;!G.eol();)if(G.next()==k){D.tokenize=B;break}return"string"};return J.isInAttribute=!0,J}function F(k,J){return function(G,D){for(;!G.eol();){if(G.match(J)){D.tokenize=W;break}G.next()}return k}}function N(k){return function(J,G){for(var D;(D=J.next())!=null;){if(D=="<")return G.tokenize=N(k+1),G.tokenize(J,G);if(D==">")if(k==1){G.tokenize=W;break}else return G.tokenize=N(k-1),G.tokenize(J,G)}return"meta"}}function O(k){return k&&k.toLowerCase()}function $(k,J,G){this.prev=k.context,this.tagName=J||"",this.indent=k.indented,this.startOfLine=G,(m.doNotIndent.hasOwnProperty(J)||k.context&&k.context.noIndent)&&(this.noIndent=!0)}function X(k){k.context&&(k.context=k.context.prev)}function ne(k,J){for(var G;;){if(!k.context||(G=k.context.tagName,!m.contextGrabbers.hasOwnProperty(O(G))||!m.contextGrabbers[O(G)].hasOwnProperty(O(J))))return;X(k)}}function ue(k,J,G){return k=="openTag"?(G.tagStart=J.column(),se):k=="closeTag"?he:ue}function se(k,J,G){return k=="word"?(G.tagName=J.current(),E="tag",ie):m.allowMissingTagName&&k=="endTag"?(E="tag bracket",ie(k,J,G)):(E="error",se)}function he(k,J,G){if(k=="word"){var D=J.current();return G.context&&G.context.tagName!=D&&m.implicitlyClosed.hasOwnProperty(O(G.context.tagName))&&X(G),G.context&&G.context.tagName==D||m.matchClosing===!1?(E="tag",Oe):(E="tag error",Re)}else return m.allowMissingTagName&&k=="endTag"?(E="tag bracket",Oe(k,J,G)):(E="error",Re)}function Oe(k,J,G){return k!="endTag"?(E="error",Oe):(X(G),ue)}function Re(k,J,G){return E="error",Oe(k,J,G)}function ie(k,J,G){if(k=="word")return E="attribute",ze;if(k=="endTag"||k=="selfcloseTag"){var D=G.tagName,R=G.tagStart;return G.tagName=G.tagStart=null,k=="selfcloseTag"||m.autoSelfClosers.hasOwnProperty(O(D))?ne(G,D):(ne(G,D),G.context=new $(G,D,R==G.indented)),ue}return E="error",ie}function ze(k,J,G){return k=="equals"?H:(m.allowMissing||(E="error"),ie(k,J,G))}function H(k,J,G){return k=="string"?Q:k=="word"&&m.allowUnquoted?(E="string",ie):(E="error",ie(k,J,G))}function Q(k,J,G){return k=="string"?Q:ie(k,J,G)}return{startState:function(k){var J={tokenize:W,state:ue,indented:k||0,tagName:null,tagStart:null,context:null};return k!=null&&(J.baseIndent=k),J},token:function(k,J){if(!J.tagName&&k.sol()&&(J.indented=k.indentation()),k.eatSpace())return null;A=null;var G=J.tokenize(k,J);return(G||A)&&G!="comment"&&(E=null,J.state=J.state(A||G,k,J),E&&(G=E=="error"?G+" error":E)),G},indent:function(k,J,G){var D=k.context;if(k.tokenize.isInAttribute)return k.tagStart==k.indented?k.stringStartCol+1:k.indented+y;if(D&&D.noIndent)return a.Pass;if(k.tokenize!=B&&k.tokenize!=W)return G?G.match(/^(\s*)/)[0].length:0;if(k.tagName)return m.multilineTagIndentPastTag!==!1?k.tagStart+k.tagName.length+2:k.tagStart+y*(m.multilineTagIndentFactor||1);if(m.alignCDATA&&/<!\[CDATA\[/.test(J))return 0;var R=J&&/^<(\/)?([\w_:\.-]*)/.exec(J);if(R&&R[1])for(;D;)if(D.tagName==R[2]){D=D.prev;break}else if(m.implicitlyClosed.hasOwnProperty(O(D.tagName)))D=D.prev;else break;else if(R)for(;D;){var K=m.contextGrabbers[O(D.tagName)];if(K&&K.hasOwnProperty(O(R[2])))D=D.prev;else break}for(;D&&D.prev&&!D.startOfLine;)D=D.prev;return D?D.indent+y:k.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:m.htmlMode?"html":"xml",helperType:m.htmlMode?"html":"xml",skipAttribute:function(k){k.state==H&&(k.state=ie)},xmlCurrentTag:function(k){return k.tagName?{name:k.tagName,close:k.type=="closeTag"}:null},xmlCurrentContext:function(k){for(var J=[],G=k.context;G;G=G.prev)J.push(G.tagName);return J.reverse()}}}),a.defineMIME("text/xml","xml"),a.defineMIME("application/xml","xml"),a.mimeModes.hasOwnProperty("text/html")||a.defineMIME("text/html",{name:"xml",htmlMode:!0})})}()),Fl.exports}var zl={exports:{}},$l;function Mp(){return $l||($l=1,function(u,n){(function(a){a(Wt())})(function(a){a.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<a.modeInfo.length;o++){var f=a.modeInfo[o];f.mimes&&(f.mime=f.mimes[0])}a.findModeByMIME=function(d){d=d.toLowerCase();for(var p=0;p<a.modeInfo.length;p++){var y=a.modeInfo[p];if(y.mime==d)return y;if(y.mimes){for(var m=0;m<y.mimes.length;m++)if(y.mimes[m]==d)return y}}if(/\+xml$/.test(d))return a.findModeByMIME("application/xml");if(/\+json$/.test(d))return a.findModeByMIME("application/json")},a.findModeByExtension=function(d){d=d.toLowerCase();for(var p=0;p<a.modeInfo.length;p++){var y=a.modeInfo[p];if(y.ext){for(var m=0;m<y.ext.length;m++)if(y.ext[m]==d)return y}}},a.findModeByFileName=function(d){for(var p=0;p<a.modeInfo.length;p++){var y=a.modeInfo[p];if(y.file&&y.file.test(d))return y}var m=d.lastIndexOf("."),x=m>-1&&d.substring(m+1,d.length);if(x)return a.findModeByExtension(x)},a.findModeByName=function(d){d=d.toLowerCase();for(var p=0;p<a.modeInfo.length;p++){var y=a.modeInfo[p];if(y.name.toLowerCase()==d)return y;if(y.alias){for(var m=0;m<y.alias.length;m++)if(y.alias[m].toLowerCase()==d)return y}}}})}()),zl.exports}(function(u,n){(function(a){a(Wt(),Np(),Mp())})(function(a){a.defineMode("markdown",function(o,f){var d=a.getMode(o,"text/html"),p=d.name=="null";function y(L){if(a.findModeByName){var w=a.findModeByName(L);w&&(L=w.mime||w.mimes[0])}var oe=a.getMode(o,L);return oe.name=="null"?null:oe}f.highlightFormatting===void 0&&(f.highlightFormatting=!1),f.maxBlockquoteDepth===void 0&&(f.maxBlockquoteDepth=0),f.taskLists===void 0&&(f.taskLists=!1),f.strikethrough===void 0&&(f.strikethrough=!1),f.emoji===void 0&&(f.emoji=!1),f.fencedCodeBlockHighlighting===void 0&&(f.fencedCodeBlockHighlighting=!0),f.fencedCodeBlockDefaultMode===void 0&&(f.fencedCodeBlockDefaultMode="text/plain"),f.xml===void 0&&(f.xml=!0),f.tokenTypeOverrides===void 0&&(f.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 x in m)m.hasOwnProperty(x)&&f.tokenTypeOverrides[x]&&(m[x]=f.tokenTypeOverrides[x]);var S=/^([*\-_])(?:\s*\1){2,}\s*$/,A=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,E=/^\[(x| )\](?=\s)/i,W=f.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,B=/^ {0,3}(?:\={1,}|-{2,})\s*$/,q=/^[^#!\[\]*_\\<>` "'(~:]+/,F=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,N=/^\s*\[[^\]]+?\]:.*$/,O=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\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]/,$=" ";function X(L,w,oe){return w.f=w.inline=oe,oe(L,w)}function ne(L,w,oe){return w.f=w.block=oe,oe(L,w)}function ue(L){return!L||!/\S/.test(L.string)}function se(L){if(L.linkTitle=!1,L.linkHref=!1,L.linkText=!1,L.em=!1,L.strong=!1,L.strikethrough=!1,L.quote=0,L.indentedCode=!1,L.f==Oe){var w=p;if(!w){var oe=a.innerMode(d,L.htmlState);w=oe.mode.name=="xml"&&oe.state.tagStart===null&&!oe.state.context&&oe.state.tokenize.isInText}w&&(L.f=H,L.block=he,L.htmlState=null)}return L.trailingSpace=0,L.trailingSpaceNewLine=!1,L.prevLine=L.thisLine,L.thisLine={stream:null},null}function he(L,w){var oe=L.column()===w.indentation,Te=ue(w.prevLine.stream),Z=w.indentedCode,ce=w.prevLine.hr,ke=w.list!==!1,_e=(w.listStack[w.listStack.length-1]||0)+3;w.indentedCode=!1;var ft=w.indentation;if(w.indentationDiff===null&&(w.indentationDiff=w.indentation,ke)){for(w.list=null;ft<w.listStack[w.listStack.length-1];)w.listStack.pop(),w.listStack.length?w.indentation=w.listStack[w.listStack.length-1]:w.list=!1;w.list!==!1&&(w.indentationDiff=ft-w.listStack[w.listStack.length-1])}var we=!Te&&!ce&&!w.prevLine.header&&(!ke||!Z)&&!w.prevLine.fencedCodeEnd,Me=(w.list===!1||ce||Te)&&w.indentation<=_e&&L.match(S),Ke=null;if(w.indentationDiff>=4&&(Z||w.prevLine.fencedCodeEnd||w.prevLine.header||Te))return L.skipToEnd(),w.indentedCode=!0,m.code;if(L.eatSpace())return null;if(oe&&w.indentation<=_e&&(Ke=L.match(W))&&Ke[1].length<=6)return w.quote=0,w.header=Ke[1].length,w.thisLine.header=!0,f.highlightFormatting&&(w.formatting="header"),w.f=w.inline,ie(w);if(w.indentation<=_e&&L.eat(">"))return w.quote=oe?1:w.quote+1,f.highlightFormatting&&(w.formatting="quote"),L.eatSpace(),ie(w);if(!Me&&!w.setext&&oe&&w.indentation<=_e&&(Ke=L.match(A))){var ct=Ke[1]?"ol":"ul";return w.indentation=ft+L.current().length,w.list=!0,w.quote=0,w.listStack.push(w.indentation),w.em=!1,w.strong=!1,w.code=!1,w.strikethrough=!1,f.taskLists&&L.match(E,!1)&&(w.taskList=!0),w.f=w.inline,f.highlightFormatting&&(w.formatting=["list","list-"+ct]),ie(w)}else{if(oe&&w.indentation<=_e&&(Ke=L.match(F,!0)))return w.quote=0,w.fencedEndRE=new RegExp(Ke[1]+"+ *$"),w.localMode=f.fencedCodeBlockHighlighting&&y(Ke[2]||f.fencedCodeBlockDefaultMode),w.localMode&&(w.localState=a.startState(w.localMode)),w.f=w.block=Re,f.highlightFormatting&&(w.formatting="code-block"),w.code=-1,ie(w);if(w.setext||(!we||!ke)&&!w.quote&&w.list===!1&&!w.code&&!Me&&!N.test(L.string)&&(Ke=L.lookAhead(1))&&(Ke=Ke.match(B)))return w.setext?(w.header=w.setext,w.setext=0,L.skipToEnd(),f.highlightFormatting&&(w.formatting="header")):(w.header=Ke[0].charAt(0)=="="?1:2,w.setext=w.header),w.thisLine.header=!0,w.f=w.inline,ie(w);if(Me)return L.skipToEnd(),w.hr=!0,w.thisLine.hr=!0,m.hr;if(L.peek()==="[")return X(L,w,D)}return X(L,w,w.inline)}function Oe(L,w){var oe=d.token(L,w.htmlState);if(!p){var Te=a.innerMode(d,w.htmlState);(Te.mode.name=="xml"&&Te.state.tagStart===null&&!Te.state.context&&Te.state.tokenize.isInText||w.md_inside&&L.current().indexOf(">")>-1)&&(w.f=H,w.block=he,w.htmlState=null)}return oe}function Re(L,w){var oe=w.listStack[w.listStack.length-1]||0,Te=w.indentation<oe,Z=oe+3;if(w.fencedEndRE&&w.indentation<=Z&&(Te||L.match(w.fencedEndRE))){f.highlightFormatting&&(w.formatting="code-block");var ce;return Te||(ce=ie(w)),w.localMode=w.localState=null,w.block=he,w.f=H,w.fencedEndRE=null,w.code=0,w.thisLine.fencedCodeEnd=!0,Te?ne(L,w,w.block):ce}else return w.localMode?w.localMode.token(L,w.localState):(L.skipToEnd(),m.code)}function ie(L){var w=[];if(L.formatting){w.push(m.formatting),typeof L.formatting=="string"&&(L.formatting=[L.formatting]);for(var oe=0;oe<L.formatting.length;oe++)w.push(m.formatting+"-"+L.formatting[oe]),L.formatting[oe]==="header"&&w.push(m.formatting+"-"+L.formatting[oe]+"-"+L.header),L.formatting[oe]==="quote"&&(!f.maxBlockquoteDepth||f.maxBlockquoteDepth>=L.quote?w.push(m.formatting+"-"+L.formatting[oe]+"-"+L.quote):w.push("error"))}if(L.taskOpen)return w.push("meta"),w.length?w.join(" "):null;if(L.taskClosed)return w.push("property"),w.length?w.join(" "):null;if(L.linkHref?w.push(m.linkHref,"url"):(L.strong&&w.push(m.strong),L.em&&w.push(m.em),L.strikethrough&&w.push(m.strikethrough),L.emoji&&w.push(m.emoji),L.linkText&&w.push(m.linkText),L.code&&w.push(m.code),L.image&&w.push(m.image),L.imageAltText&&w.push(m.imageAltText,"link"),L.imageMarker&&w.push(m.imageMarker)),L.header&&w.push(m.header,m.header+"-"+L.header),L.quote&&(w.push(m.quote),!f.maxBlockquoteDepth||f.maxBlockquoteDepth>=L.quote?w.push(m.quote+"-"+L.quote):w.push(m.quote+"-"+f.maxBlockquoteDepth)),L.list!==!1){var Te=(L.listStack.length-1)%3;Te?Te===1?w.push(m.list2):w.push(m.list3):w.push(m.list1)}return L.trailingSpaceNewLine?w.push("trailing-space-new-line"):L.trailingSpace&&w.push("trailing-space-"+(L.trailingSpace%2?"a":"b")),w.length?w.join(" "):null}function ze(L,w){if(L.match(q,!0))return ie(w)}function H(L,w){var oe=w.text(L,w);if(typeof oe<"u")return oe;if(w.list)return w.list=null,ie(w);if(w.taskList){var Te=L.match(E,!0)[1]===" ";return Te?w.taskOpen=!0:w.taskClosed=!0,f.highlightFormatting&&(w.formatting="task"),w.taskList=!1,ie(w)}if(w.taskOpen=!1,w.taskClosed=!1,w.header&&L.match(/^#+$/,!0))return f.highlightFormatting&&(w.formatting="header"),ie(w);var Z=L.next();if(w.linkTitle){w.linkTitle=!1;var ce=Z;Z==="("&&(ce=")"),ce=(ce+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var ke="^\\s*(?:[^"+ce+"\\\\]+|\\\\\\\\|\\\\.)"+ce;if(L.match(new RegExp(ke),!0))return m.linkHref}if(Z==="`"){var _e=w.formatting;f.highlightFormatting&&(w.formatting="code"),L.eatWhile("`");var ft=L.current().length;if(w.code==0&&(!w.quote||ft==1))return w.code=ft,ie(w);if(ft==w.code){var we=ie(w);return w.code=0,we}else return w.formatting=_e,ie(w)}else if(w.code)return ie(w);if(Z==="\\"&&(L.next(),f.highlightFormatting)){var Me=ie(w),Ke=m.formatting+"-escape";return Me?Me+" "+Ke:Ke}if(Z==="!"&&L.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return w.imageMarker=!0,w.image=!0,f.highlightFormatting&&(w.formatting="image"),ie(w);if(Z==="["&&w.imageMarker&&L.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return w.imageMarker=!1,w.imageAltText=!0,f.highlightFormatting&&(w.formatting="image"),ie(w);if(Z==="]"&&w.imageAltText){f.highlightFormatting&&(w.formatting="image");var Me=ie(w);return w.imageAltText=!1,w.image=!1,w.inline=w.f=k,Me}if(Z==="["&&!w.image)return w.linkText&&L.match(/^.*?\]/)||(w.linkText=!0,f.highlightFormatting&&(w.formatting="link")),ie(w);if(Z==="]"&&w.linkText){f.highlightFormatting&&(w.formatting="link");var Me=ie(w);return w.linkText=!1,w.inline=w.f=L.match(/\(.*?\)| ?\[.*?\]/,!1)?k:H,Me}if(Z==="<"&&L.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){w.f=w.inline=Q,f.highlightFormatting&&(w.formatting="link");var Me=ie(w);return Me?Me+=" ":Me="",Me+m.linkInline}if(Z==="<"&&L.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){w.f=w.inline=Q,f.highlightFormatting&&(w.formatting="link");var Me=ie(w);return Me?Me+=" ":Me="",Me+m.linkEmail}if(f.xml&&Z==="<"&&L.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var ct=L.string.indexOf(">",L.pos);if(ct!=-1){var Pt=L.string.substring(L.start,ct);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(Pt)&&(w.md_inside=!0)}return L.backUp(1),w.htmlState=a.startState(d),ne(L,w,Oe)}if(f.xml&&Z==="<"&&L.match(/^\/\w*?>/))return w.md_inside=!1,"tag";if(Z==="*"||Z==="_"){for(var ht=1,dt=L.pos==1?" ":L.string.charAt(L.pos-2);ht<3&&L.eat(Z);)ht++;var gt=L.peek()||" ",qt=!/\s/.test(gt)&&(!O.test(gt)||/\s/.test(dt)||O.test(dt)),be=!/\s/.test(dt)&&(!O.test(dt)||/\s/.test(gt)||O.test(gt)),kt=null,Gt=null;if(ht%2&&(!w.em&&qt&&(Z==="*"||!be||O.test(dt))?kt=!0:w.em==Z&&be&&(Z==="*"||!qt||O.test(gt))&&(kt=!1)),ht>1&&(!w.strong&&qt&&(Z==="*"||!be||O.test(dt))?Gt=!0:w.strong==Z&&be&&(Z==="*"||!qt||O.test(gt))&&(Gt=!1)),Gt!=null||kt!=null){f.highlightFormatting&&(w.formatting=kt==null?"strong":Gt==null?"em":"strong em"),kt===!0&&(w.em=Z),Gt===!0&&(w.strong=Z);var we=ie(w);return kt===!1&&(w.em=!1),Gt===!1&&(w.strong=!1),we}}else if(Z===" "&&(L.eat("*")||L.eat("_"))){if(L.peek()===" ")return ie(w);L.backUp(1)}if(f.strikethrough){if(Z==="~"&&L.eatWhile(Z)){if(w.strikethrough){f.highlightFormatting&&(w.formatting="strikethrough");var we=ie(w);return w.strikethrough=!1,we}else if(L.match(/^[^\s]/,!1))return w.strikethrough=!0,f.highlightFormatting&&(w.formatting="strikethrough"),ie(w)}else if(Z===" "&&L.match("~~",!0)){if(L.peek()===" ")return ie(w);L.backUp(2)}}if(f.emoji&&Z===":"&&L.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){w.emoji=!0,f.highlightFormatting&&(w.formatting="emoji");var In=ie(w);return w.emoji=!1,In}return Z===" "&&(L.match(/^ +$/,!1)?w.trailingSpace++:w.trailingSpace&&(w.trailingSpaceNewLine=!0)),ie(w)}function Q(L,w){var oe=L.next();if(oe===">"){w.f=w.inline=H,f.highlightFormatting&&(w.formatting="link");var Te=ie(w);return Te?Te+=" ":Te="",Te+m.linkInline}return L.match(/^[^>]+/,!0),m.linkInline}function k(L,w){if(L.eatSpace())return null;var oe=L.next();return oe==="("||oe==="["?(w.f=w.inline=G(oe==="("?")":"]"),f.highlightFormatting&&(w.formatting="link-string"),w.linkHref=!0,ie(w)):"error"}var J={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function G(L){return function(w,oe){var Te=w.next();if(Te===L){oe.f=oe.inline=H,f.highlightFormatting&&(oe.formatting="link-string");var Z=ie(oe);return oe.linkHref=!1,Z}return w.match(J[L]),oe.linkHref=!0,ie(oe)}}function D(L,w){return L.match(/^([^\]\\]|\\.)*\]:/,!1)?(w.f=R,L.next(),f.highlightFormatting&&(w.formatting="link"),w.linkText=!0,ie(w)):X(L,w,H)}function R(L,w){if(L.match("]:",!0)){w.f=w.inline=K,f.highlightFormatting&&(w.formatting="link");var oe=ie(w);return w.linkText=!1,oe}return L.match(/^([^\]\\]|\\.)+/,!0),m.linkText}function K(L,w){return L.eatSpace()?null:(L.match(/^[^\s]+/,!0),L.peek()===void 0?w.linkTitle=!0:L.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),w.f=w.inline=H,m.linkHref+" url")}var de={startState:function(){return{f:he,prevLine:{stream:null},thisLine:{stream:null},block:he,htmlState:null,indentation:0,inline:H,text:ze,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(L){return{f:L.f,prevLine:L.prevLine,thisLine:L.thisLine,block:L.block,htmlState:L.htmlState&&a.copyState(d,L.htmlState),indentation:L.indentation,localMode:L.localMode,localState:L.localMode?a.copyState(L.localMode,L.localState):null,inline:L.inline,text:L.text,formatting:!1,linkText:L.linkText,linkTitle:L.linkTitle,linkHref:L.linkHref,code:L.code,em:L.em,strong:L.strong,strikethrough:L.strikethrough,emoji:L.emoji,header:L.header,setext:L.setext,hr:L.hr,taskList:L.taskList,list:L.list,listStack:L.listStack.slice(0),quote:L.quote,indentedCode:L.indentedCode,trailingSpace:L.trailingSpace,trailingSpaceNewLine:L.trailingSpaceNewLine,md_inside:L.md_inside,fencedEndRE:L.fencedEndRE}},token:function(L,w){if(w.formatting=!1,L!=w.thisLine.stream){if(w.header=0,w.hr=!1,L.match(/^\s*$/,!0))return se(w),null;if(w.prevLine=w.thisLine,w.thisLine={stream:L},w.taskList=!1,w.trailingSpace=0,w.trailingSpaceNewLine=!1,!w.localState&&(w.f=w.block,w.f!=Oe)){var oe=L.match(/^\s*/,!0)[0].replace(/\t/g,$).length;if(w.indentation=oe,w.indentationDiff=null,oe>0)return null}}return w.f(L,w)},innerMode:function(L){return L.block==Oe?{state:L.htmlState,mode:d}:L.localState?{state:L.localState,mode:L.localMode}:{state:L,mode:de}},indent:function(L,w,oe){return L.block==Oe&&d.indent?d.indent(L.htmlState,w,oe):L.localState&&L.localMode.indent?L.localMode.indent(L.localState,w,oe):a.Pass},blankLine:se,getType:ie,blockCommentStart:"<!--",blockCommentEnd:"-->",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return de},"xml"),a.defineMIME("text/markdown","markdown"),a.defineMIME("text/x-markdown","markdown")})})();const Rp={name:"DebugTab",components:{codemirror:co.codemirror},props:{selectedSpan:{type:Object,required:!0},selectedSpanId:{type:String,required:!0}},data(){return{debugForm:{params:[],systemContent:"",userContent:""},debugSubmitting:!1,debugResponse:null,showDebugRawResponse:!1,debugResponseKey:0,debugMarkdownKey:0,originalInputs:null,hasImageUrl:!1,submitImage:!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},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:{rawInputs(){var u,n,a;return(a=(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.attributes)==null?void 0:a["langsword.spanInputs"]},targetUrl(){var n,a;const u=(a=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:a.attributes;return u&&u["url.full"]?u["url.full"]:null}},watch:{selectedSpanId:{immediate:!0,handler(u,n){u&&u!==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()})},methods:{initDebugForm(){var n,a;if(!this.selectedSpan)return;let u=(a=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:a.inputs;if(!u&&this.rawInputs)try{u=typeof this.rawInputs=="string"?JSON.parse(this.rawInputs):this.rawInputs}catch(o){console.error("Failed to parse rawInputs:",o);return}if(!u){console.warn("No inputs found for span:",this.selectedSpanId);return}if(this.originalInputs=JSON.parse(JSON.stringify(u)),this.selectedSpan.type==="CLIENT")this.debugForm.params=[],this.debugForm.systemContent="",this.debugForm.userContent="",Object.keys(u).forEach(o=>{if(o!=="file"){const f=u[o];let d="";typeof f=="string"?d=f:typeof f=="boolean"||typeof f=="number"?d=String(f):d=JSON.stringify(f),this.debugForm.params.push({key:o,value:d})}});else if(this.selectedSpan.type==="CHAT_MODEL")if(this.debugForm.params=[],this.hasImageUrl=!1,this.submitImage=!0,Object.keys(u).forEach(o=>{if(o!=="messages"){const f=u[o];let d="";typeof f=="string"?d=f:typeof f=="boolean"||typeof f=="number"?d=String(f):d=JSON.stringify(f),this.debugForm.params.push({key:o,value:d})}}),u.messages&&Array.isArray(u.messages)){const o=u.messages.find(d=>d.role==="system"),f=u.messages.find(d=>d.role==="user");if(o&&o.content?this.debugForm.systemContent=typeof o.content=="string"?o.content:"":this.debugForm.systemContent="",f&&f.content)if(Array.isArray(f.content)){const d=f.content.filter(y=>y.type==="text"&&y.text).map(y=>y.text);this.debugForm.userContent=d.join(`
|
|
78
|
-
`);const p=f.content.some(y=>y.type==="image_url");this.hasImageUrl=p}else typeof f.content=="string"?this.debugForm.userContent=f.content:this.debugForm.userContent="";else this.debugForm.userContent=""}else this.debugForm.systemContent="",this.debugForm.userContent="";this.debugResponse=null,this.showDebugRawResponse=!1,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(u){this.debugForm.params.splice(u,1)},handleDebugParamChange(){},resetDebugForm(){this.initDebugForm()},parseParamValue(u){if(u==="true"||u==="false")return u==="true";if(u==="")return"";{const n=Number(u);if(!isNaN(n)&&isFinite(n)&&u!=="")return n;try{return JSON.parse(u)}catch{return u}}},buildRequestHeaders(u){const n={};let a=null;const o=Object.keys(u).find(f=>f.toLowerCase()==="x-target-url");return o?(a=u[o],delete u[o]):this.targetUrl&&(a=this.targetUrl),a&&(n["X-Target-Url"]=a),n},handleDebugResponse(u){this.debugResponse=u,this.showDebugRawResponse=!1,this.$nextTick(()=>{this.debugResponseKey++})},handleDebugError(u){console.error("Debug request failed:",u);let n="未知错误";if(u.response&&u.response.data){const a=u.response.data;typeof a=="object"&&a!==null&&a.message?n=a.message:u.message&&(n=u.message)}else u.message&&(n=u.message);this.$message.error("调试请求失败: "+n)},async submitDebugRequest(u){const n=this.buildRequestHeaders(u),a=await xn.debugTrace(u,n);this.handleDebugResponse(a)},async submitDebugClient(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const u={};this.originalInputs.file&&(u.file=this.originalInputs.file),this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const a=n.value?n.value.trim():"";u[n.key]=this.parseParamValue(a)}}),await this.submitDebugRequest(u)}catch(u){this.handleDebugError(u)}finally{this.debugSubmitting=!1}}},async submitDebugChatModel(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const u=JSON.parse(JSON.stringify(this.originalInputs));if(this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const a=n.value?n.value.trim():"";u[n.key]=this.parseParamValue(a)}}),u.messages&&Array.isArray(u.messages)){const n=u.messages.find(o=>o.role==="system");n&&(n.content=this.debugForm.systemContent||"");const a=u.messages.find(o=>o.role==="user");if(a){const o=this.originalInputs.messages.find(d=>d.role==="user");if(o&&Array.isArray(o.content)){const d=[];this.submitImage&&Array.isArray(a.content)&&a.content.forEach(p=>{p.type==="image_url"&&d.push(p)}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&d.push({type:"text",text:this.debugForm.userContent}),a.content=d.length>0?d:this.debugForm.userContent||""}else a.content=this.debugForm.userContent||""}}await this.submitDebugRequest(u)}catch(u){this.handleDebugError(u)}finally{this.debugSubmitting=!1}}},toggleDebugResponseView(){this.showDebugRawResponse=!this.showDebugRawResponse,this.$nextTick(()=>{this.debugResponseKey++})},formatRawJson(u){if(!u)return"";if(typeof u=="string")try{const n=JSON.parse(u);return JSON.stringify(n,null,2)}catch{return u}return JSON.stringify(u,null,2)},extractImagesFromObject(u,n=[],a=""){if(!(!u||typeof u!="object")){for(const[o,f]of Object.entries(u)){const d=a?`${a}.${o}`:o;typeof f=="string"&&f.trim()!==""?(f.startsWith("data:image/")||f.startsWith("/9j/")||f.startsWith("iVBOR")||f.startsWith("R0lGOD"))&&(n.push({path:d,value:f,label:o==="content"&&a?`${a.split(".").pop()}: ${o}`:o}),u[o]="[IMAGE_DATA]"):f&&typeof f=="object"&&!Array.isArray(f)?this.extractImagesFromObject(f,n,d):Array.isArray(f)&&f.forEach((p,y)=>{p&&typeof p=="object"&&this.extractImagesFromObject(p,n,`${d}[${y}]`)})}return n}},renderStructuredContent(u){const n=[];if(!u)return n;try{if(Array.isArray(u))u.forEach((a,o)=>{var f;a&&typeof a=="object"?a.type==="text"&&a.text?n.push({type:"markdown",content:Le(a.text),key:`text-${o}`}):a.type==="image_url"&&((f=a.image_url)!=null&&f.url)?n.push({type:"image",url:a.image_url.url,key:`image-${o}`}):a.image_base64&&a.image_base64.trim()!==""?n.push({type:"image",url:this.formatBase64Image(a.image_base64),key:`base64-image-${o}`}):n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:`json-${o}`}):n.push({type:"markdown",content:Le(String(a)),key:`text-${o}`})});else if(typeof u=="string")n.push({type:"markdown",content:Le(u),key:"text-0"});else if(typeof u=="object")if(u.data&&Array.isArray(u.data.result)){const a=JSON.parse(JSON.stringify(u)),o=[];a.data&&a.data.result&&a.data.result.forEach((f,d)=>{f.image_base64&&f.image_base64.trim()!==""&&(o.push({type:"page",image_base64:f.image_base64,page_num:f.page_num,label:f.page_num!==void 0?`Page ${f.page_num}`:`Result ${d}`}),f.image_base64="[BASE64_IMAGE_DATA]"),f.seals&&Array.isArray(f.seals)&&f.seals.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&(o.push({type:"seal",image_base64:p.image_base64,page_num:f.page_num,seal_index:y,seal_value:p.value,label:`Seal: ${p.value||y}`}),p.image_base64="[BASE64_IMAGE_DATA]")})}),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.image_base64),key:`result-image-${d}`,label:f.label})})}else{const a=JSON.parse(JSON.stringify(u)),o=[];this.extractImagesFromObject(a,o),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.value),key:`extracted-image-${d}`,label:f.label})})}else n.push({type:"markdown",content:Le(String(u)),key:"text-0"})}catch(a){console.error("Error rendering content:",a),n.push({type:"markdown",content:Le("Error rendering content"),key:"error-0"})}return n},formatBase64Image(u){return u?u.startsWith("data:image")?u:u.startsWith("/9j/")?`data:image/jpeg;base64,${u}`:u.startsWith("iVBOR")?`data:image/png;base64,${u}`:u.startsWith("R0lGOD")?`data:image/gif;base64,${u}`:`data:image/jpeg;base64,${u}`:""},handleImageClick(u){Rl({options:this.viewerOptions,images:[u]})}}};var Fp=function(){var o;var n=this,a=n._self._c;return a("div",{staticClass:"debug-content"},[n.selectedSpan.type==="CLIENT"?a("div",{staticClass:"debug-client-form"},[a("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[n._l(n.debugForm.params,function(f,d){return a("div",{key:d,staticClass:"debug-form-row"},[a("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${d+1}`}},[a("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[a("el-col",{attrs:{span:8}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:f.key,callback:function(p){n.$set(f,"key",p)},expression:"item.key"}})],1),a("el-col",{attrs:{span:14}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:f.value,callback:function(p){n.$set(f,"value",p)},expression:"item.value"}})],1),a("el-col",{attrs:{span:2}},[a("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(p){return n.removeDebugParam(d)}}})],1)],1)],1)],1)}),a("el-form-item",[a("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),a("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),a("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?a("div",{staticClass:"debug-response"},[a("div",{staticClass:"debug-response-header"},[a("span",[n._v(n._s(n.$t("debug.responseResult")))]),a("el-button",{attrs:{type:"text",size:"small"},on:{click:n.toggleDebugResponseView}},[n._v(n._s(n.showDebugRawResponse?n.$t("debug.switchToMarkdown"):n.$t("debug.switchToRaw")))])],1),n.showDebugRawResponse?a("div",{staticClass:"debug-response-raw"},[a("codemirror",{key:`debug-response-${n.selectedSpanId}-${n.debugResponseKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.debugResponse),options:n.cmOptions}})],1):a("div",{staticClass:"debug-response-markdown"},n._l(n.renderStructuredContent(n.debugResponse),function(f){return a("div",{key:f.key,staticClass:"content-element"},[f.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(f.content)}}):f.type==="image"?a("div",{staticClass:"image-content"},[f.label?a("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:f.url,alt:"content image"},on:{click:function(d){return n.handleImageClick(f.url)}}})]):n._e()])}),0)]):n._e()],1):n._e(),n.selectedSpan.type==="CHAT_MODEL"?a("div",{staticClass:"debug-chat-model-form"},[a("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[a("el-form-item",{attrs:{label:n.$t("debug.systemPrompt")}},[a("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(f){n.$set(n.debugForm,"systemContent",f)},expression:"debugForm.systemContent"}})],1),a("el-form-item",{attrs:{label:n.$t("debug.userPrompt")}},[a("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(f){n.$set(n.debugForm,"userContent",f)},expression:"debugForm.userContent"}})],1),n.selectedSpan.type==="CHAT_MODEL"&&n.hasImageUrl?a("el-form-item",{attrs:{label:n.$t("debug.submitImage")}},[a("el-switch",{attrs:{"active-text":n.$t("debug.yes"),"inactive-text":n.$t("debug.no")},model:{value:n.submitImage,callback:function(f){n.submitImage=f},expression:"submitImage"}})],1):n._e(),n._l(n.debugForm.params,function(f,d){return a("div",{key:d,staticClass:"debug-form-row"},[a("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${d+1}`}},[a("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[a("el-col",{attrs:{span:8}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:f.key,callback:function(p){n.$set(f,"key",p)},expression:"item.key"}})],1),a("el-col",{attrs:{span:14}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:f.value,callback:function(p){n.$set(f,"value",p)},expression:"item.value"}})],1),a("el-col",{attrs:{span:2}},[a("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(p){return n.removeDebugParam(d)}}})],1)],1)],1)],1)}),a("el-form-item",[a("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),a("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),a("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")))])],1)],2),n.debugResponse!==null?a("div",{staticClass:"debug-response"},[a("div",{staticClass:"debug-response-header"},[a("span",[n._v(n._s(n.$t("debug.responseResult")))]),a("el-button",{attrs:{type:"text",size:"small"},on:{click:n.toggleDebugResponseView}},[n._v(n._s(n.showDebugRawResponse?n.$t("debug.switchToMarkdown"):n.$t("debug.switchToRaw")))])],1),n.showDebugRawResponse?a("div",{staticClass:"debug-response-raw"},[a("codemirror",{key:`debug-response-${n.selectedSpanId}-${n.debugResponseKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.debugResponse),options:n.cmOptions}})],1):a("div",{staticClass:"debug-response-markdown"},[n.selectedSpan.type==="CHAT_MODEL"&&((o=n.debugResponse)!=null&&o.choices)?a("div",{staticClass:"outputs-section"},n._l(n.debugResponse.choices,function(f,d){return a("div",{key:d,staticClass:"choice-item"},[a("div",{staticClass:"choice-header"},[a("span",[n._v("Choice "+n._s(d))])]),a("div",{staticClass:"choice-content"},[f.message?a("div",[a("div",{staticClass:"message-header"},[a("i",{staticClass:"el-icon-user message-icon"}),a("span",[n._v(n._s(f.message.role))])]),a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(f.message.content),function(p){return a("div",{key:p.key,staticClass:"content-element"},[p.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(p.content)}}):p.type==="image"?a("div",{staticClass:"image-content"},[p.label?a("div",{staticClass:"image-label"},[n._v(n._s(p.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:p.url,alt:"content image"},on:{click:function(y){return n.handleImageClick(p.url)}}})]):n._e()])}),0)]):a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(f),function(p){return a("div",{key:p.key,staticClass:"content-element"},[p.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(p.content)}}):p.type==="image"?a("div",{staticClass:"image-content"},[p.label?a("div",{staticClass:"image-label"},[n._v(n._s(p.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:p.url,alt:"content image"},on:{click:function(y){return n.handleImageClick(p.url)}}})]):n._e()])}),0)])])}),0):a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.debugResponse),function(f){return a("div",{key:f.key,staticClass:"content-element"},[f.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(f.content)}}):f.type==="image"?a("div",{staticClass:"image-content"},[f.label?a("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:f.url,alt:"content image"},on:{click:function(d){return n.handleImageClick(f.url)}}})]):n._e()])}),0)])]):n._e()],1):n._e()])},Pp=[],zp=An(Rp,Fp,Pp,!1,null,"5a07e1ef");const $p=zp.exports;(function(u,n){(function(a){a(Wt())})(function(a){function o(D,R,K,de,L,w){this.indented=D,this.column=R,this.type=K,this.info=de,this.align=L,this.prev=w}function f(D,R,K,de){var L=D.indented;return D.context&&D.context.type=="statement"&&K!="statement"&&(L=D.context.indented),D.context=new o(L,R,K,de,null,D.context)}function d(D){var R=D.context.type;return(R==")"||R=="]"||R=="}")&&(D.indented=D.context.indented),D.context=D.context.prev}function p(D,R,K){if(R.prevToken=="variable"||R.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(D.string.slice(0,K))||R.typeAtEndOfLine&&D.column()==D.indentation())return!0}function y(D){for(;;){if(!D||D.type=="top")return!0;if(D.type=="}"&&D.prev.info!="namespace")return!1;D=D.prev}}a.defineMode("clike",function(D,R){var K=D.indentUnit,de=R.statementIndentUnit||K,L=R.dontAlignCalls,w=R.keywords||{},oe=R.types||{},Te=R.builtin||{},Z=R.blockKeywords||{},ce=R.defKeywords||{},ke=R.atoms||{},_e=R.hooks||{},ft=R.multiLineStrings,we=R.indentStatements!==!1,Me=R.indentSwitch!==!1,Ke=R.namespaceSeparator,ct=R.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Pt=R.numberStart||/[\d\.]/,ht=R.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,dt=R.isOperatorChar||/[+\-*&%=<>!?|\/]/,gt=R.isIdentifierChar||/[\w\$_\xa1-\uffff]/,qt=R.isReservedIdentifier||!1,be,kt;function Gt(ye,xe){var pe=ye.next();if(_e[pe]){var Fe=_e[pe](ye,xe);if(Fe!==!1)return Fe}if(pe=='"'||pe=="'")return xe.tokenize=In(pe),xe.tokenize(ye,xe);if(Pt.test(pe)){if(ye.backUp(1),ye.match(ht))return"number";ye.next()}if(ct.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(dt.test(pe)){for(;!ye.match(/^\/[\/*]/,!1)&&ye.eat(dt););return"operator"}if(ye.eatWhile(gt),Ke)for(;ye.match(Ke);)ye.eatWhile(gt);var De=ye.current();return x(w,De)?(x(Z,De)&&(be="newstatement"),x(ce,De)&&(kt=!0),"keyword"):x(oe,De)?"type":x(Te,De)||qt&&qt(De)?(x(Z,De)&&(be="newstatement"),"builtin"):x(ke,De)?"atom":"variable"}function In(ye){return function(xe,pe){for(var Fe=!1,De,zt=!1;(De=xe.next())!=null;){if(De==ye&&!Fe){zt=!0;break}Fe=!Fe&&De=="\\"}return(zt||!(Fe||ft))&&(pe.tokenize=null),"string"}}function Zn(ye,xe){for(var pe=!1,Fe;Fe=ye.next();){if(Fe=="/"&&pe){xe.tokenize=null;break}pe=Fe=="*"}return"comment"}function wr(ye,xe){R.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=kt=null;var Fe=(xe.tokenize||Gt)(ye,xe);if(Fe=="comment"||Fe=="meta")return Fe;if(pe.align==null&&(pe.align=!0),be==";"||be==":"||be==","&&ye.match(/^\s*(?:\/\/.*)?$/,!1))for(;xe.context.type=="statement";)d(xe);else if(be=="{")f(xe,ye.column(),"}");else if(be=="[")f(xe,ye.column(),"]");else if(be=="(")f(xe,ye.column(),")");else if(be=="}"){for(;pe.type=="statement";)pe=d(xe);for(pe.type=="}"&&(pe=d(xe));pe.type=="statement";)pe=d(xe)}else be==pe.type?d(xe):we&&((pe.type=="}"||pe.type=="top")&&be!=";"||pe.type=="statement"&&be=="newstatement")&&f(xe,ye.column(),"statement",ye.current());if(Fe=="variable"&&(xe.prevToken=="def"||R.typeFirstDefinitions&&p(ye,xe,ye.start)&&y(xe.context)&&ye.match(/^\s*\(/,!1))&&(Fe="def"),_e.token){var De=_e.token(ye,xe,Fe);De!==void 0&&(Fe=De)}return Fe=="def"&&R.styleDefs===!1&&(Fe="variable"),xe.startOfLine=!1,xe.prevToken=kt?"def":Fe||be,wr(ye,xe),Fe},indent:function(ye,xe){if(ye.tokenize!=Gt&&ye.tokenize!=null||ye.typeAtEndOfLine&&y(ye.context))return a.Pass;var pe=ye.context,Fe=xe&&xe.charAt(0),De=Fe==pe.type;if(pe.type=="statement"&&Fe=="}"&&(pe=pe.prev),R.dontIndentStatements)for(;pe.type=="statement"&&R.dontIndentStatements.test(pe.info);)pe=pe.prev;if(_e.indent){var zt=_e.indent(ye,pe,xe,K);if(typeof zt=="number")return zt}var Qt=pe.prev&&pe.prev.info=="switch";if(R.allmanIndentation&&/[{(]/.test(Fe)){for(;pe.type!="top"&&pe.type!="}";)pe=pe.prev;return pe.indented}return pe.type=="statement"?pe.indented+(Fe=="{"?0:de):pe.align&&(!L||pe.type!=")")?pe.column+(De?0:1):pe.type==")"&&!De?pe.indented+de:pe.indented+(De?0:K)+(!De&&Qt&&!/^(?:case|default)\b/.test(xe)?K:0)},electricInput:Me?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function m(D){for(var R={},K=D.split(" "),de=0;de<K.length;++de)R[K[de]]=!0;return R}function x(D,R){return typeof D=="function"?D(R):D.propertyIsEnumerable(R)}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",A="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",E="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",B=m("int long char short double float unsigned signed void bool"),q=m("SEL instancetype id Class Protocol BOOL");function F(D){return x(B,D)||/.+_t$/.test(D)}function N(D){return F(D)||x(q,D)}var O="case do else for if switch while struct enum union",$="struct enum union";function X(D,R){if(!R.startOfLine)return!1;for(var K,de=null;K=D.peek();){if(K=="\\"&&D.match(/^.$/)){de=X;break}else if(K=="/"&&D.match(/^\/[\/\*]/,!1))break;D.next()}return R.tokenize=de,"meta"}function ne(D,R){return R.prevToken=="type"?"type":!1}function ue(D){return!D||D.length<2||D[0]!="_"?!1:D[1]=="_"||D[1]!==D[1].toLowerCase()}function se(D){return D.eatWhile(/[\w\.']/),"number"}function he(D,R){if(D.backUp(1),D.match(/^(?:R|u8R|uR|UR|LR)/)){var K=D.match(/^"([^\s\\()]{0,16})\(/);return K?(R.cpp11RawStringDelim=K[1],R.tokenize=ie,ie(D,R)):!1}return D.match(/^(?:u8|u|U|L)/)?D.match(/^["']/,!1)?"string":!1:(D.next(),!1)}function Oe(D){var R=/(\w+)::~?(\w+)$/.exec(D);return R&&R[1]==R[2]}function Re(D,R){for(var K;(K=D.next())!=null;)if(K=='"'&&!D.eat('"')){R.tokenize=null;break}return"string"}function ie(D,R){var K=R.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),de=D.match(new RegExp(".*?\\)"+K+'"'));return de?R.tokenize=null:D.skipToEnd(),"string"}function ze(D,R){typeof D=="string"&&(D=[D]);var K=[];function de(w){if(w)for(var oe in w)w.hasOwnProperty(oe)&&K.push(oe)}de(R.keywords),de(R.types),de(R.builtin),de(R.atoms),K.length&&(R.helperType=D[0],a.registerHelper("hintWords",D[0],K));for(var L=0;L<D.length;++L)a.defineMIME(D[L],R)}ze(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:m(S),types:F,blockKeywords:m(O),defKeywords:m($),typeFirstDefinitions:!0,atoms:m("NULL true false"),isReservedIdentifier:ue,hooks:{"#":X,"*":ne},modeProps:{fold:["brace","include"]}}),ze(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:m(S+" "+A),types:F,blockKeywords:m(O+" class try catch"),defKeywords:m($+" class namespace"),typeFirstDefinitions:!0,atoms:m("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:ue,hooks:{"#":X,"*":ne,u:he,U:he,L:he,R:he,0:se,1:se,2:se,3:se,4:se,5:se,6:se,7:se,8:se,9:se,token:function(D,R,K){if(K=="variable"&&D.peek()=="("&&(R.prevToken==";"||R.prevToken==null||R.prevToken=="}")&&Oe(D.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),ze("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(D){return D.match("interface",!1)?!1:(D.eatWhile(/[\w\$_]/),"meta")},'"':function(D,R){return D.match(/""$/)?(R.tokenize=H,R.tokenize(D,R)):!1}},modeProps:{fold:["brace","import"]}}),ze("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(D,R){return D.eat('"')?(R.tokenize=Re,Re(D,R)):(D.eatWhile(/[\w\$_]/),"meta")}}});function H(D,R){for(var K=!1;!D.eol();){if(!K&&D.match('"""')){R.tokenize=null;break}K=D.next()=="\\"&&!K}return"string"}function Q(D){return function(R,K){for(var de;de=R.next();)if(de=="*"&&R.eat("/"))if(D==1){K.tokenize=null;break}else return K.tokenize=Q(D-1),K.tokenize(R,K);else if(de=="/"&&R.eat("*"))return K.tokenize=Q(D+1),K.tokenize(R,K);return"comment"}}ze("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(D){return D.eatWhile(/[\w\$_]/),"meta"},'"':function(D,R){return D.match('""')?(R.tokenize=H,R.tokenize(D,R)):!1},"'":function(D){return D.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(D.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(D,R){var K=R.context;return K.type=="}"&&K.align&&D.eat(">")?(R.context=new o(K.indented,K.column,K.type,K.info,null,K.prev),"operator"):!1},"/":function(D,R){return D.eat("*")?(R.tokenize=Q(1),R.tokenize(D,R)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function k(D){return function(R,K){for(var de=!1,L,w=!1;!R.eol();){if(!D&&!de&&R.match('"')){w=!0;break}if(D&&R.match('"""')){w=!0;break}L=R.next(),!de&&L=="$"&&R.match("{")&&R.skipTo("}"),de=!de&&L=="\\"&&!D}return(w||!D)&&(K.tokenize=null),"string"}}ze("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(D){return D.eatWhile(/[\w\$_]/),"meta"},"*":function(D,R){return R.prevToken=="."?"variable":"operator"},'"':function(D,R){return R.tokenize=k(D.match('""')),R.tokenize(D,R)},"/":function(D,R){return D.eat("*")?(R.tokenize=Q(1),R.tokenize(D,R)):!1},indent:function(D,R,K,de){var L=K&&K.charAt(0);if((D.prevToken=="}"||D.prevToken==")")&&K=="")return D.indented;if(D.prevToken=="operator"&&K!="}"&&D.context.type!="}"||D.prevToken=="variable"&&L=="."||(D.prevToken=="}"||D.prevToken==")")&&L==".")return de*2+R.indented;if(R.align&&R.type=="}")return R.indented+(D.context.type==(K||"").charAt(0)?0:de)}},modeProps:{closeBrackets:{triples:'"'}}}),ze(["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:{"#":X},modeProps:{fold:["brace","include"]}}),ze("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:F,blockKeywords:m(O),atoms:m("null true false"),hooks:{"#":X},modeProps:{fold:["brace","include"]}}),ze("text/x-objectivec",{name:"clike",keywords:m(S+" "+E),types:N,builtin:m(W),blockKeywords:m(O+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:m($+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:m("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ue,hooks:{"#":X,"*":ne},modeProps:{fold:["brace","include"]}}),ze("text/x-objectivec++",{name:"clike",keywords:m(S+" "+E+" "+A),types:N,builtin:m(W),blockKeywords:m(O+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:m($+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:m("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ue,hooks:{"#":X,"*":ne,u:he,U:he,L:he,R:he,0:se,1:se,2:se,3:se,4:se,5:se,6:se,7:se,8:se,9:se,token:function(D,R,K){if(K=="variable"&&D.peek()=="("&&(R.prevToken==";"||R.prevToken==null||R.prevToken=="}")&&Oe(D.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),ze("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:F,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:{"#":X},modeProps:{fold:["brace","include"]}});var J=null;function G(D){return function(R,K){for(var de=!1,L,w=!1;!R.eol();){if(!de&&R.match('"')&&(D=="single"||R.match('""'))){w=!0;break}if(!de&&R.match("``")){J=G(D),w=!0;break}L=R.next(),de=D=="single"&&!de&&L=="\\"}return w&&(K.tokenize=null),"string"}}ze("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(D){var R=D.charAt(0);return R===R.toUpperCase()&&R!==R.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(D){return D.eatWhile(/[\w\$_]/),"meta"},'"':function(D,R){return R.tokenize=G(D.match('""')?"triple":"single"),R.tokenize(D,R)},"`":function(D,R){return!J||!D.match("`")?!1:(R.tokenize=J,J=null,R.tokenize(D,R))},"'":function(D){return D.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(D,R,K){if((K=="variable"||K=="type")&&R.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})();const Bp={name:"TraceDetailDrawer",components:{TraceSpanTree:qa,DebugTab:$p,codemirror:co.codemirror},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}},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},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},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:{drawerTitle(){let u=this.traceInfo.trace_name;return u||(u=this.traceInfo.trace_id),u?this.$t("trace.traceDetail")+": "+u:this.$t("trace.traceDetail")},traceStartTime(){return this.spans.length===0?0:Math.min(...this.spans.map(u=>u.start_time_unix_nano))},traceEndTime(){return this.spans.length===0?0:Math.max(...this.spans.map(u=>u.end_time_unix_nano))},hasInputs(){var u,n;return((n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.inputs)!==void 0},hasOutputs(){var u,n;return((n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.outputs)!==void 0},attributesData(){var u,n;return(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)!=null&&n.attributes?Object.entries(this.selectedSpan.parsedContent.attributes).filter(([a])=>!a.startsWith("langsword.span")).map(([a,o])=>({key:a,value:typeof o=="string"?o:JSON.stringify(o,null,2)})):[]},rawInputs(){var u,n,a;return(a=(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.attributes)==null?void 0:a["langsword.spanInputs"]},rawOutputs(){var u,n,a;return(a=(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.attributes)==null?void 0:a["langsword.spanOutputs"]},hasEvents(){var n,a,o;if(((n=this.selectedSpan)==null?void 0:n.has_events)!==void 0)return this.selectedSpan.has_events===!0;const u=(o=(a=this.selectedSpan)==null?void 0:a.parsedContent)==null?void 0:o.events;return u&&Array.isArray(u)&&u.length>0},spanEvents(){var n,a;const u=(a=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:a.events;return!u||!Array.isArray(u)?[]:u},showDebugTab(){var u,n;if(!this.selectedSpan)return!1;if(this.selectedSpan.type==="CLIENT"){const a=(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.inputs;if(!a){const o=this.rawInputs;if(o)try{const f=typeof o=="string"?JSON.parse(o):o;return f&&f.file&&(f.file.filename||f.file.content)}catch{return!1}return!1}return a&&a.file&&(a.file.filename||a.file.content)}return this.selectedSpan.type==="CHAT_MODEL"}},watch:{visible(u){this.localVisible=u,u||(this.spanSearchQuery="")},localVisible(u){this.$emit("update:visible",u)},activeTab(u){u==="raw"&&this.$nextTick(()=>{this.rawInputsKey++,this.rawOutputsKey++}),u==="events"&&this.$nextTick(()=>{this.eventsKey++})},selectedSpan(){var f;if(!this.selectedSpan)return;const u=this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="CHAT_MODEL",n=this.selectedSpan.has_events===!0||((f=this.selectedSpan.parsedContent)==null?void 0:f.events)&&Array.isArray(this.selectedSpan.parsedContent.events)&&this.selectedSpan.parsedContent.events.length>0,a=[];u&&a.push("io","raw"),this.showDebugTab&&a.push("debug"),a.push("attributes"),n&&a.push("events");let o="attributes";u&&(o="io"),a.includes(o)?this.activeTab=o:this.activeTab="attributes",this.$nextTick(()=>{this.updateCollapseStates(),this.activeTab==="raw"&&(this.rawInputsKey++,this.rawOutputsKey++),this.activeTab==="events"&&this.eventsKey++})}},methods:{handleClose(u){this.$emit("close"),u&&typeof u=="function"&&u()},handleSpanSearch(){this.$emit("span-search",this.spanSearchQuery)},handleSpanSelect(u){this.$emit("span-select",u),this.$nextTick(()=>{this.updateCollapseStates()})},updateCollapseStates(){var a,o,f,d,p;this.activeCollapse=["inputs","outputs"],(f=(o=(a=this.selectedSpan)==null?void 0:a.parsedContent)==null?void 0:o.inputs)!=null&&f.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((y,m)=>`message-${m}`):this.messageCollapse=[],this.rawIoCollapse=["rawInputs","rawOutputs"];const u=(p=(d=this.selectedSpan)==null?void 0:d.parsedContent)==null?void 0:p.events;u&&Array.isArray(u)&&u.length>0?this.eventsCollapse=u.map((y,m)=>`event-${m}`):this.eventsCollapse=[]},parseContentData(u){const n={attributes:u.attributes||{},events:u.events||[],status:u.status||{}};if(u.inputs&&(n.inputs=u.inputs),u.outputs&&(n.outputs=u.outputs),n.attributes){const a=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(a)try{n.inputs=typeof a=="string"?JSON.parse(a):a}catch{try{const d=a.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(d)}catch{n.inputs=a}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const d=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(d)}catch{n.outputs=o}}}return n},getStatusType(u){if(!u)return"info";const n=u.toUpperCase();return n==="OK"||n==="SUCCESS"?"success":n==="ERROR"||n==="FAILED"?"danger":n==="WARNING"||n==="WARN"?"warning":"info"},formatNanoDuration(u){if(!u)return"-";const n=u/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`},formatTimestamp(u){if(!u)return"-";const n=typeof u=="string"?parseInt(u,10):u,a=new Date(n);return isNaN(a.getTime())?"-":a.toLocaleString("zh-CN")},formatEventTimestamp(u){if(!u)return"-";const n=u/1e6,a=new Date(n);return isNaN(a.getTime())?"-":a.toLocaleString("zh-CN")},getEventAttributesData(u){return!u||!u.attributes?[]:Object.entries(u.attributes).map(([n,a])=>({key:n,value:typeof a=="string"?a:JSON.stringify(a,null,2)}))},getOtherEventAttributes(u){if(!u||!u.attributes)return[];const n=["exception.type","exception.message","exception.stacktrace"];return Object.entries(u.attributes).filter(([a])=>!n.includes(a)).map(([a,o])=>({key:a,value:typeof o=="string"?o:JSON.stringify(o,null,2)}))},formatRawJson(u){if(!u)return"";if(typeof u=="string")try{const n=JSON.parse(u);return JSON.stringify(n,null,2)}catch{return u}return JSON.stringify(u,null,2)},getMessageIcon(u){return{user:"el-icon-user",assistant:"el-icon-service",system:"el-icon-setting"}[u]||"el-icon-document"},extractImagesFromObject(u,n=[],a=""){if(!(!u||typeof u!="object")){for(const[o,f]of Object.entries(u)){const d=a?`${a}.${o}`:o;typeof f=="string"&&f.trim()!==""?(f.startsWith("data:image/")||f.startsWith("/9j/")||f.startsWith("iVBOR")||f.startsWith("R0lGOD"))&&(n.push({path:d,value:f,label:o==="content"&&a?`${a.split(".").pop()}: ${o}`:o}),u[o]="[IMAGE_DATA]"):f&&typeof f=="object"&&!Array.isArray(f)?this.extractImagesFromObject(f,n,d):Array.isArray(f)&&f.forEach((p,y)=>{p&&typeof p=="object"&&this.extractImagesFromObject(p,n,`${d}[${y}]`)})}return n}},renderStructuredContent(u){const n=[];if(!u)return n;try{if(Array.isArray(u))u.forEach((a,o)=>{var f;a&&typeof a=="object"?a.type==="text"&&a.text?n.push({type:"markdown",content:Le(a.text),key:`text-${o}`}):a.type==="image_url"&&((f=a.image_url)!=null&&f.url)?n.push({type:"image",url:a.image_url.url,key:`image-${o}`}):a.image_base64&&a.image_base64.trim()!==""?n.push({type:"image",url:this.formatBase64Image(a.image_base64),key:`base64-image-${o}`}):n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:`json-${o}`}):n.push({type:"markdown",content:Le(String(a)),key:`text-${o}`})});else if(typeof u=="string")n.push({type:"markdown",content:Le(u),key:"text-0"});else if(typeof u=="object")if(u.data&&Array.isArray(u.data.result)){const a=JSON.parse(JSON.stringify(u)),o=[];a.data&&a.data.result&&a.data.result.forEach((f,d)=>{f.image_base64&&f.image_base64.trim()!==""&&(o.push({type:"page",image_base64:f.image_base64,page_num:f.page_num,label:f.page_num!==void 0?`Page ${f.page_num}`:`Result ${d}`}),f.image_base64="[BASE64_IMAGE_DATA]"),f.seals&&Array.isArray(f.seals)&&f.seals.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&(o.push({type:"seal",image_base64:p.image_base64,page_num:f.page_num,seal_index:y,seal_value:p.value,label:`Seal: ${p.value||y}`}),p.image_base64="[BASE64_IMAGE_DATA]")})}),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.image_base64),key:`result-image-${d}`,label:f.label})})}else{const a=JSON.parse(JSON.stringify(u)),o=[];this.extractImagesFromObject(a,o),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.value),key:`extracted-image-${d}`,label:f.label})})}else n.push({type:"markdown",content:Le(String(u)),key:"text-0"})}catch(a){console.error("Error rendering content:",a),n.push({type:"markdown",content:Le("Error rendering content"),key:"error-0"})}return n},formatBase64Image(u){return u?u.startsWith("data:image")?u:u.startsWith("/9j/")?`data:image/jpeg;base64,${u}`:u.startsWith("iVBOR")?`data:image/png;base64,${u}`:u.startsWith("R0lGOD")?`data:image/gif;base64,${u}`:`data:image/jpeg;base64,${u}`:""},handleImageClick(u){Rl({options:this.viewerOptions,images:[u]})}}};var Hp=function(){var o,f,d,p,y,m;var n=this,a=n._self._c;return a("el-drawer",{attrs:{visible:n.localVisible,"with-header":!0,title:n.drawerTitle,size:"90%",direction:"rtl","before-close":n.handleClose},on:{"update:visible":function(x){n.localVisible=x}}},[n.currentTraceId?a("div",{directives:[{name:"loading",rawName:"v-loading",value:n.loading,expression:"loading"}],staticClass:"trace-detail-content",attrs:{"element-loading-text":"加载中..."}},[a("div",{staticClass:"trace-info-section"},[a("el-descriptions",{attrs:{column:3,border:""}},[a("el-descriptions-item",{attrs:{label:n.$t("trace.traceId")}},[n._v(n._s(n.traceInfo.trace_id))]),a("el-descriptions-item",{attrs:{label:n.$t("trace.status")}},[a("el-tag",{attrs:{type:n.getStatusType(n.traceInfo.status),size:"mini"}},[n._v(" "+n._s(n.traceInfo.status)+" ")])],1),a("el-descriptions-item",{attrs:{label:n.$t("trace.executionTime")}},[n._v(" "+n._s(n.formatNanoDuration(n.traceInfo.execution_time_ms))+" ")]),a("el-descriptions-item",{attrs:{label:n.$t("trace.timeCreated")}},[n._v(" "+n._s(n.formatTimestamp(n.traceInfo.timestamp_ms))+" ")]),a("el-descriptions-item",{attrs:{label:n.$t("trace.experimentId")}},[n._v(n._s(n.traceInfo.experiment_id))]),a("el-descriptions-item",{attrs:{label:n.$t("trace.traceType")}},[a("el-tag",{attrs:{size:"mini",type:"info"}},[n._v(n._s(n.traceInfo.trace_type||"-"))])],1),a("el-descriptions-item",{attrs:{label:n.$t("trace.traceName"),span:2}},[n._v(" "+n._s(n.traceInfo.trace_name||"-")+" ")])],1)],1),a("el-divider"),a("el-row",{attrs:{gutter:20}},[a("el-col",{staticClass:"span-tree-col",attrs:{span:8}},[a("el-card",[a("div",{attrs:{slot:"header"},slot:"header"},[a("el-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(x){n.spanSearchQuery=x},expression:"spanSearchQuery"}})],1),a("TraceSpanTree",{attrs:{spans:n.filteredSpans,"selected-span-id":n.selectedSpanId,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime},on:{"span-select":n.handleSpanSelect}})],1)],1),a("el-col",{staticClass:"span-detail-col",attrs:{span:16}},[a("el-card",[n.selectedSpan?a("div",{staticClass:"span-detail-content"},[a("el-tabs",{key:`tabs-${n.selectedSpanId}`,model:{value:n.activeTab,callback:function(x){n.activeTab=x},expression:"activeTab"}},[n.selectedSpan.type==="CLIENT"||n.selectedSpan.type==="CHAT_MODEL"?a("el-tab-pane",{attrs:{label:`${n.$t("trace.inputs")} / ${n.$t("trace.outputs")}`,name:"io"}},[a("div",{staticClass:"io-content"},[n.hasInputs?a("div",{staticClass:"io-section"},[a("el-collapse",{model:{value:n.activeCollapse,callback:function(x){n.activeCollapse=x},expression:"activeCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.inputs"),name:"inputs"}},[(f=(o=n.selectedSpan.parsedContent)==null?void 0:o.inputs)!=null&&f.messages?a("div",{staticClass:"messages-section"},n._l(n.selectedSpan.parsedContent.inputs.messages,function(x,S){return a("div",{key:S,staticClass:"message-item"},[a("el-collapse",{model:{value:n.messageCollapse,callback:function(A){n.messageCollapse=A},expression:"messageCollapse"}},[a("el-collapse-item",{attrs:{name:`message-${S}`}},[a("template",{slot:"title"},[a("i",{staticClass:"message-icon",class:n.getMessageIcon(x.role)}),a("span",{staticClass:"message-role"},[n._v(n._s(x.role))])]),a("div",{staticClass:"message-content"},[a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(x.content),function(A){return a("div",{key:A.key,staticClass:"content-element"},[A.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(A.content)}}):A.type==="image"?a("div",{staticClass:"image-content"},[A.label?a("div",{staticClass:"image-label"},[n._v(n._s(A.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:A.url,alt:"content image"},on:{click:function(E){return n.handleImageClick(A.url)}}})]):n._e()])}),0)])],2)],1)],1)}),0):(d=n.selectedSpan.parsedContent)!=null&&d.inputs?a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.inputs),function(x){return a("div",{key:x.key,staticClass:"content-element"},[x.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(x.content)}}):x.type==="image"?a("div",{staticClass:"image-content"},[x.label?a("div",{staticClass:"image-label"},[n._v(n._s(x.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:x.url,alt:"content image"},on:{click:function(S){return n.handleImageClick(x.url)}}})]):n._e()])}),0):a("div",{staticClass:"empty-content"},[a("el-empty",{attrs:{description:n.$t("trace.noInputs"),"image-size":80}})],1)])],1)],1):n._e(),n.hasOutputs?a("div",{staticClass:"io-section"},[a("el-collapse",{model:{value:n.activeCollapse,callback:function(x){n.activeCollapse=x},expression:"activeCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.outputs"),name:"outputs"}},[(y=(p=n.selectedSpan.parsedContent)==null?void 0:p.outputs)!=null&&y.choices?a("div",{staticClass:"outputs-section"},n._l(n.selectedSpan.parsedContent.outputs.choices,function(x,S){return a("div",{key:S,staticClass:"choice-item"},[a("div",{staticClass:"choice-header"},[a("span",[n._v("Choice "+n._s(S))])]),a("div",{staticClass:"choice-content"},[x.message?a("div",[a("div",{staticClass:"message-header"},[a("i",{staticClass:"el-icon-user message-icon"}),a("span",[n._v(n._s(x.message.role))])]),a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(x.message.content),function(A){return a("div",{key:A.key,staticClass:"content-element"},[A.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(A.content)}}):A.type==="image"?a("div",{staticClass:"image-content"},[A.label?a("div",{staticClass:"image-label"},[n._v(n._s(A.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:A.url,alt:"content image"},on:{click:function(E){return n.handleImageClick(A.url)}}})]):n._e()])}),0)]):a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(x),function(A){return a("div",{key:A.key,staticClass:"content-element"},[A.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(A.content)}}):A.type==="image"?a("div",{staticClass:"image-content"},[A.label?a("div",{staticClass:"image-label"},[n._v(n._s(A.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:A.url,alt:"content image"},on:{click:function(E){return n.handleImageClick(A.url)}}})]):n._e()])}),0)])])}),0):(m=n.selectedSpan.parsedContent)!=null&&m.outputs?a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.outputs),function(x){return a("div",{key:x.key,staticClass:"content-element"},[x.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(x.content)}}):x.type==="image"?a("div",{staticClass:"image-content"},[x.label?a("div",{staticClass:"image-label"},[n._v(n._s(x.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:x.url,alt:"content image"},on:{click:function(S){return n.handleImageClick(x.url)}}})]):n._e()])}),0):a("div",{staticClass:"empty-content"},[a("el-empty",{attrs:{description:n.$t("trace.noOutputs"),"image-size":80}})],1)])],1)],1):n._e(),!n.hasInputs&&!n.hasOutputs?a("div",{staticClass:"empty-io"},[a("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()])]):n._e(),a("el-tab-pane",{attrs:{label:n.$t("trace.attributes"),name:"attributes"}},[a("el-table",{staticClass:"attributes-table",attrs:{data:n.attributesData,border:"",stripe:""}},[a("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"250"},scopedSlots:n._u([{key:"default",fn:function(x){return[a("el-tooltip",{attrs:{content:x.row.key,placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[a("span",{staticClass:"attribute-key"},[n._v(n._s(x.row.key))])])]}}],null,!1,688878823)}),a("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(x){return[a("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[a("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(x.row.value))]),a("div",{staticClass:"attribute-value"},[n._v(n._s(x.row.value))])])]}}],null,!1,4281519148)})],1)],1),n.selectedSpan.type==="CLIENT"||n.selectedSpan.type==="CHAT_MODEL"?a("el-tab-pane",{attrs:{label:n.$t("trace.rawInputsOutputs"),name:"raw"}},[n.activeTab==="raw"?a("div",{staticClass:"raw-io-content"},[n.rawInputs?a("div",{staticClass:"raw-io-section"},[a("el-collapse",{model:{value:n.rawIoCollapse,callback:function(x){n.rawIoCollapse=x},expression:"rawIoCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.rawInputs"),name:"rawInputs"}},[a("codemirror",{key:`raw-inputs-${n.selectedSpanId}-${n.rawInputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawInputs),options:n.cmOptions}})],1)],1)],1):n._e(),n.rawOutputs?a("div",{staticClass:"raw-io-section"},[a("el-collapse",{model:{value:n.rawIoCollapse,callback:function(x){n.rawIoCollapse=x},expression:"rawIoCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.rawOutputs"),name:"rawOutputs"}},[a("codemirror",{key:`raw-outputs-${n.selectedSpanId}-${n.rawOutputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawOutputs),options:n.cmOptions}})],1)],1)],1):n._e(),!n.rawInputs&&!n.rawOutputs?a("div",{staticClass:"empty-raw-io"},[a("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()]):n._e()]):n._e(),n.showDebugTab?a("el-tab-pane",{attrs:{label:"快速调试",name:"debug"}},[a("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?a("el-tab-pane",{attrs:{label:n.$t("trace.events"),name:"events"}},[n.activeTab==="events"?a("div",{staticClass:"events-content"},[a("el-collapse",{model:{value:n.eventsCollapse,callback:function(x){n.eventsCollapse=x},expression:"eventsCollapse"}},n._l(n.spanEvents,function(x,S){return a("el-collapse-item",{key:`event-${S}`,attrs:{name:`event-${S}`}},[a("template",{slot:"title"},[a("div",{staticClass:"event-header"},[a("el-tag",{staticClass:"event-name-tag",attrs:{type:x.name==="exception"?"danger":"info",size:"mini"}},[n._v(" "+n._s(x.name)+" ")]),a("span",{staticClass:"event-time"},[n._v(n._s(n.formatEventTimestamp(x.timestamp)))])],1)]),a("div",{staticClass:"event-detail"},[x.name==="exception"?a("div",{staticClass:"exception-content"},[x.attributes["exception.type"]?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionType")))]),a("div",{staticClass:"field-value exception-type"},[n._v(n._s(x.attributes["exception.type"]))])]):n._e(),x.attributes["exception.message"]?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionMessage")))]),a("div",{staticClass:"field-value exception-message"},[n._v(n._s(x.attributes["exception.message"]))])]):n._e(),x.attributes["exception.stacktrace"]?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionStacktrace")))]),a("codemirror",{key:`stacktrace-${n.selectedSpanId}-${S}-${n.eventsKey}`,staticClass:"code-editor-wrapper stacktrace-editor",attrs:{value:x.attributes["exception.stacktrace"],options:n.cmOptionsJava}})],1):n._e(),n.getOtherEventAttributes(x).length>0?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.otherAttributes")))]),a("el-table",{attrs:{data:n.getOtherEventAttributes(x),border:"",stripe:"",size:"mini"}},[a("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"}}),a("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")}})],1)],1):n._e()]):a("div",{staticClass:"general-event-content"},[a("el-table",{attrs:{data:n.getEventAttributesData(x),border:"",stripe:"",size:"mini"}},[a("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"},scopedSlots:n._u([{key:"default",fn:function(A){return[a("el-tooltip",{attrs:{content:A.row.key,placement:"top","open-delay":500}},[a("span",{staticClass:"attribute-key"},[n._v(n._s(A.row.key))])])]}}],null,!0)}),a("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(A){return[a("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[a("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(A.row.value))]),a("div",{staticClass:"attribute-value"},[n._v(n._s(A.row.value))])])]}}],null,!0)})],1)],1)])],2)}),1),n.spanEvents.length===0?a("div",{staticClass:"empty-events"},[a("el-empty",{attrs:{description:n.$t("trace.noEvents")}})],1):n._e()],1):n._e()]):n._e()],1)],1):a("el-empty",{attrs:{description:n.$t("trace.selectSpan")}})],1)],1)],1)],1):n._e()])},Wp=[],jp=An(Bp,Hp,Wp,!1,null,"af1e0db8");const Up={name:"Trace",components:{TraceDetailDrawer:jp.exports},data(){return{traceList:[],filteredTraceList:[],searchQuery:"",dateRange:null,experimentList:[],selectedExperimentId:null,loading:!1,deleteLoading:!1,showColumnDialog:!1,selectedColumns:["trace_id","timestamp_ms","status","execution_time_ms","trace_type","trace_name"],visibleColumns:{trace_id:!0,timestamp_ms:!0,status:!0,execution_time_ms:!0,trace_type:!0,trace_name:!0},drawerVisible:!1,currentTraceId:null,traceInfo:{},spans:[],filteredSpans:[],spanSearchQuery:"",selectedSpanId:null,selectedSpan:null,activeTab:"io",drawerLoading:!1,messageCollapse:[],eventsCollapse:[],pageNo:1,pageSize:10,total:0,pickerOptions:{shortcuts:[{text:"近7天",onClick(u){const n=new Date,a=new Date;a.setTime(a.getTime()-3600*1e3*24*7),u.$emit("pick",[a,n])}},{text:"近30天",onClick(u){const n=new Date,a=new Date;a.setTime(a.getTime()-3600*1e3*24*30),u.$emit("pick",[a,n])}},{text:"7天前",onClick(u){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*7),n.setHours(23,59,59,999);const a=n.getTime();u.$emit("pick",[null,a])}},{text:"30天前",onClick(u){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*30),n.setHours(23,59,59,999);const a=n.getTime();u.$emit("pick",[null,a])}}]}}},computed:{},watch:{},mounted(){this.loadExperiments(),this.loadTraceList()},methods:{async loadTraceList(){this.loading=!0;try{let u=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]!==""&&(u=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 a=await xn.getTraceList(this.searchQuery,u,n,this.pageNo,this.pageSize,this.selectedExperimentId),o=Array.isArray(a==null?void 0:a.list)?a.list:[];this.traceList=o,this.filteredTraceList=o,this.total=parseInt((a==null?void 0:a.total)||0,10)}catch(u){console.error("Failed to load trace list:",u),this.$message.error("加载 trace 列表失败"),this.traceList=[],this.filteredTraceList=[],this.total=0}finally{this.loading=!1}},refresh(){this.loadTraceList()},handleRowClick(u){this.viewDetail(u.trace_id)},viewDetail(u){this.currentTraceId=u,this.loadTraceDetail(u),this.drawerVisible=!0},async loadTraceDetail(u){var n,a,o;this.drawerLoading=!0;try{const[f,d]=await Promise.all([xn.getTraceDetail(u),xn.getTraceSpans(u)]);if(this.traceInfo=f||{},this.spans=d||[],this.filteredSpans=this.spans,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==="CHAT_MODEL",y=this.selectedSpan.has_events===!0,m=[];p&&m.push("io","raw"),m.push("attributes"),y&&m.push("events");let x="attributes";p&&(x="io"),m.includes(x)?this.activeTab=x:this.activeTab="attributes",(a=(n=this.selectedSpan.parsedContent)==null?void 0:n.inputs)!=null&&a.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((A,E)=>`message-${E}`):this.messageCollapse=[];const S=(o=this.selectedSpan.parsedContent)==null?void 0:o.events;S&&Array.isArray(S)&&S.length>0?this.eventsCollapse=S.map((A,E)=>`event-${E}`):this.eventsCollapse=[]}}catch(f){console.error("Failed to load trace detail:",f),this.$message.error("加载 trace 详情失败"),this.traceInfo={},this.spans=[],this.filteredSpans=[]}finally{this.drawerLoading=!1}},handleSpanSearch(u){if(this.spanSearchQuery=u,!u){this.filteredSpans=this.spans;return}const n=u.toLowerCase();this.filteredSpans=this.spans.filter(a=>a.name.toLowerCase().includes(n)||a.type.toLowerCase().includes(n))},async handleSpanSelect(u){var p,y,m;this.selectedSpanId=u.span_id,this.selectedSpan=u,await this.loadSpanContent(u);const n=u.type==="CLIENT"||u.type==="CHAT_MODEL",a=u.has_events===!0,o=[];n&&o.push("io","raw"),o.push("attributes"),a&&o.push("events");let f="attributes";n&&(f="io"),this.$nextTick(()=>{o.includes(f)?this.activeTab=f:this.activeTab="attributes"}),(y=(p=this.selectedSpan.parsedContent)==null?void 0:p.inputs)!=null&&y.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((x,S)=>`message-${S}`):this.messageCollapse=[];const d=(m=this.selectedSpan.parsedContent)==null?void 0:m.events;d&&Array.isArray(d)&&d.length>0?this.eventsCollapse=d.map((x,S)=>`event-${S}`):this.eventsCollapse=[]},async loadSpanContent(u){if(!(!this.currentTraceId||!u.span_id||u.parsedContent))try{const n=await xn.getSpanContent(this.currentTraceId,u.span_id);if(n){const a=this.parseContentData(n);this.$set(u,"parsedContent",a)}}catch(n){console.error("Failed to load span content:",n)}},parseContentData(u){const n={attributes:u.attributes||{},events:u.events||[],status:u.status||{}};if(u.inputs&&(n.inputs=u.inputs),u.outputs&&(n.outputs=u.outputs),n.attributes){const a=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(a)try{n.inputs=typeof a=="string"?JSON.parse(a):a}catch{try{const d=a.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(d)}catch{n.inputs=a}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const d=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(d)}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.eventsCollapse=[],this.drawerLoading=!1},async loadExperiments(){try{const u=await xn.getExperiments();this.experimentList=Array.isArray(u)?u:[]}catch(u){console.error("Failed to load experiments:",u),this.experimentList=[]}},handleExperimentChange(){this.pageNo=1,this.loadTraceList()},handleSearch(){this.pageNo=1,this.loadTraceList()},handleSearchClear(){this.searchQuery="",this.pageNo=1,this.loadTraceList()},handleDateRangeChange(u){this.pageNo=1,u&&Array.isArray(u)?u.length===2&&(u[0]===null||u[0]===void 0)?this.dateRange=[null,u[1]]:this.dateRange=u:this.dateRange=u,this.loadTraceList()},handleSizeChange(u){this.pageSize=u,this.pageNo=1,this.loadTraceList()},handleCurrentChange(u){this.pageNo=u,this.loadTraceList()},async handleBatchDelete(){var d,p;const u=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),a=this.selectedExperimentId;let o="",f="warning";if(!u&&!n&&!a)o=this.$t("trace.deleteAllWarning"),f="error";else{if(o=this.$t("trace.deleteConfirmMessage")+`
|
|
78
|
+
`);const p=f.content.some(y=>y.type==="image_url");this.hasImageUrl=p}else typeof f.content=="string"?this.debugForm.userContent=f.content:this.debugForm.userContent="";else this.debugForm.userContent=""}else this.debugForm.systemContent="",this.debugForm.userContent="";this.debugResponse=null,this.showDebugRawResponse=!1,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(u){this.debugForm.params.splice(u,1)},handleDebugParamChange(){},resetDebugForm(){this.initDebugForm()},parseParamValue(u){if(u==="true"||u==="false")return u==="true";if(u==="")return"";{const n=Number(u);if(!isNaN(n)&&isFinite(n)&&u!=="")return n;try{return JSON.parse(u)}catch{return u}}},buildRequestHeaders(u){const n={};let a=null;const o=Object.keys(u).find(f=>f.toLowerCase()==="x-target-url");return o?(a=u[o],delete u[o]):this.targetUrl&&(a=this.targetUrl),a&&(n["X-Target-Url"]=a),n},handleDebugResponse(u){this.debugResponse=u,this.showDebugRawResponse=!1,this.$nextTick(()=>{this.debugResponseKey++})},handleDebugError(u){console.error("Debug request failed:",u);let n="未知错误";if(u.response&&u.response.data){const a=u.response.data;typeof a=="object"&&a!==null&&a.message?n=a.message:u.message&&(n=u.message)}else u.message&&(n=u.message);this.$message.error("调试请求失败: "+n)},async submitDebugRequest(u){const n=this.buildRequestHeaders(u),a=await xn.debugTrace(u,n);this.handleDebugResponse(a)},async submitDebugClient(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const u={};this.originalInputs.file&&(u.file=this.originalInputs.file),this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const a=n.value?n.value.trim():"";u[n.key]=this.parseParamValue(a)}}),await this.submitDebugRequest(u)}catch(u){this.handleDebugError(u)}finally{this.debugSubmitting=!1}}},async submitDebugChatModel(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const u=JSON.parse(JSON.stringify(this.originalInputs));if(this.debugForm.params.forEach(n=>{if(n.key&&n.key.trim()){const a=n.value?n.value.trim():"";u[n.key]=this.parseParamValue(a)}}),u.messages&&Array.isArray(u.messages)){const n=u.messages.find(o=>o.role==="system");n&&(n.content=this.debugForm.systemContent||"");const a=u.messages.find(o=>o.role==="user");if(a){const o=this.originalInputs.messages.find(d=>d.role==="user");if(o&&Array.isArray(o.content)){const d=[];this.submitImage&&Array.isArray(a.content)&&a.content.forEach(p=>{p.type==="image_url"&&d.push(p)}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&d.push({type:"text",text:this.debugForm.userContent}),a.content=d.length>0?d:this.debugForm.userContent||""}else a.content=this.debugForm.userContent||""}}await this.submitDebugRequest(u)}catch(u){this.handleDebugError(u)}finally{this.debugSubmitting=!1}}},toggleDebugResponseView(){this.showDebugRawResponse=!this.showDebugRawResponse,this.$nextTick(()=>{this.debugResponseKey++})},formatRawJson(u){if(!u)return"";if(typeof u=="string")try{const n=JSON.parse(u);return JSON.stringify(n,null,2)}catch{return u}return JSON.stringify(u,null,2)},extractImagesFromObject(u,n=[],a=""){if(!(!u||typeof u!="object")){for(const[o,f]of Object.entries(u)){const d=a?`${a}.${o}`:o;typeof f=="string"&&f.trim()!==""?(f.startsWith("data:image/")||f.startsWith("/9j/")||f.startsWith("iVBOR")||f.startsWith("R0lGOD"))&&(n.push({path:d,value:f,label:o==="content"&&a?`${a.split(".").pop()}: ${o}`:o}),u[o]="[IMAGE_DATA]"):f&&typeof f=="object"&&!Array.isArray(f)?this.extractImagesFromObject(f,n,d):Array.isArray(f)&&f.forEach((p,y)=>{p&&typeof p=="object"&&this.extractImagesFromObject(p,n,`${d}[${y}]`)})}return n}},renderStructuredContent(u){const n=[];if(!u)return n;try{if(Array.isArray(u))u.forEach((a,o)=>{var f;a&&typeof a=="object"?a.type==="text"&&a.text?n.push({type:"markdown",content:Le(a.text),key:`text-${o}`}):a.type==="image_url"&&((f=a.image_url)!=null&&f.url)?n.push({type:"image",url:a.image_url.url,key:`image-${o}`}):a.image_base64&&a.image_base64.trim()!==""?n.push({type:"image",url:this.formatBase64Image(a.image_base64),key:`base64-image-${o}`}):n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:`json-${o}`}):n.push({type:"markdown",content:Le(String(a)),key:`text-${o}`})});else if(typeof u=="string")n.push({type:"markdown",content:Le(u),key:"text-0"});else if(typeof u=="object")if(u.data&&Array.isArray(u.data.result)){const a=JSON.parse(JSON.stringify(u)),o=[];a.data&&a.data.result&&a.data.result.forEach((f,d)=>{f.image_base64&&f.image_base64.trim()!==""&&(o.push({type:"page",image_base64:f.image_base64,page_num:f.page_num,label:f.page_num!==void 0?`Page ${f.page_num}`:`Result ${d}`}),f.image_base64="[BASE64_IMAGE_DATA]"),f.seals&&Array.isArray(f.seals)&&f.seals.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&(o.push({type:"seal",image_base64:p.image_base64,page_num:f.page_num,seal_index:y,seal_value:p.value,label:`Seal: ${p.value||y}`}),p.image_base64="[BASE64_IMAGE_DATA]")})}),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.image_base64),key:`result-image-${d}`,label:f.label})})}else{const a=JSON.parse(JSON.stringify(u)),o=[];this.extractImagesFromObject(a,o),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.value),key:`extracted-image-${d}`,label:f.label})})}else n.push({type:"markdown",content:Le(String(u)),key:"text-0"})}catch(a){console.error("Error rendering content:",a),n.push({type:"markdown",content:Le("Error rendering content"),key:"error-0"})}return n},formatBase64Image(u){return u?u.startsWith("data:image")?u:u.startsWith("/9j/")?`data:image/jpeg;base64,${u}`:u.startsWith("iVBOR")?`data:image/png;base64,${u}`:u.startsWith("R0lGOD")?`data:image/gif;base64,${u}`:`data:image/jpeg;base64,${u}`:""},handleImageClick(u){Rl({options:this.viewerOptions,images:[u]})}}};var Fp=function(){var o;var n=this,a=n._self._c;return a("div",{staticClass:"debug-content"},[n.selectedSpan.type==="CLIENT"?a("div",{staticClass:"debug-client-form"},[a("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[n._l(n.debugForm.params,function(f,d){return a("div",{key:d,staticClass:"debug-form-row"},[a("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${d+1}`}},[a("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[a("el-col",{attrs:{span:8}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:f.key,callback:function(p){n.$set(f,"key",p)},expression:"item.key"}})],1),a("el-col",{attrs:{span:14}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:f.value,callback:function(p){n.$set(f,"value",p)},expression:"item.value"}})],1),a("el-col",{attrs:{span:2}},[a("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(p){return n.removeDebugParam(d)}}})],1)],1)],1)],1)}),a("el-form-item",[a("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),a("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),a("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?a("div",{staticClass:"debug-response"},[a("div",{staticClass:"debug-response-header"},[a("span",[n._v(n._s(n.$t("debug.responseResult")))]),a("el-button",{attrs:{type:"text",size:"small"},on:{click:n.toggleDebugResponseView}},[n._v(n._s(n.showDebugRawResponse?n.$t("debug.switchToMarkdown"):n.$t("debug.switchToRaw")))])],1),n.showDebugRawResponse?a("div",{staticClass:"debug-response-raw"},[a("codemirror",{key:`debug-response-${n.selectedSpanId}-${n.debugResponseKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.debugResponse),options:n.cmOptions}})],1):a("div",{staticClass:"debug-response-markdown"},n._l(n.renderStructuredContent(n.debugResponse),function(f){return a("div",{key:f.key,staticClass:"content-element"},[f.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(f.content)}}):f.type==="image"?a("div",{staticClass:"image-content"},[f.label?a("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:f.url,alt:"content image"},on:{click:function(d){return n.handleImageClick(f.url)}}})]):n._e()])}),0)]):n._e()],1):n._e(),n.selectedSpan.type==="CHAT_MODEL"?a("div",{staticClass:"debug-chat-model-form"},[a("el-form",{attrs:{model:n.debugForm,"label-width":"60px",size:"small"}},[a("el-form-item",{attrs:{label:n.$t("debug.systemPrompt")}},[a("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(f){n.$set(n.debugForm,"systemContent",f)},expression:"debugForm.systemContent"}})],1),a("el-form-item",{attrs:{label:n.$t("debug.userPrompt")}},[a("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(f){n.$set(n.debugForm,"userContent",f)},expression:"debugForm.userContent"}})],1),n.selectedSpan.type==="CHAT_MODEL"&&n.hasImageUrl?a("el-form-item",{attrs:{label:n.$t("debug.submitImage")}},[a("el-switch",{attrs:{"active-text":n.$t("debug.yes"),"inactive-text":n.$t("debug.no")},model:{value:n.submitImage,callback:function(f){n.submitImage=f},expression:"submitImage"}})],1):n._e(),n._l(n.debugForm.params,function(f,d){return a("div",{key:d,staticClass:"debug-form-row"},[a("el-form-item",{attrs:{label:`${n.$t("debug.paramLabel")} ${d+1}`}},[a("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[a("el-col",{attrs:{span:8}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramName")},on:{input:n.handleDebugParamChange},model:{value:f.key,callback:function(p){n.$set(f,"key",p)},expression:"item.key"}})],1),a("el-col",{attrs:{span:14}},[a("el-input",{attrs:{placeholder:n.$t("debug.paramValue")},on:{input:n.handleDebugParamChange},model:{value:f.value,callback:function(p){n.$set(f,"value",p)},expression:"item.value"}})],1),a("el-col",{attrs:{span:2}},[a("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(p){return n.removeDebugParam(d)}}})],1)],1)],1)],1)}),a("el-form-item",[a("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:n.addDebugParam}},[n._v(n._s(n.$t("debug.addParam")))]),a("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:n.resetDebugForm}},[n._v(n._s(n.$t("debug.reset")))]),a("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")))])],1)],2),n.debugResponse!==null?a("div",{staticClass:"debug-response"},[a("div",{staticClass:"debug-response-header"},[a("span",[n._v(n._s(n.$t("debug.responseResult")))]),a("el-button",{attrs:{type:"text",size:"small"},on:{click:n.toggleDebugResponseView}},[n._v(n._s(n.showDebugRawResponse?n.$t("debug.switchToMarkdown"):n.$t("debug.switchToRaw")))])],1),n.showDebugRawResponse?a("div",{staticClass:"debug-response-raw"},[a("codemirror",{key:`debug-response-${n.selectedSpanId}-${n.debugResponseKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.debugResponse),options:n.cmOptions}})],1):a("div",{staticClass:"debug-response-markdown"},[n.selectedSpan.type==="CHAT_MODEL"&&((o=n.debugResponse)!=null&&o.choices)?a("div",{staticClass:"outputs-section"},n._l(n.debugResponse.choices,function(f,d){return a("div",{key:d,staticClass:"choice-item"},[a("div",{staticClass:"choice-header"},[a("span",[n._v("Choice "+n._s(d))])]),a("div",{staticClass:"choice-content"},[f.message?a("div",[a("div",{staticClass:"message-header"},[a("i",{staticClass:"el-icon-user message-icon"}),a("span",[n._v(n._s(f.message.role))])]),a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(f.message.content),function(p){return a("div",{key:p.key,staticClass:"content-element"},[p.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(p.content)}}):p.type==="image"?a("div",{staticClass:"image-content"},[p.label?a("div",{staticClass:"image-label"},[n._v(n._s(p.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:p.url,alt:"content image"},on:{click:function(y){return n.handleImageClick(p.url)}}})]):n._e()])}),0)]):a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(f),function(p){return a("div",{key:p.key,staticClass:"content-element"},[p.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(p.content)}}):p.type==="image"?a("div",{staticClass:"image-content"},[p.label?a("div",{staticClass:"image-label"},[n._v(n._s(p.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:p.url,alt:"content image"},on:{click:function(y){return n.handleImageClick(p.url)}}})]):n._e()])}),0)])])}),0):a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.debugResponse),function(f){return a("div",{key:f.key,staticClass:"content-element"},[f.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(f.content)}}):f.type==="image"?a("div",{staticClass:"image-content"},[f.label?a("div",{staticClass:"image-label"},[n._v(n._s(f.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:f.url,alt:"content image"},on:{click:function(d){return n.handleImageClick(f.url)}}})]):n._e()])}),0)])]):n._e()],1):n._e()])},Pp=[],zp=An(Rp,Fp,Pp,!1,null,"5a07e1ef");const $p=zp.exports;(function(u,n){(function(a){a(Wt())})(function(a){function o(D,R,K,de,L,w){this.indented=D,this.column=R,this.type=K,this.info=de,this.align=L,this.prev=w}function f(D,R,K,de){var L=D.indented;return D.context&&D.context.type=="statement"&&K!="statement"&&(L=D.context.indented),D.context=new o(L,R,K,de,null,D.context)}function d(D){var R=D.context.type;return(R==")"||R=="]"||R=="}")&&(D.indented=D.context.indented),D.context=D.context.prev}function p(D,R,K){if(R.prevToken=="variable"||R.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(D.string.slice(0,K))||R.typeAtEndOfLine&&D.column()==D.indentation())return!0}function y(D){for(;;){if(!D||D.type=="top")return!0;if(D.type=="}"&&D.prev.info!="namespace")return!1;D=D.prev}}a.defineMode("clike",function(D,R){var K=D.indentUnit,de=R.statementIndentUnit||K,L=R.dontAlignCalls,w=R.keywords||{},oe=R.types||{},Te=R.builtin||{},Z=R.blockKeywords||{},ce=R.defKeywords||{},ke=R.atoms||{},_e=R.hooks||{},ft=R.multiLineStrings,we=R.indentStatements!==!1,Me=R.indentSwitch!==!1,Ke=R.namespaceSeparator,ct=R.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,Pt=R.numberStart||/[\d\.]/,ht=R.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,dt=R.isOperatorChar||/[+\-*&%=<>!?|\/]/,gt=R.isIdentifierChar||/[\w\$_\xa1-\uffff]/,qt=R.isReservedIdentifier||!1,be,kt;function Gt(ye,xe){var pe=ye.next();if(_e[pe]){var Fe=_e[pe](ye,xe);if(Fe!==!1)return Fe}if(pe=='"'||pe=="'")return xe.tokenize=In(pe),xe.tokenize(ye,xe);if(Pt.test(pe)){if(ye.backUp(1),ye.match(ht))return"number";ye.next()}if(ct.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(dt.test(pe)){for(;!ye.match(/^\/[\/*]/,!1)&&ye.eat(dt););return"operator"}if(ye.eatWhile(gt),Ke)for(;ye.match(Ke);)ye.eatWhile(gt);var De=ye.current();return x(w,De)?(x(Z,De)&&(be="newstatement"),x(ce,De)&&(kt=!0),"keyword"):x(oe,De)?"type":x(Te,De)||qt&&qt(De)?(x(Z,De)&&(be="newstatement"),"builtin"):x(ke,De)?"atom":"variable"}function In(ye){return function(xe,pe){for(var Fe=!1,De,zt=!1;(De=xe.next())!=null;){if(De==ye&&!Fe){zt=!0;break}Fe=!Fe&&De=="\\"}return(zt||!(Fe||ft))&&(pe.tokenize=null),"string"}}function Zn(ye,xe){for(var pe=!1,Fe;Fe=ye.next();){if(Fe=="/"&&pe){xe.tokenize=null;break}pe=Fe=="*"}return"comment"}function wr(ye,xe){R.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=kt=null;var Fe=(xe.tokenize||Gt)(ye,xe);if(Fe=="comment"||Fe=="meta")return Fe;if(pe.align==null&&(pe.align=!0),be==";"||be==":"||be==","&&ye.match(/^\s*(?:\/\/.*)?$/,!1))for(;xe.context.type=="statement";)d(xe);else if(be=="{")f(xe,ye.column(),"}");else if(be=="[")f(xe,ye.column(),"]");else if(be=="(")f(xe,ye.column(),")");else if(be=="}"){for(;pe.type=="statement";)pe=d(xe);for(pe.type=="}"&&(pe=d(xe));pe.type=="statement";)pe=d(xe)}else be==pe.type?d(xe):we&&((pe.type=="}"||pe.type=="top")&&be!=";"||pe.type=="statement"&&be=="newstatement")&&f(xe,ye.column(),"statement",ye.current());if(Fe=="variable"&&(xe.prevToken=="def"||R.typeFirstDefinitions&&p(ye,xe,ye.start)&&y(xe.context)&&ye.match(/^\s*\(/,!1))&&(Fe="def"),_e.token){var De=_e.token(ye,xe,Fe);De!==void 0&&(Fe=De)}return Fe=="def"&&R.styleDefs===!1&&(Fe="variable"),xe.startOfLine=!1,xe.prevToken=kt?"def":Fe||be,wr(ye,xe),Fe},indent:function(ye,xe){if(ye.tokenize!=Gt&&ye.tokenize!=null||ye.typeAtEndOfLine&&y(ye.context))return a.Pass;var pe=ye.context,Fe=xe&&xe.charAt(0),De=Fe==pe.type;if(pe.type=="statement"&&Fe=="}"&&(pe=pe.prev),R.dontIndentStatements)for(;pe.type=="statement"&&R.dontIndentStatements.test(pe.info);)pe=pe.prev;if(_e.indent){var zt=_e.indent(ye,pe,xe,K);if(typeof zt=="number")return zt}var Qt=pe.prev&&pe.prev.info=="switch";if(R.allmanIndentation&&/[{(]/.test(Fe)){for(;pe.type!="top"&&pe.type!="}";)pe=pe.prev;return pe.indented}return pe.type=="statement"?pe.indented+(Fe=="{"?0:de):pe.align&&(!L||pe.type!=")")?pe.column+(De?0:1):pe.type==")"&&!De?pe.indented+de:pe.indented+(De?0:K)+(!De&&Qt&&!/^(?:case|default)\b/.test(xe)?K:0)},electricInput:Me?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function m(D){for(var R={},K=D.split(" "),de=0;de<K.length;++de)R[K[de]]=!0;return R}function x(D,R){return typeof D=="function"?D(R):D.propertyIsEnumerable(R)}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",A="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",E="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",B=m("int long char short double float unsigned signed void bool"),q=m("SEL instancetype id Class Protocol BOOL");function F(D){return x(B,D)||/.+_t$/.test(D)}function N(D){return F(D)||x(q,D)}var O="case do else for if switch while struct enum union",$="struct enum union";function X(D,R){if(!R.startOfLine)return!1;for(var K,de=null;K=D.peek();){if(K=="\\"&&D.match(/^.$/)){de=X;break}else if(K=="/"&&D.match(/^\/[\/\*]/,!1))break;D.next()}return R.tokenize=de,"meta"}function ne(D,R){return R.prevToken=="type"?"type":!1}function ue(D){return!D||D.length<2||D[0]!="_"?!1:D[1]=="_"||D[1]!==D[1].toLowerCase()}function se(D){return D.eatWhile(/[\w\.']/),"number"}function he(D,R){if(D.backUp(1),D.match(/^(?:R|u8R|uR|UR|LR)/)){var K=D.match(/^"([^\s\\()]{0,16})\(/);return K?(R.cpp11RawStringDelim=K[1],R.tokenize=ie,ie(D,R)):!1}return D.match(/^(?:u8|u|U|L)/)?D.match(/^["']/,!1)?"string":!1:(D.next(),!1)}function Oe(D){var R=/(\w+)::~?(\w+)$/.exec(D);return R&&R[1]==R[2]}function Re(D,R){for(var K;(K=D.next())!=null;)if(K=='"'&&!D.eat('"')){R.tokenize=null;break}return"string"}function ie(D,R){var K=R.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),de=D.match(new RegExp(".*?\\)"+K+'"'));return de?R.tokenize=null:D.skipToEnd(),"string"}function ze(D,R){typeof D=="string"&&(D=[D]);var K=[];function de(w){if(w)for(var oe in w)w.hasOwnProperty(oe)&&K.push(oe)}de(R.keywords),de(R.types),de(R.builtin),de(R.atoms),K.length&&(R.helperType=D[0],a.registerHelper("hintWords",D[0],K));for(var L=0;L<D.length;++L)a.defineMIME(D[L],R)}ze(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:m(S),types:F,blockKeywords:m(O),defKeywords:m($),typeFirstDefinitions:!0,atoms:m("NULL true false"),isReservedIdentifier:ue,hooks:{"#":X,"*":ne},modeProps:{fold:["brace","include"]}}),ze(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:m(S+" "+A),types:F,blockKeywords:m(O+" class try catch"),defKeywords:m($+" class namespace"),typeFirstDefinitions:!0,atoms:m("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:ue,hooks:{"#":X,"*":ne,u:he,U:he,L:he,R:he,0:se,1:se,2:se,3:se,4:se,5:se,6:se,7:se,8:se,9:se,token:function(D,R,K){if(K=="variable"&&D.peek()=="("&&(R.prevToken==";"||R.prevToken==null||R.prevToken=="}")&&Oe(D.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),ze("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(D){return D.match("interface",!1)?!1:(D.eatWhile(/[\w\$_]/),"meta")},'"':function(D,R){return D.match(/""$/)?(R.tokenize=H,R.tokenize(D,R)):!1}},modeProps:{fold:["brace","import"]}}),ze("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(D,R){return D.eat('"')?(R.tokenize=Re,Re(D,R)):(D.eatWhile(/[\w\$_]/),"meta")}}});function H(D,R){for(var K=!1;!D.eol();){if(!K&&D.match('"""')){R.tokenize=null;break}K=D.next()=="\\"&&!K}return"string"}function Q(D){return function(R,K){for(var de;de=R.next();)if(de=="*"&&R.eat("/"))if(D==1){K.tokenize=null;break}else return K.tokenize=Q(D-1),K.tokenize(R,K);else if(de=="/"&&R.eat("*"))return K.tokenize=Q(D+1),K.tokenize(R,K);return"comment"}}ze("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(D){return D.eatWhile(/[\w\$_]/),"meta"},'"':function(D,R){return D.match('""')?(R.tokenize=H,R.tokenize(D,R)):!1},"'":function(D){return D.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(D.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(D,R){var K=R.context;return K.type=="}"&&K.align&&D.eat(">")?(R.context=new o(K.indented,K.column,K.type,K.info,null,K.prev),"operator"):!1},"/":function(D,R){return D.eat("*")?(R.tokenize=Q(1),R.tokenize(D,R)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function k(D){return function(R,K){for(var de=!1,L,w=!1;!R.eol();){if(!D&&!de&&R.match('"')){w=!0;break}if(D&&R.match('"""')){w=!0;break}L=R.next(),!de&&L=="$"&&R.match("{")&&R.skipTo("}"),de=!de&&L=="\\"&&!D}return(w||!D)&&(K.tokenize=null),"string"}}ze("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(D){return D.eatWhile(/[\w\$_]/),"meta"},"*":function(D,R){return R.prevToken=="."?"variable":"operator"},'"':function(D,R){return R.tokenize=k(D.match('""')),R.tokenize(D,R)},"/":function(D,R){return D.eat("*")?(R.tokenize=Q(1),R.tokenize(D,R)):!1},indent:function(D,R,K,de){var L=K&&K.charAt(0);if((D.prevToken=="}"||D.prevToken==")")&&K=="")return D.indented;if(D.prevToken=="operator"&&K!="}"&&D.context.type!="}"||D.prevToken=="variable"&&L=="."||(D.prevToken=="}"||D.prevToken==")")&&L==".")return de*2+R.indented;if(R.align&&R.type=="}")return R.indented+(D.context.type==(K||"").charAt(0)?0:de)}},modeProps:{closeBrackets:{triples:'"'}}}),ze(["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:{"#":X},modeProps:{fold:["brace","include"]}}),ze("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:F,blockKeywords:m(O),atoms:m("null true false"),hooks:{"#":X},modeProps:{fold:["brace","include"]}}),ze("text/x-objectivec",{name:"clike",keywords:m(S+" "+E),types:N,builtin:m(W),blockKeywords:m(O+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:m($+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:m("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ue,hooks:{"#":X,"*":ne},modeProps:{fold:["brace","include"]}}),ze("text/x-objectivec++",{name:"clike",keywords:m(S+" "+E+" "+A),types:N,builtin:m(W),blockKeywords:m(O+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:m($+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:m("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:ue,hooks:{"#":X,"*":ne,u:he,U:he,L:he,R:he,0:se,1:se,2:se,3:se,4:se,5:se,6:se,7:se,8:se,9:se,token:function(D,R,K){if(K=="variable"&&D.peek()=="("&&(R.prevToken==";"||R.prevToken==null||R.prevToken=="}")&&Oe(D.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),ze("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:F,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:{"#":X},modeProps:{fold:["brace","include"]}});var J=null;function G(D){return function(R,K){for(var de=!1,L,w=!1;!R.eol();){if(!de&&R.match('"')&&(D=="single"||R.match('""'))){w=!0;break}if(!de&&R.match("``")){J=G(D),w=!0;break}L=R.next(),de=D=="single"&&!de&&L=="\\"}return w&&(K.tokenize=null),"string"}}ze("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(D){var R=D.charAt(0);return R===R.toUpperCase()&&R!==R.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(D){return D.eatWhile(/[\w\$_]/),"meta"},'"':function(D,R){return R.tokenize=G(D.match('""')?"triple":"single"),R.tokenize(D,R)},"`":function(D,R){return!J||!D.match("`")?!1:(R.tokenize=J,J=null,R.tokenize(D,R))},"'":function(D){return D.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(D,R,K){if((K=="variable"||K=="type")&&R.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})();const Bp={name:"TraceDetailDrawer",components:{TraceSpanTree:qa,DebugTab:$p,codemirror:co.codemirror},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}},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},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},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:{drawerTitle(){let u=this.traceInfo.trace_name;return u||(u=this.traceInfo.trace_id),u?this.$t("trace.traceDetail")+": "+u:this.$t("trace.traceDetail")},traceStartTime(){return this.spans.length===0?0:Math.min(...this.spans.map(u=>u.start_time_unix_nano))},traceEndTime(){return this.spans.length===0?0:Math.max(...this.spans.map(u=>u.end_time_unix_nano))},hasInputs(){var u,n;return((n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.inputs)!==void 0},hasOutputs(){var u,n;return((n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.outputs)!==void 0},showIOTab(){var o,f,d;if(!this.selectedSpan||!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const n=(d=(f=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:f.attributes)==null?void 0:d["langsword.spanInputs"];return n!=null&&n!==""},attributesData(){var u,n;return(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)!=null&&n.attributes?Object.entries(this.selectedSpan.parsedContent.attributes).filter(([a])=>!a.startsWith("langsword.span")).map(([a,o])=>{let f;return a==="http.response.body.size"||a==="http.request.body.size"?f=this.formatBytes(o):typeof o=="string"?f=o:f=JSON.stringify(o,null,2),{key:a,value:f}}):[]},rawInputs(){var u,n,a;return(a=(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.attributes)==null?void 0:a["langsword.spanInputs"]},rawOutputs(){var u,n,a;return(a=(n=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:n.attributes)==null?void 0:a["langsword.spanOutputs"]},hasEvents(){var n,a,o;if(((n=this.selectedSpan)==null?void 0:n.has_events)!==void 0)return this.selectedSpan.has_events===!0;const u=(o=(a=this.selectedSpan)==null?void 0:a.parsedContent)==null?void 0:o.events;return u&&Array.isArray(u)&&u.length>0},spanEvents(){var n,a;const u=(a=(n=this.selectedSpan)==null?void 0:n.parsedContent)==null?void 0:a.events;return!u||!Array.isArray(u)?[]:u},showDebugTab(){var o,f,d,p,y;if(!this.selectedSpan||!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const n=(d=(f=(o=this.selectedSpan)==null?void 0:o.parsedContent)==null?void 0:f.attributes)==null?void 0:d["langsword.spanInputs"];if(!(n!=null&&n!==""))return!1;if(this.selectedSpan.type==="CLIENT"){const m=(y=(p=this.selectedSpan)==null?void 0:p.parsedContent)==null?void 0:y.inputs;if(!m){const x=this.rawInputs;if(x)try{const S=typeof x=="string"?JSON.parse(x):x;return S&&S.file&&(S.file.filename||S.file.content)}catch{return!1}return!1}return m&&m.file&&(m.file.filename||m.file.content)}return this.selectedSpan.type==="CHAT_MODEL"}},watch:{visible(u){this.localVisible=u,u||(this.spanSearchQuery="")},localVisible(u){this.$emit("update:visible",u)},activeTab(u){u==="raw"&&this.$nextTick(()=>{this.rawInputsKey++,this.rawOutputsKey++}),u==="events"&&this.$nextTick(()=>{this.eventsKey++})},selectedSpan(){var o;if(!this.selectedSpan)return;const u=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"),u&&n.push("events");let a="attributes";this.showIOTab&&(a="io"),n.includes(a)?this.activeTab=a:this.activeTab="attributes",this.$nextTick(()=>{this.updateCollapseStates(),this.activeTab==="raw"&&(this.rawInputsKey++,this.rawOutputsKey++),this.activeTab==="events"&&this.eventsKey++})}},methods:{formatBytes(u){const n=typeof u=="number"?u:Number(u);if(!Number.isFinite(n))return typeof u=="string"?u:JSON.stringify(u,null,2);const a=n<0?"-":"";let o=Math.abs(n);const f=["B","K","M","G","T","P","E"];if(o<1024)return`${a}${Math.round(o)}B`;let d=0;for(;o>=1024&&d<f.length-1;)o/=1024,d++;return`${a}${o.toFixed(2)}${f[d]}`},handleClose(u){this.$emit("close"),u&&typeof u=="function"&&u()},handleSpanSearch(){this.$emit("span-search",this.spanSearchQuery)},handleSpanSelect(u){this.$emit("span-select",u),this.$nextTick(()=>{this.updateCollapseStates()})},updateCollapseStates(){var a,o,f,d,p;this.activeCollapse=["inputs","outputs"],(f=(o=(a=this.selectedSpan)==null?void 0:a.parsedContent)==null?void 0:o.inputs)!=null&&f.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((y,m)=>`message-${m}`):this.messageCollapse=[],this.rawIoCollapse=["rawInputs","rawOutputs"];const u=(p=(d=this.selectedSpan)==null?void 0:d.parsedContent)==null?void 0:p.events;u&&Array.isArray(u)&&u.length>0?this.eventsCollapse=u.map((y,m)=>`event-${m}`):this.eventsCollapse=[]},parseContentData(u){const n={attributes:u.attributes||{},events:u.events||[],status:u.status||{}};if(u.inputs&&(n.inputs=u.inputs),u.outputs&&(n.outputs=u.outputs),n.attributes){const a=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(a)try{n.inputs=typeof a=="string"?JSON.parse(a):a}catch{try{const d=a.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(d)}catch{n.inputs=a}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const d=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(d)}catch{n.outputs=o}}}return n},getStatusType(u){if(!u)return"info";const n=u.toUpperCase();return n==="OK"||n==="SUCCESS"?"success":n==="ERROR"||n==="FAILED"?"danger":n==="WARNING"||n==="WARN"?"warning":"info"},formatNanoDuration(u){if(!u)return"-";const n=u/1e6;return n<1e3?`${n.toFixed(2)}ms`:n<6e4?`${(n/1e3).toFixed(2)}s`:`${(n/6e4).toFixed(2)}min`},formatTimestamp(u){if(!u)return"-";const n=typeof u=="string"?parseInt(u,10):u,a=new Date(n);return isNaN(a.getTime())?"-":a.toLocaleString("zh-CN")},formatEventTimestamp(u){if(!u)return"-";const n=u/1e6,a=new Date(n);return isNaN(a.getTime())?"-":a.toLocaleString("zh-CN")},getEventAttributesData(u){return!u||!u.attributes?[]:Object.entries(u.attributes).map(([n,a])=>({key:n,value:typeof a=="string"?a:JSON.stringify(a,null,2)}))},getOtherEventAttributes(u){if(!u||!u.attributes)return[];const n=["exception.type","exception.message","exception.stacktrace"];return Object.entries(u.attributes).filter(([a])=>!n.includes(a)).map(([a,o])=>({key:a,value:typeof o=="string"?o:JSON.stringify(o,null,2)}))},formatRawJson(u){if(!u)return"";if(typeof u=="string")try{const n=JSON.parse(u);return JSON.stringify(n,null,2)}catch{return u}return JSON.stringify(u,null,2)},getMessageIcon(u){return{user:"el-icon-user",assistant:"el-icon-service",system:"el-icon-setting"}[u]||"el-icon-document"},extractImagesFromObject(u,n=[],a=""){if(!(!u||typeof u!="object")){for(const[o,f]of Object.entries(u)){const d=a?`${a}.${o}`:o;typeof f=="string"&&f.trim()!==""?(f.startsWith("data:image/")||f.startsWith("/9j/")||f.startsWith("iVBOR")||f.startsWith("R0lGOD"))&&(n.push({path:d,value:f,label:o==="content"&&a?`${a.split(".").pop()}: ${o}`:o}),u[o]="[IMAGE_DATA]"):f&&typeof f=="object"&&!Array.isArray(f)?this.extractImagesFromObject(f,n,d):Array.isArray(f)&&f.forEach((p,y)=>{p&&typeof p=="object"&&this.extractImagesFromObject(p,n,`${d}[${y}]`)})}return n}},renderStructuredContent(u){const n=[];if(!u)return n;try{if(Array.isArray(u))u.forEach((a,o)=>{var f;a&&typeof a=="object"?a.type==="text"&&a.text?n.push({type:"markdown",content:Le(a.text),key:`text-${o}`}):a.type==="image_url"&&((f=a.image_url)!=null&&f.url)?n.push({type:"image",url:a.image_url.url,key:`image-${o}`}):a.image_base64&&a.image_base64.trim()!==""?n.push({type:"image",url:this.formatBase64Image(a.image_base64),key:`base64-image-${o}`}):n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:`json-${o}`}):n.push({type:"markdown",content:Le(String(a)),key:`text-${o}`})});else if(typeof u=="string")n.push({type:"markdown",content:Le(u),key:"text-0"});else if(typeof u=="object")if(u.data&&Array.isArray(u.data.result)){const a=JSON.parse(JSON.stringify(u)),o=[];a.data&&a.data.result&&a.data.result.forEach((f,d)=>{f.image_base64&&f.image_base64.trim()!==""&&(o.push({type:"page",image_base64:f.image_base64,page_num:f.page_num,label:f.page_num!==void 0?`Page ${f.page_num}`:`Result ${d}`}),f.image_base64="[BASE64_IMAGE_DATA]"),f.seals&&Array.isArray(f.seals)&&f.seals.forEach((p,y)=>{p.image_base64&&p.image_base64.trim()!==""&&(o.push({type:"seal",image_base64:p.image_base64,page_num:f.page_num,seal_index:y,seal_value:p.value,label:`Seal: ${p.value||y}`}),p.image_base64="[BASE64_IMAGE_DATA]")})}),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.image_base64),key:`result-image-${d}`,label:f.label})})}else{const a=JSON.parse(JSON.stringify(u)),o=[];this.extractImagesFromObject(a,o),n.push({type:"markdown",content:Le("```json\n"+JSON.stringify(a,null,2)+"\n```"),key:"json-0"}),o.forEach((f,d)=>{n.push({type:"image",url:this.formatBase64Image(f.value),key:`extracted-image-${d}`,label:f.label})})}else n.push({type:"markdown",content:Le(String(u)),key:"text-0"})}catch(a){console.error("Error rendering content:",a),n.push({type:"markdown",content:Le("Error rendering content"),key:"error-0"})}return n},formatBase64Image(u){return u?u.startsWith("data:image")?u:u.startsWith("/9j/")?`data:image/jpeg;base64,${u}`:u.startsWith("iVBOR")?`data:image/png;base64,${u}`:u.startsWith("R0lGOD")?`data:image/gif;base64,${u}`:`data:image/jpeg;base64,${u}`:""},handleImageClick(u){Rl({options:this.viewerOptions,images:[u]})}}};var Hp=function(){var o,f,d,p,y,m;var n=this,a=n._self._c;return a("el-drawer",{attrs:{visible:n.localVisible,"with-header":!0,title:n.drawerTitle,size:"90%",direction:"rtl","before-close":n.handleClose},on:{"update:visible":function(x){n.localVisible=x}}},[n.currentTraceId?a("div",{directives:[{name:"loading",rawName:"v-loading",value:n.loading,expression:"loading"}],staticClass:"trace-detail-content",attrs:{"element-loading-text":"加载中..."}},[a("div",{staticClass:"trace-info-section"},[a("el-descriptions",{attrs:{column:3,border:""}},[a("el-descriptions-item",{attrs:{label:n.$t("trace.traceId")}},[n._v(n._s(n.traceInfo.trace_id))]),a("el-descriptions-item",{attrs:{label:n.$t("trace.status")}},[a("el-tag",{attrs:{type:n.getStatusType(n.traceInfo.status),size:"mini"}},[n._v(" "+n._s(n.traceInfo.status)+" ")])],1),a("el-descriptions-item",{attrs:{label:n.$t("trace.executionTime")}},[n._v(" "+n._s(n.formatNanoDuration(n.traceInfo.execution_time_ms))+" ")]),a("el-descriptions-item",{attrs:{label:n.$t("trace.timeCreated")}},[n._v(" "+n._s(n.formatTimestamp(n.traceInfo.timestamp_ms))+" ")]),a("el-descriptions-item",{attrs:{label:n.$t("trace.experimentId")}},[n._v(n._s(n.traceInfo.experiment_id))]),a("el-descriptions-item",{attrs:{label:n.$t("trace.traceType")}},[a("el-tag",{attrs:{size:"mini",type:"info"}},[n._v(n._s(n.traceInfo.trace_type||"-"))])],1),a("el-descriptions-item",{attrs:{label:n.$t("trace.traceName"),span:2}},[n._v(" "+n._s(n.traceInfo.trace_name||"-")+" ")])],1)],1),a("el-divider"),a("el-row",{attrs:{gutter:20}},[a("el-col",{staticClass:"span-tree-col",attrs:{span:8}},[a("el-card",[a("div",{attrs:{slot:"header"},slot:"header"},[a("el-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(x){n.spanSearchQuery=x},expression:"spanSearchQuery"}})],1),a("TraceSpanTree",{attrs:{spans:n.filteredSpans,"selected-span-id":n.selectedSpanId,"trace-start-time":n.traceStartTime,"trace-end-time":n.traceEndTime},on:{"span-select":n.handleSpanSelect}})],1)],1),a("el-col",{staticClass:"span-detail-col",attrs:{span:16}},[a("el-card",[n.selectedSpan?a("div",{staticClass:"span-detail-content"},[a("el-tabs",{key:`tabs-${n.selectedSpanId}`,model:{value:n.activeTab,callback:function(x){n.activeTab=x},expression:"activeTab"}},[n.showIOTab?a("el-tab-pane",{attrs:{label:`${n.$t("trace.inputs")} / ${n.$t("trace.outputs")}`,name:"io"}},[a("div",{staticClass:"io-content"},[n.hasInputs?a("div",{staticClass:"io-section"},[a("el-collapse",{model:{value:n.activeCollapse,callback:function(x){n.activeCollapse=x},expression:"activeCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.inputs"),name:"inputs"}},[(f=(o=n.selectedSpan.parsedContent)==null?void 0:o.inputs)!=null&&f.messages?a("div",{staticClass:"messages-section"},n._l(n.selectedSpan.parsedContent.inputs.messages,function(x,S){return a("div",{key:S,staticClass:"message-item"},[a("el-collapse",{model:{value:n.messageCollapse,callback:function(A){n.messageCollapse=A},expression:"messageCollapse"}},[a("el-collapse-item",{attrs:{name:`message-${S}`}},[a("template",{slot:"title"},[a("i",{staticClass:"message-icon",class:n.getMessageIcon(x.role)}),a("span",{staticClass:"message-role"},[n._v(n._s(x.role))])]),a("div",{staticClass:"message-content"},[a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(x.content),function(A){return a("div",{key:A.key,staticClass:"content-element"},[A.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(A.content)}}):A.type==="image"?a("div",{staticClass:"image-content"},[A.label?a("div",{staticClass:"image-label"},[n._v(n._s(A.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:A.url,alt:"content image"},on:{click:function(E){return n.handleImageClick(A.url)}}})]):n._e()])}),0)])],2)],1)],1)}),0):(d=n.selectedSpan.parsedContent)!=null&&d.inputs?a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.inputs),function(x){return a("div",{key:x.key,staticClass:"content-element"},[x.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(x.content)}}):x.type==="image"?a("div",{staticClass:"image-content"},[x.label?a("div",{staticClass:"image-label"},[n._v(n._s(x.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:x.url,alt:"content image"},on:{click:function(S){return n.handleImageClick(x.url)}}})]):n._e()])}),0):a("div",{staticClass:"empty-content"},[a("el-empty",{attrs:{description:n.$t("trace.noInputs"),"image-size":80}})],1)])],1)],1):n._e(),n.hasOutputs?a("div",{staticClass:"io-section"},[a("el-collapse",{model:{value:n.activeCollapse,callback:function(x){n.activeCollapse=x},expression:"activeCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.outputs"),name:"outputs"}},[(y=(p=n.selectedSpan.parsedContent)==null?void 0:p.outputs)!=null&&y.choices?a("div",{staticClass:"outputs-section"},n._l(n.selectedSpan.parsedContent.outputs.choices,function(x,S){return a("div",{key:S,staticClass:"choice-item"},[a("div",{staticClass:"choice-header"},[a("span",[n._v("Choice "+n._s(S))])]),a("div",{staticClass:"choice-content"},[x.message?a("div",[a("div",{staticClass:"message-header"},[a("i",{staticClass:"el-icon-user message-icon"}),a("span",[n._v(n._s(x.message.role))])]),a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(x.message.content),function(A){return a("div",{key:A.key,staticClass:"content-element"},[A.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(A.content)}}):A.type==="image"?a("div",{staticClass:"image-content"},[A.label?a("div",{staticClass:"image-label"},[n._v(n._s(A.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:A.url,alt:"content image"},on:{click:function(E){return n.handleImageClick(A.url)}}})]):n._e()])}),0)]):a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(x),function(A){return a("div",{key:A.key,staticClass:"content-element"},[A.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(A.content)}}):A.type==="image"?a("div",{staticClass:"image-content"},[A.label?a("div",{staticClass:"image-label"},[n._v(n._s(A.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:A.url,alt:"content image"},on:{click:function(E){return n.handleImageClick(A.url)}}})]):n._e()])}),0)])])}),0):(m=n.selectedSpan.parsedContent)!=null&&m.outputs?a("div",{staticClass:"structured-content"},n._l(n.renderStructuredContent(n.selectedSpan.parsedContent.outputs),function(x){return a("div",{key:x.key,staticClass:"content-element"},[x.type==="markdown"?a("div",{staticClass:"markdown-content",domProps:{innerHTML:n._s(x.content)}}):x.type==="image"?a("div",{staticClass:"image-content"},[x.label?a("div",{staticClass:"image-label"},[n._v(n._s(x.label))]):n._e(),a("img",{staticClass:"content-image",attrs:{src:x.url,alt:"content image"},on:{click:function(S){return n.handleImageClick(x.url)}}})]):n._e()])}),0):a("div",{staticClass:"empty-content"},[a("el-empty",{attrs:{description:n.$t("trace.noOutputs"),"image-size":80}})],1)])],1)],1):n._e(),!n.hasInputs&&!n.hasOutputs?a("div",{staticClass:"empty-io"},[a("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()])]):n._e(),a("el-tab-pane",{attrs:{label:n.$t("trace.attributes"),name:"attributes"}},[a("el-table",{staticClass:"attributes-table",attrs:{data:n.attributesData,border:"",stripe:""}},[a("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"250"},scopedSlots:n._u([{key:"default",fn:function(x){return[a("el-tooltip",{attrs:{content:x.row.key,placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[a("span",{staticClass:"attribute-key"},[n._v(n._s(x.row.key))])])]}}],null,!1,688878823)}),a("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(x){return[a("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[a("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(x.row.value))]),a("div",{staticClass:"attribute-value"},[n._v(n._s(x.row.value))])])]}}],null,!1,4281519148)})],1)],1),n.showIOTab?a("el-tab-pane",{attrs:{label:n.$t("trace.rawInputsOutputs"),name:"raw"}},[n.activeTab==="raw"?a("div",{staticClass:"raw-io-content"},[n.rawInputs?a("div",{staticClass:"raw-io-section"},[a("el-collapse",{model:{value:n.rawIoCollapse,callback:function(x){n.rawIoCollapse=x},expression:"rawIoCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.rawInputs"),name:"rawInputs"}},[a("codemirror",{key:`raw-inputs-${n.selectedSpanId}-${n.rawInputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawInputs),options:n.cmOptions}})],1)],1)],1):n._e(),n.rawOutputs?a("div",{staticClass:"raw-io-section"},[a("el-collapse",{model:{value:n.rawIoCollapse,callback:function(x){n.rawIoCollapse=x},expression:"rawIoCollapse"}},[a("el-collapse-item",{attrs:{title:n.$t("trace.rawOutputs"),name:"rawOutputs"}},[a("codemirror",{key:`raw-outputs-${n.selectedSpanId}-${n.rawOutputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:n.formatRawJson(n.rawOutputs),options:n.cmOptions}})],1)],1)],1):n._e(),!n.rawInputs&&!n.rawOutputs?a("div",{staticClass:"empty-raw-io"},[a("el-empty",{attrs:{description:n.$t("trace.noIoData")}})],1):n._e()]):n._e()]):n._e(),n.showDebugTab?a("el-tab-pane",{attrs:{label:"快速调试",name:"debug"}},[a("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?a("el-tab-pane",{attrs:{label:n.$t("trace.events"),name:"events"}},[n.activeTab==="events"?a("div",{staticClass:"events-content"},[a("el-collapse",{model:{value:n.eventsCollapse,callback:function(x){n.eventsCollapse=x},expression:"eventsCollapse"}},n._l(n.spanEvents,function(x,S){return a("el-collapse-item",{key:`event-${S}`,attrs:{name:`event-${S}`}},[a("template",{slot:"title"},[a("div",{staticClass:"event-header"},[a("el-tag",{staticClass:"event-name-tag",attrs:{type:x.name==="exception"?"danger":"info",size:"mini"}},[n._v(" "+n._s(x.name)+" ")]),a("span",{staticClass:"event-time"},[n._v(n._s(n.formatEventTimestamp(x.timestamp)))])],1)]),a("div",{staticClass:"event-detail"},[x.name==="exception"?a("div",{staticClass:"exception-content"},[x.attributes["exception.type"]?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionType")))]),a("div",{staticClass:"field-value exception-type"},[n._v(n._s(x.attributes["exception.type"]))])]):n._e(),x.attributes["exception.message"]?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionMessage")))]),a("div",{staticClass:"field-value exception-message"},[n._v(n._s(x.attributes["exception.message"]))])]):n._e(),x.attributes["exception.stacktrace"]?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.exceptionStacktrace")))]),a("codemirror",{key:`stacktrace-${n.selectedSpanId}-${S}-${n.eventsKey}`,staticClass:"code-editor-wrapper stacktrace-editor",attrs:{value:x.attributes["exception.stacktrace"],options:n.cmOptionsJava}})],1):n._e(),n.getOtherEventAttributes(x).length>0?a("div",{staticClass:"exception-field"},[a("div",{staticClass:"field-label"},[n._v(n._s(n.$t("trace.otherAttributes")))]),a("el-table",{attrs:{data:n.getOtherEventAttributes(x),border:"",stripe:"",size:"mini"}},[a("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"}}),a("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")}})],1)],1):n._e()]):a("div",{staticClass:"general-event-content"},[a("el-table",{attrs:{data:n.getEventAttributesData(x),border:"",stripe:"",size:"mini"}},[a("el-table-column",{attrs:{prop:"key",label:n.$t("trace.key"),width:"200"},scopedSlots:n._u([{key:"default",fn:function(A){return[a("el-tooltip",{attrs:{content:A.row.key,placement:"top","open-delay":500}},[a("span",{staticClass:"attribute-key"},[n._v(n._s(A.row.key))])])]}}],null,!0)}),a("el-table-column",{attrs:{prop:"value",label:n.$t("trace.value")},scopedSlots:n._u([{key:"default",fn:function(A){return[a("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[a("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[n._v(n._s(A.row.value))]),a("div",{staticClass:"attribute-value"},[n._v(n._s(A.row.value))])])]}}],null,!0)})],1)],1)])],2)}),1),n.spanEvents.length===0?a("div",{staticClass:"empty-events"},[a("el-empty",{attrs:{description:n.$t("trace.noEvents")}})],1):n._e()],1):n._e()]):n._e()],1)],1):a("el-empty",{attrs:{description:n.$t("trace.selectSpan")}})],1)],1)],1)],1):n._e()])},Wp=[],jp=An(Bp,Hp,Wp,!1,null,"0c406c8e");const Up={name:"Trace",components:{TraceDetailDrawer:jp.exports},data(){return{traceList:[],filteredTraceList:[],searchQuery:"",dateRange:null,experimentList:[],selectedExperimentId:null,loading:!1,deleteLoading:!1,showColumnDialog:!1,selectedColumns:["trace_id","timestamp_ms","status","execution_time_ms","trace_type","trace_name"],visibleColumns:{trace_id:!0,timestamp_ms:!0,status:!0,execution_time_ms:!0,trace_type:!0,trace_name:!0},drawerVisible:!1,currentTraceId:null,traceInfo:{},spans:[],filteredSpans:[],spanSearchQuery:"",selectedSpanId:null,selectedSpan:null,activeTab:"io",drawerLoading:!1,messageCollapse:[],eventsCollapse:[],pageNo:1,pageSize:10,total:0,pickerOptions:{shortcuts:[{text:"近7天",onClick(u){const n=new Date,a=new Date;a.setTime(a.getTime()-3600*1e3*24*7),u.$emit("pick",[a,n])}},{text:"近30天",onClick(u){const n=new Date,a=new Date;a.setTime(a.getTime()-3600*1e3*24*30),u.$emit("pick",[a,n])}},{text:"7天前",onClick(u){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*7),n.setHours(23,59,59,999);const a=n.getTime();u.$emit("pick",[null,a])}},{text:"30天前",onClick(u){const n=new Date;n.setTime(n.getTime()-3600*1e3*24*30),n.setHours(23,59,59,999);const a=n.getTime();u.$emit("pick",[null,a])}}]}}},computed:{},watch:{},mounted(){this.loadExperiments(),this.loadTraceList()},methods:{async loadTraceList(){this.loading=!0;try{let u=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]!==""&&(u=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 a=await xn.getTraceList(this.searchQuery,u,n,this.pageNo,this.pageSize,this.selectedExperimentId),o=Array.isArray(a==null?void 0:a.list)?a.list:[];this.traceList=o,this.filteredTraceList=o,this.total=parseInt((a==null?void 0:a.total)||0,10)}catch(u){console.error("Failed to load trace list:",u),this.$message.error("加载 trace 列表失败"),this.traceList=[],this.filteredTraceList=[],this.total=0}finally{this.loading=!1}},refresh(){this.loadTraceList()},handleRowClick(u){this.viewDetail(u.trace_id)},viewDetail(u){this.currentTraceId=u,this.loadTraceDetail(u),this.drawerVisible=!0},async loadTraceDetail(u){var n,a,o;this.drawerLoading=!0;try{const[f,d]=await Promise.all([xn.getTraceDetail(u),xn.getTraceSpans(u)]);if(this.traceInfo=f||{},this.spans=d||[],this.filteredSpans=this.spans,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==="CHAT_MODEL",y=this.selectedSpan.has_events===!0,m=[];p&&m.push("io","raw"),m.push("attributes"),y&&m.push("events");let x="attributes";p&&(x="io"),m.includes(x)?this.activeTab=x:this.activeTab="attributes",(a=(n=this.selectedSpan.parsedContent)==null?void 0:n.inputs)!=null&&a.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((A,E)=>`message-${E}`):this.messageCollapse=[];const S=(o=this.selectedSpan.parsedContent)==null?void 0:o.events;S&&Array.isArray(S)&&S.length>0?this.eventsCollapse=S.map((A,E)=>`event-${E}`):this.eventsCollapse=[]}}catch(f){console.error("Failed to load trace detail:",f),this.$message.error("加载 trace 详情失败"),this.traceInfo={},this.spans=[],this.filteredSpans=[]}finally{this.drawerLoading=!1}},handleSpanSearch(u){if(this.spanSearchQuery=u,!u){this.filteredSpans=this.spans;return}const n=u.toLowerCase();this.filteredSpans=this.spans.filter(a=>a.name.toLowerCase().includes(n)||a.type.toLowerCase().includes(n))},async handleSpanSelect(u){var p,y,m;this.selectedSpanId=u.span_id,this.selectedSpan=u,await this.loadSpanContent(u);const n=u.type==="CLIENT"||u.type==="CHAT_MODEL",a=u.has_events===!0,o=[];n&&o.push("io","raw"),o.push("attributes"),a&&o.push("events");let f="attributes";n&&(f="io"),this.$nextTick(()=>{o.includes(f)?this.activeTab=f:this.activeTab="attributes"}),(y=(p=this.selectedSpan.parsedContent)==null?void 0:p.inputs)!=null&&y.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((x,S)=>`message-${S}`):this.messageCollapse=[];const d=(m=this.selectedSpan.parsedContent)==null?void 0:m.events;d&&Array.isArray(d)&&d.length>0?this.eventsCollapse=d.map((x,S)=>`event-${S}`):this.eventsCollapse=[]},async loadSpanContent(u){if(!(!this.currentTraceId||!u.span_id||u.parsedContent))try{const n=await xn.getSpanContent(this.currentTraceId,u.span_id);if(n){const a=this.parseContentData(n);this.$set(u,"parsedContent",a)}}catch(n){console.error("Failed to load span content:",n)}},parseContentData(u){const n={attributes:u.attributes||{},events:u.events||[],status:u.status||{}};if(u.inputs&&(n.inputs=u.inputs),u.outputs&&(n.outputs=u.outputs),n.attributes){const a=n.attributes["langsword.spanInputs"],o=n.attributes["langsword.spanOutputs"];if(a)try{n.inputs=typeof a=="string"?JSON.parse(a):a}catch{try{const d=a.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.inputs=JSON.parse(d)}catch{n.inputs=a}}if(o)try{n.outputs=typeof o=="string"?JSON.parse(o):o}catch{try{const d=o.replace(/\\"/g,'"').replace(/^"|"$/g,"");n.outputs=JSON.parse(d)}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.eventsCollapse=[],this.drawerLoading=!1},async loadExperiments(){try{const u=await xn.getExperiments();this.experimentList=Array.isArray(u)?u:[]}catch(u){console.error("Failed to load experiments:",u),this.experimentList=[]}},handleExperimentChange(){this.pageNo=1,this.loadTraceList()},handleSearch(){this.pageNo=1,this.loadTraceList()},handleSearchClear(){this.searchQuery="",this.pageNo=1,this.loadTraceList()},handleDateRangeChange(u){this.pageNo=1,u&&Array.isArray(u)?u.length===2&&(u[0]===null||u[0]===void 0)?this.dateRange=[null,u[1]]:this.dateRange=u:this.dateRange=u,this.loadTraceList()},handleSizeChange(u){this.pageSize=u,this.pageNo=1,this.loadTraceList()},handleCurrentChange(u){this.pageNo=u,this.loadTraceList()},async handleBatchDelete(){var d,p;const u=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),a=this.selectedExperimentId;let o="",f="warning";if(!u&&!n&&!a)o=this.$t("trace.deleteAllWarning"),f="error";else{if(o=this.$t("trace.deleteConfirmMessage")+`
|
|
79
79
|
`,a){const y=this.experimentList.find(x=>x.experiment_id===this.selectedExperimentId),m=y?y.name:this.selectedExperimentId;o+=`${this.$t("trace.application")}: ${m}
|
|
80
80
|
`}if(u&&(o+=`${this.$t("trace.searchCondition")}: ${this.searchQuery}
|
|
81
81
|
`),n){const y=this.$i18n.locale==="zh-CN"?"zh-CN":"en-US";let m="";if(this.dateRange.length===2&&this.dateRange[1]!==null?m=new Date(this.dateRange[1]).toLocaleString(y):this.dateRange.length===1&&this.dateRange[0]!==null&&(m=new Date(this.dateRange[0]).toLocaleString(y)),this.dateRange.length===2&&this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""){const x=new Date(this.dateRange[0]).toLocaleString(y);o+=`${this.$t("trace.timeRange")}: ${x} ${this.$t("trace.to")} ${m}
|