@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 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: cb11a8186f32761b6af208ae79196feff8f098d5
6
- README.zh.md: 5b02e965b3d4e041b7a405d210bace366551cecb
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, and Request totals cover the loaded window. 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.
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
- 选择、时间线导航、折叠、搜索与请求汇总只覆盖已加载的窗口。选择记录会打开局部检查器,查看 token 用量、耗时、输入、输出、计时与持久图片。图片 URL 使用 Conversation 拥有的逐会话缓存,因此 Chat 与 Trajectory 对每个附件共享一次已授权读取。没有文本的记录会用图片数量标记其行。独立运行的压缩请求会按时间顺序显示在自己的 `Between turns` 区段中,而带编号的压缩仍位于其所属轮次内。
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
- 长记录表只挂载可见行窗口加少量缓冲;仅含请求的分隔行并入下一个具备可测高度的虚拟项,语义行键与 ARIA 索引在向前补页后保持不变。仅含内容更新的流式帧会保持虚拟行的键与高度、复用测量结果,并且不会重复写入末尾滚动位置。已完成的回复会在 Trajectory target State 中保留组装后的 blocks、计时与用量,共享 Session 窗口则保留原始 Event。
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 pending = [...previous?.state.pending ?? []];
1136
- const claimed = new Set(previous?.state.claimed ?? []);
1137
- const removed = pending.splice(splice.start, splice.removedCount ?? 0, ...splice.inserted);
1138
- for (const identity of splice.inserted) claimed.delete(identity.id);
1139
- if (splice.outcome !== "canceled") for (const identity of removed) claimed.add(identity.id);
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
- claimed
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) => event.type === "agent/inbox/spliced" && event.data.target === "next-step" ? {
1148
- id: String(event.seq),
1149
- role: "start"
1150
- } : null,
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.claimed.has(String(event.data.id)) === true ? {
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:1px 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{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:1px solid var(--dsw-alias-border-l2);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}";
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:1px 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:1px 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:1px;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)}";
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 inspection = useTrajectory((snapshot) => snapshot);
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 hasOlderHistory = useSession((snapshot) => snapshot.hasMore);
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 nodes) {
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
- nodes,
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
- return loadOlder();
7991
- }, [loadOlder]);
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.2",
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.2",
58
- "@prettier-ai/dsh-client-test-runtime": "^0.1.2-alpha.2",
59
- "@prettier-ai/dsh-client-ui-primitives": "^0.1.2-alpha.2",
60
- "@prettier-ai/dsh-client-ui-slots": "^0.1.2-alpha.2",
61
- "@prettier-ai/dsh-client-ui-conversation": "^0.1.2-alpha.2",
62
- "@prettier-ai/dsh-client-locale": "^0.1.2-alpha.2",
63
- "@prettier-ai/dsh-invariants": "^0.1.2-alpha.2",
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-client-store": "^0.1.2-alpha.2",
68
- "@prettier-ai/dsh-client-ui-chat": "^0.1.2-alpha.2",
69
- "@prettier-ai/dsh-client-ui-renderer": "^0.1.2-alpha.2",
70
- "@prettier-ai/dsh-session": "^0.1.2-alpha.2",
71
- "@prettier-ai/dsh-client-ui-session": "^0.1.2-alpha.2",
72
- "@prettier-ai/dsh-api-session-controller": "^0.1.2-alpha.2",
73
- "@prettier-ai/dsh-llm": "^0.1.2-alpha.2",
74
- "@prettier-ai/dsh-attachment": "^0.1.2-alpha.2"
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 };
@@ -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