@prettier-ai/dsh-client-ui-trajectory 0.1.2-alpha.2 → 0.1.2-alpha.4
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 +5 -3
- package/README.zh.md +5 -3
- package/lib/client.js +113 -25
- package/package.json +17 -23
- package/lib/invariant.js +0 -25
- package/lib/types/invariant.d.ts +0 -16
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: d947787c123fca77dc7978456f4cfdc4e99951bf
|
|
6
|
+
README.zh.md: 3b281c6c1e90108d66f050e07a3b08208ed8c802
|
package/README.md
CHANGED
|
@@ -29,7 +29,7 @@ Open the Trajectory tab in the conversation's view ring to inspect agent activit
|
|
|
29
29
|
|
|
30
30
|
### Inspecting records
|
|
31
31
|
|
|
32
|
-
Selection, timeline navigation, folding, search
|
|
32
|
+
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 record without text labels its row with the image count. A standalone compaction request appears chronologically in its own `Between turns` section, while a numbered compaction remains inside its owning turn.
|
|
33
33
|
|
|
34
34
|
### The timing overview
|
|
35
35
|
|
|
@@ -43,11 +43,11 @@ A fixed Overview above the ledger projects real record start/duration timing fro
|
|
|
43
43
|
<details>
|
|
44
44
|
<summary>Implementation internals — click to expand</summary>
|
|
45
45
|
|
|
46
|
-
The view is a pure projection: Trajectory-owned Definitions assemble business records from the shared Session window — including durable cancellation-finalized prefixes, chunk-only interruption fallbacks, and interrupted Tool records — so Trajectory neither reads nor changes the Chat conversation snapshot.
|
|
46
|
+
The view is a pure projection: Trajectory-owned Definitions assemble business records from the shared Session window — including durable cancellation-finalized prefixes, chunk-only interruption fallbacks, and interrupted Tool records — so Trajectory neither reads nor changes the Chat conversation snapshot. Its steering classifier retains only next-step Inbox IDs through persistent splice state and shares each current claimed batch across later Contexts.
|
|
47
47
|
|
|
48
48
|
### Virtual rows
|
|
49
49
|
|
|
50
|
-
Long ledgers mount only the visible row window plus a small overscan; request-only separators share the next measurable virtual item, while semantic row keys and ARIA indexes survive prepends. Content-only stream frames preserve virtual row keys and heights, reuse measurements, and do not issue repeated tail-scroll writes. Completed replies retain assembled blocks, timing, and usage in Trajectory target State, while the shared Session window keeps the raw Events.
|
|
50
|
+
Long ledgers initially derive React data from 50 target Nodes ending at the mount-time tail. Later Nodes extend that anchored window without evicting its prefix, and the existing load control reveals earlier resident Nodes before requesting another Session page. Virtualization mounts only the visible row window plus a small overscan; request-only separators share the next measurable virtual item, while semantic row keys and ARIA indexes survive prepends. Content-only stream frames preserve virtual row keys and heights, reuse measurements, and do not issue repeated tail-scroll writes. Completed replies retain assembled blocks, timing, and usage in Trajectory target State, while the shared Session window keeps the raw Events.
|
|
51
51
|
|
|
52
52
|
### Layout
|
|
53
53
|
|
|
@@ -96,3 +96,5 @@ These limits define what the view can show while work is in flight; they are cur
|
|
|
96
96
|
None.
|
|
97
97
|
|
|
98
98
|
</details>
|
|
99
|
+
|
|
100
|
+
**Runtime invariant:** No companion is published. A pure-consumer plugin — it emits no cordis events and owns no mutable cross-plugin state; its view-slot registration is a plain effect whose disposal the slot ledger's own specs and this package's behavior specs observe directly.
|
package/README.zh.md
CHANGED
|
@@ -29,7 +29,7 @@ kind: "package-reference"
|
|
|
29
29
|
|
|
30
30
|
### 检查记录
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
选择、时间线导航、折叠与搜索只覆盖 React 可见窗口。请求编号与累计用量覆盖完整的驻留 snapshot。选择记录会打开局部检查器,查看 token 用量、耗时、输入、输出、计时与持久图片。图片 URL 使用 Conversation 拥有的逐会话缓存,因此 Chat 与 Trajectory 对每个附件共享一次已授权读取。没有文本的记录会用图片数量标记其行。独立运行的压缩请求会按时间顺序显示在自己的 `Between turns` 区段中,而带编号的压缩仍位于其所属轮次内。
|
|
33
33
|
|
|
34
34
|
### 时间概览
|
|
35
35
|
|
|
@@ -43,11 +43,11 @@ kind: "package-reference"
|
|
|
43
43
|
<details>
|
|
44
44
|
<summary>实现细节——点击展开</summary>
|
|
45
45
|
|
|
46
|
-
视图是纯投影:Trajectory 自有的 Definition 从共享 Session 窗口组装业务记录——包括持久化的取消定稿前缀、只能从分片恢复的打断前缀与被打断的工具记录——因此 Trajectory 既不读取也不改变 Chat
|
|
46
|
+
视图是纯投影:Trajectory 自有的 Definition 从共享 Session 窗口组装业务记录——包括持久化的取消定稿前缀、只能从分片恢复的打断前缀与被打断的工具记录——因此 Trajectory 既不读取也不改变 Chat 会话快照。其 steering 分类器通过持久 splice state 只保留 next-step Inbox ID,并让后续 Context 共享当前 claimed batch。
|
|
47
47
|
|
|
48
48
|
### 虚拟行
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
长记录表最初只从挂载时尾部结束的 50 个 target Node 派生 React 数据。后续 Node 会扩展这个固定起点的窗口而不会逐出其前缀;现有加载控件会先显露更早的驻留 Node,再请求下一个 Session 页面。虚拟化只挂载可见行窗口加少量缓冲;仅含请求的分隔行并入下一个具备可测高度的虚拟项,语义行键与 ARIA 索引在向前补页后保持不变。仅含内容更新的流式帧会保持虚拟行的键与高度、复用测量结果,并且不会重复写入末尾滚动位置。已完成的回复会在 Trajectory target State 中保留组装后的 blocks、计时与用量,共享 Session 窗口则保留原始 Event。
|
|
51
51
|
|
|
52
52
|
### 布局
|
|
53
53
|
|
|
@@ -96,3 +96,5 @@ Trajectory 要求会话壳把 composer 作为浮层置于全高记录表上方
|
|
|
96
96
|
无。
|
|
97
97
|
|
|
98
98
|
</details>
|
|
99
|
+
|
|
100
|
+
**运行时不变式:** 不发布伴生入口。这是纯消费插件,不发出 Cordis 事件,也不持有跨插件可变状态;view-slot effect 的释放由 slot ledger 与包测试观察。
|
package/lib/client.js
CHANGED
|
@@ -1131,23 +1131,73 @@ window.__ModuleLoader__.load({
|
|
|
1131
1131
|
}
|
|
1132
1132
|
//#endregion
|
|
1133
1133
|
//#region lib/types/client/trajectory-message-definitions.js
|
|
1134
|
+
const EMPTY_PENDING = {
|
|
1135
|
+
kind: "snapshot",
|
|
1136
|
+
ids: []
|
|
1137
|
+
};
|
|
1138
|
+
const EMPTY_CURRENT_CLAIMED = /* @__PURE__ */ new Set();
|
|
1139
|
+
function materializePending(state) {
|
|
1140
|
+
const splices = [];
|
|
1141
|
+
let current = state;
|
|
1142
|
+
while (current.kind === "splice") {
|
|
1143
|
+
splices.push(current);
|
|
1144
|
+
current = current.previous;
|
|
1145
|
+
}
|
|
1146
|
+
const pending = [...current.ids];
|
|
1147
|
+
for (const splice of splices.reverse()) pending.splice(splice.start, splice.removedCount, ...splice.inserted);
|
|
1148
|
+
return pending;
|
|
1149
|
+
}
|
|
1150
|
+
function withoutInserted(claimed, inserted) {
|
|
1151
|
+
let next;
|
|
1152
|
+
for (const id of inserted) {
|
|
1153
|
+
if (!claimed.has(id)) continue;
|
|
1154
|
+
next ??= new Set(claimed);
|
|
1155
|
+
next.delete(id);
|
|
1156
|
+
}
|
|
1157
|
+
return next ?? claimed;
|
|
1158
|
+
}
|
|
1159
|
+
/**
|
|
1160
|
+
* Apply one next-step splice under the AgentLoop's durable event ordering.
|
|
1161
|
+
* An entered claim logs its complete message batch before another claim; a
|
|
1162
|
+
* rejected claim logs no messages, so only the current claim can classify a
|
|
1163
|
+
* later `user/message`.
|
|
1164
|
+
*/
|
|
1134
1165
|
function applySplice(previous, splice) {
|
|
1135
|
-
const
|
|
1136
|
-
const
|
|
1137
|
-
const
|
|
1138
|
-
|
|
1139
|
-
|
|
1166
|
+
const priorPending = previous?.state.pending ?? EMPTY_PENDING;
|
|
1167
|
+
const inserted = splice.inserted.map((identity) => identity.id);
|
|
1168
|
+
const removedCount = splice.removedCount ?? 0;
|
|
1169
|
+
if (removedCount > 0 && splice.outcome !== "canceled") {
|
|
1170
|
+
const pending = materializePending(priorPending);
|
|
1171
|
+
const removed = pending.splice(splice.start, removedCount, ...inserted);
|
|
1172
|
+
return {
|
|
1173
|
+
pending: {
|
|
1174
|
+
kind: "snapshot",
|
|
1175
|
+
ids: pending
|
|
1176
|
+
},
|
|
1177
|
+
currentClaimed: new Set(removed)
|
|
1178
|
+
};
|
|
1179
|
+
}
|
|
1180
|
+
const currentClaimed = withoutInserted(previous?.state.currentClaimed ?? EMPTY_CURRENT_CLAIMED, inserted);
|
|
1140
1181
|
return {
|
|
1141
|
-
pending
|
|
1142
|
-
|
|
1182
|
+
pending: {
|
|
1183
|
+
kind: "splice",
|
|
1184
|
+
previous: priorPending,
|
|
1185
|
+
start: splice.start,
|
|
1186
|
+
removedCount,
|
|
1187
|
+
inserted
|
|
1188
|
+
},
|
|
1189
|
+
currentClaimed
|
|
1143
1190
|
};
|
|
1144
1191
|
}
|
|
1145
1192
|
const trajectoryInboxDefinition = {
|
|
1146
1193
|
kind: "trajectory-inbox-next-step",
|
|
1147
|
-
match: (event) =>
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1194
|
+
match: (event) => {
|
|
1195
|
+
if (event.type === "agent/inbox/spliced" && event.data.target === "next-step") return {
|
|
1196
|
+
id: String(event.seq),
|
|
1197
|
+
role: "start"
|
|
1198
|
+
};
|
|
1199
|
+
return null;
|
|
1200
|
+
},
|
|
1151
1201
|
start: (_context, match, reader) => {
|
|
1152
1202
|
if (match.event.type !== "agent/inbox/spliced") throw new Error("trajectory-inbox-next-step start requires agent/inbox/spliced");
|
|
1153
1203
|
return applySplice(reader.previous("trajectory-inbox-next-step"), match.event.data);
|
|
@@ -1174,7 +1224,7 @@ window.__ModuleLoader__.load({
|
|
|
1174
1224
|
provenance: contextProvenance(event.data.source),
|
|
1175
1225
|
form: contextForm(event.data.source)
|
|
1176
1226
|
};
|
|
1177
|
-
return reader.previous("trajectory-inbox-next-step")?.state.
|
|
1227
|
+
return reader.previous("trajectory-inbox-next-step")?.state.currentClaimed.has(String(event.data.id)) === true ? {
|
|
1178
1228
|
kind: "steering",
|
|
1179
1229
|
messageId: event.data.id,
|
|
1180
1230
|
seq: event.seq,
|
|
@@ -3599,7 +3649,7 @@ window.__ModuleLoader__.load({
|
|
|
3599
3649
|
}
|
|
3600
3650
|
//#endregion
|
|
3601
3651
|
//#region \0dsh-css:/home/runner/work/dsh-publisher/dsh-publisher/upstream/packages/client/ui-trajectory/src/client/TrajectoryTable.module.css.mjs
|
|
3602
|
-
const css$3 = ".i0TWxG_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}.i0TWxG_tablePane{min-width:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);flex:1;position:relative;overflow:hidden auto;container:i0TWxG_trajectory-table/inline-size}.i0TWxG_historyLoading{z-index:5;pointer-events:none;height:0;position:sticky;top:0;overflow:visible}.i0TWxG_historyLoadingBar{box-sizing:border-box;border-bottom:1px 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}.i0TWxG_historyLoadingSpinner{box-sizing:border-box;border:1.5px solid var(--dsw-alias-border-l2);border-top-color:var(--dsw-alias-state-business-primary);border-radius:50%;width:10px;height:10px;animation:.7s linear infinite i0TWxG_history-loading-spin}.i0TWxG_table tbody .i0TWxG_historyLoadRow td{height:30px;padding:0}.i0TWxG_table tbody .i0TWxG_historyLoadRow+tr[data-turn-start=true] td:before{content:none}.i0TWxG_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}.i0TWxG_historyLoadButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.i0TWxG_historyLoadButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-2px}.i0TWxG_historyLoadButton:disabled{cursor:default}.i0TWxG_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.i0TWxG_table:not([data-scroll-ready=true]){visibility:hidden}@keyframes i0TWxG_history-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.i0TWxG_historyLoadingSpinner{animation:none}}.i0TWxG_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)}.i0TWxG_eventColumn{width:122px}.i0TWxG_contentColumn{width:auto}.i0TWxG_table th{z-index:3;box-sizing:border-box;border-bottom:1px 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}.i0TWxG_eventHeader{text-align:right!important;padding-right:4px!important}.i0TWxG_table td{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l1);text-overflow:ellipsis;white-space:nowrap;height:30px;padding:0 8px;overflow:hidden}.i0TWxG_table tbody .i0TWxG_virtualSpacer{pointer-events:none}.i0TWxG_table tbody .i0TWxG_virtualSpacer td{height:var(--trajectory-virtual-spacer-height);border:0;padding:0}.i0TWxG_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}.i0TWxG_table tbody tr[data-timeline-focus=outside]{opacity:.24}.i0TWxG_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)}.i0TWxG_table tbody tr[data-request-only=true]:hover{background:0 0}.i0TWxG_table tbody tr[data-request-only=true] td{border-bottom:0;height:0;padding-top:0;padding-bottom:0}.i0TWxG_table tbody tr[data-terminal-request-boundary=true] td{height:9px}.i0TWxG_table tbody tr[data-request-only=true] .i0TWxG_turnRail{top:-15px;bottom:0}.i0TWxG_table tbody tr:not([data-collapsed-summary]):focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.i0TWxG_table tbody tr[data-selected=true]{background:var(--dsw-alias-interactive-bg-active)}.i0TWxG_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}.i0TWxG_requestBoundaryControl:before{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}.i0TWxG_requestBoundaryControl:after{border:1px 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}.i0TWxG_requestBoundaryControl:hover:before,.i0TWxG_requestBoundaryControl:focus-visible:before{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color)}.i0TWxG_requestBoundaryControlActive:before,.i0TWxG_requestBoundaryControlActive:hover:before,.i0TWxG_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)}.i0TWxG_requestBoundaryControl[data-request-status=error]:before,.i0TWxG_requestBoundaryControl[data-request-status=error]:hover:before,.i0TWxG_requestBoundaryControl[data-request-status=error]:focus-visible:before{background:var(--dsw-alias-state-error-primary)}.i0TWxG_requestBoundaryControl:hover:after,.i0TWxG_requestBoundaryControl:focus-visible:after{opacity:1;transform:translate(0)}.i0TWxG_requestBoundaryControl:focus-visible{outline:none}.i0TWxG_table tbody tr:has(.i0TWxG_requestBoundaryControl:hover):not([data-selected=true]){background:0 0}.i0TWxG_event{position:relative}.i0TWxG_turnRail,.i0TWxG_selectionRail{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color);pointer-events:none;position:absolute;left:0}.i0TWxG_turnRail{z-index:4;background:var(--trajectory-turn-accent);width:2px;top:-1px;bottom:-1px}.i0TWxG_table tbody tr[data-turn-end=true] .i0TWxG_turnRail{bottom:0}.i0TWxG_selectionRail{z-index:5;width:3px;top:0;bottom:0}.i0TWxG_table tbody tr[data-error=true] .i0TWxG_turnRail{background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 22%, var(--dsw-alias-bg-layer-1))}.i0TWxG_table tbody tr[data-error=true] .i0TWxG_selectionRail{background:var(--dsw-alias-state-error-primary)}.i0TWxG_table tbody tr[data-turn-start=true] td{position:relative;overflow:visible}.i0TWxG_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%)}.i0TWxG_event{padding-left:36px!important;padding-right:4px!important;overflow:visible!important}.i0TWxG_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}.i0TWxG_turnLabelFull,.i0TWxG_turnLabelCompact{opacity:1;white-space:nowrap;grid-area:1/1;max-width:64px;overflow:hidden}.i0TWxG_turnLabelCompact{opacity:0;max-width:0}.i0TWxG_turnLabelActive{color:color-mix(in srgb, var(--dsw-static-blue-500) 55%, var(--dsw-alias-label-tertiary));background:var(--trajectory-turn-accent)}.i0TWxG_eventInner{justify-content:flex-start;align-items:center;min-width:0;height:100%;display:flex}.i0TWxG_kindSlot{flex:none;justify-content:flex-end;align-items:flex-end;width:76px;display:flex}.i0TWxG_kindSlot [role=tooltip]{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-shadow-lv2);color:var(--dsw-alias-label-primary)}.i0TWxG_content{color:var(--dsw-alias-label-primary);padding-left:4px!important}.i0TWxG_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}.i0TWxG_kindTagIcon{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:13px;display:inline-flex;overflow:hidden;transform:scale(.8)}.i0TWxG_kindTagLabel{opacity:1;white-space:nowrap;max-width:72px;display:inline-block;overflow:hidden}.i0TWxG_table .i0TWxG_kindSlot .i0TWxG_message{justify-content:center;width:100%}@container i0TWxG_trajectory-table (width<=620px){.i0TWxG_eventColumn{width:50px}.i0TWxG_event{padding-left:28px!important;padding-right:3px!important}.i0TWxG_requestBoundaryControl{--request-boundary-base-left:6px}.i0TWxG_kindSlot{width:19px}.i0TWxG_kindTag,.i0TWxG_table .i0TWxG_kindSlot .i0TWxG_message{justify-content:center;width:19px;padding-left:0;padding-right:0}.i0TWxG_kindTagIcon{opacity:1;width:13px;transform:scale(1)}.i0TWxG_kindTagLabel,.i0TWxG_turnLabelFull{opacity:0;max-width:0}.i0TWxG_turnLabelCompact{opacity:1;max-width:64px}}@media (prefers-reduced-motion:no-preference){.i0TWxG_eventColumn,.i0TWxG_event,.i0TWxG_requestBoundaryControl,.i0TWxG_kindSlot,.i0TWxG_kindTag,.i0TWxG_kindTagIcon,.i0TWxG_kindTagLabel,.i0TWxG_turnLabelFull,.i0TWxG_turnLabelCompact{transition-duration:.18s;transition-timing-function:var(--ds-ease-in-out)}.i0TWxG_eventColumn,.i0TWxG_kindSlot{transition-property:width}.i0TWxG_event{transition-property:padding-right,padding-left}.i0TWxG_requestBoundaryControl{transition-property:left}.i0TWxG_kindTag{transition-property:padding-right,padding-left}.i0TWxG_kindTagIcon{transition-property:width,opacity,transform}.i0TWxG_kindTagLabel,.i0TWxG_turnLabelFull,.i0TWxG_turnLabelCompact{transition-property:max-width,opacity}}.i0TWxG_user{color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-tertiary)}.i0TWxG_systemNeutral{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.i0TWxG_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)}.i0TWxG_compacted{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.i0TWxG_compactedSummary{font:var(--dsw-font-xs-13);margin-top:12px;padding:0 0 14px}.i0TWxG_promptDiffSections{flex-direction:column;gap:14px;max-height:100%;padding:10px 14px 14px;display:flex;overflow:auto}.i0TWxG_promptDiffSection{min-width:0}.i0TWxG_promptDiffTitle{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0 0 6px}.i0TWxG_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}.i0TWxG_promptDiff span{min-width:max-content;padding:0 6px;display:block}.i0TWxG_promptDiffLinemeta{color:var(--dsw-alias-label-caption);background:var(--dsw-alias-bg-module-platform);user-select:none}.i0TWxG_promptDiffLinecontext{color:var(--dsw-alias-label-secondary)}.i0TWxG_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)}.i0TWxG_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))}.i0TWxG_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))}.i0TWxG_toolAmber{color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary)}.i0TWxG_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))}.i0TWxG_contentText{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.i0TWxG_toolCallOnly{color:var(--dsw-alias-label-tertiary)}.i0TWxG_table tbody tr[data-collapsed-summary=turn] td,.i0TWxG_table tbody tr[data-collapsed-summary=assistant] td{height:20px}.i0TWxG_table tbody tr[data-collapsed-summary]{cursor:pointer;transition:background-color .12s var(--ds-ease-in-out);outline:none}.i0TWxG_table tbody tr[data-collapsed-summary]:hover{background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_table tbody tr[data-collapsed-summary]:focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.i0TWxG_collapsedTurnContent{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;font-size:12px;line-height:16px;display:flex}.i0TWxG_collapsedTurnEllipsis{color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;margin-right:6px;font-weight:600}.i0TWxG_collapsedTurnText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.i0TWxG_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}.i0TWxG_resultRequest,.i0TWxG_inlineResultText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.i0TWxG_toolCallNameTypeface{color:var(--dsw-alias-label-primary);font:400 12px/18px Menlo,Consolas,Liberation Mono,PingFang SC,Microsoft YaHei}.i0TWxG_toolCallPayload{color:var(--dsw-alias-label-secondary);font:400 12px/18px var(--ds-font-family-code);margin-left:7px}.i0TWxG_table tbody tr[data-kind=tool] .i0TWxG_contentText,.i0TWxG_table tbody tr[data-kind=subtool] .i0TWxG_contentText,.i0TWxG_table tbody tr[data-kind=tool] .i0TWxG_resultPreview,.i0TWxG_table tbody tr[data-kind=subtool] .i0TWxG_resultPreview{font-family:var(--ds-font-family-code);font-size:12px}.i0TWxG_table tbody tr[data-kind=subtool] .i0TWxG_content{padding-left:26px}.i0TWxG_inlineResult{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;display:flex}.i0TWxG_noOutputText{color:var(--dsw-alias-label-caption)}.i0TWxG_arrow{color:var(--dsw-alias-label-caption);flex:none;margin-right:8px}.i0TWxG_error,.i0TWxG_overview dd.i0TWxG_error,.i0TWxG_details .i0TWxG_errorPayload{color:var(--dsw-alias-state-error-primary)}.i0TWxG_details .i0TWxG_errorPayload .i0TWxG_resultBlockText{color:inherit}.i0TWxG_details .i0TWxG_jsonPayload.i0TWxG_errorPayload,.i0TWxG_details .i0TWxG_jsonPreview.i0TWxG_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)}.i0TWxG_details{border-left:1px 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}.i0TWxG_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}.i0TWxG_detailsResizeHandle:focus-visible{outline:none}.i0TWxG_detailsHeader{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);flex:none;justify-content:space-between;align-items:center;height:42px;padding:0 8px 0 12px;display:flex}.i0TWxG_detailsTitle{min-width:0;color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.i0TWxG_requestDetailsDot{background:var(--dsw-alias-label-secondary);border-radius:50%;flex:none;width:5px;height:5px}.i0TWxG_requestDetailsName{font:500 12px/16px var(--ds-font-family-code);flex:none}.i0TWxG_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}.i0TWxG_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}.i0TWxG_close:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_detailTabs{box-sizing:border-box;border-bottom:1px 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}.i0TWxG_detailTabs::-webkit-scrollbar{display:none}.i0TWxG_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}.i0TWxG_detailTab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_detailTabActive{color:var(--dsw-alias-state-business-primary)}.i0TWxG_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}.i0TWxG_close:focus-visible,.i0TWxG_detailTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.i0TWxG_detailBody{min-height:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);scrollbar-gutter:stable;flex:1;overflow:hidden auto}.i0TWxG_detailBodySummary{box-sizing:border-box;padding-bottom:calc(12px + var(--dsh-trajectory-bottom-clearance,0px));flex-direction:column;display:flex;overflow:hidden}.i0TWxG_detailBodySummary>.i0TWxG_overview{overscroll-behavior:contain;flex:0 auto;min-height:0;overflow:auto}.i0TWxG_detailBodySummary>.i0TWxG_compactedSummary{flex:1;min-height:0;overflow:auto}.i0TWxG_summaryScrollRegion{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.i0TWxG_summaryScrollRegion:hover,.i0TWxG_summaryScrollRegion:focus-within{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2)}.i0TWxG_compactedSummary .i0TWxG_markdownPayload{padding-right:18px}.i0TWxG_overview{font:var(--dsw-font-xs-13);margin:0;padding:8px 0}.i0TWxG_overviewParentLinks{gap:14px;display:flex}.i0TWxG_overviewHierarchyNavLink{all:unset;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;opacity:1;align-items:center;gap:1px;display:inline-flex}.i0TWxG_overviewHierarchyNavLink:hover{color:var(--dsw-alias-label-primary)}.i0TWxG_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-caption);flex:none}.i0TWxG_overviewHierarchyNavLink:hover .i0TWxG_overviewHierarchyJumpIconTight,.i0TWxG_overviewHierarchyNavLink:focus-visible .i0TWxG_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-primary)}.i0TWxG_overviewHierarchyNavLink:focus-visible{color:var(--dsw-alias-label-primary);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_overview>div{grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:22px;padding:0 14px;display:grid}.i0TWxG_overview>.i0TWxG_requestTokenDetail dt{padding-left:12px}.i0TWxG_usagePanel{padding:4px 0 10px}.i0TWxG_usageGroup+.i0TWxG_usageGroup{margin-top:8px}.i0TWxG_usageHeading{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0;padding:4px 14px 1px}.i0TWxG_usageGroup .i0TWxG_overview{padding:0}.i0TWxG_overview dt{color:var(--dsw-alias-label-tertiary)}.i0TWxG_overview dd{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.i0TWxG_timestampToggle{all:unset;color:inherit;cursor:pointer;font:inherit;user-select:text}.i0TWxG_timestampToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_overviewSections{border-top:0;flex-direction:column;flex:1;min-height:min-content;display:flex;overflow:hidden}.i0TWxG_overviewSection{flex-direction:column;flex:1 1 0;min-height:28px;max-height:max-content;display:flex;overflow:hidden}.i0TWxG_overviewSection+.i0TWxG_overviewSection{padding-top:8px}.i0TWxG_overviewHeading{box-sizing:border-box;width:100%;height:28px;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}.i0TWxG_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}.i0TWxG_overviewTitleIcon{color:var(--dsw-alias-label-caption);flex:none}.i0TWxG_overviewTitle:hover .i0TWxG_overviewTitleIcon{color:var(--dsw-alias-label-primary)}.i0TWxG_overviewTitle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_overviewTitle:focus-visible .i0TWxG_overviewTitleIcon{color:var(--dsw-alias-state-business-primary)}.i0TWxG_overviewPreview{overscroll-behavior:contain;background:var(--dsw-alias-bg-layer-1);flex:1;min-height:0;overflow:auto}.i0TWxG_overviewPreview>:last-child{margin-bottom:0;padding-bottom:0}.i0TWxG_overviewPreview .i0TWxG_jsonPreview>:first-child,.i0TWxG_overviewPreview .i0TWxG_schemaTree>:first-child{padding-bottom:0}.i0TWxG_overviewPreview .i0TWxG_schemaTree{margin-bottom:0}.i0TWxG_overviewPreview .i0TWxG_overview{padding:2px 0 0}.i0TWxG_overviewPreview .i0TWxG_overview>div{min-height:22px}.i0TWxG_markdownPreview,.i0TWxG_markdownPayload{color:var(--dsw-alias-label-primary)}.i0TWxG_markdownPreview>div,.i0TWxG_markdownPayload>div{font:var(--dsw-font-xs-13);gap:8px}.i0TWxG_markdownPreview>div h1,.i0TWxG_markdownPayload>div h1{font:600 16px/22px var(--dsw-font-family)}.i0TWxG_markdownPreview>div h2,.i0TWxG_markdownPayload>div h2{font:600 15px/22px var(--dsw-font-family)}.i0TWxG_markdownPreview>div :where(h3,h4,h5,h6),.i0TWxG_markdownPayload>div :where(h3,h4,h5,h6){font:600 14px/20px var(--dsw-font-family)}.i0TWxG_markdownPreview>div :not(pre)>code,.i0TWxG_markdownPayload>div :not(pre)>code{font:12px/18px var(--ds-font-family-code)}.i0TWxG_markdownPreview>div table,.i0TWxG_markdownPayload>div table{font:var(--dsw-font-xs-13)}.i0TWxG_markdownPreview>div>:first-child{margin-top:0}.i0TWxG_markdownPreview>div>:last-child{margin-bottom:0}.i0TWxG_markdownPreview>div :where(h1,h2,h3){margin:12px 0 6px}.i0TWxG_markdownPreview>div :where(h4,h5,h6){margin:10px 0 5px}.i0TWxG_markdownPreview>div :where(p,ul,ol){margin:8px 0}.i0TWxG_markdownPreview>div li:not(:first-child){margin-top:3px}.i0TWxG_markdownPreview>div blockquote{margin-top:8px}.i0TWxG_markdownPreview>div hr{margin:14px 0}.i0TWxG_markdownPreview>div>.md-code-block{margin:10px 0}.i0TWxG_assistantContent .i0TWxG_markdownPayload,.i0TWxG_assistantContent .i0TWxG_payload{min-height:0}.i0TWxG_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}.i0TWxG_thinkingQuoteOnlyPreview{margin-bottom:8px}.i0TWxG_detailBody>.i0TWxG_assistantContentRendered .i0TWxG_thinkingQuote{margin-top:14px}.i0TWxG_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}.i0TWxG_thinkingChevron{transition:transform .12s var(--ds-ease-in-out);flex:none}.i0TWxG_thinkingToggle[aria-expanded=true] .i0TWxG_thinkingChevron{transform:rotate(90deg)}.i0TWxG_thinkingToggle:hover{color:var(--dsw-alias-label-secondary)}.i0TWxG_thinkingToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_thinkingQuote .i0TWxG_markdownPreview,.i0TWxG_thinkingQuote .i0TWxG_markdownPayload,.i0TWxG_thinkingQuote .i0TWxG_payload{min-height:0;color:var(--dsw-alias-label-secondary);background:0 0;padding:2px 0}.i0TWxG_assistantOutput{background:var(--dsw-alias-bg-layer-1)}.i0TWxG_markdownPreview{padding:6px 14px 8px}.i0TWxG_markdownPayload{min-height:100%;padding:14px}.i0TWxG_jsonPayload{min-height:100%}.i0TWxG_jsonPreview{min-height:0}.i0TWxG_schema{background:var(--dsw-alias-bg-layer-1);min-height:100%}.i0TWxG_schemaPreview{min-height:0}.i0TWxG_schemaIntro{padding:12px 14px 6px}.i0TWxG_schemaPreview .i0TWxG_schemaIntro{padding-top:6px}.i0TWxG_schemaName{color:var(--dsw-alias-label-primary);font:600 12px/18px var(--ds-font-family-code);margin:0}.i0TWxG_schemaDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:2px 0 0}.i0TWxG_schemaParameters{min-width:0}.i0TWxG_schemaParametersTitle{color:var(--dsw-alias-label-tertiary);font:600 11px/16px var(--dsw-font-family);user-select:none;margin:0;padding:4px 14px 2px}.i0TWxG_schemaTree{margin:0 6px 8px 0}.i0TWxG_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}.i0TWxG_payloadPreview{min-height:0;padding:6px 14px 8px}.i0TWxG_sourceBlocks{box-sizing:border-box;min-height:100%;padding:12px 14px}.i0TWxG_sourceBlock+.i0TWxG_sourceBlock{margin-top:14px}.i0TWxG_sourceBlockHeader,.i0TWxG_sourceBlockJumpTarget{user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.i0TWxG_sourceBlockJumpTarget{all:unset;cursor:pointer;user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.i0TWxG_sourceBlockLabel{color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code)}.i0TWxG_sourceBlockJumpIcon{color:var(--dsw-alias-label-caption);flex:none}.i0TWxG_sourceBlockJumpTarget:hover .i0TWxG_sourceBlockJumpIcon{color:var(--dsw-alias-label-primary)}.i0TWxG_sourceBlockJumpTarget:focus-visible{outline:none}.i0TWxG_sourceBlockJumpTarget:focus-visible .i0TWxG_sourceBlockJumpIcon{color:var(--dsw-alias-state-business-primary)}.i0TWxG_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}.i0TWxG_messageImages{flex-direction:column;gap:8px;margin:8px 14px 14px;display:flex}.i0TWxG_messageImagesPreview{gap:6px;margin:6px 14px 8px}.i0TWxG_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}.i0TWxG_assistantToolCallsPreview{margin-top:2px;margin-bottom:8px}.i0TWxG_assistantToolCalls li{min-width:0}.i0TWxG_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}.i0TWxG_assistantToolCallButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_assistantToolCallButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.i0TWxG_assistantToolCallIcon{color:var(--dsw-alias-label-caption);flex:none;margin-right:5px}.i0TWxG_assistantToolCallButton:hover .i0TWxG_assistantToolCallIcon,.i0TWxG_assistantToolCallButton:focus-visible .i0TWxG_assistantToolCallIcon{color:var(--dsw-alias-label-secondary)}.i0TWxG_assistantToolCallText{white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.i0TWxG_assistantToolCallName{color:var(--dsw-alias-label-secondary);flex:none;margin-right:5px;font-weight:500}.i0TWxG_assistantToolCallArgs{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.i0TWxG_systemPrompt{box-sizing:border-box}.i0TWxG_toolCatalog{min-height:100%;padding:8px 0 16px}.i0TWxG_toolCatalogItem{border-bottom:1px solid var(--dsw-alias-border-l1)}.i0TWxG_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}.i0TWxG_toolCatalogSummary::-webkit-details-marker{display:none}.i0TWxG_toolCatalogSummary:hover{background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_toolCatalogSummary:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.i0TWxG_toolCatalogChevron,.i0TWxG_toolCatalogIcon{color:var(--dsw-alias-label-caption)}.i0TWxG_toolCatalogChevron{transition:transform .1s var(--ds-ease-in-out)}.i0TWxG_toolCatalogItem[open] .i0TWxG_toolCatalogChevron{transform:rotate(90deg)}.i0TWxG_toolCatalogName{color:var(--dsw-alias-label-primary);font:500 12px/18px var(--ds-font-family-code)}.i0TWxG_toolCatalogDescription{min-width:0;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.i0TWxG_toolCatalogDefinition{background:var(--dsw-alias-bg-base);padding:0 0 8px 29px}.i0TWxG_toolCatalogFullDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:0;padding:7px 14px 4px 0}.i0TWxG_toolCatalogTree{margin-left:-14px;margin-right:6px}.i0TWxG_resultBlocks{box-sizing:border-box;flex-direction:column;gap:10px;min-height:100%;padding:14px;display:flex}.i0TWxG_resultBlocksPreview{gap:6px;min-height:0;padding:6px 14px 8px}.i0TWxG_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}.i0TWxG_overviewPreview .i0TWxG_noPayload{padding:6px 14px 8px}.i0TWxG_noPayload{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);margin:0;padding:18px 14px}@media (width<=760px){.i0TWxG_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}}";
|
|
3652
|
+
const css$3 = ".i0TWxG_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}.i0TWxG_tablePane{min-width:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);flex:1;position:relative;overflow:hidden auto;container:i0TWxG_trajectory-table/inline-size}.i0TWxG_historyLoading{z-index:5;pointer-events:none;height:0;position:sticky;top:0;overflow:visible}.i0TWxG_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}.i0TWxG_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 i0TWxG_history-loading-spin}.i0TWxG_table tbody .i0TWxG_historyLoadRow td{height:30px;padding:0}.i0TWxG_table tbody .i0TWxG_historyLoadRow+tr[data-turn-start=true] td:before{content:none}.i0TWxG_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}.i0TWxG_historyLoadButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.i0TWxG_historyLoadButton:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-2px}.i0TWxG_historyLoadButton:disabled{cursor:default}.i0TWxG_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.i0TWxG_table:not([data-scroll-ready=true]){visibility:hidden}@keyframes i0TWxG_history-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.i0TWxG_historyLoadingSpinner{animation:none}}.i0TWxG_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)}.i0TWxG_eventColumn{width:122px}.i0TWxG_contentColumn{width:auto}.i0TWxG_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}.i0TWxG_eventHeader{text-align:right!important;padding-right:4px!important}.i0TWxG_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}.i0TWxG_table tbody .i0TWxG_virtualSpacer{pointer-events:none}.i0TWxG_table tbody .i0TWxG_virtualSpacer td{height:var(--trajectory-virtual-spacer-height);border:0;padding:0}.i0TWxG_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}.i0TWxG_table tbody tr[data-timeline-focus=outside]{opacity:.24}.i0TWxG_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)}.i0TWxG_table tbody tr[data-request-only=true]:hover{background:0 0}.i0TWxG_table tbody tr[data-request-only=true] td{border-bottom:0;height:0;padding-top:0;padding-bottom:0}.i0TWxG_table tbody tr[data-terminal-request-boundary=true] td{height:9px}.i0TWxG_table tbody tr[data-request-only=true] .i0TWxG_turnRail{top:-15px;bottom:0}.i0TWxG_table tbody tr:not([data-collapsed-summary]):focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.i0TWxG_table tbody tr[data-selected=true]{background:var(--dsw-alias-interactive-bg-active)}.i0TWxG_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}.i0TWxG_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}.i0TWxG_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}.i0TWxG_requestBoundaryControl:hover:before,.i0TWxG_requestBoundaryControl:focus-visible:before{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color)}.i0TWxG_requestBoundaryControlActive:before,.i0TWxG_requestBoundaryControlActive:hover:before,.i0TWxG_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)}.i0TWxG_requestBoundaryControl[data-request-status=error]:before,.i0TWxG_requestBoundaryControl[data-request-status=error]:hover:before,.i0TWxG_requestBoundaryControl[data-request-status=error]:focus-visible:before{background:var(--dsw-alias-state-error-primary)}.i0TWxG_requestBoundaryControl:hover:after,.i0TWxG_requestBoundaryControl:focus-visible:after{opacity:1;transform:translate(0)}.i0TWxG_requestBoundaryControl:focus-visible{outline:none}.i0TWxG_table tbody tr:has(.i0TWxG_requestBoundaryControl:hover):not([data-selected=true]){background:0 0}.i0TWxG_event{position:relative}.i0TWxG_turnRail,.i0TWxG_selectionRail{background:var(--dsw-alias-brand-primary-new-colorprimary-new-color);pointer-events:none;position:absolute;left:0}.i0TWxG_turnRail{z-index:4;background:var(--trajectory-turn-accent);width:2px;top:-1px;bottom:-1px}.i0TWxG_table tbody tr[data-turn-end=true] .i0TWxG_turnRail{bottom:0}.i0TWxG_selectionRail{z-index:5;width:3px;top:0;bottom:0}.i0TWxG_table tbody tr[data-error=true] .i0TWxG_turnRail{background:color-mix(in srgb, var(--dsw-alias-state-error-primary) 22%, var(--dsw-alias-bg-layer-1))}.i0TWxG_table tbody tr[data-error=true] .i0TWxG_selectionRail{background:var(--dsw-alias-state-error-primary)}.i0TWxG_table tbody tr[data-turn-start=true] td{position:relative;overflow:visible}.i0TWxG_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%)}.i0TWxG_event{padding-left:36px!important;padding-right:4px!important;overflow:visible!important}.i0TWxG_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}.i0TWxG_turnLabelFull,.i0TWxG_turnLabelCompact{opacity:1;white-space:nowrap;grid-area:1/1;max-width:64px;overflow:hidden}.i0TWxG_turnLabelCompact{opacity:0;max-width:0}.i0TWxG_turnLabelActive{color:color-mix(in srgb, var(--dsw-static-blue-500) 55%, var(--dsw-alias-label-tertiary));background:var(--trajectory-turn-accent)}.i0TWxG_eventInner{justify-content:flex-start;align-items:center;min-width:0;height:100%;display:flex}.i0TWxG_kindSlot{flex:none;justify-content:flex-end;align-items:flex-end;width:76px;display:flex}.i0TWxG_kindSlot [role=tooltip]{background:var(--dsw-alias-bg-layer-2);box-shadow:var(--dsw-elevation-panel);color:var(--dsw-alias-label-primary);border:0}.i0TWxG_content{color:var(--dsw-alias-label-primary);padding-left:4px!important}.i0TWxG_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}.i0TWxG_kindTagIcon{opacity:0;flex:none;justify-content:center;align-items:center;width:0;height:13px;display:inline-flex;overflow:hidden;transform:scale(.8)}.i0TWxG_kindTagLabel{opacity:1;white-space:nowrap;max-width:72px;display:inline-block;overflow:hidden}.i0TWxG_table .i0TWxG_kindSlot .i0TWxG_message{justify-content:center;width:100%}@container i0TWxG_trajectory-table (width<=620px){.i0TWxG_eventColumn{width:50px}.i0TWxG_event{padding-left:28px!important;padding-right:3px!important}.i0TWxG_requestBoundaryControl{--request-boundary-base-left:6px}.i0TWxG_kindSlot{width:19px}.i0TWxG_kindTag,.i0TWxG_table .i0TWxG_kindSlot .i0TWxG_message{justify-content:center;width:19px;padding-left:0;padding-right:0}.i0TWxG_kindTagIcon{opacity:1;width:13px;transform:scale(1)}.i0TWxG_kindTagLabel,.i0TWxG_turnLabelFull{opacity:0;max-width:0}.i0TWxG_turnLabelCompact{opacity:1;max-width:64px}}@media (prefers-reduced-motion:no-preference){.i0TWxG_eventColumn,.i0TWxG_event,.i0TWxG_requestBoundaryControl,.i0TWxG_kindSlot,.i0TWxG_kindTag,.i0TWxG_kindTagIcon,.i0TWxG_kindTagLabel,.i0TWxG_turnLabelFull,.i0TWxG_turnLabelCompact{transition-duration:.18s;transition-timing-function:var(--ds-ease-in-out)}.i0TWxG_eventColumn,.i0TWxG_kindSlot{transition-property:width}.i0TWxG_event{transition-property:padding-right,padding-left}.i0TWxG_requestBoundaryControl{transition-property:left}.i0TWxG_kindTag{transition-property:padding-right,padding-left}.i0TWxG_kindTagIcon{transition-property:width,opacity,transform}.i0TWxG_kindTagLabel,.i0TWxG_turnLabelFull,.i0TWxG_turnLabelCompact{transition-property:max-width,opacity}}.i0TWxG_user{color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-state-business-tertiary)}.i0TWxG_systemNeutral{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.i0TWxG_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)}.i0TWxG_compacted{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-module-platform)}.i0TWxG_compactedSummary{font:var(--dsw-font-xs-13);margin-top:12px;padding:0 0 14px}.i0TWxG_promptDiffSections{flex-direction:column;gap:14px;max-height:100%;padding:10px 14px 14px;display:flex;overflow:auto}.i0TWxG_promptDiffSection{min-width:0}.i0TWxG_promptDiffTitle{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0 0 6px}.i0TWxG_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}.i0TWxG_promptDiff span{min-width:max-content;padding:0 6px;display:block}.i0TWxG_promptDiffLinemeta{color:var(--dsw-alias-label-caption);background:var(--dsw-alias-bg-module-platform);user-select:none}.i0TWxG_promptDiffLinecontext{color:var(--dsw-alias-label-secondary)}.i0TWxG_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)}.i0TWxG_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))}.i0TWxG_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))}.i0TWxG_toolAmber{color:var(--dsw-alias-state-warn-label);background:var(--dsw-alias-state-warn-tertiary)}.i0TWxG_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))}.i0TWxG_contentText{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.i0TWxG_toolCallOnly{color:var(--dsw-alias-label-tertiary)}.i0TWxG_table tbody tr[data-collapsed-summary=turn] td,.i0TWxG_table tbody tr[data-collapsed-summary=assistant] td{height:20px}.i0TWxG_table tbody tr[data-collapsed-summary]{cursor:pointer;transition:background-color .12s var(--ds-ease-in-out);outline:none}.i0TWxG_table tbody tr[data-collapsed-summary]:hover{background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_table tbody tr[data-collapsed-summary]:focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-state-business-primary)}.i0TWxG_collapsedTurnContent{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;font-size:12px;line-height:16px;display:flex}.i0TWxG_collapsedTurnEllipsis{color:var(--dsw-alias-label-tertiary);user-select:none;flex:none;margin-right:6px;font-weight:600}.i0TWxG_collapsedTurnText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.i0TWxG_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}.i0TWxG_resultRequest,.i0TWxG_inlineResultText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.i0TWxG_toolCallNameTypeface{color:var(--dsw-alias-label-primary);font:400 12px/18px Menlo,Consolas,Liberation Mono,PingFang SC,Microsoft YaHei}.i0TWxG_toolCallPayload{color:var(--dsw-alias-label-secondary);font:400 12px/18px var(--ds-font-family-code);margin-left:7px}.i0TWxG_table tbody tr[data-kind=tool] .i0TWxG_contentText,.i0TWxG_table tbody tr[data-kind=subtool] .i0TWxG_contentText,.i0TWxG_table tbody tr[data-kind=tool] .i0TWxG_resultPreview,.i0TWxG_table tbody tr[data-kind=subtool] .i0TWxG_resultPreview{font-family:var(--ds-font-family-code);font-size:12px}.i0TWxG_table tbody tr[data-kind=subtool] .i0TWxG_content{padding-left:26px}.i0TWxG_inlineResult{min-width:0;color:var(--dsw-alias-label-secondary);align-items:center;display:flex}.i0TWxG_noOutputText{color:var(--dsw-alias-label-caption)}.i0TWxG_arrow{color:var(--dsw-alias-label-caption);flex:none;margin-right:8px}.i0TWxG_error,.i0TWxG_overview dd.i0TWxG_error,.i0TWxG_details .i0TWxG_errorPayload{color:var(--dsw-alias-state-error-primary)}.i0TWxG_details .i0TWxG_errorPayload .i0TWxG_resultBlockText{color:inherit}.i0TWxG_details .i0TWxG_jsonPayload.i0TWxG_errorPayload,.i0TWxG_details .i0TWxG_jsonPreview.i0TWxG_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)}.i0TWxG_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}.i0TWxG_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}.i0TWxG_detailsResizeHandle:focus-visible{outline:none}.i0TWxG_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}.i0TWxG_detailsTitle{min-width:0;color:var(--dsw-alias-label-primary);align-items:center;gap:8px;display:flex}.i0TWxG_requestDetailsDot{corner-shape:round;background:var(--dsw-alias-label-secondary);border-radius:50%;flex:none;width:5px;height:5px}.i0TWxG_requestDetailsName{font:500 12px/16px var(--ds-font-family-code);flex:none}.i0TWxG_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}.i0TWxG_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}.i0TWxG_close:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_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}.i0TWxG_detailTabs::-webkit-scrollbar{display:none}.i0TWxG_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}.i0TWxG_detailTab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_detailTabActive{color:var(--dsw-alias-state-business-primary)}.i0TWxG_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}.i0TWxG_close:focus-visible,.i0TWxG_detailTab:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.i0TWxG_detailBody{min-height:0;padding-bottom:var(--dsh-trajectory-bottom-clearance,0px);scrollbar-gutter:stable;flex:1;overflow:hidden auto}.i0TWxG_detailBodySummary{box-sizing:border-box;padding-bottom:calc(12px + var(--dsh-trajectory-bottom-clearance,0px));flex-direction:column;display:flex;overflow:hidden}.i0TWxG_detailBodySummary>.i0TWxG_overview{overscroll-behavior:contain;flex:0 auto;min-height:0;overflow:auto}.i0TWxG_detailBodySummary>.i0TWxG_compactedSummary{flex:1;min-height:0;overflow:auto}.i0TWxG_summaryScrollRegion{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.i0TWxG_summaryScrollRegion:hover,.i0TWxG_summaryScrollRegion:focus-within{--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2)}.i0TWxG_compactedSummary .i0TWxG_markdownPayload{padding-right:18px}.i0TWxG_overview{font:var(--dsw-font-xs-13);margin:0;padding:8px 0}.i0TWxG_overviewParentLinks{gap:14px;display:flex}.i0TWxG_overviewHierarchyNavLink{all:unset;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;opacity:1;align-items:center;gap:1px;display:inline-flex}.i0TWxG_overviewHierarchyNavLink:hover{color:var(--dsw-alias-label-primary)}.i0TWxG_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-caption);flex:none}.i0TWxG_overviewHierarchyNavLink:hover .i0TWxG_overviewHierarchyJumpIconTight,.i0TWxG_overviewHierarchyNavLink:focus-visible .i0TWxG_overviewHierarchyJumpIconTight{color:var(--dsw-alias-label-primary)}.i0TWxG_overviewHierarchyNavLink:focus-visible{color:var(--dsw-alias-label-primary);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_overview>div{grid-template-columns:94px minmax(0,1fr);align-items:center;min-height:22px;padding:0 14px;display:grid}.i0TWxG_overview>.i0TWxG_requestTokenDetail dt{padding-left:12px}.i0TWxG_usagePanel{padding:4px 0 10px}.i0TWxG_usageGroup+.i0TWxG_usageGroup{margin-top:8px}.i0TWxG_usageHeading{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-strong-13);user-select:none;margin:0;padding:4px 14px 1px}.i0TWxG_usageGroup .i0TWxG_overview{padding:0}.i0TWxG_overview dt{color:var(--dsw-alias-label-tertiary)}.i0TWxG_overview dd{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.i0TWxG_timestampToggle{all:unset;color:inherit;cursor:pointer;font:inherit;user-select:text}.i0TWxG_timestampToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_overviewSections{border-top:0;flex-direction:column;flex:1;min-height:min-content;display:flex;overflow:hidden}.i0TWxG_overviewSection{flex-direction:column;flex:1 1 0;min-height:28px;max-height:max-content;display:flex;overflow:hidden}.i0TWxG_overviewSection+.i0TWxG_overviewSection{padding-top:8px}.i0TWxG_overviewHeading{box-sizing:border-box;width:100%;height:28px;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}.i0TWxG_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}.i0TWxG_overviewTitleIcon{color:var(--dsw-alias-label-caption);flex:none}.i0TWxG_overviewTitle:hover .i0TWxG_overviewTitleIcon{color:var(--dsw-alias-label-primary)}.i0TWxG_overviewTitle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_overviewTitle:focus-visible .i0TWxG_overviewTitleIcon{color:var(--dsw-alias-state-business-primary)}.i0TWxG_overviewPreview{overscroll-behavior:contain;background:var(--dsw-alias-bg-layer-1);flex:1;min-height:0;overflow:auto}.i0TWxG_overviewPreview>:last-child{margin-bottom:0;padding-bottom:0}.i0TWxG_overviewPreview .i0TWxG_jsonPreview>:first-child,.i0TWxG_overviewPreview .i0TWxG_schemaTree>:first-child{padding-bottom:0}.i0TWxG_overviewPreview .i0TWxG_schemaTree{margin-bottom:0}.i0TWxG_overviewPreview .i0TWxG_overview{padding:2px 0 0}.i0TWxG_overviewPreview .i0TWxG_overview>div{min-height:22px}.i0TWxG_markdownPreview,.i0TWxG_markdownPayload{color:var(--dsw-alias-label-primary)}.i0TWxG_markdownPreview>div,.i0TWxG_markdownPayload>div{font:var(--dsw-font-xs-13);gap:8px}.i0TWxG_markdownPreview>div h1,.i0TWxG_markdownPayload>div h1{font:600 16px/22px var(--dsw-font-family)}.i0TWxG_markdownPreview>div h2,.i0TWxG_markdownPayload>div h2{font:600 15px/22px var(--dsw-font-family)}.i0TWxG_markdownPreview>div :where(h3,h4,h5,h6),.i0TWxG_markdownPayload>div :where(h3,h4,h5,h6){font:600 14px/20px var(--dsw-font-family)}.i0TWxG_markdownPreview>div :not(pre)>code,.i0TWxG_markdownPayload>div :not(pre)>code{font:12px/18px var(--ds-font-family-code)}.i0TWxG_markdownPreview>div table,.i0TWxG_markdownPayload>div table{font:var(--dsw-font-xs-13)}.i0TWxG_markdownPreview>div>:first-child{margin-top:0}.i0TWxG_markdownPreview>div>:last-child{margin-bottom:0}.i0TWxG_markdownPreview>div :where(h1,h2,h3){margin:12px 0 6px}.i0TWxG_markdownPreview>div :where(h4,h5,h6){margin:10px 0 5px}.i0TWxG_markdownPreview>div :where(p,ul,ol){margin:8px 0}.i0TWxG_markdownPreview>div li:not(:first-child){margin-top:3px}.i0TWxG_markdownPreview>div blockquote{margin-top:8px}.i0TWxG_markdownPreview>div hr{margin:14px 0}.i0TWxG_markdownPreview>div>.md-code-block{margin:10px 0}.i0TWxG_assistantContent .i0TWxG_markdownPayload,.i0TWxG_assistantContent .i0TWxG_payload{min-height:0}.i0TWxG_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}.i0TWxG_thinkingQuoteOnlyPreview{margin-bottom:8px}.i0TWxG_detailBody>.i0TWxG_assistantContentRendered .i0TWxG_thinkingQuote{margin-top:14px}.i0TWxG_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}.i0TWxG_thinkingChevron{transition:transform .12s var(--ds-ease-in-out);flex:none}.i0TWxG_thinkingToggle[aria-expanded=true] .i0TWxG_thinkingChevron{transform:rotate(90deg)}.i0TWxG_thinkingToggle:hover{color:var(--dsw-alias-label-secondary)}.i0TWxG_thinkingToggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.i0TWxG_thinkingQuote .i0TWxG_markdownPreview,.i0TWxG_thinkingQuote .i0TWxG_markdownPayload,.i0TWxG_thinkingQuote .i0TWxG_payload{min-height:0;color:var(--dsw-alias-label-secondary);background:0 0;padding:2px 0}.i0TWxG_assistantOutput{background:var(--dsw-alias-bg-layer-1)}.i0TWxG_markdownPreview{padding:6px 14px 8px}.i0TWxG_markdownPayload{min-height:100%;padding:14px}.i0TWxG_jsonPayload{min-height:100%}.i0TWxG_jsonPreview{min-height:0}.i0TWxG_schema{background:var(--dsw-alias-bg-layer-1);min-height:100%}.i0TWxG_schemaPreview{min-height:0}.i0TWxG_schemaIntro{padding:12px 14px 6px}.i0TWxG_schemaPreview .i0TWxG_schemaIntro{padding-top:6px}.i0TWxG_schemaName{color:var(--dsw-alias-label-primary);font:600 12px/18px var(--ds-font-family-code);margin:0}.i0TWxG_schemaDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:2px 0 0}.i0TWxG_schemaParameters{min-width:0}.i0TWxG_schemaParametersTitle{color:var(--dsw-alias-label-tertiary);font:600 11px/16px var(--dsw-font-family);user-select:none;margin:0;padding:4px 14px 2px}.i0TWxG_schemaTree{margin:0 6px 8px 0}.i0TWxG_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}.i0TWxG_payloadPreview{min-height:0;padding:6px 14px 8px}.i0TWxG_sourceBlocks{box-sizing:border-box;min-height:100%;padding:12px 14px}.i0TWxG_sourceBlock+.i0TWxG_sourceBlock{margin-top:14px}.i0TWxG_sourceBlockHeader,.i0TWxG_sourceBlockJumpTarget{user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.i0TWxG_sourceBlockJumpTarget{all:unset;cursor:pointer;user-select:none;align-items:center;gap:3px;width:max-content;margin-bottom:3px;display:flex}.i0TWxG_sourceBlockLabel{color:var(--dsw-alias-label-tertiary);font:11px/16px var(--ds-font-family-code)}.i0TWxG_sourceBlockJumpIcon{color:var(--dsw-alias-label-caption);flex:none}.i0TWxG_sourceBlockJumpTarget:hover .i0TWxG_sourceBlockJumpIcon{color:var(--dsw-alias-label-primary)}.i0TWxG_sourceBlockJumpTarget:focus-visible{outline:none}.i0TWxG_sourceBlockJumpTarget:focus-visible .i0TWxG_sourceBlockJumpIcon{color:var(--dsw-alias-state-business-primary)}.i0TWxG_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}.i0TWxG_messageImages{flex-direction:column;gap:8px;margin:8px 14px 14px;display:flex}.i0TWxG_messageImagesPreview{gap:6px;margin:6px 14px 8px}.i0TWxG_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}.i0TWxG_assistantToolCallsPreview{margin-top:2px;margin-bottom:8px}.i0TWxG_assistantToolCalls li{min-width:0}.i0TWxG_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}.i0TWxG_assistantToolCallButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_assistantToolCallButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.i0TWxG_assistantToolCallIcon{color:var(--dsw-alias-label-caption);flex:none;margin-right:5px}.i0TWxG_assistantToolCallButton:hover .i0TWxG_assistantToolCallIcon,.i0TWxG_assistantToolCallButton:focus-visible .i0TWxG_assistantToolCallIcon{color:var(--dsw-alias-label-secondary)}.i0TWxG_assistantToolCallText{white-space:nowrap;flex:1;min-width:0;display:flex;overflow:hidden}.i0TWxG_assistantToolCallName{color:var(--dsw-alias-label-secondary);flex:none;margin-right:5px;font-weight:500}.i0TWxG_assistantToolCallArgs{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.i0TWxG_systemPrompt{box-sizing:border-box}.i0TWxG_toolCatalog{min-height:100%;padding:8px 0 16px}.i0TWxG_toolCatalogItem{border-bottom:.5px solid var(--dsw-alias-border-l1)}.i0TWxG_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}.i0TWxG_toolCatalogSummary::-webkit-details-marker{display:none}.i0TWxG_toolCatalogSummary:hover{background:var(--dsw-alias-interactive-bg-hover)}.i0TWxG_toolCatalogSummary:focus-visible{background:var(--dsw-alias-interactive-bg-hover);outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.i0TWxG_toolCatalogChevron,.i0TWxG_toolCatalogIcon{color:var(--dsw-alias-label-caption)}.i0TWxG_toolCatalogChevron{transition:transform .1s var(--ds-ease-in-out)}.i0TWxG_toolCatalogItem[open] .i0TWxG_toolCatalogChevron{transform:rotate(90deg)}.i0TWxG_toolCatalogName{color:var(--dsw-alias-label-primary);font:500 12px/18px var(--ds-font-family-code)}.i0TWxG_toolCatalogDescription{min-width:0;color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.i0TWxG_toolCatalogDefinition{background:var(--dsw-alias-bg-base);padding:0 0 8px 29px}.i0TWxG_toolCatalogFullDescription{color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);white-space:pre-wrap;margin:0;padding:7px 14px 4px 0}.i0TWxG_toolCatalogTree{margin-left:-14px;margin-right:6px}.i0TWxG_resultBlocks{box-sizing:border-box;flex-direction:column;gap:10px;min-height:100%;padding:14px;display:flex}.i0TWxG_resultBlocksPreview{gap:6px;min-height:0;padding:6px 14px 8px}.i0TWxG_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}.i0TWxG_overviewPreview .i0TWxG_noPayload{padding:6px 14px 8px}.i0TWxG_noPayload{color:var(--dsw-alias-label-tertiary);font:var(--dsw-font-xs-13);margin:0;padding:18px 14px}@media (width<=760px){.i0TWxG_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}}";
|
|
3603
3653
|
const tagId$3 = "@prettier-ai/dsh-client-ui-trajectory/TrajectoryTable.module.css";
|
|
3604
3654
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
|
|
3605
3655
|
const tag = document.createElement("style");
|
|
@@ -6027,7 +6077,7 @@ window.__ModuleLoader__.load({
|
|
|
6027
6077
|
}
|
|
6028
6078
|
//#endregion
|
|
6029
6079
|
//#region \0dsh-css:/home/runner/work/dsh-publisher/dsh-publisher/upstream/packages/client/ui-trajectory/src/client/TrajectoryToolbar.module.css.mjs
|
|
6030
|
-
const css$2 = ".z3cYuG_root{z-index:4;box-sizing:border-box;width:100%;height:var(--dsh-trajectory-toolbar-height);border-bottom
|
|
6080
|
+
const css$2 = ".z3cYuG_root{z-index:4;box-sizing:border-box;width:100%;height:var(--dsh-trajectory-toolbar-height);border-bottom:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);position:sticky;top:0}.z3cYuG_inner{box-sizing:border-box;align-items:center;gap:8px;width:100%;height:100%;padding:0 6px;display:flex}.z3cYuG_actions{flex:none;align-items:center;gap:2px;display:flex}.z3cYuG_toggle{height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:var(--dsw-font-xxs-12);background:0 0;border:0;border-radius:3px;flex:none;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.z3cYuG_toggle:hover,.z3cYuG_toggle[aria-pressed=true]{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.z3cYuG_toggle:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.z3cYuG_toggleIcon{stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:12px;height:12px}.z3cYuG_control{box-sizing:border-box;width:88px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:var(--dsw-font-xxs-12);background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;gap:4px;padding:0 5px;display:inline-flex}.z3cYuG_control[hidden]{display:none}.z3cYuG_control:hover:not(:disabled),.z3cYuG_control[aria-checked=true],.z3cYuG_control[aria-pressed=true]{color:var(--dsw-alias-label-primary)}.z3cYuG_control:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.z3cYuG_control:disabled{color:var(--dsw-alias-label-dimmed);cursor:not-allowed}.z3cYuG_controlTrack{background:var(--dsw-alias-border-l2);width:20px;height:10px;transition:background-color .12s var(--ds-ease-in-out);border-radius:5px;flex:none;display:inline-block;position:relative}.z3cYuG_controlThumb{corner-shape:round;background:var(--dsw-alias-bg-layer-1);width:6px;height:6px;transition:transform .12s var(--ds-ease-in-out);border-radius:50%;position:absolute;top:2px;left:2px}.z3cYuG_controlTrack[data-on=true]{background:var(--dsw-alias-state-business-primary)}.z3cYuG_controlTrack[data-on=true] .z3cYuG_controlThumb{transform:translate(10px)}.z3cYuG_action{height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;font:var(--dsw-font-xxs-12);background:0 0;border:0;border-radius:3px;flex:none;align-items:center;gap:4px;padding:0 5px;display:inline-flex}.z3cYuG_action:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.z3cYuG_action:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:1px}.z3cYuG_actionIcon{color:var(--dsw-alias-label-tertiary);font:14px/14px var(--ds-font-family-code)}.z3cYuG_search{border:.5px solid var(--dsw-alias-border-l4);min-width:84px;height:22px;color:var(--dsw-alias-label-caption);background:var(--dsw-alias-bg-layer-2);border-radius:4px;flex:0 164px;align-items:center;gap:4px;margin-left:auto;padding:0 6px;display:flex}.z3cYuG_search:hover{border-color:var(--dsw-alias-label-caption)}.z3cYuG_search:focus-within{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-bg-layer-1)}.z3cYuG_searchIcon{flex:none}.z3cYuG_searchInput{width:100%;min-width:0;color:var(--dsw-alias-label-primary);font:var(--dsw-font-xxs-12);background:0 0;border:0;outline:0;padding:0}.z3cYuG_searchInput::placeholder{color:var(--dsw-alias-label-caption)}.z3cYuG_searchInput::-webkit-search-cancel-button{cursor:pointer;width:12px;height:12px}";
|
|
6031
6081
|
const tagId$2 = "@prettier-ai/dsh-client-ui-trajectory/TrajectoryToolbar.module.css";
|
|
6032
6082
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
|
|
6033
6083
|
const tag = document.createElement("style");
|
|
@@ -6280,7 +6330,7 @@ window.__ModuleLoader__.load({
|
|
|
6280
6330
|
}
|
|
6281
6331
|
//#endregion
|
|
6282
6332
|
//#region \0dsh-css:/home/runner/work/dsh-publisher/dsh-publisher/upstream/packages/client/ui-trajectory/src/client/TrajectoryTimeline.module.css.mjs
|
|
6283
|
-
const css$1 = ".nj6Q5a_root{z-index:1;isolation:isolate;border-bottom
|
|
6333
|
+
const css$1 = ".nj6Q5a_root{z-index:1;isolation:isolate;border-bottom:.5px solid var(--dsw-alias-border-l2);user-select:none;flex:none;position:relative}.nj6Q5a_root [role=tooltip]{font:var(--dsw-font-xxxs-11)}.nj6Q5a_plot{background:var(--dsw-alias-bg-layer-2);grid-template-columns:44px minmax(0,1fr);height:50px;display:grid;overflow:hidden}.nj6Q5a_labels{border-right:.5px solid var(--dsw-alias-border-l1);color:var(--dsw-alias-label-caption);font:var(--dsw-font-xs-13);font-size:10px;line-height:1;position:relative}.nj6Q5a_labels span{text-align:right;justify-content:flex-end;align-items:center;height:8px;display:flex;position:absolute;right:3px}.nj6Q5a_labels span:first-child{top:7px}.nj6Q5a_labels span:nth-child(2){top:21px}.nj6Q5a_labels span:nth-child(3){top:35px}.nj6Q5a_track{cursor:crosshair;touch-action:none;position:relative;overflow:hidden}.nj6Q5a_track[data-panning=true]{cursor:grabbing}.nj6Q5a_earlierHistory{z-index:5;appearance:none;box-sizing:border-box;background:linear-gradient(to right, var(--dsw-alias-bg-layer-2) 0, var(--dsw-alias-bg-layer-2) 38%, transparent 100%);width:28px;color:var(--dsw-alias-label-secondary);font:var(--dsw-font-xs-13);opacity:.72;cursor:pointer;border:0;outline:none;justify-content:flex-start;align-items:center;padding-left:3px;line-height:1;display:flex;position:absolute;top:0;bottom:0;left:0}.nj6Q5a_earlierHistory:hover{opacity:1}.nj6Q5a_earlierHistory[aria-disabled=true]{cursor:default}.nj6Q5a_earlierHistory:focus-visible{box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2)}.nj6Q5a_empty{color:var(--dsw-alias-label-caption);font:var(--dsw-font-xs-13);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nj6Q5a_track:focus-visible{outline:1px solid var(--dsw-alias-state-business-primary);outline-offset:-1px}.nj6Q5a_lanes{z-index:2;top:7px;bottom:7px;left:var(--trajectory-domain-left);width:var(--trajectory-domain-width);position:absolute}.nj6Q5a_turnBoundaries{z-index:3;top:0;bottom:0;left:var(--trajectory-domain-left);width:var(--trajectory-domain-width);pointer-events:none;position:absolute}@media (prefers-reduced-motion:no-preference){.nj6Q5a_lanes[data-animate-viewport=true],.nj6Q5a_turnBoundaries[data-animate-viewport=true]{transition:left .18s ease-out}}.nj6Q5a_turnBoundary{top:0;bottom:0;left:var(--trajectory-turn-left);background:var(--dsw-alias-border-l2);width:.5px;position:absolute}.nj6Q5a_span{top:calc(var(--trajectory-span-lane) * 14px);left:calc(var(--trajectory-span-left) + var(--trajectory-span-gap));width:max(2px, calc(var(--trajectory-span-width) - var(--trajectory-span-gap) - var(--trajectory-span-gap)));background:var(--dsw-alias-label-secondary);opacity:.78;border-radius:1px;min-width:2px;height:8px;position:absolute}.nj6Q5a_span[data-timeline-span=user]{background:var(--dsw-alias-state-business-primary)}.nj6Q5a_span[data-timeline-span=context]{background:color-mix(in srgb, var(--dsw-alias-state-success-primary) 68%, var(--dsw-alias-label-secondary))}.nj6Q5a_span[data-timeline-span=message]{--trajectory-assistant-decoding-color:color-mix(in srgb, var(--dsw-alias-brand-primary-new-colorprimary-new-color) 60%, var(--dsw-alias-state-error-secondary));--trajectory-assistant-ttft-color:color-mix(in srgb, var(--trajectory-assistant-decoding-color) 54%, var(--dsw-alias-bg-layer-2));background:var(--trajectory-assistant-decoding-color);opacity:1}.nj6Q5a_span[data-timeline-span=message][data-assistant-timing=true]{background:linear-gradient(to right, var(--trajectory-assistant-ttft-color) 0, var(--trajectory-assistant-ttft-color) var(--trajectory-assistant-ttft), var(--trajectory-assistant-decoding-color) var(--trajectory-assistant-ttft), var(--trajectory-assistant-decoding-color) 100%)}.nj6Q5a_span[data-timeline-span=tool],.nj6Q5a_span[data-timeline-span=subtool]{background:var(--dsw-alias-state-warn-label);opacity:1}.nj6Q5a_span[data-error=true]{background:var(--dsw-alias-state-error-primary)}.nj6Q5a_span[data-equal-duration=true]{width:8px;min-width:8px}.nj6Q5a_span[data-selected=false]{opacity:.2}.nj6Q5a_span[data-hovered=true]:not([data-current=true]){z-index:1;opacity:1;box-shadow:0 0 0 1px var(--dsw-alias-bg-layer-2), 0 0 0 2px color-mix(in srgb, var(--dsw-alias-state-business-primary) 80%, transparent)}.nj6Q5a_span[data-current=true]{z-index:1;opacity:1;box-shadow:0 0 0 1px var(--dsw-alias-bg-layer-2), 0 0 0 2px var(--dsw-alias-state-business-primary)}.nj6Q5a_span[data-search-match=false]{opacity:.14}.nj6Q5a_selection{z-index:1;top:0;bottom:0;left:var(--trajectory-selection-left);width:var(--trajectory-selection-width);background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 12%, transparent);min-width:1px;box-shadow:-100vw 0 0 100vw color-mix(in srgb, var(--dsw-alias-bg-layer-1) 58%, transparent), 100vw 0 0 100vw color-mix(in srgb, var(--dsw-alias-bg-layer-1) 58%, transparent);pointer-events:none;position:absolute}.nj6Q5a_selectionEdges{z-index:4;top:0;bottom:0;left:var(--trajectory-selection-left);width:var(--trajectory-selection-width);pointer-events:none;min-width:1px;position:absolute}.nj6Q5a_hoverLine{z-index:4;top:0;bottom:0;left:clamp(0px, calc(var(--trajectory-hover-left) - 1px), calc(100% - 2px));background:var(--dsw-alias-state-business-primary);pointer-events:none;width:2px;position:absolute}.nj6Q5a_selectionEdges:before,.nj6Q5a_selectionEdges:after{background:var(--dsw-alias-state-business-primary);content:\"\";width:3px;position:absolute;top:0;bottom:0}.nj6Q5a_selectionEdges:before{left:0}.nj6Q5a_selectionEdges:after{right:0}.nj6Q5a_selectionEdges[data-dragging=true]:before,.nj6Q5a_selectionEdges[data-dragging=true]:after{width:2px}.nj6Q5a_selection[data-dragging=true]{background:color-mix(in srgb, var(--dsw-alias-state-business-primary) 18%, transparent)}";
|
|
6284
6334
|
const tagId$1 = "@prettier-ai/dsh-client-ui-trajectory/TrajectoryTimeline.module.css";
|
|
6285
6335
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
6286
6336
|
const tag = document.createElement("style");
|
|
@@ -7676,6 +7726,11 @@ window.__ModuleLoader__.load({
|
|
|
7676
7726
|
const EMPTY_TURN_IDS = /* @__PURE__ */ new Set();
|
|
7677
7727
|
const EMPTY_RECORD_IDS = /* @__PURE__ */ new Set();
|
|
7678
7728
|
const SEARCH_INDEX_THROTTLE_MS = 3e3;
|
|
7729
|
+
const HISTORY_PAGE_NODES = 50;
|
|
7730
|
+
function containsCall(calls, callId) {
|
|
7731
|
+
for (const call of calls) if (call.callId === callId || containsCall(call.subCalls, callId)) return true;
|
|
7732
|
+
return false;
|
|
7733
|
+
}
|
|
7679
7734
|
function lastCellIndex(turns) {
|
|
7680
7735
|
let last = 0;
|
|
7681
7736
|
for (const turn of turns) for (const group of turn.groups) for (const cell of group.cells) last = Math.max(last, cell.index);
|
|
@@ -7747,10 +7802,36 @@ window.__ModuleLoader__.load({
|
|
|
7747
7802
|
const [selectedTimelineIndex, setSelectedTimelineIndex] = (0, react.useState)(null);
|
|
7748
7803
|
const [timelineRecordSelection, setTimelineRecordSelection] = (0, react.useState)(null);
|
|
7749
7804
|
const [timelineRecordFocus, setTimelineRecordFocus] = (0, react.useState)(null);
|
|
7750
|
-
const
|
|
7805
|
+
const completeInspection = useTrajectory((snapshot) => snapshot);
|
|
7806
|
+
const latestNodeSeq = completeInspection.eventNodes.at(-1)?.seq;
|
|
7807
|
+
const [historyTailSeq, setHistoryTailSeq] = (0, react.useState)(latestNodeSeq);
|
|
7808
|
+
const [historyNodeLimit, setHistoryNodeLimit] = (0, react.useState)(HISTORY_PAGE_NODES);
|
|
7809
|
+
const fixedTailSeq = historyTailSeq ?? latestNodeSeq;
|
|
7810
|
+
const historyTailIndex = fixedTailSeq === void 0 ? -1 : completeInspection.eventNodes.findLastIndex((node) => node.seq <= fixedTailSeq);
|
|
7811
|
+
const historyEndIndex = historyTailIndex < 0 && latestNodeSeq !== void 0 ? completeInspection.eventNodes.length : historyTailIndex + 1;
|
|
7812
|
+
const historyStartIndex = Math.max(0, historyEndIndex - historyNodeLimit);
|
|
7813
|
+
(0, react.useEffect)(() => {
|
|
7814
|
+
if (latestNodeSeq !== void 0 && (historyTailSeq === void 0 || historyTailIndex < 0)) setHistoryTailSeq(latestNodeSeq);
|
|
7815
|
+
}, [
|
|
7816
|
+
historyTailIndex,
|
|
7817
|
+
historyTailSeq,
|
|
7818
|
+
latestNodeSeq
|
|
7819
|
+
]);
|
|
7820
|
+
const inspection = (0, react.useMemo)(() => {
|
|
7821
|
+
if (historyStartIndex === 0) return completeInspection;
|
|
7822
|
+
const eventNodes = completeInspection.eventNodes.slice(historyStartIndex);
|
|
7823
|
+
const firstSeq = eventNodes[0]?.seq ?? 0;
|
|
7824
|
+
return {
|
|
7825
|
+
...completeInspection,
|
|
7826
|
+
eventNodes,
|
|
7827
|
+
requests: completeInspection.requests.filter((request) => request.startSeq >= firstSeq || (request.resultSeq ?? -1) >= firstSeq)
|
|
7828
|
+
};
|
|
7829
|
+
}, [completeInspection, historyStartIndex]);
|
|
7751
7830
|
const historyLoading = useSession((snapshot) => snapshot.openState === "loading");
|
|
7752
7831
|
const olderHistoryLoading = useSession((snapshot) => snapshot.loadingOlder);
|
|
7753
|
-
const
|
|
7832
|
+
const sessionHasOlderHistory = useSession((snapshot) => snapshot.hasMore);
|
|
7833
|
+
const hasResidentOlderHistory = historyStartIndex > 0;
|
|
7834
|
+
const hasOlderHistory = hasResidentOlderHistory || sessionHasOlderHistory;
|
|
7754
7835
|
const nodes = inspection.eventNodes;
|
|
7755
7836
|
const eventLocations = inspection.eventLocations;
|
|
7756
7837
|
const historyBaseSeq = nodes[0]?.seq ?? 0;
|
|
@@ -7759,14 +7840,19 @@ window.__ModuleLoader__.load({
|
|
|
7759
7840
|
const requests = inspection.requests;
|
|
7760
7841
|
const callSchemas = inspection.callSchemas;
|
|
7761
7842
|
const inspectCallId = viewRequest?.view === "trajectory" ? viewRequest.focus : null;
|
|
7843
|
+
const inspectNodeIndex = (0, react.useMemo)(() => inspectCallId === null ? -1 : completeInspection.eventNodes.findIndex((node) => node.kind === "assistant" ? node.blocks.some((block) => block.kind === "tool-call" && block.callId === inspectCallId) : node.kind === "tool-result" && containsCall([node], inspectCallId)), [completeInspection.eventNodes, inspectCallId]);
|
|
7844
|
+
(0, react.useEffect)(() => {
|
|
7845
|
+
if (inspectNodeIndex < 0 || inspectNodeIndex >= historyStartIndex) return;
|
|
7846
|
+
setHistoryNodeLimit((limit) => limit + historyStartIndex - inspectNodeIndex);
|
|
7847
|
+
}, [historyStartIndex, inspectNodeIndex]);
|
|
7762
7848
|
const requestNumbers = (0, react.useMemo)(() => {
|
|
7763
7849
|
const assistantsByStep = /* @__PURE__ */ new Map();
|
|
7764
|
-
for (const node of
|
|
7850
|
+
for (const node of completeInspection.eventNodes) {
|
|
7765
7851
|
if (node.kind !== "assistant" || node.step <= 0) continue;
|
|
7766
7852
|
assistantsByStep.set(`${node.turn}\u0000${node.step}`, node);
|
|
7767
7853
|
}
|
|
7768
|
-
const requestsByStep = new Map(requests.filter((request) => request.purpose === "assistant").map((request) => [`${request.turn}\u0000${request.step}`, request]));
|
|
7769
|
-
const orderedRequests = [...requests.map((request) => ({
|
|
7854
|
+
const requestsByStep = new Map(completeInspection.requests.filter((request) => request.purpose === "assistant").map((request) => [`${request.turn}\u0000${request.step}`, request]));
|
|
7855
|
+
const orderedRequests = [...completeInspection.requests.map((request) => ({
|
|
7770
7856
|
seq: request.startSeq,
|
|
7771
7857
|
request,
|
|
7772
7858
|
node: request.purpose === "assistant" ? assistantsByStep.get(`${request.turn}\u0000${request.step}`) : void 0
|
|
@@ -7835,8 +7921,8 @@ window.__ModuleLoader__.load({
|
|
|
7835
7921
|
}
|
|
7836
7922
|
return numbered;
|
|
7837
7923
|
}, [
|
|
7838
|
-
|
|
7839
|
-
requests,
|
|
7924
|
+
completeInspection.eventNodes,
|
|
7925
|
+
completeInspection.requests,
|
|
7840
7926
|
t
|
|
7841
7927
|
]);
|
|
7842
7928
|
const partialTurn = partial?.turn ?? null;
|
|
@@ -7986,9 +8072,11 @@ window.__ModuleLoader__.load({
|
|
|
7986
8072
|
return collapsed;
|
|
7987
8073
|
});
|
|
7988
8074
|
};
|
|
7989
|
-
const loadEarlierHistory = (0, react.useCallback)(() => {
|
|
7990
|
-
|
|
7991
|
-
|
|
8075
|
+
const loadEarlierHistory = (0, react.useCallback)(async () => {
|
|
8076
|
+
if (!hasResidentOlderHistory && !await loadOlder()) return false;
|
|
8077
|
+
setHistoryNodeLimit((limit) => limit + HISTORY_PAGE_NODES);
|
|
8078
|
+
return true;
|
|
8079
|
+
}, [hasResidentOlderHistory, loadOlder]);
|
|
7992
8080
|
return (0, react_jsx_runtime.jsxs)("div", {
|
|
7993
8081
|
className: views_module_css_default.root,
|
|
7994
8082
|
"data-conversation-composer-overlay": "",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prettier-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.2-alpha.
|
|
4
|
+
"version": "0.1.2-alpha.4",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -18,10 +18,6 @@
|
|
|
18
18
|
"types": "./lib/types/index.d.ts",
|
|
19
19
|
"default": "./lib/index.js"
|
|
20
20
|
},
|
|
21
|
-
"./invariant": {
|
|
22
|
-
"types": "./lib/types/invariant.d.ts",
|
|
23
|
-
"default": "./lib/invariant.js"
|
|
24
|
-
},
|
|
25
21
|
"./client": {
|
|
26
22
|
"types": "./lib/types/client/index.d.ts",
|
|
27
23
|
"default": "./lib/client.js"
|
|
@@ -54,28 +50,26 @@
|
|
|
54
50
|
"@types/react-dom": "~18.3.0",
|
|
55
51
|
"react": "^18.2.0",
|
|
56
52
|
"react-dom": "^18.2.0",
|
|
57
|
-
"@prettier-ai/dsh-agent": "^0.1.2-alpha.
|
|
58
|
-
"@prettier-ai/dsh-client-
|
|
59
|
-
"@prettier-ai/dsh-client-
|
|
60
|
-
"@prettier-ai/dsh-client-ui-
|
|
61
|
-
"@prettier-ai/dsh-client-ui-conversation": "^0.1.2-alpha.
|
|
62
|
-
"@prettier-ai/dsh-client-
|
|
63
|
-
"@prettier-ai/dsh-
|
|
64
|
-
"@prettier-ai/dsh-tools": "^0.1.2-alpha.2",
|
|
65
|
-
"@prettier-ai/dsh-compaction": "^0.1.2-alpha.2",
|
|
53
|
+
"@prettier-ai/dsh-agent": "^0.1.2-alpha.4",
|
|
54
|
+
"@prettier-ai/dsh-client-locale": "^0.1.2-alpha.4",
|
|
55
|
+
"@prettier-ai/dsh-client-test-runtime": "^0.1.2-alpha.4",
|
|
56
|
+
"@prettier-ai/dsh-client-ui-primitives": "^0.1.2-alpha.4",
|
|
57
|
+
"@prettier-ai/dsh-client-ui-conversation": "^0.1.2-alpha.4",
|
|
58
|
+
"@prettier-ai/dsh-client-ui-slots": "^0.1.2-alpha.4",
|
|
59
|
+
"@prettier-ai/dsh-compaction": "^0.1.2-alpha.4",
|
|
66
60
|
"@prettier-ai/cordis": "^4.0.2",
|
|
67
|
-
"@prettier-ai/dsh-
|
|
68
|
-
"@prettier-ai/dsh-client-ui-chat": "^0.1.2-alpha.
|
|
69
|
-
"@prettier-ai/dsh-
|
|
70
|
-
"@prettier-ai/dsh-
|
|
71
|
-
"@prettier-ai/dsh-
|
|
72
|
-
"@prettier-ai/dsh-
|
|
73
|
-
"@prettier-ai/dsh-
|
|
74
|
-
"@prettier-ai/dsh-
|
|
61
|
+
"@prettier-ai/dsh-tools": "^0.1.2-alpha.4",
|
|
62
|
+
"@prettier-ai/dsh-client-ui-chat": "^0.1.2-alpha.4",
|
|
63
|
+
"@prettier-ai/dsh-session": "^0.1.2-alpha.4",
|
|
64
|
+
"@prettier-ai/dsh-client-store": "^0.1.2-alpha.4",
|
|
65
|
+
"@prettier-ai/dsh-api-session-controller": "^0.1.2-alpha.4",
|
|
66
|
+
"@prettier-ai/dsh-client-ui-renderer": "^0.1.2-alpha.4",
|
|
67
|
+
"@prettier-ai/dsh-client-ui-session": "^0.1.2-alpha.4",
|
|
68
|
+
"@prettier-ai/dsh-llm": "^0.1.2-alpha.4",
|
|
69
|
+
"@prettier-ai/dsh-attachment": "^0.1.2-alpha.4"
|
|
75
70
|
},
|
|
76
71
|
"files": [
|
|
77
72
|
"lib/index.js",
|
|
78
|
-
"lib/invariant.js",
|
|
79
73
|
"lib/client.js",
|
|
80
74
|
"lib/types/**/*.d.ts"
|
|
81
75
|
],
|
package/lib/invariant.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
//#region lib/types/invariant.js
|
|
2
|
-
/**
|
|
3
|
-
* Package-owned invariant companion for `@prettier-ai/dsh-client-ui-trajectory`.
|
|
4
|
-
* @module @prettier-ai/dsh-client-ui-trajectory/invariant
|
|
5
|
-
*/
|
|
6
|
-
const PACKAGE_NAME = "@prettier-ai/dsh-client-ui-trajectory";
|
|
7
|
-
/** Cordis companion plugin name. */
|
|
8
|
-
const name = "client-ui-trajectory-invariant";
|
|
9
|
-
/** Service required before the companion can reserve package ownership. */
|
|
10
|
-
const inject = ["invariants"];
|
|
11
|
-
/**
|
|
12
|
-
* No runtime invariant: a pure-consumer plugin — it emits no cordis events
|
|
13
|
-
* and owns no mutable cross-plugin state; its view-slot registration is a
|
|
14
|
-
* plain effect whose disposal the slot ledger's own specs and this
|
|
15
|
-
* package's behavior specs observe directly.
|
|
16
|
-
*/
|
|
17
|
-
const install = () => {};
|
|
18
|
-
/**
|
|
19
|
-
* Register this package's invariant companion.
|
|
20
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
21
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
22
|
-
*/
|
|
23
|
-
const apply = (ctx) => Promise.resolve(ctx.invariants.register(PACKAGE_NAME, install));
|
|
24
|
-
//#endregion
|
|
25
|
-
export { apply, inject, name };
|
package/lib/types/invariant.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-owned invariant companion for `@prettier-ai/dsh-client-ui-trajectory`.
|
|
3
|
-
* @module @prettier-ai/dsh-client-ui-trajectory/invariant
|
|
4
|
-
*/
|
|
5
|
-
import type { Context } from '@prettier-ai/cordis';
|
|
6
|
-
/** Cordis companion plugin name. */
|
|
7
|
-
export declare const name = "client-ui-trajectory-invariant";
|
|
8
|
-
/** Service required before the companion can reserve package ownership. */
|
|
9
|
-
export declare const inject: string[];
|
|
10
|
-
/**
|
|
11
|
-
* Register this package's invariant companion.
|
|
12
|
-
* @param ctx - Cordis context carrying the invariant service.
|
|
13
|
-
* @returns the installed registration's disposer after setup succeeds.
|
|
14
|
-
*/
|
|
15
|
-
export declare const apply: (ctx: Context) => Promise<() => void>;
|
|
16
|
-
//# sourceMappingURL=invariant.d.ts.map
|