@langsword/trace 0.1.20 → 0.1.22
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 +11 -6
- package/dist/trace.umd.js +3 -3
- 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}}.output-viewer[data-v-a12c132d]{width:100%}.output-viewer-header[data-v-a12c132d]{display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:14px}.output-viewer-title-row[data-v-a12c132d]{display:inline-flex;align-items:center}.output-viewer-title[data-v-a12c132d]{margin-right:4px}.copy-btn-inline[data-v-a12c132d]{margin-left:4px;padding:0 4px}.output-viewer-actions[data-v-a12c132d]{display:flex;align-items:center;gap:8px}.output-viewer-raw[data-v-a12c132d]{margin-top:10px}.output-viewer-readable[data-v-a12c132d]{padding:10px}.code-editor-wrapper[data-v-a12c132d]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-a12c132d] .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-a12c132d] .CodeMirror-scroll{max-height:600px}.structured-content[data-v-a12c132d]{display:flex;flex-direction:column;gap:16px}.markdown-content[data-v-a12c132d]{background-color:#f5f7fa;padding:12px;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-a12c132d] p{margin:8px 0;line-height:1.8}.content-element[data-v-a12c132d]{width:100%;border:1px solid #e4e7ed;border-radius:4px}.markdown-content[data-v-a12c132d] pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.image-content[data-v-a12c132d]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-a12c132d]{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-a12c132d]{max-width:100%;max-height:500px;height:auto;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-a12c132d]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.file-download-content[data-v-a12c132d]{display:flex;flex-direction:column;gap:4px}.file-download-link[data-v-a12c132d]{color:#409eff;text-decoration:none}.file-download-hint[data-v-a12c132d]{font-size:12px;color:#909399}.outputs-section[data-v-a12c132d]{padding:10px}.choice-item[data-v-a12c132d]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-content[data-v-a12c132d]{padding:12px}.choice-content .structured-content[data-v-a12c132d]{margin-top:8px}.choice-content .markdown-content[data-v-a12c132d]{background-color:#f5f7fa}.message-header[data-v-a12c132d]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-header .copy-btn-inline[data-v-a12c132d]{margin-left:8px}.copy-btn-inline[data-v-a12c132d]:hover{background-color:transparent}.debug-content[data-v-8d08f36c]{padding:10px 0}.debug-client-form[data-v-8d08f36c],.debug-chat-model-form[data-v-8d08f36c]{padding:10px}.debug-form-row[data-v-8d08f36c]{margin-bottom:10px}.debug-form-row[data-v-8d08f36c] .el-form-item__content{display:flex;align-items:center}.debug-form-row[data-v-8d08f36c] .el-row{width:100%;flex-wrap:nowrap}.delete-param-btn[data-v-8d08f36c]{width:100%;padding:0;display:flex;align-items:center;justify-content:center;height:32px}.delete-param-btn[data-v-8d08f36c] .el-icon-delete{margin:0}.debug-response[data-v-8d08f36c]{margin-top:20px;padding:15px;border-radius:4px;border:1px solid #e4e7ed}.debug-response-header[data-v-8d08f36c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-weight:500;font-size:14px}.debug-response-actions[data-v-8d08f36c]{display:flex;align-items:center;gap:8px}.debug-response-raw[data-v-8d08f36c],.debug-response-markdown[data-v-8d08f36c]{margin-top:10px}.markdown-editor[data-v-8d08f36c]{height:300px;max-height:400px}.markdown-editor[data-v-8d08f36c] .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-8d08f36c] .CodeMirror-scroll{max-height:400px}.code-editor-wrapper[data-v-8d08f36c]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-8d08f36c] .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-8d08f36c] .CodeMirror-scroll{max-height:600px}.structured-content[data-v-8d08f36c]{display:flex;flex-direction:column;gap:16px}.content-element[data-v-8d08f36c]{width:100%;border:1px solid #e4e7ed;border-radius:4px}.markdown-content[data-v-8d08f36c]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-8d08f36c] h1,.markdown-content[data-v-8d08f36c] h2,.markdown-content[data-v-8d08f36c] h3,.markdown-content[data-v-8d08f36c] h4,.markdown-content[data-v-8d08f36c] h5,.markdown-content[data-v-8d08f36c] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-8d08f36c] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-8d08f36c] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-8d08f36c] h3{font-size:18px}.markdown-content[data-v-8d08f36c] h4{font-size:16px}.markdown-content[data-v-8d08f36c] h5{font-size:14px}.markdown-content[data-v-8d08f36c] h6{font-size:13px}.markdown-content[data-v-8d08f36c] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-8d08f36c] ul,.markdown-content[data-v-8d08f36c] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-8d08f36c] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-8d08f36c] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-8d08f36c] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-8d08f36c] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-8d08f36c] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-8d08f36c] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-8d08f36c] table th,.markdown-content[data-v-8d08f36c] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-8d08f36c] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-8d08f36c] a{color:#409eff;text-decoration:none}.markdown-content[data-v-8d08f36c] a:hover{text-decoration:underline}.image-content[data-v-8d08f36c]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-8d08f36c]{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-8d08f36c]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-8d08f36c]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.outputs-section[data-v-8d08f36c]{padding:10px}.choice-item[data-v-8d08f36c]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-content[data-v-8d08f36c]{padding:12px}.choice-content .structured-content[data-v-8d08f36c]{margin-top:8px}.choice-content .markdown-content[data-v-8d08f36c]{background-color:#f5f7fa}.message-header[data-v-8d08f36c]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-header .copy-btn-inline[data-v-8d08f36c]{margin-left:8px}.message-icon[data-v-8d08f36c]{margin-right:8px;font-size:14px}.choice-content pre[data-v-8d08f36c]{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-bf579a56]{height:calc(100vh - 100px);overflow:auto}.trace-info-section[data-v-bf579a56]{margin-bottom:20px;padding:0 10px}.trace-info-section[data-v-bf579a56] .el-descriptions{padding:0;font-size:12px!important}.trace-info-section[data-v-bf579a56] .el-descriptions *{font-size:12px!important}.trace-info-section[data-v-bf579a56] .el-descriptions__body .el-descriptions__table{margin:0}.trace-info-section[data-v-bf579a56] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-bf579a56] .el-descriptions__body .el-descriptions__table th{padding:8px 12px}.trace-info-section[data-v-bf579a56] .el-descriptions__label,.trace-info-section[data-v-bf579a56] .el-descriptions__content{font-size:12px!important;color:#606266;font-weight:400}.trace-info-section[data-v-bf579a56] .el-descriptions__body,.trace-info-section[data-v-bf579a56] .el-descriptions__body .el-descriptions__table,.trace-info-section[data-v-bf579a56] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-bf579a56] .el-descriptions__body .el-descriptions__table th{font-size:12px!important}.trace-info-section[data-v-bf579a56] .el-tag{font-size:12px;height:20px;line-height:20px;padding:0 6px}.span-search-header[data-v-bf579a56]{display:flex;align-items:center;gap:8px}.span-search-header .span-search-input[data-v-bf579a56]{flex:1;min-width:0}.span-search-header .span-type-select[data-v-bf579a56]{width:120px;flex-shrink:0}.span-tree-col[data-v-bf579a56]{height:calc(100vh - 300px);min-height:500px}.span-tree-col[data-v-bf579a56] .el-card__body{height:calc(100% - 57px);overflow:hidden;display:flex;flex-direction:column;padding:10px}.span-load-more[data-v-bf579a56]{flex-shrink:0;padding:8px 0 0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.span-load-more .span-page-size-select[data-v-bf579a56]{width:90px}.span-detail-col[data-v-bf579a56]{height:calc(100vh - 300px);min-height:500px}.span-detail-col[data-v-bf579a56] .el-card__body{height:100%;overflow:hidden;display:flex;flex-direction:column;padding:20px}.span-detail-content[data-v-bf579a56]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.span-detail-content[data-v-bf579a56] .el-tabs{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.span-detail-content[data-v-bf579a56] .el-tabs__content{flex:1;overflow:hidden;min-height:0}.span-detail-content[data-v-bf579a56] .el-tab-pane{height:100%;overflow-y:auto;overflow-x:hidden}.io-content[data-v-bf579a56]{padding:10px 0}.io-section[data-v-bf579a56]{margin-bottom:20px}.copy-btn-inline[data-v-bf579a56]{margin-left:8px;padding:0 4px}.copy-btn-inline[data-v-bf579a56]:hover{background-color:transparent}.collapse-title-text[data-v-bf579a56]{margin-right:4px}.messages-section[data-v-bf579a56]{padding:10px}.message-item[data-v-bf579a56]{margin-bottom:10px}.message-icon[data-v-bf579a56]{margin-right:8px;font-size:14px}.message-role[data-v-bf579a56]{text-transform:capitalize;font-weight:500}.message-content[data-v-bf579a56]{padding:12px;background-color:#f5f7fa;border-radius:4px;border-left:3px solid #409eff}.message-content pre[data-v-bf579a56]{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-bf579a56]{background-color:transparent;padding:0}.message-content .markdown-content[data-v-bf579a56]{background-color:transparent;border:none;padding:0}.json-content[data-v-bf579a56]{padding:12px;background-color:#f5f7fa;border-radius:4px}.json-content pre[data-v-bf579a56]{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-bf579a56]{padding:10px}.choice-item[data-v-bf579a56]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-content[data-v-bf579a56]{padding:12px}.choice-content .structured-content[data-v-bf579a56]{margin-top:8px}.choice-content .markdown-content[data-v-bf579a56]{background-color:#f5f7fa}.message-header[data-v-bf579a56]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-header .copy-btn-inline[data-v-bf579a56]{margin-left:8px}.choice-content pre[data-v-bf579a56]{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-bf579a56]{padding:20px 0}.empty-io[data-v-bf579a56]{padding:40px 0}.event-attributes[data-v-bf579a56]{margin-top:10px;padding:10px;background-color:#f5f7fa;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.raw-io-content[data-v-bf579a56]{padding:10px 0}.raw-io-section[data-v-bf579a56]{margin-bottom:20px}.code-editor-wrapper[data-v-bf579a56]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-bf579a56] .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-bf579a56] .CodeMirror-scroll{max-height:600px}.code-editor-wrapper[data-v-bf579a56] .CodeMirror-cursor{border-left:1px solid #fff}.code-editor-wrapper[data-v-bf579a56] .cm-string{color:#98d982}.code-editor-wrapper[data-v-bf579a56] .cm-number{color:#d19a66}.code-editor-wrapper[data-v-bf579a56] .cm-keyword{color:#c678dd}.code-editor-wrapper[data-v-bf579a56] .cm-atom{color:#56b6c2}.code-editor-wrapper[data-v-bf579a56] .cm-property,.code-editor-wrapper[data-v-bf579a56] .cm-variable{color:#e06c75}.code-editor-wrapper[data-v-bf579a56] .cm-operator{color:#56b6c2}.code-editor-wrapper[data-v-bf579a56] .cm-bracket,.code-editor-wrapper[data-v-bf579a56] .cm-punctuation{color:#abb2bf}.empty-raw-io[data-v-bf579a56]{padding:40px 0}.structured-content[data-v-bf579a56]{display:flex;flex-direction:column;gap:16px}.io-section .structured-content[data-v-bf579a56]{padding:10px}.preview-content .markdown-content[data-v-bf579a56]{background-color:#f5f7fa}.content-element[data-v-bf579a56]{width:100%;border:1px solid #e4e7ed;border-radius:4px}.message-content .content-element[data-v-bf579a56]{border:0px solid #e4e7ed;border-radius:0}.markdown-content[data-v-bf579a56]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-bf579a56] h1,.markdown-content[data-v-bf579a56] h2,.markdown-content[data-v-bf579a56] h3,.markdown-content[data-v-bf579a56] h4,.markdown-content[data-v-bf579a56] h5,.markdown-content[data-v-bf579a56] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-bf579a56] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-bf579a56] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-bf579a56] h3{font-size:18px}.markdown-content[data-v-bf579a56] h4{font-size:16px}.markdown-content[data-v-bf579a56] h5{font-size:14px}.markdown-content[data-v-bf579a56] h6{font-size:13px}.markdown-content[data-v-bf579a56] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-bf579a56] ul,.markdown-content[data-v-bf579a56] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-bf579a56] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-bf579a56] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-bf579a56] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-bf579a56] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-bf579a56] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-bf579a56] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-bf579a56] table th,.markdown-content[data-v-bf579a56] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-bf579a56] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-bf579a56] a{color:#409eff;text-decoration:none}.markdown-content[data-v-bf579a56] a:hover{text-decoration:underline}.image-content[data-v-bf579a56]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-bf579a56]{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-bf579a56]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-bf579a56]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.file-download-content[data-v-bf579a56]{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#f5f7fa;border-radius:4px}.file-download-link[data-v-bf579a56]{color:#409eff;text-decoration:none;font-weight:500}.file-download-link[data-v-bf579a56]:hover{text-decoration:underline}.file-download-hint[data-v-bf579a56]{font-size:12px;color:#909399}.attributes-table .attribute-key[data-v-bf579a56]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attributes-table .attribute-value[data-v-bf579a56]{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-bf579a56]{padding:10px 0}.event-header[data-v-bf579a56]{display:flex;align-items:center;gap:12px}.event-name-tag[data-v-bf579a56]{font-weight:500}.event-time[data-v-bf579a56]{font-size:12px;color:#909399}.event-detail[data-v-bf579a56]{padding:12px}.exception-content[data-v-bf579a56]{display:flex;flex-direction:column;gap:16px}.exception-field[data-v-bf579a56]{display:flex;flex-direction:column;gap:8px}.exception-field .field-label[data-v-bf579a56]{font-size:13px;font-weight:500;color:#606266}.exception-field .field-value[data-v-bf579a56]{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-bf579a56]{color:#e6a23c;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.exception-field .exception-message[data-v-bf579a56]{color:#f56c6c;border-left:3px solid #f56c6c}.stacktrace-editor[data-v-bf579a56]{height:400px;max-height:500px}.stacktrace-editor[data-v-bf579a56] .CodeMirror{height:100%}.stacktrace-editor[data-v-bf579a56] .CodeMirror-scroll{max-height:500px;padding-bottom:30px}.general-event-content[data-v-bf579a56]{padding:0}.empty-events[data-v-bf579a56]{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-af381bcb]{padding:0;font-size:12px;color:#606266;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-af381bcb] .el-card{border:none;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-af381bcb] .el-card__body{padding:16px 16px 9px;flex:1;display:flex;flex-direction:column;overflow:hidden}.trace-content-wrapper[data-v-af381bcb]{display:flex;flex-direction:column;flex:1;min-height:0}.trace-table-wrapper[data-v-af381bcb]{flex:1;overflow:auto;margin-bottom:12px;min-height:0}.trace-pagination-wrapper[data-v-af381bcb]{margin-top:auto;padding-top:10px;border-top:1px solid #EBEEF5}.trace-toolbar[data-v-af381bcb]{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-af381bcb]{width:200px;flex-shrink:0}.toolbar-input[data-v-af381bcb]{width:300px;flex-shrink:0}.toolbar-date-picker[data-v-af381bcb]{width:380px;flex-shrink:0}.toolbar-auto-refresh[data-v-af381bcb]{flex-shrink:0;margin-right:0}.toolbar-interval-select[data-v-af381bcb]{width:90px;flex-shrink:0}.trace-toolbar .el-button[data-v-af381bcb],.trace-toolbar .el-tooltip[data-v-af381bcb]{flex-shrink:0}.trace-list-container[data-v-af381bcb] .el-table{font-size:12px;color:#606266}.trace-list-container[data-v-af381bcb] .el-table th{background-color:#f3f5fa;color:#606266;font-size:12px;padding:8px 0;font-weight:500}.trace-list-container[data-v-af381bcb] .el-table td{font-size:12px;color:#606266;padding:8px 0}.trace-list-container[data-v-af381bcb] .el-table .el-link{font-size:12px}.trace-list-container[data-v-af381bcb] .el-table .el-button--text{font-size:12px;padding:0}.trace-list-container[data-v-af381bcb] .el-table .el-button--text.operation-delete{color:#f56c6c}.trace-list-container[data-v-af381bcb] .el-table .el-button--text.operation-delete:hover{color:#f78989}.trace-list-container[data-v-af381bcb] .el-table .el-tag{font-size:12px}.trace-list-container[data-v-af381bcb] .el-table--striped .el-table__body tr.el-table__row--striped td{background-color:#fafafa}.trace-list-container[data-v-af381bcb] .el-table--striped .el-table__body tr.el-table__row--striped:hover td{background-color:#f0f2f5}.trace-row[data-v-af381bcb]{cursor:pointer}.trace-row[data-v-af381bcb]:hover{background-color:#f0f2f5}.trace-pagination[data-v-af381bcb]{text-align:right;font-size:12px;color:#606266;font-weight:400}.trace-pagination[data-v-af381bcb] .el-pagination{font-size:12px;color:#606266;display:flex;align-items:center;justify-content:flex-end}.trace-pagination[data-v-af381bcb] .el-pagination *,.trace-pagination[data-v-af381bcb] .el-pagination__total{font-size:12px;color:#606266;margin-right:8px;height:28px;line-height:28px}.trace-pagination[data-v-af381bcb] .el-pagination .btn-next,.trace-pagination[data-v-af381bcb] .el-pagination .btn-prev,.trace-pagination[data-v-af381bcb] .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-af381bcb] .el-pagination .el-pager li{padding:0 4px;box-sizing:border-box;text-align:center}.trace-pagination[data-v-af381bcb] .el-pagination .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.trace-pagination[data-v-af381bcb] .el-pagination .btn-prev:hover,.trace-pagination[data-v-af381bcb] .el-pagination .btn-next:hover{color:#409eff}.trace-pagination[data-v-af381bcb] .el-pagination .el-pager li:hover:not(.active){color:#409eff}.trace-pagination[data-v-af381bcb] .el-pagination .el-pager li.active:hover{color:#fff}.trace-pagination[data-v-af381bcb] .el-pagination__sizes .el-input{font-size:12px}.trace-pagination[data-v-af381bcb] .el-pagination__sizes .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 25px 0 8px}.trace-pagination[data-v-af381bcb] .el-pagination__jump{margin-left:16px;font-size:12px;color:#606266}.trace-pagination[data-v-af381bcb] .el-pagination__editor{font-size:12px;margin:0 4px}.trace-pagination[data-v-af381bcb] .el-pagination__editor .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 4px;text-align:center}.text-muted[data-v-af381bcb]{color:#909399}.trace-id-copy-tooltip .trace-id-tooltip-content{display:flex;align-items:center;gap:8px;max-width:400px}.trace-id-copy-tooltip .trace-id-tooltip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-id-copy-tooltip .trace-id-copy-btn{flex-shrink:0;padding:0 4px}
|
|
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}}.output-viewer[data-v-a12c132d]{width:100%}.output-viewer-header[data-v-a12c132d]{display:flex;justify-content:space-between;align-items:center;font-weight:500;font-size:14px}.output-viewer-title-row[data-v-a12c132d]{display:inline-flex;align-items:center}.output-viewer-title[data-v-a12c132d]{margin-right:4px}.copy-btn-inline[data-v-a12c132d]{margin-left:4px;padding:0 4px}.output-viewer-actions[data-v-a12c132d]{display:flex;align-items:center;gap:8px}.output-viewer-raw[data-v-a12c132d]{margin-top:10px}.output-viewer-readable[data-v-a12c132d]{padding:10px}.code-editor-wrapper[data-v-a12c132d]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-a12c132d] .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-a12c132d] .CodeMirror-scroll{max-height:600px}.structured-content[data-v-a12c132d]{display:flex;flex-direction:column;gap:16px}.markdown-content[data-v-a12c132d]{background-color:#f5f7fa;padding:12px;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-a12c132d] p{margin:8px 0;line-height:1.8}.content-element[data-v-a12c132d]{width:100%;border:1px solid #e4e7ed;border-radius:4px}.markdown-content[data-v-a12c132d] pre{margin:0;white-space:pre-wrap;word-wrap:break-word;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.image-content[data-v-a12c132d]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-a12c132d]{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-a12c132d]{max-width:100%;max-height:500px;height:auto;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-a12c132d]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.file-download-content[data-v-a12c132d]{display:flex;flex-direction:column;gap:4px}.file-download-link[data-v-a12c132d]{color:#409eff;text-decoration:none}.file-download-hint[data-v-a12c132d]{font-size:12px;color:#909399}.outputs-section[data-v-a12c132d]{padding:10px}.choice-item[data-v-a12c132d]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-content[data-v-a12c132d]{padding:12px}.choice-content .structured-content[data-v-a12c132d]{margin-top:8px}.choice-content .markdown-content[data-v-a12c132d]{background-color:#f5f7fa}.message-header[data-v-a12c132d]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-header .copy-btn-inline[data-v-a12c132d]{margin-left:8px}.copy-btn-inline[data-v-a12c132d]:hover{background-color:transparent}.debug-content[data-v-8d08f36c]{padding:10px 0}.debug-client-form[data-v-8d08f36c],.debug-chat-model-form[data-v-8d08f36c]{padding:10px}.debug-form-row[data-v-8d08f36c]{margin-bottom:10px}.debug-form-row[data-v-8d08f36c] .el-form-item__content{display:flex;align-items:center}.debug-form-row[data-v-8d08f36c] .el-row{width:100%;flex-wrap:nowrap}.delete-param-btn[data-v-8d08f36c]{width:100%;padding:0;display:flex;align-items:center;justify-content:center;height:32px}.delete-param-btn[data-v-8d08f36c] .el-icon-delete{margin:0}.debug-response[data-v-8d08f36c]{margin-top:20px;padding:15px;border-radius:4px;border:1px solid #e4e7ed}.debug-response-header[data-v-8d08f36c]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-weight:500;font-size:14px}.debug-response-actions[data-v-8d08f36c]{display:flex;align-items:center;gap:8px}.debug-response-raw[data-v-8d08f36c],.debug-response-markdown[data-v-8d08f36c]{margin-top:10px}.markdown-editor[data-v-8d08f36c]{height:300px;max-height:400px}.markdown-editor[data-v-8d08f36c] .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-8d08f36c] .CodeMirror-scroll{max-height:400px}.code-editor-wrapper[data-v-8d08f36c]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-8d08f36c] .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-8d08f36c] .CodeMirror-scroll{max-height:600px}.structured-content[data-v-8d08f36c]{display:flex;flex-direction:column;gap:16px}.content-element[data-v-8d08f36c]{width:100%;border:1px solid #e4e7ed;border-radius:4px}.markdown-content[data-v-8d08f36c]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-8d08f36c] h1,.markdown-content[data-v-8d08f36c] h2,.markdown-content[data-v-8d08f36c] h3,.markdown-content[data-v-8d08f36c] h4,.markdown-content[data-v-8d08f36c] h5,.markdown-content[data-v-8d08f36c] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-8d08f36c] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-8d08f36c] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-8d08f36c] h3{font-size:18px}.markdown-content[data-v-8d08f36c] h4{font-size:16px}.markdown-content[data-v-8d08f36c] h5{font-size:14px}.markdown-content[data-v-8d08f36c] h6{font-size:13px}.markdown-content[data-v-8d08f36c] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-8d08f36c] ul,.markdown-content[data-v-8d08f36c] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-8d08f36c] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-8d08f36c] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-8d08f36c] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-8d08f36c] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-8d08f36c] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-8d08f36c] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-8d08f36c] table th,.markdown-content[data-v-8d08f36c] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-8d08f36c] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-8d08f36c] a{color:#409eff;text-decoration:none}.markdown-content[data-v-8d08f36c] a:hover{text-decoration:underline}.image-content[data-v-8d08f36c]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-8d08f36c]{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-8d08f36c]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-8d08f36c]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.outputs-section[data-v-8d08f36c]{padding:10px}.choice-item[data-v-8d08f36c]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-content[data-v-8d08f36c]{padding:12px}.choice-content .structured-content[data-v-8d08f36c]{margin-top:8px}.choice-content .markdown-content[data-v-8d08f36c]{background-color:#f5f7fa}.message-header[data-v-8d08f36c]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-header .copy-btn-inline[data-v-8d08f36c]{margin-left:8px}.message-icon[data-v-8d08f36c]{margin-right:8px;font-size:14px}.choice-content pre[data-v-8d08f36c]{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-c4c8862b]{height:calc(100vh - 100px);overflow:auto}.trace-info-section[data-v-c4c8862b]{margin-bottom:20px;padding:0 10px}.trace-info-section[data-v-c4c8862b] .el-descriptions{padding:0;font-size:12px!important}.trace-info-section[data-v-c4c8862b] .el-descriptions *{font-size:12px!important}.trace-info-section[data-v-c4c8862b] .el-descriptions__body .el-descriptions__table{margin:0}.trace-info-section[data-v-c4c8862b] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-c4c8862b] .el-descriptions__body .el-descriptions__table th{padding:8px 12px}.trace-info-section[data-v-c4c8862b] .el-descriptions__label,.trace-info-section[data-v-c4c8862b] .el-descriptions__content{font-size:12px!important;color:#606266;font-weight:400}.trace-info-section[data-v-c4c8862b] .el-descriptions__body,.trace-info-section[data-v-c4c8862b] .el-descriptions__body .el-descriptions__table,.trace-info-section[data-v-c4c8862b] .el-descriptions__body .el-descriptions__table td,.trace-info-section[data-v-c4c8862b] .el-descriptions__body .el-descriptions__table th{font-size:12px!important}.trace-info-section[data-v-c4c8862b] .el-tag{font-size:12px;height:20px;line-height:20px;padding:0 6px}.span-search-header[data-v-c4c8862b]{display:flex;align-items:center;gap:8px}.span-search-header .span-search-input[data-v-c4c8862b]{flex:1;min-width:0}.span-search-header .span-type-select[data-v-c4c8862b]{width:120px;flex-shrink:0}.span-tree-col[data-v-c4c8862b]{height:calc(100vh - 300px);min-height:500px}.span-tree-col[data-v-c4c8862b] .el-card__body{height:calc(100% - 57px);overflow:hidden;display:flex;flex-direction:column;padding:10px}.span-load-more[data-v-c4c8862b]{flex-shrink:0;padding:8px 0 0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.span-load-more .span-page-size-select[data-v-c4c8862b]{width:90px}.span-detail-col[data-v-c4c8862b]{height:calc(100vh - 300px);min-height:500px}.span-detail-col[data-v-c4c8862b] .el-card__body{height:100%;overflow:hidden;display:flex;flex-direction:column;padding:20px}.span-detail-content[data-v-c4c8862b]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.span-detail-content[data-v-c4c8862b] .el-tabs{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.span-detail-content[data-v-c4c8862b] .el-tabs__content{flex:1;overflow:hidden;min-height:0}.span-detail-content[data-v-c4c8862b] .el-tab-pane{height:100%;overflow-y:auto;overflow-x:hidden}.io-content[data-v-c4c8862b]{padding:10px 0}.io-section[data-v-c4c8862b]{margin-bottom:20px}.copy-btn-inline[data-v-c4c8862b]{margin-left:8px;padding:0 4px}.copy-btn-inline[data-v-c4c8862b]:hover{background-color:transparent}.collapse-title-text[data-v-c4c8862b]{margin-right:4px}.messages-section[data-v-c4c8862b]{padding:10px}.message-item[data-v-c4c8862b]{margin-bottom:10px}.message-icon[data-v-c4c8862b]{margin-right:8px;font-size:14px}.message-role[data-v-c4c8862b]{text-transform:capitalize;font-weight:500}.message-content[data-v-c4c8862b]{padding:12px;background-color:#f5f7fa;border-radius:4px;border-left:3px solid #409eff}.message-content pre[data-v-c4c8862b]{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-c4c8862b]{background-color:transparent;padding:0}.message-content .markdown-content[data-v-c4c8862b]{background-color:transparent;border:none;padding:0}.json-content[data-v-c4c8862b]{padding:12px;background-color:#f5f7fa;border-radius:4px}.json-content pre[data-v-c4c8862b]{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-c4c8862b]{padding:10px}.choice-item[data-v-c4c8862b]{margin-bottom:15px;border:1px solid #ebeef5;border-radius:4px;overflow:hidden}.choice-content[data-v-c4c8862b]{padding:12px}.choice-content .structured-content[data-v-c4c8862b]{margin-top:8px}.choice-content .markdown-content[data-v-c4c8862b]{background-color:#f5f7fa}.message-header[data-v-c4c8862b]{display:flex;align-items:center;margin-bottom:8px;font-weight:500;font-size:13px}.message-header .copy-btn-inline[data-v-c4c8862b]{margin-left:8px}.choice-content pre[data-v-c4c8862b]{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-c4c8862b]{padding:20px 0}.empty-io[data-v-c4c8862b]{padding:40px 0}.event-attributes[data-v-c4c8862b]{margin-top:10px;padding:10px;background-color:#f5f7fa;border-radius:4px;font-family:Courier New,monospace;font-size:12px}.raw-io-content[data-v-c4c8862b]{padding:10px 0}.raw-io-section[data-v-c4c8862b]{margin-bottom:20px}.code-editor-wrapper[data-v-c4c8862b]{height:400px;max-height:600px;overflow:auto}.code-editor-wrapper[data-v-c4c8862b] .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-c4c8862b] .CodeMirror-scroll{max-height:600px}.code-editor-wrapper[data-v-c4c8862b] .CodeMirror-cursor{border-left:1px solid #fff}.code-editor-wrapper[data-v-c4c8862b] .cm-string{color:#98d982}.code-editor-wrapper[data-v-c4c8862b] .cm-number{color:#d19a66}.code-editor-wrapper[data-v-c4c8862b] .cm-keyword{color:#c678dd}.code-editor-wrapper[data-v-c4c8862b] .cm-atom{color:#56b6c2}.code-editor-wrapper[data-v-c4c8862b] .cm-property,.code-editor-wrapper[data-v-c4c8862b] .cm-variable{color:#e06c75}.code-editor-wrapper[data-v-c4c8862b] .cm-operator{color:#56b6c2}.code-editor-wrapper[data-v-c4c8862b] .cm-bracket,.code-editor-wrapper[data-v-c4c8862b] .cm-punctuation{color:#abb2bf}.empty-raw-io[data-v-c4c8862b]{padding:40px 0}.structured-content[data-v-c4c8862b]{display:flex;flex-direction:column;gap:16px}.io-section .structured-content[data-v-c4c8862b]{padding:10px}.preview-content .markdown-content[data-v-c4c8862b]{background-color:#f5f7fa}.content-element[data-v-c4c8862b]{width:100%;border:1px solid #e4e7ed;border-radius:4px}.message-content .content-element[data-v-c4c8862b]{border:0px solid #e4e7ed;border-radius:0}.markdown-content[data-v-c4c8862b]{padding:12px;background-color:#fff;border-radius:4px;border:1px solid #e4e7ed;line-height:1.8;word-wrap:break-word}.markdown-content[data-v-c4c8862b] h1,.markdown-content[data-v-c4c8862b] h2,.markdown-content[data-v-c4c8862b] h3,.markdown-content[data-v-c4c8862b] h4,.markdown-content[data-v-c4c8862b] h5,.markdown-content[data-v-c4c8862b] h6{margin-top:16px;margin-bottom:8px;font-weight:600;line-height:1.4}.markdown-content[data-v-c4c8862b] h1{font-size:24px;border-bottom:1px solid #e4e7ed;padding-bottom:8px}.markdown-content[data-v-c4c8862b] h2{font-size:20px;border-bottom:1px solid #e4e7ed;padding-bottom:6px}.markdown-content[data-v-c4c8862b] h3{font-size:18px}.markdown-content[data-v-c4c8862b] h4{font-size:16px}.markdown-content[data-v-c4c8862b] h5{font-size:14px}.markdown-content[data-v-c4c8862b] h6{font-size:13px}.markdown-content[data-v-c4c8862b] p{margin:8px 0;line-height:1.8}.markdown-content[data-v-c4c8862b] ul,.markdown-content[data-v-c4c8862b] ol{margin:8px 0;padding-left:24px}.markdown-content[data-v-c4c8862b] li{margin:4px 0;line-height:1.6}.markdown-content[data-v-c4c8862b] code{padding:2px 6px;background-color:#f5f7fa;border-radius:3px;font-family:Courier New,monospace;font-size:12px;color:#e83e8c}.markdown-content[data-v-c4c8862b] pre{padding:12px;background-color:#f5f7fa;border-radius:4px;overflow-x:auto;margin:8px 0}.markdown-content[data-v-c4c8862b] pre code{padding:0;background-color:transparent;color:inherit;font-size:13px}.markdown-content[data-v-c4c8862b] blockquote{margin:8px 0;padding:8px 16px;border-left:4px solid #409eff;background-color:#f5f7fa;color:#606266}.markdown-content[data-v-c4c8862b] table{border-collapse:collapse;width:100%;margin:8px 0}.markdown-content[data-v-c4c8862b] table th,.markdown-content[data-v-c4c8862b] table td{border:1px solid #e4e7ed;padding:8px 12px;text-align:left}.markdown-content[data-v-c4c8862b] table th{background-color:#f5f7fa;font-weight:600}.markdown-content[data-v-c4c8862b] a{color:#409eff;text-decoration:none}.markdown-content[data-v-c4c8862b] a:hover{text-decoration:underline}.image-content[data-v-c4c8862b]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;background-color:#f5f7fa;border-radius:4px}.image-label[data-v-c4c8862b]{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-c4c8862b]{max-width:100%;max-height:500px;cursor:pointer;border-radius:4px;transition:transform .2s}.content-image[data-v-c4c8862b]:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.file-download-content[data-v-c4c8862b]{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:#f5f7fa;border-radius:4px}.file-download-link[data-v-c4c8862b]{color:#409eff;text-decoration:none;font-weight:500}.file-download-link[data-v-c4c8862b]:hover{text-decoration:underline}.file-download-hint[data-v-c4c8862b]{font-size:12px;color:#909399}.attributes-table .attribute-key[data-v-c4c8862b]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attributes-table .attribute-value[data-v-c4c8862b]{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-c4c8862b]{padding:10px 0}.event-header[data-v-c4c8862b]{display:flex;align-items:center;gap:12px}.event-name-tag[data-v-c4c8862b]{font-weight:500}.event-time[data-v-c4c8862b]{font-size:12px;color:#909399}.event-detail[data-v-c4c8862b]{padding:12px}.exception-content[data-v-c4c8862b]{display:flex;flex-direction:column;gap:16px}.exception-field[data-v-c4c8862b]{display:flex;flex-direction:column;gap:8px}.exception-field .field-label[data-v-c4c8862b]{font-size:13px;font-weight:500;color:#606266}.exception-field .field-value[data-v-c4c8862b]{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-c4c8862b]{color:#e6a23c;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,monospace}.exception-field .exception-message[data-v-c4c8862b]{color:#f56c6c;border-left:3px solid #f56c6c}.stacktrace-editor[data-v-c4c8862b]{height:400px;max-height:500px}.stacktrace-editor[data-v-c4c8862b] .CodeMirror{height:100%}.stacktrace-editor[data-v-c4c8862b] .CodeMirror-scroll{max-height:500px;padding-bottom:30px}.general-event-content[data-v-c4c8862b]{padding:0}.empty-events[data-v-c4c8862b]{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-63c9cc19]{padding:0;font-size:12px;color:#606266;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-63c9cc19] .el-card{border:none;height:100%;display:flex;flex-direction:column}.trace-list-container[data-v-63c9cc19] .el-card__body{padding:16px 16px 9px;flex:1;display:flex;flex-direction:column;overflow:hidden}.trace-content-wrapper[data-v-63c9cc19]{display:flex;flex-direction:column;flex:1;min-height:0}.trace-table-wrapper[data-v-63c9cc19]{flex:1;overflow:auto;margin-bottom:12px;min-height:0}.trace-pagination-wrapper[data-v-63c9cc19]{margin-top:auto;padding-top:10px;border-top:1px solid #EBEEF5}.trace-toolbar[data-v-63c9cc19]{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-63c9cc19]{width:200px;flex-shrink:0}.toolbar-input[data-v-63c9cc19]{width:300px;flex-shrink:0}.toolbar-date-picker[data-v-63c9cc19]{width:380px;flex-shrink:0}.toolbar-auto-refresh[data-v-63c9cc19]{flex-shrink:0;margin-right:0}.toolbar-interval-select[data-v-63c9cc19]{width:90px;flex-shrink:0}.trace-toolbar .el-button[data-v-63c9cc19],.trace-toolbar .el-tooltip[data-v-63c9cc19]{flex-shrink:0}.trace-list-container[data-v-63c9cc19] .el-table{font-size:12px;color:#606266}.trace-list-container[data-v-63c9cc19] .el-table th{background-color:#f3f5fa;color:#606266;font-size:12px;padding:8px 0;font-weight:500}.trace-list-container[data-v-63c9cc19] .el-table td{font-size:12px;color:#606266;padding:8px 0}.trace-list-container[data-v-63c9cc19] .el-table .el-link{font-size:12px}.trace-list-container[data-v-63c9cc19] .el-table .el-button--text{font-size:12px;padding:0}.trace-list-container[data-v-63c9cc19] .el-table .el-button--text.operation-delete{color:#f56c6c}.trace-list-container[data-v-63c9cc19] .el-table .el-button--text.operation-delete:hover{color:#f78989}.trace-list-container[data-v-63c9cc19] .el-table .el-tag{font-size:12px}.trace-list-container[data-v-63c9cc19] .el-table--striped .el-table__body tr.el-table__row--striped td{background-color:#fafafa}.trace-list-container[data-v-63c9cc19] .el-table--striped .el-table__body tr.el-table__row--striped:hover td{background-color:#f0f2f5}.trace-row[data-v-63c9cc19]{cursor:pointer}.trace-row[data-v-63c9cc19]:hover{background-color:#f0f2f5}.trace-pagination[data-v-63c9cc19]{text-align:right;font-size:12px;color:#606266;font-weight:400}.trace-pagination[data-v-63c9cc19] .el-pagination{font-size:12px;color:#606266;display:flex;align-items:center;justify-content:flex-end}.trace-pagination[data-v-63c9cc19] .el-pagination *,.trace-pagination[data-v-63c9cc19] .el-pagination__total{font-size:12px;color:#606266;margin-right:8px;height:28px;line-height:28px}.trace-pagination[data-v-63c9cc19] .el-pagination .btn-next,.trace-pagination[data-v-63c9cc19] .el-pagination .btn-prev,.trace-pagination[data-v-63c9cc19] .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-63c9cc19] .el-pagination .el-pager li{padding:0 4px;box-sizing:border-box;text-align:center}.trace-pagination[data-v-63c9cc19] .el-pagination .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.trace-pagination[data-v-63c9cc19] .el-pagination .btn-prev:hover,.trace-pagination[data-v-63c9cc19] .el-pagination .btn-next:hover{color:#409eff}.trace-pagination[data-v-63c9cc19] .el-pagination .el-pager li:hover:not(.active){color:#409eff}.trace-pagination[data-v-63c9cc19] .el-pagination .el-pager li.active:hover{color:#fff}.trace-pagination[data-v-63c9cc19] .el-pagination__sizes .el-input{font-size:12px}.trace-pagination[data-v-63c9cc19] .el-pagination__sizes .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 25px 0 8px}.trace-pagination[data-v-63c9cc19] .el-pagination__jump{margin-left:16px;font-size:12px;color:#606266}.trace-pagination[data-v-63c9cc19] .el-pagination__editor{font-size:12px;margin:0 4px}.trace-pagination[data-v-63c9cc19] .el-pagination__editor .el-input__inner{font-size:12px;height:28px;line-height:28px;padding:0 4px;text-align:center}.text-muted[data-v-63c9cc19]{color:#909399}.trace-id-copy-tooltip .trace-id-tooltip-content{display:flex;align-items:center;gap:8px;max-width:400px}.trace-id-copy-tooltip .trace-id-tooltip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trace-id-copy-tooltip .trace-id-copy-btn{flex-shrink:0;padding:0 4px}
|
package/dist/trace.es.js
CHANGED
|
@@ -32021,7 +32021,7 @@ var xS = function() {
|
|
|
32021
32021
|
var g = this, I = g._self._c;
|
|
32022
32022
|
return I("el-drawer", { attrs: { visible: g.localVisible, "with-header": !0, title: g.drawerTitle, size: "90%", direction: "rtl", "before-close": g.handleClose }, on: { "update:visible": function(V) {
|
|
32023
32023
|
g.localVisible = V;
|
|
32024
|
-
} } }, [g.currentTraceId ? I("div", { directives: [{ name: "loading", rawName: "v-loading", value: g.loading, expression: "loading" }], staticClass: "trace-detail-content", attrs: { "element-loading-text": "加载中..." } }, [I("div", { staticClass: "trace-info-section" }, [I("el-descriptions", { attrs: { column: 3, border: "" } }, [I("el-descriptions-item", { attrs: { label: g.$t("trace.traceId") } }, [g._v(g._s(g.traceInfo.trace_id))]), I("el-descriptions-item", { attrs: { label: g.$t("trace.status") } }, [I("el-tag", { attrs: { type: g.getStatusType(g.traceInfo.status), size: "mini" } }, [g._v(" " + g._s(g.getStatusLabel(g.traceInfo.status)) + " ")])], 1), I("el-descriptions-item", { attrs: { label: g.$t("trace.executionTime") } }, [g._v(" " + g._s(g.formatNanoDuration(g.traceInfo.execution_time_ms)) + " ")]), I("el-descriptions-item", { attrs: { label: g.$t("trace.timeCreated") } }, [g._v(" " + g._s(g.formatTimestamp(g.traceInfo.timestamp_ms)) + " ")]), I("el-descriptions-item", { attrs: { label: g.$t("trace.experimentName") } }, [g._v(g._s(g.traceInfo.experiment_name))]), I("el-descriptions-item", { attrs: { label: g.$t("trace.traceType") } }, [I("el-tag", { attrs: { size: "mini", type: "info" } }, [g._v(g._s(g.getTraceSpanTypeLabel(g.traceInfo.trace_type)))])], 1), I("el-descriptions-item", { attrs: { label: g.$t("trace.traceName"), span: 2 } }, [g._v(" " + g._s(g.traceInfo.trace_name || "-") + " ")])], 1)], 1), I("el-divider"), I("el-row", { attrs: { gutter: 20 } }, [I("el-col", { staticClass: "span-tree-col", attrs: { span: 8 } }, [I("el-card", [I("div", { staticClass: "span-search-header", attrs: { slot: "header" }, slot: "header" }, [I("el-input", { staticClass: "span-search-input", attrs: { placeholder: g.$t("span.searchTree"), "prefix-icon": "el-icon-search", size: "small", clearable: "" }, on: { input: g.handleSpanSearch }, model: { value: g.spanSearchQuery, callback: function(V) {
|
|
32024
|
+
} } }, [g.currentTraceId ? I("div", { directives: [{ name: "loading", rawName: "v-loading", value: g.loading, expression: "loading" }], staticClass: "trace-detail-content", attrs: { "element-loading-text": "加载中..." } }, [I("div", { staticClass: "trace-info-section" }, [I("el-descriptions", { attrs: { column: 3, border: "" } }, [I("el-descriptions-item", { attrs: { label: g.$t("trace.traceId") } }, [g._v(g._s(g.traceInfo.trace_id))]), I("el-descriptions-item", { attrs: { label: g.$t("trace.status") } }, [I("el-tag", { attrs: { type: g.getStatusType(g.traceInfo.status), size: "mini" } }, [g._v(" " + g._s(g.getStatusLabel(g.traceInfo.status)) + " ")])], 1), I("el-descriptions-item", { attrs: { label: g.$t("trace.executionTime") } }, [g._v(" " + g._s(g.formatNanoDuration(g.traceInfo.execution_time_ms)) + " ")]), I("el-descriptions-item", { attrs: { label: g.$t("trace.timeCreated") } }, [g._v(" " + g._s(g.formatTimestamp(g.traceInfo.timestamp_ms)) + " ")]), I("el-descriptions-item", { attrs: { label: g.$t("trace.timeEnded") } }, [g._v(" " + g._s(g.formatTimestamp(g.traceInfo.end_time_ms)) + " ")]), I("el-descriptions-item", { attrs: { label: g.$t("trace.experimentName") } }, [g._v(g._s(g.traceInfo.experiment_name))]), I("el-descriptions-item", { attrs: { label: g.$t("trace.traceType") } }, [I("el-tag", { attrs: { size: "mini", type: "info" } }, [g._v(g._s(g.getTraceSpanTypeLabel(g.traceInfo.trace_type)))])], 1), I("el-descriptions-item", { attrs: { label: g.$t("trace.traceName"), span: 2 } }, [g._v(" " + g._s(g.traceInfo.trace_name || "-") + " ")])], 1)], 1), I("el-divider"), I("el-row", { attrs: { gutter: 20 } }, [I("el-col", { staticClass: "span-tree-col", attrs: { span: 8 } }, [I("el-card", [I("div", { staticClass: "span-search-header", attrs: { slot: "header" }, slot: "header" }, [I("el-input", { staticClass: "span-search-input", attrs: { placeholder: g.$t("span.searchTree"), "prefix-icon": "el-icon-search", size: "small", clearable: "" }, on: { input: g.handleSpanSearch }, model: { value: g.spanSearchQuery, callback: function(V) {
|
|
32025
32025
|
g.spanSearchQuery = V;
|
|
32026
32026
|
}, expression: "spanSearchQuery" } }), I("el-select", { staticClass: "span-type-select", attrs: { value: g.spanTypeFilter, size: "small", clearable: "", placeholder: g.$t("trace.traceType") }, on: { input: g.handleSpanTypeFilterChange } }, g._l(g.traceSpanTypeList, function(V) {
|
|
32027
32027
|
return I("el-option", { key: V.value, attrs: { label: V.label, value: V.value } });
|
|
@@ -32092,7 +32092,7 @@ var xS = function() {
|
|
|
32092
32092
|
OS,
|
|
32093
32093
|
!1,
|
|
32094
32094
|
null,
|
|
32095
|
-
"
|
|
32095
|
+
"c4c8862b"
|
|
32096
32096
|
);
|
|
32097
32097
|
const fS = US.exports, ES = {
|
|
32098
32098
|
name: "Trace",
|
|
@@ -32118,10 +32118,11 @@ const fS = US.exports, ES = {
|
|
|
32118
32118
|
exportLoading: !1,
|
|
32119
32119
|
importLoading: !1,
|
|
32120
32120
|
showColumnDialog: !1,
|
|
32121
|
-
selectedColumns: ["trace_id", "timestamp_ms", "status", "execution_time_ms", "trace_type", "trace_name", "experiment_name"],
|
|
32121
|
+
selectedColumns: ["trace_id", "timestamp_ms", "end_time_ms", "status", "execution_time_ms", "trace_type", "trace_name", "experiment_name"],
|
|
32122
32122
|
visibleColumns: {
|
|
32123
32123
|
trace_id: !0,
|
|
32124
32124
|
timestamp_ms: !0,
|
|
32125
|
+
end_time_ms: !0,
|
|
32125
32126
|
status: !0,
|
|
32126
32127
|
execution_time_ms: !0,
|
|
32127
32128
|
trace_type: !0,
|
|
@@ -32703,7 +32704,9 @@ var PS = function() {
|
|
|
32703
32704
|
return [I("el-tag", { attrs: { type: g.getStatusType(C.row.status), size: "mini" } }, [C.row.status === "OK" ? I("i", { staticClass: "el-icon-success" }) : g._e(), g._v(" " + g._s(g.getStatusLabel(C.row.status)) + " ")])];
|
|
32704
32705
|
} }], null, !1, 4220190539) }) : g._e(), g.visibleColumns.timestamp_ms ? I("el-table-column", { attrs: { prop: "timestamp_ms", label: g.$t("trace.timeCreated"), width: "180", sortable: "custom", "sort-order": g.sortProp === "timestamp_ms" ? g.sortOrder : null }, scopedSlots: g._u([{ key: "default", fn: function(C) {
|
|
32705
32706
|
return [g._v(" " + g._s(g.formatDateTime(C.row.timestamp_ms)) + " ")];
|
|
32706
|
-
} }], null, !1, 1082702673) }) : g._e(), I("el-table-column", { attrs: { label: g.$t("
|
|
32707
|
+
} }], null, !1, 1082702673) }) : g._e(), g.visibleColumns.end_time_ms ? I("el-table-column", { attrs: { prop: "end_time_ms", label: g.$t("trace.timeEnded"), width: "180", sortable: "custom", "sort-order": g.sortProp === "end_time_ms" ? g.sortOrder : null }, scopedSlots: g._u([{ key: "default", fn: function(C) {
|
|
32708
|
+
return [g._v(" " + g._s(g.formatDateTime(C.row.end_time_ms)) + " ")];
|
|
32709
|
+
} }], null, !1, 2066523034) }) : g._e(), I("el-table-column", { attrs: { label: g.$t("common.operation"), width: "200", fixed: "right" }, scopedSlots: g._u([{ key: "default", fn: function(C) {
|
|
32707
32710
|
return [I("el-button", { attrs: { type: "text", size: "mini" }, on: { click: function(i) {
|
|
32708
32711
|
return i.stopPropagation(), g.viewDetail(C.row);
|
|
32709
32712
|
} } }, [g._v(" " + g._s(g.$t("common.viewDetail")) + " ")]), I("el-button", { attrs: { type: "text", size: "mini" }, on: { click: function(i) {
|
|
@@ -32715,7 +32718,7 @@ var PS = function() {
|
|
|
32715
32718
|
g.showColumnDialog = C;
|
|
32716
32719
|
} } }, [I("el-checkbox-group", { model: { value: g.selectedColumns, callback: function(C) {
|
|
32717
32720
|
g.selectedColumns = C;
|
|
32718
|
-
}, expression: "selectedColumns" } }, [I("el-checkbox", { attrs: { label: "trace_id" } }, [g._v(g._s(g.$t("trace.requestId")))]), I("el-checkbox", { attrs: { label: "timestamp_ms" } }, [g._v(g._s(g.$t("trace.timeCreated")))]), I("el-checkbox", { attrs: { label: "status" } }, [g._v(g._s(g.$t("trace.status")))]), I("el-checkbox", { attrs: { label: "execution_time_ms" } }, [g._v(g._s(g.$t("trace.executionTime")))]), I("el-checkbox", { attrs: { label: "trace_type" } }, [g._v(g._s(g.$t("trace.traceType")))]), I("el-checkbox", { attrs: { label: "trace_name" } }, [g._v(g._s(g.$t("trace.traceName")))]), I("el-checkbox", { attrs: { label: "experiment_name" } }, [g._v(g._s(g.$t("trace.experimentName")))])], 1), I("div", { staticClass: "dialog-footer", attrs: { slot: "footer" }, slot: "footer" }, [I("el-button", { attrs: { size: "mini" }, on: { click: function(C) {
|
|
32721
|
+
}, expression: "selectedColumns" } }, [I("el-checkbox", { attrs: { label: "trace_id" } }, [g._v(g._s(g.$t("trace.requestId")))]), I("el-checkbox", { attrs: { label: "timestamp_ms" } }, [g._v(g._s(g.$t("trace.timeCreated")))]), I("el-checkbox", { attrs: { label: "end_time_ms" } }, [g._v(g._s(g.$t("trace.timeEnded")))]), I("el-checkbox", { attrs: { label: "status" } }, [g._v(g._s(g.$t("trace.status")))]), I("el-checkbox", { attrs: { label: "execution_time_ms" } }, [g._v(g._s(g.$t("trace.executionTime")))]), I("el-checkbox", { attrs: { label: "trace_type" } }, [g._v(g._s(g.$t("trace.traceType")))]), I("el-checkbox", { attrs: { label: "trace_name" } }, [g._v(g._s(g.$t("trace.traceName")))]), I("el-checkbox", { attrs: { label: "experiment_name" } }, [g._v(g._s(g.$t("trace.experimentName")))])], 1), I("div", { staticClass: "dialog-footer", attrs: { slot: "footer" }, slot: "footer" }, [I("el-button", { attrs: { size: "mini" }, on: { click: function(C) {
|
|
32719
32722
|
g.showColumnDialog = !1;
|
|
32720
32723
|
} } }, [g._v(g._s(g.$t("common.cancel")))]), I("el-button", { attrs: { size: "mini", type: "primary" }, on: { click: g.applyColumns } }, [g._v(g._s(g.$t("common.confirm")))])], 1)], 1), I("TraceDetailDrawer", { attrs: { visible: g.drawerVisible, "current-trace-id": g.currentTraceId, "trace-info": g.traceInfo, "trace-status-list": g.traceStatusList, "trace-span-type-list": g.traceSpanTypeList, spans: g.spans, "filtered-spans": g.filteredSpans, "selected-span-id": g.selectedSpanId, "selected-span": g.selectedSpan, loading: g.drawerLoading, "span-has-next-page": g.spanHasNextPage, "span-load-more-loading": g.spanLoadMoreLoading, "span-page-size": g.spanPageSize, "span-has-events": g.spanHasEvents, "span-type-filter": g.selectedSpanTypeFilter }, on: { "update:visible": [function(C) {
|
|
32721
32724
|
g.drawerVisible = C;
|
|
@@ -32740,7 +32743,7 @@ var PS = function() {
|
|
|
32740
32743
|
_S,
|
|
32741
32744
|
!1,
|
|
32742
32745
|
null,
|
|
32743
|
-
"
|
|
32746
|
+
"63c9cc19"
|
|
32744
32747
|
);
|
|
32745
32748
|
const kR = qS.exports, $S = {
|
|
32746
32749
|
routes: [
|
|
@@ -32779,6 +32782,7 @@ const kR = qS.exports, $S = {
|
|
|
32779
32782
|
searchPlaceholder: "追踪ID/追踪名称",
|
|
32780
32783
|
requestId: "追踪ID",
|
|
32781
32784
|
timeCreated: "创建时间",
|
|
32785
|
+
timeEnded: "结束时间",
|
|
32782
32786
|
status: "状态",
|
|
32783
32787
|
executionTime: "执行时长",
|
|
32784
32788
|
traceType: "追踪类型",
|
|
@@ -32914,6 +32918,7 @@ const kR = qS.exports, $S = {
|
|
|
32914
32918
|
searchPlaceholder: "Trace ID/Trace Name",
|
|
32915
32919
|
requestId: "Trace ID",
|
|
32916
32920
|
timeCreated: "Time created",
|
|
32921
|
+
timeEnded: "Time ended",
|
|
32917
32922
|
status: "Status",
|
|
32918
32923
|
executionTime: "Execution time",
|
|
32919
32924
|
traceType: "Trace Type",
|
package/dist/trace.umd.js
CHANGED
|
@@ -88,17 +88,17 @@ Please report this to https://github.com/markedjs/marked.`,g){const i="<p>An err
|
|
|
88
88
|
*/function ip(e,g){if(!(e instanceof g))throw new TypeError("Cannot call a class as a function")}function Ou(e,g){for(var I=0;I<g.length;I++){var C=g[I];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(e,fu(C.key),C)}}function lp(e,g,I){return g&&Ou(e.prototype,g),I&&Ou(e,I),Object.defineProperty(e,"prototype",{writable:!1}),e}function sp(e,g,I){return(g=fu(g))in e?Object.defineProperty(e,g,{value:I,enumerable:!0,configurable:!0,writable:!0}):e[g]=I,e}function Uu(e,g){var I=Object.keys(e);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(e);g&&(C=C.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),I.push.apply(I,C)}return I}function jh(e){for(var g=1;g<arguments.length;g++){var I=arguments[g]!=null?arguments[g]:{};g%2?Uu(Object(I),!0).forEach(function(C){sp(e,C,I[C])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(I)):Uu(Object(I)).forEach(function(C){Object.defineProperty(e,C,Object.getOwnPropertyDescriptor(I,C))})}return e}function dp(e,g){if(typeof e!="object"||!e)return e;var I=e[Symbol.toPrimitive];if(I!==void 0){var C=I.call(e,g);if(typeof C!="object")return C;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function fu(e){var g=dp(e,"string");return typeof g=="symbol"?g:g+""}function Qh(e){"@babel/helpers - typeof";return Qh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},Qh(e)}var Eu={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},cp='<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>',E0=typeof window<"u"&&typeof window.document<"u",cs=E0?window:{},hZ=E0&&cs.document.documentElement?"ontouchstart"in cs.document.documentElement:!1,vh=E0?"PointerEvent"in cs:!1,gI="viewer",P0="move",Pu="switch",eb="zoom",_0="".concat(gI,"-active"),ep="".concat(gI,"-close"),q0="".concat(gI,"-fade"),xh="".concat(gI,"-fixed"),Zp="".concat(gI,"-fullscreen"),_u="".concat(gI,"-fullscreen-exit"),Mc="".concat(gI,"-hide"),tp="".concat(gI,"-hide-md-down"),op="".concat(gI,"-hide-sm-down"),bp="".concat(gI,"-hide-xs-down"),Xi="".concat(gI,"-in"),Zb="".concat(gI,"-invisible"),BZ="".concat(gI,"-loading"),Gp="".concat(gI,"-move"),qu="".concat(gI,"-open"),WZ="".concat(gI,"-show"),CC="".concat(gI,"-transition"),wZ="click",Oh="dblclick",$u="dragstart",gY="focusin",IY="keydown",Hi="load",rc="error",ap=hZ?"touchend touchcancel":"mouseup",np=hZ?"touchmove":"mousemove",mp=hZ?"touchstart":"mousedown",CY=vh?"pointerdown":mp,AY=vh?"pointermove":np,iY=vh?"pointerup pointercancel":ap,lY="resize",_i="transitionend",sY="wheel",dY="ready",cY="show",eY="shown",ZY="hide",tY="hidden",oY="view",tb="viewed",bY="move",GY="moved",aY="rotate",nY="rotated",mY="scale",hY="scaled",BY="zoom",WY="zoomed",wY="play",uY="stop",$0="".concat(gI,"Action"),Uh=/\s\s*/,gn=["zoom-in","zoom-out","one-to-one","reset","prev","play","next","rotate-left","rotate-right","flip-horizontal","flip-vertical"];function ob(e){return typeof e=="string"}var hp=Number.isNaN||cs.isNaN;function fI(e){return typeof e=="number"&&!hp(e)}function uZ(e){return typeof e>"u"}function YZ(e){return Qh(e)==="object"&&e!==null}var Bp=Object.prototype.hasOwnProperty;function VZ(e){if(!YZ(e))return!1;try{var g=e.constructor,I=g.prototype;return g&&I&&Bp.call(I,"isPrototypeOf")}catch{return!1}}function pI(e){return typeof e=="function"}function KI(e,g){if(e&&pI(g))if(Array.isArray(e)||fI(e.length)){var I=e.length,C;for(C=0;C<I&&g.call(e,e[C],C,e)!==!1;C+=1);}else YZ(e)&&Object.keys(e).forEach(function(i){g.call(e,e[i],i,e)});return e}var _A=Object.assign||function(g){for(var I=arguments.length,C=new Array(I>1?I-1:0),i=1;i<I;i++)C[i-1]=arguments[i];return YZ(g)&&C.length>0&&C.forEach(function(l){YZ(l)&&Object.keys(l).forEach(function(c){g[c]=l[c]})}),g},Wp=/^(?:width|height|left|top|marginLeft|marginTop)$/;function qi(e,g){var I=e.style;KI(g,function(C,i){Wp.test(i)&&fI(C)&&(C+="px"),I[i]=C})}function wp(e){return ob(e)?e.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">"):e}function NZ(e,g){return!e||!g?!1:e.classList?e.classList.contains(g):e.className.indexOf(g)>-1}function jg(e,g){if(!(!e||!g)){if(fI(e.length)){KI(e,function(C){jg(C,g)});return}if(e.classList){e.classList.add(g);return}var I=e.className.trim();I?I.indexOf(g)<0&&(e.className="".concat(I," ").concat(g)):e.className=g}}function GI(e,g){if(!(!e||!g)){if(fI(e.length)){KI(e,function(I){GI(I,g)});return}if(e.classList){e.classList.remove(g);return}e.className.indexOf(g)>=0&&(e.className=e.className.replace(g,""))}}function bb(e,g,I){if(g){if(fI(e.length)){KI(e,function(C){bb(C,g,I)});return}I?jg(e,g):GI(e,g)}}var up=/([a-z\d])([A-Z])/g;function fh(e){return e.replace(up,"$1-$2").toLowerCase()}function yZ(e,g){return YZ(e[g])?e[g]:e.dataset?e.dataset[g]:e.getAttribute("data-".concat(fh(g)))}function Eh(e,g,I){YZ(I)?e[g]=I:e.dataset?e.dataset[g]=I:e.setAttribute("data-".concat(fh(g)),I)}var YY=function(){var e=!1;if(E0){var g=!1,I=function(){},C=Object.defineProperty({},"once",{get:function(){return e=!0,g},set:function(l){g=l}});cs.addEventListener("test",I,C),cs.removeEventListener("test",I,C)}return e}();function MI(e,g,I){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=I;g.trim().split(Uh).forEach(function(l){if(!YY){var c=e.listeners;c&&c[l]&&c[l][I]&&(i=c[l][I],delete c[l][I],Object.keys(c[l]).length===0&&delete c[l],Object.keys(c).length===0&&delete e.listeners)}e.removeEventListener(l,i,C)})}function xg(e,g,I){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=I;g.trim().split(Uh).forEach(function(l){if(C.once&&!YY){var c=e.listeners,Z=c===void 0?{}:c;i=function(){delete Z[l][I],e.removeEventListener(l,i,C);for(var a=arguments.length,n=new Array(a),h=0;h<a;h++)n[h]=arguments[h];I.apply(e,n)},Z[l]||(Z[l]={}),Z[l][I]&&e.removeEventListener(l,Z[l][I],C),Z[l][I]=i,e.listeners=Z}e.addEventListener(l,i,C)})}function ZC(e,g,I,C){var i;return pI(Event)&&pI(CustomEvent)?i=new CustomEvent(g,jh({bubbles:!0,cancelable:!0,detail:I},C)):(i=document.createEvent("CustomEvent"),i.initCustomEvent(g,!0,!0,I)),e.dispatchEvent(i)}function Yp(e){var g=e.getBoundingClientRect();return{left:g.left+(window.pageXOffset-document.documentElement.clientLeft),top:g.top+(window.pageYOffset-document.documentElement.clientTop)}}function In(e){var g=e.rotate,I=e.scaleX,C=e.scaleY,i=e.translateX,l=e.translateY,c=[];fI(i)&&i!==0&&c.push("translateX(".concat(i,"px)")),fI(l)&&l!==0&&c.push("translateY(".concat(l,"px)")),fI(g)&&g!==0&&c.push("rotate(".concat(g,"deg)")),fI(I)&&I!==1&&c.push("scaleX(".concat(I,")")),fI(C)&&C!==1&&c.push("scaleY(".concat(C,")"));var Z=c.length?c.join(" "):"none";return{WebkitTransform:Z,msTransform:Z,transform:Z}}function Vp(e){return ob(e)?decodeURIComponent(e.replace(/^.*\//,"").replace(/[?&#].*$/,"")):""}var Ph=cs.navigator&&/Version\/\d+(\.\d+)+?\s+Safari/i.test(cs.navigator.userAgent);function VY(e,g,I){var C=document.createElement("img");if(e.naturalWidth&&!Ph)return I(e.naturalWidth,e.naturalHeight),C;var i=document.body||document.documentElement;return C.onload=function(){I(C.width,C.height),Ph||i.removeChild(C)},KI(g.inheritedAttributes,function(l){var c=e.getAttribute(l);c!==null&&C.setAttribute(l,c)}),C.src=e.src,Ph||(C.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;",i.appendChild(C)),C}function Cn(e){switch(e){case 2:return bp;case 3:return op;case 4:return tp;default:return""}}function Np(e){var g=jh({},e),I=[];return KI(e,function(C,i){delete g[i],KI(g,function(l){var c=Math.abs(C.startX-l.startX),Z=Math.abs(C.startY-l.startY),b=Math.abs(C.endX-l.endX),a=Math.abs(C.endY-l.endY),n=Math.sqrt(c*c+Z*Z),h=Math.sqrt(b*b+a*a),B=(h-n)/n;I.push(B)})}),I.sort(function(C,i){return Math.abs(C)<Math.abs(i)}),I[0]}function An(e,g){var I=e.pageX,C=e.pageY,i={endX:I,endY:C};return g?i:jh({timeStamp:Date.now(),startX:I,startY:C},i)}function yp(e){var g=0,I=0,C=0;return KI(e,function(i){var l=i.startX,c=i.startY;g+=l,I+=c,C+=1}),g/=C,I/=C,{pageX:g,pageY:I}}var Rp={render:function(){this.initContainer(),this.initViewer(),this.initList(),this.renderViewer()},initBody:function(){var g=this.element.ownerDocument,I=g.body||g.documentElement;this.body=I,this.scrollbarWidth=window.innerWidth-g.documentElement.clientWidth,this.initialBodyPaddingRight=I.style.paddingRight,this.initialBodyComputedPaddingRight=window.getComputedStyle(I).paddingRight},initContainer:function(){this.containerData={width:window.innerWidth,height:window.innerHeight}},initViewer:function(){var g=this.options,I=this.parent,C;g.inline&&(C={width:Math.max(I.offsetWidth,g.minWidth),height:Math.max(I.offsetHeight,g.minHeight)},this.parentData=C),(this.fulled||!C)&&(C=this.containerData),this.viewerData=_A({},C)},renderViewer:function(){this.options.inline&&!this.fulled&&qi(this.viewer,this.viewerData)},initList:function(){var g=this,I=this.element,C=this.options,i=this.list,l=[];i.innerHTML="",KI(this.images,function(c,Z){var b=c.src,a=c.alt||Vp(b),n=g.getImageURL(c);if(b||n){var h=document.createElement("li"),B=document.createElement("img");KI(C.inheritedAttributes,function(u){var X=c.getAttribute(u);X!==null&&B.setAttribute(u,X)}),C.navbar&&(B.src=b||n),B.alt=a,B.setAttribute("data-original-url",n||b),h.setAttribute("data-index",Z),h.setAttribute("data-viewer-action","view"),h.setAttribute("role","button"),C.keyboard&&h.setAttribute("tabindex",0),h.appendChild(B),i.appendChild(h),l.push(h)}}),this.items=l,KI(l,function(c){var Z=c.firstElementChild,b,a;Eh(Z,"filled",!0),C.loading&&jg(c,BZ),xg(Z,Hi,b=function(h){MI(Z,rc,a),C.loading&&GI(c,BZ),g.loadImage(h)},{once:!0}),xg(Z,rc,a=function(){MI(Z,Hi,b),C.loading&&GI(c,BZ)},{once:!0})}),C.transition&&xg(I,tb,function(){jg(i,CC)},{once:!0})},renderList:function(){var g=this.index,I=this.items[g];if(I){var C=I.nextElementSibling,i=parseInt(window.getComputedStyle(C||I).marginLeft,10),l=I.offsetWidth,c=l+i;qi(this.list,_A({width:c*this.length-i},In({translateX:(this.viewerData.width-l)/2-c*g})))}},resetList:function(){var g=this.list;g.innerHTML="",GI(g,CC),qi(g,In({translateX:0}))},initImage:function(g){var I=this,C=this.options,i=this.image,l=this.viewerData,c=this.footer.offsetHeight,Z=l.width,b=Math.max(l.height-c,c),a=this.imageData||{},n;this.imageInitializing={abort:function(){n.onload=null}},n=VY(i,C,function(h,B){var u=h/B,X=Math.max(0,Math.min(1,C.initialCoverage)),V=Z,H=b;I.imageInitializing=!1,b*u>Z?H=Z/u:V=b*u,X=fI(X)?X:.9,V=Math.min(V*X,h),H=Math.min(H*X,B);var N=(Z-V)/2,r=(b-H)/2,S={left:N,top:r,x:N,y:r,width:V,height:H,oldRatio:1,ratio:V/h,aspectRatio:u,naturalWidth:h,naturalHeight:B},J=_A({},S);C.rotatable&&(S.rotate=a.rotate||0,J.rotate=0),C.scalable&&(S.scaleX=a.scaleX||1,S.scaleY=a.scaleY||1,J.scaleX=1,J.scaleY=1),I.imageData=S,I.initialImageData=J,g&&g()})},renderImage:function(g){var I=this,C=this.image,i=this.imageData;if(qi(C,_A({width:i.width,height:i.height,marginLeft:i.x,marginTop:i.y},In(i))),g)if((this.viewing||this.moving||this.rotating||this.scaling||this.zooming)&&this.options.transition&&NZ(C,CC)){var l=function(){I.imageRendering=!1,g()};this.imageRendering={abort:function(){MI(C,_i,l)}},xg(C,_i,l,{once:!0})}else g()},resetImage:function(){var g=this.image;g&&(this.viewing&&this.viewing.abort(),g.parentNode.removeChild(g),this.image=null,this.title.innerHTML="")}},Xp={bind:function(){var g=this.options,I=this.viewer,C=this.canvas,i=this.element.ownerDocument;xg(I,wZ,this.onClick=this.click.bind(this)),xg(I,$u,this.onDragStart=this.dragstart.bind(this)),xg(C,CY,this.onPointerDown=this.pointerdown.bind(this)),xg(i,AY,this.onPointerMove=this.pointermove.bind(this)),xg(i,iY,this.onPointerUp=this.pointerup.bind(this)),xg(i,IY,this.onKeyDown=this.keydown.bind(this)),xg(window,lY,this.onResize=this.resize.bind(this)),g.zoomable&&g.zoomOnWheel&&xg(I,sY,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),g.toggleOnDblclick&&xg(C,Oh,this.onDblclick=this.dblclick.bind(this))},unbind:function(){var g=this.options,I=this.viewer,C=this.canvas,i=this.element.ownerDocument;MI(I,wZ,this.onClick),MI(I,$u,this.onDragStart),MI(C,CY,this.onPointerDown),MI(i,AY,this.onPointerMove),MI(i,iY,this.onPointerUp),MI(i,IY,this.onKeyDown),MI(window,lY,this.onResize),g.zoomable&&g.zoomOnWheel&&MI(I,sY,this.onWheel,{passive:!1,capture:!0}),g.toggleOnDblclick&&MI(C,Oh,this.onDblclick)}},Hp={click:function(g){var I=this.options,C=this.imageData,i=g.target,l=yZ(i,$0);switch(!l&&i.localName==="img"&&i.parentElement.localName==="li"&&(i=i.parentElement,l=yZ(i,$0)),hZ&&g.isTrusted&&i===this.canvas&&clearTimeout(this.clickCanvasTimeout),l){case"mix":this.played?this.stop():I.inline?this.fulled?this.exit():this.full():this.hide();break;case"hide":this.pointerMoved||this.hide();break;case"view":this.view(yZ(i,"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(I.loop);break;case"play":this.play(I.fullscreen);break;case"next":this.next(I.loop);break;case"rotate-left":this.rotate(-90);break;case"rotate-right":this.rotate(90);break;case"flip-horizontal":this.scaleX(-C.scaleX||-1);break;case"flip-vertical":this.scaleY(-C.scaleY||-1);break;default:this.played&&this.stop()}},dblclick:function(g){g.preventDefault(),this.viewed&&g.target===this.image&&(hZ&&g.isTrusted&&clearTimeout(this.doubleClickImageTimeout),this.toggle(g.isTrusted?g:g.detail&&g.detail.originalEvent))},load:function(){var g=this;this.timeout&&(clearTimeout(this.timeout),this.timeout=!1);var I=this.element,C=this.options,i=this.image,l=this.index,c=this.viewerData;GI(i,Zb),C.loading&&GI(this.canvas,BZ),i.style.cssText="height:0;"+"margin-left:".concat(c.width/2,"px;")+"margin-top:".concat(c.height/2,"px;")+"max-width:none!important;position:relative;width:0;",this.initImage(function(){bb(i,Gp,C.movable),bb(i,CC,C.transition),g.renderImage(function(){g.viewed=!0,g.viewing=!1,pI(C.viewed)&&xg(I,tb,C.viewed,{once:!0}),ZC(I,tb,{originalImage:g.images[l],index:l,image:i},{cancelable:!1})})})},loadImage:function(g){var I=g.target,C=I.parentNode,i=C.offsetWidth||30,l=C.offsetHeight||50,c=!!yZ(I,"filled");VY(I,this.options,function(Z,b){var a=Z/b,n=i,h=l;l*a>i?c?n=l*a:h=i/a:c?h=i/a:n=l*a,qi(I,_A({width:n,height:h},In({translateX:(i-n)/2,translateY:(l-h)/2})))})},keydown:function(g){var I=this.options;if(I.keyboard){var C=g.keyCode||g.which||g.charCode;switch(C){case 13:this.viewer.contains(g.target)&&this.click(g);break}if(this.fulled)switch(C){case 27:this.played?this.stop():I.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(I.loop);break;case 38:g.preventDefault(),this.zoom(I.zoomRatio,!0);break;case 39:this.played&&this.playing?this.playing.next():this.next(I.loop);break;case 40:g.preventDefault(),this.zoom(-I.zoomRatio,!0);break;case 48:case 49:g.ctrlKey&&(g.preventDefault(),this.toggle());break}}},dragstart:function(g){g.target.localName==="img"&&g.preventDefault()},pointerdown:function(g){var I=this.options,C=this.pointers,i=g.buttons,l=g.button;if(this.pointerMoved=!1,!(!this.viewed||this.showing||this.viewing||this.hiding||(g.type==="mousedown"||g.type==="pointerdown"&&g.pointerType==="mouse")&&(fI(i)&&i!==1||fI(l)&&l!==0||g.ctrlKey))){g.preventDefault(),g.changedTouches?KI(g.changedTouches,function(Z){C[Z.identifier]=An(Z)}):C[g.pointerId||0]=An(g);var c=I.movable?P0:!1;I.zoomOnTouch&&I.zoomable&&Object.keys(C).length>1?c=eb:I.slideOnTouch&&(g.pointerType==="touch"||g.type==="touchstart")&&this.isSwitchable()&&(c=Pu),I.transition&&(c===P0||c===eb)&&GI(this.image,CC),this.action=c}},pointermove:function(g){var I=this.pointers,C=this.action;!this.viewed||!C||(g.preventDefault(),g.changedTouches?KI(g.changedTouches,function(i){_A(I[i.identifier]||{},An(i,!0))}):_A(I[g.pointerId||0]||{},An(g,!0)),this.change(g))},pointerup:function(g){var I=this,C=this.options,i=this.action,l=this.pointers,c;g.changedTouches?KI(g.changedTouches,function(Z){c=l[Z.identifier],delete l[Z.identifier]}):(c=l[g.pointerId||0],delete l[g.pointerId||0]),i&&(g.preventDefault(),C.transition&&(i===P0||i===eb)&&jg(this.image,CC),this.action=!1,hZ&&i!==eb&&c&&Date.now()-c.timeStamp<500&&(clearTimeout(this.clickCanvasTimeout),clearTimeout(this.doubleClickImageTimeout),C.toggleOnDblclick&&this.viewed&&g.target===this.image?this.imageClicked?(this.imageClicked=!1,this.doubleClickImageTimeout=setTimeout(function(){ZC(I.image,Oh,{originalEvent:g})},50)):(this.imageClicked=!0,this.doubleClickImageTimeout=setTimeout(function(){I.imageClicked=!1},500)):(this.imageClicked=!1,C.backdrop&&C.backdrop!=="static"&&g.target===this.canvas&&(this.clickCanvasTimeout=setTimeout(function(){ZC(I.canvas,wZ,{originalEvent:g})},50)))))},resize:function(){var g=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(){g.renderImage()}),this.played)){if(this.options.fullscreen&&this.fulled&&!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)){this.stop();return}KI(this.player.getElementsByTagName("img"),function(I){xg(I,Hi,g.loadImage.bind(g),{once:!0}),ZC(I,Hi)})}},wheel:function(g){var I=this;if(this.viewed&&(g.preventDefault(),!this.wheeling)){this.wheeling=!0,setTimeout(function(){I.wheeling=!1},50);var C=Number(this.options.zoomRatio)||.1,i=1;g.deltaY?i=g.deltaY>0?1:-1:g.wheelDelta?i=-g.wheelDelta/120:g.detail&&(i=g.detail>0?1:-1),this.zoom(-i*C,!0,null,g)}}},pp={show:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,I=this.element,C=this.options;if(C.inline||this.showing||this.isShown||this.showing)return this;if(!this.ready)return this.build(),this.ready&&this.show(g),this;if(pI(C.show)&&xg(I,cY,C.show,{once:!0}),ZC(I,cY)===!1||!this.ready)return this;this.hiding&&this.transitioning.abort(),this.showing=!0,this.open();var i=this.viewer;if(GI(i,Mc),i.setAttribute("role","dialog"),i.setAttribute("aria-labelledby",this.title.id),i.setAttribute("aria-modal",!0),i.removeAttribute("aria-hidden"),C.transition&&!g){var l=this.shown.bind(this);this.transitioning={abort:function(){MI(i,_i,l),GI(i,Xi)}},jg(i,CC),i.initialOffsetWidth=i.offsetWidth,xg(i,_i,l,{once:!0}),jg(i,Xi)}else jg(i,Xi),this.shown();return this},hide:function(){var g=this,I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,C=this.element,i=this.options;if(i.inline||this.hiding||!(this.isShown||this.showing))return this;if(pI(i.hide)&&xg(C,ZY,i.hide,{once:!0}),ZC(C,ZY)===!1)return this;this.showing&&this.transitioning.abort(),this.hiding=!0,this.played?this.stop():this.viewing&&this.viewing.abort();var l=this.viewer,c=this.image,Z=function(){GI(l,Xi),g.hidden()};if(i.transition&&!I){var b=function(h){h&&h.target===l&&(MI(l,_i,b),g.hidden())},a=function(){NZ(l,CC)?(xg(l,_i,b),GI(l,Xi)):Z()};this.transitioning={abort:function(){g.viewed&&NZ(c,CC)?MI(c,_i,a):NZ(l,CC)&&MI(l,_i,b)}},this.viewed&&NZ(c,CC)?(xg(c,_i,a,{once:!0}),this.zoomTo(0,!1,null,null,!0)):a()}else Z();return this},view:function(){var g=this,I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.initialViewIndex;if(I=Number(I)||0,this.hiding||this.played||I<0||I>=this.length||this.viewed&&I===this.index)return this;if(!this.isShown)return this.index=I,this.show();this.viewing&&this.viewing.abort();var C=this.element,i=this.options,l=this.title,c=this.canvas,Z=this.items[I],b=Z.querySelector("img"),a=yZ(b,"originalUrl"),n=b.getAttribute("alt"),h=document.createElement("img");if(KI(i.inheritedAttributes,function(H){var N=b.getAttribute(H);N!==null&&h.setAttribute(H,N)}),h.src=a,h.alt=n,pI(i.view)&&xg(C,oY,i.view,{once:!0}),ZC(C,oY,{originalImage:this.images[I],index:I,image:h})===!1||!this.isShown||this.hiding||this.played)return this;var B=this.items[this.index];B&&(GI(B,_0),B.removeAttribute("aria-selected")),jg(Z,_0),Z.setAttribute("aria-selected",!0),i.focus&&Z.focus(),this.image=h,this.viewed=!1,this.index=I,this.imageData={},jg(h,Zb),i.loading&&jg(c,BZ),c.innerHTML="",c.appendChild(h),this.renderList(),l.innerHTML="";var u=function(){var N=g.imageData,r=Array.isArray(i.title)?i.title[1]:i.title;l.innerHTML=wp(pI(r)?r.call(g,h,N):"".concat(n," (").concat(N.naturalWidth," × ").concat(N.naturalHeight,")"))},X,V;return xg(C,tb,u,{once:!0}),this.viewing={abort:function(){MI(C,tb,u),h.complete?g.imageRendering?g.imageRendering.abort():g.imageInitializing&&g.imageInitializing.abort():(h.src="",MI(h,Hi,X),g.timeout&&clearTimeout(g.timeout))}},h.complete?this.load():(xg(h,Hi,X=function(){MI(h,rc,V),g.load()},{once:!0}),xg(h,rc,V=function(){MI(h,Hi,X),g.timeout&&(clearTimeout(g.timeout),g.timeout=!1),GI(h,Zb),i.loading&&GI(g.canvas,BZ)},{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){GI(h,Zb),g.timeout=!1},1e3)),this},prev:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,I=this.index-1;return I<0&&(I=g?this.length-1:0),this.view(I),this},next:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,I=this.length-1,C=this.index+1;return C>I&&(C=g?0:I),this.view(C),this},move:function(g){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g,C=this.imageData;return this.moveTo(uZ(g)?g:C.x+Number(g),uZ(I)?I:C.y+Number(I)),this},moveTo:function(g){var I=this,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,l=this.element,c=this.options,Z=this.imageData;if(g=Number(g),C=Number(C),this.viewed&&!this.played&&c.movable){var b=Z.x,a=Z.y,n=!1;if(fI(g)?n=!0:g=b,fI(C)?n=!0:C=a,n){if(pI(c.move)&&xg(l,bY,c.move,{once:!0}),ZC(l,bY,{x:g,y:C,oldX:b,oldY:a,originalEvent:i})===!1)return this;Z.x=g,Z.y=C,Z.left=g,Z.top=C,this.moving=!0,this.renderImage(function(){I.moving=!1,pI(c.moved)&&xg(l,GY,c.moved,{once:!0}),ZC(l,GY,{x:g,y:C,oldX:b,oldY:a,originalEvent:i},{cancelable:!1})})}}return this},rotate:function(g){return this.rotateTo((this.imageData.rotate||0)+Number(g)),this},rotateTo:function(g){var I=this,C=this.element,i=this.options,l=this.imageData;if(g=Number(g),fI(g)&&this.viewed&&!this.played&&i.rotatable){var c=l.rotate;if(pI(i.rotate)&&xg(C,aY,i.rotate,{once:!0}),ZC(C,aY,{degree:g,oldDegree:c})===!1)return this;l.rotate=g,this.rotating=!0,this.renderImage(function(){I.rotating=!1,pI(i.rotated)&&xg(C,nY,i.rotated,{once:!0}),ZC(C,nY,{degree:g,oldDegree:c},{cancelable:!1})})}return this},scaleX:function(g){return this.scale(g,this.imageData.scaleY),this},scaleY:function(g){return this.scale(this.imageData.scaleX,g),this},scale:function(g){var I=this,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g,i=this.element,l=this.options,c=this.imageData;if(g=Number(g),C=Number(C),this.viewed&&!this.played&&l.scalable){var Z=c.scaleX,b=c.scaleY,a=!1;if(fI(g)?a=!0:g=Z,fI(C)?a=!0:C=b,a){if(pI(l.scale)&&xg(i,mY,l.scale,{once:!0}),ZC(i,mY,{scaleX:g,scaleY:C,oldScaleX:Z,oldScaleY:b})===!1)return this;c.scaleX=g,c.scaleY=C,this.scaling=!0,this.renderImage(function(){I.scaling=!1,pI(l.scaled)&&xg(i,hY,l.scaled,{once:!0}),ZC(i,hY,{scaleX:g,scaleY:C,oldScaleX:Z,oldScaleY:b},{cancelable:!1})})}}return this},zoom:function(g){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,l=this.imageData;return g=Number(g),g<0?g=1/(1-g):g=1+g,this.zoomTo(l.width*g/l.naturalWidth,I,C,i),this},zoomTo:function(g){var I=this,C=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,Z=this.element,b=this.options,a=this.pointers,n=this.imageData,h=n.x,B=n.y,u=n.width,X=n.height,V=n.naturalWidth,H=n.naturalHeight;if(g=Math.max(0,g),fI(g)&&this.viewed&&!this.played&&(c||b.zoomable)){if(!c){var N=Math.max(.01,b.minZoomRatio),r=Math.min(100,b.maxZoomRatio);g=Math.min(Math.max(g,N),r)}if(l)switch(l.type){case"wheel":b.zoomRatio>=.055&&g>.95&&g<1.05&&(g=1);break;case"pointermove":case"touchmove":case"mousemove":g>.99&&g<1.01&&(g=1);break}var S=V*g,J=H*g,k=S-u,Q=J-X,x=n.ratio;if(pI(b.zoom)&&xg(Z,BY,b.zoom,{once:!0}),ZC(Z,BY,{ratio:g,oldRatio:x,originalEvent:l})===!1)return this;if(this.zooming=!0,l){var $=Yp(this.viewer),lg=a&&Object.keys(a).length>0?yp(a):{pageX:l.pageX,pageY:l.pageY};n.x-=k*((lg.pageX-$.left-h)/u),n.y-=Q*((lg.pageY-$.top-B)/X)}else VZ(i)&&fI(i.x)&&fI(i.y)?(n.x-=k*((i.x-h)/u),n.y-=Q*((i.y-B)/X)):(n.x-=k/2,n.y-=Q/2);n.left=n.x,n.top=n.y,n.width=S,n.height=J,n.oldRatio=x,n.ratio=g,this.renderImage(function(){I.zooming=!1,pI(b.zoomed)&&xg(Z,WY,b.zoomed,{once:!0}),ZC(Z,WY,{ratio:g,oldRatio:x,originalEvent:l},{cancelable:!1})}),C&&this.tooltip()}return this},play:function(){var g=this,I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!this.isShown||this.played)return this;var C=this.element,i=this.options;if(pI(i.play)&&xg(C,wY,i.play,{once:!0}),ZC(C,wY)===!1)return this;var l=this.player,c=this.loadImage.bind(this),Z=[],b=0,a=0;if(this.played=!0,this.onLoadWhenPlay=c,I&&this.requestFullscreen(I),jg(l,WZ),KI(this.items,function(B,u){var X=B.querySelector("img"),V=document.createElement("img");V.src=yZ(X,"originalUrl"),V.alt=X.getAttribute("alt"),V.referrerPolicy=X.referrerPolicy,b+=1,jg(V,q0),bb(V,CC,i.transition),NZ(B,_0)&&(jg(V,Xi),a=u),Z.push(V),xg(V,Hi,c,{once:!0}),l.appendChild(V)}),fI(i.interval)&&i.interval>0){var n=function(){clearTimeout(g.playing.timeout),GI(Z[a],Xi),a-=1,a=a>=0?a:b-1,jg(Z[a],Xi),g.playing.timeout=setTimeout(n,i.interval)},h=function(){clearTimeout(g.playing.timeout),GI(Z[a],Xi),a+=1,a=a<b?a:0,jg(Z[a],Xi),g.playing.timeout=setTimeout(h,i.interval)};b>1&&(this.playing={prev:n,next:h,timeout:setTimeout(h,i.interval)})}return this},stop:function(){var g=this;if(!this.played)return this;var I=this.element,C=this.options;if(pI(C.stop)&&xg(I,uY,C.stop,{once:!0}),ZC(I,uY)===!1)return this;var i=this.player;return clearTimeout(this.playing.timeout),this.playing=!1,this.played=!1,KI(i.getElementsByTagName("img"),function(l){MI(l,Hi,g.onLoadWhenPlay)}),GI(i,WZ),i.innerHTML="",this.exitFullscreen(),this},full:function(){var g=this,I=this.options,C=this.viewer,i=this.image,l=this.list;return!this.isShown||this.played||this.fulled||!I.inline?this:(this.fulled=!0,this.open(),jg(this.button,_u),I.transition&&(GI(l,CC),this.viewed&&GI(i,CC)),jg(C,xh),C.setAttribute("role","dialog"),C.setAttribute("aria-labelledby",this.title.id),C.setAttribute("aria-modal",!0),C.removeAttribute("style"),qi(C,{zIndex:I.zIndex}),I.focus&&this.enforceFocus(),this.initContainer(),this.viewerData=_A({},this.containerData),this.renderList(),this.viewed&&this.initImage(function(){g.renderImage(function(){I.transition&&setTimeout(function(){jg(i,CC),jg(l,CC)},0)})}),this)},exit:function(){var g=this,I=this.options,C=this.viewer,i=this.image,l=this.list;return!this.isShown||this.played||!this.fulled||!I.inline?this:(this.fulled=!1,this.close(),GI(this.button,_u),I.transition&&(GI(l,CC),this.viewed&&GI(i,CC)),I.focus&&this.clearEnforceFocus(),C.removeAttribute("role"),C.removeAttribute("aria-labelledby"),C.removeAttribute("aria-modal"),GI(C,xh),qi(C,{zIndex:I.zIndexInline}),this.viewerData=_A({},this.parentData),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){g.renderImage(function(){I.transition&&setTimeout(function(){jg(i,CC),jg(l,CC)},0)})}),this)},tooltip:function(){var g=this,I=this.options,C=this.tooltipBox,i=this.imageData;return!this.viewed||this.played||!I.tooltip?this:(C.textContent="".concat(Math.round(i.ratio*100),"%"),this.tooltipping?clearTimeout(this.tooltipping):I.transition?(this.fading&&ZC(C,_i),jg(C,WZ),jg(C,q0),jg(C,CC),C.removeAttribute("aria-hidden"),C.initialOffsetWidth=C.offsetWidth,jg(C,Xi)):(jg(C,WZ),C.removeAttribute("aria-hidden")),this.tooltipping=setTimeout(function(){I.transition?(xg(C,_i,function(){GI(C,WZ),GI(C,q0),GI(C,CC),C.setAttribute("aria-hidden",!0),g.fading=!1},{once:!0}),GI(C,Xi),g.fading=!0):(GI(C,WZ),C.setAttribute("aria-hidden",!0)),g.tooltipping=!1},1e3),this)},toggle:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.imageData.ratio===1?this.zoomTo(this.imageData.oldRatio,!0,null,g):this.zoomTo(1,!0,null,g),this},reset:function(){return this.viewed&&!this.played&&(this.imageData=_A({},this.initialImageData),this.renderImage()),this},update:function(){var g=this,I=this.element,C=this.options,i=this.isImg;if(i&&!I.parentNode)return this.destroy();var l=[];if(KI(i?[I]:I.querySelectorAll("img"),function(a){pI(C.filter)?C.filter.call(g,a)&&l.push(a):g.getImageURL(a)&&l.push(a)}),!l.length)return this;if(this.images=l,this.length=l.length,this.ready){var c=[];if(KI(this.items,function(a,n){var h=a.querySelector("img"),B=l[n];B&&h?(B.src!==h.src||B.alt!==h.alt)&&c.push(n):c.push(n)}),qi(this.list,{width:"auto"}),this.initList(),this.isShown)if(this.length){if(this.viewed){var Z=c.indexOf(this.index);if(Z>=0)this.viewed=!1,this.view(Math.max(Math.min(this.index-Z,this.length-1),0));else{var b=this.items[this.index];jg(b,_0),b.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 g=this.element,I=this.options;return g[gI]?(this.destroyed=!0,this.ready?(this.played&&this.stop(),I.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)):I.inline&&(this.delaying?this.delaying.abort():this.initializing&&this.initializing.abort()),I.inline||MI(g,wZ,this.onStart),g[gI]=void 0,this):this}},Mp={getImageURL:function(g){var I=this.options.url;return ob(I)?I=g.getAttribute(I):pI(I)?I=I.call(this,g):I="",I},enforceFocus:function(){var g=this;this.clearEnforceFocus(),xg(document,gY,this.onFocusin=function(I){var C=g.viewer,i=I.target;if(!(i===document||i===C||C.contains(i))){for(;i;){if(i.getAttribute("tabindex")!==null||i.getAttribute("aria-modal")==="true")return;i=i.parentElement}C.focus()}})},clearEnforceFocus:function(){this.onFocusin&&(MI(document,gY,this.onFocusin),this.onFocusin=null)},open:function(){var g=this.body;jg(g,qu),this.scrollbarWidth>0&&(g.style.paddingRight="".concat(this.scrollbarWidth+(parseFloat(this.initialBodyComputedPaddingRight)||0),"px"))},close:function(){var g=this.body;GI(g,qu),this.scrollbarWidth>0&&(g.style.paddingRight=this.initialBodyPaddingRight)},shown:function(){var g=this.element,I=this.options,C=this.viewer;this.fulled=!0,this.isShown=!0,this.render(),this.bind(),this.showing=!1,I.focus&&(C.focus(),this.enforceFocus()),pI(I.shown)&&xg(g,eY,I.shown,{once:!0}),ZC(g,eY)!==!1&&this.ready&&this.isShown&&!this.hiding&&this.view(this.index)},hidden:function(){var g=this.element,I=this.options,C=this.viewer;I.fucus&&this.clearEnforceFocus(),this.close(),this.unbind(),jg(C,Mc),C.removeAttribute("role"),C.removeAttribute("aria-labelledby"),C.removeAttribute("aria-modal"),C.setAttribute("aria-hidden",!0),this.resetList(),this.resetImage(),this.fulled=!1,this.viewed=!1,this.isShown=!1,this.hiding=!1,this.destroyed||(pI(I.hidden)&&xg(g,tY,I.hidden,{once:!0}),ZC(g,tY,null,{cancelable:!1}))},requestFullscreen:function(g){var I=this.element.ownerDocument;if(this.fulled&&!(I.fullscreenElement||I.webkitFullscreenElement||I.mozFullScreenElement||I.msFullscreenElement)){var C=I.documentElement;C.requestFullscreen?VZ(g)?C.requestFullscreen(g):C.requestFullscreen():C.webkitRequestFullscreen?C.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):C.mozRequestFullScreen?C.mozRequestFullScreen():C.msRequestFullscreen&&C.msRequestFullscreen()}},exitFullscreen:function(){var g=this.element.ownerDocument;this.fulled&&(g.fullscreenElement||g.webkitFullscreenElement||g.mozFullScreenElement||g.msFullscreenElement)&&(g.exitFullscreen?g.exitFullscreen():g.webkitExitFullscreen?g.webkitExitFullscreen():g.mozCancelFullScreen?g.mozCancelFullScreen():g.msExitFullscreen&&g.msExitFullscreen())},change:function(g){var I=this.options,C=this.pointers,i=C[Object.keys(C)[0]];if(i){var l=i.endX-i.startX,c=i.endY-i.startY;switch(this.action){case P0:(l!==0||c!==0)&&(this.pointerMoved=!0,this.move(l,c,g));break;case eb:this.zoom(Np(C),!1,null,g);break;case Pu:{this.action="switched";var Z=Math.abs(l);Z>1&&Z>Math.abs(c)&&(this.pointers={},l>1?this.prev(I.loop):l<-1&&this.next(I.loop));break}}KI(C,function(b){b.startX=b.endX,b.startY=b.endY})}},isSwitchable:function(){var g=this.imageData,I=this.viewerData;return this.length>1&&g.x>=0&&g.y>=0&&g.width<=I.width&&g.height<=I.height}},rp=cs.Viewer,Dp=function(e){return function(){return e+=1,e}}(-1),NY=function(){function e(g){var I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(ip(this,e),!g||g.nodeType!==1)throw new Error("The first argument is required and must be an element.");this.element=g,this.options=_A({},Eu,VZ(I)&&I),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=Dp(),this.init()}return lp(e,[{key:"init",value:function(){var I=this,C=this.element,i=this.options;if(!C[gI]){C[gI]=this,i.focus&&!i.keyboard&&(i.focus=!1);var l=C.localName==="img",c=[];if(KI(l?[C]:C.querySelectorAll("img"),function(a){pI(i.filter)?i.filter.call(I,a)&&c.push(a):I.getImageURL(a)&&c.push(a)}),this.isImg=l,this.length=c.length,this.images=c,this.initBody(),uZ(document.createElement(gI).style.transition)&&(i.transition=!1),i.inline){var Z=0,b=function(){if(Z+=1,Z===I.length){var n;I.initializing=!1,I.delaying={abort:function(){clearTimeout(n)}},n=setTimeout(function(){I.delaying=!1,I.build()},0)}};this.initializing={abort:function(){KI(c,function(n){n.complete||(MI(n,Hi,b),MI(n,rc,b))})}},KI(c,function(a){if(a.complete)b();else{var n,h;xg(a,Hi,n=function(){MI(a,rc,h),b()},{once:!0}),xg(a,rc,h=function(){MI(a,Hi,n),b()},{once:!0})}})}else xg(C,wZ,this.onStart=function(a){var n=a.target;n.localName==="img"&&(!pI(i.filter)||i.filter.call(I,n))&&I.view(I.images.indexOf(n))})}}},{key:"build",value:function(){if(!this.ready){var I=this.element,C=this.options,i=I.parentNode,l=document.createElement("div");l.innerHTML=cp;var c=l.querySelector(".".concat(gI,"-container")),Z=c.querySelector(".".concat(gI,"-title")),b=c.querySelector(".".concat(gI,"-toolbar")),a=c.querySelector(".".concat(gI,"-navbar")),n=c.querySelector(".".concat(gI,"-button")),h=c.querySelector(".".concat(gI,"-canvas"));if(this.parent=i,this.viewer=c,this.title=Z,this.toolbar=b,this.navbar=a,this.button=n,this.canvas=h,this.footer=c.querySelector(".".concat(gI,"-footer")),this.tooltipBox=c.querySelector(".".concat(gI,"-tooltip")),this.player=c.querySelector(".".concat(gI,"-player")),this.list=c.querySelector(".".concat(gI,"-list")),c.id="".concat(gI).concat(this.id),Z.id="".concat(gI,"Title").concat(this.id),jg(Z,C.title?Cn(Array.isArray(C.title)?C.title[0]:C.title):Mc),jg(a,C.navbar?Cn(C.navbar):Mc),bb(n,Mc,!C.button),C.keyboard&&n.setAttribute("tabindex",0),C.backdrop&&(jg(c,"".concat(gI,"-backdrop")),!C.inline&&C.backdrop!=="static"&&Eh(h,$0,"hide")),ob(C.className)&&C.className&&C.className.split(Uh).forEach(function(S){jg(c,S)}),C.toolbar){var B=document.createElement("ul"),u=VZ(C.toolbar),X=gn.slice(0,3),V=gn.slice(7,9),H=gn.slice(9);u||jg(b,Cn(C.toolbar)),KI(u?C.toolbar:gn,function(S,J){var k=u&&VZ(S),Q=u?fh(J):S,x=k&&!uZ(S.show)?S.show:S;if(!(!x||!C.zoomable&&X.indexOf(Q)!==-1||!C.rotatable&&V.indexOf(Q)!==-1||!C.scalable&&H.indexOf(Q)!==-1)){var $=k&&!uZ(S.size)?S.size:S,lg=k&&!uZ(S.click)?S.click:S,cg=document.createElement("li");C.keyboard&&cg.setAttribute("tabindex",0),cg.setAttribute("role","button"),jg(cg,"".concat(gI,"-").concat(Q)),pI(lg)||Eh(cg,$0,Q),fI(x)&&jg(cg,Cn(x)),["small","large"].indexOf($)!==-1?jg(cg,"".concat(gI,"-").concat($)):Q==="play"&&jg(cg,"".concat(gI,"-large")),pI(lg)&&xg(cg,wZ,lg),B.appendChild(cg)}}),b.appendChild(B)}else jg(b,Mc);if(!C.rotatable){var N=b.querySelectorAll('li[class*="rotate"]');jg(N,Zb),KI(N,function(S){b.appendChild(S)})}if(C.inline)jg(n,Zp),qi(c,{zIndex:C.zIndexInline}),window.getComputedStyle(i).position==="static"&&qi(i,{position:"relative"}),i.insertBefore(c,I.nextSibling);else{jg(n,ep),jg(c,xh),jg(c,q0),jg(c,Mc),qi(c,{zIndex:C.zIndex});var r=C.container;ob(r)&&(r=I.ownerDocument.querySelector(r)),r||(r=this.body),r.appendChild(c)}if(C.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,pI(C.ready)&&xg(I,dY,C.ready,{once:!0}),ZC(I,dY)===!1){this.ready=!1;return}this.ready&&C.inline&&this.view(this.index)}}}],[{key:"noConflict",value:function(){return window.Viewer=rp,e}},{key:"setDefaults",value:function(I){_A(Eu,VZ(I)&&I)}}])}();_A(NY.prototype,Rp,Xp,Hp,pp,Mp);var Sp=typeof global=="object"&&global&&global.Object===Object&&global,yY=Sp,Kp=typeof self=="object"&&self&&self.Object===Object&&self,Fp=yY||Kp||Function("return this")(),_h=Fp,Jp=_h.Symbol,ln=Jp,RY=Object.prototype,zp=RY.hasOwnProperty,kp=RY.toString,Gb=ln?ln.toStringTag:void 0;function Lp(e){var g=zp.call(e,Gb),I=e[Gb];try{e[Gb]=void 0;var C=!0}catch{}var i=kp.call(e);return C&&(g?e[Gb]=I:delete e[Gb]),i}var Tp=Object.prototype,jp=Tp.toString;function Qp(e){return jp.call(e)}var vp="[object Null]",xp="[object Undefined]",XY=ln?ln.toStringTag:void 0;function qh(e){return e==null?e===void 0?xp:vp:XY&&XY in Object(e)?Lp(e):Qp(e)}function $h(e){return e!=null&&typeof e=="object"}var Op=Array.isArray,Up=Op;function gB(e){var g=typeof e;return e!=null&&(g=="object"||g=="function")}function HY(e){return e}var fp="[object AsyncFunction]",Ep="[object Function]",Pp="[object GeneratorFunction]",_p="[object Proxy]";function pY(e){if(!gB(e))return!1;var g=qh(e);return g==Ep||g==Pp||g==fp||g==_p}var qp=_h["__core-js_shared__"],IB=qp,MY=function(){var e=/[^.]+$/.exec(IB&&IB.keys&&IB.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function $p(e){return!!MY&&MY in e}var gM=Function.prototype,IM=gM.toString;function CM(e){if(e!=null){try{return IM.call(e)}catch{}try{return e+""}catch{}}return""}var AM=/[\\^$.*+?()[\]{}|]/g,iM=/^\[object .+?Constructor\]$/,lM=Function.prototype,sM=Object.prototype,dM=lM.toString,cM=sM.hasOwnProperty,eM=RegExp("^"+dM.call(cM).replace(AM,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ZM(e){if(!gB(e)||$p(e))return!1;var g=pY(e)?eM:iM;return g.test(CM(e))}function tM(e,g){return e==null?void 0:e[g]}function oM(e,g){var I=tM(e,g);return ZM(I)?I:void 0}function bM(e,g,I){switch(I.length){case 0:return e.call(g);case 1:return e.call(g,I[0]);case 2:return e.call(g,I[0],I[1]);case 3:return e.call(g,I[0],I[1],I[2])}return e.apply(g,I)}var GM=800,aM=16,nM=Date.now;function mM(e){var g=0,I=0;return function(){var C=nM(),i=aM-(C-I);if(I=C,i>0){if(++g>=GM)return arguments[0]}else g=0;return e.apply(void 0,arguments)}}function hM(e){return function(){return e}}var BM=function(){try{var e=oM(Object,"defineProperty");return e({},"",{}),e}catch{}}(),sn=BM,WM=sn?function(e,g){return sn(e,"toString",{configurable:!0,enumerable:!1,value:hM(g),writable:!0})}:HY,wM=WM,uM=mM(wM),YM=uM,VM=9007199254740991,NM=/^(?:0|[1-9]\d*)$/;function rY(e,g){var I=typeof e;return g=g??VM,!!g&&(I=="number"||I!="symbol"&&NM.test(e))&&e>-1&&e%1==0&&e<g}function DY(e,g,I){g=="__proto__"&&sn?sn(e,g,{configurable:!0,enumerable:!0,value:I,writable:!0}):e[g]=I}function SY(e,g){return e===g||e!==e&&g!==g}var yM=Object.prototype,RM=yM.hasOwnProperty;function KY(e,g,I){var C=e[g];(!(RM.call(e,g)&&SY(C,I))||I===void 0&&!(g in e))&&DY(e,g,I)}function XM(e,g,I,C){var i=!I;I||(I={});for(var l=-1,c=g.length;++l<c;){var Z=g[l],b=void 0;b===void 0&&(b=e[Z]),i?DY(I,Z,b):KY(I,Z,b)}return I}var FY=Math.max;function HM(e,g,I){return g=FY(g===void 0?e.length-1:g,0),function(){for(var C=arguments,i=-1,l=FY(C.length-g,0),c=Array(l);++i<l;)c[i]=C[g+i];i=-1;for(var Z=Array(g+1);++i<g;)Z[i]=C[i];return Z[g]=I(c),bM(e,this,Z)}}function pM(e,g){return YM(HM(e,g,HY),e+"")}var MM=9007199254740991;function JY(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=MM}function CB(e){return e!=null&&JY(e.length)&&!pY(e)}function rM(e,g,I){if(!gB(I))return!1;var C=typeof g;return(C=="number"?CB(I)&&rY(g,I.length):C=="string"&&g in I)?SY(I[g],e):!1}function DM(e){return pM(function(g,I){var C=-1,i=I.length,l=i>1?I[i-1]:void 0,c=i>2?I[2]:void 0;for(l=e.length>3&&typeof l=="function"?(i--,l):void 0,c&&rM(I[0],I[1],c)&&(l=i<3?void 0:l,i=1),g=Object(g);++C<i;){var Z=I[C];Z&&e(g,Z,C,l)}return g})}var SM=Object.prototype;function zY(e){var g=e&&e.constructor,I=typeof g=="function"&&g.prototype||SM;return e===I}function KM(e,g){for(var I=-1,C=Array(e);++I<e;)C[I]=g(I);return C}var FM="[object Arguments]";function kY(e){return $h(e)&&qh(e)==FM}var LY=Object.prototype,JM=LY.hasOwnProperty,zM=LY.propertyIsEnumerable,kM=kY(function(){return arguments}())?kY:function(e){return $h(e)&&JM.call(e,"callee")&&!zM.call(e,"callee")},LM=kM;function TM(){return!1}var TY=typeof Jg=="object"&&Jg&&!Jg.nodeType&&Jg,jY=TY&&typeof module=="object"&&module&&!module.nodeType&&module,jM=jY&&jY.exports===TY,QY=jM?_h.Buffer:void 0,QM=QY?QY.isBuffer:void 0,vM=QM||TM,xM=vM,OM="[object Arguments]",UM="[object Array]",fM="[object Boolean]",EM="[object Date]",PM="[object Error]",_M="[object Function]",qM="[object Map]",$M="[object Number]",gr="[object Object]",Ir="[object RegExp]",Cr="[object Set]",Ar="[object String]",ir="[object WeakMap]",lr="[object ArrayBuffer]",sr="[object DataView]",dr="[object Float32Array]",cr="[object Float64Array]",er="[object Int8Array]",Zr="[object Int16Array]",tr="[object Int32Array]",or="[object Uint8Array]",br="[object Uint8ClampedArray]",Gr="[object Uint16Array]",ar="[object Uint32Array]",kI={};kI[dr]=kI[cr]=kI[er]=kI[Zr]=kI[tr]=kI[or]=kI[br]=kI[Gr]=kI[ar]=!0,kI[OM]=kI[UM]=kI[lr]=kI[fM]=kI[sr]=kI[EM]=kI[PM]=kI[_M]=kI[qM]=kI[$M]=kI[gr]=kI[Ir]=kI[Cr]=kI[Ar]=kI[ir]=!1;function nr(e){return $h(e)&&JY(e.length)&&!!kI[qh(e)]}function mr(e){return function(g){return e(g)}}var vY=typeof Jg=="object"&&Jg&&!Jg.nodeType&&Jg,ab=vY&&typeof module=="object"&&module&&!module.nodeType&&module,hr=ab&&ab.exports===vY,AB=hr&&yY.process,Br=function(){try{var e=ab&&ab.require&&ab.require("util").types;return e||AB&&AB.binding&&AB.binding("util")}catch{}}(),xY=Br,OY=xY&&xY.isTypedArray,Wr=OY?mr(OY):nr,wr=Wr,ur=Object.prototype,Yr=ur.hasOwnProperty;function Vr(e,g){var I=Up(e),C=!I&&LM(e),i=!I&&!C&&xM(e),l=!I&&!C&&!i&&wr(e),c=I||C||i||l,Z=c?KM(e.length,String):[],b=Z.length;for(var a in e)Yr.call(e,a)&&!(c&&(a=="length"||i&&(a=="offset"||a=="parent")||l&&(a=="buffer"||a=="byteLength"||a=="byteOffset")||rY(a,b)))&&Z.push(a);return Z}function Nr(e,g){return function(I){return e(g(I))}}var yr=Nr(Object.keys,Object),Rr=yr,Xr=Object.prototype,Hr=Xr.hasOwnProperty;function pr(e){if(!zY(e))return Rr(e);var g=[];for(var I in Object(e))Hr.call(e,I)&&I!="constructor"&&g.push(I);return g}function Mr(e){return CB(e)?Vr(e):pr(e)}var rr=Object.prototype,Dr=rr.hasOwnProperty,Sr=DM(function(e,g){if(zY(g)||CB(g)){XM(g,Mr(g),e);return}for(var I in g)Dr.call(g,I)&&KY(e,I,g[I])}),Kr=Sr;const UY=({images:e=[],options:g={}}={})=>{g=Kr(g,{inline:!1});const I=tZ.extend({render(c){return c("div",{style:{display:"none"},class:["__viewer-token"]},e.map(Z=>c("img",{attrs:typeof Z=="string"?{src:Z}:Z})))}}),C=new I;C.$mount(),document.body.appendChild(C.$el);const i=new NY(C.$el,g),l=i.destroy.bind(i);return i.destroy=function(){return l(),C.$destroy(),document.body.removeChild(C.$el),i},i.show(),C.$el.addEventListener("hidden",function(){this.viewer===i&&i.destroy()}),i};(function(e,g){(function(I){I(OA())})(function(I){function C(v,U,dg,Bg,L,F){this.indented=v,this.column=U,this.type=dg,this.info=Bg,this.align=L,this.prev=F}function i(v,U,dg,Bg){var L=v.indented;return v.context&&v.context.type=="statement"&&dg!="statement"&&(L=v.context.indented),v.context=new C(L,U,dg,Bg,null,v.context)}function l(v){var U=v.context.type;return(U==")"||U=="]"||U=="}")&&(v.indented=v.context.indented),v.context=v.context.prev}function c(v,U,dg){if(U.prevToken=="variable"||U.prevToken=="type"||/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(v.string.slice(0,dg))||U.typeAtEndOfLine&&v.column()==v.indentation())return!0}function Z(v){for(;;){if(!v||v.type=="top")return!0;if(v.type=="}"&&v.prev.info!="namespace")return!1;v=v.prev}}I.defineMode("clike",function(v,U){var dg=v.indentUnit,Bg=U.statementIndentUnit||dg,L=U.dontAlignCalls,F=U.keywords||{},ag=U.types||{},Yg=U.builtin||{},eg=U.blockKeywords||{},og=U.defKeywords||{},Kg=U.atoms||{},kg=U.hooks||{},zI=U.multiLineStrings,Xg=U.indentStatements!==!1,fg=U.indentSwitch!==!1,mI=U.namespaceSeparator,dC=U.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,TA=U.numberStart||/[\d\.]/,WC=U.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,wC=U.isOperatorChar||/[+\-*&%=<>!?|\/]/,XC=U.isIdentifierChar||/[\w\$_\xa1-\uffff]/,wi=U.isReservedIdentifier||!1,Sg,vC;function ui(Dg,Fg){var Hg=Dg.next();if(kg[Hg]){var CI=kg[Hg](Dg,Fg);if(CI!==!1)return CI}if(Hg=='"'||Hg=="'")return Fg.tokenize=dc(Hg),Fg.tokenize(Dg,Fg);if(TA.test(Hg)){if(Dg.backUp(1),Dg.match(WC))return"number";Dg.next()}if(dC.test(Hg))return Sg=Hg,null;if(Hg=="/"){if(Dg.eat("*"))return Fg.tokenize=Ee,Ee(Dg,Fg);if(Dg.eat("/"))return Dg.skipToEnd(),"comment"}if(wC.test(Hg)){for(;!Dg.match(/^\/[\/*]/,!1)&&Dg.eat(wC););return"operator"}if(Dg.eatWhile(XC),mI)for(;Dg.match(mI);)Dg.eatWhile(XC);var Pg=Dg.current();return a(F,Pg)?(a(eg,Pg)&&(Sg="newstatement"),a(og,Pg)&&(vC=!0),"keyword"):a(ag,Pg)?"type":a(Yg,Pg)||wi&&wi(Pg)?(a(eg,Pg)&&(Sg="newstatement"),"builtin"):a(Kg,Pg)?"atom":"variable"}function dc(Dg){return function(Fg,Hg){for(var CI=!1,Pg,jA=!1;(Pg=Fg.next())!=null;){if(Pg==Dg&&!CI){jA=!0;break}CI=!CI&&Pg=="\\"}return(jA||!(CI||zI))&&(Hg.tokenize=null),"string"}}function Ee(Dg,Fg){for(var Hg=!1,CI;CI=Dg.next();){if(CI=="/"&&Hg){Fg.tokenize=null;break}Hg=CI=="*"}return"comment"}function lo(Dg,Fg){U.typeFirstDefinitions&&Dg.eol()&&Z(Fg.context)&&(Fg.typeAtEndOfLine=c(Dg,Fg,Dg.pos))}return{startState:function(Dg){return{tokenize:null,context:new C((Dg||0)-dg,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(Dg,Fg){var Hg=Fg.context;if(Dg.sol()&&(Hg.align==null&&(Hg.align=!1),Fg.indented=Dg.indentation(),Fg.startOfLine=!0),Dg.eatSpace())return lo(Dg,Fg),null;Sg=vC=null;var CI=(Fg.tokenize||ui)(Dg,Fg);if(CI=="comment"||CI=="meta")return CI;if(Hg.align==null&&(Hg.align=!0),Sg==";"||Sg==":"||Sg==","&&Dg.match(/^\s*(?:\/\/.*)?$/,!1))for(;Fg.context.type=="statement";)l(Fg);else if(Sg=="{")i(Fg,Dg.column(),"}");else if(Sg=="[")i(Fg,Dg.column(),"]");else if(Sg=="(")i(Fg,Dg.column(),")");else if(Sg=="}"){for(;Hg.type=="statement";)Hg=l(Fg);for(Hg.type=="}"&&(Hg=l(Fg));Hg.type=="statement";)Hg=l(Fg)}else Sg==Hg.type?l(Fg):Xg&&((Hg.type=="}"||Hg.type=="top")&&Sg!=";"||Hg.type=="statement"&&Sg=="newstatement")&&i(Fg,Dg.column(),"statement",Dg.current());if(CI=="variable"&&(Fg.prevToken=="def"||U.typeFirstDefinitions&&c(Dg,Fg,Dg.start)&&Z(Fg.context)&&Dg.match(/^\s*\(/,!1))&&(CI="def"),kg.token){var Pg=kg.token(Dg,Fg,CI);Pg!==void 0&&(CI=Pg)}return CI=="def"&&U.styleDefs===!1&&(CI="variable"),Fg.startOfLine=!1,Fg.prevToken=vC?"def":CI||Sg,lo(Dg,Fg),CI},indent:function(Dg,Fg){if(Dg.tokenize!=ui&&Dg.tokenize!=null||Dg.typeAtEndOfLine&&Z(Dg.context))return I.Pass;var Hg=Dg.context,CI=Fg&&Fg.charAt(0),Pg=CI==Hg.type;if(Hg.type=="statement"&&CI=="}"&&(Hg=Hg.prev),U.dontIndentStatements)for(;Hg.type=="statement"&&U.dontIndentStatements.test(Hg.info);)Hg=Hg.prev;if(kg.indent){var jA=kg.indent(Dg,Hg,Fg,dg);if(typeof jA=="number")return jA}var Oi=Hg.prev&&Hg.prev.info=="switch";if(U.allmanIndentation&&/[{(]/.test(CI)){for(;Hg.type!="top"&&Hg.type!="}";)Hg=Hg.prev;return Hg.indented}return Hg.type=="statement"?Hg.indented+(CI=="{"?0:Bg):Hg.align&&(!L||Hg.type!=")")?Hg.column+(Pg?0:1):Hg.type==")"&&!Pg?Hg.indented+Bg:Hg.indented+(Pg?0:dg)+(!Pg&&Oi&&!/^(?:case|default)\b/.test(Fg)?dg:0)},electricInput:fg?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"brace"}});function b(v){for(var U={},dg=v.split(" "),Bg=0;Bg<dg.length;++Bg)U[dg[Bg]]=!0;return U}function a(v,U){return typeof v=="function"?v(U):v.propertyIsEnumerable(U)}var n="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",h="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",B="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",u="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",X=b("int long char short double float unsigned signed void bool"),V=b("SEL instancetype id Class Protocol BOOL");function H(v){return a(X,v)||/.+_t$/.test(v)}function N(v){return H(v)||a(V,v)}var r="case do else for if switch while struct enum union",S="struct enum union";function J(v,U){if(!U.startOfLine)return!1;for(var dg,Bg=null;dg=v.peek();){if(dg=="\\"&&v.match(/^.$/)){Bg=J;break}else if(dg=="/"&&v.match(/^\/[\/\*]/,!1))break;v.next()}return U.tokenize=Bg,"meta"}function k(v,U){return U.prevToken=="type"?"type":!1}function Q(v){return!v||v.length<2||v[0]!="_"?!1:v[1]=="_"||v[1]!==v[1].toLowerCase()}function x(v){return v.eatWhile(/[\w\.']/),"number"}function $(v,U){if(v.backUp(1),v.match(/^(?:R|u8R|uR|UR|LR)/)){var dg=v.match(/^"([^\s\\()]{0,16})\(/);return dg?(U.cpp11RawStringDelim=dg[1],U.tokenize=q,q(v,U)):!1}return v.match(/^(?:u8|u|U|L)/)?v.match(/^["']/,!1)?"string":!1:(v.next(),!1)}function lg(v){var U=/(\w+)::~?(\w+)$/.exec(v);return U&&U[1]==U[2]}function cg(v,U){for(var dg;(dg=v.next())!=null;)if(dg=='"'&&!v.eat('"')){U.tokenize=null;break}return"string"}function q(v,U){var dg=U.cpp11RawStringDelim.replace(/[^\w\s]/g,"\\$&"),Bg=v.match(new RegExp(".*?\\)"+dg+'"'));return Bg?U.tokenize=null:v.skipToEnd(),"string"}function Wg(v,U){typeof v=="string"&&(v=[v]);var dg=[];function Bg(F){if(F)for(var ag in F)F.hasOwnProperty(ag)&&dg.push(ag)}Bg(U.keywords),Bg(U.types),Bg(U.builtin),Bg(U.atoms),dg.length&&(U.helperType=v[0],I.registerHelper("hintWords",v[0],dg));for(var L=0;L<v.length;++L)I.defineMIME(v[L],U)}Wg(["text/x-csrc","text/x-c","text/x-chdr"],{name:"clike",keywords:b(n),types:H,blockKeywords:b(r),defKeywords:b(S),typeFirstDefinitions:!0,atoms:b("NULL true false"),isReservedIdentifier:Q,hooks:{"#":J,"*":k},modeProps:{fold:["brace","include"]}}),Wg(["text/x-c++src","text/x-c++hdr"],{name:"clike",keywords:b(n+" "+h),types:H,blockKeywords:b(r+" class try catch"),defKeywords:b(S+" class namespace"),typeFirstDefinitions:!0,atoms:b("true false NULL nullptr"),dontIndentStatements:/^template$/,isIdentifierChar:/[\w\$_~\xa1-\uffff]/,isReservedIdentifier:Q,hooks:{"#":J,"*":k,u:$,U:$,L:$,R:$,0:x,1:x,2:x,3:x,4:x,5:x,6:x,7:x,8:x,9:x,token:function(v,U,dg){if(dg=="variable"&&v.peek()=="("&&(U.prevToken==";"||U.prevToken==null||U.prevToken=="}")&&lg(v.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),Wg("text/x-java",{name:"clike",keywords:b("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:b("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:b("catch class do else finally for if switch try while"),defKeywords:b("class interface enum @interface"),typeFirstDefinitions:!0,atoms:b("true false null"),number:/^(?:0x[a-f\d_]+|0b[01_]+|(?:[\d_]+\.?\d*|\.\d+)(?:e[-+]?[\d_]+)?)(u|ll?|l|f)?/i,hooks:{"@":function(v){return v.match("interface",!1)?!1:(v.eatWhile(/[\w\$_]/),"meta")},'"':function(v,U){return v.match(/""$/)?(U.tokenize=E,U.tokenize(v,U)):!1}},modeProps:{fold:["brace","import"]}}),Wg("text/x-csharp",{name:"clike",keywords:b("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:b("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:b("catch class do else finally for foreach if struct switch try while"),defKeywords:b("class interface namespace record struct var"),typeFirstDefinitions:!0,atoms:b("true false null"),hooks:{"@":function(v,U){return v.eat('"')?(U.tokenize=cg,cg(v,U)):(v.eatWhile(/[\w\$_]/),"meta")}}});function E(v,U){for(var dg=!1;!v.eol();){if(!dg&&v.match('"""')){U.tokenize=null;break}dg=v.next()=="\\"&&!dg}return"string"}function Ag(v){return function(U,dg){for(var Bg;Bg=U.next();)if(Bg=="*"&&U.eat("/"))if(v==1){dg.tokenize=null;break}else return dg.tokenize=Ag(v-1),dg.tokenize(U,dg);else if(Bg=="/"&&U.eat("*"))return dg.tokenize=Ag(v+1),dg.tokenize(U,dg);return"comment"}}Wg("text/x-scala",{name:"clike",keywords:b("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:b("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:b("catch class enum do else finally for forSome if match switch try while"),defKeywords:b("class enum def object package trait type val var"),atoms:b("true false null"),indentStatements:!1,indentSwitch:!1,isOperatorChar:/[+\-*&%=<>!?|\/#:@]/,hooks:{"@":function(v){return v.eatWhile(/[\w\$_]/),"meta"},'"':function(v,U){return v.match('""')?(U.tokenize=E,U.tokenize(v,U)):!1},"'":function(v){return v.match(/^(\\[^'\s]+|[^\\'])'/)?"string-2":(v.eatWhile(/[\w\$_\xa1-\uffff]/),"atom")},"=":function(v,U){var dg=U.context;return dg.type=="}"&&dg.align&&v.eat(">")?(U.context=new C(dg.indented,dg.column,dg.type,dg.info,null,dg.prev),"operator"):!1},"/":function(v,U){return v.eat("*")?(U.tokenize=Ag(1),U.tokenize(v,U)):!1}},modeProps:{closeBrackets:{pairs:'()[]{}""',triples:'"'}}});function K(v){return function(U,dg){for(var Bg=!1,L,F=!1;!U.eol();){if(!v&&!Bg&&U.match('"')){F=!0;break}if(v&&U.match('"""')){F=!0;break}L=U.next(),!Bg&&L=="$"&&U.match("{")&&U.skipTo("}"),Bg=!Bg&&L=="\\"&&!v}return(F||!v)&&(dg.tokenize=null),"string"}}Wg("text/x-kotlin",{name:"clike",keywords:b("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:b("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:b("catch class do else finally for if where try while enum"),defKeywords:b("class val var object interface fun"),atoms:b("true false null this"),hooks:{"@":function(v){return v.eatWhile(/[\w\$_]/),"meta"},"*":function(v,U){return U.prevToken=="."?"variable":"operator"},'"':function(v,U){return U.tokenize=K(v.match('""')),U.tokenize(v,U)},"/":function(v,U){return v.eat("*")?(U.tokenize=Ag(1),U.tokenize(v,U)):!1},indent:function(v,U,dg,Bg){var L=dg&&dg.charAt(0);if((v.prevToken=="}"||v.prevToken==")")&&dg=="")return v.indented;if(v.prevToken=="operator"&&dg!="}"&&v.context.type!="}"||v.prevToken=="variable"&&L=="."||(v.prevToken=="}"||v.prevToken==")")&&L==".")return Bg*2+U.indented;if(U.align&&U.type=="}")return U.indented+(v.context.type==(dg||"").charAt(0)?0:Bg)}},modeProps:{closeBrackets:{triples:'"'}}}),Wg(["x-shader/x-vertex","x-shader/x-fragment"],{name:"clike",keywords:b("sampler1D sampler2D sampler3D samplerCube sampler1DShadow sampler2DShadow const attribute uniform varying break continue discard return for while do if else struct in out inout"),types:b("float int bool void vec2 vec3 vec4 ivec2 ivec3 ivec4 bvec2 bvec3 bvec4 mat2 mat3 mat4"),blockKeywords:b("for while do if else struct"),builtin:b("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:b("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:{"#":J},modeProps:{fold:["brace","include"]}}),Wg("text/x-nesc",{name:"clike",keywords:b(n+" 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:H,blockKeywords:b(r),atoms:b("null true false"),hooks:{"#":J},modeProps:{fold:["brace","include"]}}),Wg("text/x-objectivec",{name:"clike",keywords:b(n+" "+B),types:N,builtin:b(u),blockKeywords:b(r+" @synthesize @try @catch @finally @autoreleasepool @synchronized"),defKeywords:b(S+" @interface @implementation @protocol @class"),dontIndentStatements:/^@.*$/,typeFirstDefinitions:!0,atoms:b("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Q,hooks:{"#":J,"*":k},modeProps:{fold:["brace","include"]}}),Wg("text/x-objectivec++",{name:"clike",keywords:b(n+" "+B+" "+h),types:N,builtin:b(u),blockKeywords:b(r+" @synthesize @try @catch @finally @autoreleasepool @synchronized class try catch"),defKeywords:b(S+" @interface @implementation @protocol @class class namespace"),dontIndentStatements:/^@.*$|^template$/,typeFirstDefinitions:!0,atoms:b("YES NO NULL Nil nil true false nullptr"),isReservedIdentifier:Q,hooks:{"#":J,"*":k,u:$,U:$,L:$,R:$,0:x,1:x,2:x,3:x,4:x,5:x,6:x,7:x,8:x,9:x,token:function(v,U,dg){if(dg=="variable"&&v.peek()=="("&&(U.prevToken==";"||U.prevToken==null||U.prevToken=="}")&&lg(v.current()))return"def"}},namespaceSeparator:"::",modeProps:{fold:["brace","include"]}}),Wg("text/x-squirrel",{name:"clike",keywords:b("base break clone continue const default delete enum extends function in class foreach local resume return this throw typeof yield constructor instanceof static"),types:H,blockKeywords:b("case catch class else for foreach if switch try while"),defKeywords:b("function local class"),typeFirstDefinitions:!0,atoms:b("true false null"),hooks:{"#":J},modeProps:{fold:["brace","include"]}});var Ig=null;function _(v){return function(U,dg){for(var Bg=!1,L,F=!1;!U.eol();){if(!Bg&&U.match('"')&&(v=="single"||U.match('""'))){F=!0;break}if(!Bg&&U.match("``")){Ig=_(v),F=!0;break}L=U.next(),Bg=v=="single"&&!Bg&&L=="\\"}return F&&(dg.tokenize=null),"string"}}Wg("text/x-ceylon",{name:"clike",keywords:b("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(v){var U=v.charAt(0);return U===U.toUpperCase()&&U!==U.toLowerCase()},blockKeywords:b("case catch class dynamic else finally for function if interface module new object switch try while"),defKeywords:b("class dynamic function interface module object package value"),builtin:b("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:b("true false null larger smaller equal empty finished"),indentSwitch:!1,styleDefs:!1,hooks:{"@":function(v){return v.eatWhile(/[\w\$_]/),"meta"},'"':function(v,U){return U.tokenize=_(v.match('""')?"triple":"single"),U.tokenize(v,U)},"`":function(v,U){return!Ig||!v.match("`")?!1:(U.tokenize=Ig,Ig=null,U.tokenize(v,U))},"'":function(v){return v.eatWhile(/[\w\$_\xa1-\uffff]/),"atom"},token:function(v,U,dg){if((dg=="variable"||dg=="type")&&U.prevToken==".")return"variable-2"}},modeProps:{fold:["brace","import"],closeBrackets:{triples:'"'}}})})})(),Lg.setOptions({breaks:!0});const Fr={name:"OutputViewer",components:{codemirror:Lm.codemirror,FilePdfViewer:Th},props:{value:{type:[Object,Array,String],default:null},showRawToggle:{type:Boolean,default:!1},isErrorResponse:{type:Boolean,default:!1},previewMarkdown:{type:String,default:""},fileOnly:{type:Boolean,default:!1},supportFileElements:{type:Boolean,default:!1},title:{type:String,default:""},contentKey:{type:[String,Number],default:0}},data(){return{showRaw:!1,cmOptions:{tabSize:2,mode:{name:"javascript",json:!0},theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},viewerOptions:{inline:!1,button:!0,navbar:!0,title:!0,toolbar:!0,tooltip:!0,movable:!0,zoomable:!0,rotatable:!0,scalable:!0,transition:!0,fullscreen:!0,keyboard:!0,zIndex:9999}}},computed:{errorMessage(){return this.getErrorMessage(this.value)},effectiveFileOnly(){return this.fileOnly?!0:!this.supportFileElements||!this.value||this.value.choices?!1:this.extractFileRefs(this.value).length>0||this.extractImageBase64Refs(this.value).length>0}},methods:{handleCopy(){const e=this.formatRawJson(this.value);this.$emit("copy",e)},copyChoiceContent(e){let g="";if(typeof e=="string")g=e;else if(Array.isArray(e)){const I=e.filter(C=>C&&C.type==="text"&&C.text).map(C=>C.text);g=I.length>0?I.join(`
|
|
89
89
|
`):this.formatRawJson(e)}else g=this.formatRawJson(e);this.$emit("copy",g)},formatRawJson(e){if(!e)return"";if(typeof e=="string")try{const g=JSON.parse(e);return JSON.stringify(g,null,2)}catch{return e}return JSON.stringify(e,null,2)},getErrorMessage(e){return!e||typeof e!="object"?String(e??""):e.error&&typeof e.error=="object"&&e.error.message?e.error.message:e.message?e.message:e._status!==void 0?`${e._status} ${e._statusText||""}`.trim():e._raw!==void 0?String(e._raw):JSON.stringify(e)},renderMarkdown(e){return e?Lg(String(e)):""},getMessageRoleLabel(e){const g={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return g[e]?this.$t(g[e]):e},handleImageClick(e){UY({options:this.viewerOptions,images:[e]})},extractImagesFromObject(e,g=[],I=""){if(!(!e||typeof e!="object")){for(const[C,i]of Object.entries(e)){const l=I?`${I}.${C}`:C;typeof i=="string"&&i.trim()!==""?(i.startsWith("data:image/")||i.startsWith("/9j/")||i.startsWith("iVBOR")||i.startsWith("R0lGOD"))&&(g.push({path:l,value:i,label:C==="content"&&I?`${I.split(".").pop()}: ${C}`:C}),e[C]="[IMAGE_DATA]"):i&&typeof i=="object"&&!Array.isArray(i)?this.extractImagesFromObject(i,g,l):Array.isArray(i)&&i.forEach((c,Z)=>{c&&typeof c=="object"&&this.extractImagesFromObject(c,g,`${l}[${Z}]`)})}return g}},extractFileRefs(e,g=[]){if(!e||typeof e!="object")return g;for(const[I,C]of Object.entries(e))I.startsWith("__file__")&&C!=null?Array.isArray(C)?C.forEach(i=>{i!=null&&typeof i=="string"&&i.trim()!==""&&g.push(i.trim())}):typeof C=="string"&&C.trim()!==""&&g.push(C.trim()):C&&typeof C=="object"&&!Array.isArray(C)?this.extractFileRefs(C,g):Array.isArray(C)&&C.forEach(i=>{i&&typeof i=="object"&&this.extractFileRefs(i,g)});return g},extractImageBase64Refs(e,g=[]){if(!e||typeof e!="object")return g;for(const[I,C]of Object.entries(e))I==="image_base64"&&C!=null&&typeof C=="string"&&C.trim()!==""?g.push(C.trim()):C&&typeof C=="object"&&!Array.isArray(C)?this.extractImageBase64Refs(C,g):Array.isArray(C)&&C.forEach(i=>{i&&typeof i=="object"&&this.extractImageBase64Refs(i,g)});return g},getFileExtension(e){if(!e||typeof e!="string")return"";const g=e.lastIndexOf(".");return g>=0?e.slice(g+1).toLowerCase():""},buildFileElements(e,g="file"){if(!this.supportFileElements)return[];const I=["jpg","jpeg","png","gif","webp","bmp","svg"],C=[];return e.forEach((i,l)=>{const c=this.getFileExtension(i),Z=d0(i),b=decodeURIComponent(i.split("/").pop()||i);I.includes(c)?C.push({type:"file-image",downloadUrl:Z,key:`${g}-image-${l}`}):c==="pdf"?C.push({type:"file-pdf",downloadUrl:Z,key:`${g}-pdf-${l}`}):C.push({type:"file-download",downloadUrl:Z,filename:b,key:`${g}-download-${l}`})}),C},formatBase64Image(e){return e?e.startsWith("data:image")?e:e.startsWith("/9j/")?`data:image/jpeg;base64,${e}`:e.startsWith("iVBOR")?`data:image/png;base64,${e}`:e.startsWith("R0lGOD")?`data:image/gif;base64,${e}`:`data:image/jpeg;base64,${e}`:""},renderStructuredContent(e,g=!1){const I=[];if(!e)return I;if(this.supportFileElements){const C=this.extractFileRefs(e);C.length>0&&I.push(...this.buildFileElements(C,"file"))}if(e.data&&Array.isArray(e.data.result))e.data.result.forEach((C,i)=>{C.image_base64&&C.image_base64.trim()!==""&&I.push({type:"image",url:this.formatBase64Image(C.image_base64),key:`result-page-${i}`,label:C.page_num!==void 0?`Page ${C.page_num}`:`Result ${i}`}),C.seals&&Array.isArray(C.seals)&&C.seals.forEach((l,c)=>{l.image_base64&&l.image_base64.trim()!==""&&I.push({type:"image",url:this.formatBase64Image(l.image_base64),key:`result-seal-${i}-${c}`,label:`印章文字: ${l.value||""}`})})});else{const C=this.extractImageBase64Refs(e);C.length>0&&C.forEach((i,l)=>{I.push({type:"image",url:this.formatBase64Image(i),key:`base64-image-${l}`})})}if(g)return I;try{if(Array.isArray(e))e.forEach((C,i)=>{var l;C&&typeof C=="object"?C.type==="text"&&C.text?I.push({type:"markdown",content:Lg(C.text),key:`text-${i}`}):C.type==="image_url"&&((l=C.image_url)!=null&&l.url)?I.push({type:"image",url:C.image_url.url,key:`image-${i}`}):C.image_base64&&C.image_base64.trim()!==""?I.push({type:"image",url:this.formatBase64Image(C.image_base64),key:`base64-image-${i}`}):I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(C,null,2)+"\n```"),key:`json-${i}`}):I.push({type:"markdown",content:Lg(String(C)),key:`text-${i}`})});else if(typeof e=="string")I.push({type:"markdown",content:Lg(e),key:"text-0"});else if(typeof e=="object")if(e.data&&Array.isArray(e.data.result)){const C=JSON.parse(JSON.stringify(e)),i=[];C.data&&C.data.result&&C.data.result.forEach((l,c)=>{l.image_base64&&l.image_base64.trim()!==""&&(i.push({type:"page",image_base64:l.image_base64,page_num:l.page_num,label:l.page_num!==void 0?`Page ${l.page_num}`:`Result ${c}`}),l.image_base64="[BASE64_IMAGE_DATA]"),l.seals&&Array.isArray(l.seals)&&l.seals.forEach((Z,b)=>{Z.image_base64&&Z.image_base64.trim()!==""&&(i.push({type:"seal",image_base64:Z.image_base64,page_num:l.page_num,seal_index:b,seal_value:Z.value,label:`印章文字: ${Z.value||""}`}),Z.image_base64="[BASE64_IMAGE_DATA]")})}),I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(C,null,2)+"\n```"),key:"json-0"}),i.forEach((l,c)=>{I.push({type:"image",url:this.formatBase64Image(l.image_base64),key:`result-image-${c}`,label:l.label})})}else{const C=JSON.parse(JSON.stringify(e)),i=[];this.extractImagesFromObject(C,i),I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(C,null,2)+"\n```"),key:"json-0"}),i.forEach((l,c)=>{I.push({type:"image",url:this.formatBase64Image(l.value),key:`extracted-image-${c}`,label:l.label})})}else I.push({type:"markdown",content:Lg(String(e)),key:"text-0"})}catch(C){console.error("Error rendering content:",C),I.push({type:"markdown",content:Lg("Error rendering content"),key:"error-0"})}return I}}};var Jr=function(){var g=this,I=g._self._c;return I("div",{staticClass:"output-viewer"},[g.title||g.$slots.title?I("div",{staticClass:"output-viewer-header"},[I("div",{staticClass:"output-viewer-title-row"},[I("span",{staticClass:"output-viewer-title"},[g._t("title",function(){return[g._v(g._s(g.title))]})],2),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:g.handleCopy}})],1)],1),g.showRawToggle?I("div",{staticClass:"output-viewer-actions"},[I("el-button",{attrs:{type:"text",size:"small"},on:{click:function(C){g.showRaw=!g.showRaw}}},[g._v(g._s(g.showRaw?g.$t("debug.switchToMarkdown"):g.$t("debug.switchToRaw")))])],1):g._e()]):g._e(),g.showRaw?I("div",{staticClass:"output-viewer-raw"},[I("codemirror",{key:`output-raw-${g.contentKey}`,staticClass:"code-editor-wrapper",attrs:{value:g.formatRawJson(g.value),options:g.cmOptions}})],1):I("div",{staticClass:"output-viewer-readable"},[g.isErrorResponse?I("div",{staticClass:"structured-content"},[I("div",{staticClass:"content-element"},[I("div",{staticClass:"markdown-content"},[g._v(g._s(g.errorMessage))])])]):g.previewMarkdown?I("div",{staticClass:"structured-content preview-content"},[I("div",{staticClass:"content-element"},[I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(g.renderMarkdown(g.previewMarkdown))}})])]):g.effectiveFileOnly&&g.value?I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(g.value,!0),function(C){return I("div",{key:C.key,staticClass:"content-element"},[C.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(C.content)}}):C.type==="image"?I("div",{staticClass:"image-content"},[C.label?I("div",{staticClass:"image-label"},[g._v(g._s(C.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:C.url,alt:"content image"},on:{click:function(i){return g.handleImageClick(C.url)}}})]):C.type==="file-image"?I("div",{staticClass:"image-content"},[C.label?I("div",{staticClass:"image-label"},[g._v(g._s(C.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:C.downloadUrl,alt:"content image"},on:{click:function(i){return g.handleImageClick(C.downloadUrl)}}})]):C.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:C}})],1):C.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:C.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(C.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0):g.value&&g.value.choices?I("div",{staticClass:"outputs-section"},g._l(g.value.choices,function(C,i){return I("div",{key:i,staticClass:"choice-item"},[I("div",{staticClass:"choice-content"},[C.message?I("div",[I("div",{staticClass:"message-header"},[I("i",{staticClass:"el-icon-user message-icon"}),I("span",[g._v(g._s(g.getMessageRoleLabel(C.message.role)))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(l){return g.copyChoiceContent(C.message.content)}}})],1)],1),I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(C.message.content,!1),function(l){return I("div",{key:l.key,staticClass:"content-element"},[l.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(l.content)}}):l.type==="image"?I("div",{staticClass:"image-content"},[l.label?I("div",{staticClass:"image-label"},[g._v(g._s(l.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:l.url,alt:"content image"},on:{click:function(c){return g.handleImageClick(l.url)}}})]):l.type==="file-image"?I("div",{staticClass:"image-content"},[l.label?I("div",{staticClass:"image-label"},[g._v(g._s(l.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:l.downloadUrl,alt:"content image"},on:{click:function(c){return g.handleImageClick(l.downloadUrl)}}})]):l.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:l}})],1):l.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:l.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(l.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0)]):I("div",[I("div",{staticClass:"message-header"},[I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(l){return g.copyChoiceContent(C)}}})],1)],1),I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(C,!1),function(l){return I("div",{key:l.key,staticClass:"content-element"},[l.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(l.content)}}):l.type==="image"?I("div",{staticClass:"image-content"},[l.label?I("div",{staticClass:"image-label"},[g._v(g._s(l.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:l.url,alt:"content image"},on:{click:function(c){return g.handleImageClick(l.url)}}})]):l.type==="file-image"?I("div",{staticClass:"image-content"},[l.label?I("div",{staticClass:"image-label"},[g._v(g._s(l.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:l.downloadUrl,alt:"content image"},on:{click:function(c){return g.handleImageClick(l.downloadUrl)}}})]):l.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:l}})],1):l.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:l.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(l.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0)])])])}),0):g.value?I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(g.value,!1),function(C){return I("div",{key:C.key,staticClass:"content-element"},[C.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(C.content)}}):C.type==="image"?I("div",{staticClass:"image-content"},[C.label?I("div",{staticClass:"image-label"},[g._v(g._s(C.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:C.url,alt:"content image"},on:{click:function(i){return g.handleImageClick(C.url)}}})]):C.type==="file-image"?I("div",{staticClass:"image-content"},[C.label?I("div",{staticClass:"image-label"},[g._v(g._s(C.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:C.downloadUrl,alt:"content image"},on:{click:function(i){return g.handleImageClick(C.downloadUrl)}}})]):C.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:C}})],1):C.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:C.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(C.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0):g._e()])])},zr=[],kr=yl(Fr,Jr,zr,!1,null,"a12c132d");const fY=kr.exports;var EY={exports:{}},PY;function Lr(){return PY||(PY=1,function(e,g){(function(I){I(OA())})(function(I){var C={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},i={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};I.defineMode("xml",function(l,c){var Z=l.indentUnit,b={},a=c.htmlMode?C:i;for(var n in a)b[n]=a[n];for(var n in c)b[n]=c[n];var h,B;function u(K,Ig){function _(dg){return Ig.tokenize=dg,dg(K,Ig)}var v=K.next();if(v=="<")return K.eat("!")?K.eat("[")?K.match("CDATA[")?_(H("atom","]]>")):null:K.match("--")?_(H("comment","-->")):K.match("DOCTYPE",!0,!0)?(K.eatWhile(/[\w\._\-]/),_(N(1))):null:K.eat("?")?(K.eatWhile(/[\w\._\-]/),Ig.tokenize=H("meta","?>"),"meta"):(h=K.eat("/")?"closeTag":"openTag",Ig.tokenize=X,"tag bracket");if(v=="&"){var U;return K.eat("#")?K.eat("x")?U=K.eatWhile(/[a-fA-F\d]/)&&K.eat(";"):U=K.eatWhile(/[\d]/)&&K.eat(";"):U=K.eatWhile(/[\w\.\-:]/)&&K.eat(";"),U?"atom":"error"}else return K.eatWhile(/[^&<]/),null}u.isInText=!0;function X(K,Ig){var _=K.next();if(_==">"||_=="/"&&K.eat(">"))return Ig.tokenize=u,h=_==">"?"endTag":"selfcloseTag","tag bracket";if(_=="=")return h="equals",null;if(_=="<"){Ig.tokenize=u,Ig.state=Q,Ig.tagName=Ig.tagStart=null;var v=Ig.tokenize(K,Ig);return v?v+" tag error":"tag error"}else return/[\'\"]/.test(_)?(Ig.tokenize=V(_),Ig.stringStartCol=K.column(),Ig.tokenize(K,Ig)):(K.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function V(K){var Ig=function(_,v){for(;!_.eol();)if(_.next()==K){v.tokenize=X;break}return"string"};return Ig.isInAttribute=!0,Ig}function H(K,Ig){return function(_,v){for(;!_.eol();){if(_.match(Ig)){v.tokenize=u;break}_.next()}return K}}function N(K){return function(Ig,_){for(var v;(v=Ig.next())!=null;){if(v=="<")return _.tokenize=N(K+1),_.tokenize(Ig,_);if(v==">")if(K==1){_.tokenize=u;break}else return _.tokenize=N(K-1),_.tokenize(Ig,_)}return"meta"}}function r(K){return K&&K.toLowerCase()}function S(K,Ig,_){this.prev=K.context,this.tagName=Ig||"",this.indent=K.indented,this.startOfLine=_,(b.doNotIndent.hasOwnProperty(Ig)||K.context&&K.context.noIndent)&&(this.noIndent=!0)}function J(K){K.context&&(K.context=K.context.prev)}function k(K,Ig){for(var _;;){if(!K.context||(_=K.context.tagName,!b.contextGrabbers.hasOwnProperty(r(_))||!b.contextGrabbers[r(_)].hasOwnProperty(r(Ig))))return;J(K)}}function Q(K,Ig,_){return K=="openTag"?(_.tagStart=Ig.column(),x):K=="closeTag"?$:Q}function x(K,Ig,_){return K=="word"?(_.tagName=Ig.current(),B="tag",q):b.allowMissingTagName&&K=="endTag"?(B="tag bracket",q(K,Ig,_)):(B="error",x)}function $(K,Ig,_){if(K=="word"){var v=Ig.current();return _.context&&_.context.tagName!=v&&b.implicitlyClosed.hasOwnProperty(r(_.context.tagName))&&J(_),_.context&&_.context.tagName==v||b.matchClosing===!1?(B="tag",lg):(B="tag error",cg)}else return b.allowMissingTagName&&K=="endTag"?(B="tag bracket",lg(K,Ig,_)):(B="error",cg)}function lg(K,Ig,_){return K!="endTag"?(B="error",lg):(J(_),Q)}function cg(K,Ig,_){return B="error",lg(K,Ig,_)}function q(K,Ig,_){if(K=="word")return B="attribute",Wg;if(K=="endTag"||K=="selfcloseTag"){var v=_.tagName,U=_.tagStart;return _.tagName=_.tagStart=null,K=="selfcloseTag"||b.autoSelfClosers.hasOwnProperty(r(v))?k(_,v):(k(_,v),_.context=new S(_,v,U==_.indented)),Q}return B="error",q}function Wg(K,Ig,_){return K=="equals"?E:(b.allowMissing||(B="error"),q(K,Ig,_))}function E(K,Ig,_){return K=="string"?Ag:K=="word"&&b.allowUnquoted?(B="string",q):(B="error",q(K,Ig,_))}function Ag(K,Ig,_){return K=="string"?Ag:q(K,Ig,_)}return{startState:function(K){var Ig={tokenize:u,state:Q,indented:K||0,tagName:null,tagStart:null,context:null};return K!=null&&(Ig.baseIndent=K),Ig},token:function(K,Ig){if(!Ig.tagName&&K.sol()&&(Ig.indented=K.indentation()),K.eatSpace())return null;h=null;var _=Ig.tokenize(K,Ig);return(_||h)&&_!="comment"&&(B=null,Ig.state=Ig.state(h||_,K,Ig),B&&(_=B=="error"?_+" error":B)),_},indent:function(K,Ig,_){var v=K.context;if(K.tokenize.isInAttribute)return K.tagStart==K.indented?K.stringStartCol+1:K.indented+Z;if(v&&v.noIndent)return I.Pass;if(K.tokenize!=X&&K.tokenize!=u)return _?_.match(/^(\s*)/)[0].length:0;if(K.tagName)return b.multilineTagIndentPastTag!==!1?K.tagStart+K.tagName.length+2:K.tagStart+Z*(b.multilineTagIndentFactor||1);if(b.alignCDATA&&/<!\[CDATA\[/.test(Ig))return 0;var U=Ig&&/^<(\/)?([\w_:\.-]*)/.exec(Ig);if(U&&U[1])for(;v;)if(v.tagName==U[2]){v=v.prev;break}else if(b.implicitlyClosed.hasOwnProperty(r(v.tagName)))v=v.prev;else break;else if(U)for(;v;){var dg=b.contextGrabbers[r(v.tagName)];if(dg&&dg.hasOwnProperty(r(U[2])))v=v.prev;else break}for(;v&&v.prev&&!v.startOfLine;)v=v.prev;return v?v.indent+Z:K.baseIndent||0},electricInput:/<\/[\s\w:]+>$/,blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:b.htmlMode?"html":"xml",helperType:b.htmlMode?"html":"xml",skipAttribute:function(K){K.state==E&&(K.state=q)},xmlCurrentTag:function(K){return K.tagName?{name:K.tagName,close:K.type=="closeTag"}:null},xmlCurrentContext:function(K){for(var Ig=[],_=K.context;_;_=_.prev)Ig.push(_.tagName);return Ig.reverse()}}}),I.defineMIME("text/xml","xml"),I.defineMIME("application/xml","xml"),I.mimeModes.hasOwnProperty("text/html")||I.defineMIME("text/html",{name:"xml",htmlMode:!0})})}()),EY.exports}var _Y={exports:{}},qY;function Tr(){return qY||(qY=1,function(e,g){(function(I){I(OA())})(function(I){I.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 C=0;C<I.modeInfo.length;C++){var i=I.modeInfo[C];i.mimes&&(i.mime=i.mimes[0])}I.findModeByMIME=function(l){l=l.toLowerCase();for(var c=0;c<I.modeInfo.length;c++){var Z=I.modeInfo[c];if(Z.mime==l)return Z;if(Z.mimes){for(var b=0;b<Z.mimes.length;b++)if(Z.mimes[b]==l)return Z}}if(/\+xml$/.test(l))return I.findModeByMIME("application/xml");if(/\+json$/.test(l))return I.findModeByMIME("application/json")},I.findModeByExtension=function(l){l=l.toLowerCase();for(var c=0;c<I.modeInfo.length;c++){var Z=I.modeInfo[c];if(Z.ext){for(var b=0;b<Z.ext.length;b++)if(Z.ext[b]==l)return Z}}},I.findModeByFileName=function(l){for(var c=0;c<I.modeInfo.length;c++){var Z=I.modeInfo[c];if(Z.file&&Z.file.test(l))return Z}var b=l.lastIndexOf("."),a=b>-1&&l.substring(b+1,l.length);if(a)return I.findModeByExtension(a)},I.findModeByName=function(l){l=l.toLowerCase();for(var c=0;c<I.modeInfo.length;c++){var Z=I.modeInfo[c];if(Z.name.toLowerCase()==l)return Z;if(Z.alias){for(var b=0;b<Z.alias.length;b++)if(Z.alias[b].toLowerCase()==l)return Z}}}})}()),_Y.exports}(function(e,g){(function(I){I(OA(),Lr(),Tr())})(function(I){I.defineMode("markdown",function(C,i){var l=I.getMode(C,"text/html"),c=l.name=="null";function Z(L){if(I.findModeByName){var F=I.findModeByName(L);F&&(L=F.mime||F.mimes[0])}var ag=I.getMode(C,L);return ag.name=="null"?null:ag}i.highlightFormatting===void 0&&(i.highlightFormatting=!1),i.maxBlockquoteDepth===void 0&&(i.maxBlockquoteDepth=0),i.taskLists===void 0&&(i.taskLists=!1),i.strikethrough===void 0&&(i.strikethrough=!1),i.emoji===void 0&&(i.emoji=!1),i.fencedCodeBlockHighlighting===void 0&&(i.fencedCodeBlockHighlighting=!0),i.fencedCodeBlockDefaultMode===void 0&&(i.fencedCodeBlockDefaultMode="text/plain"),i.xml===void 0&&(i.xml=!0),i.tokenTypeOverrides===void 0&&(i.tokenTypeOverrides={});var b={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 a in b)b.hasOwnProperty(a)&&i.tokenTypeOverrides[a]&&(b[a]=i.tokenTypeOverrides[a]);var n=/^([*\-_])(?:\s*\1){2,}\s*$/,h=/^(?:[*\-+]|^[0-9]+([.)]))\s+/,B=/^\[(x| )\](?=\s)/i,u=i.allowAtxHeaderWithoutSpace?/^(#+)/:/^(#+)(?: |$)/,X=/^ {0,3}(?:\={1,}|-{2,})\s*$/,V=/^[^#!\[\]*_\\<>` "'(~:]+/,H=/^(~~~+|```+)[ \t]*([\w\/+#-]*)[^\n`]*$/,N=/^\s*\[[^\]]+?\]:.*$/,r=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\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]/,S=" ";function J(L,F,ag){return F.f=F.inline=ag,ag(L,F)}function k(L,F,ag){return F.f=F.block=ag,ag(L,F)}function Q(L){return!L||!/\S/.test(L.string)}function x(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==lg){var F=c;if(!F){var ag=I.innerMode(l,L.htmlState);F=ag.mode.name=="xml"&&ag.state.tagStart===null&&!ag.state.context&&ag.state.tokenize.isInText}F&&(L.f=E,L.block=$,L.htmlState=null)}return L.trailingSpace=0,L.trailingSpaceNewLine=!1,L.prevLine=L.thisLine,L.thisLine={stream:null},null}function $(L,F){var ag=L.column()===F.indentation,Yg=Q(F.prevLine.stream),eg=F.indentedCode,og=F.prevLine.hr,Kg=F.list!==!1,kg=(F.listStack[F.listStack.length-1]||0)+3;F.indentedCode=!1;var zI=F.indentation;if(F.indentationDiff===null&&(F.indentationDiff=F.indentation,Kg)){for(F.list=null;zI<F.listStack[F.listStack.length-1];)F.listStack.pop(),F.listStack.length?F.indentation=F.listStack[F.listStack.length-1]:F.list=!1;F.list!==!1&&(F.indentationDiff=zI-F.listStack[F.listStack.length-1])}var Xg=!Yg&&!og&&!F.prevLine.header&&(!Kg||!eg)&&!F.prevLine.fencedCodeEnd,fg=(F.list===!1||og||Yg)&&F.indentation<=kg&&L.match(n),mI=null;if(F.indentationDiff>=4&&(eg||F.prevLine.fencedCodeEnd||F.prevLine.header||Yg))return L.skipToEnd(),F.indentedCode=!0,b.code;if(L.eatSpace())return null;if(ag&&F.indentation<=kg&&(mI=L.match(u))&&mI[1].length<=6)return F.quote=0,F.header=mI[1].length,F.thisLine.header=!0,i.highlightFormatting&&(F.formatting="header"),F.f=F.inline,q(F);if(F.indentation<=kg&&L.eat(">"))return F.quote=ag?1:F.quote+1,i.highlightFormatting&&(F.formatting="quote"),L.eatSpace(),q(F);if(!fg&&!F.setext&&ag&&F.indentation<=kg&&(mI=L.match(h))){var dC=mI[1]?"ol":"ul";return F.indentation=zI+L.current().length,F.list=!0,F.quote=0,F.listStack.push(F.indentation),F.em=!1,F.strong=!1,F.code=!1,F.strikethrough=!1,i.taskLists&&L.match(B,!1)&&(F.taskList=!0),F.f=F.inline,i.highlightFormatting&&(F.formatting=["list","list-"+dC]),q(F)}else{if(ag&&F.indentation<=kg&&(mI=L.match(H,!0)))return F.quote=0,F.fencedEndRE=new RegExp(mI[1]+"+ *$"),F.localMode=i.fencedCodeBlockHighlighting&&Z(mI[2]||i.fencedCodeBlockDefaultMode),F.localMode&&(F.localState=I.startState(F.localMode)),F.f=F.block=cg,i.highlightFormatting&&(F.formatting="code-block"),F.code=-1,q(F);if(F.setext||(!Xg||!Kg)&&!F.quote&&F.list===!1&&!F.code&&!fg&&!N.test(L.string)&&(mI=L.lookAhead(1))&&(mI=mI.match(X)))return F.setext?(F.header=F.setext,F.setext=0,L.skipToEnd(),i.highlightFormatting&&(F.formatting="header")):(F.header=mI[0].charAt(0)=="="?1:2,F.setext=F.header),F.thisLine.header=!0,F.f=F.inline,q(F);if(fg)return L.skipToEnd(),F.hr=!0,F.thisLine.hr=!0,b.hr;if(L.peek()==="[")return J(L,F,v)}return J(L,F,F.inline)}function lg(L,F){var ag=l.token(L,F.htmlState);if(!c){var Yg=I.innerMode(l,F.htmlState);(Yg.mode.name=="xml"&&Yg.state.tagStart===null&&!Yg.state.context&&Yg.state.tokenize.isInText||F.md_inside&&L.current().indexOf(">")>-1)&&(F.f=E,F.block=$,F.htmlState=null)}return ag}function cg(L,F){var ag=F.listStack[F.listStack.length-1]||0,Yg=F.indentation<ag,eg=ag+3;if(F.fencedEndRE&&F.indentation<=eg&&(Yg||L.match(F.fencedEndRE))){i.highlightFormatting&&(F.formatting="code-block");var og;return Yg||(og=q(F)),F.localMode=F.localState=null,F.block=$,F.f=E,F.fencedEndRE=null,F.code=0,F.thisLine.fencedCodeEnd=!0,Yg?k(L,F,F.block):og}else return F.localMode?F.localMode.token(L,F.localState):(L.skipToEnd(),b.code)}function q(L){var F=[];if(L.formatting){F.push(b.formatting),typeof L.formatting=="string"&&(L.formatting=[L.formatting]);for(var ag=0;ag<L.formatting.length;ag++)F.push(b.formatting+"-"+L.formatting[ag]),L.formatting[ag]==="header"&&F.push(b.formatting+"-"+L.formatting[ag]+"-"+L.header),L.formatting[ag]==="quote"&&(!i.maxBlockquoteDepth||i.maxBlockquoteDepth>=L.quote?F.push(b.formatting+"-"+L.formatting[ag]+"-"+L.quote):F.push("error"))}if(L.taskOpen)return F.push("meta"),F.length?F.join(" "):null;if(L.taskClosed)return F.push("property"),F.length?F.join(" "):null;if(L.linkHref?F.push(b.linkHref,"url"):(L.strong&&F.push(b.strong),L.em&&F.push(b.em),L.strikethrough&&F.push(b.strikethrough),L.emoji&&F.push(b.emoji),L.linkText&&F.push(b.linkText),L.code&&F.push(b.code),L.image&&F.push(b.image),L.imageAltText&&F.push(b.imageAltText,"link"),L.imageMarker&&F.push(b.imageMarker)),L.header&&F.push(b.header,b.header+"-"+L.header),L.quote&&(F.push(b.quote),!i.maxBlockquoteDepth||i.maxBlockquoteDepth>=L.quote?F.push(b.quote+"-"+L.quote):F.push(b.quote+"-"+i.maxBlockquoteDepth)),L.list!==!1){var Yg=(L.listStack.length-1)%3;Yg?Yg===1?F.push(b.list2):F.push(b.list3):F.push(b.list1)}return L.trailingSpaceNewLine?F.push("trailing-space-new-line"):L.trailingSpace&&F.push("trailing-space-"+(L.trailingSpace%2?"a":"b")),F.length?F.join(" "):null}function Wg(L,F){if(L.match(V,!0))return q(F)}function E(L,F){var ag=F.text(L,F);if(typeof ag<"u")return ag;if(F.list)return F.list=null,q(F);if(F.taskList){var Yg=L.match(B,!0)[1]===" ";return Yg?F.taskOpen=!0:F.taskClosed=!0,i.highlightFormatting&&(F.formatting="task"),F.taskList=!1,q(F)}if(F.taskOpen=!1,F.taskClosed=!1,F.header&&L.match(/^#+$/,!0))return i.highlightFormatting&&(F.formatting="header"),q(F);var eg=L.next();if(F.linkTitle){F.linkTitle=!1;var og=eg;eg==="("&&(og=")"),og=(og+"").replace(/([.?*+^\[\]\\(){}|-])/g,"\\$1");var Kg="^\\s*(?:[^"+og+"\\\\]+|\\\\\\\\|\\\\.)"+og;if(L.match(new RegExp(Kg),!0))return b.linkHref}if(eg==="`"){var kg=F.formatting;i.highlightFormatting&&(F.formatting="code"),L.eatWhile("`");var zI=L.current().length;if(F.code==0&&(!F.quote||zI==1))return F.code=zI,q(F);if(zI==F.code){var Xg=q(F);return F.code=0,Xg}else return F.formatting=kg,q(F)}else if(F.code)return q(F);if(eg==="\\"&&(L.next(),i.highlightFormatting)){var fg=q(F),mI=b.formatting+"-escape";return fg?fg+" "+mI:mI}if(eg==="!"&&L.match(/\[[^\]]*\] ?(?:\(|\[)/,!1))return F.imageMarker=!0,F.image=!0,i.highlightFormatting&&(F.formatting="image"),q(F);if(eg==="["&&F.imageMarker&&L.match(/[^\]]*\](\(.*?\)| ?\[.*?\])/,!1))return F.imageMarker=!1,F.imageAltText=!0,i.highlightFormatting&&(F.formatting="image"),q(F);if(eg==="]"&&F.imageAltText){i.highlightFormatting&&(F.formatting="image");var fg=q(F);return F.imageAltText=!1,F.image=!1,F.inline=F.f=K,fg}if(eg==="["&&!F.image)return F.linkText&&L.match(/^.*?\]/)||(F.linkText=!0,i.highlightFormatting&&(F.formatting="link")),q(F);if(eg==="]"&&F.linkText){i.highlightFormatting&&(F.formatting="link");var fg=q(F);return F.linkText=!1,F.inline=F.f=L.match(/\(.*?\)| ?\[.*?\]/,!1)?K:E,fg}if(eg==="<"&&L.match(/^(https?|ftps?):\/\/(?:[^\\>]|\\.)+>/,!1)){F.f=F.inline=Ag,i.highlightFormatting&&(F.formatting="link");var fg=q(F);return fg?fg+=" ":fg="",fg+b.linkInline}if(eg==="<"&&L.match(/^[^> \\]+@(?:[^\\>]|\\.)+>/,!1)){F.f=F.inline=Ag,i.highlightFormatting&&(F.formatting="link");var fg=q(F);return fg?fg+=" ":fg="",fg+b.linkEmail}if(i.xml&&eg==="<"&&L.match(/^(!--|\?|!\[CDATA\[|[a-z][a-z0-9-]*(?:\s+[a-z_:.\-]+(?:\s*=\s*[^>]+)?)*\s*(?:>|$))/i,!1)){var dC=L.string.indexOf(">",L.pos);if(dC!=-1){var TA=L.string.substring(L.start,dC);/markdown\s*=\s*('|"){0,1}1('|"){0,1}/.test(TA)&&(F.md_inside=!0)}return L.backUp(1),F.htmlState=I.startState(l),k(L,F,lg)}if(i.xml&&eg==="<"&&L.match(/^\/\w*?>/))return F.md_inside=!1,"tag";if(eg==="*"||eg==="_"){for(var WC=1,wC=L.pos==1?" ":L.string.charAt(L.pos-2);WC<3&&L.eat(eg);)WC++;var XC=L.peek()||" ",wi=!/\s/.test(XC)&&(!r.test(XC)||/\s/.test(wC)||r.test(wC)),Sg=!/\s/.test(wC)&&(!r.test(wC)||/\s/.test(XC)||r.test(XC)),vC=null,ui=null;if(WC%2&&(!F.em&&wi&&(eg==="*"||!Sg||r.test(wC))?vC=!0:F.em==eg&&Sg&&(eg==="*"||!wi||r.test(XC))&&(vC=!1)),WC>1&&(!F.strong&&wi&&(eg==="*"||!Sg||r.test(wC))?ui=!0:F.strong==eg&&Sg&&(eg==="*"||!wi||r.test(XC))&&(ui=!1)),ui!=null||vC!=null){i.highlightFormatting&&(F.formatting=vC==null?"strong":ui==null?"em":"strong em"),vC===!0&&(F.em=eg),ui===!0&&(F.strong=eg);var Xg=q(F);return vC===!1&&(F.em=!1),ui===!1&&(F.strong=!1),Xg}}else if(eg===" "&&(L.eat("*")||L.eat("_"))){if(L.peek()===" ")return q(F);L.backUp(1)}if(i.strikethrough){if(eg==="~"&&L.eatWhile(eg)){if(F.strikethrough){i.highlightFormatting&&(F.formatting="strikethrough");var Xg=q(F);return F.strikethrough=!1,Xg}else if(L.match(/^[^\s]/,!1))return F.strikethrough=!0,i.highlightFormatting&&(F.formatting="strikethrough"),q(F)}else if(eg===" "&&L.match("~~",!0)){if(L.peek()===" ")return q(F);L.backUp(2)}}if(i.emoji&&eg===":"&&L.match(/^(?:[a-z_\d+][a-z_\d+-]*|\-[a-z_\d+][a-z_\d+-]*):/)){F.emoji=!0,i.highlightFormatting&&(F.formatting="emoji");var dc=q(F);return F.emoji=!1,dc}return eg===" "&&(L.match(/^ +$/,!1)?F.trailingSpace++:F.trailingSpace&&(F.trailingSpaceNewLine=!0)),q(F)}function Ag(L,F){var ag=L.next();if(ag===">"){F.f=F.inline=E,i.highlightFormatting&&(F.formatting="link");var Yg=q(F);return Yg?Yg+=" ":Yg="",Yg+b.linkInline}return L.match(/^[^>]+/,!0),b.linkInline}function K(L,F){if(L.eatSpace())return null;var ag=L.next();return ag==="("||ag==="["?(F.f=F.inline=_(ag==="("?")":"]"),i.highlightFormatting&&(F.formatting="link-string"),F.linkHref=!0,q(F)):"error"}var Ig={")":/^(?:[^\\\(\)]|\\.|\((?:[^\\\(\)]|\\.)*\))*?(?=\))/,"]":/^(?:[^\\\[\]]|\\.|\[(?:[^\\\[\]]|\\.)*\])*?(?=\])/};function _(L){return function(F,ag){var Yg=F.next();if(Yg===L){ag.f=ag.inline=E,i.highlightFormatting&&(ag.formatting="link-string");var eg=q(ag);return ag.linkHref=!1,eg}return F.match(Ig[L]),ag.linkHref=!0,q(ag)}}function v(L,F){return L.match(/^([^\]\\]|\\.)*\]:/,!1)?(F.f=U,L.next(),i.highlightFormatting&&(F.formatting="link"),F.linkText=!0,q(F)):J(L,F,E)}function U(L,F){if(L.match("]:",!0)){F.f=F.inline=dg,i.highlightFormatting&&(F.formatting="link");var ag=q(F);return F.linkText=!1,ag}return L.match(/^([^\]\\]|\\.)+/,!0),b.linkText}function dg(L,F){return L.eatSpace()?null:(L.match(/^[^\s]+/,!0),L.peek()===void 0?F.linkTitle=!0:L.match(/^(?:\s+(?:"(?:[^"\\]|\\.)+"|'(?:[^'\\]|\\.)+'|\((?:[^)\\]|\\.)+\)))?/,!0),F.f=F.inline=E,b.linkHref+" url")}var Bg={startState:function(){return{f:$,prevLine:{stream:null},thisLine:{stream:null},block:$,htmlState:null,indentation:0,inline:E,text:Wg,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&&I.copyState(l,L.htmlState),indentation:L.indentation,localMode:L.localMode,localState:L.localMode?I.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,F){if(F.formatting=!1,L!=F.thisLine.stream){if(F.header=0,F.hr=!1,L.match(/^\s*$/,!0))return x(F),null;if(F.prevLine=F.thisLine,F.thisLine={stream:L},F.taskList=!1,F.trailingSpace=0,F.trailingSpaceNewLine=!1,!F.localState&&(F.f=F.block,F.f!=lg)){var ag=L.match(/^\s*/,!0)[0].replace(/\t/g,S).length;if(F.indentation=ag,F.indentationDiff=null,ag>0)return null}}return F.f(L,F)},innerMode:function(L){return L.block==lg?{state:L.htmlState,mode:l}:L.localState?{state:L.localState,mode:L.localMode}:{state:L,mode:Bg}},indent:function(L,F,ag){return L.block==lg&&l.indent?l.indent(L.htmlState,F,ag):L.localState&&L.localMode.indent?L.localMode.indent(L.localState,F,ag):I.Pass},blankLine:x,getType:q,blockCommentStart:"<!--",blockCommentEnd:"-->",closeBrackets:"()[]{}''\"\"``",fold:"markdown"};return Bg},"xml"),I.defineMIME("text/markdown","markdown"),I.defineMIME("text/x-markdown","markdown")})})();const jr={name:"DebugTab",components:{codemirror:Lm.codemirror,FilePdfViewer:Th,OutputViewer:fY},props:{selectedSpan:{type:Object,required:!0},selectedSpanId:{type:String,required:!0}},data(){return{debugForm:{params:[],systemContent:"",userContent:""},debugSubmitting:!1,debugResponse:null,responsePreview:null,debugResponseIsError:!1,debugResponseKey:0,debugMarkdownKey:0,originalInputs:null,hasImageUrl:!1,submitImage:!0,sendFile:!0,cmOptions:{tabSize:2,mode:{name:"javascript",json:!0},theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},cmOptionsMarkdown:{tabSize:2,mode:"markdown",theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!1,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},tokenCalculating:!1,promptTokensResult:null,tokenCounterEnabled:!1}},computed:{promptTokensTableData(){if(!this.promptTokensResult)return[];const e=this.promptTokensResult;return[{key:"debug.specialTokens",value:e.special_tokens||"0"},{key:"debug.systemTokens",value:e.system_tokens||"0"},{key:"debug.userTokens",value:e.user_tokens||"0"},{key:"debug.assistantTokens",value:e.assistant_tokens||"0"},{key:"debug.textTokens",value:e.text_tokens||"0"}].map(I=>({name:this.$t(I.key),value:I.value})).filter(I=>I.value!=="0"&&I.value!==0)},rawInputs(){var e,g,I;return(I=(g=(e=this.selectedSpan)==null?void 0:e.parsedContent)==null?void 0:g.attributes)==null?void 0:I["langsword.spanInputs"]},targetUrl(){var g,I;const e=(I=(g=this.selectedSpan)==null?void 0:g.parsedContent)==null?void 0:I.attributes;return e&&e["url.full"]?e["url.full"]:null},clientHasFileInput(){var g;let e=!1;return this.originalInputs&&Object.keys(this.originalInputs).forEach(I=>{I.startsWith("__file__")&&(e=!0)}),((g=this.selectedSpan)==null?void 0:g.type)==="CLIENT"&&e}},watch:{selectedSpanId:{immediate:!0,handler(e,g){e&&e!==g&&this.$nextTick(()=>{this.initDebugForm()})}},"selectedSpan.parsedContent":{deep:!0,handler(){this.selectedSpan&&this.selectedSpanId&&this.$nextTick(()=>{this.initDebugForm()})}}},mounted(){this.selectedSpan&&this.selectedSpanId&&this.$nextTick(()=>{this.initDebugForm()}),this.fetchTracingSetting()},methods:{getMessageRoleLabel(e){const g={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return g[e]?this.$t(g[e]):e},copyContent(e){const g=e==="system"?this.debugForm.systemContent:this.debugForm.userContent;c0(g,this)},handleOutputCopy(e){c0(e,this)},initDebugForm(){var g,I;if(!this.selectedSpan)return;let e=(I=(g=this.selectedSpan)==null?void 0:g.parsedContent)==null?void 0:I.inputs;if(!e&&this.rawInputs)try{e=typeof this.rawInputs=="string"?JSON.parse(this.rawInputs):this.rawInputs}catch(C){console.error("Failed to parse rawInputs:",C);return}if(!e){console.warn("No inputs found for span:",this.selectedSpanId);return}if(this.originalInputs=JSON.parse(JSON.stringify(e)),this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"){this.debugForm.params=[],this.debugForm.systemContent="",this.debugForm.userContent="";let C=!1;this.originalInputs&&Object.keys(this.originalInputs).forEach(i=>{i.startsWith("__file__")&&(C=!0)}),this.sendFile=C,Object.keys(e).forEach(i=>{if(!i.startsWith("__file__")){const l=e[i];let c="";typeof l=="string"?c=l:typeof l=="boolean"||typeof l=="number"?c=String(l):c=JSON.stringify(l),this.debugForm.params.push({key:i,value:c})}})}else if(this.selectedSpan.type==="CHAT_MODEL")if(this.debugForm.params=[],this.hasImageUrl=!1,this.submitImage=!0,Object.keys(e).forEach(C=>{if(C!=="messages"){const i=e[C];let l="";typeof i=="string"?l=i:typeof i=="boolean"||typeof i=="number"?l=String(i):l=JSON.stringify(i),this.debugForm.params.push({key:C,value:l})}}),e.messages&&Array.isArray(e.messages)){const C=e.messages.find(l=>l.role==="system"),i=e.messages.find(l=>l.role==="user");if(C&&C.content?this.debugForm.systemContent=typeof C.content=="string"?C.content:"":this.debugForm.systemContent="",i&&i.content)if(Array.isArray(i.content)){const l=i.content.filter(Z=>Z.type==="text"&&Z.text).map(Z=>Z.text);this.debugForm.userContent=l.join(`
|
|
90
90
|
`);const c=i.content.some(Z=>Z.type==="image_url");this.hasImageUrl=c}else typeof i.content=="string"?this.debugForm.userContent=i.content:this.debugForm.userContent="";else this.debugForm.userContent=""}else this.debugForm.systemContent="",this.debugForm.userContent="";this.debugResponse=null,this.debugResponseIsError=!1,this.promptTokensResult=null,this.$nextTick(()=>{this.$refs.systemContentEditor&&this.$refs.systemContentEditor.codemirror&&this.$refs.systemContentEditor.codemirror.setValue(this.debugForm.systemContent||""),this.$refs.userContentEditor&&this.$refs.userContentEditor.codemirror&&this.$refs.userContentEditor.codemirror.setValue(this.debugForm.userContent||"")})},addDebugParam(){this.debugForm.params.push({key:"",value:""})},removeDebugParam(e){this.debugForm.params.splice(e,1)},handleDebugParamChange(){},resetDebugForm(){this.initDebugForm()},parseParamValue(e){if(e==="true"||e==="false")return e==="true";if(e==="")return"";{const g=Number(e);return!isNaN(g)&&isFinite(g)?g:e}},buildRequestHeaders(e){const g={};let I=null;const C=Object.keys(e).find(i=>i.toLowerCase()==="x-target-url");return C?(I=e[C],delete e[C]):this.targetUrl&&(I=this.targetUrl),I&&(g["X-Target-Url"]=I),g},handleDebugResponse(e){console.log("debug response:",e),this.debugResponse=e.original_response?JSON.parse(e.original_response):e,this.responsePreview=e.response_preview,this.debugResponseIsError=!1,this.$nextTick(()=>{this.debugResponseKey++})},handleDebugError(e){if(console.error("Debug request failed:",e),e.response&&e.response.data!==void 0){const g=e.response.data;this.debugResponse=typeof g=="object"&&g!==null?g:{_raw:g},this.debugResponseIsError=!0,this.$nextTick(()=>{this.debugResponseKey++})}else e.response&&e.response.data===void 0&&(this.debugResponse={_status:e.response.status,_statusText:e.response.statusText},this.debugResponseIsError=!0,this.$nextTick(()=>{this.debugResponseKey++}))},async submitDebugRequest(e){const g=this.buildRequestHeaders(e),I=await FC.debugTrace(e,g);this.handleDebugResponse(I)},async submitDebugClient(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const e={};this.sendFile&&this.originalInputs&&Object.keys(this.originalInputs).forEach(g=>{g.startsWith("__file__")&&this.originalInputs[g]&&(e[g]=this.originalInputs[g])}),this.debugForm.params.forEach(g=>{if(g.key&&g.key.trim()){const I=g.value?g.value.trim():"";e[g.key]=this.parseParamValue(I)}}),await this.submitDebugRequest(e)}catch(e){this.handleDebugError(e)}finally{this.debugSubmitting=!1}}},async submitDebugChatModel(){if(!(!this.selectedSpan||!this.originalInputs)){this.debugSubmitting=!0;try{const e=JSON.parse(JSON.stringify(this.originalInputs));if(this.debugForm.params.forEach(g=>{if(g.key&&g.key.trim()){const I=g.value?g.value.trim():"";e[g.key]=this.parseParamValue(I)}}),e.messages&&Array.isArray(e.messages)){const g=e.messages.find(C=>C.role==="system");g&&(g.content=this.debugForm.systemContent||"");const I=e.messages.find(C=>C.role==="user");if(I){const C=this.originalInputs.messages.find(l=>l.role==="user");if(C&&Array.isArray(C.content)){const l=[];this.submitImage&&Array.isArray(I.content)&&I.content.forEach(c=>{c.type==="image_url"&&l.push(c)}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&l.push({type:"text",text:this.debugForm.userContent}),I.content=l.length>0?l:this.debugForm.userContent||""}else I.content=this.debugForm.userContent||""}}await this.submitDebugRequest(e)}catch(e){this.handleDebugError(e)}finally{this.debugSubmitting=!1}}},async fetchTracingSetting(){try{const e=await FC.getSetting();this.tokenCounterEnabled=(e==null?void 0:e.token_counter_enabled)==="true"}catch{this.tokenCounterEnabled=!1}},async calculatePromptTokens(){if(!this.selectedSpan||this.selectedSpan.type!=="CHAT_MODEL")return;const e=[];if(this.debugForm.systemContent&&this.debugForm.systemContent.trim()&&e.push({role:"system",content:this.debugForm.systemContent.trim()}),this.debugForm.userContent&&this.debugForm.userContent.trim()&&e.push({role:"user",content:this.debugForm.userContent.trim()}),e.length===0){this.$message.warning("请至少填写系统提示词或用户提示词");return}const g=this.debugForm.params.find(C=>C.key&&C.key.trim().toLowerCase()==="model"),I={messages:e};g&&g.value&&g.value.trim()&&(I.model=g.value.trim()),this.tokenCalculating=!0;try{const C=await FC.getPromptTokens(I);this.promptTokensResult=C}catch(C){console.error("Token calculation failed:",C);let i="未知错误";if(C.response&&C.response.data){const l=C.response.data;typeof l=="object"&&l!==null&&l.message?i=l.message:C.message&&(i=C.message)}else C.message&&(i=C.message);this.$message.error("Token计算失败: "+i)}finally{this.tokenCalculating=!1}}}};var Qr=function(){var g=this,I=g._self._c;return I("div",{staticClass:"debug-content"},[g.selectedSpan.type==="CLIENT"||g.selectedSpan.type==="EMBEDDING"?I("div",{staticClass:"debug-client-form"},[I("el-form",{attrs:{model:g.debugForm,"label-width":"60px",size:"small"}},[g._l(g.debugForm.params,function(C,i){return I("div",{key:i,staticClass:"debug-form-row"},[I("el-form-item",{attrs:{label:`${g.$t("debug.paramLabel")} ${i+1}`}},[I("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[I("el-col",{attrs:{span:8}},[I("el-input",{attrs:{placeholder:g.$t("debug.paramName")},on:{input:g.handleDebugParamChange},model:{value:C.key,callback:function(l){g.$set(C,"key",l)},expression:"item.key"}})],1),I("el-col",{attrs:{span:14}},[I("el-input",{attrs:{placeholder:g.$t("debug.paramValue")},on:{input:g.handleDebugParamChange},model:{value:C.value,callback:function(l){g.$set(C,"value",l)},expression:"item.value"}})],1),I("el-col",{attrs:{span:2}},[I("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(l){return g.removeDebugParam(i)}}})],1)],1)],1)],1)}),g.clientHasFileInput?I("el-form-item",[I("el-checkbox",{model:{value:g.sendFile,callback:function(C){g.sendFile=C},expression:"sendFile"}},[g._v(g._s(g.$t("debug.sendFile")))])],1):g._e(),I("el-form-item",[I("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:g.addDebugParam}},[g._v(g._s(g.$t("debug.addParam")))]),I("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:g.resetDebugForm}},[g._v(g._s(g.$t("debug.reset")))]),I("el-button",{attrs:{type:"success",icon:"el-icon-check",size:"small",loading:g.debugSubmitting},on:{click:g.submitDebugClient}},[g._v(g._s(g.$t("debug.submit")))])],1)],2),g.debugResponse!==null?I("div",{staticClass:"debug-response"},[I("OutputViewer",{attrs:{value:g.debugResponse,"show-raw-toggle":!0,"is-error-response":g.debugResponseIsError,"preview-markdown":g.responsePreview,"support-file-elements":!0,title:g.$t("debug.responseResult"),"content-key":`${g.selectedSpanId}-${g.debugResponseKey}`},on:{copy:g.handleOutputCopy}})],1):g._e()],1):g._e(),g.selectedSpan.type==="CHAT_MODEL"?I("div",{staticClass:"debug-chat-model-form"},[I("el-form",{attrs:{model:g.debugForm,"label-width":"60px",size:"small"}},[I("el-form-item",{scopedSlots:g._u([{key:"label",fn:function(){return[I("span",[g._v(g._s(g.$t("debug.systemPrompt")))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(C){return g.copyContent("system")}}})],1)]},proxy:!0}],null,!1,671448622)},[I("codemirror",{key:`debug-system-${g.selectedSpanId}-${g.debugMarkdownKey}`,ref:"systemContentEditor",staticClass:"code-editor-wrapper markdown-editor",attrs:{options:g.cmOptionsMarkdown},model:{value:g.debugForm.systemContent,callback:function(C){g.$set(g.debugForm,"systemContent",C)},expression:"debugForm.systemContent"}})],1),I("el-form-item",{scopedSlots:g._u([{key:"label",fn:function(){return[I("span",[g._v(g._s(g.$t("debug.userPrompt")))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},on:{click:function(C){return g.copyContent("user")}}})],1)]},proxy:!0}],null,!1,1846549358)},[I("codemirror",{key:`debug-user-${g.selectedSpanId}-${g.debugMarkdownKey}`,ref:"userContentEditor",staticClass:"code-editor-wrapper markdown-editor",attrs:{options:g.cmOptionsMarkdown},model:{value:g.debugForm.userContent,callback:function(C){g.$set(g.debugForm,"userContent",C)},expression:"debugForm.userContent"}})],1),g.selectedSpan.type==="CHAT_MODEL"&&g.hasImageUrl?I("el-form-item",{attrs:{label:g.$t("debug.submitImage")}},[I("el-switch",{attrs:{"active-text":g.$t("debug.yes"),"inactive-text":g.$t("debug.no")},model:{value:g.submitImage,callback:function(C){g.submitImage=C},expression:"submitImage"}})],1):g._e(),g._l(g.debugForm.params,function(C,i){return I("div",{key:i,staticClass:"debug-form-row"},[I("el-form-item",{attrs:{label:`${g.$t("debug.paramLabel")} ${i+1}`}},[I("el-row",{attrs:{gutter:10,type:"flex",align:"middle"}},[I("el-col",{attrs:{span:8}},[I("el-input",{attrs:{placeholder:g.$t("debug.paramName")},on:{input:g.handleDebugParamChange},model:{value:C.key,callback:function(l){g.$set(C,"key",l)},expression:"item.key"}})],1),I("el-col",{attrs:{span:14}},[I("el-input",{attrs:{placeholder:g.$t("debug.paramValue")},on:{input:g.handleDebugParamChange},model:{value:C.value,callback:function(l){g.$set(C,"value",l)},expression:"item.value"}})],1),I("el-col",{attrs:{span:2}},[I("el-button",{staticClass:"delete-param-btn",attrs:{type:"danger",icon:"el-icon-delete",size:"small"},on:{click:function(l){return g.removeDebugParam(i)}}})],1)],1)],1)],1)}),I("el-form-item",[I("el-button",{attrs:{type:"primary",icon:"el-icon-plus",size:"small"},on:{click:g.addDebugParam}},[g._v(g._s(g.$t("debug.addParam")))]),I("el-button",{attrs:{type:"warning",icon:"el-icon-refresh",size:"small"},on:{click:g.resetDebugForm}},[g._v(g._s(g.$t("debug.reset")))]),I("el-button",{attrs:{type:"success",icon:"el-icon-check",size:"small",loading:g.debugSubmitting},on:{click:g.submitDebugChatModel}},[g._v(g._s(g.$t("debug.submit")))]),g.tokenCounterEnabled?I("el-tooltip",{attrs:{content:g.$t("debug.calculateTokensTooltip"),placement:"top"}},[I("el-button",{attrs:{type:"info",icon:"el-icon-cpu",size:"small",loading:g.tokenCalculating},on:{click:g.calculatePromptTokens}},[g._v(g._s(g.$t("debug.calculateTokens")))])],1):g._e()],1)],2),g.promptTokensResult!==null?I("div",{staticClass:"token-result-section"},[I("div",{staticClass:"token-result-header"},[g._v(g._s(g.$t("debug.tokenResultTitle")))]),I("el-table",{attrs:{data:g.promptTokensTableData,size:"small",border:""}},[I("el-table-column",{attrs:{prop:"name",label:g.$t("debug.tokenType"),width:"140"}}),I("el-table-column",{attrs:{prop:"value",label:g.$t("debug.tokenCount")}})],1)],1):g._e(),g.debugResponse!==null?I("div",{staticClass:"debug-response"},[I("OutputViewer",{attrs:{value:g.debugResponse,"show-raw-toggle":!0,"is-error-response":g.debugResponseIsError,"support-file-elements":!0,title:g.$t("debug.responseResult"),"content-key":`${g.selectedSpanId}-${g.debugResponseKey}`},on:{copy:g.handleOutputCopy}})],1):g._e()],1):g._e()])},vr=[],xr=yl(jr,Qr,vr,!1,null,"8d08f36c");const Or=xr.exports;Lg.setOptions({breaks:!0});const Ur={name:"TraceDetailDrawer",components:{TraceSpanTree:Em,DebugTab:Or,codemirror:Lm.codemirror,FilePdfViewer:Th,OutputViewer:fY},props:{visible:{type:Boolean,default:!1},currentTraceId:{type:String,default:null},traceInfo:{type:Object,default:()=>({})},spans:{type:Array,default:()=>[]},filteredSpans:{type:Array,default:()=>[]},selectedSpanId:{type:String,default:null},selectedSpan:{type:Object,default:null},loading:{type:Boolean,default:!1},spanHasNextPage:{type:Boolean,default:!1},spanLoadMoreLoading:{type:Boolean,default:!1},spanHasEvents:{type:Boolean,default:null},spanPageSize:{type:Number,default:100},traceStatusList:{type:Array,default:()=>[]},traceSpanTypeList:{type:Array,default:()=>[]},spanTypeFilter:{type:String,default:null}},data(){return{localVisible:this.visible,spanSearchQuery:"",activeTab:"io",activeCollapse:["inputs","outputs"],messageCollapse:[],rawIoCollapse:["rawInputs","rawOutputs"],rawInputsKey:0,rawOutputsKey:0,eventsCollapse:[],eventsKey:0,cmOptions:{tabSize:2,mode:{name:"javascript",json:!0},theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:2,styleActiveLine:!0,autoRefresh:!0},cmOptionsJava:{tabSize:4,mode:"text/x-java",theme:"monokai",lineNumbers:!0,lineWrapping:!0,readOnly:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,autoCloseBrackets:!0,indentUnit:4,styleActiveLine:!0,autoRefresh:!0},viewerOptions:{inline:!1,button:!0,navbar:!0,title:!0,toolbar:!0,tooltip:!0,movable:!0,zoomable:!0,rotatable:!0,scalable:!0,transition:!0,keyboard:!0,zIndex:9999}}},computed:{drawerTitle(){let e=this.traceInfo.trace_name;return e||(e=this.traceInfo.trace_id),e?this.$t("trace.traceDetail")+": "+e:this.$t("trace.traceDetail")},traceStartTime(){return this.spans.length===0?0:Math.min(...this.spans.map(e=>e.start_time_unix_nano))},traceEndTime(){return this.spans.length===0?0:Math.max(...this.spans.map(e=>e.end_time_unix_nano))},hasInputs(){var g,I,C,i;const e=(I=(g=this.selectedSpan)==null?void 0:g.parsedContent)==null?void 0:I.request_preview;return e!=null&&String(e).trim()!==""?!0:((i=(C=this.selectedSpan)==null?void 0:C.parsedContent)==null?void 0:i.inputs)!==void 0},hasOutputs(){var g,I,C,i;const e=(I=(g=this.selectedSpan)==null?void 0:g.parsedContent)==null?void 0:I.response_preview;return e!=null&&String(e).trim()!==""?!0:((i=(C=this.selectedSpan)==null?void 0:C.parsedContent)==null?void 0:i.outputs)!==void 0},showIOTab(){var a,n,h,B,u,X,V,H,N,r;if(!this.selectedSpan)return!1;const e=(n=(a=this.selectedSpan)==null?void 0:a.parsedContent)==null?void 0:n.request_preview,g=(B=(h=this.selectedSpan)==null?void 0:h.parsedContent)==null?void 0:B.response_preview,I=e!=null&&String(e).trim()!=="",C=g!=null&&String(g).trim()!=="";if(I||C)return!0;if(!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const l=(V=(X=(u=this.selectedSpan)==null?void 0:u.parsedContent)==null?void 0:X.attributes)==null?void 0:V["langsword.spanInputs"],c=(r=(N=(H=this.selectedSpan)==null?void 0:H.parsedContent)==null?void 0:N.attributes)==null?void 0:r["langsword.spanOutputs"],Z=l!=null&&l!=="",b=c!=null&&c!=="";return Z||b},attributesData(){var g,I;if(!((I=(g=this.selectedSpan)==null?void 0:g.parsedContent)!=null&&I.attributes))return[];const e=["http.response.body.size","http.request.body.size","http.request.header.Content-Length","http.response.header.content-length","http.request.header.content-length","http.response.header.Content-Length"];return Object.entries(this.selectedSpan.parsedContent.attributes).filter(([C])=>!C.startsWith("langsword.span")).filter(([,C])=>!(C===0||C==="0"||C==null||C===""||typeof C=="string"&&C.trim()==="")).map(([C,i])=>{let l;return e.includes(C)?l=this.formatBytes(i):typeof i=="string"?l=i:l=JSON.stringify(i,null,2),{key:C,value:l}}).sort((C,i)=>C.key.localeCompare(i.key))},rawInputs(){var e,g,I;return(I=(g=(e=this.selectedSpan)==null?void 0:e.parsedContent)==null?void 0:g.attributes)==null?void 0:I["langsword.spanInputs"]},rawOutputs(){var e,g,I;return(I=(g=(e=this.selectedSpan)==null?void 0:e.parsedContent)==null?void 0:g.attributes)==null?void 0:I["langsword.spanOutputs"]},clientInputsFileOnly(){var g,I,C;if(((g=this.selectedSpan)==null?void 0:g.type)!=="CLIENT")return!1;const e=(C=(I=this.selectedSpan)==null?void 0:I.parsedContent)==null?void 0:C.inputs;return e&&(this.extractFileRefs(e).length>0||this.extractImageBase64Refs(e).length>0)},clientOutputsFileOnly(){var g,I,C;if(((g=this.selectedSpan)==null?void 0:g.type)!=="CLIENT")return!1;const e=(C=(I=this.selectedSpan)==null?void 0:I.parsedContent)==null?void 0:C.outputs;return e&&(this.extractFileRefs(e).length>0||this.extractImageBase64Refs(e).length>0)},hasEvents(){var g,I,C;if(((g=this.selectedSpan)==null?void 0:g.has_events)!==void 0)return this.selectedSpan.has_events===!0;const e=(C=(I=this.selectedSpan)==null?void 0:I.parsedContent)==null?void 0:C.events;return e&&Array.isArray(e)&&e.length>0},spanEvents(){var g,I;const e=(I=(g=this.selectedSpan)==null?void 0:g.parsedContent)==null?void 0:I.events;return!e||!Array.isArray(e)?[]:e},showDebugTab(){var C,i,l;if(!this.selectedSpan||!(this.selectedSpan.type==="CLIENT"||this.selectedSpan.type==="EMBEDDING"||this.selectedSpan.type==="CHAT_MODEL"))return!1;const g=(l=(i=(C=this.selectedSpan)==null?void 0:C.parsedContent)==null?void 0:i.attributes)==null?void 0:l["langsword.spanInputs"];return g!=null&&g!==""}},watch:{visible(e){this.localVisible=e,e||(this.spanSearchQuery="")},localVisible(e){this.$emit("update:visible",e)},activeTab(e){e==="raw"&&this.$nextTick(()=>{this.rawInputsKey++,this.rawOutputsKey++}),e==="events"&&this.$nextTick(()=>{this.eventsKey++})},selectedSpan(){var C;if(!this.selectedSpan)return;const e=this.selectedSpan.has_events===!0||((C=this.selectedSpan.parsedContent)==null?void 0:C.events)&&Array.isArray(this.selectedSpan.parsedContent.events)&&this.selectedSpan.parsedContent.events.length>0,g=[];this.showIOTab&&g.push("io","raw"),this.showDebugTab&&g.push("debug"),g.push("attributes"),e&&g.push("events");let I="attributes";this.showIOTab&&(I="io"),g.includes(I)?this.activeTab=I:this.activeTab="attributes",this.$nextTick(()=>{this.updateCollapseStates(),this.activeTab==="raw"&&(this.rawInputsKey++,this.rawOutputsKey++),this.activeTab==="events"&&this.eventsKey++})}},methods:{renderMarkdown(e){return e?Lg(String(e)):""},copyToClipboard(e){c0(e,this)},copyMessageContent(e){let g="";if(typeof e=="string")g=e;else if(Array.isArray(e)){const I=e.filter(C=>C&&C.type==="text"&&C.text).map(C=>C.text);g=I.length>0?I.join(`
|
|
91
|
-
`):this.formatRawJson(e)}else g=this.formatRawJson(e);this.copyToClipboard(g)},formatBytes(e){const g=typeof e=="number"?e:Number(e);if(!Number.isFinite(g))return typeof e=="string"?e:JSON.stringify(e,null,2);const I=g<0?"-":"";let C=Math.abs(g);const i=["B","K","M","G","T","P","E"];if(C<1024)return`${I}${Math.round(C)}B`;let l=0;for(;C>=1024&&l<i.length-1;)C/=1024,l++;return`${I}${C.toFixed(2)}${i[l]}`},handleClose(e){this.$emit("close"),e&&typeof e=="function"&&e()},handleSpanSearch(){this.$emit("span-search",this.spanSearchQuery)},handleSpanTypeFilterChange(e){this.$emit("update:span-type-filter",e)},handleHasEventsChange(e){this.$emit("update:span-has-events",e?!0:null)},handleSpanSelect(e){this.$emit("span-select",e),this.$nextTick(()=>{this.updateCollapseStates()})},updateCollapseStates(){var I,C,i,l,c;this.activeCollapse=["inputs","outputs"],(i=(C=(I=this.selectedSpan)==null?void 0:I.parsedContent)==null?void 0:C.inputs)!=null&&i.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((Z,b)=>`message-${b}`):this.messageCollapse=[],this.rawIoCollapse=["rawInputs","rawOutputs"];const e=(c=(l=this.selectedSpan)==null?void 0:l.parsedContent)==null?void 0:c.events;e&&Array.isArray(e)&&e.length>0?this.eventsCollapse=e.map((Z,b)=>`event-${b}`):this.eventsCollapse=[]},parseContentData(e){const g={attributes:e.attributes||{},events:e.events||[],status:e.status||{}};if(e.inputs&&(g.inputs=e.inputs),e.outputs&&(g.outputs=e.outputs),e.request_preview!=null&&e.request_preview!==""&&(g.request_preview=e.request_preview),e.response_preview!=null&&e.response_preview!==""&&(g.response_preview=e.response_preview),g.attributes){const I=g.attributes["langsword.spanInputs"],C=g.attributes["langsword.spanOutputs"];if(I)try{g.inputs=typeof I=="string"?JSON.parse(I):I}catch{try{const l=I.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.inputs=JSON.parse(l)}catch{g.inputs=I}}if(C)try{g.outputs=typeof C=="string"?JSON.parse(C):C}catch{try{const l=C.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.outputs=JSON.parse(l)}catch{g.outputs=C}}}return g},getStatusType(e){if(!e)return"info";const g=e.toUpperCase();return g==="OK"||g==="SUCCESS"?"success":g==="ERROR"||g==="FAILED"?"danger":g==="WARNING"||g==="WARN"?"warning":"info"},getStatusLabel(e){if(!e)return"-";const g=this.traceStatusList.find(I=>I.value===e);return g?g.label:e},getTraceSpanTypeLabel(e){if(e==null||e==="")return"-";const g=this.traceSpanTypeList.find(I=>I.value===e);return g?g.label:e},formatNanoDuration(e){if(!e)return"-";const g=e/1e6;return g<1e3?`${g.toFixed(2)}ms`:g<6e4?`${(g/1e3).toFixed(2)}s`:`${(g/6e4).toFixed(2)}min`},formatTimestamp(e){if(!e)return"-";const g=typeof e=="string"?parseInt(e,10):e,I=new Date(g);return isNaN(I.getTime())?"-":I.toLocaleString("zh-CN")},formatEventTimestamp(e){if(!e)return"-";const g=e/1e6,I=new Date(g);return isNaN(I.getTime())?"-":I.toLocaleString("zh-CN")},getEventAttributesData(e){return!e||!e.attributes?[]:Object.entries(e.attributes).map(([g,I])=>({key:g,value:typeof I=="string"?I:JSON.stringify(I,null,2)}))},getOtherEventAttributes(e){if(!e||!e.attributes)return[];const g=["exception.type","exception.message","exception.stacktrace"];return Object.entries(e.attributes).filter(([I])=>!g.includes(I)).map(([I,C])=>({key:I,value:typeof C=="string"?C:JSON.stringify(C,null,2)}))},formatRawJson(e){if(!e)return"";if(typeof e=="string")try{const g=JSON.parse(e);return JSON.stringify(g,null,2)}catch{return e}return JSON.stringify(e,null,2)},getMessageIcon(e){return{user:"el-icon-user",assistant:"el-icon-service",system:"el-icon-setting"}[e]||"el-icon-document"},getMessageRoleLabel(e){const g={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return g[e]?this.$t(g[e]):e},extractImagesFromObject(e,g=[],I=""){if(!(!e||typeof e!="object")){for(const[C,i]of Object.entries(e)){const l=I?`${I}.${C}`:C;typeof i=="string"&&i.trim()!==""?(i.startsWith("data:image/")||i.startsWith("/9j/")||i.startsWith("iVBOR")||i.startsWith("R0lGOD"))&&(g.push({path:l,value:i,label:C==="content"&&I?`${I.split(".").pop()}: ${C}`:C}),e[C]="[IMAGE_DATA]"):i&&typeof i=="object"&&!Array.isArray(i)?this.extractImagesFromObject(i,g,l):Array.isArray(i)&&i.forEach((c,Z)=>{c&&typeof c=="object"&&this.extractImagesFromObject(c,g,`${l}[${Z}]`)})}return g}},extractFileRefs(e,g=[]){if(!e||typeof e!="object")return g;for(const[I,C]of Object.entries(e))I.startsWith("__file__")&&C!=null?Array.isArray(C)?C.forEach(i=>{i!=null&&typeof i=="string"&&i.trim()!==""&&g.push(i.trim())}):typeof C=="string"&&C.trim()!==""&&g.push(C.trim()):C&&typeof C=="object"&&!Array.isArray(C)?this.extractFileRefs(C,g):Array.isArray(C)&&C.forEach(i=>{i&&typeof i=="object"&&this.extractFileRefs(i,g)});return g},extractImageBase64Refs(e,g=[]){if(!e||typeof e!="object")return g;for(const[I,C]of Object.entries(e))I==="image_base64"&&C!=null&&typeof C=="string"&&C.trim()!==""?g.push(C.trim()):C&&typeof C=="object"&&!Array.isArray(C)?this.extractImageBase64Refs(C,g):Array.isArray(C)&&C.forEach(i=>{i&&typeof i=="object"&&this.extractImageBase64Refs(i,g)});return g},getFileExtension(e){if(!e||typeof e!="string")return"";const g=e.lastIndexOf(".");return g>=0?e.slice(g+1).toLowerCase():""},buildFileElements(e,g="file"){const I=["jpg","jpeg","png","gif","webp","bmp","svg"],C=[];return e.forEach((i,l)=>{const c=this.getFileExtension(i),Z=d0(i),b=decodeURIComponent(i.split("/").pop()||i);I.includes(c)?C.push({type:"file-image",downloadUrl:Z,key:`${g}-image-${l}`}):c==="pdf"?C.push({type:"file-pdf",downloadUrl:Z,key:`${g}-pdf-${l}`}):C.push({type:"file-download",downloadUrl:Z,filename:b,key:`${g}-download-${l}`})}),C},renderStructuredContent(e,g=!1){const I=[];if(!e)return I;const C=this.extractFileRefs(e);if(C.length>0&&I.push(...this.buildFileElements(C,"file")),e.data&&Array.isArray(e.data.result))e.data.result.forEach((i,l)=>{i.image_base64&&i.image_base64.trim()!==""&&I.push({type:"image",url:this.formatBase64Image(i.image_base64),key:`result-page-${l}`,label:i.page_num!==void 0?`Page ${i.page_num}`:`Result ${l}`}),i.seals&&Array.isArray(i.seals)&&i.seals.forEach((c,Z)=>{c.image_base64&&c.image_base64.trim()!==""&&I.push({type:"image",url:this.formatBase64Image(c.image_base64),key:`result-seal-${l}-${Z}`,label:`印章文字: ${c.value||Z}`})})});else{const i=this.extractImageBase64Refs(e);i.length>0&&i.forEach((l,c)=>{I.push({type:"image",url:this.formatBase64Image(l),key:`base64-image-${c}`})})}if(g)return I;try{if(Array.isArray(e))e.forEach((i,l)=>{var c;i&&typeof i=="object"?i.type==="text"&&i.text?I.push({type:"markdown",content:Lg(i.text),key:`text-${l}`}):i.type==="image_url"&&((c=i.image_url)!=null&&c.url)?I.push({type:"image",url:i.image_url.url,key:`image-${l}`}):i.image_base64&&i.image_base64.trim()!==""?I.push({type:"image",url:this.formatBase64Image(i.image_base64),key:`base64-image-${l}`}):I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(i,null,2)+"\n```"),key:`json-${l}`}):I.push({type:"markdown",content:Lg(String(i)),key:`text-${l}`})});else if(typeof e=="string")I.push({type:"markdown",content:Lg(e),key:"text-0"});else if(typeof e=="object")if(e.data&&Array.isArray(e.data.result)){const i=JSON.parse(JSON.stringify(e)),l=[];i.data&&i.data.result&&i.data.result.forEach((c,Z)=>{c.image_base64&&c.image_base64.trim()!==""&&(l.push({type:"page",image_base64:c.image_base64,page_num:c.page_num,label:c.page_num!==void 0?`Page ${c.page_num}`:`Result ${Z}`}),c.image_base64="[BASE64_IMAGE_DATA]"),c.seals&&Array.isArray(c.seals)&&c.seals.forEach((b,a)=>{b.image_base64&&b.image_base64.trim()!==""&&(l.push({type:"seal",image_base64:b.image_base64,page_num:c.page_num,seal_index:a,seal_value:b.value,label:`印章文字: ${b.value||a}`}),b.image_base64="[BASE64_IMAGE_DATA]")})}),I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(i,null,2)+"\n```"),key:"json-0"}),l.forEach((c,Z)=>{I.push({type:"image",url:this.formatBase64Image(c.image_base64),key:`result-image-${Z}`,label:c.label})})}else{const i=JSON.parse(JSON.stringify(e)),l=[];this.extractImagesFromObject(i,l),I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(i,null,2)+"\n```"),key:"json-0"}),l.forEach((c,Z)=>{I.push({type:"image",url:this.formatBase64Image(c.value),key:`extracted-image-${Z}`,label:c.label})})}else I.push({type:"markdown",content:Lg(String(e)),key:"text-0"})}catch(i){console.error("Error rendering content:",i),I.push({type:"markdown",content:Lg("Error rendering content"),key:"error-0"})}return I},formatBase64Image(e){return e?e.startsWith("data:image")?e:e.startsWith("/9j/")?`data:image/jpeg;base64,${e}`:e.startsWith("iVBOR")?`data:image/png;base64,${e}`:e.startsWith("R0lGOD")?`data:image/gif;base64,${e}`:`data:image/jpeg;base64,${e}`:""},handleImageClick(e){UY({options:this.viewerOptions,images:[e]})}}};var fr=function(){var C,i,l,c,Z,b,a,n,h,B,u,X;var g=this,I=g._self._c;return I("el-drawer",{attrs:{visible:g.localVisible,"with-header":!0,title:g.drawerTitle,size:"90%",direction:"rtl","before-close":g.handleClose},on:{"update:visible":function(V){g.localVisible=V}}},[g.currentTraceId?I("div",{directives:[{name:"loading",rawName:"v-loading",value:g.loading,expression:"loading"}],staticClass:"trace-detail-content",attrs:{"element-loading-text":"加载中..."}},[I("div",{staticClass:"trace-info-section"},[I("el-descriptions",{attrs:{column:3,border:""}},[I("el-descriptions-item",{attrs:{label:g.$t("trace.traceId")}},[g._v(g._s(g.traceInfo.trace_id))]),I("el-descriptions-item",{attrs:{label:g.$t("trace.status")}},[I("el-tag",{attrs:{type:g.getStatusType(g.traceInfo.status),size:"mini"}},[g._v(" "+g._s(g.getStatusLabel(g.traceInfo.status))+" ")])],1),I("el-descriptions-item",{attrs:{label:g.$t("trace.executionTime")}},[g._v(" "+g._s(g.formatNanoDuration(g.traceInfo.execution_time_ms))+" ")]),I("el-descriptions-item",{attrs:{label:g.$t("trace.timeCreated")}},[g._v(" "+g._s(g.formatTimestamp(g.traceInfo.timestamp_ms))+" ")]),I("el-descriptions-item",{attrs:{label:g.$t("trace.experimentName")}},[g._v(g._s(g.traceInfo.experiment_name))]),I("el-descriptions-item",{attrs:{label:g.$t("trace.traceType")}},[I("el-tag",{attrs:{size:"mini",type:"info"}},[g._v(g._s(g.getTraceSpanTypeLabel(g.traceInfo.trace_type)))])],1),I("el-descriptions-item",{attrs:{label:g.$t("trace.traceName"),span:2}},[g._v(" "+g._s(g.traceInfo.trace_name||"-")+" ")])],1)],1),I("el-divider"),I("el-row",{attrs:{gutter:20}},[I("el-col",{staticClass:"span-tree-col",attrs:{span:8}},[I("el-card",[I("div",{staticClass:"span-search-header",attrs:{slot:"header"},slot:"header"},[I("el-input",{staticClass:"span-search-input",attrs:{placeholder:g.$t("span.searchTree"),"prefix-icon":"el-icon-search",size:"small",clearable:""},on:{input:g.handleSpanSearch},model:{value:g.spanSearchQuery,callback:function(V){g.spanSearchQuery=V},expression:"spanSearchQuery"}}),I("el-select",{staticClass:"span-type-select",attrs:{value:g.spanTypeFilter,size:"small",clearable:"",placeholder:g.$t("trace.traceType")},on:{input:g.handleSpanTypeFilterChange}},g._l(g.traceSpanTypeList,function(V){return I("el-option",{key:V.value,attrs:{label:V.label,value:V.value}})}),1),I("el-checkbox",{attrs:{value:g.spanHasEvents===!0,size:"small"},on:{change:g.handleHasEventsChange}},[g._v(" "+g._s(g.$t("span.hasEvents"))+" ")])],1),I("TraceSpanTree",{attrs:{spans:g.filteredSpans,"selected-span-id":g.selectedSpanId,"trace-start-time":g.traceStartTime,"trace-end-time":g.traceEndTime,"span-type-list":g.traceSpanTypeList},on:{"span-select":g.handleSpanSelect}}),g.spanHasNextPage?I("div",{staticClass:"span-load-more"},[I("el-button",{attrs:{type:"primary",size:"mini",loading:g.spanLoadMoreLoading},on:{click:function(V){return g.$emit("span-load-more")}}},[g._v(" 加载更多 ")]),I("el-select",{staticClass:"span-page-size-select",attrs:{value:g.spanPageSize,size:"mini"},on:{input:function(V){return g.$emit("update:span-page-size",V)}}},[I("el-option",{attrs:{label:1e3,value:1e3}}),I("el-option",{attrs:{label:2e3,value:2e3}}),I("el-option",{attrs:{label:5e3,value:5e3}}),I("el-option",{attrs:{label:1e4,value:1e4}})],1)],1):g._e()],1)],1),I("el-col",{staticClass:"span-detail-col",attrs:{span:16}},[I("el-card",[g.selectedSpan?I("div",{staticClass:"span-detail-content"},[I("el-tabs",{key:`tabs-${g.selectedSpanId}`,model:{value:g.activeTab,callback:function(V){g.activeTab=V},expression:"activeTab"}},[g.showIOTab?I("el-tab-pane",{attrs:{label:`${g.$t("trace.inputs")} / ${g.$t("trace.outputs")}`,name:"io"}},[I("div",{staticClass:"io-content"},[g.hasInputs?I("div",{staticClass:"io-section"},[I("el-collapse",{model:{value:g.activeCollapse,callback:function(V){g.activeCollapse=V},expression:"activeCollapse"}},[I("el-collapse-item",{attrs:{name:"inputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.inputs")))]),(C=g.selectedSpan.parsedContent)!=null&&C.request_preview||!((l=(i=g.selectedSpan.parsedContent)==null?void 0:i.inputs)!=null&&l.messages)?I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){var H;V.stopPropagation(),g.copyToClipboard((H=g.selectedSpan.parsedContent)!=null&&H.request_preview?g.selectedSpan.parsedContent.request_preview:g.formatRawJson(g.selectedSpan.parsedContent.inputs))}}})],1):g._e()],1),(c=g.selectedSpan.parsedContent)!=null&&c.request_preview?I("div",{staticClass:"structured-content preview-content"},[I("div",{staticClass:"content-element"},[I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(g.renderMarkdown(g.selectedSpan.parsedContent.request_preview))}})])]):g.clientInputsFileOnly?I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(g.selectedSpan.parsedContent.inputs,!0),function(V){return I("div",{key:V.key,staticClass:"content-element"},[V.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(V.content)}}):V.type==="image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.url,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.url)}}})]):V.type==="file-image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.downloadUrl,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.downloadUrl)}}})]):V.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:V}})],1):V.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:V.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(V.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0):(b=(Z=g.selectedSpan.parsedContent)==null?void 0:Z.inputs)!=null&&b.messages?I("div",{staticClass:"messages-section"},g._l(g.selectedSpan.parsedContent.inputs.messages,function(V,H){return I("div",{key:H,staticClass:"message-item"},[I("el-collapse",{model:{value:g.messageCollapse,callback:function(N){g.messageCollapse=N},expression:"messageCollapse"}},[I("el-collapse-item",{attrs:{name:`message-${H}`}},[I("template",{slot:"title"},[I("i",{staticClass:"message-icon",class:g.getMessageIcon(V.role)}),I("span",{staticClass:"message-role"},[g._v(g._s(g.getMessageRoleLabel(V.role)))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(N){return N.stopPropagation(),g.copyMessageContent(V.content)}}})],1)],1),I("div",{staticClass:"message-content"},[I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(V.content),function(N){return I("div",{key:N.key,staticClass:"content-element"},[N.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(N.content)}}):N.type==="image"?I("div",{staticClass:"image-content"},[N.label?I("div",{staticClass:"image-label"},[g._v(g._s(N.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:N.url,alt:"content image"},on:{click:function(r){return g.handleImageClick(N.url)}}})]):N.type==="file-image"?I("div",{staticClass:"image-content"},[N.label?I("div",{staticClass:"image-label"},[g._v(g._s(N.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:N.downloadUrl,alt:"content image"},on:{click:function(r){return g.handleImageClick(N.downloadUrl)}}})]):N.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:N}})],1):N.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:N.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(N.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0)])],2)],1)],1)}),0):(a=g.selectedSpan.parsedContent)!=null&&a.inputs?I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(g.selectedSpan.parsedContent.inputs),function(V){return I("div",{key:V.key,staticClass:"content-element"},[V.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(V.content)}}):V.type==="image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.url,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.url)}}})]):V.type==="file-image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.downloadUrl,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.downloadUrl)}}})]):V.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:V}})],1):V.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:V.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(V.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0):I("div",{staticClass:"empty-content"},[I("el-empty",{attrs:{description:g.$t("trace.noInputs"),"image-size":80}})],1)],2)],1)],1):g._e(),g.hasOutputs?I("div",{staticClass:"io-section"},[I("el-collapse",{model:{value:g.activeCollapse,callback:function(V){g.activeCollapse=V},expression:"activeCollapse"}},[I("el-collapse-item",{attrs:{name:"outputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.outputs")))]),(n=g.selectedSpan.parsedContent)!=null&&n.response_preview||!((B=(h=g.selectedSpan.parsedContent)==null?void 0:h.outputs)!=null&&B.choices)?I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){var H;V.stopPropagation(),g.copyToClipboard((H=g.selectedSpan.parsedContent)!=null&&H.response_preview?g.selectedSpan.parsedContent.response_preview:g.formatRawJson(g.selectedSpan.parsedContent.outputs))}}})],1):g._e()],1),((u=g.selectedSpan.parsedContent)==null?void 0:u.outputs)!==void 0?I("OutputViewer",{attrs:{value:g.selectedSpan.parsedContent.outputs,"preview-markdown":(X=g.selectedSpan.parsedContent)==null?void 0:X.response_preview,"file-only":g.clientOutputsFileOnly,"support-file-elements":!0,"show-raw-toggle":!1,"content-key":g.selectedSpanId},on:{copy:g.copyToClipboard}}):I("div",{staticClass:"empty-content"},[I("el-empty",{attrs:{description:g.$t("trace.noOutputs"),"image-size":80}})],1)],2)],1)],1):g._e(),!g.hasInputs&&!g.hasOutputs?I("div",{staticClass:"empty-io"},[I("el-empty",{attrs:{description:g.$t("trace.noIoData")}})],1):g._e()])]):g._e(),I("el-tab-pane",{attrs:{label:g.$t("trace.attributes"),name:"attributes"}},[I("el-table",{staticClass:"attributes-table",attrs:{data:g.attributesData,border:"",stripe:""}},[I("el-table-column",{attrs:{prop:"key",label:g.$t("trace.key"),width:"250"},scopedSlots:g._u([{key:"default",fn:function(V){return[I("el-tooltip",{attrs:{content:V.row.key,placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[I("span",{staticClass:"attribute-key"},[g._v(g._s(V.row.key))])])]}}],null,!1,688878823)}),I("el-table-column",{attrs:{prop:"value",label:g.$t("trace.value")},scopedSlots:g._u([{key:"default",fn:function(V){return[I("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[I("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[g._v(g._s(V.row.value))]),I("div",{staticClass:"attribute-value"},[g._v(g._s(V.row.value))])])]}}],null,!1,4281519148)})],1)],1),g.showIOTab?I("el-tab-pane",{attrs:{label:g.$t("trace.rawInputsOutputs"),name:"raw"}},[g.activeTab==="raw"?I("div",{staticClass:"raw-io-content"},[g.rawInputs?I("div",{staticClass:"raw-io-section"},[I("el-collapse",{model:{value:g.rawIoCollapse,callback:function(V){g.rawIoCollapse=V},expression:"rawIoCollapse"}},[I("el-collapse-item",{attrs:{name:"rawInputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.rawInputs")))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){V.stopPropagation(),g.copyToClipboard(g.formatRawJson(g.rawInputs))}}})],1)],1),I("codemirror",{key:`raw-inputs-${g.selectedSpanId}-${g.rawInputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:g.formatRawJson(g.rawInputs),options:g.cmOptions}})],2)],1)],1):g._e(),g.rawOutputs?I("div",{staticClass:"raw-io-section"},[I("el-collapse",{model:{value:g.rawIoCollapse,callback:function(V){g.rawIoCollapse=V},expression:"rawIoCollapse"}},[I("el-collapse-item",{attrs:{name:"rawOutputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.rawOutputs")))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){V.stopPropagation(),g.copyToClipboard(g.formatRawJson(g.rawOutputs))}}})],1)],1),I("codemirror",{key:`raw-outputs-${g.selectedSpanId}-${g.rawOutputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:g.formatRawJson(g.rawOutputs),options:g.cmOptions}})],2)],1)],1):g._e(),!g.rawInputs&&!g.rawOutputs?I("div",{staticClass:"empty-raw-io"},[I("el-empty",{attrs:{description:g.$t("trace.noIoData")}})],1):g._e()]):g._e()]):g._e(),g.showDebugTab?I("el-tab-pane",{attrs:{label:"快速调试",name:"debug"}},[I("DebugTab",{directives:[{name:"show",rawName:"v-show",value:g.activeTab==="debug",expression:"activeTab === 'debug'"}],attrs:{"selected-span":g.selectedSpan,"selected-span-id":g.selectedSpanId}})],1):g._e(),g.hasEvents?I("el-tab-pane",{attrs:{label:g.$t("trace.events"),name:"events"}},[g.activeTab==="events"?I("div",{staticClass:"events-content"},[I("el-collapse",{model:{value:g.eventsCollapse,callback:function(V){g.eventsCollapse=V},expression:"eventsCollapse"}},g._l(g.spanEvents,function(V,H){return I("el-collapse-item",{key:`event-${H}`,attrs:{name:`event-${H}`}},[I("template",{slot:"title"},[I("div",{staticClass:"event-header"},[I("el-tag",{staticClass:"event-name-tag",attrs:{type:V.name==="exception"?"danger":"info",size:"mini"}},[g._v(" "+g._s(V.name)+" ")]),I("span",{staticClass:"event-time"},[g._v(g._s(g.formatEventTimestamp(V.timestamp)))])],1)]),I("div",{staticClass:"event-detail"},[V.name==="exception"?I("div",{staticClass:"exception-content"},[V.attributes["exception.type"]?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.exceptionType")))]),I("div",{staticClass:"field-value exception-type"},[g._v(g._s(V.attributes["exception.type"]))])]):g._e(),V.attributes["exception.message"]?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.exceptionMessage")))]),I("div",{staticClass:"field-value exception-message"},[g._v(g._s(V.attributes["exception.message"]))])]):g._e(),V.attributes["exception.stacktrace"]?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.exceptionStacktrace")))]),I("codemirror",{key:`stacktrace-${g.selectedSpanId}-${H}-${g.eventsKey}`,staticClass:"code-editor-wrapper stacktrace-editor",attrs:{value:V.attributes["exception.stacktrace"],options:g.cmOptionsJava}})],1):g._e(),g.getOtherEventAttributes(V).length>0?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.otherAttributes")))]),I("el-table",{attrs:{data:g.getOtherEventAttributes(V),border:"",stripe:"",size:"mini"}},[I("el-table-column",{attrs:{prop:"key",label:g.$t("trace.key"),width:"200"}}),I("el-table-column",{attrs:{prop:"value",label:g.$t("trace.value")}})],1)],1):g._e()]):I("div",{staticClass:"general-event-content"},[I("el-table",{attrs:{data:g.getEventAttributesData(V),border:"",stripe:"",size:"mini"}},[I("el-table-column",{attrs:{prop:"key",label:g.$t("trace.key"),width:"200"},scopedSlots:g._u([{key:"default",fn:function(N){return[I("el-tooltip",{attrs:{content:N.row.key,placement:"top","open-delay":500}},[I("span",{staticClass:"attribute-key"},[g._v(g._s(N.row.key))])])]}}],null,!0)}),I("el-table-column",{attrs:{prop:"value",label:g.$t("trace.value")},scopedSlots:g._u([{key:"default",fn:function(N){return[I("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[I("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[g._v(g._s(N.row.value))]),I("div",{staticClass:"attribute-value"},[g._v(g._s(N.row.value))])])]}}],null,!0)})],1)],1)])],2)}),1),g.spanEvents.length===0?I("div",{staticClass:"empty-events"},[I("el-empty",{attrs:{description:g.$t("trace.noEvents")}})],1):g._e()],1):g._e()]):g._e()],1)],1):I("el-empty",{attrs:{description:g.$t("trace.selectSpan")}})],1)],1)],1)],1):g._e()])},Er=[],Pr=yl(Ur,fr,Er,!1,null,"bf579a56");const _r={name:"Trace",components:{TraceDetailDrawer:Pr.exports},data(){return{traceList:[],filteredTraceList:[],searchQuery:"",dateRange:null,selectedStatus:null,selectedTraceType:null,sortProp:"timestamp_ms",sortOrder:"descending",traceStatusList:[],traceSpanTypeList:[],experimentList:[],selectedExperimentId:null,loading:!1,deleteLoading:!1,exportLoading:!1,importLoading:!1,showColumnDialog:!1,selectedColumns:["trace_id","timestamp_ms","status","execution_time_ms","trace_type","trace_name","experiment_name"],visibleColumns:{trace_id:!0,timestamp_ms:!0,status:!0,execution_time_ms:!0,trace_type:!0,trace_name:!0,experiment_name:!0},drawerVisible:!1,currentTraceId:null,traceInfo:{},spans:[],filteredSpans:[],spanSearchQuery:"",selectedSpanTypeFilter:null,spanHasEvents:null,selectedSpanId:null,selectedSpan:null,activeTab:"io",drawerLoading:!1,spanPageNum:1,spanPageSize:1e3,spanHasNextPage:!1,spanLoadMoreLoading:!1,messageCollapse:[],eventsCollapse:[],pageNum:1,pageSize:10,total:0,autoRefreshEnabled:!1,autoRefreshInterval:10,autoRefreshTimer:null,selectedRows:[],pickerOptions:{shortcuts:[{text:"近7天",onClick(e){const g=new Date,I=new Date;I.setTime(I.getTime()-3600*1e3*24*7),e.$emit("pick",[I,g])}},{text:"近30天",onClick(e){const g=new Date,I=new Date;I.setTime(I.getTime()-3600*1e3*24*30),e.$emit("pick",[I,g])}},{text:"7天前",onClick(e){const g=new Date;g.setTime(g.getTime()-3600*1e3*24*7),g.setHours(23,59,59,999);const I=g.getTime();e.$emit("pick",[null,I])}},{text:"30天前",onClick(e){const g=new Date;g.setTime(g.getTime()-3600*1e3*24*30),g.setHours(23,59,59,999);const I=g.getTime();e.$emit("pick",[null,I])}}]}}},computed:{},watch:{autoRefreshEnabled(e){e?this.startAutoRefresh():this.stopAutoRefresh()},spanHasEvents(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},spanPageSize(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},selectedSpanTypeFilter(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)}},mounted(){this.loadDictList(),this.loadExperiments(),this.loadTraceList()},beforeDestroy(){this.stopAutoRefresh()},methods:{async loadTraceList(){this.loading=!0;try{let e=null,g=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(e=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]!==""&&(g=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(g=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)));const I=this.sortProp&&this.sortOrder?this.sortOrder==="descending"?"-"+this.sortProp:this.sortProp:"",C=await FC.getTraceList(this.searchQuery,e,g,this.pageNum,this.pageSize,this.selectedExperimentId,this.selectedStatus,this.selectedTraceType,I),i=Array.isArray(C==null?void 0:C.list)?C.list:[];this.traceList=i,this.filteredTraceList=i,this.total=parseInt((C==null?void 0:C.total)||0,10)}catch(e){console.error("Failed to load trace list:",e),this.$message.error("加载 trace 列表失败"),this.traceList=[],this.filteredTraceList=[],this.total=0}finally{this.loading=!1}},refresh(){this.loadTraceList()},startAutoRefresh(){this.stopAutoRefresh();const e=this.autoRefreshInterval*1e3;this.autoRefreshTimer=setInterval(()=>{this.loadTraceList()},e)},stopAutoRefresh(){this.autoRefreshTimer&&(clearInterval(this.autoRefreshTimer),this.autoRefreshTimer=null)},handleAutoRefreshIntervalChange(){this.autoRefreshEnabled&&this.startAutoRefresh()},viewDetail(e){const g=e==null?void 0:e.trace_id;g&&(this.currentTraceId=g,this.traceInfo={...e},(e==null?void 0:e.status)==="WARN"&&(this.spanHasEvents=!0),this.drawerVisible=!0,this.loadTraceSpans(g))},async loadTraceSpans(e){var g,I,C;this.drawerLoading=!0,this.spanPageNum=1;try{const i=await FC.getTraceSpans(e,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),l=Array.isArray(i==null?void 0:i.list)?i.list:[];if(this.spans=l,this.filteredSpans=l,this.spanHasNextPage=(i==null?void 0:i.has_next_page)===!0,this.spans.length>0){this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]);const c=this.spans[0].type==="CLIENT"||this.spans[0].type==="EMBEDDING"||this.spans[0].type==="CHAT_MODEL",Z=this.selectedSpan.has_events===!0,b=[];c&&b.push("io","raw"),b.push("attributes"),Z&&b.push("events");let a="attributes";c&&(a="io"),b.includes(a)?this.activeTab=a:this.activeTab="attributes",(I=(g=this.selectedSpan.parsedContent)==null?void 0:g.inputs)!=null&&I.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((h,B)=>`message-${B}`):this.messageCollapse=[];const n=(C=this.selectedSpan.parsedContent)==null?void 0:C.events;n&&Array.isArray(n)&&n.length>0?this.eventsCollapse=n.map((h,B)=>`event-${B}`):this.eventsCollapse=[]}}catch(i){console.error("Failed to load trace spans:",i),this.$message.error("加载 span 列表失败"),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}finally{this.drawerLoading=!1}},async handleSpanSearch(e){if(this.spanSearchQuery=e,!!this.currentTraceId){this.spanPageNum=1;try{const g=await FC.getTraceSpans(this.currentTraceId,{query:e||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),I=Array.isArray(g==null?void 0:g.list)?g.list:[];this.spans=I,this.filteredSpans=I,this.spanHasNextPage=(g==null?void 0:g.has_next_page)===!0,this.spans.length>0&&!this.selectedSpanId&&(this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]))}catch(g){console.error("Failed to search spans:",g),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}}},async loadMoreSpans(){if(!(!this.currentTraceId||!this.spanHasNextPage||this.spanLoadMoreLoading)){this.spanLoadMoreLoading=!0;try{const e=this.spanPageNum+1,g=await FC.getTraceSpans(this.currentTraceId,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:e,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),I=Array.isArray(g==null?void 0:g.list)?g.list:[];this.spans=this.spans.concat(I),this.filteredSpans=this.spans,this.spanPageNum=e,this.spanHasNextPage=(g==null?void 0:g.has_next_page)===!0}catch(e){console.error("Failed to load more spans:",e)}finally{this.spanLoadMoreLoading=!1}}},async handleSpanSelect(e){var c,Z,b;this.selectedSpanId=e.span_id,this.selectedSpan=e,await this.loadSpanContent(e);const g=e.type==="CLIENT"||e.type==="EMBEDDING"||e.type==="CHAT_MODEL",I=e.has_events===!0,C=[];g&&C.push("io","raw"),C.push("attributes"),I&&C.push("events");let i="attributes";g&&(i="io"),this.$nextTick(()=>{C.includes(i)?this.activeTab=i:this.activeTab="attributes"}),(Z=(c=this.selectedSpan.parsedContent)==null?void 0:c.inputs)!=null&&Z.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((a,n)=>`message-${n}`):this.messageCollapse=[];const l=(b=this.selectedSpan.parsedContent)==null?void 0:b.events;l&&Array.isArray(l)&&l.length>0?this.eventsCollapse=l.map((a,n)=>`event-${n}`):this.eventsCollapse=[]},async loadSpanContent(e){if(!(!this.currentTraceId||!e.span_id||e.parsedContent))try{const g=await FC.getSpanContent(this.currentTraceId,e.span_id);if(g){const I=this.parseContentData(g);this.$set(e,"parsedContent",I)}}catch(g){console.error("Failed to load span content:",g)}},parseContentData(e){const g={attributes:e.attributes||{},events:e.events||[],status:e.status||{}};if(e.inputs&&(g.inputs=e.inputs),e.outputs&&(g.outputs=e.outputs),e.request_preview!=null&&e.request_preview!==""&&(g.request_preview=e.request_preview),e.response_preview!=null&&e.response_preview!==""&&(g.response_preview=e.response_preview),g.attributes){const I=g.attributes["langsword.spanInputs"],C=g.attributes["langsword.spanOutputs"];if(I)try{g.inputs=typeof I=="string"?JSON.parse(I):I}catch{try{const l=I.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.inputs=JSON.parse(l)}catch{g.inputs=I}}if(C)try{g.outputs=typeof C=="string"?JSON.parse(C):C}catch{try{const l=C.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.outputs=JSON.parse(l)}catch{g.outputs=C}}}return g},handleDrawerClose(){this.currentTraceId=null,this.traceInfo={},this.spans=[],this.filteredSpans=[],this.selectedSpanId=null,this.selectedSpan=null,this.spanSearchQuery="",this.selectedSpanTypeFilter=null,this.spanHasEvents=null,this.spanPageNum=1,this.spanHasNextPage=!1,this.spanLoadMoreLoading=!1,this.eventsCollapse=[],this.drawerLoading=!1},async loadExperiments(){try{const e=await FC.getExperiments();this.experimentList=Array.isArray(e)?e:[]}catch(e){console.error("Failed to load experiments:",e),this.experimentList=[]}},handleExperimentChange(){this.pageNum=1,this.loadTraceList()},handleSearch(){this.pageNum=1,this.loadTraceList()},handleSearchClear(){this.searchQuery="",this.pageNum=1,this.loadTraceList()},handleDateRangeChange(e){this.pageNum=1,e&&Array.isArray(e)?e.length===2&&(e[0]===null||e[0]===void 0)?this.dateRange=[null,e[1]]:this.dateRange=e:this.dateRange=e,this.loadTraceList()},handleSizeChange(e){this.pageSize=e,this.pageNum=1,this.loadTraceList()},handleCurrentChange(e){this.pageNum=e,this.loadTraceList()},async handleBatchDelete(){var c,Z;const e=this.searchQuery&&this.searchQuery.trim(),g=this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2&&this.dateRange[1]!==null||this.dateRange.length===1&&this.dateRange[0]!==null),I=this.selectedExperimentId,C=this.selectedStatus;let i="",l="warning";if(!e&&!g&&!I&&!C)i=this.$t("trace.deleteAllWarning"),l="error";else{if(i=this.$t("trace.deleteConfirmMessage")+`
|
|
91
|
+
`):this.formatRawJson(e)}else g=this.formatRawJson(e);this.copyToClipboard(g)},formatBytes(e){const g=typeof e=="number"?e:Number(e);if(!Number.isFinite(g))return typeof e=="string"?e:JSON.stringify(e,null,2);const I=g<0?"-":"";let C=Math.abs(g);const i=["B","K","M","G","T","P","E"];if(C<1024)return`${I}${Math.round(C)}B`;let l=0;for(;C>=1024&&l<i.length-1;)C/=1024,l++;return`${I}${C.toFixed(2)}${i[l]}`},handleClose(e){this.$emit("close"),e&&typeof e=="function"&&e()},handleSpanSearch(){this.$emit("span-search",this.spanSearchQuery)},handleSpanTypeFilterChange(e){this.$emit("update:span-type-filter",e)},handleHasEventsChange(e){this.$emit("update:span-has-events",e?!0:null)},handleSpanSelect(e){this.$emit("span-select",e),this.$nextTick(()=>{this.updateCollapseStates()})},updateCollapseStates(){var I,C,i,l,c;this.activeCollapse=["inputs","outputs"],(i=(C=(I=this.selectedSpan)==null?void 0:I.parsedContent)==null?void 0:C.inputs)!=null&&i.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((Z,b)=>`message-${b}`):this.messageCollapse=[],this.rawIoCollapse=["rawInputs","rawOutputs"];const e=(c=(l=this.selectedSpan)==null?void 0:l.parsedContent)==null?void 0:c.events;e&&Array.isArray(e)&&e.length>0?this.eventsCollapse=e.map((Z,b)=>`event-${b}`):this.eventsCollapse=[]},parseContentData(e){const g={attributes:e.attributes||{},events:e.events||[],status:e.status||{}};if(e.inputs&&(g.inputs=e.inputs),e.outputs&&(g.outputs=e.outputs),e.request_preview!=null&&e.request_preview!==""&&(g.request_preview=e.request_preview),e.response_preview!=null&&e.response_preview!==""&&(g.response_preview=e.response_preview),g.attributes){const I=g.attributes["langsword.spanInputs"],C=g.attributes["langsword.spanOutputs"];if(I)try{g.inputs=typeof I=="string"?JSON.parse(I):I}catch{try{const l=I.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.inputs=JSON.parse(l)}catch{g.inputs=I}}if(C)try{g.outputs=typeof C=="string"?JSON.parse(C):C}catch{try{const l=C.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.outputs=JSON.parse(l)}catch{g.outputs=C}}}return g},getStatusType(e){if(!e)return"info";const g=e.toUpperCase();return g==="OK"||g==="SUCCESS"?"success":g==="ERROR"||g==="FAILED"?"danger":g==="WARNING"||g==="WARN"?"warning":"info"},getStatusLabel(e){if(!e)return"-";const g=this.traceStatusList.find(I=>I.value===e);return g?g.label:e},getTraceSpanTypeLabel(e){if(e==null||e==="")return"-";const g=this.traceSpanTypeList.find(I=>I.value===e);return g?g.label:e},formatNanoDuration(e){if(!e)return"-";const g=e/1e6;return g<1e3?`${g.toFixed(2)}ms`:g<6e4?`${(g/1e3).toFixed(2)}s`:`${(g/6e4).toFixed(2)}min`},formatTimestamp(e){if(!e)return"-";const g=typeof e=="string"?parseInt(e,10):e,I=new Date(g);return isNaN(I.getTime())?"-":I.toLocaleString("zh-CN")},formatEventTimestamp(e){if(!e)return"-";const g=e/1e6,I=new Date(g);return isNaN(I.getTime())?"-":I.toLocaleString("zh-CN")},getEventAttributesData(e){return!e||!e.attributes?[]:Object.entries(e.attributes).map(([g,I])=>({key:g,value:typeof I=="string"?I:JSON.stringify(I,null,2)}))},getOtherEventAttributes(e){if(!e||!e.attributes)return[];const g=["exception.type","exception.message","exception.stacktrace"];return Object.entries(e.attributes).filter(([I])=>!g.includes(I)).map(([I,C])=>({key:I,value:typeof C=="string"?C:JSON.stringify(C,null,2)}))},formatRawJson(e){if(!e)return"";if(typeof e=="string")try{const g=JSON.parse(e);return JSON.stringify(g,null,2)}catch{return e}return JSON.stringify(e,null,2)},getMessageIcon(e){return{user:"el-icon-user",assistant:"el-icon-service",system:"el-icon-setting"}[e]||"el-icon-document"},getMessageRoleLabel(e){const g={system:"debug.systemRole",user:"debug.userRole",assistant:"debug.assistantRole"};return g[e]?this.$t(g[e]):e},extractImagesFromObject(e,g=[],I=""){if(!(!e||typeof e!="object")){for(const[C,i]of Object.entries(e)){const l=I?`${I}.${C}`:C;typeof i=="string"&&i.trim()!==""?(i.startsWith("data:image/")||i.startsWith("/9j/")||i.startsWith("iVBOR")||i.startsWith("R0lGOD"))&&(g.push({path:l,value:i,label:C==="content"&&I?`${I.split(".").pop()}: ${C}`:C}),e[C]="[IMAGE_DATA]"):i&&typeof i=="object"&&!Array.isArray(i)?this.extractImagesFromObject(i,g,l):Array.isArray(i)&&i.forEach((c,Z)=>{c&&typeof c=="object"&&this.extractImagesFromObject(c,g,`${l}[${Z}]`)})}return g}},extractFileRefs(e,g=[]){if(!e||typeof e!="object")return g;for(const[I,C]of Object.entries(e))I.startsWith("__file__")&&C!=null?Array.isArray(C)?C.forEach(i=>{i!=null&&typeof i=="string"&&i.trim()!==""&&g.push(i.trim())}):typeof C=="string"&&C.trim()!==""&&g.push(C.trim()):C&&typeof C=="object"&&!Array.isArray(C)?this.extractFileRefs(C,g):Array.isArray(C)&&C.forEach(i=>{i&&typeof i=="object"&&this.extractFileRefs(i,g)});return g},extractImageBase64Refs(e,g=[]){if(!e||typeof e!="object")return g;for(const[I,C]of Object.entries(e))I==="image_base64"&&C!=null&&typeof C=="string"&&C.trim()!==""?g.push(C.trim()):C&&typeof C=="object"&&!Array.isArray(C)?this.extractImageBase64Refs(C,g):Array.isArray(C)&&C.forEach(i=>{i&&typeof i=="object"&&this.extractImageBase64Refs(i,g)});return g},getFileExtension(e){if(!e||typeof e!="string")return"";const g=e.lastIndexOf(".");return g>=0?e.slice(g+1).toLowerCase():""},buildFileElements(e,g="file"){const I=["jpg","jpeg","png","gif","webp","bmp","svg"],C=[];return e.forEach((i,l)=>{const c=this.getFileExtension(i),Z=d0(i),b=decodeURIComponent(i.split("/").pop()||i);I.includes(c)?C.push({type:"file-image",downloadUrl:Z,key:`${g}-image-${l}`}):c==="pdf"?C.push({type:"file-pdf",downloadUrl:Z,key:`${g}-pdf-${l}`}):C.push({type:"file-download",downloadUrl:Z,filename:b,key:`${g}-download-${l}`})}),C},renderStructuredContent(e,g=!1){const I=[];if(!e)return I;const C=this.extractFileRefs(e);if(C.length>0&&I.push(...this.buildFileElements(C,"file")),e.data&&Array.isArray(e.data.result))e.data.result.forEach((i,l)=>{i.image_base64&&i.image_base64.trim()!==""&&I.push({type:"image",url:this.formatBase64Image(i.image_base64),key:`result-page-${l}`,label:i.page_num!==void 0?`Page ${i.page_num}`:`Result ${l}`}),i.seals&&Array.isArray(i.seals)&&i.seals.forEach((c,Z)=>{c.image_base64&&c.image_base64.trim()!==""&&I.push({type:"image",url:this.formatBase64Image(c.image_base64),key:`result-seal-${l}-${Z}`,label:`印章文字: ${c.value||Z}`})})});else{const i=this.extractImageBase64Refs(e);i.length>0&&i.forEach((l,c)=>{I.push({type:"image",url:this.formatBase64Image(l),key:`base64-image-${c}`})})}if(g)return I;try{if(Array.isArray(e))e.forEach((i,l)=>{var c;i&&typeof i=="object"?i.type==="text"&&i.text?I.push({type:"markdown",content:Lg(i.text),key:`text-${l}`}):i.type==="image_url"&&((c=i.image_url)!=null&&c.url)?I.push({type:"image",url:i.image_url.url,key:`image-${l}`}):i.image_base64&&i.image_base64.trim()!==""?I.push({type:"image",url:this.formatBase64Image(i.image_base64),key:`base64-image-${l}`}):I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(i,null,2)+"\n```"),key:`json-${l}`}):I.push({type:"markdown",content:Lg(String(i)),key:`text-${l}`})});else if(typeof e=="string")I.push({type:"markdown",content:Lg(e),key:"text-0"});else if(typeof e=="object")if(e.data&&Array.isArray(e.data.result)){const i=JSON.parse(JSON.stringify(e)),l=[];i.data&&i.data.result&&i.data.result.forEach((c,Z)=>{c.image_base64&&c.image_base64.trim()!==""&&(l.push({type:"page",image_base64:c.image_base64,page_num:c.page_num,label:c.page_num!==void 0?`Page ${c.page_num}`:`Result ${Z}`}),c.image_base64="[BASE64_IMAGE_DATA]"),c.seals&&Array.isArray(c.seals)&&c.seals.forEach((b,a)=>{b.image_base64&&b.image_base64.trim()!==""&&(l.push({type:"seal",image_base64:b.image_base64,page_num:c.page_num,seal_index:a,seal_value:b.value,label:`印章文字: ${b.value||a}`}),b.image_base64="[BASE64_IMAGE_DATA]")})}),I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(i,null,2)+"\n```"),key:"json-0"}),l.forEach((c,Z)=>{I.push({type:"image",url:this.formatBase64Image(c.image_base64),key:`result-image-${Z}`,label:c.label})})}else{const i=JSON.parse(JSON.stringify(e)),l=[];this.extractImagesFromObject(i,l),I.push({type:"markdown",content:Lg("```json\n"+JSON.stringify(i,null,2)+"\n```"),key:"json-0"}),l.forEach((c,Z)=>{I.push({type:"image",url:this.formatBase64Image(c.value),key:`extracted-image-${Z}`,label:c.label})})}else I.push({type:"markdown",content:Lg(String(e)),key:"text-0"})}catch(i){console.error("Error rendering content:",i),I.push({type:"markdown",content:Lg("Error rendering content"),key:"error-0"})}return I},formatBase64Image(e){return e?e.startsWith("data:image")?e:e.startsWith("/9j/")?`data:image/jpeg;base64,${e}`:e.startsWith("iVBOR")?`data:image/png;base64,${e}`:e.startsWith("R0lGOD")?`data:image/gif;base64,${e}`:`data:image/jpeg;base64,${e}`:""},handleImageClick(e){UY({options:this.viewerOptions,images:[e]})}}};var fr=function(){var C,i,l,c,Z,b,a,n,h,B,u,X;var g=this,I=g._self._c;return I("el-drawer",{attrs:{visible:g.localVisible,"with-header":!0,title:g.drawerTitle,size:"90%",direction:"rtl","before-close":g.handleClose},on:{"update:visible":function(V){g.localVisible=V}}},[g.currentTraceId?I("div",{directives:[{name:"loading",rawName:"v-loading",value:g.loading,expression:"loading"}],staticClass:"trace-detail-content",attrs:{"element-loading-text":"加载中..."}},[I("div",{staticClass:"trace-info-section"},[I("el-descriptions",{attrs:{column:3,border:""}},[I("el-descriptions-item",{attrs:{label:g.$t("trace.traceId")}},[g._v(g._s(g.traceInfo.trace_id))]),I("el-descriptions-item",{attrs:{label:g.$t("trace.status")}},[I("el-tag",{attrs:{type:g.getStatusType(g.traceInfo.status),size:"mini"}},[g._v(" "+g._s(g.getStatusLabel(g.traceInfo.status))+" ")])],1),I("el-descriptions-item",{attrs:{label:g.$t("trace.executionTime")}},[g._v(" "+g._s(g.formatNanoDuration(g.traceInfo.execution_time_ms))+" ")]),I("el-descriptions-item",{attrs:{label:g.$t("trace.timeCreated")}},[g._v(" "+g._s(g.formatTimestamp(g.traceInfo.timestamp_ms))+" ")]),I("el-descriptions-item",{attrs:{label:g.$t("trace.timeEnded")}},[g._v(" "+g._s(g.formatTimestamp(g.traceInfo.end_time_ms))+" ")]),I("el-descriptions-item",{attrs:{label:g.$t("trace.experimentName")}},[g._v(g._s(g.traceInfo.experiment_name))]),I("el-descriptions-item",{attrs:{label:g.$t("trace.traceType")}},[I("el-tag",{attrs:{size:"mini",type:"info"}},[g._v(g._s(g.getTraceSpanTypeLabel(g.traceInfo.trace_type)))])],1),I("el-descriptions-item",{attrs:{label:g.$t("trace.traceName"),span:2}},[g._v(" "+g._s(g.traceInfo.trace_name||"-")+" ")])],1)],1),I("el-divider"),I("el-row",{attrs:{gutter:20}},[I("el-col",{staticClass:"span-tree-col",attrs:{span:8}},[I("el-card",[I("div",{staticClass:"span-search-header",attrs:{slot:"header"},slot:"header"},[I("el-input",{staticClass:"span-search-input",attrs:{placeholder:g.$t("span.searchTree"),"prefix-icon":"el-icon-search",size:"small",clearable:""},on:{input:g.handleSpanSearch},model:{value:g.spanSearchQuery,callback:function(V){g.spanSearchQuery=V},expression:"spanSearchQuery"}}),I("el-select",{staticClass:"span-type-select",attrs:{value:g.spanTypeFilter,size:"small",clearable:"",placeholder:g.$t("trace.traceType")},on:{input:g.handleSpanTypeFilterChange}},g._l(g.traceSpanTypeList,function(V){return I("el-option",{key:V.value,attrs:{label:V.label,value:V.value}})}),1),I("el-checkbox",{attrs:{value:g.spanHasEvents===!0,size:"small"},on:{change:g.handleHasEventsChange}},[g._v(" "+g._s(g.$t("span.hasEvents"))+" ")])],1),I("TraceSpanTree",{attrs:{spans:g.filteredSpans,"selected-span-id":g.selectedSpanId,"trace-start-time":g.traceStartTime,"trace-end-time":g.traceEndTime,"span-type-list":g.traceSpanTypeList},on:{"span-select":g.handleSpanSelect}}),g.spanHasNextPage?I("div",{staticClass:"span-load-more"},[I("el-button",{attrs:{type:"primary",size:"mini",loading:g.spanLoadMoreLoading},on:{click:function(V){return g.$emit("span-load-more")}}},[g._v(" 加载更多 ")]),I("el-select",{staticClass:"span-page-size-select",attrs:{value:g.spanPageSize,size:"mini"},on:{input:function(V){return g.$emit("update:span-page-size",V)}}},[I("el-option",{attrs:{label:1e3,value:1e3}}),I("el-option",{attrs:{label:2e3,value:2e3}}),I("el-option",{attrs:{label:5e3,value:5e3}}),I("el-option",{attrs:{label:1e4,value:1e4}})],1)],1):g._e()],1)],1),I("el-col",{staticClass:"span-detail-col",attrs:{span:16}},[I("el-card",[g.selectedSpan?I("div",{staticClass:"span-detail-content"},[I("el-tabs",{key:`tabs-${g.selectedSpanId}`,model:{value:g.activeTab,callback:function(V){g.activeTab=V},expression:"activeTab"}},[g.showIOTab?I("el-tab-pane",{attrs:{label:`${g.$t("trace.inputs")} / ${g.$t("trace.outputs")}`,name:"io"}},[I("div",{staticClass:"io-content"},[g.hasInputs?I("div",{staticClass:"io-section"},[I("el-collapse",{model:{value:g.activeCollapse,callback:function(V){g.activeCollapse=V},expression:"activeCollapse"}},[I("el-collapse-item",{attrs:{name:"inputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.inputs")))]),(C=g.selectedSpan.parsedContent)!=null&&C.request_preview||!((l=(i=g.selectedSpan.parsedContent)==null?void 0:i.inputs)!=null&&l.messages)?I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){var H;V.stopPropagation(),g.copyToClipboard((H=g.selectedSpan.parsedContent)!=null&&H.request_preview?g.selectedSpan.parsedContent.request_preview:g.formatRawJson(g.selectedSpan.parsedContent.inputs))}}})],1):g._e()],1),(c=g.selectedSpan.parsedContent)!=null&&c.request_preview?I("div",{staticClass:"structured-content preview-content"},[I("div",{staticClass:"content-element"},[I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(g.renderMarkdown(g.selectedSpan.parsedContent.request_preview))}})])]):g.clientInputsFileOnly?I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(g.selectedSpan.parsedContent.inputs,!0),function(V){return I("div",{key:V.key,staticClass:"content-element"},[V.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(V.content)}}):V.type==="image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.url,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.url)}}})]):V.type==="file-image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.downloadUrl,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.downloadUrl)}}})]):V.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:V}})],1):V.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:V.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(V.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0):(b=(Z=g.selectedSpan.parsedContent)==null?void 0:Z.inputs)!=null&&b.messages?I("div",{staticClass:"messages-section"},g._l(g.selectedSpan.parsedContent.inputs.messages,function(V,H){return I("div",{key:H,staticClass:"message-item"},[I("el-collapse",{model:{value:g.messageCollapse,callback:function(N){g.messageCollapse=N},expression:"messageCollapse"}},[I("el-collapse-item",{attrs:{name:`message-${H}`}},[I("template",{slot:"title"},[I("i",{staticClass:"message-icon",class:g.getMessageIcon(V.role)}),I("span",{staticClass:"message-role"},[g._v(g._s(g.getMessageRoleLabel(V.role)))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(N){return N.stopPropagation(),g.copyMessageContent(V.content)}}})],1)],1),I("div",{staticClass:"message-content"},[I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(V.content),function(N){return I("div",{key:N.key,staticClass:"content-element"},[N.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(N.content)}}):N.type==="image"?I("div",{staticClass:"image-content"},[N.label?I("div",{staticClass:"image-label"},[g._v(g._s(N.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:N.url,alt:"content image"},on:{click:function(r){return g.handleImageClick(N.url)}}})]):N.type==="file-image"?I("div",{staticClass:"image-content"},[N.label?I("div",{staticClass:"image-label"},[g._v(g._s(N.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:N.downloadUrl,alt:"content image"},on:{click:function(r){return g.handleImageClick(N.downloadUrl)}}})]):N.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:N}})],1):N.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:N.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(N.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0)])],2)],1)],1)}),0):(a=g.selectedSpan.parsedContent)!=null&&a.inputs?I("div",{staticClass:"structured-content"},g._l(g.renderStructuredContent(g.selectedSpan.parsedContent.inputs),function(V){return I("div",{key:V.key,staticClass:"content-element"},[V.type==="markdown"?I("div",{staticClass:"markdown-content",domProps:{innerHTML:g._s(V.content)}}):V.type==="image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.url,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.url)}}})]):V.type==="file-image"?I("div",{staticClass:"image-content"},[V.label?I("div",{staticClass:"image-label"},[g._v(g._s(V.label))]):g._e(),I("img",{staticClass:"content-image",attrs:{src:V.downloadUrl,alt:"content image"},on:{click:function(H){return g.handleImageClick(V.downloadUrl)}}})]):V.type==="file-pdf"?I("div",[I("FilePdfViewer",{attrs:{element:V}})],1):V.type==="file-download"?I("div",{staticClass:"file-download-content"},[I("a",{staticClass:"file-download-link",attrs:{href:V.downloadUrl,target:"_blank",rel:"noopener noreferrer"}},[g._v(g._s(V.filename))]),I("span",{staticClass:"file-download-hint"},[g._v(g._s(g.$t("trace.clickToDownload")))])]):g._e()])}),0):I("div",{staticClass:"empty-content"},[I("el-empty",{attrs:{description:g.$t("trace.noInputs"),"image-size":80}})],1)],2)],1)],1):g._e(),g.hasOutputs?I("div",{staticClass:"io-section"},[I("el-collapse",{model:{value:g.activeCollapse,callback:function(V){g.activeCollapse=V},expression:"activeCollapse"}},[I("el-collapse-item",{attrs:{name:"outputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.outputs")))]),(n=g.selectedSpan.parsedContent)!=null&&n.response_preview||!((B=(h=g.selectedSpan.parsedContent)==null?void 0:h.outputs)!=null&&B.choices)?I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){var H;V.stopPropagation(),g.copyToClipboard((H=g.selectedSpan.parsedContent)!=null&&H.response_preview?g.selectedSpan.parsedContent.response_preview:g.formatRawJson(g.selectedSpan.parsedContent.outputs))}}})],1):g._e()],1),((u=g.selectedSpan.parsedContent)==null?void 0:u.outputs)!==void 0?I("OutputViewer",{attrs:{value:g.selectedSpan.parsedContent.outputs,"preview-markdown":(X=g.selectedSpan.parsedContent)==null?void 0:X.response_preview,"file-only":g.clientOutputsFileOnly,"support-file-elements":!0,"show-raw-toggle":!1,"content-key":g.selectedSpanId},on:{copy:g.copyToClipboard}}):I("div",{staticClass:"empty-content"},[I("el-empty",{attrs:{description:g.$t("trace.noOutputs"),"image-size":80}})],1)],2)],1)],1):g._e(),!g.hasInputs&&!g.hasOutputs?I("div",{staticClass:"empty-io"},[I("el-empty",{attrs:{description:g.$t("trace.noIoData")}})],1):g._e()])]):g._e(),I("el-tab-pane",{attrs:{label:g.$t("trace.attributes"),name:"attributes"}},[I("el-table",{staticClass:"attributes-table",attrs:{data:g.attributesData,border:"",stripe:""}},[I("el-table-column",{attrs:{prop:"key",label:g.$t("trace.key"),width:"250"},scopedSlots:g._u([{key:"default",fn:function(V){return[I("el-tooltip",{attrs:{content:V.row.key,placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[I("span",{staticClass:"attribute-key"},[g._v(g._s(V.row.key))])])]}}],null,!1,688878823)}),I("el-table-column",{attrs:{prop:"value",label:g.$t("trace.value")},scopedSlots:g._u([{key:"default",fn:function(V){return[I("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[I("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[g._v(g._s(V.row.value))]),I("div",{staticClass:"attribute-value"},[g._v(g._s(V.row.value))])])]}}],null,!1,4281519148)})],1)],1),g.showIOTab?I("el-tab-pane",{attrs:{label:g.$t("trace.rawInputsOutputs"),name:"raw"}},[g.activeTab==="raw"?I("div",{staticClass:"raw-io-content"},[g.rawInputs?I("div",{staticClass:"raw-io-section"},[I("el-collapse",{model:{value:g.rawIoCollapse,callback:function(V){g.rawIoCollapse=V},expression:"rawIoCollapse"}},[I("el-collapse-item",{attrs:{name:"rawInputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.rawInputs")))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){V.stopPropagation(),g.copyToClipboard(g.formatRawJson(g.rawInputs))}}})],1)],1),I("codemirror",{key:`raw-inputs-${g.selectedSpanId}-${g.rawInputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:g.formatRawJson(g.rawInputs),options:g.cmOptions}})],2)],1)],1):g._e(),g.rawOutputs?I("div",{staticClass:"raw-io-section"},[I("el-collapse",{model:{value:g.rawIoCollapse,callback:function(V){g.rawIoCollapse=V},expression:"rawIoCollapse"}},[I("el-collapse-item",{attrs:{name:"rawOutputs"}},[I("template",{slot:"title"},[I("span",{staticClass:"collapse-title-text"},[g._v(g._s(g.$t("trace.rawOutputs")))]),I("el-tooltip",{attrs:{content:g.$t("debug.copyTooltip"),placement:"top"}},[I("el-button",{staticClass:"copy-btn-inline",attrs:{type:"text",icon:"el-icon-document-copy",size:"mini"},nativeOn:{click:function(V){V.stopPropagation(),g.copyToClipboard(g.formatRawJson(g.rawOutputs))}}})],1)],1),I("codemirror",{key:`raw-outputs-${g.selectedSpanId}-${g.rawOutputsKey}`,staticClass:"code-editor-wrapper",attrs:{value:g.formatRawJson(g.rawOutputs),options:g.cmOptions}})],2)],1)],1):g._e(),!g.rawInputs&&!g.rawOutputs?I("div",{staticClass:"empty-raw-io"},[I("el-empty",{attrs:{description:g.$t("trace.noIoData")}})],1):g._e()]):g._e()]):g._e(),g.showDebugTab?I("el-tab-pane",{attrs:{label:"快速调试",name:"debug"}},[I("DebugTab",{directives:[{name:"show",rawName:"v-show",value:g.activeTab==="debug",expression:"activeTab === 'debug'"}],attrs:{"selected-span":g.selectedSpan,"selected-span-id":g.selectedSpanId}})],1):g._e(),g.hasEvents?I("el-tab-pane",{attrs:{label:g.$t("trace.events"),name:"events"}},[g.activeTab==="events"?I("div",{staticClass:"events-content"},[I("el-collapse",{model:{value:g.eventsCollapse,callback:function(V){g.eventsCollapse=V},expression:"eventsCollapse"}},g._l(g.spanEvents,function(V,H){return I("el-collapse-item",{key:`event-${H}`,attrs:{name:`event-${H}`}},[I("template",{slot:"title"},[I("div",{staticClass:"event-header"},[I("el-tag",{staticClass:"event-name-tag",attrs:{type:V.name==="exception"?"danger":"info",size:"mini"}},[g._v(" "+g._s(V.name)+" ")]),I("span",{staticClass:"event-time"},[g._v(g._s(g.formatEventTimestamp(V.timestamp)))])],1)]),I("div",{staticClass:"event-detail"},[V.name==="exception"?I("div",{staticClass:"exception-content"},[V.attributes["exception.type"]?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.exceptionType")))]),I("div",{staticClass:"field-value exception-type"},[g._v(g._s(V.attributes["exception.type"]))])]):g._e(),V.attributes["exception.message"]?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.exceptionMessage")))]),I("div",{staticClass:"field-value exception-message"},[g._v(g._s(V.attributes["exception.message"]))])]):g._e(),V.attributes["exception.stacktrace"]?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.exceptionStacktrace")))]),I("codemirror",{key:`stacktrace-${g.selectedSpanId}-${H}-${g.eventsKey}`,staticClass:"code-editor-wrapper stacktrace-editor",attrs:{value:V.attributes["exception.stacktrace"],options:g.cmOptionsJava}})],1):g._e(),g.getOtherEventAttributes(V).length>0?I("div",{staticClass:"exception-field"},[I("div",{staticClass:"field-label"},[g._v(g._s(g.$t("trace.otherAttributes")))]),I("el-table",{attrs:{data:g.getOtherEventAttributes(V),border:"",stripe:"",size:"mini"}},[I("el-table-column",{attrs:{prop:"key",label:g.$t("trace.key"),width:"200"}}),I("el-table-column",{attrs:{prop:"value",label:g.$t("trace.value")}})],1)],1):g._e()]):I("div",{staticClass:"general-event-content"},[I("el-table",{attrs:{data:g.getEventAttributesData(V),border:"",stripe:"",size:"mini"}},[I("el-table-column",{attrs:{prop:"key",label:g.$t("trace.key"),width:"200"},scopedSlots:g._u([{key:"default",fn:function(N){return[I("el-tooltip",{attrs:{content:N.row.key,placement:"top","open-delay":500}},[I("span",{staticClass:"attribute-key"},[g._v(g._s(N.row.key))])])]}}],null,!0)}),I("el-table-column",{attrs:{prop:"value",label:g.$t("trace.value")},scopedSlots:g._u([{key:"default",fn:function(N){return[I("el-tooltip",{attrs:{placement:"top","open-delay":500,"popper-class":"attribute-tooltip"}},[I("div",{staticClass:"attribute-tooltip-content",attrs:{slot:"content"},slot:"content"},[g._v(g._s(N.row.value))]),I("div",{staticClass:"attribute-value"},[g._v(g._s(N.row.value))])])]}}],null,!0)})],1)],1)])],2)}),1),g.spanEvents.length===0?I("div",{staticClass:"empty-events"},[I("el-empty",{attrs:{description:g.$t("trace.noEvents")}})],1):g._e()],1):g._e()]):g._e()],1)],1):I("el-empty",{attrs:{description:g.$t("trace.selectSpan")}})],1)],1)],1)],1):g._e()])},Er=[],Pr=yl(Ur,fr,Er,!1,null,"c4c8862b");const _r={name:"Trace",components:{TraceDetailDrawer:Pr.exports},data(){return{traceList:[],filteredTraceList:[],searchQuery:"",dateRange:null,selectedStatus:null,selectedTraceType:null,sortProp:"timestamp_ms",sortOrder:"descending",traceStatusList:[],traceSpanTypeList:[],experimentList:[],selectedExperimentId:null,loading:!1,deleteLoading:!1,exportLoading:!1,importLoading:!1,showColumnDialog:!1,selectedColumns:["trace_id","timestamp_ms","end_time_ms","status","execution_time_ms","trace_type","trace_name","experiment_name"],visibleColumns:{trace_id:!0,timestamp_ms:!0,end_time_ms:!0,status:!0,execution_time_ms:!0,trace_type:!0,trace_name:!0,experiment_name:!0},drawerVisible:!1,currentTraceId:null,traceInfo:{},spans:[],filteredSpans:[],spanSearchQuery:"",selectedSpanTypeFilter:null,spanHasEvents:null,selectedSpanId:null,selectedSpan:null,activeTab:"io",drawerLoading:!1,spanPageNum:1,spanPageSize:1e3,spanHasNextPage:!1,spanLoadMoreLoading:!1,messageCollapse:[],eventsCollapse:[],pageNum:1,pageSize:10,total:0,autoRefreshEnabled:!1,autoRefreshInterval:10,autoRefreshTimer:null,selectedRows:[],pickerOptions:{shortcuts:[{text:"近7天",onClick(e){const g=new Date,I=new Date;I.setTime(I.getTime()-3600*1e3*24*7),e.$emit("pick",[I,g])}},{text:"近30天",onClick(e){const g=new Date,I=new Date;I.setTime(I.getTime()-3600*1e3*24*30),e.$emit("pick",[I,g])}},{text:"7天前",onClick(e){const g=new Date;g.setTime(g.getTime()-3600*1e3*24*7),g.setHours(23,59,59,999);const I=g.getTime();e.$emit("pick",[null,I])}},{text:"30天前",onClick(e){const g=new Date;g.setTime(g.getTime()-3600*1e3*24*30),g.setHours(23,59,59,999);const I=g.getTime();e.$emit("pick",[null,I])}}]}}},computed:{},watch:{autoRefreshEnabled(e){e?this.startAutoRefresh():this.stopAutoRefresh()},spanHasEvents(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},spanPageSize(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)},selectedSpanTypeFilter(){this.currentTraceId&&this.handleSpanSearch(this.spanSearchQuery)}},mounted(){this.loadDictList(),this.loadExperiments(),this.loadTraceList()},beforeDestroy(){this.stopAutoRefresh()},methods:{async loadTraceList(){this.loading=!0;try{let e=null,g=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(e=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]!==""&&(g=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(g=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10)));const I=this.sortProp&&this.sortOrder?this.sortOrder==="descending"?"-"+this.sortProp:this.sortProp:"",C=await FC.getTraceList(this.searchQuery,e,g,this.pageNum,this.pageSize,this.selectedExperimentId,this.selectedStatus,this.selectedTraceType,I),i=Array.isArray(C==null?void 0:C.list)?C.list:[];this.traceList=i,this.filteredTraceList=i,this.total=parseInt((C==null?void 0:C.total)||0,10)}catch(e){console.error("Failed to load trace list:",e),this.$message.error("加载 trace 列表失败"),this.traceList=[],this.filteredTraceList=[],this.total=0}finally{this.loading=!1}},refresh(){this.loadTraceList()},startAutoRefresh(){this.stopAutoRefresh();const e=this.autoRefreshInterval*1e3;this.autoRefreshTimer=setInterval(()=>{this.loadTraceList()},e)},stopAutoRefresh(){this.autoRefreshTimer&&(clearInterval(this.autoRefreshTimer),this.autoRefreshTimer=null)},handleAutoRefreshIntervalChange(){this.autoRefreshEnabled&&this.startAutoRefresh()},viewDetail(e){const g=e==null?void 0:e.trace_id;g&&(this.currentTraceId=g,this.traceInfo={...e},(e==null?void 0:e.status)==="WARN"&&(this.spanHasEvents=!0),this.drawerVisible=!0,this.loadTraceSpans(g))},async loadTraceSpans(e){var g,I,C;this.drawerLoading=!0,this.spanPageNum=1;try{const i=await FC.getTraceSpans(e,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),l=Array.isArray(i==null?void 0:i.list)?i.list:[];if(this.spans=l,this.filteredSpans=l,this.spanHasNextPage=(i==null?void 0:i.has_next_page)===!0,this.spans.length>0){this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]);const c=this.spans[0].type==="CLIENT"||this.spans[0].type==="EMBEDDING"||this.spans[0].type==="CHAT_MODEL",Z=this.selectedSpan.has_events===!0,b=[];c&&b.push("io","raw"),b.push("attributes"),Z&&b.push("events");let a="attributes";c&&(a="io"),b.includes(a)?this.activeTab=a:this.activeTab="attributes",(I=(g=this.selectedSpan.parsedContent)==null?void 0:g.inputs)!=null&&I.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((h,B)=>`message-${B}`):this.messageCollapse=[];const n=(C=this.selectedSpan.parsedContent)==null?void 0:C.events;n&&Array.isArray(n)&&n.length>0?this.eventsCollapse=n.map((h,B)=>`event-${B}`):this.eventsCollapse=[]}}catch(i){console.error("Failed to load trace spans:",i),this.$message.error("加载 span 列表失败"),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}finally{this.drawerLoading=!1}},async handleSpanSearch(e){if(this.spanSearchQuery=e,!!this.currentTraceId){this.spanPageNum=1;try{const g=await FC.getTraceSpans(this.currentTraceId,{query:e||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:1,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),I=Array.isArray(g==null?void 0:g.list)?g.list:[];this.spans=I,this.filteredSpans=I,this.spanHasNextPage=(g==null?void 0:g.has_next_page)===!0,this.spans.length>0&&!this.selectedSpanId&&(this.selectedSpanId=this.spans[0].span_id,this.selectedSpan=this.spans[0],await this.loadSpanContent(this.spans[0]))}catch(g){console.error("Failed to search spans:",g),this.spans=[],this.filteredSpans=[],this.spanHasNextPage=!1}}},async loadMoreSpans(){if(!(!this.currentTraceId||!this.spanHasNextPage||this.spanLoadMoreLoading)){this.spanLoadMoreLoading=!0;try{const e=this.spanPageNum+1,g=await FC.getTraceSpans(this.currentTraceId,{query:this.spanSearchQuery||"",has_events:this.spanHasEvents===!0?!0:void 0,page_num:e,page_size:this.spanPageSize,span_type:this.selectedSpanTypeFilter||void 0}),I=Array.isArray(g==null?void 0:g.list)?g.list:[];this.spans=this.spans.concat(I),this.filteredSpans=this.spans,this.spanPageNum=e,this.spanHasNextPage=(g==null?void 0:g.has_next_page)===!0}catch(e){console.error("Failed to load more spans:",e)}finally{this.spanLoadMoreLoading=!1}}},async handleSpanSelect(e){var c,Z,b;this.selectedSpanId=e.span_id,this.selectedSpan=e,await this.loadSpanContent(e);const g=e.type==="CLIENT"||e.type==="EMBEDDING"||e.type==="CHAT_MODEL",I=e.has_events===!0,C=[];g&&C.push("io","raw"),C.push("attributes"),I&&C.push("events");let i="attributes";g&&(i="io"),this.$nextTick(()=>{C.includes(i)?this.activeTab=i:this.activeTab="attributes"}),(Z=(c=this.selectedSpan.parsedContent)==null?void 0:c.inputs)!=null&&Z.messages?this.messageCollapse=this.selectedSpan.parsedContent.inputs.messages.map((a,n)=>`message-${n}`):this.messageCollapse=[];const l=(b=this.selectedSpan.parsedContent)==null?void 0:b.events;l&&Array.isArray(l)&&l.length>0?this.eventsCollapse=l.map((a,n)=>`event-${n}`):this.eventsCollapse=[]},async loadSpanContent(e){if(!(!this.currentTraceId||!e.span_id||e.parsedContent))try{const g=await FC.getSpanContent(this.currentTraceId,e.span_id);if(g){const I=this.parseContentData(g);this.$set(e,"parsedContent",I)}}catch(g){console.error("Failed to load span content:",g)}},parseContentData(e){const g={attributes:e.attributes||{},events:e.events||[],status:e.status||{}};if(e.inputs&&(g.inputs=e.inputs),e.outputs&&(g.outputs=e.outputs),e.request_preview!=null&&e.request_preview!==""&&(g.request_preview=e.request_preview),e.response_preview!=null&&e.response_preview!==""&&(g.response_preview=e.response_preview),g.attributes){const I=g.attributes["langsword.spanInputs"],C=g.attributes["langsword.spanOutputs"];if(I)try{g.inputs=typeof I=="string"?JSON.parse(I):I}catch{try{const l=I.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.inputs=JSON.parse(l)}catch{g.inputs=I}}if(C)try{g.outputs=typeof C=="string"?JSON.parse(C):C}catch{try{const l=C.replace(/\\"/g,'"').replace(/^"|"$/g,"");g.outputs=JSON.parse(l)}catch{g.outputs=C}}}return g},handleDrawerClose(){this.currentTraceId=null,this.traceInfo={},this.spans=[],this.filteredSpans=[],this.selectedSpanId=null,this.selectedSpan=null,this.spanSearchQuery="",this.selectedSpanTypeFilter=null,this.spanHasEvents=null,this.spanPageNum=1,this.spanHasNextPage=!1,this.spanLoadMoreLoading=!1,this.eventsCollapse=[],this.drawerLoading=!1},async loadExperiments(){try{const e=await FC.getExperiments();this.experimentList=Array.isArray(e)?e:[]}catch(e){console.error("Failed to load experiments:",e),this.experimentList=[]}},handleExperimentChange(){this.pageNum=1,this.loadTraceList()},handleSearch(){this.pageNum=1,this.loadTraceList()},handleSearchClear(){this.searchQuery="",this.pageNum=1,this.loadTraceList()},handleDateRangeChange(e){this.pageNum=1,e&&Array.isArray(e)?e.length===2&&(e[0]===null||e[0]===void 0)?this.dateRange=[null,e[1]]:this.dateRange=e:this.dateRange=e,this.loadTraceList()},handleSizeChange(e){this.pageSize=e,this.pageNum=1,this.loadTraceList()},handleCurrentChange(e){this.pageNum=e,this.loadTraceList()},async handleBatchDelete(){var c,Z;const e=this.searchQuery&&this.searchQuery.trim(),g=this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2&&this.dateRange[1]!==null||this.dateRange.length===1&&this.dateRange[0]!==null),I=this.selectedExperimentId,C=this.selectedStatus;let i="",l="warning";if(!e&&!g&&!I&&!C)i=this.$t("trace.deleteAllWarning"),l="error";else{if(i=this.$t("trace.deleteConfirmMessage")+`
|
|
92
92
|
`,I){const b=this.experimentList.find(n=>n.experiment_id===this.selectedExperimentId),a=b?b.name:this.selectedExperimentId;i+=`${this.$t("trace.application")}: ${a}
|
|
93
93
|
`}if(e&&(i+=`${this.$t("trace.searchCondition")}: ${this.searchQuery}
|
|
94
94
|
`),C&&(i+=`${this.$t("trace.status")}: ${this.getStatusLabel(this.selectedStatus)}
|
|
95
95
|
`),g){const b=this.$i18n.locale==="zh-CN"?"zh-CN":"en-US";let a="";if(this.dateRange.length===2&&this.dateRange[1]!==null?a=new Date(this.dateRange[1]).toLocaleString(b):this.dateRange.length===1&&this.dateRange[0]!==null&&(a=new Date(this.dateRange[0]).toLocaleString(b)),this.dateRange.length===2&&this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""){const n=new Date(this.dateRange[0]).toLocaleString(b);i+=`${this.$t("trace.timeRange")}: ${n} ${this.$t("trace.to")} ${a}
|
|
96
96
|
`}else this.$i18n.locale==="zh-CN"?i+=`${this.$t("trace.timeRange")}: ${this.$t("trace.before")} ${a} 之前
|
|
97
97
|
`:i+=`${this.$t("trace.timeRange")}: ${this.$t("trace.before")} ${a}
|
|
98
|
-
`}i+=this.$t("trace.deleteConfirmFooter")}try{await this.$confirm(i,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:l,dangerouslyUseHTMLString:!1}),this.deleteLoading=!0;let b=null,a=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(b=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]!==""&&(a=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(a=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10))),await FC.deleteTraces(e?this.searchQuery:null,b,a,this.selectedExperimentId,this.selectedStatus),this.$message.success(this.$t("trace.deleteSuccess")),await this.loadTraceList()}catch(b){if(b!=="cancel"){console.error("Failed to delete traces:",b);const a=((Z=(c=b.response)==null?void 0:c.data)==null?void 0:Z.message)||b.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${a}`)}}finally{this.deleteLoading=!1}},async loadDictList(){try{const e=await FC.getDictList();this.traceSpanTypeList=Array.isArray(e==null?void 0:e.trace_span_type)?e.trace_span_type:[],this.traceStatusList=Array.isArray(e==null?void 0:e.trace_span_status)?e.trace_span_status:[]}catch(e){console.error("Failed to load dict list:",e),this.traceSpanTypeList=[],this.traceStatusList=[]}},getTraceSpanTypeLabel(e){if(e==null||e==="")return"-";const g=this.traceSpanTypeList.find(I=>I.value===e);return g?g.label:e},handleStatusChange(){this.pageNum=1,this.loadTraceList()},handleTraceTypeChange(){this.pageNum=1,this.loadTraceList()},handleSortChange({column:e,prop:g,order:I}){this.sortProp=I?g:null,this.sortOrder=I||null,this.pageNum=1,this.loadTraceList()},getStatusLabel(e){if(!e)return"-";const g=this.traceStatusList.find(I=>I.value===e);return g?g.label:e},getStatusType(e){return{OK:"success",ERROR:"danger",IN_PROGRESS:"warning",WARN:"warning",UNSET:"info"}[e]||"info"},formatDateTime(e){if(!e)return"-";const g=typeof e=="string"?parseInt(e,10):e;if(isNaN(g))return"-";const I=new Date(g);if(isNaN(I.getTime()))return"-";const C=I.getFullYear(),i=String(I.getMonth()+1).padStart(2,"0"),l=String(I.getDate()).padStart(2,"0"),c=String(I.getHours()).padStart(2,"0"),Z=String(I.getMinutes()).padStart(2,"0"),b=String(I.getSeconds()).padStart(2,"0");return`${C}-${i}-${l} ${c}:${Z}:${b}`},formatTimeAgo(e){if(!e)return"-";const g=typeof e=="string"?parseInt(e,10):e;if(isNaN(g))return"-";const C=Date.now()-g,i=this.$i18n.locale==="zh-CN",l=Math.floor(C/(1e3*60*60*24));if(l>0)return i?`${l} 天前`:`${l} days ago`;const c=Math.floor(C/(1e3*60*60));if(c>0)return i?`${c} 小时前`:`${c} hours ago`;const Z=Math.floor(C/(1e3*60));return Z>0?i?`${Z} 分钟前`:`${Z} minutes ago`:i?"刚刚":"Just now"},formatNanoDuration(e){if(!e)return"-";const g=e/1e6;return g<1e3?`${g.toFixed(2)}ms`:g<6e4?`${(g/1e3).toFixed(2)}s`:`${(g/6e4).toFixed(2)}min`},formatJson(e){return e?JSON.stringify(e,null,2):""},formatRawJson(e){if(!e)return"";if(typeof e=="string")try{const g=JSON.parse(e);return JSON.stringify(g,null,2)}catch{try{const I=e.replace(/\\"/g,'"').replace(/^"|"$/g,""),C=JSON.parse(I);return JSON.stringify(C,null,2)}catch{return e}}return JSON.stringify(e,null,2)},handleCodeMirrorReady(e){this.$nextTick(()=>{e&&e.refresh()})},formatMessageContent(e){return typeof e=="string"?e:JSON.stringify(e,null,2)},formatEventTime(e){if(e.time_unix_nano){const g=e.time_unix_nano/1e6;return new Date(g).toLocaleString("zh-CN")}return e.timestamp?new Date(e.timestamp).toLocaleString("zh-CN"):"-"},tableRowClassName({row:e,rowIndex:g}){return"trace-row"},getIndex(e){return(this.pageNum-1)*this.pageSize+e+1},handleSelectionChange(e){this.selectedRows=e||[]},async handleSingleDelete(e){var I,C;const g=e==null?void 0:e.trace_id;if(g)try{await this.$confirm(this.$t("trace.confirmRemoveOne"),this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await FC.removeTraces([g]),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId===g&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(i){if(i!=="cancel"){console.error("Failed to delete trace:",i);const l=((C=(I=i.response)==null?void 0:I.data)==null?void 0:C.message)||i.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${l}`)}}finally{this.deleteLoading=!1}},async handleDeleteSelected(){var C,i;if(this.selectedRows.length===0)return;const e=this.selectedRows.map(l=>l.trace_id).filter(Boolean);if(e.length===0)return;const g=e.length,I=this.$t("trace.confirmRemoveSelected").replace("{count}",String(g));try{await this.$confirm(I,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await FC.removeTraces(e),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId&&e.includes(this.currentTraceId)&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(l){if(l!=="cancel"){console.error("Failed to delete traces:",l);const c=((i=(C=l.response)==null?void 0:C.data)==null?void 0:i.message)||l.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${c}`)}}finally{this.deleteLoading=!1}},copyTraceIdToClipboard(e){e&&c0(e,this)},clearSelection(){this.$nextTick(()=>{this.$refs.traceTable&&this.$refs.traceTable.clearSelection(),this.selectedRows=[]})},async handleSingleExport(e){var I,C;const g=e==null?void 0:e.trace_id;if(g)try{this.exportLoading=!0;const i=await FC.exportTraces([g]),l=i==null?void 0:i.storage_key;if(l){const c=d0(l);c&&window.open(c,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(i){const l=((C=(I=i.response)==null?void 0:I.data)==null?void 0:C.message)||i.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${l}`)}finally{this.exportLoading=!1}},async handleBatchExport(){var g,I;if(this.selectedRows.length===0)return;const e=this.selectedRows.map(C=>C.trace_id).filter(Boolean);if(e.length!==0)try{this.exportLoading=!0;const C=await FC.exportTraces(e),i=C==null?void 0:C.storage_key;if(i){const l=d0(i);l&&window.open(l,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(C){const i=((I=(g=C.response)==null?void 0:g.data)==null?void 0:I.message)||C.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${i}`)}finally{this.exportLoading=!1}},async handleImportFileChange(e){var I,C,i;const g=(I=e.target.files)==null?void 0:I[0];if(g)try{this.importLoading=!0,await FC.importTraces(g),this.$message.success(this.$t("trace.importSuccess")),await this.loadTraceList()}catch(l){const c=((i=(C=l.response)==null?void 0:C.data)==null?void 0:i.message)||l.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.importFailed")}: ${c}`)}finally{this.importLoading=!1,this.$refs.importFileInput&&(this.$refs.importFileInput.value="")}},applyColumns(){const e={};this.selectedColumns.forEach(g=>{e[g]=!0}),Object.keys(this.visibleColumns).forEach(g=>{this.selectedColumns.includes(g)||(e[g]=!1)}),this.visibleColumns=e,this.showColumnDialog=!1}}};var qr=function(){var g=this,I=g._self._c;return I("div",{staticClass:"trace-list-container"},[I("el-card",[I("div",{staticClass:"trace-content-wrapper"},[I("div",{staticClass:"trace-toolbar"},[I("el-select",{staticClass:"toolbar-select",attrs:{placeholder:g.$t("trace.selectApplication"),clearable:"",size:"mini"},on:{change:g.handleExperimentChange},model:{value:g.selectedExperimentId,callback:function(C){g.selectedExperimentId=C},expression:"selectedExperimentId"}},g._l(g.experimentList,function(C){return I("el-option",{key:C.experiment_id,attrs:{label:C.name,value:C.experiment_id}})}),1),I("el-input",{staticClass:"toolbar-input",attrs:{placeholder:g.$t("trace.searchPlaceholder"),"prefix-icon":"el-icon-search",clearable:"",size:"mini"},on:{clear:g.handleSearchClear,input:g.handleSearch},model:{value:g.searchQuery,callback:function(C){g.searchQuery=C},expression:"searchQuery"}}),I("el-select",{staticClass:"toolbar-select",attrs:{placeholder:g.$t("trace.status"),clearable:"",size:"mini"},on:{change:g.handleStatusChange},model:{value:g.selectedStatus,callback:function(C){g.selectedStatus=C},expression:"selectedStatus"}},g._l(g.traceStatusList,function(C){return I("el-option",{key:C.value,attrs:{label:C.label,value:C.value}})}),1),I("el-select",{staticClass:"toolbar-select",attrs:{placeholder:g.$t("trace.traceType"),clearable:"",size:"mini"},on:{change:g.handleTraceTypeChange},model:{value:g.selectedTraceType,callback:function(C){g.selectedTraceType=C},expression:"selectedTraceType"}},g._l(g.traceSpanTypeList,function(C){return I("el-option",{key:C.value,attrs:{label:C.label,value:C.value}})}),1),I("el-date-picker",{staticClass:"toolbar-date-picker",attrs:{type:"datetimerange","range-separator":g.$t("trace.to"),"start-placeholder":g.$t("trace.startTime"),"end-placeholder":g.$t("trace.endTime"),"value-format":"timestamp",format:"yyyy-MM-dd HH:mm:ss",size:"mini","picker-options":g.pickerOptions,clearable:""},on:{change:g.handleDateRangeChange},model:{value:g.dateRange,callback:function(C){g.dateRange=C},expression:"dateRange"}}),I("el-button",{attrs:{type:"primary",icon:"el-icon-download",size:"mini",disabled:g.exportLoading||g.selectedRows.length===0},on:{click:g.handleBatchExport}},[g._v(" "+g._s(g.$t("trace.exportBatch"))+" ("+g._s(g.selectedRows.length)+") ")]),I("el-button",{attrs:{size:"mini",icon:"el-icon-upload2",loading:g.importLoading},on:{click:function(C){g.$refs.importFileInput&&g.$refs.importFileInput.click()}}},[g._v(" "+g._s(g.$t("trace.importBatch"))+" ")]),I("input",{ref:"importFileInput",staticStyle:{display:"none"},attrs:{type:"file",accept:".gz"},on:{change:g.handleImportFileChange}}),I("el-button",{attrs:{type:"danger",icon:"el-icon-delete",size:"mini",disabled:g.deleteLoading||g.selectedRows.length===0},on:{click:g.handleDeleteSelected}},[g._v(" "+g._s(g.$t("trace.deleteSelected"))+" ("+g._s(g.selectedRows.length)+") ")]),I("el-checkbox",{staticClass:"toolbar-auto-refresh",attrs:{size:"mini"},model:{value:g.autoRefreshEnabled,callback:function(C){g.autoRefreshEnabled=C},expression:"autoRefreshEnabled"}},[g._v(" "+g._s(g.$t("trace.autoRefresh"))+" ")]),g.autoRefreshEnabled?I("el-select",{staticClass:"toolbar-interval-select",attrs:{size:"mini"},on:{change:g.handleAutoRefreshIntervalChange},model:{value:g.autoRefreshInterval,callback:function(C){g.autoRefreshInterval=C},expression:"autoRefreshInterval"}},[I("el-option",{attrs:{label:g.$t("trace.refreshInterval5s"),value:5}}),I("el-option",{attrs:{label:g.$t("trace.refreshInterval10s"),value:10}}),I("el-option",{attrs:{label:g.$t("trace.refreshInterval20s"),value:20}})],1):g._e(),I("el-tooltip",{attrs:{content:g.$t("common.refresh"),placement:"top"}},[I("el-button",{attrs:{icon:"el-icon-refresh",size:"mini",circle:""},on:{click:g.refresh}})],1),I("el-button",{attrs:{icon:"el-icon-setting",size:"mini"},on:{click:function(C){g.showColumnDialog=!0}}},[g._v(" "+g._s(g.$t("common.columns"))+" ")])],1),I("div",{staticClass:"trace-table-wrapper"},[I("el-table",{directives:[{name:"loading",rawName:"v-loading",value:g.loading,expression:"loading"}],ref:"traceTable",staticStyle:{width:"100%"},attrs:{data:g.filteredTraceList,"default-sort":{prop:"timestamp_ms",order:"descending"},size:"mini",stripe:"","row-class-name":g.tableRowClassName},on:{"selection-change":g.handleSelectionChange,"sort-change":g.handleSortChange}},[I("el-table-column",{attrs:{type:"selection",width:"48","class-name":"selection-column"}}),I("el-table-column",{attrs:{type:"index",label:"#",width:"60",index:g.getIndex}}),g.visibleColumns.trace_id?I("el-table-column",{attrs:{prop:"trace_id",label:g.$t("trace.requestId"),width:"280"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-tooltip",{attrs:{placement:"top","popper-class":"trace-id-copy-tooltip"}},[I("template",{slot:"content"},[I("div",{staticClass:"trace-id-tooltip-content"},[I("span",{staticClass:"trace-id-tooltip-text"},[g._v(g._s(C.row.trace_id))]),I("el-button",{staticClass:"trace-id-copy-btn",attrs:{type:"text",size:"mini"},nativeOn:{click:function(i){return i.stopPropagation(),g.copyTraceIdToClipboard(C.row.trace_id)}}},[g._v(" "+g._s(g.$t("trace.copy"))+" ")])],1)]),I("el-link",{attrs:{type:"primary"},on:{click:function(i){return i.stopPropagation(),g.viewDetail(C.row)}}},[g._v(" "+g._s(C.row.trace_id)+" ")])],2)]}}],null,!1,2525458733)}):g._e(),g.visibleColumns.trace_name?I("el-table-column",{attrs:{prop:"trace_name",label:g.$t("trace.traceName"),"min-width":"300","show-overflow-tooltip":""},scopedSlots:g._u([{key:"default",fn:function(C){return[I("span",[g._v(g._s(C.row.trace_name||"-"))])]}}],null,!1,3633653970)}):g._e(),g.visibleColumns.experiment_name?I("el-table-column",{attrs:{prop:"experiment_name",label:g.$t("trace.experimentName"),width:"140","show-overflow-tooltip":""},scopedSlots:g._u([{key:"default",fn:function(C){return[I("span",[g._v(g._s(C.row.experiment_name||"-"))])]}}],null,!1,4093523474)}):g._e(),g.visibleColumns.trace_type?I("el-table-column",{attrs:{prop:"trace_type",label:g.$t("trace.traceType"),width:"120"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-tag",{attrs:{size:"mini",type:"info"}},[g._v(g._s(g.getTraceSpanTypeLabel(C.row.trace_type)))])]}}],null,!1,307785716)}):g._e(),g.visibleColumns.execution_time_ms?I("el-table-column",{attrs:{prop:"execution_time_ms",label:g.$t("trace.executionTime"),width:"120",sortable:"custom","sort-order":g.sortProp==="execution_time_ms"?g.sortOrder:null},scopedSlots:g._u([{key:"default",fn:function(C){return[g._v(" "+g._s(g.formatNanoDuration(C.row.execution_time_ms))+" ")]}}],null,!1,1733254102)}):g._e(),g.visibleColumns.status?I("el-table-column",{attrs:{prop:"status",label:g.$t("trace.status"),width:"100"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-tag",{attrs:{type:g.getStatusType(C.row.status),size:"mini"}},[C.row.status==="OK"?I("i",{staticClass:"el-icon-success"}):g._e(),g._v(" "+g._s(g.getStatusLabel(C.row.status))+" ")])]}}],null,!1,4220190539)}):g._e(),g.visibleColumns.timestamp_ms?I("el-table-column",{attrs:{prop:"timestamp_ms",label:g.$t("trace.timeCreated"),width:"180",sortable:"custom","sort-order":g.sortProp==="timestamp_ms"?g.sortOrder:null},scopedSlots:g._u([{key:"default",fn:function(C){return[g._v(" "+g._s(g.formatDateTime(C.row.timestamp_ms))+" ")]}}],null,!1,1082702673)}):g._e(),I("el-table-column",{attrs:{label:g.$t("common.operation"),width:"200",fixed:"right"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(i){return i.stopPropagation(),g.viewDetail(C.row)}}},[g._v(" "+g._s(g.$t("common.viewDetail"))+" ")]),I("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(i){return i.stopPropagation(),g.handleSingleExport(C.row)}}},[g._v(" "+g._s(g.$t("trace.exportSingle"))+" ")]),I("el-button",{staticClass:"operation-delete",attrs:{type:"text",size:"mini"},on:{click:function(i){return i.stopPropagation(),g.handleSingleDelete(C.row)}}},[g._v(" "+g._s(g.$t("trace.delete"))+" ")])]}}])})],1)],1),I("div",{staticClass:"trace-pagination-wrapper"},[g.total>0?I("el-pagination",{staticClass:"trace-pagination",attrs:{"current-page":g.pageNum,"page-sizes":[10,20,50,100],"page-size":g.pageSize,size:"mini",layout:"total, prev, pager, next, sizes, jumper",total:g.total,background:""},on:{"size-change":g.handleSizeChange,"current-change":g.handleCurrentChange}}):g._e()],1)])]),I("el-dialog",{attrs:{title:g.$t("trace.selectColumns"),visible:g.showColumnDialog,width:"400px"},on:{"update:visible":function(C){g.showColumnDialog=C}}},[I("el-checkbox-group",{model:{value:g.selectedColumns,callback:function(C){g.selectedColumns=C},expression:"selectedColumns"}},[I("el-checkbox",{attrs:{label:"trace_id"}},[g._v(g._s(g.$t("trace.requestId")))]),I("el-checkbox",{attrs:{label:"timestamp_ms"}},[g._v(g._s(g.$t("trace.timeCreated")))]),I("el-checkbox",{attrs:{label:"status"}},[g._v(g._s(g.$t("trace.status")))]),I("el-checkbox",{attrs:{label:"execution_time_ms"}},[g._v(g._s(g.$t("trace.executionTime")))]),I("el-checkbox",{attrs:{label:"trace_type"}},[g._v(g._s(g.$t("trace.traceType")))]),I("el-checkbox",{attrs:{label:"trace_name"}},[g._v(g._s(g.$t("trace.traceName")))]),I("el-checkbox",{attrs:{label:"experiment_name"}},[g._v(g._s(g.$t("trace.experimentName")))])],1),I("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[I("el-button",{attrs:{size:"mini"},on:{click:function(C){g.showColumnDialog=!1}}},[g._v(g._s(g.$t("common.cancel")))]),I("el-button",{attrs:{size:"mini",type:"primary"},on:{click:g.applyColumns}},[g._v(g._s(g.$t("common.confirm")))])],1)],1),I("TraceDetailDrawer",{attrs:{visible:g.drawerVisible,"current-trace-id":g.currentTraceId,"trace-info":g.traceInfo,"trace-status-list":g.traceStatusList,"trace-span-type-list":g.traceSpanTypeList,spans:g.spans,"filtered-spans":g.filteredSpans,"selected-span-id":g.selectedSpanId,"selected-span":g.selectedSpan,loading:g.drawerLoading,"span-has-next-page":g.spanHasNextPage,"span-load-more-loading":g.spanLoadMoreLoading,"span-page-size":g.spanPageSize,"span-has-events":g.spanHasEvents,"span-type-filter":g.selectedSpanTypeFilter},on:{"update:visible":[function(C){g.drawerVisible=C},function(C){g.drawerVisible=C}],"update:spanPageSize":function(C){g.spanPageSize=C},"update:span-page-size":function(C){g.spanPageSize=C},"update:spanHasEvents":function(C){g.spanHasEvents=C},"update:span-has-events":function(C){g.spanHasEvents=C},"update:spanTypeFilter":function(C){g.selectedSpanTypeFilter=C},"update:span-type-filter":function(C){g.selectedSpanTypeFilter=C},close:g.handleDrawerClose,"span-search":g.handleSpanSearch,"span-select":g.handleSpanSelect,"span-load-more":g.loadMoreSpans}})],1)},$r=[],gD=yl(_r,qr,$r,!1,null,"af381bcb");const iB=gD.exports,$Y={routes:[{path:"/trace",name:"trace",component:iB}],beforeEach:(e,g,I)=>{I()}},gV={common:{home:"首页",todos:"待办事项",trace:"追踪",login:"登录",logout:"退出",user:"用户",search:"搜索",refresh:"刷新",columns:"列设置",confirm:"确定",cancel:"取消",operation:"操作",viewDetail:"查看详情",language:"语言"},span:{searchTree:"Span名称",hasEvents:"只显示有事件"},trace:{title:"追踪列表",searchPlaceholder:"追踪ID/追踪名称",requestId:"追踪ID",timeCreated:"创建时间",status:"状态",executionTime:"执行时长",traceType:"追踪类型",traceName:"追踪名称",traceDetail:"追踪详情",traceId:"追踪ID",clientRequestId:"客户端请求ID",experimentId:"应用ID",application:"应用",experimentName:"应用名称",selectApplication:"请选择应用",spanDetail:"Span 详情",inputs:"输入",outputs:"输出",attributes:"属性",rawInputsOutputs:"原始输入输出",rawInputs:"原始输入",rawOutputs:"原始输出",events:"事件",selectSpan:"请选择一个 Span 查看详情",noInputs:"暂无输入数据",noOutputs:"暂无输出数据",noIoData:"暂无输入输出数据",noEvents:"暂无事件数据",exceptionType:"异常类型",exceptionMessage:"异常消息",exceptionStacktrace:"异常堆栈",otherAttributes:"其他属性",key:"属性名",value:"属性值",selectColumns:"选择列",batchDelete:"批量删除",startTime:"开始时间",endTime:"结束时间",to:"至",confirmDelete:"确认删除",confirmDeleteButton:"确定删除",deleteAllWarning:`警告:您没有设置任何查询条件,这将删除所有 trace 数据!
|
|
98
|
+
`}i+=this.$t("trace.deleteConfirmFooter")}try{await this.$confirm(i,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:l,dangerouslyUseHTMLString:!1}),this.deleteLoading=!0;let b=null,a=null;this.dateRange&&Array.isArray(this.dateRange)&&(this.dateRange.length===2?(this.dateRange[0]!==null&&this.dateRange[0]!==void 0&&this.dateRange[0]!==""&&(b=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]!==""&&(a=typeof this.dateRange[1]=="number"?this.dateRange[1]:parseInt(this.dateRange[1],10))):this.dateRange.length===1&&this.dateRange[0]!==null&&(a=typeof this.dateRange[0]=="number"?this.dateRange[0]:parseInt(this.dateRange[0],10))),await FC.deleteTraces(e?this.searchQuery:null,b,a,this.selectedExperimentId,this.selectedStatus),this.$message.success(this.$t("trace.deleteSuccess")),await this.loadTraceList()}catch(b){if(b!=="cancel"){console.error("Failed to delete traces:",b);const a=((Z=(c=b.response)==null?void 0:c.data)==null?void 0:Z.message)||b.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${a}`)}}finally{this.deleteLoading=!1}},async loadDictList(){try{const e=await FC.getDictList();this.traceSpanTypeList=Array.isArray(e==null?void 0:e.trace_span_type)?e.trace_span_type:[],this.traceStatusList=Array.isArray(e==null?void 0:e.trace_span_status)?e.trace_span_status:[]}catch(e){console.error("Failed to load dict list:",e),this.traceSpanTypeList=[],this.traceStatusList=[]}},getTraceSpanTypeLabel(e){if(e==null||e==="")return"-";const g=this.traceSpanTypeList.find(I=>I.value===e);return g?g.label:e},handleStatusChange(){this.pageNum=1,this.loadTraceList()},handleTraceTypeChange(){this.pageNum=1,this.loadTraceList()},handleSortChange({column:e,prop:g,order:I}){this.sortProp=I?g:null,this.sortOrder=I||null,this.pageNum=1,this.loadTraceList()},getStatusLabel(e){if(!e)return"-";const g=this.traceStatusList.find(I=>I.value===e);return g?g.label:e},getStatusType(e){return{OK:"success",ERROR:"danger",IN_PROGRESS:"warning",WARN:"warning",UNSET:"info"}[e]||"info"},formatDateTime(e){if(!e)return"-";const g=typeof e=="string"?parseInt(e,10):e;if(isNaN(g))return"-";const I=new Date(g);if(isNaN(I.getTime()))return"-";const C=I.getFullYear(),i=String(I.getMonth()+1).padStart(2,"0"),l=String(I.getDate()).padStart(2,"0"),c=String(I.getHours()).padStart(2,"0"),Z=String(I.getMinutes()).padStart(2,"0"),b=String(I.getSeconds()).padStart(2,"0");return`${C}-${i}-${l} ${c}:${Z}:${b}`},formatTimeAgo(e){if(!e)return"-";const g=typeof e=="string"?parseInt(e,10):e;if(isNaN(g))return"-";const C=Date.now()-g,i=this.$i18n.locale==="zh-CN",l=Math.floor(C/(1e3*60*60*24));if(l>0)return i?`${l} 天前`:`${l} days ago`;const c=Math.floor(C/(1e3*60*60));if(c>0)return i?`${c} 小时前`:`${c} hours ago`;const Z=Math.floor(C/(1e3*60));return Z>0?i?`${Z} 分钟前`:`${Z} minutes ago`:i?"刚刚":"Just now"},formatNanoDuration(e){if(!e)return"-";const g=e/1e6;return g<1e3?`${g.toFixed(2)}ms`:g<6e4?`${(g/1e3).toFixed(2)}s`:`${(g/6e4).toFixed(2)}min`},formatJson(e){return e?JSON.stringify(e,null,2):""},formatRawJson(e){if(!e)return"";if(typeof e=="string")try{const g=JSON.parse(e);return JSON.stringify(g,null,2)}catch{try{const I=e.replace(/\\"/g,'"').replace(/^"|"$/g,""),C=JSON.parse(I);return JSON.stringify(C,null,2)}catch{return e}}return JSON.stringify(e,null,2)},handleCodeMirrorReady(e){this.$nextTick(()=>{e&&e.refresh()})},formatMessageContent(e){return typeof e=="string"?e:JSON.stringify(e,null,2)},formatEventTime(e){if(e.time_unix_nano){const g=e.time_unix_nano/1e6;return new Date(g).toLocaleString("zh-CN")}return e.timestamp?new Date(e.timestamp).toLocaleString("zh-CN"):"-"},tableRowClassName({row:e,rowIndex:g}){return"trace-row"},getIndex(e){return(this.pageNum-1)*this.pageSize+e+1},handleSelectionChange(e){this.selectedRows=e||[]},async handleSingleDelete(e){var I,C;const g=e==null?void 0:e.trace_id;if(g)try{await this.$confirm(this.$t("trace.confirmRemoveOne"),this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await FC.removeTraces([g]),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId===g&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(i){if(i!=="cancel"){console.error("Failed to delete trace:",i);const l=((C=(I=i.response)==null?void 0:I.data)==null?void 0:C.message)||i.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${l}`)}}finally{this.deleteLoading=!1}},async handleDeleteSelected(){var C,i;if(this.selectedRows.length===0)return;const e=this.selectedRows.map(l=>l.trace_id).filter(Boolean);if(e.length===0)return;const g=e.length,I=this.$t("trace.confirmRemoveSelected").replace("{count}",String(g));try{await this.$confirm(I,this.$t("trace.confirmDelete"),{confirmButtonText:this.$t("trace.confirmDeleteButton"),cancelButtonText:this.$t("common.cancel"),type:"warning"}),this.deleteLoading=!0,await FC.removeTraces(e),this.$message.success(this.$t("trace.deleteSuccess")),this.currentTraceId&&e.includes(this.currentTraceId)&&(this.drawerVisible=!1,this.handleDrawerClose()),await this.loadTraceList(),this.clearSelection()}catch(l){if(l!=="cancel"){console.error("Failed to delete traces:",l);const c=((i=(C=l.response)==null?void 0:C.data)==null?void 0:i.message)||l.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.deleteFailed")}: ${c}`)}}finally{this.deleteLoading=!1}},copyTraceIdToClipboard(e){e&&c0(e,this)},clearSelection(){this.$nextTick(()=>{this.$refs.traceTable&&this.$refs.traceTable.clearSelection(),this.selectedRows=[]})},async handleSingleExport(e){var I,C;const g=e==null?void 0:e.trace_id;if(g)try{this.exportLoading=!0;const i=await FC.exportTraces([g]),l=i==null?void 0:i.storage_key;if(l){const c=d0(l);c&&window.open(c,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(i){const l=((C=(I=i.response)==null?void 0:I.data)==null?void 0:C.message)||i.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${l}`)}finally{this.exportLoading=!1}},async handleBatchExport(){var g,I;if(this.selectedRows.length===0)return;const e=this.selectedRows.map(C=>C.trace_id).filter(Boolean);if(e.length!==0)try{this.exportLoading=!0;const C=await FC.exportTraces(e),i=C==null?void 0:C.storage_key;if(i){const l=d0(i);l&&window.open(l,"_blank"),this.$message.success(this.$t("trace.exportSuccess"))}}catch(C){const i=((I=(g=C.response)==null?void 0:g.data)==null?void 0:I.message)||C.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.exportFailed")}: ${i}`)}finally{this.exportLoading=!1}},async handleImportFileChange(e){var I,C,i;const g=(I=e.target.files)==null?void 0:I[0];if(g)try{this.importLoading=!0,await FC.importTraces(g),this.$message.success(this.$t("trace.importSuccess")),await this.loadTraceList()}catch(l){const c=((i=(C=l.response)==null?void 0:C.data)==null?void 0:i.message)||l.message||this.$t("trace.unknownError");this.$message.error(`${this.$t("trace.importFailed")}: ${c}`)}finally{this.importLoading=!1,this.$refs.importFileInput&&(this.$refs.importFileInput.value="")}},applyColumns(){const e={};this.selectedColumns.forEach(g=>{e[g]=!0}),Object.keys(this.visibleColumns).forEach(g=>{this.selectedColumns.includes(g)||(e[g]=!1)}),this.visibleColumns=e,this.showColumnDialog=!1}}};var qr=function(){var g=this,I=g._self._c;return I("div",{staticClass:"trace-list-container"},[I("el-card",[I("div",{staticClass:"trace-content-wrapper"},[I("div",{staticClass:"trace-toolbar"},[I("el-select",{staticClass:"toolbar-select",attrs:{placeholder:g.$t("trace.selectApplication"),clearable:"",size:"mini"},on:{change:g.handleExperimentChange},model:{value:g.selectedExperimentId,callback:function(C){g.selectedExperimentId=C},expression:"selectedExperimentId"}},g._l(g.experimentList,function(C){return I("el-option",{key:C.experiment_id,attrs:{label:C.name,value:C.experiment_id}})}),1),I("el-input",{staticClass:"toolbar-input",attrs:{placeholder:g.$t("trace.searchPlaceholder"),"prefix-icon":"el-icon-search",clearable:"",size:"mini"},on:{clear:g.handleSearchClear,input:g.handleSearch},model:{value:g.searchQuery,callback:function(C){g.searchQuery=C},expression:"searchQuery"}}),I("el-select",{staticClass:"toolbar-select",attrs:{placeholder:g.$t("trace.status"),clearable:"",size:"mini"},on:{change:g.handleStatusChange},model:{value:g.selectedStatus,callback:function(C){g.selectedStatus=C},expression:"selectedStatus"}},g._l(g.traceStatusList,function(C){return I("el-option",{key:C.value,attrs:{label:C.label,value:C.value}})}),1),I("el-select",{staticClass:"toolbar-select",attrs:{placeholder:g.$t("trace.traceType"),clearable:"",size:"mini"},on:{change:g.handleTraceTypeChange},model:{value:g.selectedTraceType,callback:function(C){g.selectedTraceType=C},expression:"selectedTraceType"}},g._l(g.traceSpanTypeList,function(C){return I("el-option",{key:C.value,attrs:{label:C.label,value:C.value}})}),1),I("el-date-picker",{staticClass:"toolbar-date-picker",attrs:{type:"datetimerange","range-separator":g.$t("trace.to"),"start-placeholder":g.$t("trace.startTime"),"end-placeholder":g.$t("trace.endTime"),"value-format":"timestamp",format:"yyyy-MM-dd HH:mm:ss",size:"mini","picker-options":g.pickerOptions,clearable:""},on:{change:g.handleDateRangeChange},model:{value:g.dateRange,callback:function(C){g.dateRange=C},expression:"dateRange"}}),I("el-button",{attrs:{type:"primary",icon:"el-icon-download",size:"mini",disabled:g.exportLoading||g.selectedRows.length===0},on:{click:g.handleBatchExport}},[g._v(" "+g._s(g.$t("trace.exportBatch"))+" ("+g._s(g.selectedRows.length)+") ")]),I("el-button",{attrs:{size:"mini",icon:"el-icon-upload2",loading:g.importLoading},on:{click:function(C){g.$refs.importFileInput&&g.$refs.importFileInput.click()}}},[g._v(" "+g._s(g.$t("trace.importBatch"))+" ")]),I("input",{ref:"importFileInput",staticStyle:{display:"none"},attrs:{type:"file",accept:".gz"},on:{change:g.handleImportFileChange}}),I("el-button",{attrs:{type:"danger",icon:"el-icon-delete",size:"mini",disabled:g.deleteLoading||g.selectedRows.length===0},on:{click:g.handleDeleteSelected}},[g._v(" "+g._s(g.$t("trace.deleteSelected"))+" ("+g._s(g.selectedRows.length)+") ")]),I("el-checkbox",{staticClass:"toolbar-auto-refresh",attrs:{size:"mini"},model:{value:g.autoRefreshEnabled,callback:function(C){g.autoRefreshEnabled=C},expression:"autoRefreshEnabled"}},[g._v(" "+g._s(g.$t("trace.autoRefresh"))+" ")]),g.autoRefreshEnabled?I("el-select",{staticClass:"toolbar-interval-select",attrs:{size:"mini"},on:{change:g.handleAutoRefreshIntervalChange},model:{value:g.autoRefreshInterval,callback:function(C){g.autoRefreshInterval=C},expression:"autoRefreshInterval"}},[I("el-option",{attrs:{label:g.$t("trace.refreshInterval5s"),value:5}}),I("el-option",{attrs:{label:g.$t("trace.refreshInterval10s"),value:10}}),I("el-option",{attrs:{label:g.$t("trace.refreshInterval20s"),value:20}})],1):g._e(),I("el-tooltip",{attrs:{content:g.$t("common.refresh"),placement:"top"}},[I("el-button",{attrs:{icon:"el-icon-refresh",size:"mini",circle:""},on:{click:g.refresh}})],1),I("el-button",{attrs:{icon:"el-icon-setting",size:"mini"},on:{click:function(C){g.showColumnDialog=!0}}},[g._v(" "+g._s(g.$t("common.columns"))+" ")])],1),I("div",{staticClass:"trace-table-wrapper"},[I("el-table",{directives:[{name:"loading",rawName:"v-loading",value:g.loading,expression:"loading"}],ref:"traceTable",staticStyle:{width:"100%"},attrs:{data:g.filteredTraceList,"default-sort":{prop:"timestamp_ms",order:"descending"},size:"mini",stripe:"","row-class-name":g.tableRowClassName},on:{"selection-change":g.handleSelectionChange,"sort-change":g.handleSortChange}},[I("el-table-column",{attrs:{type:"selection",width:"48","class-name":"selection-column"}}),I("el-table-column",{attrs:{type:"index",label:"#",width:"60",index:g.getIndex}}),g.visibleColumns.trace_id?I("el-table-column",{attrs:{prop:"trace_id",label:g.$t("trace.requestId"),width:"280"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-tooltip",{attrs:{placement:"top","popper-class":"trace-id-copy-tooltip"}},[I("template",{slot:"content"},[I("div",{staticClass:"trace-id-tooltip-content"},[I("span",{staticClass:"trace-id-tooltip-text"},[g._v(g._s(C.row.trace_id))]),I("el-button",{staticClass:"trace-id-copy-btn",attrs:{type:"text",size:"mini"},nativeOn:{click:function(i){return i.stopPropagation(),g.copyTraceIdToClipboard(C.row.trace_id)}}},[g._v(" "+g._s(g.$t("trace.copy"))+" ")])],1)]),I("el-link",{attrs:{type:"primary"},on:{click:function(i){return i.stopPropagation(),g.viewDetail(C.row)}}},[g._v(" "+g._s(C.row.trace_id)+" ")])],2)]}}],null,!1,2525458733)}):g._e(),g.visibleColumns.trace_name?I("el-table-column",{attrs:{prop:"trace_name",label:g.$t("trace.traceName"),"min-width":"300","show-overflow-tooltip":""},scopedSlots:g._u([{key:"default",fn:function(C){return[I("span",[g._v(g._s(C.row.trace_name||"-"))])]}}],null,!1,3633653970)}):g._e(),g.visibleColumns.experiment_name?I("el-table-column",{attrs:{prop:"experiment_name",label:g.$t("trace.experimentName"),width:"140","show-overflow-tooltip":""},scopedSlots:g._u([{key:"default",fn:function(C){return[I("span",[g._v(g._s(C.row.experiment_name||"-"))])]}}],null,!1,4093523474)}):g._e(),g.visibleColumns.trace_type?I("el-table-column",{attrs:{prop:"trace_type",label:g.$t("trace.traceType"),width:"120"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-tag",{attrs:{size:"mini",type:"info"}},[g._v(g._s(g.getTraceSpanTypeLabel(C.row.trace_type)))])]}}],null,!1,307785716)}):g._e(),g.visibleColumns.execution_time_ms?I("el-table-column",{attrs:{prop:"execution_time_ms",label:g.$t("trace.executionTime"),width:"120",sortable:"custom","sort-order":g.sortProp==="execution_time_ms"?g.sortOrder:null},scopedSlots:g._u([{key:"default",fn:function(C){return[g._v(" "+g._s(g.formatNanoDuration(C.row.execution_time_ms))+" ")]}}],null,!1,1733254102)}):g._e(),g.visibleColumns.status?I("el-table-column",{attrs:{prop:"status",label:g.$t("trace.status"),width:"100"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-tag",{attrs:{type:g.getStatusType(C.row.status),size:"mini"}},[C.row.status==="OK"?I("i",{staticClass:"el-icon-success"}):g._e(),g._v(" "+g._s(g.getStatusLabel(C.row.status))+" ")])]}}],null,!1,4220190539)}):g._e(),g.visibleColumns.timestamp_ms?I("el-table-column",{attrs:{prop:"timestamp_ms",label:g.$t("trace.timeCreated"),width:"180",sortable:"custom","sort-order":g.sortProp==="timestamp_ms"?g.sortOrder:null},scopedSlots:g._u([{key:"default",fn:function(C){return[g._v(" "+g._s(g.formatDateTime(C.row.timestamp_ms))+" ")]}}],null,!1,1082702673)}):g._e(),g.visibleColumns.end_time_ms?I("el-table-column",{attrs:{prop:"end_time_ms",label:g.$t("trace.timeEnded"),width:"180",sortable:"custom","sort-order":g.sortProp==="end_time_ms"?g.sortOrder:null},scopedSlots:g._u([{key:"default",fn:function(C){return[g._v(" "+g._s(g.formatDateTime(C.row.end_time_ms))+" ")]}}],null,!1,2066523034)}):g._e(),I("el-table-column",{attrs:{label:g.$t("common.operation"),width:"200",fixed:"right"},scopedSlots:g._u([{key:"default",fn:function(C){return[I("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(i){return i.stopPropagation(),g.viewDetail(C.row)}}},[g._v(" "+g._s(g.$t("common.viewDetail"))+" ")]),I("el-button",{attrs:{type:"text",size:"mini"},on:{click:function(i){return i.stopPropagation(),g.handleSingleExport(C.row)}}},[g._v(" "+g._s(g.$t("trace.exportSingle"))+" ")]),I("el-button",{staticClass:"operation-delete",attrs:{type:"text",size:"mini"},on:{click:function(i){return i.stopPropagation(),g.handleSingleDelete(C.row)}}},[g._v(" "+g._s(g.$t("trace.delete"))+" ")])]}}])})],1)],1),I("div",{staticClass:"trace-pagination-wrapper"},[g.total>0?I("el-pagination",{staticClass:"trace-pagination",attrs:{"current-page":g.pageNum,"page-sizes":[10,20,50,100],"page-size":g.pageSize,size:"mini",layout:"total, prev, pager, next, sizes, jumper",total:g.total,background:""},on:{"size-change":g.handleSizeChange,"current-change":g.handleCurrentChange}}):g._e()],1)])]),I("el-dialog",{attrs:{title:g.$t("trace.selectColumns"),visible:g.showColumnDialog,width:"400px"},on:{"update:visible":function(C){g.showColumnDialog=C}}},[I("el-checkbox-group",{model:{value:g.selectedColumns,callback:function(C){g.selectedColumns=C},expression:"selectedColumns"}},[I("el-checkbox",{attrs:{label:"trace_id"}},[g._v(g._s(g.$t("trace.requestId")))]),I("el-checkbox",{attrs:{label:"timestamp_ms"}},[g._v(g._s(g.$t("trace.timeCreated")))]),I("el-checkbox",{attrs:{label:"end_time_ms"}},[g._v(g._s(g.$t("trace.timeEnded")))]),I("el-checkbox",{attrs:{label:"status"}},[g._v(g._s(g.$t("trace.status")))]),I("el-checkbox",{attrs:{label:"execution_time_ms"}},[g._v(g._s(g.$t("trace.executionTime")))]),I("el-checkbox",{attrs:{label:"trace_type"}},[g._v(g._s(g.$t("trace.traceType")))]),I("el-checkbox",{attrs:{label:"trace_name"}},[g._v(g._s(g.$t("trace.traceName")))]),I("el-checkbox",{attrs:{label:"experiment_name"}},[g._v(g._s(g.$t("trace.experimentName")))])],1),I("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[I("el-button",{attrs:{size:"mini"},on:{click:function(C){g.showColumnDialog=!1}}},[g._v(g._s(g.$t("common.cancel")))]),I("el-button",{attrs:{size:"mini",type:"primary"},on:{click:g.applyColumns}},[g._v(g._s(g.$t("common.confirm")))])],1)],1),I("TraceDetailDrawer",{attrs:{visible:g.drawerVisible,"current-trace-id":g.currentTraceId,"trace-info":g.traceInfo,"trace-status-list":g.traceStatusList,"trace-span-type-list":g.traceSpanTypeList,spans:g.spans,"filtered-spans":g.filteredSpans,"selected-span-id":g.selectedSpanId,"selected-span":g.selectedSpan,loading:g.drawerLoading,"span-has-next-page":g.spanHasNextPage,"span-load-more-loading":g.spanLoadMoreLoading,"span-page-size":g.spanPageSize,"span-has-events":g.spanHasEvents,"span-type-filter":g.selectedSpanTypeFilter},on:{"update:visible":[function(C){g.drawerVisible=C},function(C){g.drawerVisible=C}],"update:spanPageSize":function(C){g.spanPageSize=C},"update:span-page-size":function(C){g.spanPageSize=C},"update:spanHasEvents":function(C){g.spanHasEvents=C},"update:span-has-events":function(C){g.spanHasEvents=C},"update:spanTypeFilter":function(C){g.selectedSpanTypeFilter=C},"update:span-type-filter":function(C){g.selectedSpanTypeFilter=C},close:g.handleDrawerClose,"span-search":g.handleSpanSearch,"span-select":g.handleSpanSelect,"span-load-more":g.loadMoreSpans}})],1)},$r=[],gD=yl(_r,qr,$r,!1,null,"63c9cc19");const iB=gD.exports,$Y={routes:[{path:"/trace",name:"trace",component:iB}],beforeEach:(e,g,I)=>{I()}},gV={common:{home:"首页",todos:"待办事项",trace:"追踪",login:"登录",logout:"退出",user:"用户",search:"搜索",refresh:"刷新",columns:"列设置",confirm:"确定",cancel:"取消",operation:"操作",viewDetail:"查看详情",language:"语言"},span:{searchTree:"Span名称",hasEvents:"只显示有事件"},trace:{title:"追踪列表",searchPlaceholder:"追踪ID/追踪名称",requestId:"追踪ID",timeCreated:"创建时间",timeEnded:"结束时间",status:"状态",executionTime:"执行时长",traceType:"追踪类型",traceName:"追踪名称",traceDetail:"追踪详情",traceId:"追踪ID",clientRequestId:"客户端请求ID",experimentId:"应用ID",application:"应用",experimentName:"应用名称",selectApplication:"请选择应用",spanDetail:"Span 详情",inputs:"输入",outputs:"输出",attributes:"属性",rawInputsOutputs:"原始输入输出",rawInputs:"原始输入",rawOutputs:"原始输出",events:"事件",selectSpan:"请选择一个 Span 查看详情",noInputs:"暂无输入数据",noOutputs:"暂无输出数据",noIoData:"暂无输入输出数据",noEvents:"暂无事件数据",exceptionType:"异常类型",exceptionMessage:"异常消息",exceptionStacktrace:"异常堆栈",otherAttributes:"其他属性",key:"属性名",value:"属性值",selectColumns:"选择列",batchDelete:"批量删除",startTime:"开始时间",endTime:"结束时间",to:"至",confirmDelete:"确认删除",confirmDeleteButton:"确定删除",deleteAllWarning:`警告:您没有设置任何查询条件,这将删除所有 trace 数据!
|
|
99
99
|
|
|
100
100
|
此操作不可恢复,请确认是否继续?`,deleteConfirmMessage:"确定要删除符合以下条件的 trace 吗?",searchCondition:"搜索条件",timeRange:"时间范围",before:"在",deleteConfirmFooter:`
|
|
101
|
-
此操作不可恢复,请确认是否继续?`,deleteSuccess:"删除成功",deleteFailed:"删除失败",delete:"删除",deleteSelected:"删除选中",confirmRemoveOne:"确定删除该条 trace?",confirmRemoveSelected:"确定删除选中的 {count} 条 trace?",unknownError:"未知错误",autoRefresh:"自动刷新",refreshInterval5s:"5秒",refreshInterval10s:"10秒",refreshInterval20s:"20秒",clickToDownload:"点击文件名下载",pdfLoading:"加载中...",pdfPrevPage:"上一页",pdfNextPage:"下一页",pdfPageIndicator:"第 {page} / {total} 页",pdfDownload:"下载",pdfFullscreen:"全屏",pdfExitFullscreen:"退出全屏",export:"导出",exportSingle:"导出",exportBatch:"批量导出",importBatch:"批量导入",exportSuccess:"导出成功",exportFailed:"导出失败",importSuccess:"导入成功",importFailed:"导入失败",copy:"复制"},debug:{paramLabel:"参数",systemPrompt:"系统提示词",userPrompt:"用户提示词",submitImage:"是否提交图片",addParam:"新增参数",sendFile:"发送文件",reset:"重置",submit:"提交",responseResult:"输出",switchToMarkdown:"切换为Markdown",switchToRaw:"切换为原始输出",paramName:"参数名",paramValue:"参数值",yes:"是",no:"否",calculateTokens:"Token计算",calculateTokensTooltip:"仅计算文本类型提示词的token",copyTooltip:"复制内容",copySuccess:"复制成功",copyFailed:"复制失败",copyEmpty:"内容为空",tokenResultTitle:"Token计算结果",tokenType:"类型",tokenCount:"数量",specialTokens:"特殊字符",systemTokens:"系统提示词",userTokens:"用户提示词",assistantTokens:"助手回答",textTokens:"总计",systemRole:"系统",userRole:"用户",assistantRole:"助手"}},IV={common:{home:"Home",todos:"Todos",trace:"Trace",login:"Login",logout:"Logout",user:"User",search:"Search",refresh:"Refresh",columns:"Columns",confirm:"Confirm",cancel:"Cancel",operation:"Operation",viewDetail:"View Detail",language:"Language"},span:{searchTree:"Span Name",hasEvents:"Has events"},trace:{title:"Traces",searchPlaceholder:"Trace ID/Trace Name",requestId:"Trace ID",timeCreated:"Time created",status:"Status",executionTime:"Execution time",traceType:"Trace Type",traceName:"Trace Name",traceDetail:"Trace Detail",traceId:"Trace ID",clientRequestId:"Client Request ID",experimentId:"Application ID",application:"Application",experimentName:"Application Name",selectApplication:"Please select application",spanDetail:"Span Detail",inputs:"Inputs",outputs:"Outputs",attributes:"Attributes",rawInputsOutputs:"Raw Inputs/Outputs",rawInputs:"Raw Inputs",rawOutputs:"Raw Outputs",events:"Events",selectSpan:"Please select a Span to view details",noInputs:"No input data",noOutputs:"No output data",noIoData:"No input/output data",noEvents:"No event data",exceptionType:"Exception Type",exceptionMessage:"Exception Message",exceptionStacktrace:"Exception Stacktrace",otherAttributes:"Other Attributes",key:"Key",value:"Value",selectColumns:"Select Columns",batchDelete:"Batch Delete",startTime:"Start Time",endTime:"End Time",to:" to ",confirmDelete:"Confirm Delete",confirmDeleteButton:"Confirm Delete",deleteAllWarning:`Warning: You have not set any query conditions. This will delete all trace data!
|
|
101
|
+
此操作不可恢复,请确认是否继续?`,deleteSuccess:"删除成功",deleteFailed:"删除失败",delete:"删除",deleteSelected:"删除选中",confirmRemoveOne:"确定删除该条 trace?",confirmRemoveSelected:"确定删除选中的 {count} 条 trace?",unknownError:"未知错误",autoRefresh:"自动刷新",refreshInterval5s:"5秒",refreshInterval10s:"10秒",refreshInterval20s:"20秒",clickToDownload:"点击文件名下载",pdfLoading:"加载中...",pdfPrevPage:"上一页",pdfNextPage:"下一页",pdfPageIndicator:"第 {page} / {total} 页",pdfDownload:"下载",pdfFullscreen:"全屏",pdfExitFullscreen:"退出全屏",export:"导出",exportSingle:"导出",exportBatch:"批量导出",importBatch:"批量导入",exportSuccess:"导出成功",exportFailed:"导出失败",importSuccess:"导入成功",importFailed:"导入失败",copy:"复制"},debug:{paramLabel:"参数",systemPrompt:"系统提示词",userPrompt:"用户提示词",submitImage:"是否提交图片",addParam:"新增参数",sendFile:"发送文件",reset:"重置",submit:"提交",responseResult:"输出",switchToMarkdown:"切换为Markdown",switchToRaw:"切换为原始输出",paramName:"参数名",paramValue:"参数值",yes:"是",no:"否",calculateTokens:"Token计算",calculateTokensTooltip:"仅计算文本类型提示词的token",copyTooltip:"复制内容",copySuccess:"复制成功",copyFailed:"复制失败",copyEmpty:"内容为空",tokenResultTitle:"Token计算结果",tokenType:"类型",tokenCount:"数量",specialTokens:"特殊字符",systemTokens:"系统提示词",userTokens:"用户提示词",assistantTokens:"助手回答",textTokens:"总计",systemRole:"系统",userRole:"用户",assistantRole:"助手"}},IV={common:{home:"Home",todos:"Todos",trace:"Trace",login:"Login",logout:"Logout",user:"User",search:"Search",refresh:"Refresh",columns:"Columns",confirm:"Confirm",cancel:"Cancel",operation:"Operation",viewDetail:"View Detail",language:"Language"},span:{searchTree:"Span Name",hasEvents:"Has events"},trace:{title:"Traces",searchPlaceholder:"Trace ID/Trace Name",requestId:"Trace ID",timeCreated:"Time created",timeEnded:"Time ended",status:"Status",executionTime:"Execution time",traceType:"Trace Type",traceName:"Trace Name",traceDetail:"Trace Detail",traceId:"Trace ID",clientRequestId:"Client Request ID",experimentId:"Application ID",application:"Application",experimentName:"Application Name",selectApplication:"Please select application",spanDetail:"Span Detail",inputs:"Inputs",outputs:"Outputs",attributes:"Attributes",rawInputsOutputs:"Raw Inputs/Outputs",rawInputs:"Raw Inputs",rawOutputs:"Raw Outputs",events:"Events",selectSpan:"Please select a Span to view details",noInputs:"No input data",noOutputs:"No output data",noIoData:"No input/output data",noEvents:"No event data",exceptionType:"Exception Type",exceptionMessage:"Exception Message",exceptionStacktrace:"Exception Stacktrace",otherAttributes:"Other Attributes",key:"Key",value:"Value",selectColumns:"Select Columns",batchDelete:"Batch Delete",startTime:"Start Time",endTime:"End Time",to:" to ",confirmDelete:"Confirm Delete",confirmDeleteButton:"Confirm Delete",deleteAllWarning:`Warning: You have not set any query conditions. This will delete all trace data!
|
|
102
102
|
|
|
103
103
|
This operation cannot be undone. Are you sure you want to continue?`,deleteConfirmMessage:"Are you sure you want to delete traces matching the following conditions?",searchCondition:"Search Condition",timeRange:"Time Range",before:"before",deleteConfirmFooter:`
|
|
104
104
|
This operation cannot be undone. Are you sure you want to continue?`,deleteSuccess:"Delete successful",deleteFailed:"Delete failed",delete:"Delete",deleteSelected:"Delete Selected",confirmRemoveOne:"Are you sure to delete this trace?",confirmRemoveSelected:"Are you sure to delete the selected {count} trace(s)?",unknownError:"Unknown error",autoRefresh:"Auto refresh",refreshInterval5s:"5s",refreshInterval10s:"10s",refreshInterval20s:"20s",clickToDownload:"Click filename to download",pdfLoading:"Loading...",pdfPrevPage:"Prev",pdfNextPage:"Next",pdfPageIndicator:"Page {page} / {total}",pdfDownload:"Download",pdfFullscreen:"Fullscreen",pdfExitFullscreen:"Exit fullscreen",export:"Export",exportSingle:"Export",exportBatch:"Export Selected",importBatch:"Import",exportSuccess:"Export successful",exportFailed:"Export failed",importSuccess:"Import successful",importFailed:"Import failed",copy:"Copy"},debug:{paramLabel:"Parameter",systemPrompt:"System Prompt",userPrompt:"User Prompt",submitImage:"Submit Image",addParam:"Add Parameter",sendFile:"Send file",reset:"Reset",submit:"Submit",responseResult:"Response Result",switchToMarkdown:"Switch to Markdown",switchToRaw:"Switch to Raw Output",paramName:"Parameter Name",paramValue:"Parameter Value",yes:"Yes",no:"No",calculateTokens:"Calculate Tokens",calculateTokensTooltip:"Only counts tokens for text prompts",copyTooltip:"Copy content",copySuccess:"Copied successfully",copyFailed:"Copy failed",copyEmpty:"Content is empty",tokenResultTitle:"Token Calculation Result",tokenType:"Type",tokenCount:"Count",specialTokens:"Special Tokens",systemTokens:"System Prompt",userTokens:"User Prompt",assistantTokens:"Assistant Message",textTokens:"Total",systemRole:"System",userRole:"User",assistantRole:"Assistant"}},nb={"zh-CN":gV,"en-US":IV};let lB=!1;const CV=e=>{!e||lB||(e.mergeLocaleMessage?(Object.keys(nb).forEach(g=>{e.mergeLocaleMessage(g,nb[g])}),lB=!0):e.messages&&(Object.keys(nb).forEach(g=>{e.messages[g]||(e.messages[g]={}),Object.assign(e.messages[g],nb[g])}),lB=!0))},ID={store:Gw,router:$Y,components:{Trace:iB,TraceSpanTree:Em},api:FC,locales:nb,setI18n(e){CV(e)},registerLocales:CV};Jg.Trace=iB,Jg.TraceSpanTree=Em,Jg.default=ID,Jg.enUS=IV,Jg.traceApi=FC,Jg.traceRouter=$Y,Jg.traceStore=Gw,Jg.zhCN=gV,Object.defineProperties(Jg,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|