@qilin-agent/client-ui-trajectory 3.1.7 → 3.1.8
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/README.i18n.yaml +2 -2
- package/README.md +4 -2
- package/README.zh.md +4 -2
- package/lib/client.js +128 -31
- package/lib/types/client/TrajectoryTable.d.ts +5 -1
- package/lib/types/client/TrajectoryToolbar.d.ts +5 -1
- package/lib/types/client/code-program.d.ts +1 -0
- package/lib/types/client/locales.d.ts +4 -0
- package/lib/types/client/trajectory-virtual-rows.d.ts +1 -1
- package/package.json +21 -21
package/README.i18n.yaml
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
en: d8bfe28896432de7
|
|
19
19
|
zh: 27c883954a31f68f
|
|
20
20
|
/qilin-agent-client-ui-trajectory/use-this-package/inspecting-records:
|
|
21
|
-
en:
|
|
22
|
-
zh:
|
|
21
|
+
en: a3e971b25924e828
|
|
22
|
+
zh: 23a1c5f491c25ba9
|
|
23
23
|
/qilin-agent-client-ui-trajectory/use-this-package/the-timing-overview:
|
|
24
24
|
en: ed6608646aa6f081
|
|
25
25
|
zh: 00755f8b4da6018e
|
package/README.md
CHANGED
|
@@ -29,9 +29,11 @@ Open the Trajectory ledger from the graph page's Ledger control, or from a Chat
|
|
|
29
29
|
|
|
30
30
|
### Inspecting records
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
The toolbar folds turns, calls, and subcalls independently. Subcalls fold into a summary beneath their parent tool; click the summary or press Enter or Space to expand it. Search includes folded subcalls, and cross-view inspection expands the requested call. Toolbar controls and search wrap onto additional lines when the pane is narrow.
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
Calls are identified by their recorded tool name. For `run_code`, the row shows the program description and the inspector opens numbered, highlighted source. The Code tab provides wrapping, a `{}` toggle for the original JSON arguments, and exact source copying, including trailing newlines. Copying the original arguments retains their recorded JSON whitespace. Each newly opened code view takes the last wrapping choice; changing it leaves other open views as they are. Output preserves the recorded text, using a tree for complete JSON objects or arrays. Highlighting reads the leading `Execute a program in` language declaration and the legacy `code` parameter description from the recorded tool schema. Only TypeScript and Python are supported; missing or conflicting hints, or an explicit declaration of another language, leave plain source, and later examples in the tool description do not affect language selection. See the [PTC inspection decision](../../../.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.md) for replay constraints.
|
|
35
|
+
|
|
36
|
+
Selection, timeline navigation, folding, and search cover the React-visible window. Request numbers and cumulative usage cover the complete resident snapshot. Selecting a record opens a local inspector for token usage, duration, Input, Output, Timing, and durable images. Image URLs use the Conversation-owned per-session cache, so Chat and Trajectory share one authorized read per attachment. A user record shows both nonzero image and ordinary-file counts beside its text, including attachment-only records. Failed records use non-empty recorded result text for ledger previews, inspector output, and output copying, preserving whitespace-only text; JSON failure output stays as recorded text in Summary and in the rendered section of Result. With that text present, structured error names and codes are neither displayed nor separately indexed for search. Only failures without any non-empty text block fall back to the error code in the ledger and the error name and code in the inspector, with image content still visible beside that fallback. A standalone compaction request appears chronologically in its own `Between turns` section, while a numbered compaction remains inside its owning turn.
|
|
35
37
|
|
|
36
38
|
Summary and Preview share one ordered attachment list after the message text, preserving repeated references. Each row shows a contained image thumbnail or file-type icon, the recorded filename (a localized numbered label for unnamed images), and recorded size, type, and image dimensions where available. Zero-byte files retain their size, and truncated filenames expose the full name in a tooltip. Images open the existing lightbox. Raw keeps content-block order and unrendered text, with images and files in initially collapsed disclosures containing their complete recorded fields.
|
|
37
39
|
|
package/README.zh.md
CHANGED
|
@@ -29,9 +29,11 @@ kind: "package-reference"
|
|
|
29
29
|
|
|
30
30
|
### 检查记录
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
工具栏可以分别折叠轮次、调用和子调用。子调用收起后,在父工具下保留一条摘要;点击摘要或按 Enter、空格键即可展开。搜索包含已折叠的子调用,从其他视图检查调用时会自动展开目标调用。面板较窄时,工具栏按钮与搜索框会自动换行。
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
调用按已记录的工具名识别。对于 `run_code`,记录行展示程序说明,检查器显示带行号和语法高亮的源码。“代码”页提供换行、查看原始 JSON 参数的 `{}` 切换按钮,以及保留末尾换行的源码原样复制。复制原始参数时保留记录中 JSON 的空白。每个新打开的代码视图采用上次选择的换行状态;切换时,其他已打开视图保持原状。输出保留记录中的文本,完整 JSON 对象或数组使用树形展示。高亮从已记录的工具 Schema 中读取开头的 `Execute a program in` 语言声明及旧式 `code` 参数说明,仅支持 TypeScript 和 Python;提示缺失或冲突,或明确声明了其他语言时,显示纯文本源码,工具说明后文的示例不影响语言选择。回放约束见 [PTC 检查决策](../../../.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.zh.md)。
|
|
35
|
+
|
|
36
|
+
选择、时间线导航、折叠与搜索只覆盖 React 可见窗口。请求编号与累计用量覆盖完整的驻留快照。选择记录会打开局部检查器,查看 token 用量、耗时、输入、输出、计时与持久保留的图片。图片 URL 使用 Conversation 拥有的逐会话缓存,因此 Chat 与 Trajectory 对每个附件共享一次已授权读取。用户记录会在文本旁同时显示非零的图片与普通文件数量,仅含附件的记录也显示这些数量。失败记录在记录表预览、检查器输出和输出复制中使用已记录的非空结果文本,并保留仅含空白字符的文本;JSON 失败输出在“概述”和“结果”的渲染区域保持原文。存在这类文本时,结构化错误名称和代码既不显示,也不单独纳入搜索索引。仅在失败结果没有任何非空文本块时,记录表才回退到错误代码,检查器才回退到错误名称和代码,图片内容仍显示在回退信息旁边。独立运行的压缩请求会按时间顺序显示在自己的 `Between turns` 区段中,而带编号的压缩仍位于其所属轮次内。
|
|
35
37
|
|
|
36
38
|
概述与预览共用正文之后的有序附件列表,保留重复引用。每行展示完整缩放的图片缩略图或文件类型图标、已记录的文件名(未命名图片使用本地化的编号名称),以及可用的已记录大小、类型和图片尺寸。零字节文件保留大小显示,截断的文件名通过提示显示完整名称。图片打开现有灯箱。原始内容保留内容块顺序和未渲染文本,图片与文件使用默认折叠的展开项,包含完整的已记录字段。
|
|
37
39
|
|
package/lib/client.js
CHANGED
|
@@ -68,6 +68,9 @@ window.__ModuleLoader__.load({
|
|
|
68
68
|
"toolbar.calls": "调用",
|
|
69
69
|
"toolbar.expandCalls": "展开所有调用",
|
|
70
70
|
"toolbar.collapseCalls": "收起所有调用",
|
|
71
|
+
"toolbar.subCalls": "子调用",
|
|
72
|
+
"toolbar.expandSubCalls": "展开所有子调用",
|
|
73
|
+
"toolbar.collapseSubCalls": "收起所有子调用",
|
|
71
74
|
"toolbar.search": "搜索轨迹",
|
|
72
75
|
"toolbar.searchPlaceholder": "搜索",
|
|
73
76
|
"kind.system": "系统",
|
|
@@ -192,6 +195,7 @@ window.__ModuleLoader__.load({
|
|
|
192
195
|
"request.collapsedSummary": "已收起的{kind}概述,{summary}",
|
|
193
196
|
"request.collapsedTurn": "轮次",
|
|
194
197
|
"request.collapsedAssistant": "助手",
|
|
198
|
+
"request.collapsedTool": "子调用",
|
|
195
199
|
"request.rowAria": "{request}{kind},{content}",
|
|
196
200
|
"request.rowPrefix": "请求 {request},",
|
|
197
201
|
"request.rowAriaCompaction": "请求 {request},压缩",
|
|
@@ -345,6 +349,9 @@ window.__ModuleLoader__.load({
|
|
|
345
349
|
"toolbar.calls": "Calls",
|
|
346
350
|
"toolbar.expandCalls": "Expand calls",
|
|
347
351
|
"toolbar.collapseCalls": "Collapse calls",
|
|
352
|
+
"toolbar.subCalls": "Subcalls",
|
|
353
|
+
"toolbar.expandSubCalls": "Expand subcalls",
|
|
354
|
+
"toolbar.collapseSubCalls": "Collapse subcalls",
|
|
348
355
|
"toolbar.search": "Search trajectory",
|
|
349
356
|
"toolbar.searchPlaceholder": "Search",
|
|
350
357
|
"kind.system": "SYSTEM",
|
|
@@ -469,6 +476,7 @@ window.__ModuleLoader__.load({
|
|
|
469
476
|
"request.collapsedSummary": "Collapsed {kind} summary, {summary}",
|
|
470
477
|
"request.collapsedTurn": "turn",
|
|
471
478
|
"request.collapsedAssistant": "assistant",
|
|
479
|
+
"request.collapsedTool": "subcalls",
|
|
472
480
|
"request.rowAria": "{request}{kind}, {content}",
|
|
473
481
|
"request.rowPrefix": "Request {request}, ",
|
|
474
482
|
"request.rowAriaCompaction": "Request {request}, compaction",
|
|
@@ -4625,14 +4633,17 @@ window.__ModuleLoader__.load({
|
|
|
4625
4633
|
}
|
|
4626
4634
|
}
|
|
4627
4635
|
function recordedLanguage(schemaRaw) {
|
|
4628
|
-
const
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
|
|
4636
|
+
const schema = parseRecord(schemaRaw);
|
|
4637
|
+
const declaredLanguage = typeof schema?.description === "string" ? /^Execute a program in `([^`]+)`/.exec(schema.description)?.[1]?.toLowerCase() : void 0;
|
|
4638
|
+
if (declaredLanguage !== void 0 && declaredLanguage !== "typescript" && declaredLanguage !== "python") return void 0;
|
|
4639
|
+
const description = record(record(record(schema?.parameters)?.properties)?.code)?.description;
|
|
4640
|
+
const typescript = declaredLanguage === "typescript" || typeof description === "string" && /\bTypeScript\b/i.test(description);
|
|
4641
|
+
if (typescript === (declaredLanguage === "python" || typeof description === "string" && /\bPython\b/i.test(description))) return void 0;
|
|
4632
4642
|
return typescript ? "typescript" : "python";
|
|
4633
4643
|
}
|
|
4634
4644
|
/**
|
|
4635
4645
|
* Resolve a PTC program without guessing its language from source or current runtime settings.
|
|
4646
|
+
* Unknown explicit languages or conflicting recorded hints leave the source unhighlighted.
|
|
4636
4647
|
* @param cell - Recorded tool arguments and the schema visible at call time.
|
|
4637
4648
|
* @returns The program, or undefined for another tool or unsupported arguments.
|
|
4638
4649
|
*/
|
|
@@ -4652,7 +4663,7 @@ window.__ModuleLoader__.load({
|
|
|
4652
4663
|
}
|
|
4653
4664
|
//#endregion
|
|
4654
4665
|
//#region \0qilin-css:/home/runner/work/QiLin/QiLin/packages/client/ui-trajectory/src/client/TrajectoryTable.module.css.mjs
|
|
4655
|
-
const css$4 = ".Pg1Ftq_split{--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2);background:var(--qilin-alias-bg-layer-1);flex:1;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.Pg1Ftq_tablePane{min-width:0;padding-bottom:var(--qilin-trajectory-bottom-clearance,0px);flex:1;position:relative;overflow:hidden auto;container:Pg1Ftq_trajectory-table/inline-size}.Pg1Ftq_historyLoading{z-index:5;pointer-events:none;height:0;position:sticky;top:0;overflow:visible}.Pg1Ftq_historyLoadingBar{box-sizing:border-box;border-bottom:.5px solid var(--qilin-alias-border-l2);background:var(--qilin-alias-bg-layer-1);width:100%;height:30px;color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xxs-12);justify-content:center;align-items:center;gap:6px;display:flex}.Pg1Ftq_historyLoadingSpinner{box-sizing:border-box;border:1.5px solid var(--qilin-alias-border-l2);border-top-color:var(--qilin-alias-state-business-primary);corner-shape:round;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite Pg1Ftq_history-loading-spin}.Pg1Ftq_table tbody .Pg1Ftq_historyLoadRow td{height:30px;padding:0}.Pg1Ftq_table tbody .Pg1Ftq_historyLoadRow+tr[data-turn-start=true] td:before{content:none}.Pg1Ftq_historyLoadButton{background:var(--qilin-alias-bg-layer-1);width:100%;height:29px;color:var(--qilin-alias-label-secondary);cursor:pointer;font:var(--qilin-font-xxs-12);border:0;justify-content:center;align-items:center;gap:6px;display:flex}.Pg1Ftq_historyLoadButton:hover:not(:disabled){background:var(--qilin-alias-interactive-bg-hover);color:var(--qilin-alias-label-primary)}.Pg1Ftq_historyLoadButton:focus-visible{outline:var(--qilin-focus-ring-width) solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-2px}.Pg1Ftq_historyLoadButton:disabled{cursor:default}.Pg1Ftq_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.Pg1Ftq_table:not([data-scroll-ready=true]){visibility:hidden}@keyframes Pg1Ftq_history-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.Pg1Ftq_historyLoadingSpinner{animation:none}}.Pg1Ftq_table{--trajectory-turn-accent:color-mix(in srgb, var(--qilin-static-blue-500) 22%, var(--qilin-alias-bg-layer-1));border-spacing:0;table-layout:fixed;width:100%;min-width:0;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-1);font:var(--qilin-font-xxs-12)}.Pg1Ftq_eventColumn{width:122px}.Pg1Ftq_eventColumn:where(:lang(zh)){width:84px}.Pg1Ftq_contentColumn{width:auto}.Pg1Ftq_table th{z-index:3;box-sizing:border-box;border-bottom:.5px solid var(--qilin-alias-border-l2);height:30px;color:var(--qilin-alias-label-tertiary);background:var(--qilin-specific-sidebar-fill);font:var(--qilin-font-xxs-12);text-align:left;text-overflow:ellipsis;user-select:none;white-space:nowrap;padding:0 8px;font-weight:500;position:sticky;top:0;overflow:hidden}.Pg1Ftq_eventHeader{text-align:right!important;padding-right:4px!important}.Pg1Ftq_table td{box-sizing:border-box;border-bottom:.5px solid var(--qilin-alias-border-l1);text-overflow:ellipsis;white-space:nowrap;height:30px;padding:0 8px;overflow:hidden}.Pg1Ftq_table tbody .Pg1Ftq_virtualSpacer{pointer-events:none}.Pg1Ftq_table tbody .Pg1Ftq_virtualSpacer td{height:var(--trajectory-virtual-spacer-height);border:0;padding:0}.Pg1Ftq_table tbody tr:not([data-collapsed-summary]):not([data-virtual-spacer]):not([data-history-load]){cursor:default;transition:background-color .12s var(--ds-ease-in-out), opacity .12s var(--ds-ease-in-out);outline:none}.Pg1Ftq_table tbody tr[data-timeline-focus=outside]{opacity:.24}.Pg1Ftq_table tbody tr:not([data-collapsed-summary]):not([data-virtual-spacer]):not([data-history-load]):not([data-selected=true]):hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_table tbody tr[data-request-only=true]:hover{background:0 0}.Pg1Ftq_table tbody tr[data-request-only=true] td{border-bottom:0;height:0;padding-top:0;padding-bottom:0}.Pg1Ftq_table tbody tr[data-terminal-request-boundary=true] td{height:9px}.Pg1Ftq_table tbody tr[data-request-only=true] .Pg1Ftq_turnRail{top:-15px;bottom:0}.Pg1Ftq_table tbody tr:not([data-collapsed-summary]):focus-visible{box-shadow:inset 0 0 0 1px var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary))}.Pg1Ftq_table tbody tr[data-selected=true]{background:var(--qilin-alias-interactive-bg-active)}.Pg1Ftq_requestBoundaryControl{--request-boundary-base-left:12px;z-index:6;top:-8px;left:calc(var(--request-boundary-base-left) + var(--request-boundary-offset,0px));cursor:pointer;background:0 0;border:0;width:16px;height:16px;padding:0;position:absolute}.Pg1Ftq_requestBoundaryControl:before{corner-shape:round;background:var(--qilin-alias-label-caption);width:5px;height:5px;box-shadow:0 0 0 2px var(--qilin-alias-bg-layer-1), 0 0 0 3px transparent;content:\"\";transition:background .12s var(--ds-ease-in-out), box-shadow .12s var(--ds-ease-in-out);border-radius:50%;position:absolute;top:5.5px;left:5.5px}.Pg1Ftq_requestBoundaryControl:after{border:.5px solid var(--qilin-alias-border-l1);width:max-content;color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-layer-1);content:attr(data-label);font:9px/12px var(--ds-font-family-code);opacity:0;pointer-events:none;transition:opacity .12s var(--ds-ease-in-out), transform .12s var(--ds-ease-in-out);user-select:none;white-space:nowrap;border-radius:2px;padding:0 4px;position:absolute;top:2px;left:17px;transform:translate(-2px);box-shadow:0 2px 6px #0000001f}.Pg1Ftq_requestBoundaryControl:hover:before,.Pg1Ftq_requestBoundaryControl:focus-visible:before{background:var(--qilin-alias-brand-primary-new-colorprimary-new-color)}.Pg1Ftq_requestBoundaryControlActive:before,.Pg1Ftq_requestBoundaryControlActive:hover:before,.Pg1Ftq_requestBoundaryControlActive:focus-visible:before{background:color-mix(in srgb, var(--qilin-alias-brand-primary-new-colorprimary-new-color) 18%, var(--qilin-alias-bg-layer-1));box-shadow:0 0 0 1.5px var(--qilin-alias-state-business-primary)}.Pg1Ftq_requestBoundaryControl[data-request-status=error]:before,.Pg1Ftq_requestBoundaryControl[data-request-status=error]:hover:before,.Pg1Ftq_requestBoundaryControl[data-request-status=error]:focus-visible:before{background:var(--qilin-alias-state-error-primary)}.Pg1Ftq_requestBoundaryControl:hover:after,.Pg1Ftq_requestBoundaryControl:focus-visible:after{opacity:1;transform:translate(0)}.Pg1Ftq_requestBoundaryControl:focus-visible{outline:none}.Pg1Ftq_table tbody tr:has(.Pg1Ftq_requestBoundaryControl:hover):not([data-selected=true]){background:0 0}.Pg1Ftq_event{position:relative}.Pg1Ftq_turnRail,.Pg1Ftq_selectionRail{background:var(--qilin-alias-brand-primary-new-colorprimary-new-color);pointer-events:none;position:absolute;left:0}.Pg1Ftq_turnRail{z-index:4;background:var(--trajectory-turn-accent);width:2px;top:-1px;bottom:-1px}.Pg1Ftq_table tbody tr[data-turn-end=true] .Pg1Ftq_turnRail{bottom:0}.Pg1Ftq_selectionRail{z-index:5;width:3px;top:0;bottom:0}.Pg1Ftq_table tbody tr[data-error=true] .Pg1Ftq_turnRail{background:color-mix(in srgb, var(--qilin-alias-state-error-primary) 22%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_table tbody tr[data-error=true] .Pg1Ftq_selectionRail{background:var(--qilin-alias-state-error-primary)}.Pg1Ftq_table tbody tr[data-turn-start=true] td{position:relative;overflow:visible}.Pg1Ftq_table tbody tr[data-turn-start=true]:not(:first-child) td:before{z-index:1;background:var(--qilin-alias-border-l1);content:\"\";pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0;transform:translateY(-50%)}.Pg1Ftq_event{padding-left:36px!important;padding-right:4px!important;overflow:visible!important}.Pg1Ftq_turnLabel{z-index:3;box-sizing:border-box;width:max-content;color:var(--qilin-alias-label-tertiary);background:var(--qilin-alias-bg-module-platform);font:8px/10px var(--ds-font-family-code);font-variant-numeric:tabular-nums;user-select:none;white-space:nowrap;border-radius:0 0 2px;flex:none;align-items:center;padding:1px 5px;display:inline-grid;position:absolute;top:0;left:0}.Pg1Ftq_turnLabelFull,.Pg1Ftq_turnLabelCompact{opacity:1;white-space:nowrap;grid-area:1/1;max-width:64px;overflow:hidden}.Pg1Ftq_turnLabelCompact{opacity:0;max-width:0}.Pg1Ftq_turnLabelActive{color:color-mix(in srgb, var(--qilin-static-blue-500) 55%, var(--qilin-alias-label-tertiary));background:var(--trajectory-turn-accent)}.Pg1Ftq_eventInner{justify-content:flex-start;align-items:center;min-width:0;height:100%;display:flex}.Pg1Ftq_kindSlot{flex:none;justify-content:flex-end;align-items:flex-end;width:76px;display:flex}.Pg1Ftq_kindSlot:where(:lang(zh)){width:44px}.Pg1Ftq_kindSlot [role=tooltip]{background:var(--qilin-alias-bg-layer-2);box-shadow:var(--qilin-elevation-panel);color:var(--qilin-alias-label-primary);border:0}.Pg1Ftq_content{color:var(--qilin-alias-label-primary);padding-left:4px!important}.Pg1Ftq_kindTag{box-sizing:border-box;letter-spacing:.035em;user-select:none;border:1px solid #0000;border-radius:4px;flex:none;align-items:center;height:19px;padding:0 5px;font-size:10px;font-weight:650;line-height:16px;display:inline-flex}.Pg1Ftq_kindTagIcon{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:13px;display:inline-flex;overflow:hidden;transform:scale(.8)}.Pg1Ftq_kindTagLabel{opacity:1;white-space:nowrap;max-width:72px;display:inline-block;overflow:hidden}.Pg1Ftq_table .Pg1Ftq_kindSlot .Pg1Ftq_message{justify-content:center;width:100%}@container Pg1Ftq_trajectory-table (width<=620px){.Pg1Ftq_eventColumn{width:50px}.Pg1Ftq_event{padding-left:28px!important;padding-right:3px!important}.Pg1Ftq_requestBoundaryControl{--request-boundary-base-left:6px}.Pg1Ftq_kindSlot{width:19px}.Pg1Ftq_kindTag,.Pg1Ftq_table .Pg1Ftq_kindSlot .Pg1Ftq_message{justify-content:center;width:19px;padding-left:0;padding-right:0}.Pg1Ftq_kindTagIcon{opacity:1;width:13px;transform:scale(1)}.Pg1Ftq_kindTagLabel,.Pg1Ftq_turnLabelFull{opacity:0;max-width:0}.Pg1Ftq_turnLabelCompact{opacity:1;max-width:64px}}@media (prefers-reduced-motion:no-preference){.Pg1Ftq_eventColumn,.Pg1Ftq_event,.Pg1Ftq_requestBoundaryControl,.Pg1Ftq_kindSlot,.Pg1Ftq_kindTag,.Pg1Ftq_kindTagIcon,.Pg1Ftq_kindTagLabel,.Pg1Ftq_turnLabelFull,.Pg1Ftq_turnLabelCompact{transition-duration:.18s;transition-timing-function:var(--ds-ease-in-out)}.Pg1Ftq_eventColumn,.Pg1Ftq_kindSlot{transition-property:width}.Pg1Ftq_event{transition-property:padding-right,padding-left}.Pg1Ftq_requestBoundaryControl{transition-property:left}.Pg1Ftq_kindTag{transition-property:padding-right,padding-left}.Pg1Ftq_kindTagIcon{transition-property:width,opacity,transform}.Pg1Ftq_kindTagLabel,.Pg1Ftq_turnLabelFull,.Pg1Ftq_turnLabelCompact{transition-property:max-width,opacity}}.Pg1Ftq_user{color:var(--qilin-alias-state-business-primary);background:var(--qilin-alias-state-business-tertiary)}.Pg1Ftq_systemNeutral{color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-module-platform)}.Pg1Ftq_contextGreen{color:color-mix(in srgb, var(--qilin-alias-state-success-primary) 68%, var(--qilin-alias-label-secondary));background:var(--qilin-alias-state-success-tertiary)}.Pg1Ftq_compacted{color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-module-platform)}.Pg1Ftq_compactedSummary{font:var(--qilin-font-xs-13);margin-top:12px;padding:0 0 14px}.Pg1Ftq_promptDiffSections{flex-direction:column;gap:14px;max-height:100%;padding:10px 14px 14px;display:flex;overflow:auto}.Pg1Ftq_promptDiffSection{min-width:0}.Pg1Ftq_promptDiffTitle{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-strong-13);user-select:none;margin:0 0 6px}.Pg1Ftq_promptDiff{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-1);font:11px/17px var(--ds-font-family-code);white-space:pre;margin:0;overflow:auto}.Pg1Ftq_promptDiff span{min-width:max-content;padding:0 6px;display:block}.Pg1Ftq_promptDiffLinemeta{color:var(--qilin-alias-label-caption);background:var(--qilin-alias-bg-module-platform);user-select:none}.Pg1Ftq_promptDiffLinecontext{color:var(--qilin-alias-label-secondary)}.Pg1Ftq_promptDiffLineadded{color:color-mix(in srgb, var(--qilin-alias-state-success-primary) 72%, var(--qilin-alias-label-primary));background:var(--qilin-alias-state-success-tertiary)}.Pg1Ftq_promptDiffLineremoved{color:var(--qilin-alias-state-error-primary);background:color-mix(in srgb, var(--qilin-alias-state-error-primary) 12%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_assistantVioletBright{color:color-mix(in srgb, var(--qilin-alias-brand-primary-new-colorprimary-new-color) 60%, var(--qilin-alias-state-error-secondary));background:color-mix(in srgb, color-mix(in srgb, var(--qilin-alias-brand-primary-new-colorprimary-new-color) 55%, var(--qilin-alias-state-error-secondary)) 15%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_toolAmber{color:var(--qilin-alias-state-warn-label);background:var(--qilin-alias-state-warn-tertiary)}.Pg1Ftq_subtoolAmber{color:color-mix(in srgb, var(--qilin-alias-state-warn-label) 62%, var(--qilin-alias-label-tertiary));background:color-mix(in srgb, var(--qilin-alias-state-warn-tertiary) 58%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_contentText{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.Pg1Ftq_toolCallOnly{color:var(--qilin-alias-label-tertiary)}.Pg1Ftq_table tbody tr[data-collapsed-summary=turn] td,.Pg1Ftq_table tbody tr[data-collapsed-summary=assistant] td{height:20px}.Pg1Ftq_table tbody tr[data-collapsed-summary]{cursor:pointer;transition:background-color .12s var(--ds-ease-in-out);outline:none}.Pg1Ftq_table tbody tr[data-collapsed-summary]:hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_table tbody tr[data-collapsed-summary]:focus-visible{box-shadow:inset 0 0 0 1px var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary))}.Pg1Ftq_collapsedTurnContent{min-width:0;color:var(--qilin-alias-label-secondary);align-items:center;font-size:12px;line-height:16px;display:flex}.Pg1Ftq_collapsedTurnEllipsis{color:var(--qilin-alias-label-tertiary);user-select:none;flex:none;margin-right:6px;font-weight:600}.Pg1Ftq_collapsedTurnText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Pg1Ftq_resultPreview{grid-template-columns:clamp(180px, var(--trajectory-tool-request-width,calc(36cqw - 56px)), 480px) minmax(0, 1fr);align-items:center;gap:8px;min-width:0;display:grid}.Pg1Ftq_resultRequest,.Pg1Ftq_inlineResultText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Pg1Ftq_toolCallNameTypeface{color:var(--qilin-alias-label-primary);font:400 12px/18px Menlo,Consolas,Liberation Mono,PingFang SC,Microsoft YaHei}.Pg1Ftq_toolCallPayload{color:var(--qilin-alias-label-secondary);font:400 12px/18px var(--ds-font-family-code);margin-left:7px}.Pg1Ftq_table tbody tr[data-kind=tool] .Pg1Ftq_contentText,.Pg1Ftq_table tbody tr[data-kind=subtool] .Pg1Ftq_contentText,.Pg1Ftq_table tbody tr[data-kind=tool] .Pg1Ftq_resultPreview,.Pg1Ftq_table tbody tr[data-kind=subtool] .Pg1Ftq_resultPreview{font-family:var(--ds-font-family-code);font-size:12px}.Pg1Ftq_table tbody tr[data-kind=subtool] .Pg1Ftq_content{padding-left:26px}.Pg1Ftq_inlineResult{min-width:0;color:var(--qilin-alias-label-secondary);align-items:center;display:flex}.Pg1Ftq_noOutputText{color:var(--qilin-alias-label-caption)}.Pg1Ftq_arrow{color:var(--qilin-alias-label-caption);flex:none;margin-right:8px}.Pg1Ftq_error,.Pg1Ftq_overview dd.Pg1Ftq_error,.Pg1Ftq_details .Pg1Ftq_errorPayload{color:var(--qilin-alias-state-error-primary)}.Pg1Ftq_details .Pg1Ftq_errorPayload .Pg1Ftq_resultBlockText{color:inherit}.Pg1Ftq_details .Pg1Ftq_jsonPayload.Pg1Ftq_errorPayload,.Pg1Ftq_details .Pg1Ftq_jsonPreview.Pg1Ftq_errorPayload{--json-tree-property:var(--qilin-alias-state-error-primary);--json-tree-string:var(--qilin-alias-state-error-primary);--json-tree-number:var(--qilin-alias-state-error-primary);--json-tree-keyword:var(--qilin-alias-state-error-primary);--json-tree-punctuation:var(--qilin-alias-state-error-primary);--json-tree-icon:var(--qilin-alias-state-error-primary)}.Pg1Ftq_details{border-left:.5px solid var(--qilin-alias-border-l2);background:var(--qilin-alias-bg-layer-1);flex-direction:column;flex:none;width:clamp(320px,38%,440px);min-width:0;max-width:calc(100% - 280px);min-height:0;display:flex;position:relative}.Pg1Ftq_detailsResizeHandle{z-index:6;cursor:col-resize;touch-action:none;user-select:none;background:0 0;border:0;width:8px;padding:0;position:absolute;top:0;bottom:0;left:-4px}.Pg1Ftq_detailsResizeHandle:focus-visible{outline:none}.Pg1Ftq_detailsHeader{box-sizing:border-box;border-bottom:.5px solid var(--qilin-alias-border-l2);flex:none;justify-content:space-between;align-items:center;height:42px;padding:0 8px 0 12px;display:flex}.Pg1Ftq_detailsTitle{min-width:0;color:var(--qilin-alias-label-primary);align-items:center;gap:8px;display:flex}.Pg1Ftq_requestDetailsDot{corner-shape:round;background:var(--qilin-alias-label-secondary);border-radius:50%;flex:none;width:5px;height:5px}.Pg1Ftq_requestDetailsName{font:500 12px/16px var(--ds-font-family-code);flex:none}.Pg1Ftq_detailsLocation{min-width:0;color:var(--qilin-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Pg1Ftq_close{width:28px;height:28px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:18px;display:inline-flex}.Pg1Ftq_close:hover{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_detailTabs{box-sizing:border-box;border-bottom:.5px solid var(--qilin-alias-border-l2);overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap;flex:none;gap:1px;width:100%;min-width:0;max-width:100%;height:34px;padding:0 8px;display:flex;overflow:auto hidden}.Pg1Ftq_detailTabs::-webkit-scrollbar{display:none}.Pg1Ftq_detailTab{color:var(--qilin-alias-label-tertiary);cursor:pointer;font:var(--qilin-font-xs-13);background:0 0;border:0;flex:none;padding:0 9px;position:relative}.Pg1Ftq_detailTab:hover{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_detailTabActive{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_detailTabActive:after{background:var(--qilin-alias-state-business-primary);content:\"\";border-radius:1px 1px 0 0;height:2px;position:absolute;bottom:0;left:9px;right:9px}.Pg1Ftq_close:focus-visible,.Pg1Ftq_detailTab:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_detailBody{min-height:0;padding-bottom:var(--qilin-trajectory-bottom-clearance,0px);scrollbar-gutter:stable;flex:1;overflow:hidden auto}.Pg1Ftq_detailBodySummary{box-sizing:border-box;padding-bottom:calc(12px + var(--qilin-trajectory-bottom-clearance,0px));flex-direction:column;display:flex;overflow:hidden}.Pg1Ftq_detailBodySummary>.Pg1Ftq_overview{overscroll-behavior:contain;flex:0 auto;min-height:0;padding-bottom:0;overflow:auto}.Pg1Ftq_detailBodySummary>.Pg1Ftq_compactedSummary{flex:1;min-height:0;overflow:auto}.Pg1Ftq_summaryScrollRegion{--qilin-scrollbar-thumb:transparent;--qilin-scrollbar-thumb-hover:transparent}.Pg1Ftq_summaryScrollRegion:hover,.Pg1Ftq_summaryScrollRegion:focus-within{--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2)}.Pg1Ftq_compactedSummary .Pg1Ftq_markdownPayload{padding-right:18px}.Pg1Ftq_overview{font:var(--qilin-font-xs-13);margin:0;padding:8px 0}.Pg1Ftq_overviewParentLinks{gap:14px;display:flex}.Pg1Ftq_overviewHierarchyNavLink{all:unset;color:var(--qilin-alias-label-secondary);cursor:pointer;font:inherit;opacity:1;align-items:center;gap:1px;display:inline-flex}.Pg1Ftq_overviewHierarchyNavLink:hover{color:var(--qilin-alias-label-primary)}.Pg1Ftq_overviewHierarchyJumpIconTight{color:var(--qilin-alias-label-caption);flex:none}.Pg1Ftq_overviewHierarchyNavLink:hover .Pg1Ftq_overviewHierarchyJumpIconTight,.Pg1Ftq_overviewHierarchyNavLink:focus-visible .Pg1Ftq_overviewHierarchyJumpIconTight{color:var(--qilin-alias-label-primary)}.Pg1Ftq_overviewHierarchyNavLink:focus-visible{color:var(--qilin-alias-label-primary);outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_overview>div{grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:22px;padding:0 14px;display:grid}.Pg1Ftq_overview>.Pg1Ftq_requestTokenDetail dt{padding-left:12px}.Pg1Ftq_usagePanel{padding:4px 0 10px}.Pg1Ftq_usageGroup+.Pg1Ftq_usageGroup{margin-top:8px}.Pg1Ftq_usageHeading{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-strong-13);user-select:none;margin:0;padding:4px 14px 1px}.Pg1Ftq_usageGroup .Pg1Ftq_overview{padding:0}.Pg1Ftq_overview dt{color:var(--qilin-alias-label-tertiary)}.Pg1Ftq_overview dd{min-width:0;color:var(--qilin-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.Pg1Ftq_timestampToggle{all:unset;color:inherit;cursor:pointer;font:inherit;user-select:text}.Pg1Ftq_timestampToggle:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_overviewSections{border-top:0;flex-direction:column;flex:1;min-height:min-content;display:flex;overflow:hidden}.Pg1Ftq_overviewSection{flex-direction:column;flex:1 1 0;min-height:24px;max-height:max-content;display:flex;overflow:hidden}.Pg1Ftq_overviewSection+.Pg1Ftq_overviewSection{padding-top:2px}.Pg1Ftq_overviewHeading{box-sizing:border-box;width:100%;height:24px;color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-layer-1);font:var(--qilin-font-xs-strong-13);user-select:none;flex:none;align-items:flex-end;margin:0;padding:0 0 3px 14px;display:flex}.Pg1Ftq_overviewTitle{width:max-content;height:auto;color:inherit;cursor:pointer;font:inherit;user-select:none;background:0 0;border:0;flex:none;align-items:center;gap:3px;padding:0;line-height:1;display:inline-flex}.Pg1Ftq_overviewTitleIcon{color:var(--qilin-alias-label-caption);flex:none}.Pg1Ftq_overviewTitle:hover .Pg1Ftq_overviewTitleIcon{color:var(--qilin-alias-label-primary)}.Pg1Ftq_overviewTitle:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_overviewTitle:focus-visible .Pg1Ftq_overviewTitleIcon{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_overviewPreview{overscroll-behavior:contain;background:var(--qilin-alias-bg-layer-1);flex:1;min-height:0;overflow:auto}.Pg1Ftq_overviewPreview[data-scroll-more]{mask-image:linear-gradient(#000 calc(100% - 12px),#0000)}.Pg1Ftq_overviewPreview>:last-child{margin-bottom:0;padding-bottom:0}.Pg1Ftq_programDescription{color:var(--qilin-alias-label-primary);font:var(--qilin-font-xs-13);white-space:pre-wrap;overflow-wrap:anywhere;flex:none;margin:0;padding:8px 14px 2px}.Pg1Ftq_programIcon{vertical-align:-2px;margin-right:4px}.Pg1Ftq_programSummary{font-family:var(--qilin-font-family);margin-left:5px}.Pg1Ftq_detailBodyProgram,.Pg1Ftq_programPanel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.Pg1Ftq_programPanel{background:var(--qilin-alias-bg-layer-1);flex:1}.Pg1Ftq_programActions{flex:none;align-items:center;gap:4px;height:16px;margin-left:auto;padding-right:14px;display:inline-flex}.Pg1Ftq_programLanguage{color:var(--qilin-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);padding-right:4px}.Pg1Ftq_programAction{box-sizing:border-box;width:20px;height:16px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.Pg1Ftq_programAction:hover{color:var(--qilin-alias-label-primary)}.Pg1Ftq_programAction[aria-pressed=true]{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_programAction[data-state=failed]{color:var(--qilin-alias-state-error-primary)}.Pg1Ftq_programAction:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_programContent{min-width:0;min-height:0}.Pg1Ftq_programPanel>.Pg1Ftq_programContent{overscroll-behavior:contain;flex:1;overflow:auto}.Pg1Ftq_programSource{background:var(--qilin-alias-bg-layer-1);--dsl-code-block-line-white-space:pre;border-radius:0;margin:0!important}.Pg1Ftq_programSource :where(pre){font:12px/16px var(--ds-font-family-code);overflow-wrap:normal;word-break:normal;tab-size:2;border-radius:0;padding:2px 14px 8px;overflow:visible;background:var(--qilin-alias-bg-layer-1)!important}.Pg1Ftq_programSource pre code>.line{box-sizing:border-box;width:max-content;min-width:100%}.Pg1Ftq_programContent[data-wrap=true] .Pg1Ftq_programSource{--dsl-code-block-line-white-space:pre-wrap}.Pg1Ftq_programContent[data-wrap=true] .Pg1Ftq_programSource pre code>.line{overflow-wrap:anywhere;word-break:break-all;width:auto}.Pg1Ftq_programOutput{color:var(--qilin-alias-label-primary);font:12px/16px var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:2px 14px 8px}.Pg1Ftq_programError:first-line{color:var(--qilin-alias-state-error-primary);font-weight:600}.Pg1Ftq_overviewPreview .Pg1Ftq_jsonPreview>:first-child,.Pg1Ftq_overviewPreview .Pg1Ftq_schemaTree>:first-child{padding-top:2px;padding-bottom:0}.Pg1Ftq_overviewPreview .Pg1Ftq_schemaTree{margin-bottom:0}.Pg1Ftq_overviewPreview .Pg1Ftq_overview{padding:2px 0 0}.Pg1Ftq_overviewPreview .Pg1Ftq_overview>div{min-height:22px}.Pg1Ftq_markdownPreview,.Pg1Ftq_markdownPayload{color:var(--qilin-alias-label-primary)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]),.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]){font:var(--qilin-font-xs-13);gap:8px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) h1,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) h1{font:600 16px/22px var(--qilin-font-family)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) h2,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) h2{font:600 15px/22px var(--qilin-font-family)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(h3,h4,h5,h6),.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) :where(h3,h4,h5,h6){font:600 14px/20px var(--qilin-font-family)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :not(pre)>code,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) :not(pre)>code{font:12px/18px var(--ds-font-family-code)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) table,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) table{font:var(--qilin-font-xs-13)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact])>:first-child{margin-top:0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact])>:last-child{margin-bottom:0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(h1,h2,h3){margin:12px 0 6px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(h4,h5,h6){margin:10px 0 5px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(p,ul,ol){margin:8px 0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) li:not(:first-child){margin-top:3px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) blockquote{margin-top:8px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) hr{margin:14px 0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact])>.md-code-block{margin:10px 0}.Pg1Ftq_assistantContent .Pg1Ftq_markdownPayload,.Pg1Ftq_assistantContent .Pg1Ftq_payload{min-height:0}.Pg1Ftq_thinkingQuote{--qilin-content-font-size-secondary:13px;--qilin-content-font-delta-secondary:0px;border-left:2px solid var(--qilin-alias-markdown-citation);color:var(--qilin-alias-label-secondary);background:0 0;margin:6px 14px 0 12px;padding-left:6px}.Pg1Ftq_thinkingQuoteOnlyPreview{margin-bottom:8px}.Pg1Ftq_detailBody>.Pg1Ftq_assistantContentRendered .Pg1Ftq_thinkingQuote{margin-top:14px}.Pg1Ftq_thinkingToggle{width:max-content;height:18px;color:var(--qilin-alias-label-tertiary);cursor:pointer;font:600 12px/18px var(--qilin-font-family);user-select:none;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:flex}.Pg1Ftq_thinkingChevron{transition:transform .12s var(--ds-ease-in-out);flex:none}.Pg1Ftq_thinkingToggle[aria-expanded=true] .Pg1Ftq_thinkingChevron{transform:rotate(90deg)}.Pg1Ftq_thinkingToggle:hover{color:var(--qilin-alias-label-secondary)}.Pg1Ftq_thinkingToggle:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_thinkingQuote .Pg1Ftq_markdownPreview,.Pg1Ftq_thinkingQuote .Pg1Ftq_markdownPayload,.Pg1Ftq_thinkingQuote .Pg1Ftq_payload{min-height:0;color:var(--qilin-alias-label-secondary);background:0 0;padding:2px 0}.Pg1Ftq_assistantOutput{background:var(--qilin-alias-bg-layer-1)}.Pg1Ftq_markdownPreview{padding:2px 14px 8px}.Pg1Ftq_markdownPayload{min-height:100%;padding:14px}.Pg1Ftq_jsonPayload{min-height:100%}.Pg1Ftq_jsonPreview{min-height:0}.Pg1Ftq_schema{background:var(--qilin-alias-bg-layer-1);min-height:100%}.Pg1Ftq_schemaPreview{min-height:0}.Pg1Ftq_schemaIntro{padding:12px 14px 6px}.Pg1Ftq_schemaPreview .Pg1Ftq_schemaIntro{padding-top:2px}.Pg1Ftq_schemaName{color:var(--qilin-alias-label-primary);font:600 12px/18px var(--ds-font-family-code);margin:0}.Pg1Ftq_schemaDescription{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-13);white-space:pre-wrap;margin:2px 0 0}.Pg1Ftq_schemaParameters{min-width:0}.Pg1Ftq_schemaParametersTitle{color:var(--qilin-alias-label-tertiary);font:600 11px/16px var(--qilin-font-family);user-select:none;margin:0;padding:4px 14px 2px}.Pg1Ftq_schemaTree{margin:0 6px 8px 0}.Pg1Ftq_payload{box-sizing:border-box;overflow-wrap:anywhere;min-height:100%;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-markdown-code-block);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;margin:0;padding:14px}.Pg1Ftq_payloadPreview{min-height:0;padding:2px 14px 8px}.Pg1Ftq_sourceBlocks{box-sizing:border-box;min-height:100%;padding:12px 14px}.Pg1Ftq_sourceBlock+.Pg1Ftq_sourceBlock{margin-top:14px}.Pg1Ftq_sourceBlockHeader,.Pg1Ftq_sourceBlockJumpTarget{user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Pg1Ftq_sourceBlockJumpTarget{all:unset;cursor:pointer;user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Pg1Ftq_sourceBlockLabel{color:var(--qilin-alias-label-tertiary);font:11px/16px var(--ds-font-family-code)}.Pg1Ftq_sourceBlockJumpIcon{color:var(--qilin-alias-label-caption);flex:none}.Pg1Ftq_sourceBlockJumpTarget:hover .Pg1Ftq_sourceBlockJumpIcon{color:var(--qilin-alias-label-primary)}.Pg1Ftq_sourceBlockJumpTarget:focus-visible{outline:none}.Pg1Ftq_sourceBlockJumpTarget:focus-visible .Pg1Ftq_sourceBlockJumpIcon{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_sourceBlockContent{overflow-wrap:anywhere;color:var(--qilin-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Pg1Ftq_messageImages{flex-direction:column;gap:8px;margin:8px 14px 14px;display:flex}.Pg1Ftq_attachments{flex-direction:column;gap:8px;margin:8px 14px 14px;padding:0;list-style:none;display:flex}.Pg1Ftq_attachmentsPreview{gap:6px;margin-block:6px 8px}.Pg1Ftq_attachmentRow{border:.5px solid var(--qilin-alias-border-l2-darkmode-thin);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:8px;display:flex}.Pg1Ftq_attachmentIcon{flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.Pg1Ftq_attachmentInfo{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.Pg1Ftq_attachmentName{color:var(--qilin-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.Pg1Ftq_attachmentMetadata{color:var(--qilin-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.Pg1Ftq_attachmentDisclosure{border:.5px solid var(--qilin-alias-border-l2-darkmode-thin);border-radius:8px;margin-block:8px}.Pg1Ftq_attachmentDisclosure>summary{cursor:pointer;padding:8px}.Pg1Ftq_attachmentDisclosure>summary .Pg1Ftq_attachmentName{display:block}.Pg1Ftq_attachmentDisclosure>summary:focus-visible{outline:var(--qilin-focus-ring-width) solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_attachmentDisclosure>pre{padding:0 8px 8px}.Pg1Ftq_assistantToolCalls{box-sizing:border-box;max-width:100%;color:var(--qilin-alias-label-secondary);font:11px/17px var(--ds-font-family-code);margin:2px 14px 12px;padding:0;list-style:none}.Pg1Ftq_assistantToolCallsPreview{margin-top:2px;margin-bottom:8px}.Pg1Ftq_assistantToolCalls li{min-width:0}.Pg1Ftq_assistantToolCallButton{all:unset;box-sizing:border-box;cursor:pointer;border-radius:3px;align-items:center;width:calc(100% + 4px);min-width:0;height:19px;margin-left:-4px;padding:0 4px;display:flex}.Pg1Ftq_assistantToolCallButton:hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_assistantToolCallButton:focus-visible{background:var(--qilin-alias-interactive-bg-hover);outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_assistantToolCallIcon{color:var(--qilin-alias-label-caption);flex:none;margin-right:5px}.Pg1Ftq_assistantToolCallButton:hover .Pg1Ftq_assistantToolCallIcon,.Pg1Ftq_assistantToolCallButton:focus-visible .Pg1Ftq_assistantToolCallIcon{color:var(--qilin-alias-label-secondary)}.Pg1Ftq_assistantToolCallText{white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.Pg1Ftq_assistantToolCallName{color:var(--qilin-alias-label-secondary);flex:none;margin-right:5px;font-weight:500}.Pg1Ftq_assistantToolCallArgs{min-width:0;color:var(--qilin-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Pg1Ftq_systemPrompt{box-sizing:border-box}.Pg1Ftq_toolCatalog{min-height:100%;padding:8px 0 16px}.Pg1Ftq_toolCatalogItem{border-bottom:.5px solid var(--qilin-alias-border-l1)}.Pg1Ftq_toolCatalogSummary{box-sizing:border-box;cursor:pointer;user-select:none;grid-template-columns:12px 12px max-content minmax(0,1fr);align-items:center;gap:5px;min-height:30px;padding:4px 12px;list-style:none;display:grid}.Pg1Ftq_toolCatalogSummary::-webkit-details-marker{display:none}.Pg1Ftq_toolCatalogSummary:hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_toolCatalogSummary:focus-visible{background:var(--qilin-alias-interactive-bg-hover);outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_toolCatalogChevron,.Pg1Ftq_toolCatalogIcon{color:var(--qilin-alias-label-caption)}.Pg1Ftq_toolCatalogChevron{transition:transform .1s var(--ds-ease-in-out)}.Pg1Ftq_toolCatalogItem[open] .Pg1Ftq_toolCatalogChevron{transform:rotate(90deg)}.Pg1Ftq_toolCatalogName{color:var(--qilin-alias-label-primary);font:500 12px/18px var(--ds-font-family-code)}.Pg1Ftq_toolCatalogDescription{min-width:0;color:var(--qilin-alias-label-tertiary);font:var(--qilin-font-xs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Pg1Ftq_toolCatalogDefinition{background:var(--qilin-alias-bg-base);padding:0 0 8px 29px}.Pg1Ftq_toolCatalogFullDescription{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-13);white-space:pre-wrap;margin:0;padding:7px 14px 4px 0}.Pg1Ftq_toolCatalogTree{margin-left:-14px;margin-right:6px}.Pg1Ftq_resultBlocks{box-sizing:border-box;flex-direction:column;gap:10px;min-height:100%;padding:14px;display:flex}.Pg1Ftq_resultBlocksPreview{gap:6px;min-height:0;padding:2px 14px 8px}.Pg1Ftq_resultBlockText{overflow-wrap:anywhere;color:var(--qilin-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Pg1Ftq_overviewPreview .Pg1Ftq_noPayload{padding:2px 14px 0}.Pg1Ftq_noPayload{color:var(--qilin-alias-label-tertiary);font:var(--qilin-font-xs-13);margin:0;padding:18px 14px}@media (width<=760px){.Pg1Ftq_details{z-index:5;border-left-color:var(--qilin-alias-border-l3);width:min(92%,420px);max-width:92%;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000024}}.Pg1Ftq_toolUpdatePayload{white-space:pre;overflow-x:auto}";
|
|
4666
|
+
const css$4 = ".Pg1Ftq_split{--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2);background:var(--qilin-alias-bg-layer-1);flex:1;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.Pg1Ftq_tablePane{min-width:0;padding-bottom:var(--qilin-trajectory-bottom-clearance,0px);flex:1;position:relative;overflow:hidden auto;container:Pg1Ftq_trajectory-table/inline-size}.Pg1Ftq_historyLoading{z-index:5;pointer-events:none;height:0;position:sticky;top:0;overflow:visible}.Pg1Ftq_historyLoadingBar{box-sizing:border-box;border-bottom:1px solid var(--qilin-alias-border-l2);background:var(--qilin-alias-bg-layer-1);width:100%;height:30px;color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xxs-12);justify-content:center;align-items:center;gap:6px;display:flex}.Pg1Ftq_historyLoadingSpinner{box-sizing:border-box;border:1.5px solid var(--qilin-alias-border-l2);border-top-color:var(--qilin-alias-state-business-primary);corner-shape:round;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite Pg1Ftq_history-loading-spin}.Pg1Ftq_table tbody .Pg1Ftq_historyLoadRow td{height:30px;padding:0}.Pg1Ftq_table tbody .Pg1Ftq_historyLoadRow+tr[data-turn-start=true] td:before{content:none}.Pg1Ftq_historyLoadButton{background:var(--qilin-alias-bg-layer-1);width:100%;height:29px;color:var(--qilin-alias-label-secondary);cursor:pointer;font:var(--qilin-font-xxs-12);border:0;justify-content:center;align-items:center;gap:6px;display:flex}.Pg1Ftq_historyLoadButton:hover:not(:disabled){background:var(--qilin-alias-interactive-bg-hover);color:var(--qilin-alias-label-primary)}.Pg1Ftq_historyLoadButton:focus-visible{outline:var(--qilin-focus-ring-width) solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-2px}.Pg1Ftq_historyLoadButton:disabled{cursor:default}.Pg1Ftq_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.Pg1Ftq_table:not([data-scroll-ready=true]){visibility:hidden}@keyframes Pg1Ftq_history-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.Pg1Ftq_historyLoadingSpinner{animation:none}}.Pg1Ftq_table{--trajectory-turn-accent:color-mix(in srgb, var(--qilin-static-blue-500) 22%, var(--qilin-alias-bg-layer-1));border-spacing:0;table-layout:fixed;width:100%;min-width:0;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-1);font:var(--qilin-font-xxs-12)}.Pg1Ftq_eventColumn{width:122px}.Pg1Ftq_eventColumn:where(:lang(zh)){width:84px}.Pg1Ftq_contentColumn{width:auto}.Pg1Ftq_table th{z-index:3;box-sizing:border-box;border-bottom:1px solid var(--qilin-alias-border-l2);height:30px;color:var(--qilin-alias-label-tertiary);background:var(--qilin-specific-sidebar-fill);font:var(--qilin-font-xxs-12);text-align:left;text-overflow:ellipsis;user-select:none;white-space:nowrap;padding:0 8px;font-weight:500;position:sticky;top:0;overflow:hidden}.Pg1Ftq_eventHeader{text-align:right!important;padding-right:4px!important}.Pg1Ftq_table td{box-sizing:border-box;border-bottom:1px solid var(--qilin-alias-border-l1);text-overflow:ellipsis;white-space:nowrap;height:30px;padding:0 8px;overflow:hidden}.Pg1Ftq_table tbody .Pg1Ftq_virtualSpacer{pointer-events:none}.Pg1Ftq_table tbody .Pg1Ftq_virtualSpacer td{height:var(--trajectory-virtual-spacer-height);border:0;padding:0}.Pg1Ftq_table tbody tr:not([data-collapsed-summary]):not([data-virtual-spacer]):not([data-history-load]){cursor:default;transition:background-color .12s var(--ds-ease-in-out), opacity .12s var(--ds-ease-in-out);outline:none}.Pg1Ftq_table tbody tr[data-timeline-focus=outside]{opacity:.24}.Pg1Ftq_table tbody tr:not([data-collapsed-summary]):not([data-virtual-spacer]):not([data-history-load]):not([data-selected=true]):hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_table tbody tr[data-request-only=true]:hover{background:0 0}.Pg1Ftq_table tbody tr[data-request-only=true] td{border-bottom:0;height:0;padding-top:0;padding-bottom:0}.Pg1Ftq_table tbody tr[data-terminal-request-boundary=true] td{height:9px}.Pg1Ftq_table tbody tr[data-request-only=true] .Pg1Ftq_turnRail{top:-15px;bottom:0}.Pg1Ftq_table tbody tr:not([data-collapsed-summary]):focus-visible{box-shadow:inset 0 0 0 1px var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary))}.Pg1Ftq_table tbody tr[data-selected=true]{background:var(--qilin-alias-interactive-bg-active)}.Pg1Ftq_requestBoundaryControl{--request-boundary-base-left:12px;z-index:6;top:-8px;left:calc(var(--request-boundary-base-left) + var(--request-boundary-offset,0px));cursor:pointer;background:0 0;border:0;width:16px;height:16px;padding:0;position:absolute}.Pg1Ftq_requestBoundaryControl:before{corner-shape:round;background:var(--qilin-alias-label-caption);width:5px;height:5px;box-shadow:0 0 0 2px var(--qilin-alias-bg-layer-1), 0 0 0 3px transparent;content:\"\";transition:background .12s var(--ds-ease-in-out), box-shadow .12s var(--ds-ease-in-out);border-radius:50%;position:absolute;top:5.5px;left:5.5px}.Pg1Ftq_requestBoundaryControl:after{border:1px solid var(--qilin-alias-border-l1);width:max-content;color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-layer-1);content:attr(data-label);font:9px/12px var(--ds-font-family-code);opacity:0;pointer-events:none;transition:opacity .12s var(--ds-ease-in-out), transform .12s var(--ds-ease-in-out);user-select:none;white-space:nowrap;border-radius:2px;padding:0 4px;position:absolute;top:2px;left:17px;transform:translate(-2px);box-shadow:0 2px 6px #0000001f}.Pg1Ftq_requestBoundaryControl:hover:before,.Pg1Ftq_requestBoundaryControl:focus-visible:before{background:var(--qilin-alias-brand-primary-new-colorprimary-new-color)}.Pg1Ftq_requestBoundaryControlActive:before,.Pg1Ftq_requestBoundaryControlActive:hover:before,.Pg1Ftq_requestBoundaryControlActive:focus-visible:before{background:color-mix(in srgb, var(--qilin-alias-brand-primary-new-colorprimary-new-color) 18%, var(--qilin-alias-bg-layer-1));box-shadow:0 0 0 1.5px var(--qilin-alias-state-business-primary)}.Pg1Ftq_requestBoundaryControl[data-request-status=error]:before,.Pg1Ftq_requestBoundaryControl[data-request-status=error]:hover:before,.Pg1Ftq_requestBoundaryControl[data-request-status=error]:focus-visible:before{background:var(--qilin-alias-state-error-primary)}.Pg1Ftq_requestBoundaryControl:hover:after,.Pg1Ftq_requestBoundaryControl:focus-visible:after{opacity:1;transform:translate(0)}.Pg1Ftq_requestBoundaryControl:focus-visible{outline:none}.Pg1Ftq_table tbody tr:has(.Pg1Ftq_requestBoundaryControl:hover):not([data-selected=true]){background:0 0}.Pg1Ftq_event{position:relative}.Pg1Ftq_turnRail,.Pg1Ftq_selectionRail{background:var(--qilin-alias-brand-primary-new-colorprimary-new-color);pointer-events:none;position:absolute;left:0}.Pg1Ftq_turnRail{z-index:4;background:var(--trajectory-turn-accent);width:2px;top:-1px;bottom:-1px}.Pg1Ftq_table tbody tr[data-turn-end=true] .Pg1Ftq_turnRail{bottom:0}.Pg1Ftq_selectionRail{z-index:5;width:3px;top:0;bottom:0}.Pg1Ftq_table tbody tr[data-error=true] .Pg1Ftq_turnRail{background:color-mix(in srgb, var(--qilin-alias-state-error-primary) 22%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_table tbody tr[data-error=true] .Pg1Ftq_selectionRail{background:var(--qilin-alias-state-error-primary)}.Pg1Ftq_table tbody tr[data-turn-start=true] td{position:relative;overflow:visible}.Pg1Ftq_table tbody tr[data-turn-start=true]:not(:first-child) td:before{z-index:1;background:var(--qilin-alias-border-l1);content:\"\";pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0;transform:translateY(-50%)}.Pg1Ftq_event{padding-left:36px!important;padding-right:4px!important;overflow:visible!important}.Pg1Ftq_turnLabel{z-index:3;box-sizing:border-box;width:max-content;color:var(--qilin-alias-label-tertiary);background:var(--qilin-alias-bg-module-platform);font:8px/10px var(--ds-font-family-code);font-variant-numeric:tabular-nums;user-select:none;white-space:nowrap;border-radius:0 0 2px;flex:none;align-items:center;padding:1px 5px;display:inline-grid;position:absolute;top:0;left:0}.Pg1Ftq_turnLabelFull,.Pg1Ftq_turnLabelCompact{opacity:1;white-space:nowrap;grid-area:1/1;max-width:64px;overflow:hidden}.Pg1Ftq_turnLabelCompact{opacity:0;max-width:0}.Pg1Ftq_turnLabelActive{color:color-mix(in srgb, var(--qilin-static-blue-500) 55%, var(--qilin-alias-label-tertiary));background:var(--trajectory-turn-accent)}.Pg1Ftq_eventInner{justify-content:flex-start;align-items:center;min-width:0;height:100%;display:flex}.Pg1Ftq_kindSlot{flex:none;justify-content:flex-end;align-items:flex-end;width:76px;display:flex}.Pg1Ftq_kindSlot:where(:lang(zh)){width:44px}.Pg1Ftq_kindSlot [role=tooltip]{background:var(--qilin-alias-bg-layer-2);box-shadow:var(--qilin-elevation-panel);color:var(--qilin-alias-label-primary);border:0}.Pg1Ftq_content{color:var(--qilin-alias-label-primary);padding-left:4px!important}.Pg1Ftq_kindTag{box-sizing:border-box;letter-spacing:.035em;user-select:none;border:1px solid #0000;border-radius:4px;flex:none;align-items:center;height:19px;padding:0 5px;font-size:10px;font-weight:650;line-height:16px;display:inline-flex}.Pg1Ftq_kindTagIcon{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:13px;display:inline-flex;overflow:hidden;transform:scale(.8)}.Pg1Ftq_kindTagLabel{opacity:1;white-space:nowrap;max-width:72px;display:inline-block;overflow:hidden}.Pg1Ftq_table .Pg1Ftq_kindSlot .Pg1Ftq_message{justify-content:center;width:100%}@container Pg1Ftq_trajectory-table (width<=620px){.Pg1Ftq_eventColumn{width:50px}.Pg1Ftq_event{padding-left:28px!important;padding-right:3px!important}.Pg1Ftq_requestBoundaryControl{--request-boundary-base-left:6px}.Pg1Ftq_kindSlot{width:19px}.Pg1Ftq_kindTag,.Pg1Ftq_table .Pg1Ftq_kindSlot .Pg1Ftq_message{justify-content:center;width:19px;padding-left:0;padding-right:0}.Pg1Ftq_kindTagIcon{opacity:1;width:13px;transform:scale(1)}.Pg1Ftq_kindTagLabel,.Pg1Ftq_turnLabelFull{opacity:0;max-width:0}.Pg1Ftq_turnLabelCompact{opacity:1;max-width:64px}}@media (prefers-reduced-motion:no-preference){.Pg1Ftq_eventColumn,.Pg1Ftq_event,.Pg1Ftq_requestBoundaryControl,.Pg1Ftq_kindSlot,.Pg1Ftq_kindTag,.Pg1Ftq_kindTagIcon,.Pg1Ftq_kindTagLabel,.Pg1Ftq_turnLabelFull,.Pg1Ftq_turnLabelCompact{transition-duration:.18s;transition-timing-function:var(--ds-ease-in-out)}.Pg1Ftq_eventColumn,.Pg1Ftq_kindSlot{transition-property:width}.Pg1Ftq_event{transition-property:padding-right,padding-left}.Pg1Ftq_requestBoundaryControl{transition-property:left}.Pg1Ftq_kindTag{transition-property:padding-right,padding-left}.Pg1Ftq_kindTagIcon{transition-property:width,opacity,transform}.Pg1Ftq_kindTagLabel,.Pg1Ftq_turnLabelFull,.Pg1Ftq_turnLabelCompact{transition-property:max-width,opacity}}.Pg1Ftq_user{color:var(--qilin-alias-state-business-primary);background:var(--qilin-alias-state-business-tertiary)}.Pg1Ftq_systemNeutral{color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-module-platform)}.Pg1Ftq_contextGreen{color:color-mix(in srgb, var(--qilin-alias-state-success-primary) 68%, var(--qilin-alias-label-secondary));background:var(--qilin-alias-state-success-tertiary)}.Pg1Ftq_compacted{color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-module-platform)}.Pg1Ftq_compactedSummary{font:var(--qilin-font-xs-13);margin-top:12px;padding:0 0 14px}.Pg1Ftq_promptDiffSections{flex-direction:column;gap:14px;max-height:100%;padding:10px 14px 14px;display:flex;overflow:auto}.Pg1Ftq_promptDiffSection{min-width:0}.Pg1Ftq_promptDiffTitle{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-strong-13);user-select:none;margin:0 0 6px}.Pg1Ftq_promptDiff{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-1);font:11px/17px var(--ds-font-family-code);white-space:pre;margin:0;overflow:auto}.Pg1Ftq_promptDiff span{min-width:max-content;padding:0 6px;display:block}.Pg1Ftq_promptDiffLinemeta{color:var(--qilin-alias-label-caption);background:var(--qilin-alias-bg-module-platform);user-select:none}.Pg1Ftq_promptDiffLinecontext{color:var(--qilin-alias-label-secondary)}.Pg1Ftq_promptDiffLineadded{color:color-mix(in srgb, var(--qilin-alias-state-success-primary) 72%, var(--qilin-alias-label-primary));background:var(--qilin-alias-state-success-tertiary)}.Pg1Ftq_promptDiffLineremoved{color:var(--qilin-alias-state-error-primary);background:color-mix(in srgb, var(--qilin-alias-state-error-primary) 12%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_assistantVioletBright{color:color-mix(in srgb, var(--qilin-alias-brand-primary-new-colorprimary-new-color) 60%, var(--qilin-alias-state-error-secondary));background:color-mix(in srgb, color-mix(in srgb, var(--qilin-alias-brand-primary-new-colorprimary-new-color) 55%, var(--qilin-alias-state-error-secondary)) 15%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_toolAmber{color:var(--qilin-alias-state-warn-label);background:var(--qilin-alias-state-warn-tertiary)}.Pg1Ftq_subtoolAmber{color:color-mix(in srgb, var(--qilin-alias-state-warn-label) 62%, var(--qilin-alias-label-tertiary));background:color-mix(in srgb, var(--qilin-alias-state-warn-tertiary) 58%, var(--qilin-alias-bg-layer-1))}.Pg1Ftq_contentText{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.Pg1Ftq_toolCallOnly{color:var(--qilin-alias-label-tertiary)}.Pg1Ftq_table tbody tr[data-collapsed-summary=turn] td,.Pg1Ftq_table tbody tr[data-collapsed-summary=assistant] td,.Pg1Ftq_table tbody tr[data-collapsed-summary=tool] td{height:20px}.Pg1Ftq_table tbody tr[data-collapsed-summary]{cursor:pointer;transition:background-color .12s var(--ds-ease-in-out);outline:none}.Pg1Ftq_table tbody tr[data-collapsed-summary]:hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_table tbody tr[data-collapsed-summary]:focus-visible{box-shadow:inset 0 0 0 1px var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary))}.Pg1Ftq_collapsedTurnContent{min-width:0;color:var(--qilin-alias-label-secondary);align-items:center;font-size:12px;line-height:16px;display:flex}.Pg1Ftq_collapsedTurnEllipsis{color:var(--qilin-alias-label-tertiary);user-select:none;flex:none;margin-right:6px;font-weight:600}.Pg1Ftq_collapsedTurnText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Pg1Ftq_resultPreview{grid-template-columns:clamp(180px, var(--trajectory-tool-request-width,calc(36cqw - 56px)), 480px) minmax(0, 1fr);align-items:center;gap:8px;min-width:0;display:grid}.Pg1Ftq_resultRequest,.Pg1Ftq_inlineResultText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Pg1Ftq_toolCallNameTypeface{color:var(--qilin-alias-label-primary);font:400 12px/18px Menlo,Consolas,Liberation Mono,PingFang SC,Microsoft YaHei}.Pg1Ftq_toolCallPayload{color:var(--qilin-alias-label-secondary);font:400 12px/18px var(--ds-font-family-code);margin-left:7px}.Pg1Ftq_table tbody tr[data-kind=tool] .Pg1Ftq_contentText,.Pg1Ftq_table tbody tr[data-kind=subtool] .Pg1Ftq_contentText,.Pg1Ftq_table tbody tr[data-kind=tool] .Pg1Ftq_resultPreview,.Pg1Ftq_table tbody tr[data-kind=subtool] .Pg1Ftq_resultPreview{font-family:var(--ds-font-family-code);font-size:12px}.Pg1Ftq_table tbody tr[data-kind=subtool] .Pg1Ftq_content{padding-left:26px}.Pg1Ftq_inlineResult{min-width:0;color:var(--qilin-alias-label-secondary);align-items:center;display:flex}.Pg1Ftq_noOutputText{color:var(--qilin-alias-label-caption)}.Pg1Ftq_arrow{color:var(--qilin-alias-label-caption);flex:none;margin-right:8px}.Pg1Ftq_error,.Pg1Ftq_overview dd.Pg1Ftq_error,.Pg1Ftq_details .Pg1Ftq_errorPayload{color:var(--qilin-alias-state-error-primary)}.Pg1Ftq_details .Pg1Ftq_errorPayload .Pg1Ftq_resultBlockText{color:inherit}.Pg1Ftq_details .Pg1Ftq_jsonPayload.Pg1Ftq_errorPayload,.Pg1Ftq_details .Pg1Ftq_jsonPreview.Pg1Ftq_errorPayload{--json-tree-property:var(--qilin-alias-state-error-primary);--json-tree-string:var(--qilin-alias-state-error-primary);--json-tree-number:var(--qilin-alias-state-error-primary);--json-tree-keyword:var(--qilin-alias-state-error-primary);--json-tree-punctuation:var(--qilin-alias-state-error-primary);--json-tree-icon:var(--qilin-alias-state-error-primary)}.Pg1Ftq_details{width:var(--trajectory-details-width,clamp(320px, 38%, 440px));border-left:1px solid var(--qilin-alias-border-l2);background:var(--qilin-alias-bg-layer-1);flex-direction:column;flex:none;min-width:0;max-width:calc(100% - 280px);min-height:0;display:flex;position:relative}@container (width<=600px){.Pg1Ftq_split{flex-direction:column}.Pg1Ftq_details{border-left:0;border-top:1px solid var(--qilin-alias-border-l2);flex:none;width:100%;max-width:none;max-height:60%}.Pg1Ftq_detailsResizeHandle{display:none}}.Pg1Ftq_detailsResizeHandle{z-index:6;cursor:col-resize;touch-action:none;user-select:none;background:0 0;border:0;width:8px;padding:0;position:absolute;top:0;bottom:0;left:-4px}.Pg1Ftq_detailsResizeHandle:focus-visible{outline:none}.Pg1Ftq_detailsHeader{box-sizing:border-box;border-bottom:1px solid var(--qilin-alias-border-l2);flex:none;justify-content:space-between;align-items:center;height:42px;padding:0 8px 0 12px;display:flex}.Pg1Ftq_detailsTitle{min-width:0;color:var(--qilin-alias-label-primary);align-items:center;gap:8px;display:flex}.Pg1Ftq_requestDetailsDot{corner-shape:round;background:var(--qilin-alias-label-secondary);border-radius:50%;flex:none;width:5px;height:5px}.Pg1Ftq_requestDetailsName{font:500 12px/16px var(--ds-font-family-code);flex:none}.Pg1Ftq_detailsLocation{min-width:0;color:var(--qilin-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Pg1Ftq_close{width:28px;height:28px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:18px;line-height:18px;display:inline-flex}.Pg1Ftq_close:hover{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_detailTabs{box-sizing:border-box;border-bottom:1px solid var(--qilin-alias-border-l2);overscroll-behavior-x:contain;scrollbar-width:none;white-space:nowrap;flex:none;gap:1px;width:100%;min-width:0;max-width:100%;height:34px;padding:0 8px;display:flex;overflow:auto hidden}.Pg1Ftq_detailTabs::-webkit-scrollbar{display:none}.Pg1Ftq_detailTab{color:var(--qilin-alias-label-tertiary);cursor:pointer;font:var(--qilin-font-xs-13);background:0 0;border:0;flex:none;padding:0 9px;position:relative}.Pg1Ftq_detailTab:hover{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_detailTabActive{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_detailTabActive:after{background:var(--qilin-alias-state-business-primary);content:\"\";border-radius:1px 1px 0 0;height:2px;position:absolute;bottom:0;left:9px;right:9px}.Pg1Ftq_close:focus-visible,.Pg1Ftq_detailTab:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_detailBody{min-height:0;padding-bottom:var(--qilin-trajectory-bottom-clearance,0px);scrollbar-gutter:stable;flex:1;overflow:hidden auto}.Pg1Ftq_detailBodySummary{box-sizing:border-box;padding-bottom:calc(12px + var(--qilin-trajectory-bottom-clearance,0px));flex-direction:column;display:flex;overflow:hidden}.Pg1Ftq_detailBodySummary>.Pg1Ftq_overview{overscroll-behavior:contain;flex:0 auto;min-height:0;padding-bottom:0;overflow:auto}.Pg1Ftq_detailBodySummary>.Pg1Ftq_compactedSummary{flex:1;min-height:0;overflow:auto}.Pg1Ftq_summaryScrollRegion{--qilin-scrollbar-thumb:transparent;--qilin-scrollbar-thumb-hover:transparent}.Pg1Ftq_summaryScrollRegion:hover,.Pg1Ftq_summaryScrollRegion:focus-within{--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2)}.Pg1Ftq_compactedSummary .Pg1Ftq_markdownPayload{padding-right:18px}.Pg1Ftq_overview{font:var(--qilin-font-xs-13);margin:0;padding:8px 0}.Pg1Ftq_overviewParentLinks{gap:14px;display:flex}.Pg1Ftq_overviewHierarchyNavLink{all:unset;color:var(--qilin-alias-label-secondary);cursor:pointer;font:inherit;opacity:1;align-items:center;gap:1px;display:inline-flex}.Pg1Ftq_overviewHierarchyNavLink:hover{color:var(--qilin-alias-label-primary)}.Pg1Ftq_overviewHierarchyJumpIconTight{color:var(--qilin-alias-label-caption);flex:none}.Pg1Ftq_overviewHierarchyNavLink:hover .Pg1Ftq_overviewHierarchyJumpIconTight,.Pg1Ftq_overviewHierarchyNavLink:focus-visible .Pg1Ftq_overviewHierarchyJumpIconTight{color:var(--qilin-alias-label-primary)}.Pg1Ftq_overviewHierarchyNavLink:focus-visible{color:var(--qilin-alias-label-primary);outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_overview>div{grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:22px;padding:0 14px;display:grid}.Pg1Ftq_overview>.Pg1Ftq_requestTokenDetail dt{padding-left:12px}.Pg1Ftq_usagePanel{padding:4px 0 10px}.Pg1Ftq_usageGroup+.Pg1Ftq_usageGroup{margin-top:8px}.Pg1Ftq_usageHeading{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-strong-13);user-select:none;margin:0;padding:4px 14px 1px}.Pg1Ftq_usageGroup .Pg1Ftq_overview{padding:0}.Pg1Ftq_overview dt{color:var(--qilin-alias-label-tertiary)}.Pg1Ftq_overview dd{min-width:0;color:var(--qilin-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.Pg1Ftq_timestampToggle{all:unset;color:inherit;cursor:pointer;font:inherit;user-select:text}.Pg1Ftq_timestampToggle:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_overviewSections{border-top:0;flex-direction:column;flex:1;min-height:min-content;display:flex;overflow:hidden}.Pg1Ftq_overviewSection{flex-direction:column;flex:1 1 0;min-height:24px;max-height:max-content;display:flex;overflow:hidden}.Pg1Ftq_overviewSection+.Pg1Ftq_overviewSection{padding-top:2px}.Pg1Ftq_overviewHeading{box-sizing:border-box;width:100%;height:24px;color:var(--qilin-alias-label-secondary);background:var(--qilin-alias-bg-layer-1);font:var(--qilin-font-xs-strong-13);user-select:none;flex:none;align-items:flex-end;margin:0;padding:0 0 3px 14px;display:flex}.Pg1Ftq_overviewTitle{width:max-content;height:auto;color:inherit;cursor:pointer;font:inherit;user-select:none;background:0 0;border:0;flex:none;align-items:center;gap:3px;padding:0;line-height:1;display:inline-flex}.Pg1Ftq_overviewTitleIcon{color:var(--qilin-alias-label-caption);flex:none}.Pg1Ftq_overviewTitle:hover .Pg1Ftq_overviewTitleIcon{color:var(--qilin-alias-label-primary)}.Pg1Ftq_overviewTitle:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_overviewTitle:focus-visible .Pg1Ftq_overviewTitleIcon{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_overviewPreview{overscroll-behavior:contain;background:var(--qilin-alias-bg-layer-1);flex:1;min-height:0;overflow:auto}.Pg1Ftq_overviewPreview[data-scroll-more]{mask-image:linear-gradient(#000 calc(100% - 12px),#0000)}.Pg1Ftq_overviewPreview>:last-child{margin-bottom:0;padding-bottom:0}.Pg1Ftq_programDescription{color:var(--qilin-alias-label-primary);font:var(--qilin-font-xs-13);white-space:pre-wrap;overflow-wrap:anywhere;flex:none;margin:0;padding:8px 14px 2px}.Pg1Ftq_programIcon{vertical-align:-2px;margin-right:4px}.Pg1Ftq_programSummary{font-family:var(--qilin-font-family);margin-left:5px}.Pg1Ftq_detailBodyProgram,.Pg1Ftq_programPanel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.Pg1Ftq_programPanel{background:var(--qilin-alias-bg-layer-1);flex:1}.Pg1Ftq_programActions{flex:none;align-items:center;gap:4px;height:16px;margin-left:auto;padding-right:14px;display:inline-flex}.Pg1Ftq_programLanguage{color:var(--qilin-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);padding-right:4px}.Pg1Ftq_programAction{box-sizing:border-box;width:20px;height:16px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.Pg1Ftq_programAction:hover{color:var(--qilin-alias-label-primary)}.Pg1Ftq_programAction[aria-pressed=true]{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_programAction[data-state=failed]{color:var(--qilin-alias-state-error-primary)}.Pg1Ftq_programAction:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_programContent{min-width:0;min-height:0}.Pg1Ftq_programPanel>.Pg1Ftq_programContent{overscroll-behavior:contain;flex:1;overflow:auto}.Pg1Ftq_programSource{background:var(--qilin-alias-bg-layer-1);--dsl-code-block-line-white-space:pre;border-radius:0;margin:0!important}.Pg1Ftq_programSource :where(pre){font:12px/16px var(--ds-font-family-code);overflow-wrap:normal;word-break:normal;tab-size:2;border-radius:0;padding:2px 14px 8px;overflow:visible;background:var(--qilin-alias-bg-layer-1)!important}.Pg1Ftq_programSource pre code>.line{box-sizing:border-box;width:max-content;min-width:100%}.Pg1Ftq_programContent[data-wrap=true] .Pg1Ftq_programSource{--dsl-code-block-line-white-space:pre-wrap}.Pg1Ftq_programContent[data-wrap=true] .Pg1Ftq_programSource pre code>.line{overflow-wrap:anywhere;word-break:break-all;width:auto}.Pg1Ftq_programOutput{color:var(--qilin-alias-label-primary);font:12px/16px var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:2px 14px 8px}.Pg1Ftq_programError:first-line{color:var(--qilin-alias-state-error-primary);font-weight:600}.Pg1Ftq_overviewPreview .Pg1Ftq_jsonPreview>:first-child,.Pg1Ftq_overviewPreview .Pg1Ftq_schemaTree>:first-child{padding-top:2px;padding-bottom:0}.Pg1Ftq_overviewPreview .Pg1Ftq_schemaTree{margin-bottom:0}.Pg1Ftq_overviewPreview .Pg1Ftq_overview{padding:2px 0 0}.Pg1Ftq_overviewPreview .Pg1Ftq_overview>div{min-height:22px}.Pg1Ftq_markdownPreview,.Pg1Ftq_markdownPayload{color:var(--qilin-alias-label-primary)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]),.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]){font:var(--qilin-font-xs-13);gap:8px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) h1,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) h1{font:600 16px/22px var(--qilin-font-family)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) h2,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) h2{font:600 15px/22px var(--qilin-font-family)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(h3,h4,h5,h6),.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) :where(h3,h4,h5,h6){font:600 14px/20px var(--qilin-font-family)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :not(pre)>code,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) :not(pre)>code{font:12px/18px var(--ds-font-family-code)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) table,.Pg1Ftq_markdownPayload>div:not([data-markdown-variant=compact]) table{font:var(--qilin-font-xs-13)}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact])>:first-child{margin-top:0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact])>:last-child{margin-bottom:0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(h1,h2,h3){margin:12px 0 6px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(h4,h5,h6){margin:10px 0 5px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) :where(p,ul,ol){margin:8px 0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) li:not(:first-child){margin-top:3px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) blockquote{margin-top:8px}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact]) hr{margin:14px 0}.Pg1Ftq_markdownPreview>div:not([data-markdown-variant=compact])>.md-code-block{margin:10px 0}.Pg1Ftq_assistantContent .Pg1Ftq_markdownPayload,.Pg1Ftq_assistantContent .Pg1Ftq_payload{min-height:0}.Pg1Ftq_thinkingQuote{--qilin-content-font-size-secondary:13px;--qilin-content-font-delta-secondary:0px;border-left:2px solid var(--qilin-alias-markdown-citation);color:var(--qilin-alias-label-secondary);background:0 0;margin:6px 14px 0 12px;padding-left:6px}.Pg1Ftq_thinkingQuoteOnlyPreview{margin-bottom:8px}.Pg1Ftq_detailBody>.Pg1Ftq_assistantContentRendered .Pg1Ftq_thinkingQuote{margin-top:14px}.Pg1Ftq_thinkingToggle{width:max-content;height:18px;color:var(--qilin-alias-label-tertiary);cursor:pointer;font:600 12px/18px var(--qilin-font-family);user-select:none;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:flex}.Pg1Ftq_thinkingChevron{transition:transform .12s var(--ds-ease-in-out);flex:none}.Pg1Ftq_thinkingToggle[aria-expanded=true] .Pg1Ftq_thinkingChevron{transform:rotate(90deg)}.Pg1Ftq_thinkingToggle:hover{color:var(--qilin-alias-label-secondary)}.Pg1Ftq_thinkingToggle:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_thinkingQuote .Pg1Ftq_markdownPreview,.Pg1Ftq_thinkingQuote .Pg1Ftq_markdownPayload,.Pg1Ftq_thinkingQuote .Pg1Ftq_payload{min-height:0;color:var(--qilin-alias-label-secondary);background:0 0;padding:2px 0}.Pg1Ftq_assistantOutput{background:var(--qilin-alias-bg-layer-1)}.Pg1Ftq_markdownPreview{padding:2px 14px 8px}.Pg1Ftq_markdownPayload{min-height:100%;padding:14px}.Pg1Ftq_jsonPayload{min-height:100%}.Pg1Ftq_jsonPreview{min-height:0}.Pg1Ftq_schema{background:var(--qilin-alias-bg-layer-1);min-height:100%}.Pg1Ftq_schemaPreview{min-height:0}.Pg1Ftq_schemaIntro{padding:12px 14px 6px}.Pg1Ftq_schemaPreview .Pg1Ftq_schemaIntro{padding-top:2px}.Pg1Ftq_schemaName{color:var(--qilin-alias-label-primary);font:600 12px/18px var(--ds-font-family-code);margin:0}.Pg1Ftq_schemaDescription{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-13);white-space:pre-wrap;margin:2px 0 0}.Pg1Ftq_schemaParameters{min-width:0}.Pg1Ftq_schemaParametersTitle{color:var(--qilin-alias-label-tertiary);font:600 11px/16px var(--qilin-font-family);user-select:none;margin:0;padding:4px 14px 2px}.Pg1Ftq_schemaTree{margin:0 6px 8px 0}.Pg1Ftq_payload{box-sizing:border-box;overflow-wrap:anywhere;min-height:100%;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-markdown-code-block);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;margin:0;padding:14px}.Pg1Ftq_payloadPreview{min-height:0;padding:2px 14px 8px}.Pg1Ftq_sourceBlocks{box-sizing:border-box;min-height:100%;padding:12px 14px}.Pg1Ftq_sourceBlock+.Pg1Ftq_sourceBlock{margin-top:14px}.Pg1Ftq_sourceBlockHeader,.Pg1Ftq_sourceBlockJumpTarget{user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Pg1Ftq_sourceBlockJumpTarget{all:unset;cursor:pointer;user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Pg1Ftq_sourceBlockLabel{color:var(--qilin-alias-label-tertiary);font:11px/16px var(--ds-font-family-code)}.Pg1Ftq_sourceBlockJumpIcon{color:var(--qilin-alias-label-caption);flex:none}.Pg1Ftq_sourceBlockJumpTarget:hover .Pg1Ftq_sourceBlockJumpIcon{color:var(--qilin-alias-label-primary)}.Pg1Ftq_sourceBlockJumpTarget:focus-visible{outline:none}.Pg1Ftq_sourceBlockJumpTarget:focus-visible .Pg1Ftq_sourceBlockJumpIcon{color:var(--qilin-alias-state-business-primary)}.Pg1Ftq_sourceBlockContent{overflow-wrap:anywhere;color:var(--qilin-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Pg1Ftq_messageImages{flex-direction:column;gap:8px;margin:8px 14px 14px;display:flex}.Pg1Ftq_attachments{flex-direction:column;gap:8px;margin:8px 14px 14px;padding:0;list-style:none;display:flex}.Pg1Ftq_attachmentsPreview{gap:6px;margin-block:6px 8px}.Pg1Ftq_attachmentRow{border:1px solid var(--qilin-alias-border-l2-darkmode-thin);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:8px;display:flex}.Pg1Ftq_attachmentIcon{flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.Pg1Ftq_attachmentInfo{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.Pg1Ftq_attachmentName{color:var(--qilin-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.Pg1Ftq_attachmentMetadata{color:var(--qilin-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.Pg1Ftq_attachmentDisclosure{border:1px solid var(--qilin-alias-border-l2-darkmode-thin);border-radius:8px;margin-block:8px}.Pg1Ftq_attachmentDisclosure>summary{cursor:pointer;padding:8px}.Pg1Ftq_attachmentDisclosure>summary .Pg1Ftq_attachmentName{display:block}.Pg1Ftq_attachmentDisclosure>summary:focus-visible{outline:var(--qilin-focus-ring-width) solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:2px}.Pg1Ftq_attachmentDisclosure>pre{padding:0 8px 8px}.Pg1Ftq_assistantToolCalls{box-sizing:border-box;max-width:100%;color:var(--qilin-alias-label-secondary);font:11px/17px var(--ds-font-family-code);margin:2px 14px 12px;padding:0;list-style:none}.Pg1Ftq_assistantToolCallsPreview{margin-top:2px;margin-bottom:8px}.Pg1Ftq_assistantToolCalls li{min-width:0}.Pg1Ftq_assistantToolCallButton{all:unset;box-sizing:border-box;cursor:pointer;border-radius:3px;align-items:center;width:calc(100% + 4px);min-width:0;height:19px;margin-left:-4px;padding:0 4px;display:flex}.Pg1Ftq_assistantToolCallButton:hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_assistantToolCallButton:focus-visible{background:var(--qilin-alias-interactive-bg-hover);outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_assistantToolCallIcon{color:var(--qilin-alias-label-caption);flex:none;margin-right:5px}.Pg1Ftq_assistantToolCallButton:hover .Pg1Ftq_assistantToolCallIcon,.Pg1Ftq_assistantToolCallButton:focus-visible .Pg1Ftq_assistantToolCallIcon{color:var(--qilin-alias-label-secondary)}.Pg1Ftq_assistantToolCallText{white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.Pg1Ftq_assistantToolCallName{color:var(--qilin-alias-label-secondary);flex:none;margin-right:5px;font-weight:500}.Pg1Ftq_assistantToolCallArgs{min-width:0;color:var(--qilin-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Pg1Ftq_systemPrompt{box-sizing:border-box}.Pg1Ftq_toolCatalog{min-height:100%;padding:8px 0 16px}.Pg1Ftq_toolCatalogItem{border-bottom:1px solid var(--qilin-alias-border-l1)}.Pg1Ftq_toolCatalogSummary{box-sizing:border-box;cursor:pointer;user-select:none;grid-template-columns:12px 12px max-content minmax(0,1fr);align-items:center;gap:5px;min-height:30px;padding:4px 12px;list-style:none;display:grid}.Pg1Ftq_toolCatalogSummary::-webkit-details-marker{display:none}.Pg1Ftq_toolCatalogSummary:hover{background:var(--qilin-alias-interactive-bg-hover)}.Pg1Ftq_toolCatalogSummary:focus-visible{background:var(--qilin-alias-interactive-bg-hover);outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.Pg1Ftq_toolCatalogChevron,.Pg1Ftq_toolCatalogIcon{color:var(--qilin-alias-label-caption)}.Pg1Ftq_toolCatalogChevron{transition:transform .1s var(--ds-ease-in-out)}.Pg1Ftq_toolCatalogItem[open] .Pg1Ftq_toolCatalogChevron{transform:rotate(90deg)}.Pg1Ftq_toolCatalogName{color:var(--qilin-alias-label-primary);font:500 12px/18px var(--ds-font-family-code)}.Pg1Ftq_toolCatalogDescription{min-width:0;color:var(--qilin-alias-label-tertiary);font:var(--qilin-font-xs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Pg1Ftq_toolCatalogDefinition{background:var(--qilin-alias-bg-base);padding:0 0 8px 29px}.Pg1Ftq_toolCatalogFullDescription{color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-13);white-space:pre-wrap;margin:0;padding:7px 14px 4px 0}.Pg1Ftq_toolCatalogTree{margin-left:-14px;margin-right:6px}.Pg1Ftq_resultBlocks{box-sizing:border-box;flex-direction:column;gap:10px;min-height:100%;padding:14px;display:flex}.Pg1Ftq_resultBlocksPreview{gap:6px;min-height:0;padding:2px 14px 8px}.Pg1Ftq_resultBlockText{overflow-wrap:anywhere;color:var(--qilin-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Pg1Ftq_overviewPreview .Pg1Ftq_noPayload{padding:2px 14px 0}.Pg1Ftq_noPayload{color:var(--qilin-alias-label-tertiary);font:var(--qilin-font-xs-13);margin:0;padding:18px 14px}@media (width<=760px){.Pg1Ftq_details{z-index:5;border-left-color:var(--qilin-alias-border-l3);width:min(92%,420px);max-width:92%;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000024}}.Pg1Ftq_toolUpdatePayload{white-space:pre;overflow-x:auto}";
|
|
4656
4667
|
const tagId$4 = "@qilin-agent/client-ui-trajectory/TrajectoryTable.module.css";
|
|
4657
4668
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
|
|
4658
4669
|
const tag = document.createElement("style");
|
|
@@ -4919,6 +4930,11 @@ window.__ModuleLoader__.load({
|
|
|
4919
4930
|
tool: (0, react_jsx_runtime.jsx)(ToolWrenchIcon, {}),
|
|
4920
4931
|
subtool: (0, react_jsx_runtime.jsx)(ToolWrenchIcon, {})
|
|
4921
4932
|
};
|
|
4933
|
+
const COLLAPSED_SUMMARY_LABEL_KEY = {
|
|
4934
|
+
turn: "request.collapsedTurn",
|
|
4935
|
+
assistant: "request.collapsedAssistant",
|
|
4936
|
+
tool: "request.collapsedTool"
|
|
4937
|
+
};
|
|
4922
4938
|
function useStableVirtualRowStructure(rows) {
|
|
4923
4939
|
const cache = (0, react.useRef)({
|
|
4924
4940
|
rows: [],
|
|
@@ -5206,7 +5222,7 @@ window.__ModuleLoader__.load({
|
|
|
5206
5222
|
}
|
|
5207
5223
|
return calls;
|
|
5208
5224
|
}
|
|
5209
|
-
function
|
|
5225
|
+
function summarizeCalls(records, t) {
|
|
5210
5226
|
const names = [...new Set(records.map((record) => {
|
|
5211
5227
|
const separator = record.cell.text.indexOf(" · ");
|
|
5212
5228
|
return separator === -1 ? record.cell.text : record.cell.text.slice(0, separator);
|
|
@@ -5215,17 +5231,17 @@ window.__ModuleLoader__.load({
|
|
|
5215
5231
|
const summary = t(count === 1 ? "summary.toolCalls.one" : "summary.toolCalls.other", { count });
|
|
5216
5232
|
return names.length > 0 ? `${summary} · ${names.join(", ")}` : summary;
|
|
5217
5233
|
}
|
|
5218
|
-
function
|
|
5234
|
+
function collapseCallRecords(records, collapsedIds, kind, t) {
|
|
5219
5235
|
const out = [];
|
|
5220
5236
|
for (let i = 0; i < records.length; i++) {
|
|
5221
5237
|
const record = records[i];
|
|
5222
5238
|
if (record === void 0) continue;
|
|
5223
5239
|
out.push(record);
|
|
5224
|
-
if (record.cell.kind !== "message" || !
|
|
5240
|
+
if (record.collapsedSummary !== void 0 || record.cell.kind !== (kind === "assistant" ? "message" : "tool") || !collapsedIds.has(trajectoryRecordId(record.cell))) continue;
|
|
5225
5241
|
const calls = [];
|
|
5226
5242
|
for (let j = i + 1; j < records.length; j++) {
|
|
5227
5243
|
const candidate = records[j];
|
|
5228
|
-
if (candidate === void 0 || candidate.collapsedSummary !== void 0 || candidate.cell.kind !== "tool" && candidate.cell.kind !== "subtool") break;
|
|
5244
|
+
if (candidate === void 0 || candidate.collapsedSummary !== void 0 || candidate.cell.kind !== "tool" && candidate.cell.kind !== "subtool" || kind === "tool" && candidate.cell.kind !== "subtool") break;
|
|
5229
5245
|
calls.push(candidate);
|
|
5230
5246
|
}
|
|
5231
5247
|
if (calls.length === 0) continue;
|
|
@@ -5239,8 +5255,8 @@ window.__ModuleLoader__.load({
|
|
|
5239
5255
|
groupStart: false,
|
|
5240
5256
|
turnStart: false,
|
|
5241
5257
|
turnEnd: last?.turnEnd ?? false,
|
|
5242
|
-
collapsedSummary:
|
|
5243
|
-
collapsedSummaryKind:
|
|
5258
|
+
collapsedSummary: summarizeCalls(calls, t),
|
|
5259
|
+
collapsedSummaryKind: kind
|
|
5244
5260
|
});
|
|
5245
5261
|
i += calls.length;
|
|
5246
5262
|
}
|
|
@@ -5826,7 +5842,7 @@ window.__ModuleLoader__.load({
|
|
|
5826
5842
|
preview ? TrajectoryTable_module_css_default.resultBlocksPreview : void 0,
|
|
5827
5843
|
error ? TrajectoryTable_module_css_default.errorPayload : void 0
|
|
5828
5844
|
].filter((value) => value !== void 0).join(" "),
|
|
5829
|
-
children: [error && errorDetail !== void 0 && errorDetail !== "" && (0, react_jsx_runtime.jsx)("pre", {
|
|
5845
|
+
children: [error && errorDetail !== void 0 && errorDetail !== "" && !blocks.some((block) => block.type === "text" && block.content !== "") && (0, react_jsx_runtime.jsx)("pre", {
|
|
5830
5846
|
className: TrajectoryTable_module_css_default.resultBlockText,
|
|
5831
5847
|
children: errorDetail
|
|
5832
5848
|
}), blocks.map((block, index) => block.attachment !== void 0 ? (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -5997,7 +6013,7 @@ window.__ModuleLoader__.load({
|
|
|
5997
6013
|
const error = direction === "output" && record.cell.isError === true;
|
|
5998
6014
|
const payloadClass = preview ? TrajectoryTable_module_css_default.jsonPreview : TrajectoryTable_module_css_default.jsonPayload;
|
|
5999
6015
|
const payloadClassName = error ? `${payloadClass} ${TrajectoryTable_module_css_default.errorPayload}` : payloadClass;
|
|
6000
|
-
const json = parseJsonContainer(value);
|
|
6016
|
+
const json = error ? void 0 : parseJsonContainer(value);
|
|
6001
6017
|
if (direction === "output" && record.cell.outputBlocks?.length === 1 && record.cell.outputBlocks[0]?.type === "text" && json !== void 0) return (0, react_jsx_runtime.jsx)(_qilin_agent_client_ui_primitives.JsonTree, {
|
|
6002
6018
|
data: json,
|
|
6003
6019
|
stringWrapping,
|
|
@@ -6302,7 +6318,7 @@ window.__ModuleLoader__.load({
|
|
|
6302
6318
|
* @param props - Grouped trajectory data and whole-ledger fold state.
|
|
6303
6319
|
* @returns The ledger and an optional local record inspector.
|
|
6304
6320
|
*/
|
|
6305
|
-
function TrajectoryTable({ t, stringWrapping, renderImages, requestNumbers: sessionRequestNumbers, turns, streamingCells = [], timelineFocusIndexes = null, searchMatchIndexes = null, onSelectedIndexChange, onRecordSelect, recordSelection = null, recordFocus = null, historyLoading = false, olderHistoryLoading = false, historyStartSeq, hasOlderRecords = false, onLoadOlder, onClearSelection, collapsedTurns, onToggleTurn, collapsedAssistants, onToggleAssistant, inspectCallId = null, onInspectApplied }) {
|
|
6321
|
+
function TrajectoryTable({ t, stringWrapping, renderImages, requestNumbers: sessionRequestNumbers, turns, streamingCells = [], timelineFocusIndexes = null, searchMatchIndexes = null, onSelectedIndexChange, onRecordSelect, recordSelection = null, recordFocus = null, historyLoading = false, olderHistoryLoading = false, historyStartSeq, hasOlderRecords = false, onLoadOlder, onClearSelection, collapsedTurns, onToggleTurn, collapsedAssistants, onToggleAssistant, collapsedTools, onToggleTool, inspectCallId = null, onInspectApplied }) {
|
|
6306
6322
|
const [selectedRecordId, setSelectedRecordId] = (0, react.useState)(null);
|
|
6307
6323
|
const [selectedRequest, setSelectedRequest] = (0, react.useState)(null);
|
|
6308
6324
|
const [activeTab, setActiveTab] = (0, react.useState)("overview");
|
|
@@ -6352,10 +6368,12 @@ window.__ModuleLoader__.load({
|
|
|
6352
6368
|
const records = (0, react.useMemo)(() => {
|
|
6353
6369
|
if (searchMatchIndexes !== null) return filterRecords(allRecords, searchMatchIndexes);
|
|
6354
6370
|
const turnRecords = collapsedTurns.size === 0 ? allRecords : collapseTurnRecords(allRecords, collapsedTurns, requestGroups, t);
|
|
6355
|
-
|
|
6371
|
+
const assistantRecords = collapsedAssistants.size === 0 ? turnRecords : collapseCallRecords(turnRecords, collapsedAssistants, "assistant", t);
|
|
6372
|
+
return collapsedTools.size === 0 ? assistantRecords : collapseCallRecords(assistantRecords, collapsedTools, "tool", t);
|
|
6356
6373
|
}, [
|
|
6357
6374
|
allRecords,
|
|
6358
6375
|
collapsedAssistants,
|
|
6376
|
+
collapsedTools,
|
|
6359
6377
|
collapsedTurns,
|
|
6360
6378
|
requestGroups,
|
|
6361
6379
|
searchMatchIndexes,
|
|
@@ -6495,6 +6513,15 @@ window.__ModuleLoader__.load({
|
|
|
6495
6513
|
const openRecordSummary = (target) => {
|
|
6496
6514
|
const targetAt = allRecords.findIndex((record) => record.cell.index === target.cell.index);
|
|
6497
6515
|
if (target.turn !== null && collapsedTurns.has(target.turn)) onToggleTurn(target.turn);
|
|
6516
|
+
if (target.cell.kind === "subtool") for (let i = targetAt - 1; i >= 0; i--) {
|
|
6517
|
+
const candidate = allRecords[i];
|
|
6518
|
+
if (candidate === void 0 || candidate.cell.kind === "subtool") continue;
|
|
6519
|
+
if (candidate.cell.kind === "tool") {
|
|
6520
|
+
const toolId = trajectoryRecordId(candidate.cell);
|
|
6521
|
+
if (collapsedTools.has(toolId)) onToggleTool(toolId);
|
|
6522
|
+
}
|
|
6523
|
+
break;
|
|
6524
|
+
}
|
|
6498
6525
|
if (target.cell.kind === "tool" || target.cell.kind === "subtool") for (let i = targetAt - 1; i >= 0; i--) {
|
|
6499
6526
|
const candidate = allRecords[i];
|
|
6500
6527
|
if (candidate === void 0 || candidate.turn !== target.turn) break;
|
|
@@ -6511,6 +6538,20 @@ window.__ModuleLoader__.load({
|
|
|
6511
6538
|
const target = allRecords.find((record) => record.cell.callId === callId);
|
|
6512
6539
|
if (target !== void 0) openRecordSummary(target);
|
|
6513
6540
|
};
|
|
6541
|
+
const expandSummary = (record, kind) => {
|
|
6542
|
+
switch (kind) {
|
|
6543
|
+
case "turn":
|
|
6544
|
+
if (record.turn !== null) onToggleTurn(record.turn);
|
|
6545
|
+
return;
|
|
6546
|
+
case "tool":
|
|
6547
|
+
onToggleTool(trajectoryRecordId(record.cell));
|
|
6548
|
+
return;
|
|
6549
|
+
case "assistant":
|
|
6550
|
+
onToggleAssistant(trajectoryRecordId(record.cell));
|
|
6551
|
+
return;
|
|
6552
|
+
default: assertNever(kind);
|
|
6553
|
+
}
|
|
6554
|
+
};
|
|
6514
6555
|
const openRecordSummaryRef = (0, react.useRef)(openRecordSummary);
|
|
6515
6556
|
openRecordSummaryRef.current = openRecordSummary;
|
|
6516
6557
|
(0, react.useEffect)(() => {
|
|
@@ -6736,7 +6777,8 @@ window.__ModuleLoader__.load({
|
|
|
6736
6777
|
cell: record.cell,
|
|
6737
6778
|
t,
|
|
6738
6779
|
children: ({ displayText, listDisplayText, resultText, toolCallOnly, toolCallText }) => {
|
|
6739
|
-
const
|
|
6780
|
+
const summaryKind = record.collapsedSummaryKind;
|
|
6781
|
+
const isCollapsedSummary = summaryKind !== void 0;
|
|
6740
6782
|
const isRequestOnly = record.cell.requestOnly === true;
|
|
6741
6783
|
const singleToolNotice = record.cell.kind === "context" && record.cell.sourceBlocks?.length === 1 && record.cell.sourceBlocks.every((block) => block.type === "tool-addition" || block.type === "tool-removal");
|
|
6742
6784
|
const isInitialSystem = record.cell.kind === "system" && record.cell.index === allRecords[0]?.cell.index;
|
|
@@ -6753,7 +6795,7 @@ window.__ModuleLoader__.load({
|
|
|
6753
6795
|
tabIndex: isRequestOnly || singleToolNotice ? -1 : 0,
|
|
6754
6796
|
"aria-rowindex": position + 1 + historyRowOffset,
|
|
6755
6797
|
"aria-label": isCollapsedSummary ? t("request.collapsedSummary", {
|
|
6756
|
-
kind: t(
|
|
6798
|
+
kind: t(COLLAPSED_SUMMARY_LABEL_KEY[summaryKind]),
|
|
6757
6799
|
summary: record.collapsedSummary
|
|
6758
6800
|
}) : isRequestOnly ? t("request.rowAriaCompaction", { request: request ?? "" }) : t("request.rowAria", {
|
|
6759
6801
|
request: request === void 0 ? "" : t("request.rowPrefix", { request }),
|
|
@@ -6776,8 +6818,7 @@ window.__ModuleLoader__.load({
|
|
|
6776
6818
|
"data-selected": !isCollapsedSummary && selectedIndex === record.cell.index || void 0,
|
|
6777
6819
|
"data-timeline-focus": isCollapsedSummary || timelineFocusIndexes === null ? void 0 : timelineFocusIndexes.has(record.cell.index) ? "inside" : "outside",
|
|
6778
6820
|
onClick: isRequestOnly || singleToolNotice ? void 0 : isCollapsedSummary ? () => {
|
|
6779
|
-
|
|
6780
|
-
else onToggleAssistant(trajectoryRecordId(record.cell));
|
|
6821
|
+
expandSummary(record, summaryKind);
|
|
6781
6822
|
} : () => {
|
|
6782
6823
|
selectRecord(record.cell.index);
|
|
6783
6824
|
},
|
|
@@ -6804,8 +6845,7 @@ window.__ModuleLoader__.load({
|
|
|
6804
6845
|
if (event.key !== "Enter" && event.key !== " ") return;
|
|
6805
6846
|
event.preventDefault();
|
|
6806
6847
|
if (isCollapsedSummary) {
|
|
6807
|
-
|
|
6808
|
-
else onToggleAssistant(trajectoryRecordId(record.cell));
|
|
6848
|
+
expandSummary(record, summaryKind);
|
|
6809
6849
|
return;
|
|
6810
6850
|
}
|
|
6811
6851
|
selectRecord(record.cell.index);
|
|
@@ -6926,7 +6966,7 @@ window.__ModuleLoader__.load({
|
|
|
6926
6966
|
}), (selectedRequestInfo !== void 0 || promptSelected || selected !== void 0 && selectedState !== void 0) && (0, react_jsx_runtime.jsxs)("aside", {
|
|
6927
6967
|
className: TrajectoryTable_module_css_default.details,
|
|
6928
6968
|
"aria-label": t("details.event"),
|
|
6929
|
-
style: detailsWidth === null ? void 0 : { width: detailsWidth },
|
|
6969
|
+
style: detailsWidth === null ? void 0 : { "--trajectory-details-width": `${detailsWidth}px` },
|
|
6930
6970
|
children: [
|
|
6931
6971
|
(0, react_jsx_runtime.jsx)("div", {
|
|
6932
6972
|
className: TrajectoryTable_module_css_default.detailsResizeHandle,
|
|
@@ -7424,7 +7464,7 @@ window.__ModuleLoader__.load({
|
|
|
7424
7464
|
}
|
|
7425
7465
|
//#endregion
|
|
7426
7466
|
//#region \0qilin-css:/home/runner/work/QiLin/QiLin/packages/client/ui-trajectory/src/client/TrajectoryToolbar.module.css.mjs
|
|
7427
|
-
const css$3 = "._6IPnna_root{z-index:4;box-sizing:border-box;width:100%;height:var(--qilin-trajectory-toolbar-height);border-bottom
|
|
7467
|
+
const css$3 = "._6IPnna_root{z-index:4;box-sizing:border-box;width:100%;min-height:var(--qilin-trajectory-toolbar-height);border-bottom:1px solid var(--qilin-alias-border-l2);background:var(--qilin-alias-bg-layer-1);flex:none;position:sticky;top:0}._6IPnna_inner{box-sizing:border-box;width:100%;min-height:var(--qilin-trajectory-toolbar-height);flex-wrap:wrap;align-items:center;gap:4px 8px;padding:4px 6px;display:flex}._6IPnna_actions{flex-wrap:wrap;flex:0 auto;align-items:center;gap:2px;min-width:0;display:flex}._6IPnna_toggle{height:20px;color:var(--qilin-alias-label-tertiary);cursor:pointer;font:var(--qilin-font-xxs-12);background:0 0;border:0;border-radius:3px;flex:none;align-items:center;gap:4px;padding:0 7px;display:inline-flex}._6IPnna_toggle:hover,._6IPnna_toggle[aria-pressed=true]{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-interactive-bg-hover)}._6IPnna_toggle:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:1px}._6IPnna_toggleIcon{stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:12px}._6IPnna_control{box-sizing:border-box;width:88px;height:20px;color:var(--qilin-alias-label-tertiary);cursor:pointer;font:var(--qilin-font-xxs-12);background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 5px;display:inline-flex}._6IPnna_control[hidden]{display:none}._6IPnna_control:hover:not(:disabled),._6IPnna_control[aria-checked=true],._6IPnna_control[aria-pressed=true]{color:var(--qilin-alias-label-primary)}._6IPnna_control:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:1px}._6IPnna_control:disabled{color:var(--qilin-alias-label-dimmed);cursor:not-allowed}._6IPnna_controlTrack{background:var(--qilin-alias-border-l2);width:20px;height:10px;transition:background-color .12s var(--ds-ease-in-out);border-radius:5px;flex:none;display:inline-block;position:relative}._6IPnna_controlThumb{corner-shape:round;background:var(--qilin-alias-bg-layer-1);width:6px;height:6px;transition:transform .12s var(--ds-ease-in-out);border-radius:50%;position:absolute;top:2px;left:2px}._6IPnna_controlTrack[data-on=true]{background:var(--qilin-alias-state-business-primary)}._6IPnna_controlTrack[data-on=true] ._6IPnna_controlThumb{transform:translate(10px)}._6IPnna_action{height:20px;color:var(--qilin-alias-label-tertiary);cursor:pointer;font:var(--qilin-font-xxs-12);background:0 0;border:0;border-radius:3px;flex:none;align-items:center;gap:4px;padding:0 5px;display:inline-flex}._6IPnna_action:hover{color:var(--qilin-alias-label-primary);background:var(--qilin-alias-interactive-bg-hover)}._6IPnna_action:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:1px}._6IPnna_actionIcon{color:var(--qilin-alias-label-tertiary);font:14px/14px var(--ds-font-family-code)}._6IPnna_search{border:1px solid var(--qilin-alias-border-l4);min-width:84px;height:22px;color:var(--qilin-alias-label-caption);background:var(--qilin-alias-bg-layer-2);border-radius:4px;flex:0 164px;align-items:center;gap:4px;margin-left:auto;padding:0 6px;display:flex}._6IPnna_search:hover{border-color:var(--qilin-alias-label-caption)}._6IPnna_search:focus-within{border-color:var(--qilin-alias-state-business-primary);background:var(--qilin-alias-bg-layer-1)}._6IPnna_searchIcon{flex:none}._6IPnna_searchInput{width:100%;min-width:0;color:var(--qilin-alias-label-primary);font:var(--qilin-font-xxs-12);background:0 0;border:0;outline:0;padding:0}._6IPnna_searchInput::placeholder{color:var(--qilin-alias-label-caption)}._6IPnna_searchInput::-webkit-search-cancel-button{cursor:pointer;width:12px;height:12px}";
|
|
7428
7468
|
const tagId$3 = "@qilin-agent/client-ui-trajectory/TrajectoryToolbar.module.css";
|
|
7429
7469
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
7430
7470
|
const tag = document.createElement("style");
|
|
@@ -7455,7 +7495,7 @@ window.__ModuleLoader__.load({
|
|
|
7455
7495
|
* @param props - rendered counts and whole-list fold state.
|
|
7456
7496
|
* @returns the toolbar element.
|
|
7457
7497
|
*/
|
|
7458
|
-
function TrajectoryToolbar({ actualDuration, onActualDurationChange, actualTime, onActualTimeChange, allTurnsCollapsed, onToggleAllTurns, allAssistantsCollapsed, onToggleAllAssistants, searchQuery, onSearchQueryChange, t }) {
|
|
7498
|
+
function TrajectoryToolbar({ actualDuration, onActualDurationChange, actualTime, onActualTimeChange, allTurnsCollapsed, onToggleAllTurns, allAssistantsCollapsed, onToggleAllAssistants, allSubCallsCollapsed, onToggleAllSubCalls, searchQuery, onSearchQueryChange, t }) {
|
|
7459
7499
|
return (0, react_jsx_runtime.jsx)("div", {
|
|
7460
7500
|
className: TrajectoryToolbar_module_css_default.root,
|
|
7461
7501
|
role: "toolbar",
|
|
@@ -7527,6 +7567,19 @@ window.__ModuleLoader__.load({
|
|
|
7527
7567
|
"aria-hidden": "true",
|
|
7528
7568
|
children: allAssistantsCollapsed ? "⊞" : "⊟"
|
|
7529
7569
|
}), t("toolbar.calls")]
|
|
7570
|
+
}),
|
|
7571
|
+
(0, react_jsx_runtime.jsxs)("button", {
|
|
7572
|
+
type: "button",
|
|
7573
|
+
className: TrajectoryToolbar_module_css_default.action,
|
|
7574
|
+
"aria-label": allSubCallsCollapsed ? t("toolbar.expandSubCalls") : t("toolbar.collapseSubCalls"),
|
|
7575
|
+
"aria-pressed": allSubCallsCollapsed,
|
|
7576
|
+
title: allSubCallsCollapsed ? t("toolbar.expandSubCalls") : t("toolbar.collapseSubCalls"),
|
|
7577
|
+
onClick: onToggleAllSubCalls,
|
|
7578
|
+
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
7579
|
+
className: TrajectoryToolbar_module_css_default.actionIcon,
|
|
7580
|
+
"aria-hidden": "true",
|
|
7581
|
+
children: allSubCallsCollapsed ? "⊞" : "⊟"
|
|
7582
|
+
}), t("toolbar.subCalls")]
|
|
7530
7583
|
})
|
|
7531
7584
|
]
|
|
7532
7585
|
}), (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -7677,7 +7730,7 @@ window.__ModuleLoader__.load({
|
|
|
7677
7730
|
}
|
|
7678
7731
|
//#endregion
|
|
7679
7732
|
//#region \0qilin-css:/home/runner/work/QiLin/QiLin/packages/client/ui-trajectory/src/client/TrajectoryTimeline.module.css.mjs
|
|
7680
|
-
const css$2 = ".wYdfba_root{z-index:1;isolation:isolate;border-bottom
|
|
7733
|
+
const css$2 = ".wYdfba_root{z-index:1;isolation:isolate;border-bottom:1px solid var(--qilin-alias-border-l2);user-select:none;flex:none;position:relative}.wYdfba_root [role=tooltip]{font:var(--qilin-font-xxxs-11)}.wYdfba_plot{background:var(--qilin-alias-bg-layer-2);grid-template-columns:44px minmax(0,1fr);height:50px;display:grid;overflow:hidden}.wYdfba_labels{border-right:1px solid var(--qilin-alias-border-l1);color:var(--qilin-alias-label-caption);font:var(--qilin-font-xs-13);font-size:10px;line-height:1;position:relative}.wYdfba_labels span{text-align:right;justify-content:flex-end;align-items:center;height:8px;display:flex;position:absolute;right:3px}.wYdfba_labels span:first-child{top:7px}.wYdfba_labels span:nth-child(2){top:21px}.wYdfba_labels span:nth-child(3){top:35px}.wYdfba_track{cursor:crosshair;touch-action:none;position:relative;overflow:hidden}.wYdfba_track[data-panning=true]{cursor:grabbing}.wYdfba_earlierHistory{z-index:5;appearance:none;box-sizing:border-box;background:linear-gradient(to right, var(--qilin-alias-bg-layer-2) 0, var(--qilin-alias-bg-layer-2) 38%, transparent 100%);width:28px;color:var(--qilin-alias-label-secondary);font:var(--qilin-font-xs-13);opacity:.72;cursor:pointer;border:0;outline:none;justify-content:flex-start;align-items:center;padding-left:3px;line-height:1;display:flex;position:absolute;top:0;bottom:0;left:0}.wYdfba_earlierHistory:hover{opacity:1}.wYdfba_earlierHistory[aria-disabled=true]{cursor:default}.wYdfba_earlierHistory:focus-visible{box-shadow:inset 0 0 0 1px var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary))}.wYdfba_empty{color:var(--qilin-alias-label-caption);font:var(--qilin-font-xs-13);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.wYdfba_track:focus-visible{outline:1px solid var(--qilin-focus-ring-color,var(--qilin-alias-state-business-primary));outline-offset:-1px}.wYdfba_lanes{z-index:2;top:7px;bottom:7px;left:var(--trajectory-domain-left);width:var(--trajectory-domain-width);position:absolute}.wYdfba_turnBoundaries{z-index:3;top:0;bottom:0;left:var(--trajectory-domain-left);width:var(--trajectory-domain-width);pointer-events:none;position:absolute}@media (prefers-reduced-motion:no-preference){.wYdfba_lanes[data-animate-viewport=true],.wYdfba_turnBoundaries[data-animate-viewport=true]{transition:left .18s ease-out}}.wYdfba_turnBoundary{top:0;bottom:0;left:var(--trajectory-turn-left);background:var(--qilin-alias-border-l2);width:1px;position:absolute}.wYdfba_span{top:calc(var(--trajectory-span-lane) * 14px);left:calc(var(--trajectory-span-left) + var(--trajectory-span-gap));width:max(2px, calc(var(--trajectory-span-width) - var(--trajectory-span-gap) - var(--trajectory-span-gap)));background:var(--qilin-alias-label-secondary);opacity:.78;border-radius:1px;min-width:2px;height:8px;position:absolute}.wYdfba_span[data-timeline-span=user]{background:var(--qilin-alias-state-business-primary)}.wYdfba_span[data-timeline-span=context]{background:color-mix(in srgb, var(--qilin-alias-state-success-primary) 68%, var(--qilin-alias-label-secondary))}.wYdfba_span[data-timeline-span=message]{--trajectory-assistant-decoding-color:color-mix(in srgb, var(--qilin-alias-brand-primary-new-colorprimary-new-color) 60%, var(--qilin-alias-state-error-secondary));--trajectory-assistant-ttft-color:color-mix(in srgb, var(--trajectory-assistant-decoding-color) 54%, var(--qilin-alias-bg-layer-2));background:var(--trajectory-assistant-decoding-color);opacity:1}.wYdfba_span[data-timeline-span=message][data-assistant-timing=true]{background:linear-gradient(to right, var(--trajectory-assistant-ttft-color) 0, var(--trajectory-assistant-ttft-color) var(--trajectory-assistant-ttft), var(--trajectory-assistant-decoding-color) var(--trajectory-assistant-ttft), var(--trajectory-assistant-decoding-color) 100%)}.wYdfba_span[data-timeline-span=tool],.wYdfba_span[data-timeline-span=subtool]{background:var(--qilin-alias-state-warn-label);opacity:1}.wYdfba_span[data-error=true]{background:var(--qilin-alias-state-error-primary)}.wYdfba_span[data-equal-duration=true]{width:8px;min-width:8px}.wYdfba_span[data-selected=false]{opacity:.2}.wYdfba_span[data-hovered=true]:not([data-current=true]){z-index:1;opacity:1;box-shadow:0 0 0 1px var(--qilin-alias-bg-layer-2), 0 0 0 2px color-mix(in srgb, var(--qilin-alias-state-business-primary) 80%, transparent)}.wYdfba_span[data-current=true]{z-index:1;opacity:1;box-shadow:0 0 0 1px var(--qilin-alias-bg-layer-2), 0 0 0 2px var(--qilin-alias-state-business-primary)}.wYdfba_span[data-search-match=false]{opacity:.14}.wYdfba_selection{z-index:1;top:0;bottom:0;left:var(--trajectory-selection-left);width:var(--trajectory-selection-width);background:color-mix(in srgb, var(--qilin-alias-state-business-primary) 12%, transparent);min-width:1px;box-shadow:-100vw 0 0 100vw color-mix(in srgb, var(--qilin-alias-bg-layer-1) 58%, transparent), 100vw 0 0 100vw color-mix(in srgb, var(--qilin-alias-bg-layer-1) 58%, transparent);pointer-events:none;position:absolute}.wYdfba_selectionEdges{z-index:4;top:0;bottom:0;left:var(--trajectory-selection-left);width:var(--trajectory-selection-width);pointer-events:none;min-width:1px;position:absolute}.wYdfba_hoverLine{z-index:4;top:0;bottom:0;left:clamp(0px, calc(var(--trajectory-hover-left) - 1px), calc(100% - 2px));background:var(--qilin-alias-state-business-primary);pointer-events:none;width:2px;position:absolute}.wYdfba_selectionEdges:before,.wYdfba_selectionEdges:after{background:var(--qilin-alias-state-business-primary);content:\"\";width:3px;position:absolute;top:0;bottom:0}.wYdfba_selectionEdges:before{left:0}.wYdfba_selectionEdges:after{right:0}.wYdfba_selectionEdges[data-dragging=true]:before,.wYdfba_selectionEdges[data-dragging=true]:after{width:2px}.wYdfba_selection[data-dragging=true]{background:color-mix(in srgb, var(--qilin-alias-state-business-primary) 18%, transparent)}";
|
|
7681
7734
|
const tagId$2 = "@qilin-agent/client-ui-trajectory/TrajectoryTimeline.module.css";
|
|
7682
7735
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
|
|
7683
7736
|
const tag = document.createElement("style");
|
|
@@ -8961,11 +9014,11 @@ window.__ModuleLoader__.load({
|
|
|
8961
9014
|
};
|
|
8962
9015
|
}
|
|
8963
9016
|
function summarizeResult(node, t) {
|
|
8964
|
-
if (node.isError) return { result: node.error?.code ?? "error" };
|
|
8965
9017
|
for (const block of node.content) if (block.type === "text" && typeof block.text === "string" && block.text !== "") return {
|
|
8966
9018
|
result: "",
|
|
8967
9019
|
resultPreviewMarkdown: block.text
|
|
8968
9020
|
};
|
|
9021
|
+
if (node.isError) return { result: node.error?.code ?? "error" };
|
|
8969
9022
|
const images = imageBlockCount(node.content);
|
|
8970
9023
|
if (images > 0) return { result: t("layout.imageCount", { count: images }) };
|
|
8971
9024
|
return { result: t("record.noOutput") };
|
|
@@ -8977,9 +9030,9 @@ window.__ModuleLoader__.load({
|
|
|
8977
9030
|
};
|
|
8978
9031
|
}
|
|
8979
9032
|
function detailResult(node, t) {
|
|
8980
|
-
if (node.isError) return node.error === void 0 ? "error" : `${node.error.name}: ${node.error.code}`;
|
|
8981
9033
|
const text = node.content.filter((block) => block.type === "text" && typeof block.text === "string").map((block) => block.type === "text" ? block.text : "").join("\n");
|
|
8982
|
-
if (text !== "") return text;
|
|
9034
|
+
if (text !== "" && (!node.isError || node.content.some((block) => block.type === "text" && typeof block.text === "string" && block.text !== ""))) return text;
|
|
9035
|
+
if (node.isError) return node.error === void 0 ? "error" : `${node.error.name}: ${node.error.code}`;
|
|
8983
9036
|
const images = imageBlockCount(node.content);
|
|
8984
9037
|
if (images > 0) return t("layout.imageCount", { count: images });
|
|
8985
9038
|
if (node.content.length === 0 || node.content.every((block) => block.type === "text" && (typeof block.text !== "string" || block.text === ""))) return t("record.noOutput");
|
|
@@ -9187,6 +9240,7 @@ window.__ModuleLoader__.load({
|
|
|
9187
9240
|
loadImage
|
|
9188
9241
|
}), [loadImage, renderSlot]);
|
|
9189
9242
|
const [collapsedAssistants, setCollapsedAssistants] = (0, react.useState)(EMPTY_RECORD_IDS);
|
|
9243
|
+
const [collapsedTools, setCollapsedTools] = (0, react.useState)(EMPTY_RECORD_IDS);
|
|
9190
9244
|
const [timelineSelection, setTimelineSelection] = (0, react.useState)(null);
|
|
9191
9245
|
const actualDuration = useDuration((value) => value);
|
|
9192
9246
|
const [actualTime, setActualTime] = (0, react.useState)(false);
|
|
@@ -9446,6 +9500,8 @@ window.__ModuleLoader__.load({
|
|
|
9446
9500
|
return ids;
|
|
9447
9501
|
}, [timelineTurns]);
|
|
9448
9502
|
const allAssistantsCollapsed = collapsibleAssistantIds.length > 0 && collapsibleAssistantIds.every((index) => collapsedAssistants.has(index));
|
|
9503
|
+
const collapsibleToolIds = (0, react.useMemo)(() => timelineTurns.flatMap((turn) => turn.groups.flatMap((group) => group.cells.flatMap((cell, index) => cell.kind === "tool" && group.cells[index + 1]?.kind === "subtool" ? [trajectoryRecordId(cell)] : []))), [timelineTurns]);
|
|
9504
|
+
const allSubCallsCollapsed = collapsibleToolIds.length > 0 && collapsibleToolIds.every((id) => collapsedTools.has(id));
|
|
9449
9505
|
const toggleTurn = (turn) => {
|
|
9450
9506
|
setCollapsedTurns((current) => {
|
|
9451
9507
|
const collapsed = new Set(current);
|
|
@@ -9478,6 +9534,22 @@ window.__ModuleLoader__.load({
|
|
|
9478
9534
|
return collapsed;
|
|
9479
9535
|
});
|
|
9480
9536
|
};
|
|
9537
|
+
const toggleTool = (id) => {
|
|
9538
|
+
setCollapsedTools((current) => {
|
|
9539
|
+
const collapsed = new Set(current);
|
|
9540
|
+
if (collapsed.has(id)) collapsed.delete(id);
|
|
9541
|
+
else collapsed.add(id);
|
|
9542
|
+
return collapsed;
|
|
9543
|
+
});
|
|
9544
|
+
};
|
|
9545
|
+
const toggleAllSubCalls = () => {
|
|
9546
|
+
setCollapsedTools((current) => {
|
|
9547
|
+
const collapsed = new Set(current);
|
|
9548
|
+
if (allSubCallsCollapsed) for (const id of collapsibleToolIds) collapsed.delete(id);
|
|
9549
|
+
else for (const id of collapsibleToolIds) collapsed.add(id);
|
|
9550
|
+
return collapsed;
|
|
9551
|
+
});
|
|
9552
|
+
};
|
|
9481
9553
|
const loadEarlierHistory = (0, react.useCallback)(async () => {
|
|
9482
9554
|
if (!hasResidentOlderHistory && !await loadOlder()) return false;
|
|
9483
9555
|
setHistoryNodeLimit((limit) => limit + HISTORY_PAGE_NODES);
|
|
@@ -9501,6 +9573,8 @@ window.__ModuleLoader__.load({
|
|
|
9501
9573
|
onToggleAllTurns: toggleAllTurns,
|
|
9502
9574
|
allAssistantsCollapsed,
|
|
9503
9575
|
onToggleAllAssistants: toggleAllAssistants,
|
|
9576
|
+
allSubCallsCollapsed,
|
|
9577
|
+
onToggleAllSubCalls: toggleAllSubCalls,
|
|
9504
9578
|
searchQuery,
|
|
9505
9579
|
onSearchQueryChange: setSearchQuery,
|
|
9506
9580
|
t
|
|
@@ -9548,6 +9622,8 @@ window.__ModuleLoader__.load({
|
|
|
9548
9622
|
onToggleTurn: toggleTurn,
|
|
9549
9623
|
collapsedAssistants,
|
|
9550
9624
|
onToggleAssistant: toggleAssistant,
|
|
9625
|
+
collapsedTools,
|
|
9626
|
+
onToggleTool: toggleTool,
|
|
9551
9627
|
inspectCallId,
|
|
9552
9628
|
onInspectApplied: completeViewRequest
|
|
9553
9629
|
})
|
|
@@ -10619,7 +10695,7 @@ window.__ModuleLoader__.load({
|
|
|
10619
10695
|
}
|
|
10620
10696
|
//#endregion
|
|
10621
10697
|
//#region \0qilin-css:/home/runner/work/QiLin/QiLin/packages/client/ui-trajectory/src/client/TrajectoryGraphView.module.css.mjs
|
|
10622
|
-
const css = ".PKVdPa_root{box-sizing:border-box;width:100%;height:100%;min-height:0;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-1);--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2);flex-direction:column;display:flex;overflow:hidden}.PKVdPa_toolbar{border-bottom:.5px solid var(--qilin-alias-border-l2);flex:none;align-items:center;gap:4px;height:32px;padding:0 8px;display:flex}.PKVdPa_tool{width:22px;height:22px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.PKVdPa_tool:hover{background:var(--qilin-alias-interactive-bg-hover);color:var(--qilin-alias-label-primary)}.PKVdPa_tool[aria-pressed=true]{background:var(--qilin-alias-interactive-bg-active);color:var(--qilin-alias-brand-primary)}.PKVdPa_spacer{flex:1}.PKVdPa_stat{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);white-space:nowrap;line-height:1}.PKVdPa_legend{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);flex:none;align-items:center;gap:12px;padding:4px 10px;display:flex}.PKVdPa_legendChips{flex-wrap:wrap;flex:auto;align-items:center;gap:4px 12px;min-width:0;display:flex}.PKVdPa_legendItem{white-space:nowrap;flex:none;align-items:center;gap:4px;display:inline-flex}.PKVdPa_legendDot{background:var(--graph-lane);border-radius:2px;width:8px;height:8px}.PKVdPa_laneInput{--graph-lane:var(--qilin-alias-label-tertiary)}.PKVdPa_laneModel{--graph-lane:var(--qilin-alias-brand-primary)}.PKVdPa_laneTool{--graph-lane:var(--qilin-alias-state-business-primary)}.PKVdPa_canvas{background-image:radial-gradient(var(--qilin-alias-border-l2) 1px, transparent 0);background-size:18px 18px;flex:1;min-height:0;position:relative;overflow:auto}.PKVdPa_svg{margin-inline:auto;display:block}.PKVdPa_band{fill:color-mix(in srgb, var(--qilin-alias-bg-layer-2) 55%, transparent)}.PKVdPa_bandLabel{fill:var(--qilin-alias-label-secondary);letter-spacing:.2px;font-size:10px;font-weight:500}.PKVdPa_laneRail{stroke:var(--qilin-alias-border-l2);stroke-dasharray:.5 6;stroke-linecap:round}.PKVdPa_edge{fill:none;stroke:var(--qilin-alias-border-l3);stroke-width:1.4px;stroke-linecap:round;opacity:.9}.PKVdPa_edgeArrowBody{fill:var(--qilin-alias-border-l3)}.PKVdPa_edgeArrowBody[data-kind=prompt]{fill:var(--qilin-alias-label-tertiary)}.PKVdPa_edgeArrowBody[data-kind=result]{fill:var(--qilin-alias-brand-primary)}.PKVdPa_edgeArrowBody[data-kind=dispatch]{fill:var(--qilin-alias-state-business-primary)}.PKVdPa_edgeArrowBody[data-kind=subcall]{fill:var(--qilin-alias-label-secondary)}.PKVdPa_edgeArrowBody[data-kind=loop]{fill:var(--qilin-alias-state-warn-primary)}.PKVdPa_edgePrompt{stroke:var(--qilin-alias-label-tertiary)}.PKVdPa_edgeResult{stroke:var(--qilin-alias-brand-primary)}.PKVdPa_edgeDispatch{stroke:var(--qilin-alias-state-business-primary)}.PKVdPa_edgeSubcall{stroke:var(--qilin-alias-label-secondary);stroke-dasharray:3 3}.PKVdPa_edgeLoop{stroke:var(--qilin-alias-state-warn-primary)}.PKVdPa_edgeLive{stroke:var(--qilin-alias-state-success-primary);stroke-dasharray:5 4;animation:.9s linear infinite PKVdPa_qilin-trajectory-graph-flow}.PKVdPa_edgeSelected{stroke-width:2.2px}.PKVdPa_node{cursor:pointer}.PKVdPa_node[data-kind=system],.PKVdPa_node[data-kind=compaction]{--node-accent:var(--qilin-alias-label-tertiary)}.PKVdPa_node[data-kind=user]{--node-accent:var(--qilin-alias-brand-primary)}.PKVdPa_node[data-kind=steering],.PKVdPa_node[data-kind=compact-request],.PKVdPa_node[data-kind=running-call],.PKVdPa_node[data-kind=retry]{--node-accent:var(--qilin-alias-state-warn-primary)}.PKVdPa_node[data-kind=context]{--node-accent:var(--qilin-alias-label-secondary)}.PKVdPa_node[data-kind=command],.PKVdPa_node[data-kind=assistant]{--node-accent:var(--qilin-alias-state-business-primary)}.PKVdPa_node[data-kind=request],.PKVdPa_node[data-kind=partial]{--node-accent:var(--qilin-alias-state-success-primary)}.PKVdPa_node[data-kind=tool]{--node-accent:var(--qilin-alias-link)}.PKVdPa_node[data-kind=error],.PKVdPa_node[data-kind=max-tokens]{--node-accent:var(--qilin-alias-state-error-primary)}.PKVdPa_node[data-kind=unknown]{--node-accent:var(--qilin-alias-label-dimmed)}.PKVdPa_nodeRect{fill:var(--qilin-alias-bg-layer-2);stroke:var(--qilin-alias-border-l3);stroke-width:1px;transition:stroke .12s var(--ds-ease-in-out)}.PKVdPa_nodeAccent{fill:var(--node-accent)}.PKVdPa_nodeLabel{fill:var(--qilin-alias-label-primary);font-size:11px;font-weight:500}.PKVdPa_nodeBadge{fill:var(--qilin-alias-label-tertiary);font-size:9px}.PKVdPa_nodeLive .PKVdPa_nodeRect{animation:1.4s ease-in-out infinite PKVdPa_qilin-trajectory-graph-pulse}.PKVdPa_nodeHot .PKVdPa_nodeRect{stroke:var(--qilin-alias-brand-primary);stroke-width:1.6px}.PKVdPa_nodeDim{opacity:.28}.PKVdPa_nodeCountImg{fill:var(--qilin-alias-state-warn-primary)}.PKVdPa_nodeCountFile{fill:var(--qilin-alias-label-tertiary)}.PKVdPa_nodeCountText{fill:var(--qilin-alias-bg-layer-1);font-size:7.5px;font-weight:600}.PKVdPa_packetHot{fill:var(--qilin-alias-brand-primary)}.PKVdPa_liveDot{corner-shape:round;background:var(--qilin-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px;animation:1.4s ease-in-out infinite PKVdPa_qilin-trajectory-graph-pulse}.PKVdPa_paused .PKVdPa_edgeLive,.PKVdPa_paused .PKVdPa_nodeLive .PKVdPa_nodeRect,.PKVdPa_paused .PKVdPa_liveDot{animation-play-state:paused}@keyframes PKVdPa_qilin-trajectory-graph-flow{0%{stroke-dashoffset:18px}to{stroke-dashoffset:0}}@keyframes PKVdPa_qilin-trajectory-graph-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.PKVdPa_edgeLive,.PKVdPa_nodeLive .PKVdPa_nodeRect,.PKVdPa_liveDot{animation:none}}.PKVdPa_note{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);flex:none;padding:4px 10px}.PKVdPa_empty{font-size:var(--qilin-font-xs-13-font-size);color:var(--qilin-alias-label-tertiary);flex:1;justify-content:center;align-items:center;display:flex}.PKVdPa_inspector{border-top:.5px solid var(--qilin-alias-border-l2);background:var(--qilin-alias-bg-layer-2);flex:none;max-height:40%;padding:8px 10px;overflow:auto}.PKVdPa_inspectorHead{align-items:center;gap:6px;display:flex}.PKVdPa_inspectorKind{font-size:var(--qilin-font-xxs-strong-12-font-size);color:var(--qilin-alias-label-primary)}.PKVdPa_inspectorLane{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary)}.PKVdPa_inspectorStatus{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary)}.PKVdPa_inspectorStatus[data-status=error]{color:var(--qilin-alias-state-error-primary)}.PKVdPa_inspectorStatus[data-status=running]{color:var(--qilin-alias-state-success-primary)}.PKVdPa_inspectorMeta{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);margin-top:4px}.PKVdPa_inspectorSection{margin-top:6px}.PKVdPa_inspectorLabel{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);display:block}.PKVdPa_inspectorBody{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);white-space:pre-wrap;word-break:break-word;margin:2px 0 0}.PKVdPa_glyph{font-size:13px;line-height:1}.PKVdPa_tool:disabled{opacity:.4;cursor:default}.PKVdPa_canvasDragging{cursor:grabbing;user-select:none}.PKVdPa_edgeHit{fill:none;stroke:#0000;stroke-width:9px;pointer-events:stroke;cursor:pointer}.PKVdPa_edgeDim{opacity:.2}.PKVdPa_edgeHot{stroke-width:2.2px}.PKVdPa_edgeKindHot{stroke-width:2.2px;opacity:1}.PKVdPa_legendEdge{font:inherit;color:var(--qilin-alias-label-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:4px;padding:0;display:inline-flex}.PKVdPa_legendEdge:hover{color:var(--qilin-alias-label-primary)}.PKVdPa_legendEdge[aria-pressed=true]{color:var(--qilin-alias-label-primary);text-underline-offset:2px;text-decoration:underline}.PKVdPa_legendEdgeDot{background:var(--qilin-alias-border-l3);border-radius:1px;width:10px;height:2.5px}.PKVdPa_legendEdgeDot[data-kind=prompt]{background:var(--qilin-alias-label-tertiary)}.PKVdPa_legendEdgeDot[data-kind=result]{background:var(--qilin-alias-brand-primary)}.PKVdPa_legendEdgeDot[data-kind=dispatch]{background:var(--qilin-alias-state-business-primary)}.PKVdPa_legendEdgeDot[data-kind=subcall]{background:repeating-linear-gradient(90deg, var(--qilin-alias-label-secondary) 0 2px, transparent 2px 4px)}.PKVdPa_legendEdgeDot[data-kind=loop]{background:var(--qilin-alias-state-warn-primary)}.PKVdPa_legendEdgeHint{color:var(--qilin-alias-label-dimmed)}.PKVdPa_search{border:.5px solid var(--qilin-alias-border-l4);min-width:76px;height:22px;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-2);font:var(--qilin-font-xxxs-11);border-radius:4px;flex:0 150px;padding:0 6px}.PKVdPa_search::placeholder{color:var(--qilin-alias-label-caption)}.PKVdPa_search:focus{border-color:var(--qilin-alias-state-business-primary);background:var(--qilin-alias-bg-layer-1);outline:none}.PKVdPa_searchCount{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);white-space:nowrap;flex:none}.PKVdPa_searchNone{color:var(--qilin-alias-state-error-primary)}.PKVdPa_attachments{margin-top:6px}.PKVdPa_attachment{align-items:center;gap:6px;margin-top:4px;display:flex}.PKVdPa_attachmentIcon{width:26px;height:26px;color:var(--qilin-alias-label-tertiary);background:var(--qilin-alias-bg-layer-3);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.PKVdPa_attachmentThumb{background:var(--qilin-alias-bg-layer-3);cursor:zoom-in;border:0;border-radius:4px;flex:none;width:26px;height:26px;padding:0}.PKVdPa_attachmentThumb img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.PKVdPa_attachmentText{flex-direction:column;min-width:0;display:flex}.PKVdPa_attachmentName{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.PKVdPa_attachmentMeta{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.PKVdPa_inspectorMarkdown{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);margin-top:6px}.PKVdPa_toolBody{margin-top:6px}.PKVdPa_toolHead{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.PKVdPa_toolName{font-size:var(--qilin-font-xxs-strong-12-font-size);color:var(--qilin-alias-label-primary)}.PKVdPa_toolCallId{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);word-break:break-all}.PKVdPa_toolError{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-state-error-primary)}.PKVdPa_toolPending{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-state-warn-primary)}.PKVdPa_toolArgs{margin-top:4px}.PKVdPa_toolArgs summary{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);cursor:pointer}.PKVdPa_toolResult{margin-top:4px}.PKVdPa_toolResultLabel{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary)}.PKVdPa_toolResult .PKVdPa_inspectorBody[data-error=true]{color:var(--qilin-alias-state-error-primary)}";
|
|
10698
|
+
const css = ".PKVdPa_root{box-sizing:border-box;width:100%;height:100%;min-height:0;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-1);--qilin-scrollbar-thumb:var(--qilin-alias-scrollbar-bg-l2);--qilin-scrollbar-thumb-hover:var(--qilin-alias-scrollbar-hover-l2);flex-direction:column;display:flex;overflow:hidden}.PKVdPa_toolbar{border-bottom:1px solid var(--qilin-alias-border-l2);flex:none;align-items:center;gap:4px;height:32px;padding:0 8px;display:flex}.PKVdPa_tool{width:22px;height:22px;color:var(--qilin-alias-label-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.PKVdPa_tool:hover{background:var(--qilin-alias-interactive-bg-hover);color:var(--qilin-alias-label-primary)}.PKVdPa_tool[aria-pressed=true]{background:var(--qilin-alias-interactive-bg-active);color:var(--qilin-alias-brand-primary)}.PKVdPa_spacer{flex:1}.PKVdPa_stat{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);white-space:nowrap;line-height:1}.PKVdPa_legend{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);flex:none;align-items:center;gap:12px;padding:4px 10px;display:flex}.PKVdPa_legendChips{flex-wrap:wrap;flex:auto;align-items:center;gap:4px 12px;min-width:0;display:flex}.PKVdPa_legendItem{white-space:nowrap;flex:none;align-items:center;gap:4px;display:inline-flex}.PKVdPa_legendDot{background:var(--graph-lane);border-radius:2px;width:8px;height:8px}.PKVdPa_laneInput{--graph-lane:var(--qilin-alias-label-tertiary)}.PKVdPa_laneModel{--graph-lane:var(--qilin-alias-brand-primary)}.PKVdPa_laneTool{--graph-lane:var(--qilin-alias-state-business-primary)}.PKVdPa_canvas{background-image:radial-gradient(var(--qilin-alias-border-l2) 1px, transparent 0);background-size:18px 18px;flex:1;min-height:0;position:relative;overflow:auto}.PKVdPa_svg{margin-inline:auto;display:block}.PKVdPa_band{fill:color-mix(in srgb, var(--qilin-alias-bg-layer-2) 55%, transparent)}.PKVdPa_bandLabel{fill:var(--qilin-alias-label-secondary);letter-spacing:.2px;font-size:10px;font-weight:500}.PKVdPa_laneRail{stroke:var(--qilin-alias-border-l2);stroke-dasharray:.5 6;stroke-linecap:round}.PKVdPa_edge{fill:none;stroke:var(--qilin-alias-border-l3);stroke-width:1.4px;stroke-linecap:round;opacity:.9}.PKVdPa_edgeArrowBody{fill:var(--qilin-alias-border-l3)}.PKVdPa_edgeArrowBody[data-kind=prompt]{fill:var(--qilin-alias-label-tertiary)}.PKVdPa_edgeArrowBody[data-kind=result]{fill:var(--qilin-alias-brand-primary)}.PKVdPa_edgeArrowBody[data-kind=dispatch]{fill:var(--qilin-alias-state-business-primary)}.PKVdPa_edgeArrowBody[data-kind=subcall]{fill:var(--qilin-alias-label-secondary)}.PKVdPa_edgeArrowBody[data-kind=loop]{fill:var(--qilin-alias-state-warn-primary)}.PKVdPa_edgePrompt{stroke:var(--qilin-alias-label-tertiary)}.PKVdPa_edgeResult{stroke:var(--qilin-alias-brand-primary)}.PKVdPa_edgeDispatch{stroke:var(--qilin-alias-state-business-primary)}.PKVdPa_edgeSubcall{stroke:var(--qilin-alias-label-secondary);stroke-dasharray:3 3}.PKVdPa_edgeLoop{stroke:var(--qilin-alias-state-warn-primary)}.PKVdPa_edgeLive{stroke:var(--qilin-alias-state-success-primary);stroke-dasharray:5 4;animation:.9s linear infinite PKVdPa_qilin-trajectory-graph-flow}.PKVdPa_edgeSelected{stroke-width:2.2px}.PKVdPa_node{cursor:pointer}.PKVdPa_node[data-kind=system],.PKVdPa_node[data-kind=compaction]{--node-accent:var(--qilin-alias-label-tertiary)}.PKVdPa_node[data-kind=user]{--node-accent:var(--qilin-alias-brand-primary)}.PKVdPa_node[data-kind=steering],.PKVdPa_node[data-kind=compact-request],.PKVdPa_node[data-kind=running-call],.PKVdPa_node[data-kind=retry]{--node-accent:var(--qilin-alias-state-warn-primary)}.PKVdPa_node[data-kind=context]{--node-accent:var(--qilin-alias-label-secondary)}.PKVdPa_node[data-kind=command],.PKVdPa_node[data-kind=assistant]{--node-accent:var(--qilin-alias-state-business-primary)}.PKVdPa_node[data-kind=request],.PKVdPa_node[data-kind=partial]{--node-accent:var(--qilin-alias-state-success-primary)}.PKVdPa_node[data-kind=tool]{--node-accent:var(--qilin-alias-link)}.PKVdPa_node[data-kind=error],.PKVdPa_node[data-kind=max-tokens]{--node-accent:var(--qilin-alias-state-error-primary)}.PKVdPa_node[data-kind=unknown]{--node-accent:var(--qilin-alias-label-dimmed)}.PKVdPa_nodeRect{fill:var(--qilin-alias-bg-layer-2);stroke:var(--qilin-alias-border-l3);stroke-width:1px;transition:stroke .12s var(--ds-ease-in-out)}.PKVdPa_nodeAccent{fill:var(--node-accent)}.PKVdPa_nodeLabel{fill:var(--qilin-alias-label-primary);font-size:11px;font-weight:500}.PKVdPa_nodeBadge{fill:var(--qilin-alias-label-tertiary);font-size:9px}.PKVdPa_nodeLive .PKVdPa_nodeRect{animation:1.4s ease-in-out infinite PKVdPa_qilin-trajectory-graph-pulse}.PKVdPa_nodeHot .PKVdPa_nodeRect{stroke:var(--qilin-alias-brand-primary);stroke-width:1.6px}.PKVdPa_nodeDim{opacity:.28}.PKVdPa_nodeCountImg{fill:var(--qilin-alias-state-warn-primary)}.PKVdPa_nodeCountFile{fill:var(--qilin-alias-label-tertiary)}.PKVdPa_nodeCountText{fill:var(--qilin-alias-bg-layer-1);font-size:7.5px;font-weight:600}.PKVdPa_packetHot{fill:var(--qilin-alias-brand-primary)}.PKVdPa_liveDot{corner-shape:round;background:var(--qilin-alias-state-success-primary);border-radius:50%;flex:none;width:6px;height:6px;animation:1.4s ease-in-out infinite PKVdPa_qilin-trajectory-graph-pulse}.PKVdPa_paused .PKVdPa_edgeLive,.PKVdPa_paused .PKVdPa_nodeLive .PKVdPa_nodeRect,.PKVdPa_paused .PKVdPa_liveDot{animation-play-state:paused}@keyframes PKVdPa_qilin-trajectory-graph-flow{0%{stroke-dashoffset:18px}to{stroke-dashoffset:0}}@keyframes PKVdPa_qilin-trajectory-graph-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.PKVdPa_edgeLive,.PKVdPa_nodeLive .PKVdPa_nodeRect,.PKVdPa_liveDot{animation:none}}.PKVdPa_note{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);flex:none;padding:4px 10px}.PKVdPa_empty{font-size:var(--qilin-font-xs-13-font-size);color:var(--qilin-alias-label-tertiary);flex:1;justify-content:center;align-items:center;display:flex}.PKVdPa_inspector{border-top:1px solid var(--qilin-alias-border-l2);background:var(--qilin-alias-bg-layer-2);flex:none;max-height:40%;padding:8px 10px;overflow:auto}.PKVdPa_inspectorHead{align-items:center;gap:6px;display:flex}.PKVdPa_inspectorKind{font-size:var(--qilin-font-xxs-strong-12-font-size);color:var(--qilin-alias-label-primary)}.PKVdPa_inspectorLane{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary)}.PKVdPa_inspectorStatus{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary)}.PKVdPa_inspectorStatus[data-status=error]{color:var(--qilin-alias-state-error-primary)}.PKVdPa_inspectorStatus[data-status=running]{color:var(--qilin-alias-state-success-primary)}.PKVdPa_inspectorMeta{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);margin-top:4px}.PKVdPa_inspectorSection{margin-top:6px}.PKVdPa_inspectorLabel{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);display:block}.PKVdPa_inspectorBody{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);white-space:pre-wrap;word-break:break-word;margin:2px 0 0}.PKVdPa_glyph{font-size:13px;line-height:1}.PKVdPa_tool:disabled{opacity:.4;cursor:default}.PKVdPa_canvasDragging{cursor:grabbing;user-select:none}.PKVdPa_edgeHit{fill:none;stroke:#0000;stroke-width:9px;pointer-events:stroke;cursor:pointer}.PKVdPa_edgeDim{opacity:.2}.PKVdPa_edgeHot{stroke-width:2.2px}.PKVdPa_edgeKindHot{stroke-width:2.2px;opacity:1}.PKVdPa_legendEdge{font:inherit;color:var(--qilin-alias-label-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:4px;padding:0;display:inline-flex}.PKVdPa_legendEdge:hover{color:var(--qilin-alias-label-primary)}.PKVdPa_legendEdge[aria-pressed=true]{color:var(--qilin-alias-label-primary);text-underline-offset:2px;text-decoration:underline}.PKVdPa_legendEdgeDot{background:var(--qilin-alias-border-l3);border-radius:1px;width:10px;height:2.5px}.PKVdPa_legendEdgeDot[data-kind=prompt]{background:var(--qilin-alias-label-tertiary)}.PKVdPa_legendEdgeDot[data-kind=result]{background:var(--qilin-alias-brand-primary)}.PKVdPa_legendEdgeDot[data-kind=dispatch]{background:var(--qilin-alias-state-business-primary)}.PKVdPa_legendEdgeDot[data-kind=subcall]{background:repeating-linear-gradient(90deg, var(--qilin-alias-label-secondary) 0 2px, transparent 2px 4px)}.PKVdPa_legendEdgeDot[data-kind=loop]{background:var(--qilin-alias-state-warn-primary)}.PKVdPa_legendEdgeHint{color:var(--qilin-alias-label-dimmed)}.PKVdPa_search{border:1px solid var(--qilin-alias-border-l4);min-width:76px;height:22px;color:var(--qilin-alias-label-primary);background:var(--qilin-alias-bg-layer-2);font:var(--qilin-font-xxxs-11);border-radius:4px;flex:0 150px;padding:0 6px}.PKVdPa_search::placeholder{color:var(--qilin-alias-label-caption)}.PKVdPa_search:focus{border-color:var(--qilin-alias-state-business-primary);background:var(--qilin-alias-bg-layer-1);outline:none}.PKVdPa_searchCount{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);white-space:nowrap;flex:none}.PKVdPa_searchNone{color:var(--qilin-alias-state-error-primary)}.PKVdPa_attachments{margin-top:6px}.PKVdPa_attachment{align-items:center;gap:6px;margin-top:4px;display:flex}.PKVdPa_attachmentIcon{width:26px;height:26px;color:var(--qilin-alias-label-tertiary);background:var(--qilin-alias-bg-layer-3);border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}.PKVdPa_attachmentThumb{background:var(--qilin-alias-bg-layer-3);cursor:zoom-in;border:0;border-radius:4px;flex:none;width:26px;height:26px;padding:0}.PKVdPa_attachmentThumb img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.PKVdPa_attachmentText{flex-direction:column;min-width:0;display:flex}.PKVdPa_attachmentName{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.PKVdPa_attachmentMeta{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.PKVdPa_inspectorMarkdown{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-secondary);margin-top:6px}.PKVdPa_toolBody{margin-top:6px}.PKVdPa_toolHead{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.PKVdPa_toolName{font-size:var(--qilin-font-xxs-strong-12-font-size);color:var(--qilin-alias-label-primary)}.PKVdPa_toolCallId{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);word-break:break-all}.PKVdPa_toolError{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-state-error-primary)}.PKVdPa_toolPending{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-state-warn-primary)}.PKVdPa_toolArgs{margin-top:4px}.PKVdPa_toolArgs summary{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary);cursor:pointer}.PKVdPa_toolResult{margin-top:4px}.PKVdPa_toolResultLabel{font-size:var(--qilin-font-xxxs-11-font-size);color:var(--qilin-alias-label-tertiary)}.PKVdPa_toolResult .PKVdPa_inspectorBody[data-error=true]{color:var(--qilin-alias-state-error-primary)}";
|
|
10623
10699
|
const tagId = "@qilin-agent/client-ui-trajectory/TrajectoryGraphView.module.css";
|
|
10624
10700
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
10625
10701
|
const tag = document.createElement("style");
|
|
@@ -10927,6 +11003,20 @@ window.__ModuleLoader__.load({
|
|
|
10927
11003
|
const [imageUrls, setImageUrls] = (0, react.useState)({});
|
|
10928
11004
|
const urlCacheRef = (0, react.useRef)({});
|
|
10929
11005
|
const [lightbox, setLightbox] = (0, react.useState)(null);
|
|
11006
|
+
const [imageReloadTick, setImageReloadTick] = (0, react.useState)(0);
|
|
11007
|
+
const reloadedImagesRef = (0, react.useRef)(/* @__PURE__ */ new Set());
|
|
11008
|
+
const reloadImage = (0, react.useCallback)((attachmentId) => {
|
|
11009
|
+
if (reloadedImagesRef.current.has(attachmentId)) return;
|
|
11010
|
+
reloadedImagesRef.current.add(attachmentId);
|
|
11011
|
+
urlCacheRef.current[attachmentId] = void 0;
|
|
11012
|
+
setImageUrls((current) => {
|
|
11013
|
+
if (current[attachmentId] === void 0) return current;
|
|
11014
|
+
const next = { ...current };
|
|
11015
|
+
next[attachmentId] = void 0;
|
|
11016
|
+
return next;
|
|
11017
|
+
});
|
|
11018
|
+
setImageReloadTick((tick) => tick + 1);
|
|
11019
|
+
}, []);
|
|
10930
11020
|
const modelById = (0, react.useMemo)(() => new Map(windowed.graph.nodes.map((node) => [node.id, node])), [windowed]);
|
|
10931
11021
|
const laidById = (0, react.useMemo)(() => new Map(layout.nodes.map((laid) => [laid.node.id, laid])), [layout]);
|
|
10932
11022
|
const edgeById = (0, react.useMemo)(() => new Map(layout.edges.map((edge) => [edge.id, edge])), [layout]);
|
|
@@ -11087,7 +11177,11 @@ window.__ModuleLoader__.load({
|
|
|
11087
11177
|
return () => {
|
|
11088
11178
|
cancelled = true;
|
|
11089
11179
|
};
|
|
11090
|
-
}, [
|
|
11180
|
+
}, [
|
|
11181
|
+
selected,
|
|
11182
|
+
loadImage,
|
|
11183
|
+
imageReloadTick
|
|
11184
|
+
]);
|
|
11091
11185
|
/** Change the scale, keeping the canvas point at the given viewport offsets fixed. */
|
|
11092
11186
|
function zoomBy(factor, offsetInViewportX, offsetInViewportY) {
|
|
11093
11187
|
const element = canvasRef.current;
|
|
@@ -11603,7 +11697,10 @@ window.__ModuleLoader__.load({
|
|
|
11603
11697
|
children: (0, react_jsx_runtime.jsx)("img", {
|
|
11604
11698
|
src: url,
|
|
11605
11699
|
alt: presentation.name,
|
|
11606
|
-
loading: "lazy"
|
|
11700
|
+
loading: "lazy",
|
|
11701
|
+
onError: () => {
|
|
11702
|
+
reloadImage(attachment.attachmentId);
|
|
11703
|
+
}
|
|
11607
11704
|
})
|
|
11608
11705
|
}) : (0, react_jsx_runtime.jsx)("span", {
|
|
11609
11706
|
className: TrajectoryGraphView_module_css_default.attachmentIcon,
|
|
@@ -54,6 +54,10 @@ export interface TrajectoryTableProps {
|
|
|
54
54
|
collapsedAssistants: ReadonlySet<string>;
|
|
55
55
|
/** Toggle tool calls under one assistant record. */
|
|
56
56
|
onToggleAssistant: (id: string) => void;
|
|
57
|
+
/** Stable tool record ids whose nested calls are folded. */
|
|
58
|
+
collapsedTools: ReadonlySet<string>;
|
|
59
|
+
/** Toggle nested calls under one tool record. */
|
|
60
|
+
onToggleTool: (id: string) => void;
|
|
57
61
|
/** One-shot cross-view inspect: open and scroll to this call's record. */
|
|
58
62
|
inspectCallId?: string | null;
|
|
59
63
|
/** Acknowledge a consumed (or unresolvable) inspect request. */
|
|
@@ -106,6 +110,6 @@ export interface TrajectoryUsage {
|
|
|
106
110
|
* @param props - Grouped trajectory data and whole-ledger fold state.
|
|
107
111
|
* @returns The ledger and an optional local record inspector.
|
|
108
112
|
*/
|
|
109
|
-
export declare function TrajectoryTable({ t, stringWrapping, renderImages, requestNumbers: sessionRequestNumbers, turns, streamingCells, timelineFocusIndexes, searchMatchIndexes, onSelectedIndexChange, onRecordSelect, recordSelection, recordFocus, historyLoading, olderHistoryLoading, historyStartSeq, hasOlderRecords, onLoadOlder, onClearSelection, collapsedTurns, onToggleTurn, collapsedAssistants, onToggleAssistant, inspectCallId, onInspectApplied, }: TrajectoryTableProps): import("react").JSX.Element;
|
|
113
|
+
export declare function TrajectoryTable({ t, stringWrapping, renderImages, requestNumbers: sessionRequestNumbers, turns, streamingCells, timelineFocusIndexes, searchMatchIndexes, onSelectedIndexChange, onRecordSelect, recordSelection, recordFocus, historyLoading, olderHistoryLoading, historyStartSeq, hasOlderRecords, onLoadOlder, onClearSelection, collapsedTurns, onToggleTurn, collapsedAssistants, onToggleAssistant, collapsedTools, onToggleTool, inspectCallId, onInspectApplied, }: TrajectoryTableProps): import("react").JSX.Element;
|
|
110
114
|
export {};
|
|
111
115
|
//# sourceMappingURL=TrajectoryTable.d.ts.map
|
|
@@ -18,6 +18,10 @@ export interface TrajectoryToolbarProps {
|
|
|
18
18
|
allAssistantsCollapsed: boolean;
|
|
19
19
|
/** Fold or expand tool calls under every collapsible assistant. */
|
|
20
20
|
onToggleAllAssistants: () => void;
|
|
21
|
+
/** Whether every tool's nested calls are currently folded. */
|
|
22
|
+
allSubCallsCollapsed: boolean;
|
|
23
|
+
/** Fold or expand nested calls under every tool. */
|
|
24
|
+
onToggleAllSubCalls: () => void;
|
|
21
25
|
/** Current live ledger search query. */
|
|
22
26
|
searchQuery: string;
|
|
23
27
|
/** Update the live ledger search query. */
|
|
@@ -30,5 +34,5 @@ export interface TrajectoryToolbarProps {
|
|
|
30
34
|
* @param props - rendered counts and whole-list fold state.
|
|
31
35
|
* @returns the toolbar element.
|
|
32
36
|
*/
|
|
33
|
-
export declare function TrajectoryToolbar({ actualDuration, onActualDurationChange, actualTime, onActualTimeChange, allTurnsCollapsed, onToggleAllTurns, allAssistantsCollapsed, onToggleAllAssistants, searchQuery, onSearchQueryChange, t, }: TrajectoryToolbarProps): import("react").JSX.Element;
|
|
37
|
+
export declare function TrajectoryToolbar({ actualDuration, onActualDurationChange, actualTime, onActualTimeChange, allTurnsCollapsed, onToggleAllTurns, allAssistantsCollapsed, onToggleAllAssistants, allSubCallsCollapsed, onToggleAllSubCalls, searchQuery, onSearchQueryChange, t, }: TrajectoryToolbarProps): import("react").JSX.Element;
|
|
34
38
|
//# sourceMappingURL=TrajectoryToolbar.d.ts.map
|
|
@@ -12,6 +12,7 @@ export interface CodeProgram {
|
|
|
12
12
|
}
|
|
13
13
|
/**
|
|
14
14
|
* Resolve a PTC program without guessing its language from source or current runtime settings.
|
|
15
|
+
* Unknown explicit languages or conflicting recorded hints leave the source unhighlighted.
|
|
15
16
|
* @param cell - Recorded tool arguments and the schema visible at call time.
|
|
16
17
|
* @returns The program, or undefined for another tool or unsupported arguments.
|
|
17
18
|
*/
|
|
@@ -15,6 +15,9 @@ export declare const zh: {
|
|
|
15
15
|
readonly 'toolbar.calls': "调用";
|
|
16
16
|
readonly 'toolbar.expandCalls': "展开所有调用";
|
|
17
17
|
readonly 'toolbar.collapseCalls': "收起所有调用";
|
|
18
|
+
readonly 'toolbar.subCalls': "子调用";
|
|
19
|
+
readonly 'toolbar.expandSubCalls': "展开所有子调用";
|
|
20
|
+
readonly 'toolbar.collapseSubCalls': "收起所有子调用";
|
|
18
21
|
readonly 'toolbar.search': "搜索轨迹";
|
|
19
22
|
readonly 'toolbar.searchPlaceholder': "搜索";
|
|
20
23
|
readonly 'kind.system': "系统";
|
|
@@ -139,6 +142,7 @@ export declare const zh: {
|
|
|
139
142
|
readonly 'request.collapsedSummary': "已收起的{kind}概述,{summary}";
|
|
140
143
|
readonly 'request.collapsedTurn': "轮次";
|
|
141
144
|
readonly 'request.collapsedAssistant': "助手";
|
|
145
|
+
readonly 'request.collapsedTool': "子调用";
|
|
142
146
|
readonly 'request.rowAria': "{request}{kind},{content}";
|
|
143
147
|
readonly 'request.rowPrefix': "请求 {request},";
|
|
144
148
|
readonly 'request.rowAriaCompaction': "请求 {request},压缩";
|
|
@@ -3,7 +3,7 @@ import type { TrajectoryCellProps } from './trajectory-record.ts';
|
|
|
3
3
|
/** Minimal record shape required by the trajectory virtual-row projection. */
|
|
4
4
|
export interface VirtualizableTrajectoryRecord {
|
|
5
5
|
cell: TrajectoryCellProps;
|
|
6
|
-
collapsedSummaryKind?: 'turn' | 'assistant';
|
|
6
|
+
collapsedSummaryKind?: 'turn' | 'assistant' | 'tool';
|
|
7
7
|
}
|
|
8
8
|
/** One logical record retained inside a measurable virtual row. */
|
|
9
9
|
export interface TrajectoryVirtualRowEntry<T extends VirtualizableTrajectoryRecord> {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qilin-agent/client-ui-trajectory",
|
|
3
3
|
"description": "Trajectory event ledger with an interactive timing overview: pure-consumer plugin registering into the conversation ViewMap (no service)",
|
|
4
|
-
"version": "3.1.
|
|
4
|
+
"version": "3.1.8",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -43,34 +43,34 @@
|
|
|
43
43
|
},
|
|
44
44
|
"license": "MIT",
|
|
45
45
|
"peerDependencies": {
|
|
46
|
-
"@qilin-agent/kylin": "~4.0.
|
|
46
|
+
"@qilin-agent/kylin": "~4.0.6-alpha.2"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
+
"@qilin-agent/agent": "3.1.8",
|
|
50
|
+
"@qilin-agent/client-locale": "3.1.8",
|
|
51
|
+
"@qilin-agent/client-test-runtime": "3.1.8",
|
|
52
|
+
"@qilin-agent/client-ui-primitives": "3.1.8",
|
|
53
|
+
"@qilin-agent/client-ui-conversation": "3.1.8",
|
|
54
|
+
"@qilin-agent/client-ui-slots": "3.1.8",
|
|
55
|
+
"@qilin-agent/compaction": "3.1.8",
|
|
56
|
+
"@qilin-agent/tools": "3.1.8",
|
|
49
57
|
"@types/react": "~18.3.1",
|
|
50
58
|
"@types/react-dom": "~18.3.0",
|
|
59
|
+
"@qilin-agent/kylin": "~4.0.6-alpha.2",
|
|
51
60
|
"react": "^18.2.0",
|
|
52
61
|
"react-dom": "^18.2.0",
|
|
62
|
+
"@qilin-agent/client-store": "3.1.8",
|
|
63
|
+
"@qilin-agent/client-ui-chat": "3.1.8",
|
|
64
|
+
"@qilin-agent/session": "3.1.8",
|
|
65
|
+
"@qilin-agent/api-session-controller": "3.1.8",
|
|
66
|
+
"@qilin-agent/client-ui-renderer": "3.1.8",
|
|
67
|
+
"@qilin-agent/client-ui-session": "3.1.8",
|
|
68
|
+
"@qilin-agent/client-ui-sidebar-right": "3.1.8",
|
|
69
|
+
"@qilin-agent/llm": "3.1.8",
|
|
70
|
+
"@qilin-agent/attachment": "3.1.8",
|
|
53
71
|
"@tanstack/react-virtual": "^3.14.9",
|
|
54
72
|
"diff": "^9.0.0",
|
|
55
|
-
"@qilin-agent/
|
|
56
|
-
"@qilin-agent/client-test-runtime": "3.1.7",
|
|
57
|
-
"@qilin-agent/agent": "3.1.7",
|
|
58
|
-
"@qilin-agent/client-ui-primitives": "3.1.7",
|
|
59
|
-
"@qilin-agent/client-ui-slots": "3.1.7",
|
|
60
|
-
"@qilin-agent/client-ui-conversation": "3.1.7",
|
|
61
|
-
"@qilin-agent/kylin": "~4.0.5",
|
|
62
|
-
"@qilin-agent/client-store": "3.1.7",
|
|
63
|
-
"@qilin-agent/tools": "3.1.7",
|
|
64
|
-
"@qilin-agent/client-ui-chat": "3.1.7",
|
|
65
|
-
"@qilin-agent/compaction": "3.1.7",
|
|
66
|
-
"@qilin-agent/session": "3.1.7",
|
|
67
|
-
"@qilin-agent/api-session-controller": "3.1.7",
|
|
68
|
-
"@qilin-agent/client-ui-renderer": "3.1.7",
|
|
69
|
-
"@qilin-agent/client-ui-session": "3.1.7",
|
|
70
|
-
"@qilin-agent/llm": "3.1.7",
|
|
71
|
-
"@qilin-agent/util-values": "3.1.7",
|
|
72
|
-
"@qilin-agent/attachment": "3.1.7",
|
|
73
|
-
"@qilin-agent/client-ui-sidebar-right": "3.1.7"
|
|
73
|
+
"@qilin-agent/util-values": "3.1.8"
|
|
74
74
|
},
|
|
75
75
|
"files": [
|
|
76
76
|
"lib/index.js",
|