@deepseek-ai/dsh-client-ui-trajectory 0.1.6-alpha.1 → 0.1.7-alpha.1
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 +8 -2
- package/README.zh.md +8 -2
- package/lib/client.js +162 -108
- package/lib/types/client/locales.d.ts +3 -1
- package/lib/types/client/trajectory-record.d.ts +3 -1
- package/package.json +19 -19
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/client/ui-trajectory/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: d15b1c7c6d605ba1b73180566a84fe29ab08530c
|
|
6
|
+
README.zh.md: 87cbae17c53a112cc62054a6150df9565a7bd8c0
|
package/README.md
CHANGED
|
@@ -25,13 +25,17 @@ The Trajectory tab lets you inspect agent activity as a turn-aware ledger and in
|
|
|
25
25
|
<a id="use-this-package"></a>
|
|
26
26
|
## Use this package
|
|
27
27
|
|
|
28
|
-
Open the Trajectory tab in the conversation's view ring to inspect agent activity as an event ledger and timeline. The ledger covers records with an explicit loading row until the initial tail is positioned; while an older prefix remains unloaded, a first-row control loads one earlier page on click and shows
|
|
28
|
+
Open the Trajectory tab in the conversation's view ring to inspect agent activity as an event ledger and timeline. The ledger covers records with an explicit loading row until the initial tail is positioned; while an older prefix remains unloaded, a first-row control loads one earlier page on click and shows the shared ongoing loader while that page is pending.
|
|
29
29
|
|
|
30
30
|
### Inspecting records
|
|
31
31
|
|
|
32
32
|
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 uses only an unambiguous TypeScript or Python hint in the recorded tool schema; missing or conflicting hints leave plain source. See the [PTC inspection decision](../../../.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.md) for replay constraints.
|
|
33
33
|
|
|
34
|
-
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
|
|
34
|
+
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. A standalone compaction request appears chronologically in its own `Between turns` section, while a numbered compaction remains inside its owning turn.
|
|
35
|
+
|
|
36
|
+
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
|
+
|
|
38
|
+
Thinking in the inspector uses compact Markdown at the inspector's fixed 13px size and 20px line height, independent of the content-size setting. Headings add bold weight without increasing size or line height. Assistant output keeps its regular Markdown typography.
|
|
35
39
|
|
|
36
40
|
### The timing overview
|
|
37
41
|
|
|
@@ -90,6 +94,8 @@ None; this package neither assembles nor sends a provider request.
|
|
|
90
94
|
|
|
91
95
|
<a id="known-limitations-and-deferred-work"></a>
|
|
92
96
|
|
|
97
|
+
- **Developer messages are not displayed** — presentation is intentionally deferred; encountering `developer/message` throws instead of rendering a fallback row.
|
|
98
|
+
|
|
93
99
|
|
|
94
100
|
These limits define what the view can show while work is in flight; they are current package constraints.
|
|
95
101
|
|
package/README.zh.md
CHANGED
|
@@ -25,13 +25,17 @@ Trajectory 标签页让你以按轮次组织的事件记录表和交互式时间
|
|
|
25
25
|
<a id="use-this-package"></a>
|
|
26
26
|
## 使用本包
|
|
27
27
|
|
|
28
|
-
在对话视图环中打开 Trajectory 标签页,把 agent
|
|
28
|
+
在对话视图环中打开 Trajectory 标签页,把 agent 活动作为事件记录表与时间线查看。初始尾部完成定位前,记录表会用明确的加载行遮住真实记录;更早的前缀仍未加载时,首行控件会在点击时加载一页更早的历史,并在该页加载期间显示共享 ongoing loading。
|
|
29
29
|
|
|
30
30
|
### 检查记录
|
|
31
31
|
|
|
32
32
|
调用按已记录的工具名识别。对于 `run_code`,记录行展示程序说明,检查器显示带行号和语法高亮的源码。“代码”页提供换行、查看原始 JSON 参数的 `{}` 切换按钮,以及保留末尾换行的源码原样复制。复制原始参数时保留记录中 JSON 的空白。每个新打开的代码视图采用上次选择的换行状态;切换时,其他已打开视图保持原状。输出保留记录中的文本,完整 JSON 对象或数组使用树形展示。高亮只采用已记录工具 Schema 中明确且无冲突的 TypeScript 或 Python 提示;提示缺失或冲突时显示纯文本源码。回放约束见 [PTC 检查决策](../../../.agents/notes/implemented/feature/2026-09-09-ptc-trajectory-code-inspection.zh.md)。
|
|
33
33
|
|
|
34
|
-
选择、时间线导航、折叠与搜索只覆盖 React 可见窗口。请求编号与累计用量覆盖完整的驻留快照。选择记录会打开局部检查器,查看 token 用量、耗时、输入、输出、计时与持久保留的图片。图片 URL 使用 Conversation 拥有的逐会话缓存,因此 Chat 与 Trajectory
|
|
34
|
+
选择、时间线导航、折叠与搜索只覆盖 React 可见窗口。请求编号与累计用量覆盖完整的驻留快照。选择记录会打开局部检查器,查看 token 用量、耗时、输入、输出、计时与持久保留的图片。图片 URL 使用 Conversation 拥有的逐会话缓存,因此 Chat 与 Trajectory 对每个附件共享一次已授权读取。用户记录会在文本旁同时显示非零的图片与普通文件数量,仅含附件的记录也显示这些数量。独立运行的压缩请求会按时间顺序显示在自己的 `Between turns` 区段中,而带编号的压缩仍位于其所属轮次内。
|
|
35
|
+
|
|
36
|
+
概述与预览共用正文之后的有序附件列表,保留重复引用。每行展示完整缩放的图片缩略图或文件类型图标、已记录的文件名(未命名图片使用本地化的编号名称),以及可用的已记录大小、类型和图片尺寸。零字节文件保留大小显示,截断的文件名通过提示显示完整名称。图片打开现有灯箱。原始内容保留内容块顺序和未渲染文本,图片与文件使用默认折叠的展开项,包含完整的已记录字段。
|
|
37
|
+
|
|
38
|
+
检查器中的思考内容使用紧凑 Markdown,沿用检查器固定的 13px 字号和 20px 行高,不受内容字号设置影响。标题只加粗,不放大字号或行高。助手输出保留常规 Markdown 排版。
|
|
35
39
|
|
|
36
40
|
### 时间概览
|
|
37
41
|
|
|
@@ -90,6 +94,8 @@ Trajectory 要求会话壳把 composer 作为浮层置于全高记录表上方
|
|
|
90
94
|
|
|
91
95
|
<a id="known-limitations-and-deferred-work"></a>
|
|
92
96
|
|
|
97
|
+
- **不展示 developer 消息** — 展示能力有意留待后续实现;遇到 `developer/message` 时抛出错误,不渲染回退行。
|
|
98
|
+
|
|
93
99
|
|
|
94
100
|
这些限制定义工作仍在进行时视图能显示什么;它们是当前包约束。
|
|
95
101
|
|
package/lib/client.js
CHANGED
|
@@ -231,7 +231,9 @@ window.__ModuleLoader__.load({
|
|
|
231
231
|
"layout.compactionFailed": "上下文压缩失败",
|
|
232
232
|
"layout.compacted": "上下文已压缩",
|
|
233
233
|
"layout.toolCallOnly": "仅工具调用",
|
|
234
|
-
"
|
|
234
|
+
"attachment.list": "附件",
|
|
235
|
+
"attachment.imageName": "图片 {index}",
|
|
236
|
+
"layout.imageCount": "图片 ×{count}",
|
|
235
237
|
"layout.fileAttachments": "文件 ×{count}",
|
|
236
238
|
"layout.initialSystemPrompt": "初始系统提示词",
|
|
237
239
|
"layout.systemPromptUpdated": "系统提示词已更新",
|
|
@@ -416,7 +418,9 @@ window.__ModuleLoader__.load({
|
|
|
416
418
|
"layout.compactionFailed": "Compaction failed",
|
|
417
419
|
"layout.compacted": "Context compacted",
|
|
418
420
|
"layout.toolCallOnly": "Tool call only",
|
|
419
|
-
"
|
|
421
|
+
"attachment.list": "Attachments",
|
|
422
|
+
"attachment.imageName": "Image {index}",
|
|
423
|
+
"layout.imageCount": "Images ×{count}",
|
|
420
424
|
"layout.fileAttachments": "Files ×{count}",
|
|
421
425
|
"layout.initialSystemPrompt": "Initial System Prompt",
|
|
422
426
|
"layout.systemPromptUpdated": "System Prompt Updated",
|
|
@@ -556,10 +560,6 @@ window.__ModuleLoader__.load({
|
|
|
556
560
|
role: "inject",
|
|
557
561
|
label: joined(collect(record, "changes", "path")) ?? kind
|
|
558
562
|
};
|
|
559
|
-
case "plugin": return {
|
|
560
|
-
role: "inject",
|
|
561
|
-
label: readString(record, "plugin") ?? kind
|
|
562
|
-
};
|
|
563
563
|
case "skill-invocation": return {
|
|
564
564
|
role: "inject",
|
|
565
565
|
label: readString(record, "name") ?? kind
|
|
@@ -1013,7 +1013,7 @@ window.__ModuleLoader__.load({
|
|
|
1013
1013
|
function checkpointId(event) {
|
|
1014
1014
|
if (event.type !== "user/message") return void 0;
|
|
1015
1015
|
const source = event.data.source;
|
|
1016
|
-
return source.kind === "
|
|
1016
|
+
return source.kind === "compact-checkpoint" && typeof source.compactionId === "string" && source.compactionId !== "" ? source.compactionId : void 0;
|
|
1017
1017
|
}
|
|
1018
1018
|
function eventCompactionId(event) {
|
|
1019
1019
|
if (event.type !== "compaction/start" && event.type !== "compaction/summary" && event.type !== "compaction/end") return void 0;
|
|
@@ -1202,10 +1202,13 @@ window.__ModuleLoader__.load({
|
|
|
1202
1202
|
const trajectoryMessageDefinition = {
|
|
1203
1203
|
kind: "trajectory-input-message",
|
|
1204
1204
|
target: "trajectory",
|
|
1205
|
-
match: (event) =>
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1205
|
+
match: (event) => {
|
|
1206
|
+
if (event.type === "developer/message") throw new Error("Trajectory developer messages are not supported yet");
|
|
1207
|
+
return event.type === "user/message" ? {
|
|
1208
|
+
id: String(event.seq),
|
|
1209
|
+
role: "start"
|
|
1210
|
+
} : null;
|
|
1211
|
+
},
|
|
1209
1212
|
start: (_context, match, reader) => {
|
|
1210
1213
|
if (match.event.type !== "user/message") throw new Error("trajectory-input-message start requires user/message");
|
|
1211
1214
|
const event = match.event;
|
|
@@ -1602,6 +1605,7 @@ window.__ModuleLoader__.load({
|
|
|
1602
1605
|
/** Trajectory target factory preserving the existing stage-oriented view model. */
|
|
1603
1606
|
const trajectoryViewDefinition = {
|
|
1604
1607
|
target: "trajectory",
|
|
1608
|
+
toolCallFocus: (callId) => callId,
|
|
1605
1609
|
create: () => new TrajectorySnapshotBuilder()
|
|
1606
1610
|
};
|
|
1607
1611
|
/**
|
|
@@ -1629,19 +1633,19 @@ window.__ModuleLoader__.load({
|
|
|
1629
1633
|
}
|
|
1630
1634
|
function rootResult(match, previous) {
|
|
1631
1635
|
if (match.event.type !== "tool/result") return void 0;
|
|
1632
|
-
const
|
|
1636
|
+
const message = match.event.data.message;
|
|
1633
1637
|
return {
|
|
1634
1638
|
kind: "tool-result",
|
|
1635
1639
|
seq: match.event.seq,
|
|
1636
1640
|
time: match.event.time,
|
|
1637
|
-
callId: String(
|
|
1641
|
+
callId: String(message.source.callId),
|
|
1638
1642
|
call: previous === void 0 ? null : {
|
|
1639
1643
|
name: previous.name,
|
|
1640
1644
|
argsRaw: previous.argsRaw
|
|
1641
1645
|
},
|
|
1642
1646
|
callTime: previous?.time ?? null,
|
|
1643
|
-
content:
|
|
1644
|
-
isError:
|
|
1647
|
+
content: message.content,
|
|
1648
|
+
isError: message.isError === true,
|
|
1645
1649
|
...match.event.data.error === void 0 ? {} : { error: match.event.data.error },
|
|
1646
1650
|
meta: match.event.data.meta,
|
|
1647
1651
|
subCalls: []
|
|
@@ -3781,7 +3785,7 @@ window.__ModuleLoader__.load({
|
|
|
3781
3785
|
}
|
|
3782
3786
|
//#endregion
|
|
3783
3787
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-trajectory/src/client/TrajectoryTable.module.css.mjs
|
|
3784
|
-
const css$3 = ".Y0dWHa_split{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);background:var(--dsw-alias-bg-layer-1);flex:1;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.Y0dWHa_tablePane{min-width:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);flex:1;position:relative;overflow:hidden auto;container:Y0dWHa_trajectory-table/inline-size}.Y0dWHa_historyLoading{z-index:5;pointer-events:none;height:0;position:sticky;top:0;overflow:visible}.Y0dWHa_historyLoadingBar{box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;height:30px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);justify-content:center;align-items:center;gap:6px;display:flex}.Y0dWHa_historyLoadingSpinner{box-sizing:border-box;border:1.5px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-state-business-primary);corner-shape:round;border-radius:50%;width:10px;height:10px;animation:.7s linear infinite Y0dWHa_history-loading-spin}.Y0dWHa_table tbody .Y0dWHa_historyLoadRow td{height:30px;padding:0}.Y0dWHa_table tbody .Y0dWHa_historyLoadRow+tr[data-turn-start=true] td:before{content:none}.Y0dWHa_historyLoadButton{background:var(--dsw-alias-bg-layer-1);width:100%;height:29px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:var(--dsw-font-xxs-12);border:0;justify-content:center;align-items:center;gap:6px;display:flex}.Y0dWHa_historyLoadButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Y0dWHa_historyLoadButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-2px}.Y0dWHa_historyLoadButton:disabled{cursor:default}.Y0dWHa_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.Y0dWHa_table:not([data-scroll-ready=true]){visibility:hidden}@keyframes Y0dWHa_history-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.Y0dWHa_historyLoadingSpinner{animation:none}}.Y0dWHa_table{--trajectory-turn-accent:color-mix(in srgb, var(--dsw-static-blue-500) 22%, var(--dsw-alias-bg-layer-1));border-spacing:0;table-layout:fixed;width:100%;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font:var(--dsw-font-xxs-12)}.Y0dWHa_eventColumn{width:122px}.Y0dWHa_eventColumn:where(:lang(zh)){width:84px}.Y0dWHa_contentColumn{width:auto}.Y0dWHa_table th{z-index:3;box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l2);height:30px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-specific-sidebar-fill);font:var(--dsw-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}.Y0dWHa_eventHeader{text-align:right!important;padding-right:4px!important}.Y0dWHa_table td{box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l1);text-overflow:ellipsis;white-space:nowrap;height:30px;padding:0 8px;overflow:hidden}.Y0dWHa_table tbody .Y0dWHa_virtualSpacer{pointer-events:none}.Y0dWHa_table tbody .Y0dWHa_virtualSpacer td{height:var(--trajectory-virtual-spacer-height);border:0;padding:0}.Y0dWHa_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}.Y0dWHa_table tbody tr[data-timeline-focus=outside]{opacity:.24}.Y0dWHa_table tbody tr:not([data-collapsed-summary]):not([data-virtual-spacer]):not([data-history-load]):not([data-selected=true]):hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_table tbody tr[data-request-only=true]:hover{background:0 0}.Y0dWHa_table tbody tr[data-request-only=true] td{border-bottom:0;height:0;padding-top:0;padding-bottom:0}.Y0dWHa_table tbody tr[data-terminal-request-boundary=true] td{height:9px}.Y0dWHa_table tbody tr[data-request-only=true] .Y0dWHa_turnRail{top:-15px;bottom:0}.Y0dWHa_table tbody tr:not([data-collapsed-summary]):focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.Y0dWHa_table tbody tr[data-selected=true]{background:var(--dsw-alias-interactive-bg-active)}.Y0dWHa_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}.Y0dWHa_requestBoundaryControl:before{corner-shape:round;background:var(--dsw-alias-label-caption);width:5px;height:5px;box-shadow:0 0 0 2px var(--dsw-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}.Y0dWHa_requestBoundaryControl:after{border:.5px solid var(--dsw-alias-border-l1);width:max-content;color:var(--dsw-alias-label-secondary);background:var(--dsw-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}.Y0dWHa_requestBoundaryControl:hover:before,.Y0dWHa_requestBoundaryControl:focus-visible:before{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color)}.Y0dWHa_requestBoundaryControlActive:before,.Y0dWHa_requestBoundaryControlActive:hover:before,.Y0dWHa_requestBoundaryControlActive:focus-visible:before{background:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 18%, var(--dsw-alias-bg-layer-1));box-shadow:0 0 0 1.5px var(--dsw-alias-brand-primary-new-colorprimary-new-color)}.Y0dWHa_requestBoundaryControl[data-request-status=error]:before,.Y0dWHa_requestBoundaryControl[data-request-status=error]:hover:before,.Y0dWHa_requestBoundaryControl[data-request-status=error]:focus-visible:before{background:var(--dsw-alias-state-error-primary)}.Y0dWHa_requestBoundaryControl:hover:after,.Y0dWHa_requestBoundaryControl:focus-visible:after{opacity:1;transform:translate(0)}.Y0dWHa_requestBoundaryControl:focus-visible{outline:none}.Y0dWHa_table tbody tr:has(.Y0dWHa_requestBoundaryControl:hover):not([data-selected=true]){background:0 0}.Y0dWHa_event{position:relative}.Y0dWHa_turnRail,.Y0dWHa_selectionRail{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color);pointer-events:none;position:absolute;left:0}.Y0dWHa_turnRail{z-index:4;background:var(--trajectory-turn-accent);width:2px;top:-1px;bottom:-1px}.Y0dWHa_table tbody tr[data-turn-end=true] .Y0dWHa_turnRail{bottom:0}.Y0dWHa_selectionRail{z-index:5;width:3px;top:0;bottom:0}.Y0dWHa_table tbody tr[data-error=true] .Y0dWHa_turnRail{background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 22%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_table tbody tr[data-error=true] .Y0dWHa_selectionRail{background:var(--dsw-alias-state-error-primary)}.Y0dWHa_table tbody tr[data-turn-start=true] td{position:relative;overflow:visible}.Y0dWHa_table tbody tr[data-turn-start=true]:not(:first-child) td:before{z-index:1;background:var(--dsw-alias-border-l1);content:\"\";pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0;transform:translateY(-50%)}.Y0dWHa_event{padding-left:36px!important;padding-right:4px!important;overflow:visible!important}.Y0dWHa_turnLabel{z-index:3;box-sizing:border-box;width:max-content;color:var(--dsw-alias-label-tertiary);background:var(--dsw-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}.Y0dWHa_turnLabelFull,.Y0dWHa_turnLabelCompact{opacity:1;white-space:nowrap;grid-area:1/1;max-width:64px;overflow:hidden}.Y0dWHa_turnLabelCompact{opacity:0;max-width:0}.Y0dWHa_turnLabelActive{color:color-mix(in srgb, var(--dsw-static-blue-500) 55%, var(--dsw-alias-label-tertiary));background:var(--trajectory-turn-accent)}.Y0dWHa_eventInner{justify-content:flex-start;align-items:center;min-width:0;height:100%;display:flex}.Y0dWHa_kindSlot{flex:none;justify-content:flex-end;align-items:flex-end;width:76px;display:flex}.Y0dWHa_kindSlot:where(:lang(zh)){width:44px}.Y0dWHa_kindSlot [role=tooltip]{background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-elevation-panel);color:var(--dsw-alias-label-primary);border:0}.Y0dWHa_content{color:var(--dsw-alias-label-primary);padding-left:4px!important}.Y0dWHa_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}.Y0dWHa_kindTagIcon{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:13px;display:inline-flex;overflow:hidden;transform:scale(.8)}.Y0dWHa_kindTagLabel{opacity:1;white-space:nowrap;max-width:72px;display:inline-block;overflow:hidden}.Y0dWHa_table .Y0dWHa_kindSlot .Y0dWHa_message{justify-content:center;width:100%}@container Y0dWHa_trajectory-table (width<=620px){.Y0dWHa_eventColumn{width:50px}.Y0dWHa_event{padding-left:28px!important;padding-right:3px!important}.Y0dWHa_requestBoundaryControl{--request-boundary-base-left:6px}.Y0dWHa_kindSlot{width:19px}.Y0dWHa_kindTag,.Y0dWHa_table .Y0dWHa_kindSlot .Y0dWHa_message{justify-content:center;width:19px;padding-left:0;padding-right:0}.Y0dWHa_kindTagIcon{opacity:1;width:13px;transform:scale(1)}.Y0dWHa_kindTagLabel,.Y0dWHa_turnLabelFull{opacity:0;max-width:0}.Y0dWHa_turnLabelCompact{opacity:1;max-width:64px}}@media (prefers-reduced-motion:no-preference){.Y0dWHa_eventColumn,.Y0dWHa_event,.Y0dWHa_requestBoundaryControl,.Y0dWHa_kindSlot,.Y0dWHa_kindTag,.Y0dWHa_kindTagIcon,.Y0dWHa_kindTagLabel,.Y0dWHa_turnLabelFull,.Y0dWHa_turnLabelCompact{transition-duration:.18s;transition-timing-function:var(--ds-ease-in-out)}.Y0dWHa_eventColumn,.Y0dWHa_kindSlot{transition-property:width}.Y0dWHa_event{transition-property:padding-right,padding-left}.Y0dWHa_requestBoundaryControl{transition-property:left}.Y0dWHa_kindTag{transition-property:padding-right,padding-left}.Y0dWHa_kindTagIcon{transition-property:width,opacity,transform}.Y0dWHa_kindTagLabel,.Y0dWHa_turnLabelFull,.Y0dWHa_turnLabelCompact{transition-property:max-width,opacity}}.Y0dWHa_user{color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-tertiary)}.Y0dWHa_systemNeutral{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.Y0dWHa_contextGreen{color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 68%, var(--dsw-alias-label-secondary));background:var(--dsw-alias-state-success-tertiary)}.Y0dWHa_compacted{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.Y0dWHa_compactedSummary{font:var(--dsw-font-xs-13);margin-top:12px;padding:0 0 14px}.Y0dWHa_promptDiffSections{flex-direction:column;gap:14px;max-height:100%;padding:10px 14px 14px;display:flex;overflow:auto}.Y0dWHa_promptDiffSection{min-width:0}.Y0dWHa_promptDiffTitle{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0 0 6px}.Y0dWHa_promptDiff{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font:11px/17px var(--ds-font-family-code);white-space:pre;margin:0;overflow:auto}.Y0dWHa_promptDiff span{min-width:max-content;padding:0 6px;display:block}.Y0dWHa_promptDiffLinemeta{color:var(--dsw-alias-label-caption);background:var(--dsw-alias-bg-module-platform);user-select:none}.Y0dWHa_promptDiffLinecontext{color:var(--dsw-alias-label-secondary)}.Y0dWHa_promptDiffLineadded{color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 72%, var(--dsw-alias-label-primary));background:var(--dsw-alias-state-success-tertiary)}.Y0dWHa_promptDiffLineremoved{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_assistantVioletBright{color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 60%, var(--dsw-alias-state-error-secondary));background:color-mix(in srgb, color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 55%, var(--dsw-alias-state-error-secondary)) 15%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_toolAmber{color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary)}.Y0dWHa_subtoolAmber{color:color-mix(in srgb, var(--dsw-alias-state-warn-label) 62%, var(--dsw-alias-label-tertiary));background:color-mix(in srgb, var(--dsw-alias-state-warn-tertiary) 58%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_contentText{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.Y0dWHa_toolCallOnly{color:var(--dsw-alias-label-tertiary)}.Y0dWHa_table tbody tr[data-collapsed-summary=turn] td,.Y0dWHa_table tbody tr[data-collapsed-summary=assistant] td{height:20px}.Y0dWHa_table tbody tr[data-collapsed-summary]{cursor:pointer;transition:background-color .12s var(--ds-ease-in-out);outline:none}.Y0dWHa_table tbody tr[data-collapsed-summary]:hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_table tbody tr[data-collapsed-summary]:focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.Y0dWHa_collapsedTurnContent{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;font-size:12px;line-height:16px;display:flex}.Y0dWHa_collapsedTurnEllipsis{color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;margin-right:6px;font-weight:600}.Y0dWHa_collapsedTurnText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Y0dWHa_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}.Y0dWHa_resultRequest,.Y0dWHa_inlineResultText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Y0dWHa_toolCallNameTypeface{color:var(--dsw-alias-label-primary);font:400 12px/18px Menlo,Consolas,Liberation Mono,PingFang SC,Microsoft YaHei}.Y0dWHa_toolCallPayload{color:var(--dsw-alias-label-secondary);font:400 12px/18px var(--ds-font-family-code);margin-left:7px}.Y0dWHa_table tbody tr[data-kind=tool] .Y0dWHa_contentText,.Y0dWHa_table tbody tr[data-kind=subtool] .Y0dWHa_contentText,.Y0dWHa_table tbody tr[data-kind=tool] .Y0dWHa_resultPreview,.Y0dWHa_table tbody tr[data-kind=subtool] .Y0dWHa_resultPreview{font-family:var(--ds-font-family-code);font-size:12px}.Y0dWHa_table tbody tr[data-kind=subtool] .Y0dWHa_content{padding-left:26px}.Y0dWHa_inlineResult{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;display:flex}.Y0dWHa_noOutputText{color:var(--dsw-alias-label-caption)}.Y0dWHa_arrow{color:var(--dsw-alias-label-caption);flex:none;margin-right:8px}.Y0dWHa_error,.Y0dWHa_overview dd.Y0dWHa_error,.Y0dWHa_details .Y0dWHa_errorPayload{color:var(--dsw-alias-state-error-primary)}.Y0dWHa_details .Y0dWHa_errorPayload .Y0dWHa_resultBlockText{color:inherit}.Y0dWHa_details .Y0dWHa_jsonPayload.Y0dWHa_errorPayload,.Y0dWHa_details .Y0dWHa_jsonPreview.Y0dWHa_errorPayload{--json-tree-property:var(--dsw-alias-state-error-primary);--json-tree-string:var(--dsw-alias-state-error-primary);--json-tree-number:var(--dsw-alias-state-error-primary);--json-tree-keyword:var(--dsw-alias-state-error-primary);--json-tree-punctuation:var(--dsw-alias-state-error-primary);--json-tree-icon:var(--dsw-alias-state-error-primary)}.Y0dWHa_details{border-left:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-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}.Y0dWHa_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}.Y0dWHa_detailsResizeHandle:focus-visible{outline:none}.Y0dWHa_detailsHeader{box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l2);flex:none;justify-content:space-between;align-items:center;height:42px;padding:0 8px 0 12px;display:flex}.Y0dWHa_detailsTitle{min-width:0;color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.Y0dWHa_requestDetailsDot{corner-shape:round;background:var(--dsw-alias-label-secondary);border-radius:50%;flex:none;width:5px;height:5px}.Y0dWHa_requestDetailsName{font:500 12px/16px var(--ds-font-family-code);flex:none}.Y0dWHa_detailsLocation{min-width:0;color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Y0dWHa_close{width:28px;height:28px;color:var(--dsw-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}.Y0dWHa_close:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_detailTabs{box-sizing:border-box;border-bottom:.5px solid var(--dsw-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}.Y0dWHa_detailTabs::-webkit-scrollbar{display:none}.Y0dWHa_detailTab{color:var(--dsw-alias-label-tertiary);cursor:pointer;font:var(--dsw-font-xs-13);background:0 0;border:0;flex:none;padding:0 9px;position:relative}.Y0dWHa_detailTab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_detailTabActive{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_detailTabActive:after{background:var(--dsw-alias-state-business-primary);content:\"\";border-radius:1px 1px 0 0;height:2px;position:absolute;bottom:0;left:9px;right:9px}.Y0dWHa_close:focus-visible,.Y0dWHa_detailTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_detailBody{min-height:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);scrollbar-gutter:stable;flex:1;overflow:hidden auto}.Y0dWHa_detailBodySummary{box-sizing:border-box;padding-bottom:calc(12px + var(--dsh-trajectory-bottom-clearance,0px));flex-direction:column;display:flex;overflow:hidden}.Y0dWHa_detailBodySummary>.Y0dWHa_overview{overscroll-behavior:contain;flex:0 auto;min-height:0;padding-bottom:0;overflow:auto}.Y0dWHa_detailBodySummary>.Y0dWHa_compactedSummary{flex:1;min-height:0;overflow:auto}.Y0dWHa_summaryScrollRegion{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.Y0dWHa_summaryScrollRegion:hover,.Y0dWHa_summaryScrollRegion:focus-within{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2)}.Y0dWHa_compactedSummary .Y0dWHa_markdownPayload{padding-right:18px}.Y0dWHa_overview{font:var(--dsw-font-xs-13);margin:0;padding:8px 0}.Y0dWHa_overviewParentLinks{gap:14px;display:flex}.Y0dWHa_overviewHierarchyNavLink{all:unset;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;opacity:1;align-items:center;gap:1px;display:inline-flex}.Y0dWHa_overviewHierarchyNavLink:hover{color:var(--dsw-alias-label-primary)}.Y0dWHa_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-caption);flex:none}.Y0dWHa_overviewHierarchyNavLink:hover .Y0dWHa_overviewHierarchyJumpIconTight,.Y0dWHa_overviewHierarchyNavLink:focus-visible .Y0dWHa_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-primary)}.Y0dWHa_overviewHierarchyNavLink:focus-visible{color:var(--dsw-alias-label-primary);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_overview>div{grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:22px;padding:0 14px;display:grid}.Y0dWHa_overview>.Y0dWHa_requestTokenDetail dt{padding-left:12px}.Y0dWHa_usagePanel{padding:4px 0 10px}.Y0dWHa_usageGroup+.Y0dWHa_usageGroup{margin-top:8px}.Y0dWHa_usageHeading{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0;padding:4px 14px 1px}.Y0dWHa_usageGroup .Y0dWHa_overview{padding:0}.Y0dWHa_overview dt{color:var(--dsw-alias-label-tertiary)}.Y0dWHa_overview dd{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.Y0dWHa_timestampToggle{all:unset;color:inherit;cursor:pointer;font:inherit;user-select:text}.Y0dWHa_timestampToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_overviewSections{border-top:0;flex-direction:column;flex:1;min-height:min-content;display:flex;overflow:hidden}.Y0dWHa_overviewSection{flex-direction:column;flex:1 1 0;min-height:24px;max-height:max-content;display:flex;overflow:hidden}.Y0dWHa_overviewSection+.Y0dWHa_overviewSection{padding-top:2px}.Y0dWHa_overviewHeading{box-sizing:border-box;width:100%;height:24px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);font:var(--dsw-font-xs-strong-13);user-select:none;flex:none;align-items:flex-end;margin:0;padding:0 0 3px 14px;display:flex}.Y0dWHa_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}.Y0dWHa_overviewTitleIcon{color:var(--dsw-alias-label-caption);flex:none}.Y0dWHa_overviewTitle:hover .Y0dWHa_overviewTitleIcon{color:var(--dsw-alias-label-primary)}.Y0dWHa_overviewTitle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_overviewTitle:focus-visible .Y0dWHa_overviewTitleIcon{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_overviewPreview{overscroll-behavior:contain;background:var(--dsw-alias-bg-layer-1);flex:1;min-height:0;overflow:auto}.Y0dWHa_overviewPreview[data-scroll-more]{mask-image:linear-gradient(#000 calc(100% - 12px),#0000)}.Y0dWHa_overviewPreview>:last-child{margin-bottom:0;padding-bottom:0}.Y0dWHa_programDescription{color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-13);white-space:pre-wrap;overflow-wrap:anywhere;flex:none;margin:0;padding:8px 14px 2px}.Y0dWHa_programIcon{vertical-align:-2px;margin-right:4px}.Y0dWHa_programSummary{font-family:var(--dsw-font-family);margin-left:5px}.Y0dWHa_detailBodyProgram,.Y0dWHa_programPanel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.Y0dWHa_programPanel{background:var(--dsw-alias-bg-layer-1);flex:1}.Y0dWHa_programActions{flex:none;align-items:center;gap:4px;height:16px;margin-left:auto;padding-right:14px;display:inline-flex}.Y0dWHa_programLanguage{color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);padding-right:4px}.Y0dWHa_programAction{box-sizing:border-box;width:20px;height:16px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.Y0dWHa_programAction:hover{color:var(--dsw-alias-label-primary)}.Y0dWHa_programAction[aria-pressed=true]{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_programAction[data-state=failed]{color:var(--dsw-alias-state-error-primary)}.Y0dWHa_programAction:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_programContent{min-width:0;min-height:0}.Y0dWHa_programPanel>.Y0dWHa_programContent{overscroll-behavior:contain;flex:1;overflow:auto}.Y0dWHa_programSource{background:var(--dsw-alias-bg-layer-1);--dsl-code-block-line-white-space:pre;border-radius:0;margin:0!important}.Y0dWHa_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(--dsw-alias-bg-layer-1)!important}.Y0dWHa_programSource pre code>.line{box-sizing:border-box;width:max-content;min-width:100%}.Y0dWHa_programContent[data-wrap=true] .Y0dWHa_programSource{--dsl-code-block-line-white-space:pre-wrap}.Y0dWHa_programContent[data-wrap=true] .Y0dWHa_programSource pre code>.line{overflow-wrap:anywhere;word-break:break-all;width:auto}.Y0dWHa_programOutput{color:var(--dsw-alias-label-primary);font:12px/16px var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:2px 14px 8px}.Y0dWHa_programError:first-line{color:var(--dsw-alias-state-error-primary);font-weight:600}.Y0dWHa_overviewPreview .Y0dWHa_jsonPreview>:first-child,.Y0dWHa_overviewPreview .Y0dWHa_schemaTree>:first-child{padding-top:2px;padding-bottom:0}.Y0dWHa_overviewPreview .Y0dWHa_schemaTree{margin-bottom:0}.Y0dWHa_overviewPreview .Y0dWHa_overview{padding:2px 0 0}.Y0dWHa_overviewPreview .Y0dWHa_overview>div{min-height:22px}.Y0dWHa_markdownPreview,.Y0dWHa_markdownPayload{color:var(--dsw-alias-label-primary)}.Y0dWHa_markdownPreview>div,.Y0dWHa_markdownPayload>div{font:var(--dsw-font-xs-13);gap:8px}.Y0dWHa_markdownPreview>div h1,.Y0dWHa_markdownPayload>div h1{font:600 16px/22px var(--dsw-font-family)}.Y0dWHa_markdownPreview>div h2,.Y0dWHa_markdownPayload>div h2{font:600 15px/22px var(--dsw-font-family)}.Y0dWHa_markdownPreview>div :where(h3,h4,h5,h6),.Y0dWHa_markdownPayload>div :where(h3,h4,h5,h6){font:600 14px/20px var(--dsw-font-family)}.Y0dWHa_markdownPreview>div :not(pre)>code,.Y0dWHa_markdownPayload>div :not(pre)>code{font:12px/18px var(--ds-font-family-code)}.Y0dWHa_markdownPreview>div table,.Y0dWHa_markdownPayload>div table{font:var(--dsw-font-xs-13)}.Y0dWHa_markdownPreview>div>:first-child{margin-top:0}.Y0dWHa_markdownPreview>div>:last-child{margin-bottom:0}.Y0dWHa_markdownPreview>div :where(h1,h2,h3){margin:12px 0 6px}.Y0dWHa_markdownPreview>div :where(h4,h5,h6){margin:10px 0 5px}.Y0dWHa_markdownPreview>div :where(p,ul,ol){margin:8px 0}.Y0dWHa_markdownPreview>div li:not(:first-child){margin-top:3px}.Y0dWHa_markdownPreview>div blockquote{margin-top:8px}.Y0dWHa_markdownPreview>div hr{margin:14px 0}.Y0dWHa_markdownPreview>div>.md-code-block{margin:10px 0}.Y0dWHa_assistantContent .Y0dWHa_markdownPayload,.Y0dWHa_assistantContent .Y0dWHa_payload{min-height:0}.Y0dWHa_thinkingQuote{border-left:2px solid var(--dsw-alias-markdown-citation);color:var(--dsw-alias-label-secondary);background:0 0;margin:6px 14px 0 12px;padding-left:6px}.Y0dWHa_thinkingQuoteOnlyPreview{margin-bottom:8px}.Y0dWHa_detailBody>.Y0dWHa_assistantContentRendered .Y0dWHa_thinkingQuote{margin-top:14px}.Y0dWHa_thinkingToggle{width:max-content;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:600 12px/18px var(--dsw-font-family);user-select:none;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:flex}.Y0dWHa_thinkingChevron{transition:transform .12s var(--ds-ease-in-out);flex:none}.Y0dWHa_thinkingToggle[aria-expanded=true] .Y0dWHa_thinkingChevron{transform:rotate(90deg)}.Y0dWHa_thinkingToggle:hover{color:var(--dsw-alias-label-secondary)}.Y0dWHa_thinkingToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_thinkingQuote .Y0dWHa_markdownPreview,.Y0dWHa_thinkingQuote .Y0dWHa_markdownPayload,.Y0dWHa_thinkingQuote .Y0dWHa_payload{min-height:0;color:var(--dsw-alias-label-secondary);background:0 0;padding:2px 0}.Y0dWHa_assistantOutput{background:var(--dsw-alias-bg-layer-1)}.Y0dWHa_markdownPreview{padding:2px 14px 8px}.Y0dWHa_markdownPayload{min-height:100%;padding:14px}.Y0dWHa_jsonPayload{min-height:100%}.Y0dWHa_jsonPreview{min-height:0}.Y0dWHa_schema{background:var(--dsw-alias-bg-layer-1);min-height:100%}.Y0dWHa_schemaPreview{min-height:0}.Y0dWHa_schemaIntro{padding:12px 14px 6px}.Y0dWHa_schemaPreview .Y0dWHa_schemaIntro{padding-top:2px}.Y0dWHa_schemaName{color:var(--dsw-alias-label-primary);font:600 12px/18px var(--ds-font-family-code);margin:0}.Y0dWHa_schemaDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:2px 0 0}.Y0dWHa_schemaParameters{min-width:0}.Y0dWHa_schemaParametersTitle{color:var(--dsw-alias-label-tertiary);font:600 11px/16px var(--dsw-font-family);user-select:none;margin:0;padding:4px 14px 2px}.Y0dWHa_schemaTree{margin:0 6px 8px 0}.Y0dWHa_payload{box-sizing:border-box;overflow-wrap:anywhere;min-height:100%;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;margin:0;padding:14px}.Y0dWHa_payloadPreview{min-height:0;padding:2px 14px 8px}.Y0dWHa_sourceBlocks{box-sizing:border-box;min-height:100%;padding:12px 14px}.Y0dWHa_sourceBlock+.Y0dWHa_sourceBlock{margin-top:14px}.Y0dWHa_sourceBlockHeader,.Y0dWHa_sourceBlockJumpTarget{user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Y0dWHa_sourceBlockJumpTarget{all:unset;cursor:pointer;user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Y0dWHa_sourceBlockLabel{color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code)}.Y0dWHa_sourceBlockJumpIcon{color:var(--dsw-alias-label-caption);flex:none}.Y0dWHa_sourceBlockJumpTarget:hover .Y0dWHa_sourceBlockJumpIcon{color:var(--dsw-alias-label-primary)}.Y0dWHa_sourceBlockJumpTarget:focus-visible{outline:none}.Y0dWHa_sourceBlockJumpTarget:focus-visible .Y0dWHa_sourceBlockJumpIcon{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_sourceBlockContent{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Y0dWHa_messageImages{flex-direction:column;gap:8px;margin:8px 14px 14px;display:flex}.Y0dWHa_messageImagesPreview{gap:6px;margin:6px 14px 8px}.Y0dWHa_assistantToolCalls{box-sizing:border-box;max-width:100%;color:var(--dsw-alias-label-secondary);font:11px/17px var(--ds-font-family-code);margin:2px 14px 12px;padding:0;list-style:none}.Y0dWHa_assistantToolCallsPreview{margin-top:2px;margin-bottom:8px}.Y0dWHa_assistantToolCalls li{min-width:0}.Y0dWHa_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}.Y0dWHa_assistantToolCallButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_assistantToolCallButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_assistantToolCallIcon{color:var(--dsw-alias-label-caption);flex:none;margin-right:5px}.Y0dWHa_assistantToolCallButton:hover .Y0dWHa_assistantToolCallIcon,.Y0dWHa_assistantToolCallButton:focus-visible .Y0dWHa_assistantToolCallIcon{color:var(--dsw-alias-label-secondary)}.Y0dWHa_assistantToolCallText{white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.Y0dWHa_assistantToolCallName{color:var(--dsw-alias-label-secondary);flex:none;margin-right:5px;font-weight:500}.Y0dWHa_assistantToolCallArgs{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Y0dWHa_systemPrompt{box-sizing:border-box}.Y0dWHa_toolCatalog{min-height:100%;padding:8px 0 16px}.Y0dWHa_toolCatalogItem{border-bottom:.5px solid var(--dsw-alias-border-l1)}.Y0dWHa_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}.Y0dWHa_toolCatalogSummary::-webkit-details-marker{display:none}.Y0dWHa_toolCatalogSummary:hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_toolCatalogSummary:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_toolCatalogChevron,.Y0dWHa_toolCatalogIcon{color:var(--dsw-alias-label-caption)}.Y0dWHa_toolCatalogChevron{transition:transform .1s var(--ds-ease-in-out)}.Y0dWHa_toolCatalogItem[open] .Y0dWHa_toolCatalogChevron{transform:rotate(90deg)}.Y0dWHa_toolCatalogName{color:var(--dsw-alias-label-primary);font:500 12px/18px var(--ds-font-family-code)}.Y0dWHa_toolCatalogDescription{min-width:0;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Y0dWHa_toolCatalogDefinition{background:var(--dsw-alias-bg-base);padding:0 0 8px 29px}.Y0dWHa_toolCatalogFullDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:0;padding:7px 14px 4px 0}.Y0dWHa_toolCatalogTree{margin-left:-14px;margin-right:6px}.Y0dWHa_resultBlocks{box-sizing:border-box;flex-direction:column;gap:10px;min-height:100%;padding:14px;display:flex}.Y0dWHa_resultBlocksPreview{gap:6px;min-height:0;padding:2px 14px 8px}.Y0dWHa_resultBlockText{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Y0dWHa_overviewPreview .Y0dWHa_noPayload{padding:2px 14px 0}.Y0dWHa_noPayload{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);margin:0;padding:18px 14px}@media (width<=760px){.Y0dWHa_details{z-index:5;border-left-color:var(--dsw-alias-border-l3);width:min(92%,420px);max-width:92%;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000024}}";
|
|
3788
|
+
const css$3 = ".Y0dWHa_split{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);background:var(--dsw-alias-bg-layer-1);flex:1;width:100%;min-height:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.Y0dWHa_tablePane{min-width:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);flex:1;position:relative;overflow:hidden auto;container:Y0dWHa_trajectory-table/inline-size}.Y0dWHa_historyLoading{z-index:5;pointer-events:none;height:0;position:sticky;top:0;overflow:visible}.Y0dWHa_historyLoadingBar{box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;height:30px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xxs-12);justify-content:center;align-items:center;gap:6px;display:flex}.Y0dWHa_table tbody .Y0dWHa_historyLoadRow td{height:30px;padding:0}.Y0dWHa_table tbody .Y0dWHa_historyLoadRow+tr[data-turn-start=true] td:before{content:none}.Y0dWHa_historyLoadButton{background:var(--dsw-alias-bg-layer-1);width:100%;height:29px;color:var(--dsw-alias-label-secondary);cursor:pointer;font:var(--dsw-font-xxs-12);border:0;justify-content:center;align-items:center;gap:6px;display:flex}.Y0dWHa_historyLoadButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Y0dWHa_historyLoadButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-2px}.Y0dWHa_historyLoadButton:disabled{cursor:default}.Y0dWHa_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.Y0dWHa_table:not([data-scroll-ready=true]){visibility:hidden}.Y0dWHa_table{--trajectory-turn-accent:color-mix(in srgb, var(--dsw-static-blue-500) 22%, var(--dsw-alias-bg-layer-1));border-spacing:0;table-layout:fixed;width:100%;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font:var(--dsw-font-xxs-12)}.Y0dWHa_eventColumn{width:122px}.Y0dWHa_eventColumn:where(:lang(zh)){width:84px}.Y0dWHa_contentColumn{width:auto}.Y0dWHa_table th{z-index:3;box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l2);height:30px;color:var(--dsw-alias-label-tertiary);background:var(--dsw-specific-sidebar-fill);font:var(--dsw-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}.Y0dWHa_eventHeader{text-align:right!important;padding-right:4px!important}.Y0dWHa_table td{box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l1);text-overflow:ellipsis;white-space:nowrap;height:30px;padding:0 8px;overflow:hidden}.Y0dWHa_table tbody .Y0dWHa_virtualSpacer{pointer-events:none}.Y0dWHa_table tbody .Y0dWHa_virtualSpacer td{height:var(--trajectory-virtual-spacer-height);border:0;padding:0}.Y0dWHa_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}.Y0dWHa_table tbody tr[data-timeline-focus=outside]{opacity:.24}.Y0dWHa_table tbody tr:not([data-collapsed-summary]):not([data-virtual-spacer]):not([data-history-load]):not([data-selected=true]):hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_table tbody tr[data-request-only=true]:hover{background:0 0}.Y0dWHa_table tbody tr[data-request-only=true] td{border-bottom:0;height:0;padding-top:0;padding-bottom:0}.Y0dWHa_table tbody tr[data-terminal-request-boundary=true] td{height:9px}.Y0dWHa_table tbody tr[data-request-only=true] .Y0dWHa_turnRail{top:-15px;bottom:0}.Y0dWHa_table tbody tr:not([data-collapsed-summary]):focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.Y0dWHa_table tbody tr[data-selected=true]{background:var(--dsw-alias-interactive-bg-active)}.Y0dWHa_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}.Y0dWHa_requestBoundaryControl:before{corner-shape:round;background:var(--dsw-alias-label-caption);width:5px;height:5px;box-shadow:0 0 0 2px var(--dsw-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}.Y0dWHa_requestBoundaryControl:after{border:.5px solid var(--dsw-alias-border-l1);width:max-content;color:var(--dsw-alias-label-secondary);background:var(--dsw-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}.Y0dWHa_requestBoundaryControl:hover:before,.Y0dWHa_requestBoundaryControl:focus-visible:before{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color)}.Y0dWHa_requestBoundaryControlActive:before,.Y0dWHa_requestBoundaryControlActive:hover:before,.Y0dWHa_requestBoundaryControlActive:focus-visible:before{background:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 18%, var(--dsw-alias-bg-layer-1));box-shadow:0 0 0 1.5px var(--dsw-alias-brand-primary-new-colorprimary-new-color)}.Y0dWHa_requestBoundaryControl[data-request-status=error]:before,.Y0dWHa_requestBoundaryControl[data-request-status=error]:hover:before,.Y0dWHa_requestBoundaryControl[data-request-status=error]:focus-visible:before{background:var(--dsw-alias-state-error-primary)}.Y0dWHa_requestBoundaryControl:hover:after,.Y0dWHa_requestBoundaryControl:focus-visible:after{opacity:1;transform:translate(0)}.Y0dWHa_requestBoundaryControl:focus-visible{outline:none}.Y0dWHa_table tbody tr:has(.Y0dWHa_requestBoundaryControl:hover):not([data-selected=true]){background:0 0}.Y0dWHa_event{position:relative}.Y0dWHa_turnRail,.Y0dWHa_selectionRail{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color);pointer-events:none;position:absolute;left:0}.Y0dWHa_turnRail{z-index:4;background:var(--trajectory-turn-accent);width:2px;top:-1px;bottom:-1px}.Y0dWHa_table tbody tr[data-turn-end=true] .Y0dWHa_turnRail{bottom:0}.Y0dWHa_selectionRail{z-index:5;width:3px;top:0;bottom:0}.Y0dWHa_table tbody tr[data-error=true] .Y0dWHa_turnRail{background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 22%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_table tbody tr[data-error=true] .Y0dWHa_selectionRail{background:var(--dsw-alias-state-error-primary)}.Y0dWHa_table tbody tr[data-turn-start=true] td{position:relative;overflow:visible}.Y0dWHa_table tbody tr[data-turn-start=true]:not(:first-child) td:before{z-index:1;background:var(--dsw-alias-border-l1);content:\"\";pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0;transform:translateY(-50%)}.Y0dWHa_event{padding-left:36px!important;padding-right:4px!important;overflow:visible!important}.Y0dWHa_turnLabel{z-index:3;box-sizing:border-box;width:max-content;color:var(--dsw-alias-label-tertiary);background:var(--dsw-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}.Y0dWHa_turnLabelFull,.Y0dWHa_turnLabelCompact{opacity:1;white-space:nowrap;grid-area:1/1;max-width:64px;overflow:hidden}.Y0dWHa_turnLabelCompact{opacity:0;max-width:0}.Y0dWHa_turnLabelActive{color:color-mix(in srgb, var(--dsw-static-blue-500) 55%, var(--dsw-alias-label-tertiary));background:var(--trajectory-turn-accent)}.Y0dWHa_eventInner{justify-content:flex-start;align-items:center;min-width:0;height:100%;display:flex}.Y0dWHa_kindSlot{flex:none;justify-content:flex-end;align-items:flex-end;width:76px;display:flex}.Y0dWHa_kindSlot:where(:lang(zh)){width:44px}.Y0dWHa_kindSlot [role=tooltip]{background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-elevation-panel);color:var(--dsw-alias-label-primary);border:0}.Y0dWHa_content{color:var(--dsw-alias-label-primary);padding-left:4px!important}.Y0dWHa_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}.Y0dWHa_kindTagIcon{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:13px;display:inline-flex;overflow:hidden;transform:scale(.8)}.Y0dWHa_kindTagLabel{opacity:1;white-space:nowrap;max-width:72px;display:inline-block;overflow:hidden}.Y0dWHa_table .Y0dWHa_kindSlot .Y0dWHa_message{justify-content:center;width:100%}@container Y0dWHa_trajectory-table (width<=620px){.Y0dWHa_eventColumn{width:50px}.Y0dWHa_event{padding-left:28px!important;padding-right:3px!important}.Y0dWHa_requestBoundaryControl{--request-boundary-base-left:6px}.Y0dWHa_kindSlot{width:19px}.Y0dWHa_kindTag,.Y0dWHa_table .Y0dWHa_kindSlot .Y0dWHa_message{justify-content:center;width:19px;padding-left:0;padding-right:0}.Y0dWHa_kindTagIcon{opacity:1;width:13px;transform:scale(1)}.Y0dWHa_kindTagLabel,.Y0dWHa_turnLabelFull{opacity:0;max-width:0}.Y0dWHa_turnLabelCompact{opacity:1;max-width:64px}}@media (prefers-reduced-motion:no-preference){.Y0dWHa_eventColumn,.Y0dWHa_event,.Y0dWHa_requestBoundaryControl,.Y0dWHa_kindSlot,.Y0dWHa_kindTag,.Y0dWHa_kindTagIcon,.Y0dWHa_kindTagLabel,.Y0dWHa_turnLabelFull,.Y0dWHa_turnLabelCompact{transition-duration:.18s;transition-timing-function:var(--ds-ease-in-out)}.Y0dWHa_eventColumn,.Y0dWHa_kindSlot{transition-property:width}.Y0dWHa_event{transition-property:padding-right,padding-left}.Y0dWHa_requestBoundaryControl{transition-property:left}.Y0dWHa_kindTag{transition-property:padding-right,padding-left}.Y0dWHa_kindTagIcon{transition-property:width,opacity,transform}.Y0dWHa_kindTagLabel,.Y0dWHa_turnLabelFull,.Y0dWHa_turnLabelCompact{transition-property:max-width,opacity}}.Y0dWHa_user{color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-tertiary)}.Y0dWHa_systemNeutral{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.Y0dWHa_contextGreen{color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 68%, var(--dsw-alias-label-secondary));background:var(--dsw-alias-state-success-tertiary)}.Y0dWHa_compacted{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.Y0dWHa_compactedSummary{font:var(--dsw-font-xs-13);margin-top:12px;padding:0 0 14px}.Y0dWHa_promptDiffSections{flex-direction:column;gap:14px;max-height:100%;padding:10px 14px 14px;display:flex;overflow:auto}.Y0dWHa_promptDiffSection{min-width:0}.Y0dWHa_promptDiffTitle{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0 0 6px}.Y0dWHa_promptDiff{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-layer-1);font:11px/17px var(--ds-font-family-code);white-space:pre;margin:0;overflow:auto}.Y0dWHa_promptDiff span{min-width:max-content;padding:0 6px;display:block}.Y0dWHa_promptDiffLinemeta{color:var(--dsw-alias-label-caption);background:var(--dsw-alias-bg-module-platform);user-select:none}.Y0dWHa_promptDiffLinecontext{color:var(--dsw-alias-label-secondary)}.Y0dWHa_promptDiffLineadded{color:color-mix(in srgb, var(--dsw-alias-state-success-primary) 72%, var(--dsw-alias-label-primary));background:var(--dsw-alias-state-success-tertiary)}.Y0dWHa_promptDiffLineremoved{color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 12%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_assistantVioletBright{color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 60%, var(--dsw-alias-state-error-secondary));background:color-mix(in srgb, color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 55%, var(--dsw-alias-state-error-secondary)) 15%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_toolAmber{color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary)}.Y0dWHa_subtoolAmber{color:color-mix(in srgb, var(--dsw-alias-state-warn-label) 62%, var(--dsw-alias-label-tertiary));background:color-mix(in srgb, var(--dsw-alias-state-warn-tertiary) 58%, var(--dsw-alias-bg-layer-1))}.Y0dWHa_contentText{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.Y0dWHa_toolCallOnly{color:var(--dsw-alias-label-tertiary)}.Y0dWHa_table tbody tr[data-collapsed-summary=turn] td,.Y0dWHa_table tbody tr[data-collapsed-summary=assistant] td{height:20px}.Y0dWHa_table tbody tr[data-collapsed-summary]{cursor:pointer;transition:background-color .12s var(--ds-ease-in-out);outline:none}.Y0dWHa_table tbody tr[data-collapsed-summary]:hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_table tbody tr[data-collapsed-summary]:focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.Y0dWHa_collapsedTurnContent{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;font-size:12px;line-height:16px;display:flex}.Y0dWHa_collapsedTurnEllipsis{color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;margin-right:6px;font-weight:600}.Y0dWHa_collapsedTurnText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Y0dWHa_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}.Y0dWHa_resultRequest,.Y0dWHa_inlineResultText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Y0dWHa_toolCallNameTypeface{color:var(--dsw-alias-label-primary);font:400 12px/18px Menlo,Consolas,Liberation Mono,PingFang SC,Microsoft YaHei}.Y0dWHa_toolCallPayload{color:var(--dsw-alias-label-secondary);font:400 12px/18px var(--ds-font-family-code);margin-left:7px}.Y0dWHa_table tbody tr[data-kind=tool] .Y0dWHa_contentText,.Y0dWHa_table tbody tr[data-kind=subtool] .Y0dWHa_contentText,.Y0dWHa_table tbody tr[data-kind=tool] .Y0dWHa_resultPreview,.Y0dWHa_table tbody tr[data-kind=subtool] .Y0dWHa_resultPreview{font-family:var(--ds-font-family-code);font-size:12px}.Y0dWHa_table tbody tr[data-kind=subtool] .Y0dWHa_content{padding-left:26px}.Y0dWHa_inlineResult{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;display:flex}.Y0dWHa_noOutputText{color:var(--dsw-alias-label-caption)}.Y0dWHa_arrow{color:var(--dsw-alias-label-caption);flex:none;margin-right:8px}.Y0dWHa_error,.Y0dWHa_overview dd.Y0dWHa_error,.Y0dWHa_details .Y0dWHa_errorPayload{color:var(--dsw-alias-state-error-primary)}.Y0dWHa_details .Y0dWHa_errorPayload .Y0dWHa_resultBlockText{color:inherit}.Y0dWHa_details .Y0dWHa_jsonPayload.Y0dWHa_errorPayload,.Y0dWHa_details .Y0dWHa_jsonPreview.Y0dWHa_errorPayload{--json-tree-property:var(--dsw-alias-state-error-primary);--json-tree-string:var(--dsw-alias-state-error-primary);--json-tree-number:var(--dsw-alias-state-error-primary);--json-tree-keyword:var(--dsw-alias-state-error-primary);--json-tree-punctuation:var(--dsw-alias-state-error-primary);--json-tree-icon:var(--dsw-alias-state-error-primary)}.Y0dWHa_details{border-left:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-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}.Y0dWHa_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}.Y0dWHa_detailsResizeHandle:focus-visible{outline:none}.Y0dWHa_detailsHeader{box-sizing:border-box;border-bottom:.5px solid var(--dsw-alias-border-l2);flex:none;justify-content:space-between;align-items:center;height:42px;padding:0 8px 0 12px;display:flex}.Y0dWHa_detailsTitle{min-width:0;color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.Y0dWHa_requestDetailsDot{corner-shape:round;background:var(--dsw-alias-label-secondary);border-radius:50%;flex:none;width:5px;height:5px}.Y0dWHa_requestDetailsName{font:500 12px/16px var(--ds-font-family-code);flex:none}.Y0dWHa_detailsLocation{min-width:0;color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Y0dWHa_close{width:28px;height:28px;color:var(--dsw-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}.Y0dWHa_close:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_detailTabs{box-sizing:border-box;border-bottom:.5px solid var(--dsw-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}.Y0dWHa_detailTabs::-webkit-scrollbar{display:none}.Y0dWHa_detailTab{color:var(--dsw-alias-label-tertiary);cursor:pointer;font:var(--dsw-font-xs-13);background:0 0;border:0;flex:none;padding:0 9px;position:relative}.Y0dWHa_detailTab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_detailTabActive{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_detailTabActive:after{background:var(--dsw-alias-state-business-primary);content:\"\";border-radius:1px 1px 0 0;height:2px;position:absolute;bottom:0;left:9px;right:9px}.Y0dWHa_close:focus-visible,.Y0dWHa_detailTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_detailBody{min-height:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);scrollbar-gutter:stable;flex:1;overflow:hidden auto}.Y0dWHa_detailBodySummary{box-sizing:border-box;padding-bottom:calc(12px + var(--dsh-trajectory-bottom-clearance,0px));flex-direction:column;display:flex;overflow:hidden}.Y0dWHa_detailBodySummary>.Y0dWHa_overview{overscroll-behavior:contain;flex:0 auto;min-height:0;padding-bottom:0;overflow:auto}.Y0dWHa_detailBodySummary>.Y0dWHa_compactedSummary{flex:1;min-height:0;overflow:auto}.Y0dWHa_summaryScrollRegion{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.Y0dWHa_summaryScrollRegion:hover,.Y0dWHa_summaryScrollRegion:focus-within{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2)}.Y0dWHa_compactedSummary .Y0dWHa_markdownPayload{padding-right:18px}.Y0dWHa_overview{font:var(--dsw-font-xs-13);margin:0;padding:8px 0}.Y0dWHa_overviewParentLinks{gap:14px;display:flex}.Y0dWHa_overviewHierarchyNavLink{all:unset;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;opacity:1;align-items:center;gap:1px;display:inline-flex}.Y0dWHa_overviewHierarchyNavLink:hover{color:var(--dsw-alias-label-primary)}.Y0dWHa_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-caption);flex:none}.Y0dWHa_overviewHierarchyNavLink:hover .Y0dWHa_overviewHierarchyJumpIconTight,.Y0dWHa_overviewHierarchyNavLink:focus-visible .Y0dWHa_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-primary)}.Y0dWHa_overviewHierarchyNavLink:focus-visible{color:var(--dsw-alias-label-primary);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_overview>div{grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:22px;padding:0 14px;display:grid}.Y0dWHa_overview>.Y0dWHa_requestTokenDetail dt{padding-left:12px}.Y0dWHa_usagePanel{padding:4px 0 10px}.Y0dWHa_usageGroup+.Y0dWHa_usageGroup{margin-top:8px}.Y0dWHa_usageHeading{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0;padding:4px 14px 1px}.Y0dWHa_usageGroup .Y0dWHa_overview{padding:0}.Y0dWHa_overview dt{color:var(--dsw-alias-label-tertiary)}.Y0dWHa_overview dd{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.Y0dWHa_timestampToggle{all:unset;color:inherit;cursor:pointer;font:inherit;user-select:text}.Y0dWHa_timestampToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_overviewSections{border-top:0;flex-direction:column;flex:1;min-height:min-content;display:flex;overflow:hidden}.Y0dWHa_overviewSection{flex-direction:column;flex:1 1 0;min-height:24px;max-height:max-content;display:flex;overflow:hidden}.Y0dWHa_overviewSection+.Y0dWHa_overviewSection{padding-top:2px}.Y0dWHa_overviewHeading{box-sizing:border-box;width:100%;height:24px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-layer-1);font:var(--dsw-font-xs-strong-13);user-select:none;flex:none;align-items:flex-end;margin:0;padding:0 0 3px 14px;display:flex}.Y0dWHa_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}.Y0dWHa_overviewTitleIcon{color:var(--dsw-alias-label-caption);flex:none}.Y0dWHa_overviewTitle:hover .Y0dWHa_overviewTitleIcon{color:var(--dsw-alias-label-primary)}.Y0dWHa_overviewTitle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_overviewTitle:focus-visible .Y0dWHa_overviewTitleIcon{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_overviewPreview{overscroll-behavior:contain;background:var(--dsw-alias-bg-layer-1);flex:1;min-height:0;overflow:auto}.Y0dWHa_overviewPreview[data-scroll-more]{mask-image:linear-gradient(#000 calc(100% - 12px),#0000)}.Y0dWHa_overviewPreview>:last-child{margin-bottom:0;padding-bottom:0}.Y0dWHa_programDescription{color:var(--dsw-alias-label-primary);font:var(--dsw-font-xs-13);white-space:pre-wrap;overflow-wrap:anywhere;flex:none;margin:0;padding:8px 14px 2px}.Y0dWHa_programIcon{vertical-align:-2px;margin-right:4px}.Y0dWHa_programSummary{font-family:var(--dsw-font-family);margin-left:5px}.Y0dWHa_detailBodyProgram,.Y0dWHa_programPanel{flex-direction:column;min-height:0;display:flex;overflow:hidden}.Y0dWHa_programPanel{background:var(--dsw-alias-bg-layer-1);flex:1}.Y0dWHa_programActions{flex:none;align-items:center;gap:4px;height:16px;margin-left:auto;padding-right:14px;display:inline-flex}.Y0dWHa_programLanguage{color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code);padding-right:4px}.Y0dWHa_programAction{box-sizing:border-box;width:20px;height:16px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.Y0dWHa_programAction:hover{color:var(--dsw-alias-label-primary)}.Y0dWHa_programAction[aria-pressed=true]{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_programAction[data-state=failed]{color:var(--dsw-alias-state-error-primary)}.Y0dWHa_programAction:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_programContent{min-width:0;min-height:0}.Y0dWHa_programPanel>.Y0dWHa_programContent{overscroll-behavior:contain;flex:1;overflow:auto}.Y0dWHa_programSource{background:var(--dsw-alias-bg-layer-1);--dsl-code-block-line-white-space:pre;border-radius:0;margin:0!important}.Y0dWHa_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(--dsw-alias-bg-layer-1)!important}.Y0dWHa_programSource pre code>.line{box-sizing:border-box;width:max-content;min-width:100%}.Y0dWHa_programContent[data-wrap=true] .Y0dWHa_programSource{--dsl-code-block-line-white-space:pre-wrap}.Y0dWHa_programContent[data-wrap=true] .Y0dWHa_programSource pre code>.line{overflow-wrap:anywhere;word-break:break-all;width:auto}.Y0dWHa_programOutput{color:var(--dsw-alias-label-primary);font:12px/16px var(--ds-font-family-code);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:2px 14px 8px}.Y0dWHa_programError:first-line{color:var(--dsw-alias-state-error-primary);font-weight:600}.Y0dWHa_overviewPreview .Y0dWHa_jsonPreview>:first-child,.Y0dWHa_overviewPreview .Y0dWHa_schemaTree>:first-child{padding-top:2px;padding-bottom:0}.Y0dWHa_overviewPreview .Y0dWHa_schemaTree{margin-bottom:0}.Y0dWHa_overviewPreview .Y0dWHa_overview{padding:2px 0 0}.Y0dWHa_overviewPreview .Y0dWHa_overview>div{min-height:22px}.Y0dWHa_markdownPreview,.Y0dWHa_markdownPayload{color:var(--dsw-alias-label-primary)}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]),.Y0dWHa_markdownPayload>div:not([data-markdown-variant=compact]){font:var(--dsw-font-xs-13);gap:8px}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) h1,.Y0dWHa_markdownPayload>div:not([data-markdown-variant=compact]) h1{font:600 16px/22px var(--dsw-font-family)}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) h2,.Y0dWHa_markdownPayload>div:not([data-markdown-variant=compact]) h2{font:600 15px/22px var(--dsw-font-family)}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) :where(h3,h4,h5,h6),.Y0dWHa_markdownPayload>div:not([data-markdown-variant=compact]) :where(h3,h4,h5,h6){font:600 14px/20px var(--dsw-font-family)}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) :not(pre)>code,.Y0dWHa_markdownPayload>div:not([data-markdown-variant=compact]) :not(pre)>code{font:12px/18px var(--ds-font-family-code)}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) table,.Y0dWHa_markdownPayload>div:not([data-markdown-variant=compact]) table{font:var(--dsw-font-xs-13)}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact])>:first-child{margin-top:0}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact])>:last-child{margin-bottom:0}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) :where(h1,h2,h3){margin:12px 0 6px}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) :where(h4,h5,h6){margin:10px 0 5px}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) :where(p,ul,ol){margin:8px 0}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) li:not(:first-child){margin-top:3px}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) blockquote{margin-top:8px}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact]) hr{margin:14px 0}.Y0dWHa_markdownPreview>div:not([data-markdown-variant=compact])>.md-code-block{margin:10px 0}.Y0dWHa_assistantContent .Y0dWHa_markdownPayload,.Y0dWHa_assistantContent .Y0dWHa_payload{min-height:0}.Y0dWHa_thinkingQuote{--dsh-content-font-size-secondary:13px;--dsh-content-font-delta-secondary:0px;border-left:2px solid var(--dsw-alias-markdown-citation);color:var(--dsw-alias-label-secondary);background:0 0;margin:6px 14px 0 12px;padding-left:6px}.Y0dWHa_thinkingQuoteOnlyPreview{margin-bottom:8px}.Y0dWHa_detailBody>.Y0dWHa_assistantContentRendered .Y0dWHa_thinkingQuote{margin-top:14px}.Y0dWHa_thinkingToggle{width:max-content;height:18px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:600 12px/18px var(--dsw-font-family);user-select:none;background:0 0;border:0;align-items:center;gap:2px;padding:0;display:flex}.Y0dWHa_thinkingChevron{transition:transform .12s var(--ds-ease-in-out);flex:none}.Y0dWHa_thinkingToggle[aria-expanded=true] .Y0dWHa_thinkingChevron{transform:rotate(90deg)}.Y0dWHa_thinkingToggle:hover{color:var(--dsw-alias-label-secondary)}.Y0dWHa_thinkingToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_thinkingQuote .Y0dWHa_markdownPreview,.Y0dWHa_thinkingQuote .Y0dWHa_markdownPayload,.Y0dWHa_thinkingQuote .Y0dWHa_payload{min-height:0;color:var(--dsw-alias-label-secondary);background:0 0;padding:2px 0}.Y0dWHa_assistantOutput{background:var(--dsw-alias-bg-layer-1)}.Y0dWHa_markdownPreview{padding:2px 14px 8px}.Y0dWHa_markdownPayload{min-height:100%;padding:14px}.Y0dWHa_jsonPayload{min-height:100%}.Y0dWHa_jsonPreview{min-height:0}.Y0dWHa_schema{background:var(--dsw-alias-bg-layer-1);min-height:100%}.Y0dWHa_schemaPreview{min-height:0}.Y0dWHa_schemaIntro{padding:12px 14px 6px}.Y0dWHa_schemaPreview .Y0dWHa_schemaIntro{padding-top:2px}.Y0dWHa_schemaName{color:var(--dsw-alias-label-primary);font:600 12px/18px var(--ds-font-family-code);margin:0}.Y0dWHa_schemaDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:2px 0 0}.Y0dWHa_schemaParameters{min-width:0}.Y0dWHa_schemaParametersTitle{color:var(--dsw-alias-label-tertiary);font:600 11px/16px var(--dsw-font-family);user-select:none;margin:0;padding:4px 14px 2px}.Y0dWHa_schemaTree{margin:0 6px 8px 0}.Y0dWHa_payload{box-sizing:border-box;overflow-wrap:anywhere;min-height:100%;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;margin:0;padding:14px}.Y0dWHa_payloadPreview{min-height:0;padding:2px 14px 8px}.Y0dWHa_sourceBlocks{box-sizing:border-box;min-height:100%;padding:12px 14px}.Y0dWHa_sourceBlock+.Y0dWHa_sourceBlock{margin-top:14px}.Y0dWHa_sourceBlockHeader,.Y0dWHa_sourceBlockJumpTarget{user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Y0dWHa_sourceBlockJumpTarget{all:unset;cursor:pointer;user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.Y0dWHa_sourceBlockLabel{color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code)}.Y0dWHa_sourceBlockJumpIcon{color:var(--dsw-alias-label-caption);flex:none}.Y0dWHa_sourceBlockJumpTarget:hover .Y0dWHa_sourceBlockJumpIcon{color:var(--dsw-alias-label-primary)}.Y0dWHa_sourceBlockJumpTarget:focus-visible{outline:none}.Y0dWHa_sourceBlockJumpTarget:focus-visible .Y0dWHa_sourceBlockJumpIcon{color:var(--dsw-alias-state-business-primary)}.Y0dWHa_sourceBlockContent{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Y0dWHa_messageImages{flex-direction:column;gap:8px;margin:8px 14px 14px;display:flex}.Y0dWHa_attachments{flex-direction:column;gap:8px;margin:8px 14px 14px;padding:0;list-style:none;display:flex}.Y0dWHa_attachmentsPreview{gap:6px;margin-block:6px 8px}.Y0dWHa_attachmentRow{border:.5px solid var(--dsw-alias-border-l2-darkmode-thin);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:8px;display:flex}.Y0dWHa_attachmentIcon{flex:0 0 48px;place-items:center;width:48px;height:48px;display:grid}.Y0dWHa_attachmentInfo{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.Y0dWHa_attachmentName{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.Y0dWHa_attachmentMetadata{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.Y0dWHa_attachmentDisclosure{border:.5px solid var(--dsw-alias-border-l2-darkmode-thin);border-radius:8px;margin-block:8px}.Y0dWHa_attachmentDisclosure>summary{cursor:pointer;padding:8px}.Y0dWHa_attachmentDisclosure>summary .Y0dWHa_attachmentName{display:block}.Y0dWHa_attachmentDisclosure>summary:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.Y0dWHa_attachmentDisclosure>pre{padding:0 8px 8px}.Y0dWHa_assistantToolCalls{box-sizing:border-box;max-width:100%;color:var(--dsw-alias-label-secondary);font:11px/17px var(--ds-font-family-code);margin:2px 14px 12px;padding:0;list-style:none}.Y0dWHa_assistantToolCallsPreview{margin-top:2px;margin-bottom:8px}.Y0dWHa_assistantToolCalls li{min-width:0}.Y0dWHa_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}.Y0dWHa_assistantToolCallButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_assistantToolCallButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_assistantToolCallIcon{color:var(--dsw-alias-label-caption);flex:none;margin-right:5px}.Y0dWHa_assistantToolCallButton:hover .Y0dWHa_assistantToolCallIcon,.Y0dWHa_assistantToolCallButton:focus-visible .Y0dWHa_assistantToolCallIcon{color:var(--dsw-alias-label-secondary)}.Y0dWHa_assistantToolCallText{white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.Y0dWHa_assistantToolCallName{color:var(--dsw-alias-label-secondary);flex:none;margin-right:5px;font-weight:500}.Y0dWHa_assistantToolCallArgs{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Y0dWHa_systemPrompt{box-sizing:border-box}.Y0dWHa_toolCatalog{min-height:100%;padding:8px 0 16px}.Y0dWHa_toolCatalogItem{border-bottom:.5px solid var(--dsw-alias-border-l1)}.Y0dWHa_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}.Y0dWHa_toolCatalogSummary::-webkit-details-marker{display:none}.Y0dWHa_toolCatalogSummary:hover{background:var(--dsw-alias-interactive-bg-hover)}.Y0dWHa_toolCatalogSummary:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.Y0dWHa_toolCatalogChevron,.Y0dWHa_toolCatalogIcon{color:var(--dsw-alias-label-caption)}.Y0dWHa_toolCatalogChevron{transition:transform .1s var(--ds-ease-in-out)}.Y0dWHa_toolCatalogItem[open] .Y0dWHa_toolCatalogChevron{transform:rotate(90deg)}.Y0dWHa_toolCatalogName{color:var(--dsw-alias-label-primary);font:500 12px/18px var(--ds-font-family-code)}.Y0dWHa_toolCatalogDescription{min-width:0;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Y0dWHa_toolCatalogDefinition{background:var(--dsw-alias-bg-base);padding:0 0 8px 29px}.Y0dWHa_toolCatalogFullDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:0;padding:7px 14px 4px 0}.Y0dWHa_toolCatalogTree{margin-left:-14px;margin-right:6px}.Y0dWHa_resultBlocks{box-sizing:border-box;flex-direction:column;gap:10px;min-height:100%;padding:14px;display:flex}.Y0dWHa_resultBlocksPreview{gap:6px;min-height:0;padding:2px 14px 8px}.Y0dWHa_resultBlockText{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);font:12px/19px var(--ds-font-family-code);tab-size:2;white-space:pre-wrap;background:0 0;margin:0}.Y0dWHa_overviewPreview .Y0dWHa_noPayload{padding:2px 14px 0}.Y0dWHa_noPayload{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);margin:0;padding:18px 14px}@media (width<=760px){.Y0dWHa_details{z-index:5;border-left-color:var(--dsw-alias-border-l3);width:min(92%,420px);max-width:92%;position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px #00000024}}";
|
|
3785
3789
|
const tagId$3 = "@deepseek-ai/dsh-client-ui-trajectory/TrajectoryTable.module.css";
|
|
3786
3790
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
3787
3791
|
const tag = document.createElement("style");
|
|
@@ -3803,6 +3807,14 @@ window.__ModuleLoader__.load({
|
|
|
3803
3807
|
"assistantToolCalls": "Y0dWHa_assistantToolCalls",
|
|
3804
3808
|
"assistantToolCallsPreview": "Y0dWHa_assistantToolCallsPreview",
|
|
3805
3809
|
"assistantVioletBright": "Y0dWHa_assistantVioletBright",
|
|
3810
|
+
"attachmentDisclosure": "Y0dWHa_attachmentDisclosure",
|
|
3811
|
+
"attachmentIcon": "Y0dWHa_attachmentIcon",
|
|
3812
|
+
"attachmentInfo": "Y0dWHa_attachmentInfo",
|
|
3813
|
+
"attachmentMetadata": "Y0dWHa_attachmentMetadata",
|
|
3814
|
+
"attachmentName": "Y0dWHa_attachmentName",
|
|
3815
|
+
"attachmentRow": "Y0dWHa_attachmentRow",
|
|
3816
|
+
"attachments": "Y0dWHa_attachments",
|
|
3817
|
+
"attachmentsPreview": "Y0dWHa_attachmentsPreview",
|
|
3806
3818
|
"close": "Y0dWHa_close",
|
|
3807
3819
|
"collapsedTurnContent": "Y0dWHa_collapsedTurnContent",
|
|
3808
3820
|
"collapsedTurnEllipsis": "Y0dWHa_collapsedTurnEllipsis",
|
|
@@ -3830,12 +3842,10 @@ window.__ModuleLoader__.load({
|
|
|
3830
3842
|
"eventColumn": "Y0dWHa_eventColumn",
|
|
3831
3843
|
"eventHeader": "Y0dWHa_eventHeader",
|
|
3832
3844
|
"eventInner": "Y0dWHa_eventInner",
|
|
3833
|
-
"history-loading-spin": "Y0dWHa_history-loading-spin",
|
|
3834
3845
|
"historyLoadButton": "Y0dWHa_historyLoadButton",
|
|
3835
3846
|
"historyLoadRow": "Y0dWHa_historyLoadRow",
|
|
3836
3847
|
"historyLoading": "Y0dWHa_historyLoading",
|
|
3837
3848
|
"historyLoadingBar": "Y0dWHa_historyLoadingBar",
|
|
3838
|
-
"historyLoadingSpinner": "Y0dWHa_historyLoadingSpinner",
|
|
3839
3849
|
"inlineResult": "Y0dWHa_inlineResult",
|
|
3840
3850
|
"inlineResultText": "Y0dWHa_inlineResultText",
|
|
3841
3851
|
"jsonPayload": "Y0dWHa_jsonPayload",
|
|
@@ -3848,7 +3858,6 @@ window.__ModuleLoader__.load({
|
|
|
3848
3858
|
"markdownPreview": "Y0dWHa_markdownPreview",
|
|
3849
3859
|
"message": "Y0dWHa_message",
|
|
3850
3860
|
"messageImages": "Y0dWHa_messageImages",
|
|
3851
|
-
"messageImagesPreview": "Y0dWHa_messageImagesPreview",
|
|
3852
3861
|
"noOutputText": "Y0dWHa_noOutputText",
|
|
3853
3862
|
"noPayload": "Y0dWHa_noPayload",
|
|
3854
3863
|
"overview": "Y0dWHa_overview",
|
|
@@ -4032,11 +4041,11 @@ window.__ModuleLoader__.load({
|
|
|
4032
4041
|
});
|
|
4033
4042
|
}
|
|
4034
4043
|
const KIND_ICON = {
|
|
4035
|
-
system: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4036
|
-
user: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4044
|
+
system: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSettingsOutlineRegular, { size: 13 }),
|
|
4045
|
+
user: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconUserOutlineRegular, { size: 13 }),
|
|
4037
4046
|
context: (0, react_jsx_runtime.jsx)(InformationIcon, {}),
|
|
4038
4047
|
compacted: (0, react_jsx_runtime.jsx)(CompactedIcon, {}),
|
|
4039
|
-
message: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4048
|
+
message: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSparkleRegular, { size: 13 }),
|
|
4040
4049
|
tool: (0, react_jsx_runtime.jsx)(ToolWrenchIcon, {}),
|
|
4041
4050
|
subtool: (0, react_jsx_runtime.jsx)(ToolWrenchIcon, {})
|
|
4042
4051
|
};
|
|
@@ -4475,10 +4484,6 @@ window.__ModuleLoader__.load({
|
|
|
4475
4484
|
const properties = source;
|
|
4476
4485
|
const kind = properties.kind;
|
|
4477
4486
|
if (kind === "user") return t("source.user");
|
|
4478
|
-
if (kind === "plugin") {
|
|
4479
|
-
const plugin = properties.plugin;
|
|
4480
|
-
return typeof plugin === "string" && plugin !== "" ? t("source.pluginNamed", { plugin }) : t("source.plugin");
|
|
4481
|
-
}
|
|
4482
4487
|
if (kind === "goal") {
|
|
4483
4488
|
const round = properties.round;
|
|
4484
4489
|
return typeof round === "number" && round > 0 ? t("source.goalRound", { round }) : t("source.goal");
|
|
@@ -4645,7 +4650,7 @@ window.__ModuleLoader__.load({
|
|
|
4645
4650
|
if (toolCallText === void 0) return displayText || "—";
|
|
4646
4651
|
return (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsxs)("span", {
|
|
4647
4652
|
className: TrajectoryTable_module_css_default.toolCallNameTypeface,
|
|
4648
|
-
children: [toolCallText.program && (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4653
|
+
children: [toolCallText.program && (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, {
|
|
4649
4654
|
className: TrajectoryTable_module_css_default.programIcon,
|
|
4650
4655
|
size: 12
|
|
4651
4656
|
}), toolCallText.name || "—"]
|
|
@@ -4654,13 +4659,14 @@ window.__ModuleLoader__.load({
|
|
|
4654
4659
|
children: toolCallText.args
|
|
4655
4660
|
})] });
|
|
4656
4661
|
}
|
|
4657
|
-
function MarkdownFragment({ text, rendered, preview, t }) {
|
|
4662
|
+
function MarkdownFragment({ text, rendered, preview, variant = "body", t }) {
|
|
4658
4663
|
const labels = (0, react.useMemo)(() => markdownLabels(t), [t]);
|
|
4659
4664
|
if (rendered) return (0, react_jsx_runtime.jsx)("div", {
|
|
4660
4665
|
className: preview ? TrajectoryTable_module_css_default.markdownPreview : TrajectoryTable_module_css_default.markdownPayload,
|
|
4661
4666
|
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.MarkdownText, {
|
|
4662
4667
|
text,
|
|
4663
|
-
labels
|
|
4668
|
+
labels,
|
|
4669
|
+
variant
|
|
4664
4670
|
})
|
|
4665
4671
|
});
|
|
4666
4672
|
return (0, react_jsx_runtime.jsx)("pre", {
|
|
@@ -4668,60 +4674,113 @@ window.__ModuleLoader__.load({
|
|
|
4668
4674
|
children: text
|
|
4669
4675
|
});
|
|
4670
4676
|
}
|
|
4671
|
-
function SourceBlocks({ blocks, onOpenCall,
|
|
4677
|
+
function SourceBlocks({ blocks, onOpenCall, t }) {
|
|
4678
|
+
const attachments = new Map(recordAttachments(blocks, t).map((entry) => [entry.index, entry]));
|
|
4672
4679
|
return (0, react_jsx_runtime.jsx)("div", {
|
|
4673
4680
|
className: TrajectoryTable_module_css_default.sourceBlocks,
|
|
4674
|
-
children: blocks.map((block, index) =>
|
|
4675
|
-
|
|
4676
|
-
|
|
4677
|
-
|
|
4678
|
-
|
|
4679
|
-
"aria-label": t("block.openSummary", { index: index + 1 }),
|
|
4680
|
-
title: t("block.openSummaryTitle"),
|
|
4681
|
-
onClick: () => {
|
|
4682
|
-
if (block.callId !== void 0) onOpenCall(block.callId);
|
|
4683
|
-
},
|
|
4684
|
-
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
4681
|
+
children: blocks.map((block, index) => {
|
|
4682
|
+
const attachment = attachments.get(index);
|
|
4683
|
+
return attachment !== void 0 ? (0, react_jsx_runtime.jsxs)("details", {
|
|
4684
|
+
className: TrajectoryTable_module_css_default.attachmentDisclosure,
|
|
4685
|
+
children: [(0, react_jsx_runtime.jsxs)("summary", { children: [(0, react_jsx_runtime.jsx)("span", {
|
|
4685
4686
|
className: TrajectoryTable_module_css_default.sourceBlockLabel,
|
|
4686
4687
|
children: t("block.label", {
|
|
4687
4688
|
index: index + 1,
|
|
4688
4689
|
type: block.type
|
|
4689
4690
|
})
|
|
4690
|
-
}), (0, react_jsx_runtime.jsx)(
|
|
4691
|
-
className: TrajectoryTable_module_css_default.
|
|
4692
|
-
|
|
4691
|
+
}), (0, react_jsx_runtime.jsx)("span", {
|
|
4692
|
+
className: TrajectoryTable_module_css_default.attachmentName,
|
|
4693
|
+
title: attachment.name,
|
|
4694
|
+
children: attachment.name
|
|
4695
|
+
})] }), (0, react_jsx_runtime.jsx)("pre", {
|
|
4696
|
+
className: TrajectoryTable_module_css_default.sourceBlockContent,
|
|
4697
|
+
children: block.content
|
|
4693
4698
|
})]
|
|
4694
|
-
}) : (0, react_jsx_runtime.
|
|
4695
|
-
className: TrajectoryTable_module_css_default.
|
|
4696
|
-
children: (0, react_jsx_runtime.
|
|
4697
|
-
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
|
|
4699
|
+
}, index) : (0, react_jsx_runtime.jsxs)("section", {
|
|
4700
|
+
className: TrajectoryTable_module_css_default.sourceBlock,
|
|
4701
|
+
children: [block.callId !== void 0 ? (0, react_jsx_runtime.jsxs)("button", {
|
|
4702
|
+
type: "button",
|
|
4703
|
+
className: TrajectoryTable_module_css_default.sourceBlockJumpTarget,
|
|
4704
|
+
"aria-label": t("block.openSummary", { index: index + 1 }),
|
|
4705
|
+
title: t("block.openSummaryTitle"),
|
|
4706
|
+
onClick: () => {
|
|
4707
|
+
if (block.callId !== void 0) onOpenCall(block.callId);
|
|
4708
|
+
},
|
|
4709
|
+
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
4710
|
+
className: TrajectoryTable_module_css_default.sourceBlockLabel,
|
|
4711
|
+
children: t("block.label", {
|
|
4712
|
+
index: index + 1,
|
|
4713
|
+
type: block.type
|
|
4714
|
+
})
|
|
4715
|
+
}), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
4716
|
+
className: TrajectoryTable_module_css_default.sourceBlockJumpIcon,
|
|
4717
|
+
size: 12
|
|
4718
|
+
})]
|
|
4719
|
+
}) : (0, react_jsx_runtime.jsx)("div", {
|
|
4720
|
+
className: TrajectoryTable_module_css_default.sourceBlockHeader,
|
|
4721
|
+
children: (0, react_jsx_runtime.jsx)("span", {
|
|
4722
|
+
className: TrajectoryTable_module_css_default.sourceBlockLabel,
|
|
4723
|
+
children: t("block.label", {
|
|
4724
|
+
index: index + 1,
|
|
4725
|
+
type: block.type
|
|
4726
|
+
})
|
|
4701
4727
|
})
|
|
4702
|
-
})
|
|
4703
|
-
|
|
4704
|
-
|
|
4705
|
-
|
|
4706
|
-
}
|
|
4707
|
-
|
|
4708
|
-
children: block.content
|
|
4709
|
-
})]
|
|
4710
|
-
}, index))
|
|
4728
|
+
}), (0, react_jsx_runtime.jsx)("pre", {
|
|
4729
|
+
className: TrajectoryTable_module_css_default.sourceBlockContent,
|
|
4730
|
+
children: block.content
|
|
4731
|
+
})]
|
|
4732
|
+
}, index);
|
|
4733
|
+
})
|
|
4711
4734
|
});
|
|
4712
4735
|
}
|
|
4713
|
-
function
|
|
4714
|
-
|
|
4736
|
+
function recordAttachments(blocks, t) {
|
|
4737
|
+
let imageIndex = 0;
|
|
4738
|
+
return (blocks ?? []).flatMap((block, index) => {
|
|
4739
|
+
const ref = block.attachment ?? block.file;
|
|
4740
|
+
if (ref === void 0) return [];
|
|
4741
|
+
if (block.attachment !== void 0) imageIndex += 1;
|
|
4742
|
+
return [{
|
|
4743
|
+
block,
|
|
4744
|
+
index,
|
|
4745
|
+
name: ref.name ?? t("attachment.imageName", { index: imageIndex }),
|
|
4746
|
+
metadata: [
|
|
4747
|
+
block.attachment?.mediaType ?? (0, _deepseek_ai_dsh_client_ui_primitives.fileExtension)(ref.name ?? "").toUpperCase(),
|
|
4748
|
+
(0, _deepseek_ai_dsh_client_ui_primitives.fileSizeText)(ref.bytes),
|
|
4749
|
+
...block.attachment === void 0 ? [] : [`${block.attachment.width} × ${block.attachment.height}`]
|
|
4750
|
+
].filter(Boolean).join(" · ")
|
|
4751
|
+
}];
|
|
4752
|
+
});
|
|
4715
4753
|
}
|
|
4716
|
-
function
|
|
4717
|
-
const
|
|
4718
|
-
if (
|
|
4719
|
-
return (0, react_jsx_runtime.jsx)("
|
|
4720
|
-
className: preview ? `${TrajectoryTable_module_css_default.
|
|
4721
|
-
|
|
4722
|
-
|
|
4723
|
-
|
|
4724
|
-
|
|
4754
|
+
function RecordAttachments({ blocks, preview, renderImages, t }) {
|
|
4755
|
+
const attachments = recordAttachments(blocks, t);
|
|
4756
|
+
if (attachments.length === 0) return null;
|
|
4757
|
+
return (0, react_jsx_runtime.jsx)("ul", {
|
|
4758
|
+
className: preview ? `${TrajectoryTable_module_css_default.attachments} ${TrajectoryTable_module_css_default.attachmentsPreview}` : TrajectoryTable_module_css_default.attachments,
|
|
4759
|
+
"aria-label": t("attachment.list"),
|
|
4760
|
+
children: attachments.map(({ block, index, name, metadata }) => (0, react_jsx_runtime.jsxs)("li", {
|
|
4761
|
+
className: TrajectoryTable_module_css_default.attachmentRow,
|
|
4762
|
+
children: [block.attachment !== void 0 ? renderImages({
|
|
4763
|
+
images: [{
|
|
4764
|
+
attachment: block.attachment,
|
|
4765
|
+
label: name
|
|
4766
|
+
}],
|
|
4767
|
+
align: "start",
|
|
4768
|
+
thumbnail: true
|
|
4769
|
+
}) : (0, react_jsx_runtime.jsx)("span", {
|
|
4770
|
+
className: TrajectoryTable_module_css_default.attachmentIcon,
|
|
4771
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.FileTypeIcon, { path: name })
|
|
4772
|
+
}), (0, react_jsx_runtime.jsxs)("div", {
|
|
4773
|
+
className: TrajectoryTable_module_css_default.attachmentInfo,
|
|
4774
|
+
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
4775
|
+
className: TrajectoryTable_module_css_default.attachmentName,
|
|
4776
|
+
title: name,
|
|
4777
|
+
children: name
|
|
4778
|
+
}), (0, react_jsx_runtime.jsx)("span", {
|
|
4779
|
+
className: TrajectoryTable_module_css_default.attachmentMetadata,
|
|
4780
|
+
children: metadata
|
|
4781
|
+
})]
|
|
4782
|
+
})]
|
|
4783
|
+
}, index))
|
|
4725
4784
|
});
|
|
4726
4785
|
}
|
|
4727
4786
|
function AssistantToolCalls({ blocks, preview, onOpenCall, t }) {
|
|
@@ -4792,7 +4851,7 @@ window.__ModuleLoader__.load({
|
|
|
4792
4851
|
children: [(0, react_jsx_runtime.jsxs)("summary", {
|
|
4793
4852
|
className: TrajectoryTable_module_css_default.toolCatalogSummary,
|
|
4794
4853
|
children: [
|
|
4795
|
-
(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4854
|
+
(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
4796
4855
|
className: TrajectoryTable_module_css_default.toolCatalogChevron,
|
|
4797
4856
|
size: 12
|
|
4798
4857
|
}),
|
|
@@ -4908,7 +4967,6 @@ window.__ModuleLoader__.load({
|
|
|
4908
4967
|
if (!rendered && record.cell.sourceBlocks && record.cell.sourceBlocks.length > 0) return (0, react_jsx_runtime.jsx)(SourceBlocks, {
|
|
4909
4968
|
blocks: record.cell.sourceBlocks,
|
|
4910
4969
|
onOpenCall,
|
|
4911
|
-
renderImages,
|
|
4912
4970
|
t
|
|
4913
4971
|
});
|
|
4914
4972
|
if (record.cell.thinkingDetail) {
|
|
@@ -4930,7 +4988,7 @@ window.__ModuleLoader__.load({
|
|
|
4930
4988
|
onClick: () => {
|
|
4931
4989
|
onThinkingExpandedChange(!thinkingExpanded);
|
|
4932
4990
|
},
|
|
4933
|
-
children: [t("record.thinking"), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
4991
|
+
children: [t("record.thinking"), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
4934
4992
|
className: TrajectoryTable_module_css_default.thinkingChevron,
|
|
4935
4993
|
size: 12
|
|
4936
4994
|
})]
|
|
@@ -4938,6 +4996,7 @@ window.__ModuleLoader__.load({
|
|
|
4938
4996
|
text: record.cell.thinkingDetail,
|
|
4939
4997
|
rendered,
|
|
4940
4998
|
preview,
|
|
4999
|
+
variant: "compact",
|
|
4941
5000
|
t
|
|
4942
5001
|
})]
|
|
4943
5002
|
}),
|
|
@@ -4956,25 +5015,26 @@ window.__ModuleLoader__.load({
|
|
|
4956
5015
|
onOpenCall,
|
|
4957
5016
|
t
|
|
4958
5017
|
}),
|
|
4959
|
-
(0, react_jsx_runtime.jsx)(
|
|
5018
|
+
(0, react_jsx_runtime.jsx)(RecordAttachments, {
|
|
4960
5019
|
blocks: record.cell.sourceBlocks,
|
|
4961
5020
|
preview,
|
|
4962
|
-
renderImages
|
|
5021
|
+
renderImages,
|
|
5022
|
+
t
|
|
4963
5023
|
})
|
|
4964
5024
|
]
|
|
4965
5025
|
});
|
|
4966
5026
|
}
|
|
4967
5027
|
const source = markdownSource(record);
|
|
4968
|
-
const
|
|
5028
|
+
const hasAttachments = record.cell.sourceBlocks?.some((block) => block.attachment !== void 0 || block.file !== void 0) === true;
|
|
4969
5029
|
const hasToolCalls = record.cell.kind === "message" && record.cell.sourceBlocks?.some((block) => block.type === "tool-call") === true;
|
|
4970
|
-
if (!source && !
|
|
5030
|
+
if (!source && !hasAttachments && !hasToolCalls) {
|
|
4971
5031
|
const emptyLabel = isToolCallOnly(record.cell, t) ? t("record.toolCallOnly") : record.cell.text || t("record.noContent");
|
|
4972
5032
|
return (0, react_jsx_runtime.jsx)("p", {
|
|
4973
5033
|
className: TrajectoryTable_module_css_default.noPayload,
|
|
4974
5034
|
children: emptyLabel
|
|
4975
5035
|
});
|
|
4976
5036
|
}
|
|
4977
|
-
if (!rendered || !
|
|
5037
|
+
if (!rendered || !hasAttachments && !hasToolCalls) return (0, react_jsx_runtime.jsx)(MarkdownFragment, {
|
|
4978
5038
|
text: source ?? "",
|
|
4979
5039
|
rendered,
|
|
4980
5040
|
preview,
|
|
@@ -4993,10 +5053,11 @@ window.__ModuleLoader__.load({
|
|
|
4993
5053
|
onOpenCall,
|
|
4994
5054
|
t
|
|
4995
5055
|
}),
|
|
4996
|
-
(0, react_jsx_runtime.jsx)(
|
|
5056
|
+
(0, react_jsx_runtime.jsx)(RecordAttachments, {
|
|
4997
5057
|
blocks: record.cell.sourceBlocks,
|
|
4998
5058
|
preview,
|
|
4999
|
-
renderImages
|
|
5059
|
+
renderImages,
|
|
5060
|
+
t
|
|
5000
5061
|
})
|
|
5001
5062
|
] });
|
|
5002
5063
|
}
|
|
@@ -5178,7 +5239,7 @@ window.__ModuleLoader__.load({
|
|
|
5178
5239
|
setState(ok ? "copied" : "failed");
|
|
5179
5240
|
});
|
|
5180
5241
|
},
|
|
5181
|
-
children: state === "copied" ? (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
5242
|
+
children: state === "copied" ? (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 }) : (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCopyOutlineRegular, { size: 12 })
|
|
5182
5243
|
});
|
|
5183
5244
|
}
|
|
5184
5245
|
function ProgramInput({ program, initialWrapped, stringWrapping, onOpen, t }) {
|
|
@@ -5204,7 +5265,7 @@ window.__ModuleLoader__.load({
|
|
|
5204
5265
|
setWrapped(next);
|
|
5205
5266
|
stringWrapping?.setDefault(next);
|
|
5206
5267
|
},
|
|
5207
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
5268
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconWrapLinesOutlineRegular, { size: 12 })
|
|
5208
5269
|
}),
|
|
5209
5270
|
onOpen === void 0 && (0, react_jsx_runtime.jsx)("button", {
|
|
5210
5271
|
type: "button",
|
|
@@ -5336,7 +5397,7 @@ window.__ModuleLoader__.load({
|
|
|
5336
5397
|
type: "button",
|
|
5337
5398
|
className: TrajectoryTable_module_css_default.overviewTitle,
|
|
5338
5399
|
onClick: onOpen,
|
|
5339
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: label }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
5400
|
+
children: [(0, react_jsx_runtime.jsx)("span", { children: label }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
5340
5401
|
className: TrajectoryTable_module_css_default.overviewTitleIcon,
|
|
5341
5402
|
size: 12
|
|
5342
5403
|
})]
|
|
@@ -5736,10 +5797,7 @@ window.__ModuleLoader__.load({
|
|
|
5736
5797
|
"aria-live": "polite",
|
|
5737
5798
|
children: (0, react_jsx_runtime.jsxs)("span", {
|
|
5738
5799
|
className: TrajectoryTable_module_css_default.historyLoadingBar,
|
|
5739
|
-
children: [(0, react_jsx_runtime.jsx)("
|
|
5740
|
-
className: TrajectoryTable_module_css_default.historyLoadingSpinner,
|
|
5741
|
-
"aria-hidden": "true"
|
|
5742
|
-
}), t("history.loadingTrajectory")]
|
|
5800
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "ongoing" }), t("history.loadingTrajectory")]
|
|
5743
5801
|
})
|
|
5744
5802
|
}), (0, react_jsx_runtime.jsxs)("table", {
|
|
5745
5803
|
className: TrajectoryTable_module_css_default.table,
|
|
@@ -5762,10 +5820,7 @@ window.__ModuleLoader__.load({
|
|
|
5762
5820
|
if (pane !== null) requestOlder(pane, false);
|
|
5763
5821
|
},
|
|
5764
5822
|
children: [
|
|
5765
|
-
olderBusy && (0, react_jsx_runtime.jsx)("
|
|
5766
|
-
className: TrajectoryTable_module_css_default.historyLoadingSpinner,
|
|
5767
|
-
"aria-hidden": "true"
|
|
5768
|
-
}),
|
|
5823
|
+
olderBusy && (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "ongoing" }),
|
|
5769
5824
|
(0, react_jsx_runtime.jsx)("span", {
|
|
5770
5825
|
"aria-hidden": "true",
|
|
5771
5826
|
children: olderBusy ? t("history.loadingEarlier") : t("history.loadEarlier")
|
|
@@ -6142,7 +6197,7 @@ window.__ModuleLoader__.load({
|
|
|
6142
6197
|
onClick: () => {
|
|
6143
6198
|
openRecordSummary(selectedRequestResult);
|
|
6144
6199
|
},
|
|
6145
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: selectedRequestInfo.purpose === "compaction" ? t("details.compacted") : t("details.assistantMessage") }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
6200
|
+
children: [(0, react_jsx_runtime.jsx)("span", { children: selectedRequestInfo.purpose === "compaction" ? t("details.compacted") : t("details.assistantMessage") }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
6146
6201
|
className: TrajectoryTable_module_css_default.overviewHierarchyJumpIconTight,
|
|
6147
6202
|
size: 11
|
|
6148
6203
|
})]
|
|
@@ -6266,7 +6321,7 @@ window.__ModuleLoader__.load({
|
|
|
6266
6321
|
onClick: () => {
|
|
6267
6322
|
activateTab("source");
|
|
6268
6323
|
},
|
|
6269
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: messageSourceLabel(selected.cell.messageSource, t) }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
6324
|
+
children: [(0, react_jsx_runtime.jsx)("span", { children: messageSourceLabel(selected.cell.messageSource, t) }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
6270
6325
|
className: TrajectoryTable_module_css_default.overviewHierarchyJumpIconTight,
|
|
6271
6326
|
size: 11
|
|
6272
6327
|
})]
|
|
@@ -6281,7 +6336,7 @@ window.__ModuleLoader__.load({
|
|
|
6281
6336
|
onClick: () => {
|
|
6282
6337
|
selectRequest(selectedAssistantRequestTarget);
|
|
6283
6338
|
},
|
|
6284
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: t("request.label", { request: selectedAssistantRequest ?? "—" }) }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
6339
|
+
children: [(0, react_jsx_runtime.jsx)("span", { children: t("request.label", { request: selectedAssistantRequest ?? "—" }) }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
6285
6340
|
className: TrajectoryTable_module_css_default.overviewHierarchyJumpIconTight,
|
|
6286
6341
|
size: 11
|
|
6287
6342
|
})]
|
|
@@ -6292,7 +6347,7 @@ window.__ModuleLoader__.load({
|
|
|
6292
6347
|
onClick: () => {
|
|
6293
6348
|
openRecordSummary(selectedParentMessage);
|
|
6294
6349
|
},
|
|
6295
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: t("details.assistantMessage") }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
6350
|
+
children: [(0, react_jsx_runtime.jsx)("span", { children: t("details.assistantMessage") }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
6296
6351
|
className: TrajectoryTable_module_css_default.overviewHierarchyJumpIconTight,
|
|
6297
6352
|
size: 11
|
|
6298
6353
|
})]
|
|
@@ -6303,7 +6358,7 @@ window.__ModuleLoader__.load({
|
|
|
6303
6358
|
onClick: () => {
|
|
6304
6359
|
openRecordSummary(selectedParentTool);
|
|
6305
6360
|
},
|
|
6306
|
-
children: [(0, react_jsx_runtime.jsx)("span", { children: t("details.toolCall") }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
6361
|
+
children: [(0, react_jsx_runtime.jsx)("span", { children: t("details.toolCall") }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
|
|
6307
6362
|
className: TrajectoryTable_module_css_default.overviewHierarchyJumpIconTight,
|
|
6308
6363
|
size: 11
|
|
6309
6364
|
})]
|
|
@@ -6591,7 +6646,7 @@ window.__ModuleLoader__.load({
|
|
|
6591
6646
|
]
|
|
6592
6647
|
}), (0, react_jsx_runtime.jsxs)("div", {
|
|
6593
6648
|
className: TrajectoryToolbar_module_css_default.search,
|
|
6594
|
-
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
6649
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutlineRegular, {
|
|
6595
6650
|
size: 11,
|
|
6596
6651
|
className: TrajectoryToolbar_module_css_default.searchIcon
|
|
6597
6652
|
}), (0, react_jsx_runtime.jsx)("input", {
|
|
@@ -7268,7 +7323,7 @@ window.__ModuleLoader__.load({
|
|
|
7268
7323
|
const images = imageBlockCount(node.content);
|
|
7269
7324
|
const files = fileBlockCount(node.content);
|
|
7270
7325
|
return {
|
|
7271
|
-
text: [
|
|
7326
|
+
text: [images > 0 ? t("layout.imageCount", { count: images }) : void 0, files > 0 ? t("layout.fileAttachments", { count: files }) : void 0].filter((value) => value !== void 0).join(" · "),
|
|
7272
7327
|
...previewMarkdown === void 0 ? {} : { previewMarkdown },
|
|
7273
7328
|
sourceSeq: node.seq,
|
|
7274
7329
|
messageSource: node.source,
|
|
@@ -7793,7 +7848,7 @@ window.__ModuleLoader__.load({
|
|
|
7793
7848
|
}
|
|
7794
7849
|
if (tools.size > 0) return t("layout.toolCallOnly");
|
|
7795
7850
|
const images = blocks.filter((block) => block.kind === "image").length;
|
|
7796
|
-
if (images > 0) return t("layout.
|
|
7851
|
+
if (images > 0) return t("layout.imageCount", { count: images });
|
|
7797
7852
|
return "";
|
|
7798
7853
|
}
|
|
7799
7854
|
function promptChangeLabel(change, t) {
|
|
@@ -7818,11 +7873,10 @@ window.__ModuleLoader__.load({
|
|
|
7818
7873
|
callId: block.callId,
|
|
7819
7874
|
toolName: block.name
|
|
7820
7875
|
};
|
|
7821
|
-
case "image": return {
|
|
7876
|
+
case "image": return sourceBlock({
|
|
7822
7877
|
type: "image",
|
|
7823
|
-
content: "",
|
|
7824
7878
|
attachment: block.attachment
|
|
7825
|
-
};
|
|
7879
|
+
});
|
|
7826
7880
|
case "other": return sourceBlock(block.block);
|
|
7827
7881
|
}
|
|
7828
7882
|
}
|
|
@@ -7837,10 +7891,10 @@ window.__ModuleLoader__.load({
|
|
|
7837
7891
|
type: type === "reasoning" ? "thinking" : type,
|
|
7838
7892
|
content: block.text
|
|
7839
7893
|
};
|
|
7840
|
-
if (type === "image" && typeof block.attachment === "object" && block.attachment !== null && typeof block.attachment.attachmentId === "string") return {
|
|
7894
|
+
if ((type === "image" || type === "file") && typeof block.attachment === "object" && block.attachment !== null && typeof block.attachment.attachmentId === "string") return {
|
|
7841
7895
|
type,
|
|
7842
|
-
content:
|
|
7843
|
-
attachment: block.attachment
|
|
7896
|
+
content: stringifySourceValue(value),
|
|
7897
|
+
...type === "image" ? { attachment: block.attachment } : { file: block.attachment }
|
|
7844
7898
|
};
|
|
7845
7899
|
return {
|
|
7846
7900
|
type,
|
|
@@ -8001,7 +8055,7 @@ window.__ModuleLoader__.load({
|
|
|
8001
8055
|
resultPreviewMarkdown: block.text
|
|
8002
8056
|
};
|
|
8003
8057
|
const images = imageBlockCount(node.content);
|
|
8004
|
-
if (images > 0) return { result: t("layout.
|
|
8058
|
+
if (images > 0) return { result: t("layout.imageCount", { count: images }) };
|
|
8005
8059
|
return { result: t("record.noOutput") };
|
|
8006
8060
|
}
|
|
8007
8061
|
function resultAsText(result) {
|
|
@@ -8015,7 +8069,7 @@ window.__ModuleLoader__.load({
|
|
|
8015
8069
|
const text = node.content.filter((block) => block.type === "text" && typeof block.text === "string").map((block) => block.type === "text" ? block.text : "").join("\n");
|
|
8016
8070
|
if (text !== "") return text;
|
|
8017
8071
|
const images = imageBlockCount(node.content);
|
|
8018
|
-
if (images > 0) return t("layout.
|
|
8072
|
+
if (images > 0) return t("layout.imageCount", { count: images });
|
|
8019
8073
|
if (node.content.length === 0 || node.content.every((block) => block.type === "text" && (typeof block.text !== "string" || block.text === ""))) return t("record.noOutput");
|
|
8020
8074
|
return JSON.stringify(node.content, null, 2);
|
|
8021
8075
|
}
|
|
@@ -178,7 +178,9 @@ export declare const zh: {
|
|
|
178
178
|
readonly 'layout.compactionFailed': "上下文压缩失败";
|
|
179
179
|
readonly 'layout.compacted': "上下文已压缩";
|
|
180
180
|
readonly 'layout.toolCallOnly': "仅工具调用";
|
|
181
|
-
readonly '
|
|
181
|
+
readonly 'attachment.list': "附件";
|
|
182
|
+
readonly 'attachment.imageName': "图片 {index}";
|
|
183
|
+
readonly 'layout.imageCount': "图片 ×{count}";
|
|
182
184
|
readonly 'layout.fileAttachments': "文件 ×{count}";
|
|
183
185
|
readonly 'layout.initialSystemPrompt': "初始系统提示词";
|
|
184
186
|
readonly 'layout.systemPromptUpdated': "系统提示词已更新";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Shared trajectory record data and formatting contracts. */
|
|
2
2
|
import type { HTMLAttributes } from 'react';
|
|
3
|
-
import type { ImageAttachmentRef } from '@deepseek-ai/dsh-attachment';
|
|
3
|
+
import type { FileAttachmentRef, ImageAttachmentRef } from '@deepseek-ai/dsh-attachment';
|
|
4
4
|
import type { ConversationPromptSnapshot } from '@deepseek-ai/dsh-client-ui-conversation/client';
|
|
5
5
|
import type { TrajectoryTranslate } from './locales.ts';
|
|
6
6
|
/** Closed set of trajectory record kinds. */
|
|
@@ -19,6 +19,8 @@ export interface TrajectorySourceBlock {
|
|
|
19
19
|
type: string;
|
|
20
20
|
content: string;
|
|
21
21
|
attachment?: ImageAttachmentRef;
|
|
22
|
+
/** Ordinary file metadata; never passed to the image loader. */
|
|
23
|
+
file?: FileAttachmentRef;
|
|
22
24
|
callId?: string;
|
|
23
25
|
toolName?: string;
|
|
24
26
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-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": "0.1.
|
|
4
|
+
"version": "0.1.7-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"license": "MIT",
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
42
|
+
"@deepseek-ai/cordis": "^4.0.3"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/react": "~18.3.1",
|
|
@@ -48,23 +48,23 @@
|
|
|
48
48
|
"react-dom": "^18.2.0",
|
|
49
49
|
"@tanstack/react-virtual": "^3.14.9",
|
|
50
50
|
"diff": "^9.0.0",
|
|
51
|
-
"@deepseek-ai/dsh-agent": "^0.1.
|
|
52
|
-
"@deepseek-ai/dsh-client-locale": "^0.1.
|
|
53
|
-
"@deepseek-ai/dsh-client-
|
|
54
|
-
"@deepseek-ai/dsh-client-ui-
|
|
55
|
-
"@deepseek-ai/dsh-client-ui-
|
|
56
|
-
"@deepseek-ai/dsh-client-
|
|
57
|
-
"@deepseek-ai/dsh-tools": "^0.1.
|
|
58
|
-
"@deepseek-ai/dsh-compaction": "^0.1.
|
|
59
|
-
"@deepseek-ai/
|
|
60
|
-
"@deepseek-ai/
|
|
61
|
-
"@deepseek-ai/dsh-client-ui-chat": "^0.1.
|
|
62
|
-
"@deepseek-ai/dsh-session": "^0.1.
|
|
63
|
-
"@deepseek-ai/dsh-
|
|
64
|
-
"@deepseek-ai/dsh-client-ui-
|
|
65
|
-
"@deepseek-ai/dsh-
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-
|
|
51
|
+
"@deepseek-ai/dsh-agent": "^0.1.7-alpha.1",
|
|
52
|
+
"@deepseek-ai/dsh-client-locale": "^0.1.7-alpha.1",
|
|
53
|
+
"@deepseek-ai/dsh-client-test-runtime": "^0.1.7-alpha.1",
|
|
54
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-alpha.1",
|
|
55
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-alpha.1",
|
|
56
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.1.7-alpha.1",
|
|
57
|
+
"@deepseek-ai/dsh-tools": "^0.1.7-alpha.1",
|
|
58
|
+
"@deepseek-ai/dsh-compaction": "^0.1.7-alpha.1",
|
|
59
|
+
"@deepseek-ai/dsh-client-store": "^0.1.7-alpha.1",
|
|
60
|
+
"@deepseek-ai/cordis": "^4.0.3",
|
|
61
|
+
"@deepseek-ai/dsh-client-ui-chat": "^0.1.7-alpha.1",
|
|
62
|
+
"@deepseek-ai/dsh-session": "^0.1.7-alpha.1",
|
|
63
|
+
"@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-alpha.1",
|
|
64
|
+
"@deepseek-ai/dsh-client-ui-session": "^0.1.7-alpha.1",
|
|
65
|
+
"@deepseek-ai/dsh-llm": "^0.1.7-alpha.1",
|
|
66
|
+
"@deepseek-ai/dsh-attachment": "^0.1.7-alpha.1",
|
|
67
|
+
"@deepseek-ai/dsh-api-session-controller": "^0.1.7-alpha.1"
|
|
68
68
|
},
|
|
69
69
|
"files": [
|
|
70
70
|
"lib/index.js",
|