dsh-watcher 0.7.0 → 0.8.0

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/lib/client.js CHANGED
@@ -55,6 +55,32 @@ window.__ModuleLoader__.load({
55
55
  };
56
56
  }
57
57
  //#endregion
58
+ //#region src/client/history-loader.ts
59
+ /**
60
+ * Build the explicit whole-history loader for one Session: repeat the
61
+ * Session's public, read-only paging verb until the head stops moving, using
62
+ * the same conversation head key the header overlay reports. Nothing starts
63
+ * it automatically — only a user action does.
64
+ */
65
+ function createCompleteHistoryLoader(ctx, sessionId, session) {
66
+ return (signal) => loadCompleteHistory({
67
+ signal,
68
+ loadOlder: () => session.loadOlder(),
69
+ read: () => {
70
+ const sessionSnapshot = session.getSnapshot();
71
+ const chat = ctx.uiConversation.binding(sessionId).snapshot.getSnapshot().views.get("chat");
72
+ if (chat === void 0) throw new Error("dsh-watcher: Chat conversation target is unavailable");
73
+ const firstNode = chat.legacy.nodes[0];
74
+ const firstTurn = chat.timeline.turnOrder[0];
75
+ return {
76
+ hasMore: sessionSnapshot.hasMore,
77
+ loadingOlder: sessionSnapshot.loadingOlder,
78
+ headKey: `${firstTurn ?? "none"}:${firstNode?.seq ?? "none"}:${chat.legacy.nodes.length}`
79
+ };
80
+ }
81
+ });
82
+ }
83
+ //#endregion
58
84
  //#region src/hub/follow.ts
59
85
  /**
60
86
  * Follow versus pin state for the work rail.
@@ -1691,7 +1717,7 @@ window.__ModuleLoader__.load({
1691
1717
  }
1692
1718
  //#endregion
1693
1719
  //#region \0dshx-css-module:./src/client/Watcher.module.css.mjs
1694
- const css$2 = ".xlpj2W_root{--watcher-panel-max-height:min(680px, calc(100vh - 112px));--watcher-motion-fast:.14s;--watcher-motion-panel:.18s;--watcher-motion-inspector:.2s;--watcher-motion-content-out:.12s;--watcher-ease-out:cubic-bezier(.2, .8, .2, 1);--watcher-ease-glide:cubic-bezier(.22, .61, .36, 1);position:relative}.xlpj2W_trigger{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:32px;height:32px;color:var(--dsw-alias-label-primary);cursor:pointer;transition:background-color var(--watcher-motion-fast) ease, border-color var(--watcher-motion-fast) ease, color var(--watcher-motion-fast) ease, transform .1s ease;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.xlpj2W_trigger:hover:not(:disabled),.xlpj2W_trigger:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_trigger:active{transform:scale(.96)}.xlpj2W_trigger:focus-visible{outline:2px solid var(--dsw-static-deepseek-450);outline-offset:2px}.xlpj2W_trigger[data-open]{border-color:var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill);color:var(--dsw-static-deepseek-450)}.xlpj2W_trigger[data-live]{color:var(--dsw-static-deepseek-450)}.xlpj2W_trigger[data-alert]{color:var(--dsw-alias-state-error-primary)}.xlpj2W_eye,.xlpj2W_eyeBlink,.xlpj2W_eyePupil{transform-box:fill-box;transform-origin:50%;display:block}.xlpj2W_trigger[data-live] .xlpj2W_eyePupil{animation:xlpj2W_watcher-eye-scan 2.8s var(--watcher-ease-out) infinite}.xlpj2W_trigger[data-live] .xlpj2W_eyeBlink{animation:5.2s ease-in-out infinite xlpj2W_watcher-eye-blink}@keyframes xlpj2W_watcher-eye-scan{0%,12%,92%,to{transform:translate(0)}30%{transform:translate(1.35px)}54%{transform:translate(-1.2px)}74%{transform:translate(.8px)}}@keyframes xlpj2W_watcher-eye-blink{0%,42%,44.5%,to{transform:scaleY(1)}43.2%{transform:scaleY(.12)}}.xlpj2W_menu{z-index:1100;--watcher-panel-max-height:min(680px, calc(100vh - 24px));--watcher-motion-fast:.14s;--watcher-motion-panel:.18s;--watcher-motion-inspector:.2s;--watcher-motion-content-out:.12s;--watcher-ease-out:cubic-bezier(.2, .8, .2, 1);--watcher-ease-glide:cubic-bezier(.22, .61, .36, 1);box-sizing:border-box;max-width:calc(100vw - 24px);max-height:var(--watcher-panel-max-height);border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);transform-origin:100% 0;animation:xlpj2W_watcher-panel-enter var(--watcher-motion-panel) var(--watcher-ease-out);isolation:isolate;border-radius:12px;align-items:stretch;font-size:13px;line-height:20px;display:flex;position:fixed;top:auto;left:auto;right:auto;overflow:hidden}.xlpj2W_menu[data-sized]{max-width:none}.xlpj2W_menu[data-sized] .xlpj2W_workPicture{flex:auto;width:auto;min-height:0;max-height:none}.xlpj2W_resizeEdgeRight,.xlpj2W_resizeEdgeBottom,.xlpj2W_resizeGrip{z-index:5;touch-action:none;position:absolute}.xlpj2W_resizeEdgeRight{cursor:ew-resize;width:8px;top:0;bottom:0;right:0}.xlpj2W_resizeEdgeBottom{cursor:ns-resize;height:8px;bottom:0;left:0;right:0}.xlpj2W_resizeGrip{cursor:nwse-resize;border-right:2px solid var(--dsw-alias-border-l2);border-bottom:2px solid var(--dsw-alias-border-l2);opacity:.55;border-bottom-right-radius:4px;width:14px;height:14px;transition:opacity .12s;bottom:3px;right:3px}.xlpj2W_resizeGrip:hover{opacity:1;border-color:var(--dsw-alias-label-secondary)}@keyframes xlpj2W_watcher-panel-enter{0%{opacity:0;transform:translateY(-5px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}.xlpj2W_workPicture{width:min(720px,100vw - 32px);min-width:0;min-height:290px;max-height:var(--watcher-panel-max-height);background:var(--dsw-specific-menu);flex-direction:column;flex:none;display:flex}.xlpj2W_pictureHeader{border-bottom:1px solid var(--dsw-alias-border-l2);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 14px 14px 16px;display:flex}.xlpj2W_nowBlock{min-width:0}.xlpj2W_eyebrow{color:var(--dsw-static-deepseek-450);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:18px;display:flex;overflow:hidden}.xlpj2W_eyebrow[data-alert]{color:var(--dsw-alias-state-error-primary)}.xlpj2W_now{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:17px;font-weight:600;line-height:24px;overflow:hidden}.xlpj2W_summary{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;margin-top:4px;font-size:12px;line-height:18px;display:flex}.xlpj2W_summary span+span:before{content:\"·\";color:var(--dsw-alias-label-dimmed);margin:0 6px}.xlpj2W_summary [data-partial]{color:var(--dsw-alias-state-warn-primary)}.xlpj2W_loadAllInlineBtn{background:var(--dsw-specific-menu);color:var(--dsw-static-deepseek-450);cursor:pointer;border:1px solid #4d6bfe66;border-radius:4px;align-items:center;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:500;line-height:16px;transition:all .12s;display:inline-flex}.xlpj2W_loadAllInlineBtn:hover{background:var(--dsw-static-deepseek-450);color:#fff}.xlpj2W_sessionTiming{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:9px 10px;display:grid}.xlpj2W_sessionTimingMetric{min-width:0;padding:0 8px}.xlpj2W_sessionTimingMetric+.xlpj2W_sessionTimingMetric{border-left:1px solid var(--dsw-alias-border-l2)}.xlpj2W_sessionTimingMetric dt,.xlpj2W_sessionTimingMetric dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.xlpj2W_sessionTimingMetric dt{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.xlpj2W_sessionTimingMetric dd{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;line-height:19px}.xlpj2W_viewToolbar{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px 14px;min-height:42px;padding:6px 14px;display:flex}.xlpj2W_viewControl{align-items:center;gap:6px;min-width:0;display:flex}.xlpj2W_viewToolbarLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px;line-height:18px}.xlpj2W_viewMode{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:7px;flex:none;grid-template-columns:repeat(2,minmax(42px,1fr));padding:2px;display:inline-grid}.xlpj2W_viewMode button{min-height:26px;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 9px;font-size:12px;line-height:18px}.xlpj2W_viewMode button:hover{color:var(--dsw-alias-label-primary)}.xlpj2W_viewMode button[data-active]{background:var(--dsw-specific-menu);box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);font-weight:600}.xlpj2W_historyNotice{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);flex:none;align-items:center;gap:10px;min-height:48px;padding:7px 14px 8px 16px;display:flex}.xlpj2W_historyNoticeCopy{flex-direction:column;flex:1;min-width:0;display:flex}.xlpj2W_historyNoticeCopy strong{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:18px;overflow:hidden}.xlpj2W_historyNoticeCopy span{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.xlpj2W_historyNotice button{border:1px solid var(--dsw-alias-button-ghost-active-border);background:var(--dsw-specific-menu);min-height:28px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:7px;flex:none;padding:3px 9px;font-size:12px;line-height:18px}.xlpj2W_historyNotice button:hover:not(:disabled){background:var(--dsw-alias-button-ghost-active-hover)}.xlpj2W_historyNotice button:disabled{color:var(--dsw-alias-label-tertiary);cursor:progress}.xlpj2W_follow{white-space:nowrap;flex:none;margin-top:2px}.xlpj2W_unread{border:1px solid var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill);width:calc(100% - 28px);min-height:34px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin:10px 14px 0;font-size:12px;display:inline-flex}.xlpj2W_unread:hover{background:var(--dsw-alias-button-ghost-active-hover)}.xlpj2W_unread:focus-visible,.xlpj2W_turnToggle:focus-visible,.xlpj2W_phaseToggle:focus-visible,.xlpj2W_stepToggle:focus-visible,.xlpj2W_analysisClusterToggle:focus-visible,.xlpj2W_modelStageToggle:focus-visible,.xlpj2W_reasoningToggle:focus-visible,.xlpj2W_groupedModelToggle:focus-visible,.xlpj2W_viewMode button:focus-visible,.xlpj2W_historyNotice button:focus-visible,.xlpj2W_overviewOccurrence:focus-visible,.xlpj2W_inspectorBack:focus-visible,.xlpj2W_occurrence:focus-visible,.xlpj2W_tab:focus-visible,.xlpj2W_copyRaw:focus-visible{outline:2px solid var(--dsw-static-deepseek-450);outline-offset:-2px}.xlpj2W_railViewport{overscroll-behavior:contain;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex:1;min-height:0;overflow:auto}.xlpj2W_turns{padding:8px 10px 18px}.xlpj2W_turn+.xlpj2W_turn{border-top:1px solid var(--dsw-alias-border-l2);margin-top:12px;padding-top:12px}.xlpj2W_turnHeader{padding:0 2px 2px}.xlpj2W_turnHeader h2{margin:0}.xlpj2W_turnToggle{box-sizing:border-box;width:100%;min-height:50px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 8px;display:grid}.xlpj2W_turnToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_turnChevron{color:var(--dsw-alias-label-tertiary);transition:transform var(--watcher-motion-fast) var(--watcher-ease-out);transform:rotate(0)}.xlpj2W_turnToggle[aria-expanded=true] .xlpj2W_turnChevron{transform:rotate(90deg)}.xlpj2W_turnCopy{flex-direction:column;min-width:0;display:flex}.xlpj2W_turnTitleLine{align-items:center;gap:6px;min-width:0;display:flex}.xlpj2W_turnTitle{color:var(--dsw-alias-label-secondary);font-size:13px;font-weight:600;line-height:20px}.xlpj2W_turnSummary,.xlpj2W_turnDuration{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400;line-height:18px}.xlpj2W_turnSummary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.xlpj2W_turnPerformance{white-space:nowrap;flex-direction:column;align-items:flex-end;min-width:62px;display:flex}.xlpj2W_turnDuration{white-space:nowrap}.xlpj2W_turnSpeed{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;line-height:18px}.xlpj2W_turnBody[hidden]{display:none}.xlpj2W_groupRail{padding-left:18px;position:relative}.xlpj2W_railLine{background:var(--dsw-alias-border-l2);pointer-events:none;width:1px;position:absolute;top:18px;bottom:18px;left:23px}.xlpj2W_phase{z-index:1;box-sizing:border-box;width:100%;padding:3px 0 11px;position:relative}.xlpj2W_phase+.xlpj2W_phase{margin-top:4px}.xlpj2W_phaseHeader{position:relative}.xlpj2W_phaseToggle{box-sizing:border-box;width:100%;min-height:42px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:10px 12px minmax(0,1fr);align-items:center;gap:6px;padding:3px 8px 3px 0;display:grid;position:relative}.xlpj2W_phaseToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_phase[data-now]>.xlpj2W_phaseHeader .xlpj2W_phaseToggle{background:var(--dsw-alias-bg-layer-2);border-radius:7px}.xlpj2W_phaseChevron,.xlpj2W_stepChevron,.xlpj2W_analysisClusterChevron{color:var(--dsw-alias-label-tertiary);transition:transform var(--watcher-motion-fast) var(--watcher-ease-out);transform:rotate(0)}.xlpj2W_phaseToggle[aria-expanded=true] .xlpj2W_phaseChevron,.xlpj2W_stepToggle[aria-expanded=true] .xlpj2W_stepChevron,.xlpj2W_analysisClusterToggle[aria-expanded=true] .xlpj2W_analysisClusterChevron{transform:rotate(90deg)}.xlpj2W_phaseMarker{box-sizing:border-box;background:var(--dsw-alias-label-tertiary);width:10px;height:10px;box-shadow:0 0 0 4px var(--dsw-specific-menu);border-radius:50%;display:block;position:relative}.xlpj2W_phaseMarker[data-state=active],.xlpj2W_phaseMarker[data-state=current]{background:var(--dsw-static-deepseek-450)}.xlpj2W_phaseMarker[data-state=waiting]{background:var(--dsw-alias-state-warn-primary)}.xlpj2W_phaseMarker[data-state=failure],.xlpj2W_phaseMarker[data-state=interrupted]{background:var(--dsw-alias-state-error-primary)}.xlpj2W_phaseMarker[data-state=partial]{border:1px dashed var(--dsw-alias-label-tertiary);background:var(--dsw-specific-menu)}.xlpj2W_neutralDot{border:1px solid var(--dsw-alias-label-tertiary);background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block;position:relative}.xlpj2W_neutralDot[data-status=unknown]{background:var(--dsw-specific-menu);border-style:dashed}.xlpj2W_phaseCopy,.xlpj2W_occurrenceCopy{flex-direction:column;min-width:0;display:flex}.xlpj2W_phaseTitleLine{align-items:center;gap:6px;min-width:0;display:flex}.xlpj2W_phaseTitle{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:550;line-height:21px;overflow:hidden}.xlpj2W_phaseMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12px;line-height:18px;overflow:hidden}.xlpj2W_groupBadges{flex:none;align-items:center;gap:4px;display:inline-flex}.xlpj2W_groupBadges span,.xlpj2W_overviewTag,.xlpj2W_patternLabel,.xlpj2W_parallelLabel{border:1px solid var(--dsw-alias-border-l2);min-height:18px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;padding:0 5px;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.xlpj2W_groupBadges [data-kind=retry]{color:var(--dsw-alias-state-error-primary)}.xlpj2W_groupBadges [data-kind=parallel],.xlpj2W_overviewTag[data-state=active],.xlpj2W_overviewTag[data-state=current]{color:var(--dsw-static-deepseek-450)}.xlpj2W_overviewTag[data-state=waiting]{color:var(--dsw-alias-state-warn-primary)}.xlpj2W_overviewTag[data-state=failure],.xlpj2W_overviewTag[data-state=interrupted]{color:var(--dsw-alias-state-error-primary)}.xlpj2W_overviewTag[data-state=partial]{color:var(--dsw-alias-label-tertiary)}.xlpj2W_occurrenceChevron{color:var(--dsw-alias-label-dimmed);opacity:0;transition:opacity var(--watcher-motion-fast) ease, transform var(--watcher-motion-fast) ease;flex:none;transform:translate(-2px)}.xlpj2W_occurrence:hover .xlpj2W_occurrenceChevron,.xlpj2W_occurrence[data-selected] .xlpj2W_occurrenceChevron,.xlpj2W_occurrence:focus-visible .xlpj2W_occurrenceChevron{opacity:1;transform:translate(0)}.xlpj2W_stepTimeline{border-left:1px solid var(--dsw-alias-border-l2);margin:1px 8px 0 28px;padding-left:11px;position:relative}.xlpj2W_overviewStep{min-width:0;position:relative}.xlpj2W_overviewStep+.xlpj2W_overviewStep{margin-top:10px;padding-top:8px}.xlpj2W_overviewStep:before{background:var(--dsw-alias-border-l2);content:\"\";width:8px;height:1px;position:absolute;top:13px;left:-12px}.xlpj2W_overviewStepHeader{min-height:29px}.xlpj2W_stepToggle{box-sizing:border-box;width:100%;min-height:29px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:5px;padding:2px 4px 2px 0;display:grid}.xlpj2W_stepToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_overviewStepLabel,.xlpj2W_overviewStepSignals{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;line-height:18px}.xlpj2W_overviewStepLabel{min-width:0;font-family:var(--dsw-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.xlpj2W_overviewStepSignals{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.xlpj2W_overviewOccurrences{position:relative}.xlpj2W_overviewStep[data-parallel] .xlpj2W_overviewOccurrences{border-left:1px solid var(--dsw-static-deepseek-450);padding-left:5px}.xlpj2W_modelStage{border-left:2px solid var(--dsw-static-deepseek-450);background:var(--dsw-alias-bg-layer-2);border-radius:0 7px 7px 0;min-width:0;margin:2px 2px 7px;overflow:hidden}.xlpj2W_modelStage[data-live]{box-shadow:inset 0 0 0 1px var(--dsw-alias-button-ghost-active-border)}.xlpj2W_modelStageToggle{box-sizing:border-box;width:100%;min-height:42px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:12px 8px minmax(0,1fr);align-items:center;gap:7px;padding:5px 9px 5px 7px;display:grid}.xlpj2W_modelStageToggle:hover,.xlpj2W_reasoningToggle:hover,.xlpj2W_groupedModelToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_modelStageChevron,.xlpj2W_reasoningChevron,.xlpj2W_groupedModelChevron{color:var(--dsw-alias-label-tertiary);transition:transform var(--watcher-motion-fast) var(--watcher-ease-out)}.xlpj2W_modelStageToggle[aria-expanded=true] .xlpj2W_modelStageChevron,.xlpj2W_reasoningToggle[aria-expanded=true] .xlpj2W_reasoningChevron,.xlpj2W_groupedModelToggle[aria-expanded=true] .xlpj2W_groupedModelChevron{transform:rotate(90deg)}.xlpj2W_modelStageGlyph{background:var(--dsw-static-deepseek-450);width:7px;height:7px;box-shadow:0 0 0 3px var(--dsw-alias-button-ghost-active-fill);border-radius:999px}.xlpj2W_modelStageCopy{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;display:grid}.xlpj2W_modelStageTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;font-size:13px;font-weight:600;line-height:20px}.xlpj2W_modelStageSummary{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.xlpj2W_modelStageBody{padding:2px 10px 10px 20px}.xlpj2W_modelStageBar{background:var(--dsw-alias-border-l2);border-radius:999px;gap:2px;height:5px;margin:2px 0 10px;display:flex;overflow:hidden}.xlpj2W_modelStageBar>span{border-radius:inherit;min-width:3px}.xlpj2W_modelStageBar [data-segment=wait],.xlpj2W_modelStageSwatch[data-segment=wait]{background:var(--dsw-alias-label-dimmed)}.xlpj2W_modelStageBar [data-segment=reasoning],.xlpj2W_modelStageSwatch[data-segment=reasoning]{background:var(--dsw-static-deepseek-450)}.xlpj2W_modelStageBar [data-segment=output],.xlpj2W_modelStageSwatch[data-segment=output]{background:var(--dsw-alias-label-secondary)}.xlpj2W_modelStageBar [data-segment=unattributed],.xlpj2W_modelStageSwatch[data-segment=unattributed]{background:var(--dsw-alias-state-warn-primary)}.xlpj2W_modelStageLedger{grid-template-columns:minmax(0,1fr);gap:5px 12px;margin:0;display:grid}.xlpj2W_modelStageMetric{min-width:0;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:18px;display:flex}.xlpj2W_modelStageMetric dt,.xlpj2W_modelStageMetric dd{margin:0}.xlpj2W_modelStageMetric dt{align-items:center;gap:6px;min-width:0;display:inline-flex}.xlpj2W_modelStageMetric dd{color:var(--dsw-alias-label-secondary);text-align:right;flex:none}.xlpj2W_modelStageSwatch{border-radius:999px;flex:none;width:6px;height:6px}.xlpj2W_modelStageNote{color:var(--dsw-alias-label-tertiary);margin:8px 0 0;font-size:12px;line-height:18px}.xlpj2W_reasoningAttempts{border-top:1px solid var(--dsw-alias-border-l2);margin-top:8px;padding-top:1px}.xlpj2W_reasoningDisclosure{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:6px;min-width:0;margin-top:5px;overflow:hidden}.xlpj2W_reasoningToggle{box-sizing:border-box;width:100%;min-height:34px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:6px;padding:5px 8px;display:grid}.xlpj2W_reasoningLabel{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:550;line-height:20px}.xlpj2W_reasoningMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-align:left;white-space:normal;grid-column:2;font-size:12px;line-height:18px;overflow:hidden}.xlpj2W_reasoningBody{box-sizing:border-box;border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);max-height:320px;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);margin:0;padding:10px 12px;font-size:13px;line-height:1.6;overflow:auto}.xlpj2W_reasoningBody>*{margin-top:0;margin-bottom:8px}.xlpj2W_reasoningBody>:last-child{margin-bottom:0}.xlpj2W_reasoningBody .md-code-block{max-width:100%}.xlpj2W_groupedModelStages{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:7px;margin-bottom:9px;position:relative;overflow:hidden}.xlpj2W_groupedModelStages:before{background:var(--dsw-alias-border-l2);content:\"\";width:8px;height:1px;position:absolute;top:20px;left:-12px}.xlpj2W_groupedModelToggle{box-sizing:border-box;width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:7px;padding:5px 9px;display:grid}.xlpj2W_groupedModelToggle>span{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.xlpj2W_groupedModelToggle strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.xlpj2W_groupedModelToggle small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.xlpj2W_groupedModelList{border-top:1px solid var(--dsw-alias-border-l2);padding:0 7px 8px 22px}.xlpj2W_groupedModelStep{min-width:0;padding-top:8px}.xlpj2W_groupedModelStep+.xlpj2W_groupedModelStep{border-top:1px solid var(--dsw-alias-border-l2)}.xlpj2W_groupedModelStepLabel{color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);margin:0 2px 4px;font-size:12px;line-height:18px;display:block}.xlpj2W_analysisClusters{border-left:1px solid var(--dsw-alias-border-l2);margin:1px 8px 0 28px;padding-left:11px;position:relative}.xlpj2W_analysisCluster,.xlpj2W_analysisSingleton{min-width:0;position:relative}.xlpj2W_analysisCluster+.xlpj2W_analysisCluster,.xlpj2W_analysisCluster+.xlpj2W_analysisSingleton,.xlpj2W_analysisSingleton+.xlpj2W_analysisCluster,.xlpj2W_analysisSingleton+.xlpj2W_analysisSingleton{margin-top:6px}.xlpj2W_analysisCluster:before,.xlpj2W_analysisSingleton:before{background:var(--dsw-alias-border-l2);content:\"\";width:8px;height:1px;position:absolute;top:20px;left:-12px}.xlpj2W_analysisClusterToggle{box-sizing:border-box;width:100%;min-height:46px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:12px 10px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 6px 5px 4px;display:grid}.xlpj2W_analysisClusterToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_analysisCluster[data-open]>.xlpj2W_analysisClusterToggle{border-color:var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2)}.xlpj2W_analysisClusterDotSlot{width:10px;height:10px;display:block;position:relative}.xlpj2W_analysisClusterDot{inset:0;position:absolute!important}.xlpj2W_analysisClusterCopy{flex-direction:column;min-width:0;display:flex}.xlpj2W_analysisClusterTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;line-height:20px;overflow:hidden}.xlpj2W_analysisClusterMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.xlpj2W_analysisClusterCount{min-width:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:12px;font-weight:600;line-height:18px}.xlpj2W_analysisClusterItems{border-left:1px solid var(--dsw-alias-border-l2);margin:3px 0 8px 17px;padding-left:5px}.xlpj2W_overviewOccurrence{box-sizing:border-box;width:100%;min-height:45px;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--watcher-motion-fast) var(--watcher-ease-out), border-color var(--watcher-motion-fast) var(--watcher-ease-out), box-shadow var(--watcher-motion-fast) var(--watcher-ease-out);animation:xlpj2W_watcher-live-append var(--watcher-motion-fast) var(--watcher-ease-out);background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:22px 10px minmax(0,1fr) auto 12px;align-items:center;gap:7px;padding:5px 5px 5px 7px;display:grid;position:relative}.xlpj2W_overviewOccurrence+.xlpj2W_overviewOccurrence{margin-top:2px}.xlpj2W_overviewOccurrence:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_overviewOccurrence[data-current]:not([data-selected]){background:var(--dsw-alias-bg-layer-2)}.xlpj2W_overviewOccurrence[data-selected]{border-color:var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill);box-shadow:inset 2px 0 0 var(--dsw-static-deepseek-450)}.xlpj2W_overviewOccurrenceIndex{color:var(--dsw-alias-label-dimmed);font-family:var(--dsw-font-mono);font-variant-numeric:tabular-nums;text-align:right;font-size:11px;line-height:18px}.xlpj2W_overviewOccurrenceDotSlot{width:10px;height:10px;display:block;position:relative}.xlpj2W_overviewOccurrenceDot{inset:0;position:absolute!important}.xlpj2W_overviewOccurrenceCopy{flex-direction:column;min-width:0;display:flex}.xlpj2W_overviewOccurrenceTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;line-height:20px;overflow:hidden}.xlpj2W_overviewOccurrenceMeta{color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.xlpj2W_overviewOccurrenceDuration{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:18px}.xlpj2W_overviewOccurrenceChevron{color:var(--dsw-alias-label-dimmed);opacity:0;transition:opacity var(--watcher-motion-fast) ease, transform var(--watcher-motion-fast) ease;transform:translate(-2px)}.xlpj2W_overviewOccurrence:hover .xlpj2W_overviewOccurrenceChevron,.xlpj2W_overviewOccurrence[data-selected] .xlpj2W_overviewOccurrenceChevron,.xlpj2W_overviewOccurrence:focus-visible .xlpj2W_overviewOccurrenceChevron{opacity:1;transform:translate(0)}@keyframes xlpj2W_watcher-live-append{0%{opacity:.5;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.xlpj2W_empty{min-height:250px;color:var(--dsw-alias-label-tertiary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:28px;display:flex}.xlpj2W_emptyEye{color:var(--dsw-alias-label-secondary);margin-bottom:12px;display:inline-flex}.xlpj2W_empty strong{color:var(--dsw-alias-label-secondary);font-size:14px;font-weight:600;line-height:21px}.xlpj2W_empty>span:last-child{margin-top:4px;font-size:12px;line-height:18px}.xlpj2W_inspector{width:438px;min-width:0;max-height:var(--watcher-panel-max-height);border-right:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);flex-direction:column;flex:none;display:flex}@media (width>=861px){.xlpj2W_inspector{animation:xlpj2W_watcher-inspector-enter var(--watcher-motion-inspector) var(--watcher-ease-glide);overflow:hidden}.xlpj2W_inspector>*{box-sizing:border-box;width:438px;animation:xlpj2W_watcher-inspector-content-in var(--watcher-motion-content-out) var(--watcher-ease-glide) var(--watcher-motion-inspector) both}.xlpj2W_inspector[data-closing]{pointer-events:none;animation:xlpj2W_watcher-inspector-exit var(--watcher-motion-inspector) var(--watcher-ease-glide) var(--watcher-motion-content-out) forwards}.xlpj2W_inspector[data-closing]>*{animation:xlpj2W_watcher-inspector-content-out var(--watcher-motion-content-out) ease-in forwards}}@keyframes xlpj2W_watcher-inspector-enter{0%{width:0}}@keyframes xlpj2W_watcher-inspector-content-in{0%{opacity:0;transform:translate(16px)}}@keyframes xlpj2W_watcher-inspector-content-out{to{opacity:0;transform:translate(16px)}}@keyframes xlpj2W_watcher-inspector-exit{to{width:0}}.xlpj2W_inspectorHeader{border-bottom:1px solid var(--dsw-alias-border-l2);flex:none;padding:16px 16px 14px}.xlpj2W_inspectorBack{min-height:28px;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;margin:-4px 0 8px -6px;padding:0 7px 0 5px;font-size:12px;display:inline-flex}.xlpj2W_inspectorBack:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_statusLine,.xlpj2W_detailStatus{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;line-height:18px;display:flex}.xlpj2W_statusLine[data-status=failure],.xlpj2W_statusLine[data-status=interrupted],.xlpj2W_detailStatus[data-status=failure],.xlpj2W_detailStatus[data-status=interrupted]{color:var(--dsw-alias-state-error-primary)}.xlpj2W_statusLine[data-status=running],.xlpj2W_detailStatus[data-status=running]{color:var(--dsw-static-deepseek-450)}.xlpj2W_statusLine[data-status=waiting],.xlpj2W_detailStatus[data-status=waiting]{color:var(--dsw-alias-state-warn-primary)}.xlpj2W_location{min-width:0;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto}.xlpj2W_inspectorTitle{color:var(--dsw-alias-label-primary);margin:8px 0 0;font-size:18px;font-weight:600;line-height:25px}.xlpj2W_inspectorSummary{color:var(--dsw-alias-label-tertiary);margin:3px 0 0;font-size:12px;line-height:18px}.xlpj2W_groupSignals{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.xlpj2W_groupSignals span{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.xlpj2W_groupSignals span+span:before{content:\"·\";color:var(--dsw-alias-label-dimmed);margin-right:6px}.xlpj2W_groupSignals [data-retry]{color:var(--dsw-alias-state-warn-primary)}.xlpj2W_groupSignals [data-error]{color:var(--dsw-alias-state-error-primary)}.xlpj2W_inspectorBody{overscroll-behavior:contain;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex:1;min-height:0;overflow:auto}.xlpj2W_executionSection{border-bottom:1px solid var(--dsw-alias-border-l2);padding:14px 16px 16px}.xlpj2W_sectionHeading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.xlpj2W_sectionHeading h3{color:var(--dsw-alias-label-secondary);margin:0;font-size:13px;font-weight:600;line-height:20px}.xlpj2W_sectionHeading>span{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.xlpj2W_executionList{max-height:188px;padding-right:2px;overflow:auto}.xlpj2W_stepBlock+.xlpj2W_stepBlock{border-top:1px solid var(--dsw-alias-border-l2);margin-top:10px;padding-top:10px}.xlpj2W_stepHeading{min-height:22px;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;padding:0 3px;font-size:12px;display:flex}.xlpj2W_stepSignals{align-items:center;gap:6px;min-width:0;display:inline-flex}.xlpj2W_stepDuration{color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-family);font-variant-numeric:tabular-nums;white-space:nowrap}.xlpj2W_parallelLabel{color:var(--dsw-static-deepseek-450);font-family:var(--dsw-font-family)}.xlpj2W_occurrences{margin-top:4px;position:relative}.xlpj2W_stepBlock[data-parallel] .xlpj2W_occurrences{border-left:1px solid var(--dsw-static-deepseek-450);padding-left:10px}.xlpj2W_occurrence{box-sizing:border-box;width:100%;min-height:46px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:10px minmax(0,1fr) auto 13px;align-items:center;gap:8px;padding:6px 7px;transition:background-color .14s,border-color .14s;display:grid}.xlpj2W_occurrenceDuration{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:18px}.xlpj2W_occurrence+.xlpj2W_occurrence{margin-top:2px}.xlpj2W_occurrence:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_occurrence[data-selected]{border-color:var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill)}.xlpj2W_occurrenceTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;line-height:19px;overflow:hidden}.xlpj2W_occurrenceMeta{color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.xlpj2W_detailSection{padding:16px}.xlpj2W_detailHeader{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.xlpj2W_detailIdentity{min-width:0}.xlpj2W_detailIdentity h3{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);margin:6px 0 0;font-size:16px;font-weight:600;line-height:23px}.xlpj2W_detailIdentity p{overflow-wrap:anywhere;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);margin:3px 0 0;font-size:12px;line-height:18px}.xlpj2W_patternLabel{color:var(--dsw-alias-state-warn-primary)}.xlpj2W_metrics{font-variant-numeric:tabular-nums;grid-template-columns:auto auto;gap:2px 8px;margin:0;font-size:12px;line-height:18px;display:grid}.xlpj2W_metrics dt{color:var(--dsw-alias-label-tertiary)}.xlpj2W_metrics dd{color:var(--dsw-alias-label-secondary);text-align:right;margin:0}.xlpj2W_metrics [data-error]{color:var(--dsw-alias-state-error-primary)}.xlpj2W_tabs{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:end;gap:4px;margin-top:16px;display:flex}.xlpj2W_tab{min-width:56px;min-height:36px;color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:13px;position:relative}.xlpj2W_tab:hover{color:var(--dsw-alias-label-primary)}.xlpj2W_tab[data-active]{color:var(--dsw-alias-label-primary);font-weight:600}.xlpj2W_tab[data-active]:after{content:\"\";background:var(--dsw-static-deepseek-450);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:9px;right:9px}.xlpj2W_tabPanel{--dsl-terminal-font:400 13px/22px var(--dsw-font-mono);min-height:116px;padding-top:12px}.xlpj2W_tabPanel>*{margin-top:0;margin-bottom:0}.xlpj2W_jsonSurface{font-size:13px;overflow:auto}.xlpj2W_jsonSurface [role=tree]{font-size:13px;line-height:20px}.xlpj2W_rawPanel pre{box-sizing:border-box;width:100%;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-mono);tab-size:2;margin:0;font-size:13px;line-height:20px;overflow:auto}.xlpj2W_documentResult{min-width:0;color:var(--dsw-alias-label-primary);padding:2px 2px 8px}.xlpj2W_documentResult .md-code-block{max-width:100%}.xlpj2W_documentResult blockquote{color:var(--dsw-alias-label-secondary)}.xlpj2W_documentResult table{font-variant-numeric:tabular-nums}.xlpj2W_rawPanel{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);border-radius:8px;overflow:hidden}.xlpj2W_rawToolbar{border-bottom:1px solid var(--dsw-alias-border-l2);min-height:38px;color:var(--dsw-alias-label-tertiary);justify-content:space-between;align-items:center;gap:12px;padding:0 10px 0 12px;font-size:12px;display:flex}.xlpj2W_copyRaw{min-height:28px;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 6px;font-size:12px;display:inline-flex}.xlpj2W_copyRaw:hover{background:var(--dsw-alias-interactive-bg-hover)}.xlpj2W_rawPanel pre{white-space:pre;max-height:320px;padding:12px}.xlpj2W_artifactResult,.xlpj2W_detailEmpty{border:1px solid var(--dsw-alias-border-l2);min-height:116px;color:var(--dsw-alias-label-tertiary);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:18px;font-size:13px;display:flex}.xlpj2W_artifactResult strong{color:var(--dsw-alias-label-secondary);margin-top:6px;font-size:14px}.xlpj2W_artifactResult>span{margin-top:2px;font-size:12px}.xlpj2W_artifactResult .xlpj2W_jsonSurface{text-align:left;width:100%;margin-top:12px}.xlpj2W_artifactGlyph{color:var(--dsw-static-deepseek-450);font-size:24px;line-height:28px}.xlpj2W_inspectorFooter{border-top:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);flex:none;padding:9px 16px;font-size:12px;line-height:18px}@media (prefers-reduced-motion:reduce){.xlpj2W_inspector,.xlpj2W_inspector>*{animation:none}.xlpj2W_inspector[data-closing],.xlpj2W_inspector[data-closing]>*{animation-duration:.01ms;animation-delay:0s}.xlpj2W_menu,.xlpj2W_trigger[data-live] .xlpj2W_eyePupil,.xlpj2W_trigger[data-live] .xlpj2W_eyeBlink{animation:none}.xlpj2W_trigger,.xlpj2W_overviewOccurrence,.xlpj2W_turnChevron,.xlpj2W_phaseChevron,.xlpj2W_stepChevron,.xlpj2W_analysisClusterChevron,.xlpj2W_modelStageChevron,.xlpj2W_reasoningChevron,.xlpj2W_groupedModelChevron,.xlpj2W_occurrence,.xlpj2W_overviewOccurrenceChevron,.xlpj2W_occurrenceChevron{transition-duration:.01ms}.xlpj2W_overviewOccurrence{animation:none}.xlpj2W_root [data-state=ongoing] rect,.xlpj2W_menu [data-state=ongoing] rect{opacity:.55;animation:none!important}}@media (width<=860px){.xlpj2W_menu{flex-direction:column-reverse;width:min(720px,100vw - 24px);max-height:calc(100vh - 88px)}.xlpj2W_workPicture{width:auto;min-height:250px;max-height:none}.xlpj2W_menu:not(:has(.xlpj2W_inspector)){height:min(680px,100vh - 88px)}.xlpj2W_menu:not(:has(.xlpj2W_inspector)) .xlpj2W_workPicture{flex:auto}.xlpj2W_inspector{border-right:0;width:auto;max-height:none}.xlpj2W_menu:has(.xlpj2W_inspector){height:min(680px,100vh - 88px)}.xlpj2W_menu:has(.xlpj2W_inspector) .xlpj2W_workPicture{display:none}.xlpj2W_menu:has(.xlpj2W_inspector) .xlpj2W_inspector{flex:auto;min-height:0;max-height:none}.xlpj2W_inspectorBack svg{transform:rotate(180deg)}.xlpj2W_inspectorHeader{padding-top:14px}.xlpj2W_executionList{max-height:150px}}@media (width<=520px){.xlpj2W_menu{width:calc(100vw - 24px)}.xlpj2W_pictureHeader{padding:14px 12px}.xlpj2W_now{font-size:16px}.xlpj2W_turns{padding-inline:6px}.xlpj2W_groupBadges span:nth-child(n+2){display:none}.xlpj2W_inspectorHeader,.xlpj2W_executionSection,.xlpj2W_detailSection{padding-inline:12px}.xlpj2W_detailHeader{grid-template-columns:1fr}.xlpj2W_metrics{grid-template-columns:auto 1fr}.xlpj2W_metrics dd{text-align:left}.xlpj2W_modelStageCopy{grid-template-columns:1fr;gap:0}.xlpj2W_modelStageSummary{white-space:normal}.xlpj2W_modelStageLedger{grid-template-columns:1fr}.xlpj2W_reasoningToggle{grid-template-columns:12px minmax(0,1fr)}.xlpj2W_reasoningMeta{text-align:left;white-space:normal;grid-column:2}.xlpj2W_groupedModelToggle>span{gap:0;display:grid}.xlpj2W_groupedModelToggle small{white-space:normal}.xlpj2W_groupedModelList{padding-left:12px}}";
1720
+ const css$2 = ".PXhr7W_root{--watcher-panel-max-height:min(680px, calc(100vh - 112px));--watcher-motion-fast:.14s;--watcher-motion-panel:.18s;--watcher-motion-inspector:.2s;--watcher-motion-content-out:.12s;--watcher-ease-out:cubic-bezier(.2, .8, .2, 1);--watcher-ease-glide:cubic-bezier(.22, .61, .36, 1);position:relative}.PXhr7W_trigger{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);width:32px;height:32px;color:var(--dsw-alias-label-primary);cursor:pointer;transition:background-color var(--watcher-motion-fast) ease, border-color var(--watcher-motion-fast) ease, color var(--watcher-motion-fast) ease, transform .1s ease;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.PXhr7W_trigger:hover:not(:disabled),.PXhr7W_trigger:focus-visible{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_trigger:active{transform:scale(.96)}.PXhr7W_trigger:focus-visible{outline:2px solid var(--dsw-static-deepseek-450);outline-offset:2px}.PXhr7W_trigger[data-open]{border-color:var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill);color:var(--dsw-static-deepseek-450)}.PXhr7W_trigger[data-live]{color:var(--dsw-static-deepseek-450)}.PXhr7W_trigger[data-alert]{color:var(--dsw-alias-state-error-primary)}.PXhr7W_eye,.PXhr7W_eyeBlink,.PXhr7W_eyePupil{transform-box:fill-box;transform-origin:50%;display:block}.PXhr7W_trigger[data-live] .PXhr7W_eyePupil{animation:PXhr7W_watcher-eye-scan 2.8s var(--watcher-ease-out) infinite}.PXhr7W_trigger[data-live] .PXhr7W_eyeBlink{animation:5.2s ease-in-out infinite PXhr7W_watcher-eye-blink}@keyframes PXhr7W_watcher-eye-scan{0%,12%,92%,to{transform:translate(0)}30%{transform:translate(1.35px)}54%{transform:translate(-1.2px)}74%{transform:translate(.8px)}}@keyframes PXhr7W_watcher-eye-blink{0%,42%,44.5%,to{transform:scaleY(1)}43.2%{transform:scaleY(.12)}}.PXhr7W_menu{z-index:1100;--watcher-panel-max-height:min(680px, calc(100vh - 24px));--watcher-motion-fast:.14s;--watcher-motion-panel:.18s;--watcher-motion-inspector:.2s;--watcher-motion-content-out:.12s;--watcher-ease-out:cubic-bezier(.2, .8, .2, 1);--watcher-ease-glide:cubic-bezier(.22, .61, .36, 1);box-sizing:border-box;max-width:calc(100vw - 24px);max-height:var(--watcher-panel-max-height);border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);transform-origin:100% 0;animation:PXhr7W_watcher-panel-enter var(--watcher-motion-panel) var(--watcher-ease-out);isolation:isolate;border-radius:12px;align-items:stretch;font-size:13px;line-height:20px;display:flex;position:fixed;top:auto;left:auto;right:auto;overflow:hidden}.PXhr7W_menu[data-sized]{max-width:none}.PXhr7W_menu[data-sized] .PXhr7W_workPicture{flex:auto;width:auto;min-height:0;max-height:none}.PXhr7W_sidebarHost{box-sizing:border-box;--watcher-panel-max-height:min(680px, calc(100vh - 24px));--watcher-motion-fast:.14s;--watcher-motion-panel:.18s;--watcher-motion-inspector:.2s;--watcher-motion-content-out:.12s;--watcher-ease-out:cubic-bezier(.2, .8, .2, 1);--watcher-ease-glide:cubic-bezier(.22, .61, .36, 1);height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);flex-direction:column;font-size:13px;line-height:20px;display:flex;overflow:hidden}.PXhr7W_sidebarHost[data-watcher-sidebar=waiting]{color:var(--dsw-alias-label-tertiary);justify-content:center;align-items:center}.PXhr7W_sidebarHost .PXhr7W_workPicture{flex:auto;width:100%;min-width:0;min-height:0;max-height:none}.PXhr7W_sidebarHost .PXhr7W_inspector{flex:0 auto;width:100%;min-height:0;max-height:45%}.PXhr7W_sidebarHost .PXhr7W_inspector>*{width:100%;max-width:100%}.PXhr7W_resizeEdgeRight,.PXhr7W_resizeEdgeBottom,.PXhr7W_resizeGrip{z-index:5;touch-action:none;position:absolute}.PXhr7W_resizeEdgeRight{cursor:ew-resize;width:8px;top:0;bottom:0;right:0}.PXhr7W_resizeEdgeBottom{cursor:ns-resize;height:8px;bottom:0;left:0;right:0}.PXhr7W_resizeGrip{cursor:nwse-resize;border-right:2px solid var(--dsw-alias-border-l2);border-bottom:2px solid var(--dsw-alias-border-l2);opacity:.55;border-bottom-right-radius:4px;width:14px;height:14px;transition:opacity .12s;bottom:3px;right:3px}.PXhr7W_resizeGrip:hover{opacity:1;border-color:var(--dsw-alias-label-secondary)}@keyframes PXhr7W_watcher-panel-enter{0%{opacity:0;transform:translateY(-5px)scale(.992)}to{opacity:1;transform:translateY(0)scale(1)}}.PXhr7W_workPicture{width:min(720px,100vw - 32px);min-width:0;min-height:290px;max-height:var(--watcher-panel-max-height);background:var(--dsw-specific-menu);flex-direction:column;flex:none;display:flex}.PXhr7W_pictureHeader{border-bottom:1px solid var(--dsw-alias-border-l2);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 14px 14px 16px;display:flex}.PXhr7W_nowBlock{min-width:0}.PXhr7W_eyebrow{color:var(--dsw-static-deepseek-450);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:18px;display:flex;overflow:hidden}.PXhr7W_eyebrow[data-alert]{color:var(--dsw-alias-state-error-primary)}.PXhr7W_now{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:17px;font-weight:600;line-height:24px;overflow:hidden}.PXhr7W_summary{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;margin-top:4px;font-size:12px;line-height:18px;display:flex}.PXhr7W_summary span+span:before{content:\"·\";color:var(--dsw-alias-label-dimmed);margin:0 6px}.PXhr7W_summary [data-partial]{color:var(--dsw-alias-state-warn-primary)}.PXhr7W_loadAllInlineBtn{background:var(--dsw-specific-menu);color:var(--dsw-static-deepseek-450);cursor:pointer;border:1px solid #4d6bfe66;border-radius:4px;align-items:center;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:500;line-height:16px;transition:all .12s;display:inline-flex}.PXhr7W_loadAllInlineBtn:hover{background:var(--dsw-static-deepseek-450);color:#fff}.PXhr7W_sessionTiming{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);flex:none;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:9px 10px;display:grid}.PXhr7W_sessionTimingMetric{min-width:0;padding:0 8px}.PXhr7W_sessionTimingMetric+.PXhr7W_sessionTimingMetric{border-left:1px solid var(--dsw-alias-border-l2)}.PXhr7W_sessionTimingMetric dt,.PXhr7W_sessionTimingMetric dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.PXhr7W_sessionTimingMetric dt{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.PXhr7W_sessionTimingMetric dd{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;line-height:19px}.PXhr7W_viewToolbar{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:6px 14px;min-height:42px;padding:6px 14px;display:flex}.PXhr7W_viewControl{align-items:center;gap:6px;min-width:0;display:flex}.PXhr7W_viewToolbarLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px;line-height:18px}.PXhr7W_viewMode{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:7px;flex:none;grid-template-columns:repeat(2,minmax(42px,1fr));padding:2px;display:inline-grid}.PXhr7W_viewMode button{min-height:26px;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:2px 9px;font-size:12px;line-height:18px}.PXhr7W_viewMode button:hover{color:var(--dsw-alias-label-primary)}.PXhr7W_viewMode button[data-active]{background:var(--dsw-specific-menu);box-shadow:inset 0 0 0 1px var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);font-weight:600}.PXhr7W_historyNotice{border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);flex:none;align-items:center;gap:10px;min-height:48px;padding:7px 14px 8px 16px;display:flex}.PXhr7W_historyNoticeCopy{flex-direction:column;flex:1;min-width:0;display:flex}.PXhr7W_historyNoticeCopy strong{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:18px;overflow:hidden}.PXhr7W_historyNoticeCopy span{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:16px;overflow:hidden}.PXhr7W_historyNotice button{border:1px solid var(--dsw-alias-button-ghost-active-border);background:var(--dsw-specific-menu);min-height:28px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:7px;flex:none;padding:3px 9px;font-size:12px;line-height:18px}.PXhr7W_historyNotice button:hover:not(:disabled){background:var(--dsw-alias-button-ghost-active-hover)}.PXhr7W_historyNotice button:disabled{color:var(--dsw-alias-label-tertiary);cursor:progress}.PXhr7W_follow{white-space:nowrap;flex:none;margin-top:2px}.PXhr7W_unread{border:1px solid var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill);width:calc(100% - 28px);min-height:34px;color:var(--dsw-alias-label-primary);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin:10px 14px 0;font-size:12px;display:inline-flex}.PXhr7W_unread:hover{background:var(--dsw-alias-button-ghost-active-hover)}.PXhr7W_unread:focus-visible,.PXhr7W_turnToggle:focus-visible,.PXhr7W_phaseToggle:focus-visible,.PXhr7W_stepToggle:focus-visible,.PXhr7W_analysisClusterToggle:focus-visible,.PXhr7W_modelStageToggle:focus-visible,.PXhr7W_reasoningToggle:focus-visible,.PXhr7W_groupedModelToggle:focus-visible,.PXhr7W_viewMode button:focus-visible,.PXhr7W_historyNotice button:focus-visible,.PXhr7W_overviewOccurrence:focus-visible,.PXhr7W_inspectorBack:focus-visible,.PXhr7W_occurrence:focus-visible,.PXhr7W_tab:focus-visible,.PXhr7W_copyRaw:focus-visible{outline:2px solid var(--dsw-static-deepseek-450);outline-offset:-2px}.PXhr7W_railViewport{overscroll-behavior:contain;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex:1;min-height:0;overflow:auto}.PXhr7W_turns{padding:8px 10px 18px}.PXhr7W_turn+.PXhr7W_turn{border-top:1px solid var(--dsw-alias-border-l2);margin-top:12px;padding-top:12px}.PXhr7W_turnHeader{padding:0 2px 2px}.PXhr7W_turnHeader h2{margin:0}.PXhr7W_turnToggle{box-sizing:border-box;width:100%;min-height:50px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:7px;padding:6px 8px;display:grid}.PXhr7W_turnToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_turnChevron{color:var(--dsw-alias-label-tertiary);transition:transform var(--watcher-motion-fast) var(--watcher-ease-out);transform:rotate(0)}.PXhr7W_turnToggle[aria-expanded=true] .PXhr7W_turnChevron{transform:rotate(90deg)}.PXhr7W_turnCopy{flex-direction:column;min-width:0;display:flex}.PXhr7W_turnTitleLine{align-items:center;gap:6px;min-width:0;display:flex}.PXhr7W_turnTitle{color:var(--dsw-alias-label-secondary);font-size:13px;font-weight:600;line-height:20px}.PXhr7W_turnSummary,.PXhr7W_turnDuration{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:400;line-height:18px}.PXhr7W_turnSummary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.PXhr7W_turnPerformance{white-space:nowrap;flex-direction:column;align-items:flex-end;min-width:62px;display:flex}.PXhr7W_turnDuration{white-space:nowrap}.PXhr7W_turnSpeed{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;line-height:18px}.PXhr7W_turnBody[hidden]{display:none}.PXhr7W_groupRail{padding-left:18px;position:relative}.PXhr7W_railLine{background:var(--dsw-alias-border-l2);pointer-events:none;width:1px;position:absolute;top:18px;bottom:18px;left:23px}.PXhr7W_phase{z-index:1;box-sizing:border-box;width:100%;padding:3px 0 11px;position:relative}.PXhr7W_phase+.PXhr7W_phase{margin-top:4px}.PXhr7W_phaseHeader{position:relative}.PXhr7W_phaseToggle{box-sizing:border-box;width:100%;min-height:42px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;grid-template-columns:10px 12px minmax(0,1fr);align-items:center;gap:6px;padding:3px 8px 3px 0;display:grid;position:relative}.PXhr7W_phaseToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_phase[data-now]>.PXhr7W_phaseHeader .PXhr7W_phaseToggle{background:var(--dsw-alias-bg-layer-2);border-radius:7px}.PXhr7W_phaseChevron,.PXhr7W_stepChevron,.PXhr7W_analysisClusterChevron{color:var(--dsw-alias-label-tertiary);transition:transform var(--watcher-motion-fast) var(--watcher-ease-out);transform:rotate(0)}.PXhr7W_phaseToggle[aria-expanded=true] .PXhr7W_phaseChevron,.PXhr7W_stepToggle[aria-expanded=true] .PXhr7W_stepChevron,.PXhr7W_analysisClusterToggle[aria-expanded=true] .PXhr7W_analysisClusterChevron{transform:rotate(90deg)}.PXhr7W_phaseMarker{box-sizing:border-box;background:var(--dsw-alias-label-tertiary);width:10px;height:10px;box-shadow:0 0 0 4px var(--dsw-specific-menu);border-radius:50%;display:block;position:relative}.PXhr7W_phaseMarker[data-state=active],.PXhr7W_phaseMarker[data-state=current]{background:var(--dsw-static-deepseek-450)}.PXhr7W_phaseMarker[data-state=waiting]{background:var(--dsw-alias-state-warn-primary)}.PXhr7W_phaseMarker[data-state=failure],.PXhr7W_phaseMarker[data-state=interrupted]{background:var(--dsw-alias-state-error-primary)}.PXhr7W_phaseMarker[data-state=partial]{border:1px dashed var(--dsw-alias-label-tertiary);background:var(--dsw-specific-menu)}.PXhr7W_neutralDot{border:1px solid var(--dsw-alias-label-tertiary);background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block;position:relative}.PXhr7W_neutralDot[data-status=unknown]{background:var(--dsw-specific-menu);border-style:dashed}.PXhr7W_phaseCopy,.PXhr7W_occurrenceCopy{flex-direction:column;min-width:0;display:flex}.PXhr7W_phaseTitleLine{align-items:center;gap:6px;min-width:0;display:flex}.PXhr7W_phaseTitle{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:550;line-height:21px;overflow:hidden}.PXhr7W_phaseMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:12px;line-height:18px;overflow:hidden}.PXhr7W_groupBadges{flex:none;align-items:center;gap:4px;display:inline-flex}.PXhr7W_groupBadges span,.PXhr7W_overviewTag,.PXhr7W_patternLabel,.PXhr7W_parallelLabel{border:1px solid var(--dsw-alias-border-l2);min-height:18px;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;padding:0 5px;font-size:11px;font-weight:500;line-height:16px;display:inline-flex}.PXhr7W_groupBadges [data-kind=retry]{color:var(--dsw-alias-state-error-primary)}.PXhr7W_groupBadges [data-kind=parallel],.PXhr7W_overviewTag[data-state=active],.PXhr7W_overviewTag[data-state=current]{color:var(--dsw-static-deepseek-450)}.PXhr7W_overviewTag[data-state=waiting]{color:var(--dsw-alias-state-warn-primary)}.PXhr7W_overviewTag[data-state=failure],.PXhr7W_overviewTag[data-state=interrupted]{color:var(--dsw-alias-state-error-primary)}.PXhr7W_overviewTag[data-state=partial]{color:var(--dsw-alias-label-tertiary)}.PXhr7W_occurrenceChevron{color:var(--dsw-alias-label-dimmed);opacity:0;transition:opacity var(--watcher-motion-fast) ease, transform var(--watcher-motion-fast) ease;flex:none;transform:translate(-2px)}.PXhr7W_occurrence:hover .PXhr7W_occurrenceChevron,.PXhr7W_occurrence[data-selected] .PXhr7W_occurrenceChevron,.PXhr7W_occurrence:focus-visible .PXhr7W_occurrenceChevron{opacity:1;transform:translate(0)}.PXhr7W_stepTimeline{border-left:1px solid var(--dsw-alias-border-l2);margin:1px 8px 0 28px;padding-left:11px;position:relative}.PXhr7W_overviewStep{min-width:0;position:relative}.PXhr7W_overviewStep+.PXhr7W_overviewStep{margin-top:10px;padding-top:8px}.PXhr7W_overviewStep:before{background:var(--dsw-alias-border-l2);content:\"\";width:8px;height:1px;position:absolute;top:13px;left:-12px}.PXhr7W_overviewStepHeader{min-height:29px}.PXhr7W_stepToggle{box-sizing:border-box;width:100%;min-height:29px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:5px;padding:2px 4px 2px 0;display:grid}.PXhr7W_stepToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_overviewStepLabel,.PXhr7W_overviewStepSignals{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px;line-height:18px}.PXhr7W_overviewStepLabel{min-width:0;font-family:var(--dsw-font-mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.PXhr7W_overviewStepSignals{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.PXhr7W_overviewOccurrences{position:relative}.PXhr7W_overviewStep[data-parallel] .PXhr7W_overviewOccurrences{border-left:1px solid var(--dsw-static-deepseek-450);padding-left:5px}.PXhr7W_modelStage{border-left:2px solid var(--dsw-static-deepseek-450);background:var(--dsw-alias-bg-layer-2);border-radius:0 7px 7px 0;min-width:0;margin:2px 2px 7px;overflow:hidden}.PXhr7W_modelStage[data-live]{box-shadow:inset 0 0 0 1px var(--dsw-alias-button-ghost-active-border)}.PXhr7W_modelStageToggle{box-sizing:border-box;width:100%;min-height:42px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:12px 8px minmax(0,1fr);align-items:center;gap:7px;padding:5px 9px 5px 7px;display:grid}.PXhr7W_modelStageToggle:hover,.PXhr7W_reasoningToggle:hover,.PXhr7W_groupedModelToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_modelStageChevron,.PXhr7W_reasoningChevron,.PXhr7W_groupedModelChevron{color:var(--dsw-alias-label-tertiary);transition:transform var(--watcher-motion-fast) var(--watcher-ease-out)}.PXhr7W_modelStageToggle[aria-expanded=true] .PXhr7W_modelStageChevron,.PXhr7W_reasoningToggle[aria-expanded=true] .PXhr7W_reasoningChevron,.PXhr7W_groupedModelToggle[aria-expanded=true] .PXhr7W_groupedModelChevron{transform:rotate(90deg)}.PXhr7W_modelStageGlyph{background:var(--dsw-static-deepseek-450);width:7px;height:7px;box-shadow:0 0 0 3px var(--dsw-alias-button-ghost-active-fill);border-radius:999px}.PXhr7W_modelStageCopy{grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;display:grid}.PXhr7W_modelStageTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;font-size:13px;font-weight:600;line-height:20px}.PXhr7W_modelStageSummary{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.PXhr7W_modelStageBody{padding:2px 10px 10px 20px}.PXhr7W_modelStageBar{background:var(--dsw-alias-border-l2);border-radius:999px;gap:2px;height:5px;margin:2px 0 10px;display:flex;overflow:hidden}.PXhr7W_modelStageBar>span{border-radius:inherit;min-width:3px}.PXhr7W_modelStageBar [data-segment=wait],.PXhr7W_modelStageSwatch[data-segment=wait]{background:var(--dsw-alias-label-dimmed)}.PXhr7W_modelStageBar [data-segment=reasoning],.PXhr7W_modelStageSwatch[data-segment=reasoning]{background:var(--dsw-static-deepseek-450)}.PXhr7W_modelStageBar [data-segment=output],.PXhr7W_modelStageSwatch[data-segment=output]{background:var(--dsw-alias-label-secondary)}.PXhr7W_modelStageBar [data-segment=unattributed],.PXhr7W_modelStageSwatch[data-segment=unattributed]{background:var(--dsw-alias-state-warn-primary)}.PXhr7W_modelStageLedger{grid-template-columns:minmax(0,1fr);gap:5px 12px;margin:0;display:grid}.PXhr7W_modelStageMetric{min-width:0;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;font-size:12px;line-height:18px;display:flex}.PXhr7W_modelStageMetric dt,.PXhr7W_modelStageMetric dd{margin:0}.PXhr7W_modelStageMetric dt{align-items:center;gap:6px;min-width:0;display:inline-flex}.PXhr7W_modelStageMetric dd{color:var(--dsw-alias-label-secondary);text-align:right;flex:none}.PXhr7W_modelStageSwatch{border-radius:999px;flex:none;width:6px;height:6px}.PXhr7W_modelStageNote{color:var(--dsw-alias-label-tertiary);margin:8px 0 0;font-size:12px;line-height:18px}.PXhr7W_reasoningAttempts{border-top:1px solid var(--dsw-alias-border-l2);margin-top:8px;padding-top:1px}.PXhr7W_reasoningDisclosure{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:6px;min-width:0;margin-top:5px;overflow:hidden}.PXhr7W_reasoningToggle{box-sizing:border-box;width:100%;min-height:34px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:6px;padding:5px 8px;display:grid}.PXhr7W_reasoningLabel{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:550;line-height:20px}.PXhr7W_reasoningMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-align:left;white-space:normal;grid-column:2;font-size:12px;line-height:18px;overflow:hidden}.PXhr7W_reasoningBody{box-sizing:border-box;border-top:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);max-height:320px;color:var(--dsw-alias-label-primary);overflow-wrap:anywhere;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);margin:0;padding:10px 12px;font-size:13px;line-height:1.6;overflow:auto}.PXhr7W_reasoningBody>*{margin-top:0;margin-bottom:8px}.PXhr7W_reasoningBody>:last-child{margin-bottom:0}.PXhr7W_reasoningBody .md-code-block{max-width:100%}.PXhr7W_groupedModelStages{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:7px;margin-bottom:9px;position:relative;overflow:hidden}.PXhr7W_groupedModelStages:before{background:var(--dsw-alias-border-l2);content:\"\";width:8px;height:1px;position:absolute;top:20px;left:-12px}.PXhr7W_groupedModelToggle{box-sizing:border-box;width:100%;min-height:44px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:7px;padding:5px 9px;display:grid}.PXhr7W_groupedModelToggle>span{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.PXhr7W_groupedModelToggle strong{color:var(--dsw-alias-label-primary);font-size:13px;line-height:20px}.PXhr7W_groupedModelToggle small{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.PXhr7W_groupedModelList{border-top:1px solid var(--dsw-alias-border-l2);padding:0 7px 8px 22px}.PXhr7W_groupedModelStep{min-width:0;padding-top:8px}.PXhr7W_groupedModelStep+.PXhr7W_groupedModelStep{border-top:1px solid var(--dsw-alias-border-l2)}.PXhr7W_groupedModelStepLabel{color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);margin:0 2px 4px;font-size:12px;line-height:18px;display:block}.PXhr7W_analysisClusters{border-left:1px solid var(--dsw-alias-border-l2);margin:1px 8px 0 28px;padding-left:11px;position:relative}.PXhr7W_analysisCluster,.PXhr7W_analysisSingleton{min-width:0;position:relative}.PXhr7W_analysisCluster+.PXhr7W_analysisCluster,.PXhr7W_analysisCluster+.PXhr7W_analysisSingleton,.PXhr7W_analysisSingleton+.PXhr7W_analysisCluster,.PXhr7W_analysisSingleton+.PXhr7W_analysisSingleton{margin-top:6px}.PXhr7W_analysisCluster:before,.PXhr7W_analysisSingleton:before{background:var(--dsw-alias-border-l2);content:\"\";width:8px;height:1px;position:absolute;top:20px;left:-12px}.PXhr7W_analysisClusterToggle{box-sizing:border-box;width:100%;min-height:46px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:12px 10px minmax(0,1fr) auto;align-items:center;gap:7px;padding:5px 6px 5px 4px;display:grid}.PXhr7W_analysisClusterToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_analysisCluster[data-open]>.PXhr7W_analysisClusterToggle{border-color:var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2)}.PXhr7W_analysisClusterDotSlot{width:10px;height:10px;display:block;position:relative}.PXhr7W_analysisClusterDot{inset:0;position:absolute!important}.PXhr7W_analysisClusterCopy{flex-direction:column;min-width:0;display:flex}.PXhr7W_analysisClusterTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;line-height:20px;overflow:hidden}.PXhr7W_analysisClusterMeta{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.PXhr7W_analysisClusterCount{min-width:28px;color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-size:12px;font-weight:600;line-height:18px}.PXhr7W_analysisClusterItems{border-left:1px solid var(--dsw-alias-border-l2);margin:3px 0 8px 17px;padding-left:5px}.PXhr7W_overviewOccurrence{box-sizing:border-box;width:100%;min-height:45px;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--watcher-motion-fast) var(--watcher-ease-out), border-color var(--watcher-motion-fast) var(--watcher-ease-out), box-shadow var(--watcher-motion-fast) var(--watcher-ease-out);animation:PXhr7W_watcher-live-append var(--watcher-motion-fast) var(--watcher-ease-out);background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:22px 10px minmax(0,1fr) auto 12px;align-items:center;gap:7px;padding:5px 5px 5px 7px;display:grid;position:relative}.PXhr7W_overviewOccurrence+.PXhr7W_overviewOccurrence{margin-top:2px}.PXhr7W_overviewOccurrence:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_overviewOccurrence[data-current]:not([data-selected]){background:var(--dsw-alias-bg-layer-2)}.PXhr7W_overviewOccurrence[data-selected]{border-color:var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill);box-shadow:inset 2px 0 0 var(--dsw-static-deepseek-450)}.PXhr7W_overviewOccurrenceIndex{color:var(--dsw-alias-label-dimmed);font-family:var(--dsw-font-mono);font-variant-numeric:tabular-nums;text-align:right;font-size:11px;line-height:18px}.PXhr7W_overviewOccurrenceDotSlot{width:10px;height:10px;display:block;position:relative}.PXhr7W_overviewOccurrenceDot{inset:0;position:absolute!important}.PXhr7W_overviewOccurrenceCopy{flex-direction:column;min-width:0;display:flex}.PXhr7W_overviewOccurrenceTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;line-height:20px;overflow:hidden}.PXhr7W_overviewOccurrenceMeta{color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.PXhr7W_overviewOccurrenceDuration{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:18px}.PXhr7W_overviewOccurrenceChevron{color:var(--dsw-alias-label-dimmed);opacity:0;transition:opacity var(--watcher-motion-fast) ease, transform var(--watcher-motion-fast) ease;transform:translate(-2px)}.PXhr7W_overviewOccurrence:hover .PXhr7W_overviewOccurrenceChevron,.PXhr7W_overviewOccurrence[data-selected] .PXhr7W_overviewOccurrenceChevron,.PXhr7W_overviewOccurrence:focus-visible .PXhr7W_overviewOccurrenceChevron{opacity:1;transform:translate(0)}@keyframes PXhr7W_watcher-live-append{0%{opacity:.5;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.PXhr7W_empty{min-height:250px;color:var(--dsw-alias-label-tertiary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:28px;display:flex}.PXhr7W_emptyEye{color:var(--dsw-alias-label-secondary);margin-bottom:12px;display:inline-flex}.PXhr7W_empty strong{color:var(--dsw-alias-label-secondary);font-size:14px;font-weight:600;line-height:21px}.PXhr7W_empty>span:last-child{margin-top:4px;font-size:12px;line-height:18px}.PXhr7W_inspector{width:438px;min-width:0;max-height:var(--watcher-panel-max-height);border-right:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);flex-direction:column;flex:none;display:flex}@media (width>=861px){.PXhr7W_inspector{animation:PXhr7W_watcher-inspector-enter var(--watcher-motion-inspector) var(--watcher-ease-glide);overflow:hidden}.PXhr7W_inspector>*{box-sizing:border-box;width:438px;animation:PXhr7W_watcher-inspector-content-in var(--watcher-motion-content-out) var(--watcher-ease-glide) var(--watcher-motion-inspector) both}.PXhr7W_inspector[data-closing]{pointer-events:none;animation:PXhr7W_watcher-inspector-exit var(--watcher-motion-inspector) var(--watcher-ease-glide) var(--watcher-motion-content-out) forwards}.PXhr7W_inspector[data-closing]>*{animation:PXhr7W_watcher-inspector-content-out var(--watcher-motion-content-out) ease-in forwards}}@keyframes PXhr7W_watcher-inspector-enter{0%{width:0}}@keyframes PXhr7W_watcher-inspector-content-in{0%{opacity:0;transform:translate(16px)}}@keyframes PXhr7W_watcher-inspector-content-out{to{opacity:0;transform:translate(16px)}}@keyframes PXhr7W_watcher-inspector-exit{to{width:0}}.PXhr7W_inspectorHeader{border-bottom:1px solid var(--dsw-alias-border-l2);flex:none;padding:16px 16px 14px}.PXhr7W_inspectorBack{min-height:28px;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;margin:-4px 0 8px -6px;padding:0 7px 0 5px;font-size:12px;display:inline-flex}.PXhr7W_inspectorBack:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_statusLine,.PXhr7W_detailStatus{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;align-items:center;gap:7px;font-size:12px;line-height:18px;display:flex}.PXhr7W_statusLine[data-status=failure],.PXhr7W_statusLine[data-status=interrupted],.PXhr7W_detailStatus[data-status=failure],.PXhr7W_detailStatus[data-status=interrupted]{color:var(--dsw-alias-state-error-primary)}.PXhr7W_statusLine[data-status=running],.PXhr7W_detailStatus[data-status=running]{color:var(--dsw-static-deepseek-450)}.PXhr7W_statusLine[data-status=waiting],.PXhr7W_detailStatus[data-status=waiting]{color:var(--dsw-alias-state-warn-primary)}.PXhr7W_location{min-width:0;color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;margin-left:auto}.PXhr7W_inspectorTitle{color:var(--dsw-alias-label-primary);margin:8px 0 0;font-size:18px;font-weight:600;line-height:25px}.PXhr7W_inspectorSummary{color:var(--dsw-alias-label-tertiary);margin:3px 0 0;font-size:12px;line-height:18px}.PXhr7W_groupSignals{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.PXhr7W_groupSignals span{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.PXhr7W_groupSignals span+span:before{content:\"·\";color:var(--dsw-alias-label-dimmed);margin-right:6px}.PXhr7W_groupSignals [data-retry]{color:var(--dsw-alias-state-warn-primary)}.PXhr7W_groupSignals [data-error]{color:var(--dsw-alias-state-error-primary)}.PXhr7W_inspectorBody{overscroll-behavior:contain;--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex:1;min-height:0;overflow:auto}.PXhr7W_executionSection{border-bottom:1px solid var(--dsw-alias-border-l2);padding:14px 16px 16px}.PXhr7W_sectionHeading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.PXhr7W_sectionHeading h3{color:var(--dsw-alias-label-secondary);margin:0;font-size:13px;font-weight:600;line-height:20px}.PXhr7W_sectionHeading>span{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.PXhr7W_executionList{max-height:188px;padding-right:2px;overflow:auto}.PXhr7W_stepBlock+.PXhr7W_stepBlock{border-top:1px solid var(--dsw-alias-border-l2);margin-top:10px;padding-top:10px}.PXhr7W_stepHeading{min-height:22px;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;padding:0 3px;font-size:12px;display:flex}.PXhr7W_stepSignals{align-items:center;gap:6px;min-width:0;display:inline-flex}.PXhr7W_stepDuration{color:var(--dsw-alias-label-secondary);font-family:var(--dsw-font-family);font-variant-numeric:tabular-nums;white-space:nowrap}.PXhr7W_parallelLabel{color:var(--dsw-static-deepseek-450);font-family:var(--dsw-font-family)}.PXhr7W_occurrences{margin-top:4px;position:relative}.PXhr7W_stepBlock[data-parallel] .PXhr7W_occurrences{border-left:1px solid var(--dsw-static-deepseek-450);padding-left:10px}.PXhr7W_occurrence{box-sizing:border-box;width:100%;min-height:46px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:10px minmax(0,1fr) auto 13px;align-items:center;gap:8px;padding:6px 7px;transition:background-color .14s,border-color .14s;display:grid}.PXhr7W_occurrenceDuration{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px;line-height:18px}.PXhr7W_occurrence+.PXhr7W_occurrence{margin-top:2px}.PXhr7W_occurrence:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_occurrence[data-selected]{border-color:var(--dsw-alias-button-ghost-active-border);background:var(--dsw-alias-button-ghost-active-fill)}.PXhr7W_occurrenceTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550;line-height:19px;overflow:hidden}.PXhr7W_occurrenceMeta{color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.PXhr7W_detailSection{padding:16px}.PXhr7W_detailHeader{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.PXhr7W_detailIdentity{min-width:0}.PXhr7W_detailIdentity h3{overflow-wrap:anywhere;color:var(--dsw-alias-label-primary);margin:6px 0 0;font-size:16px;font-weight:600;line-height:23px}.PXhr7W_detailIdentity p{overflow-wrap:anywhere;color:var(--dsw-alias-label-tertiary);font-family:var(--dsw-font-mono);margin:3px 0 0;font-size:12px;line-height:18px}.PXhr7W_patternLabel{color:var(--dsw-alias-state-warn-primary)}.PXhr7W_metrics{font-variant-numeric:tabular-nums;grid-template-columns:auto auto;gap:2px 8px;margin:0;font-size:12px;line-height:18px;display:grid}.PXhr7W_metrics dt{color:var(--dsw-alias-label-tertiary)}.PXhr7W_metrics dd{color:var(--dsw-alias-label-secondary);text-align:right;margin:0}.PXhr7W_metrics [data-error]{color:var(--dsw-alias-state-error-primary)}.PXhr7W_tabs{border-bottom:1px solid var(--dsw-alias-border-l2);align-items:end;gap:4px;margin-top:16px;display:flex}.PXhr7W_tab{min-width:56px;min-height:36px;color:var(--dsw-alias-label-tertiary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:13px;position:relative}.PXhr7W_tab:hover{color:var(--dsw-alias-label-primary)}.PXhr7W_tab[data-active]{color:var(--dsw-alias-label-primary);font-weight:600}.PXhr7W_tab[data-active]:after{content:\"\";background:var(--dsw-static-deepseek-450);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:9px;right:9px}.PXhr7W_tabPanel{--dsl-terminal-font:400 13px/22px var(--dsw-font-mono);min-height:116px;padding-top:12px}.PXhr7W_tabPanel>*{margin-top:0;margin-bottom:0}.PXhr7W_jsonSurface{font-size:13px;overflow:auto}.PXhr7W_jsonSurface [role=tree]{font-size:13px;line-height:20px}.PXhr7W_rawPanel pre{box-sizing:border-box;width:100%;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-mono);tab-size:2;margin:0;font-size:13px;line-height:20px;overflow:auto}.PXhr7W_documentResult{min-width:0;color:var(--dsw-alias-label-primary);padding:2px 2px 8px}.PXhr7W_documentResult .md-code-block{max-width:100%}.PXhr7W_documentResult blockquote{color:var(--dsw-alias-label-secondary)}.PXhr7W_documentResult table{font-variant-numeric:tabular-nums}.PXhr7W_rawPanel{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block);border-radius:8px;overflow:hidden}.PXhr7W_rawToolbar{border-bottom:1px solid var(--dsw-alias-border-l2);min-height:38px;color:var(--dsw-alias-label-tertiary);justify-content:space-between;align-items:center;gap:12px;padding:0 10px 0 12px;font-size:12px;display:flex}.PXhr7W_copyRaw{min-height:28px;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:0 6px;font-size:12px;display:inline-flex}.PXhr7W_copyRaw:hover{background:var(--dsw-alias-interactive-bg-hover)}.PXhr7W_rawPanel pre{white-space:pre;max-height:320px;padding:12px}.PXhr7W_artifactResult,.PXhr7W_detailEmpty{border:1px solid var(--dsw-alias-border-l2);min-height:116px;color:var(--dsw-alias-label-tertiary);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:18px;font-size:13px;display:flex}.PXhr7W_artifactResult strong{color:var(--dsw-alias-label-secondary);margin-top:6px;font-size:14px}.PXhr7W_artifactResult>span{margin-top:2px;font-size:12px}.PXhr7W_artifactResult .PXhr7W_jsonSurface{text-align:left;width:100%;margin-top:12px}.PXhr7W_artifactGlyph{color:var(--dsw-static-deepseek-450);font-size:24px;line-height:28px}.PXhr7W_inspectorFooter{border-top:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);flex:none;padding:9px 16px;font-size:12px;line-height:18px}@media (prefers-reduced-motion:reduce){.PXhr7W_inspector,.PXhr7W_inspector>*{animation:none}.PXhr7W_inspector[data-closing],.PXhr7W_inspector[data-closing]>*{animation-duration:.01ms;animation-delay:0s}.PXhr7W_menu,.PXhr7W_trigger[data-live] .PXhr7W_eyePupil,.PXhr7W_trigger[data-live] .PXhr7W_eyeBlink{animation:none}.PXhr7W_trigger,.PXhr7W_overviewOccurrence,.PXhr7W_turnChevron,.PXhr7W_phaseChevron,.PXhr7W_stepChevron,.PXhr7W_analysisClusterChevron,.PXhr7W_modelStageChevron,.PXhr7W_reasoningChevron,.PXhr7W_groupedModelChevron,.PXhr7W_occurrence,.PXhr7W_overviewOccurrenceChevron,.PXhr7W_occurrenceChevron{transition-duration:.01ms}.PXhr7W_overviewOccurrence{animation:none}.PXhr7W_root [data-state=ongoing] rect,.PXhr7W_menu [data-state=ongoing] rect{opacity:.55;animation:none!important}}@media (width<=860px){.PXhr7W_menu{flex-direction:column-reverse;width:min(720px,100vw - 24px);max-height:calc(100vh - 88px)}.PXhr7W_workPicture{width:auto;min-height:250px;max-height:none}.PXhr7W_menu:not(:has(.PXhr7W_inspector)){height:min(680px,100vh - 88px)}.PXhr7W_menu:not(:has(.PXhr7W_inspector)) .PXhr7W_workPicture{flex:auto}.PXhr7W_inspector{border-right:0;width:auto;max-height:none}.PXhr7W_menu:has(.PXhr7W_inspector){height:min(680px,100vh - 88px)}.PXhr7W_menu:has(.PXhr7W_inspector) .PXhr7W_workPicture{display:none}.PXhr7W_menu:has(.PXhr7W_inspector) .PXhr7W_inspector{flex:auto;min-height:0;max-height:none}.PXhr7W_inspectorBack svg{transform:rotate(180deg)}.PXhr7W_inspectorHeader{padding-top:14px}.PXhr7W_executionList{max-height:150px}}@media (width<=520px){.PXhr7W_menu{width:calc(100vw - 24px)}.PXhr7W_pictureHeader{padding:14px 12px}.PXhr7W_now{font-size:16px}.PXhr7W_turns{padding-inline:6px}.PXhr7W_groupBadges span:nth-child(n+2){display:none}.PXhr7W_inspectorHeader,.PXhr7W_executionSection,.PXhr7W_detailSection{padding-inline:12px}.PXhr7W_detailHeader{grid-template-columns:1fr}.PXhr7W_metrics{grid-template-columns:auto 1fr}.PXhr7W_metrics dd{text-align:left}.PXhr7W_modelStageCopy{grid-template-columns:1fr;gap:0}.PXhr7W_modelStageSummary{white-space:normal}.PXhr7W_modelStageLedger{grid-template-columns:1fr}.PXhr7W_reasoningToggle{grid-template-columns:12px minmax(0,1fr)}.PXhr7W_reasoningMeta{text-align:left;white-space:normal;grid-column:2}.PXhr7W_groupedModelToggle>span{gap:0;display:grid}.PXhr7W_groupedModelToggle small{white-space:normal}.PXhr7W_groupedModelList{padding-left:12px}}";
1695
1721
  const tagId$2 = "dsh-watcher/Watcher.module.css";
1696
1722
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
1697
1723
  const tag = document.createElement("style");
@@ -1701,167 +1727,168 @@ window.__ModuleLoader__.load({
1701
1727
  document.head.appendChild(tag);
1702
1728
  }
1703
1729
  var Watcher_module_css_default = {
1704
- "analysisCluster": "xlpj2W_analysisCluster",
1705
- "analysisClusterChevron": "xlpj2W_analysisClusterChevron",
1706
- "analysisClusterCopy": "xlpj2W_analysisClusterCopy",
1707
- "analysisClusterCount": "xlpj2W_analysisClusterCount",
1708
- "analysisClusterDot": "xlpj2W_analysisClusterDot",
1709
- "analysisClusterDotSlot": "xlpj2W_analysisClusterDotSlot",
1710
- "analysisClusterItems": "xlpj2W_analysisClusterItems",
1711
- "analysisClusterMeta": "xlpj2W_analysisClusterMeta",
1712
- "analysisClusters": "xlpj2W_analysisClusters",
1713
- "analysisClusterTitle": "xlpj2W_analysisClusterTitle",
1714
- "analysisClusterToggle": "xlpj2W_analysisClusterToggle",
1715
- "analysisSingleton": "xlpj2W_analysisSingleton",
1716
- "artifactGlyph": "xlpj2W_artifactGlyph",
1717
- "artifactResult": "xlpj2W_artifactResult",
1718
- "copyRaw": "xlpj2W_copyRaw",
1719
- "detailEmpty": "xlpj2W_detailEmpty",
1720
- "detailHeader": "xlpj2W_detailHeader",
1721
- "detailIdentity": "xlpj2W_detailIdentity",
1722
- "detailSection": "xlpj2W_detailSection",
1723
- "detailStatus": "xlpj2W_detailStatus",
1724
- "documentResult": "xlpj2W_documentResult",
1725
- "empty": "xlpj2W_empty",
1726
- "emptyEye": "xlpj2W_emptyEye",
1727
- "executionList": "xlpj2W_executionList",
1728
- "executionSection": "xlpj2W_executionSection",
1729
- "eye": "xlpj2W_eye",
1730
- "eyeBlink": "xlpj2W_eyeBlink",
1731
- "eyebrow": "xlpj2W_eyebrow",
1732
- "eyePupil": "xlpj2W_eyePupil",
1733
- "follow": "xlpj2W_follow",
1734
- "groupBadges": "xlpj2W_groupBadges",
1735
- "groupedModelChevron": "xlpj2W_groupedModelChevron",
1736
- "groupedModelList": "xlpj2W_groupedModelList",
1737
- "groupedModelStages": "xlpj2W_groupedModelStages",
1738
- "groupedModelStep": "xlpj2W_groupedModelStep",
1739
- "groupedModelStepLabel": "xlpj2W_groupedModelStepLabel",
1740
- "groupedModelToggle": "xlpj2W_groupedModelToggle",
1741
- "groupRail": "xlpj2W_groupRail",
1742
- "groupSignals": "xlpj2W_groupSignals",
1743
- "historyNotice": "xlpj2W_historyNotice",
1744
- "historyNoticeCopy": "xlpj2W_historyNoticeCopy",
1745
- "inspector": "xlpj2W_inspector",
1746
- "inspectorBack": "xlpj2W_inspectorBack",
1747
- "inspectorBody": "xlpj2W_inspectorBody",
1748
- "inspectorFooter": "xlpj2W_inspectorFooter",
1749
- "inspectorHeader": "xlpj2W_inspectorHeader",
1750
- "inspectorSummary": "xlpj2W_inspectorSummary",
1751
- "inspectorTitle": "xlpj2W_inspectorTitle",
1752
- "jsonSurface": "xlpj2W_jsonSurface",
1753
- "loadAllInlineBtn": "xlpj2W_loadAllInlineBtn",
1754
- "location": "xlpj2W_location",
1755
- "menu": "xlpj2W_menu",
1756
- "metrics": "xlpj2W_metrics",
1757
- "modelStage": "xlpj2W_modelStage",
1758
- "modelStageBar": "xlpj2W_modelStageBar",
1759
- "modelStageBody": "xlpj2W_modelStageBody",
1760
- "modelStageChevron": "xlpj2W_modelStageChevron",
1761
- "modelStageCopy": "xlpj2W_modelStageCopy",
1762
- "modelStageGlyph": "xlpj2W_modelStageGlyph",
1763
- "modelStageLedger": "xlpj2W_modelStageLedger",
1764
- "modelStageMetric": "xlpj2W_modelStageMetric",
1765
- "modelStageNote": "xlpj2W_modelStageNote",
1766
- "modelStageSummary": "xlpj2W_modelStageSummary",
1767
- "modelStageSwatch": "xlpj2W_modelStageSwatch",
1768
- "modelStageTitle": "xlpj2W_modelStageTitle",
1769
- "modelStageToggle": "xlpj2W_modelStageToggle",
1770
- "neutralDot": "xlpj2W_neutralDot",
1771
- "now": "xlpj2W_now",
1772
- "nowBlock": "xlpj2W_nowBlock",
1773
- "occurrence": "xlpj2W_occurrence",
1774
- "occurrenceChevron": "xlpj2W_occurrenceChevron",
1775
- "occurrenceCopy": "xlpj2W_occurrenceCopy",
1776
- "occurrenceDuration": "xlpj2W_occurrenceDuration",
1777
- "occurrenceMeta": "xlpj2W_occurrenceMeta",
1778
- "occurrences": "xlpj2W_occurrences",
1779
- "occurrenceTitle": "xlpj2W_occurrenceTitle",
1780
- "overviewOccurrence": "xlpj2W_overviewOccurrence",
1781
- "overviewOccurrenceChevron": "xlpj2W_overviewOccurrenceChevron",
1782
- "overviewOccurrenceCopy": "xlpj2W_overviewOccurrenceCopy",
1783
- "overviewOccurrenceDot": "xlpj2W_overviewOccurrenceDot",
1784
- "overviewOccurrenceDotSlot": "xlpj2W_overviewOccurrenceDotSlot",
1785
- "overviewOccurrenceDuration": "xlpj2W_overviewOccurrenceDuration",
1786
- "overviewOccurrenceIndex": "xlpj2W_overviewOccurrenceIndex",
1787
- "overviewOccurrenceMeta": "xlpj2W_overviewOccurrenceMeta",
1788
- "overviewOccurrences": "xlpj2W_overviewOccurrences",
1789
- "overviewOccurrenceTitle": "xlpj2W_overviewOccurrenceTitle",
1790
- "overviewStep": "xlpj2W_overviewStep",
1791
- "overviewStepHeader": "xlpj2W_overviewStepHeader",
1792
- "overviewStepLabel": "xlpj2W_overviewStepLabel",
1793
- "overviewStepSignals": "xlpj2W_overviewStepSignals",
1794
- "overviewTag": "xlpj2W_overviewTag",
1795
- "parallelLabel": "xlpj2W_parallelLabel",
1796
- "patternLabel": "xlpj2W_patternLabel",
1797
- "phase": "xlpj2W_phase",
1798
- "phaseChevron": "xlpj2W_phaseChevron",
1799
- "phaseCopy": "xlpj2W_phaseCopy",
1800
- "phaseHeader": "xlpj2W_phaseHeader",
1801
- "phaseMarker": "xlpj2W_phaseMarker",
1802
- "phaseMeta": "xlpj2W_phaseMeta",
1803
- "phaseTitle": "xlpj2W_phaseTitle",
1804
- "phaseTitleLine": "xlpj2W_phaseTitleLine",
1805
- "phaseToggle": "xlpj2W_phaseToggle",
1806
- "pictureHeader": "xlpj2W_pictureHeader",
1807
- "railLine": "xlpj2W_railLine",
1808
- "railViewport": "xlpj2W_railViewport",
1809
- "rawPanel": "xlpj2W_rawPanel",
1810
- "rawToolbar": "xlpj2W_rawToolbar",
1811
- "reasoningAttempts": "xlpj2W_reasoningAttempts",
1812
- "reasoningBody": "xlpj2W_reasoningBody",
1813
- "reasoningChevron": "xlpj2W_reasoningChevron",
1814
- "reasoningDisclosure": "xlpj2W_reasoningDisclosure",
1815
- "reasoningLabel": "xlpj2W_reasoningLabel",
1816
- "reasoningMeta": "xlpj2W_reasoningMeta",
1817
- "reasoningToggle": "xlpj2W_reasoningToggle",
1818
- "resizeEdgeBottom": "xlpj2W_resizeEdgeBottom",
1819
- "resizeEdgeRight": "xlpj2W_resizeEdgeRight",
1820
- "resizeGrip": "xlpj2W_resizeGrip",
1821
- "root": "xlpj2W_root",
1822
- "sectionHeading": "xlpj2W_sectionHeading",
1823
- "sessionTiming": "xlpj2W_sessionTiming",
1824
- "sessionTimingMetric": "xlpj2W_sessionTimingMetric",
1825
- "statusLine": "xlpj2W_statusLine",
1826
- "stepBlock": "xlpj2W_stepBlock",
1827
- "stepChevron": "xlpj2W_stepChevron",
1828
- "stepDuration": "xlpj2W_stepDuration",
1829
- "stepHeading": "xlpj2W_stepHeading",
1830
- "stepSignals": "xlpj2W_stepSignals",
1831
- "stepTimeline": "xlpj2W_stepTimeline",
1832
- "stepToggle": "xlpj2W_stepToggle",
1833
- "summary": "xlpj2W_summary",
1834
- "tab": "xlpj2W_tab",
1835
- "tabPanel": "xlpj2W_tabPanel",
1836
- "tabs": "xlpj2W_tabs",
1837
- "trigger": "xlpj2W_trigger",
1838
- "turn": "xlpj2W_turn",
1839
- "turnBody": "xlpj2W_turnBody",
1840
- "turnChevron": "xlpj2W_turnChevron",
1841
- "turnCopy": "xlpj2W_turnCopy",
1842
- "turnDuration": "xlpj2W_turnDuration",
1843
- "turnHeader": "xlpj2W_turnHeader",
1844
- "turnPerformance": "xlpj2W_turnPerformance",
1845
- "turns": "xlpj2W_turns",
1846
- "turnSpeed": "xlpj2W_turnSpeed",
1847
- "turnSummary": "xlpj2W_turnSummary",
1848
- "turnTitle": "xlpj2W_turnTitle",
1849
- "turnTitleLine": "xlpj2W_turnTitleLine",
1850
- "turnToggle": "xlpj2W_turnToggle",
1851
- "unread": "xlpj2W_unread",
1852
- "viewControl": "xlpj2W_viewControl",
1853
- "viewMode": "xlpj2W_viewMode",
1854
- "viewToolbar": "xlpj2W_viewToolbar",
1855
- "viewToolbarLabel": "xlpj2W_viewToolbarLabel",
1856
- "watcher-eye-blink": "xlpj2W_watcher-eye-blink",
1857
- "watcher-eye-scan": "xlpj2W_watcher-eye-scan",
1858
- "watcher-inspector-content-in": "xlpj2W_watcher-inspector-content-in",
1859
- "watcher-inspector-content-out": "xlpj2W_watcher-inspector-content-out",
1860
- "watcher-inspector-enter": "xlpj2W_watcher-inspector-enter",
1861
- "watcher-inspector-exit": "xlpj2W_watcher-inspector-exit",
1862
- "watcher-live-append": "xlpj2W_watcher-live-append",
1863
- "watcher-panel-enter": "xlpj2W_watcher-panel-enter",
1864
- "workPicture": "xlpj2W_workPicture"
1730
+ "analysisCluster": "PXhr7W_analysisCluster",
1731
+ "analysisClusterChevron": "PXhr7W_analysisClusterChevron",
1732
+ "analysisClusterCopy": "PXhr7W_analysisClusterCopy",
1733
+ "analysisClusterCount": "PXhr7W_analysisClusterCount",
1734
+ "analysisClusterDot": "PXhr7W_analysisClusterDot",
1735
+ "analysisClusterDotSlot": "PXhr7W_analysisClusterDotSlot",
1736
+ "analysisClusterItems": "PXhr7W_analysisClusterItems",
1737
+ "analysisClusterMeta": "PXhr7W_analysisClusterMeta",
1738
+ "analysisClusters": "PXhr7W_analysisClusters",
1739
+ "analysisClusterTitle": "PXhr7W_analysisClusterTitle",
1740
+ "analysisClusterToggle": "PXhr7W_analysisClusterToggle",
1741
+ "analysisSingleton": "PXhr7W_analysisSingleton",
1742
+ "artifactGlyph": "PXhr7W_artifactGlyph",
1743
+ "artifactResult": "PXhr7W_artifactResult",
1744
+ "copyRaw": "PXhr7W_copyRaw",
1745
+ "detailEmpty": "PXhr7W_detailEmpty",
1746
+ "detailHeader": "PXhr7W_detailHeader",
1747
+ "detailIdentity": "PXhr7W_detailIdentity",
1748
+ "detailSection": "PXhr7W_detailSection",
1749
+ "detailStatus": "PXhr7W_detailStatus",
1750
+ "documentResult": "PXhr7W_documentResult",
1751
+ "empty": "PXhr7W_empty",
1752
+ "emptyEye": "PXhr7W_emptyEye",
1753
+ "executionList": "PXhr7W_executionList",
1754
+ "executionSection": "PXhr7W_executionSection",
1755
+ "eye": "PXhr7W_eye",
1756
+ "eyeBlink": "PXhr7W_eyeBlink",
1757
+ "eyebrow": "PXhr7W_eyebrow",
1758
+ "eyePupil": "PXhr7W_eyePupil",
1759
+ "follow": "PXhr7W_follow",
1760
+ "groupBadges": "PXhr7W_groupBadges",
1761
+ "groupedModelChevron": "PXhr7W_groupedModelChevron",
1762
+ "groupedModelList": "PXhr7W_groupedModelList",
1763
+ "groupedModelStages": "PXhr7W_groupedModelStages",
1764
+ "groupedModelStep": "PXhr7W_groupedModelStep",
1765
+ "groupedModelStepLabel": "PXhr7W_groupedModelStepLabel",
1766
+ "groupedModelToggle": "PXhr7W_groupedModelToggle",
1767
+ "groupRail": "PXhr7W_groupRail",
1768
+ "groupSignals": "PXhr7W_groupSignals",
1769
+ "historyNotice": "PXhr7W_historyNotice",
1770
+ "historyNoticeCopy": "PXhr7W_historyNoticeCopy",
1771
+ "inspector": "PXhr7W_inspector",
1772
+ "inspectorBack": "PXhr7W_inspectorBack",
1773
+ "inspectorBody": "PXhr7W_inspectorBody",
1774
+ "inspectorFooter": "PXhr7W_inspectorFooter",
1775
+ "inspectorHeader": "PXhr7W_inspectorHeader",
1776
+ "inspectorSummary": "PXhr7W_inspectorSummary",
1777
+ "inspectorTitle": "PXhr7W_inspectorTitle",
1778
+ "jsonSurface": "PXhr7W_jsonSurface",
1779
+ "loadAllInlineBtn": "PXhr7W_loadAllInlineBtn",
1780
+ "location": "PXhr7W_location",
1781
+ "menu": "PXhr7W_menu",
1782
+ "metrics": "PXhr7W_metrics",
1783
+ "modelStage": "PXhr7W_modelStage",
1784
+ "modelStageBar": "PXhr7W_modelStageBar",
1785
+ "modelStageBody": "PXhr7W_modelStageBody",
1786
+ "modelStageChevron": "PXhr7W_modelStageChevron",
1787
+ "modelStageCopy": "PXhr7W_modelStageCopy",
1788
+ "modelStageGlyph": "PXhr7W_modelStageGlyph",
1789
+ "modelStageLedger": "PXhr7W_modelStageLedger",
1790
+ "modelStageMetric": "PXhr7W_modelStageMetric",
1791
+ "modelStageNote": "PXhr7W_modelStageNote",
1792
+ "modelStageSummary": "PXhr7W_modelStageSummary",
1793
+ "modelStageSwatch": "PXhr7W_modelStageSwatch",
1794
+ "modelStageTitle": "PXhr7W_modelStageTitle",
1795
+ "modelStageToggle": "PXhr7W_modelStageToggle",
1796
+ "neutralDot": "PXhr7W_neutralDot",
1797
+ "now": "PXhr7W_now",
1798
+ "nowBlock": "PXhr7W_nowBlock",
1799
+ "occurrence": "PXhr7W_occurrence",
1800
+ "occurrenceChevron": "PXhr7W_occurrenceChevron",
1801
+ "occurrenceCopy": "PXhr7W_occurrenceCopy",
1802
+ "occurrenceDuration": "PXhr7W_occurrenceDuration",
1803
+ "occurrenceMeta": "PXhr7W_occurrenceMeta",
1804
+ "occurrences": "PXhr7W_occurrences",
1805
+ "occurrenceTitle": "PXhr7W_occurrenceTitle",
1806
+ "overviewOccurrence": "PXhr7W_overviewOccurrence",
1807
+ "overviewOccurrenceChevron": "PXhr7W_overviewOccurrenceChevron",
1808
+ "overviewOccurrenceCopy": "PXhr7W_overviewOccurrenceCopy",
1809
+ "overviewOccurrenceDot": "PXhr7W_overviewOccurrenceDot",
1810
+ "overviewOccurrenceDotSlot": "PXhr7W_overviewOccurrenceDotSlot",
1811
+ "overviewOccurrenceDuration": "PXhr7W_overviewOccurrenceDuration",
1812
+ "overviewOccurrenceIndex": "PXhr7W_overviewOccurrenceIndex",
1813
+ "overviewOccurrenceMeta": "PXhr7W_overviewOccurrenceMeta",
1814
+ "overviewOccurrences": "PXhr7W_overviewOccurrences",
1815
+ "overviewOccurrenceTitle": "PXhr7W_overviewOccurrenceTitle",
1816
+ "overviewStep": "PXhr7W_overviewStep",
1817
+ "overviewStepHeader": "PXhr7W_overviewStepHeader",
1818
+ "overviewStepLabel": "PXhr7W_overviewStepLabel",
1819
+ "overviewStepSignals": "PXhr7W_overviewStepSignals",
1820
+ "overviewTag": "PXhr7W_overviewTag",
1821
+ "parallelLabel": "PXhr7W_parallelLabel",
1822
+ "patternLabel": "PXhr7W_patternLabel",
1823
+ "phase": "PXhr7W_phase",
1824
+ "phaseChevron": "PXhr7W_phaseChevron",
1825
+ "phaseCopy": "PXhr7W_phaseCopy",
1826
+ "phaseHeader": "PXhr7W_phaseHeader",
1827
+ "phaseMarker": "PXhr7W_phaseMarker",
1828
+ "phaseMeta": "PXhr7W_phaseMeta",
1829
+ "phaseTitle": "PXhr7W_phaseTitle",
1830
+ "phaseTitleLine": "PXhr7W_phaseTitleLine",
1831
+ "phaseToggle": "PXhr7W_phaseToggle",
1832
+ "pictureHeader": "PXhr7W_pictureHeader",
1833
+ "railLine": "PXhr7W_railLine",
1834
+ "railViewport": "PXhr7W_railViewport",
1835
+ "rawPanel": "PXhr7W_rawPanel",
1836
+ "rawToolbar": "PXhr7W_rawToolbar",
1837
+ "reasoningAttempts": "PXhr7W_reasoningAttempts",
1838
+ "reasoningBody": "PXhr7W_reasoningBody",
1839
+ "reasoningChevron": "PXhr7W_reasoningChevron",
1840
+ "reasoningDisclosure": "PXhr7W_reasoningDisclosure",
1841
+ "reasoningLabel": "PXhr7W_reasoningLabel",
1842
+ "reasoningMeta": "PXhr7W_reasoningMeta",
1843
+ "reasoningToggle": "PXhr7W_reasoningToggle",
1844
+ "resizeEdgeBottom": "PXhr7W_resizeEdgeBottom",
1845
+ "resizeEdgeRight": "PXhr7W_resizeEdgeRight",
1846
+ "resizeGrip": "PXhr7W_resizeGrip",
1847
+ "root": "PXhr7W_root",
1848
+ "sectionHeading": "PXhr7W_sectionHeading",
1849
+ "sessionTiming": "PXhr7W_sessionTiming",
1850
+ "sessionTimingMetric": "PXhr7W_sessionTimingMetric",
1851
+ "sidebarHost": "PXhr7W_sidebarHost",
1852
+ "statusLine": "PXhr7W_statusLine",
1853
+ "stepBlock": "PXhr7W_stepBlock",
1854
+ "stepChevron": "PXhr7W_stepChevron",
1855
+ "stepDuration": "PXhr7W_stepDuration",
1856
+ "stepHeading": "PXhr7W_stepHeading",
1857
+ "stepSignals": "PXhr7W_stepSignals",
1858
+ "stepTimeline": "PXhr7W_stepTimeline",
1859
+ "stepToggle": "PXhr7W_stepToggle",
1860
+ "summary": "PXhr7W_summary",
1861
+ "tab": "PXhr7W_tab",
1862
+ "tabPanel": "PXhr7W_tabPanel",
1863
+ "tabs": "PXhr7W_tabs",
1864
+ "trigger": "PXhr7W_trigger",
1865
+ "turn": "PXhr7W_turn",
1866
+ "turnBody": "PXhr7W_turnBody",
1867
+ "turnChevron": "PXhr7W_turnChevron",
1868
+ "turnCopy": "PXhr7W_turnCopy",
1869
+ "turnDuration": "PXhr7W_turnDuration",
1870
+ "turnHeader": "PXhr7W_turnHeader",
1871
+ "turnPerformance": "PXhr7W_turnPerformance",
1872
+ "turns": "PXhr7W_turns",
1873
+ "turnSpeed": "PXhr7W_turnSpeed",
1874
+ "turnSummary": "PXhr7W_turnSummary",
1875
+ "turnTitle": "PXhr7W_turnTitle",
1876
+ "turnTitleLine": "PXhr7W_turnTitleLine",
1877
+ "turnToggle": "PXhr7W_turnToggle",
1878
+ "unread": "PXhr7W_unread",
1879
+ "viewControl": "PXhr7W_viewControl",
1880
+ "viewMode": "PXhr7W_viewMode",
1881
+ "viewToolbar": "PXhr7W_viewToolbar",
1882
+ "viewToolbarLabel": "PXhr7W_viewToolbarLabel",
1883
+ "watcher-eye-blink": "PXhr7W_watcher-eye-blink",
1884
+ "watcher-eye-scan": "PXhr7W_watcher-eye-scan",
1885
+ "watcher-inspector-content-in": "PXhr7W_watcher-inspector-content-in",
1886
+ "watcher-inspector-content-out": "PXhr7W_watcher-inspector-content-out",
1887
+ "watcher-inspector-enter": "PXhr7W_watcher-inspector-enter",
1888
+ "watcher-inspector-exit": "PXhr7W_watcher-inspector-exit",
1889
+ "watcher-live-append": "PXhr7W_watcher-live-append",
1890
+ "watcher-panel-enter": "PXhr7W_watcher-panel-enter",
1891
+ "workPicture": "PXhr7W_workPicture"
1865
1892
  };
1866
1893
  //#endregion
1867
1894
  //#region src/insights/presentation.mjs
@@ -1925,7 +1952,7 @@ window.__ModuleLoader__.load({
1925
1952
  const candidate = rawCandidate?.val ?? rawCandidate;
1926
1953
  let value = null, error = null;
1927
1954
  if (row.origin === "subagent") error = "直接子代理暂未纳入;避免重复计算继承前缀";
1928
- else if (candidate?.version === 1 && candidate.sessionId === row.sessionId && candidate.totals && Array.isArray(candidate.models) && Array.isArray(candidate.findings)) value = candidate;
1955
+ else if ((candidate?.version === 2 || candidate?.version === 1) && candidate.sessionId === row.sessionId && candidate.totals && Array.isArray(candidate.models) && Array.isArray(candidate.findings)) value = candidate;
1929
1956
  else error = "尚无 Watcher 统计缓存;在加载插件后运行或打开此会话,再刷新统计";
1930
1957
  return {
1931
1958
  sessionId: row.sessionId,
@@ -3204,7 +3231,7 @@ window.__ModuleLoader__.load({
3204
3231
  }
3205
3232
  //#endregion
3206
3233
  //#region \0dshx-css-module:./src/client/Insights.module.css.mjs
3207
- const css$1 = ".CEmiCq_hudBox{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);width:100%;font-family:var(--dsw-font-family);flex:none}.CEmiCq_hudTop{background:var(--dsw-alias-bg-layer-2);border-bottom:1px solid var(--dsw-alias-border-l2);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.CEmiCq_hudTopLeft{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.CEmiCq_hudHeading{color:var(--dsw-alias-label-secondary);white-space:nowrap;font-size:11px;font-weight:600}.CEmiCq_currentModelTag{background:var(--dsw-alias-interactive-bg-hover);white-space:nowrap;border-radius:4px;flex-shrink:1;align-items:center;gap:5px;min-width:0;max-width:100%;padding:1px 6px;font-size:11px;display:inline-flex}.CEmiCq_modelTagText{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.CEmiCq_effortTag{color:var(--dsw-static-deepseek-450,#5686fe);white-space:nowrap;background:#5686fe1f;border-radius:3px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:600;line-height:14px}.CEmiCq_contextTag{color:var(--dsw-alias-label-secondary,#5f636d);background:var(--dsw-alias-bg-layer-1,#fff);border:1px solid var(--dsw-alias-border-l2,#e2e8f0);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 7px;font-size:11px}.CEmiCq_hudTopRight{flex-shrink:0;align-items:center;gap:10px;display:flex}.CEmiCq_collapseBtn{width:20px;height:20px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.CEmiCq_collapseBtn:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.CEmiCq_collapseChevron{font-size:11px;transition:transform .12s;display:inline-block}.CEmiCq_hudBox[data-collapsed] .CEmiCq_collapseChevron{transform:rotate(-90deg)}.CEmiCq_hudBox[data-collapsed] .CEmiCq_hudTop{border-bottom:none}.CEmiCq_tokenStat{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.CEmiCq_tokenStat strong{color:var(--dsw-alias-label-primary)}.CEmiCq_costStat{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.CEmiCq_costStat strong{color:var(--dsw-alias-label-primary)}.CEmiCq_scopeGroup{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:5px;gap:1px;padding:1px;display:inline-flex}.CEmiCq_scopeBtn{color:var(--dsw-alias-label-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:2px 7px;font-size:11px;line-height:14px;transition:all .12s}.CEmiCq_scopeBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1);font-weight:600}.CEmiCq_modelTabBar{background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l2);gap:4px;padding:6px 14px;display:flex;overflow-x:auto}.CEmiCq_modelTabBtn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;transition:all .12s}.CEmiCq_modelTabBtn[data-active]{background:var(--dsw-static-deepseek-450,#5686fe);color:#fff;border-color:var(--dsw-static-deepseek-450,#5686fe);font-weight:600}.CEmiCq_hudBody{padding:10px 14px}.CEmiCq_alertSection{flex-direction:column;gap:6px;margin-top:8px;display:flex}.CEmiCq_alertCard{border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.CEmiCq_alertCardDanger{background:#e5484d14;border:1px solid #e5484d40}.CEmiCq_alertCardWarn{background:#f59e0b14;border:1px solid #f59e0b40}.CEmiCq_alertLeft{align-items:center;gap:8px;min-width:0;display:flex}.CEmiCq_alertTag{color:#fff;border-radius:3px;flex:none;padding:1px 5px;font-size:10px;font-weight:600}.CEmiCq_tagDanger{background:var(--dsw-alias-state-error-primary,#e5484d)}.CEmiCq_tagWarn{background:#f59e0b}.CEmiCq_alertTexts{flex-direction:column;min-width:0;display:flex}.CEmiCq_alertMainText{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:600}.CEmiCq_alertSubText{color:var(--dsw-alias-label-secondary);font-size:11px}.CEmiCq_alertActionBtn{color:var(--dsw-static-deepseek-450,#5686fe);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:2px 6px;font-size:11px;font-weight:600}.CEmiCq_settingsContainer{width:100%;min-width:0;max-width:100%;color:var(--dsw-alias-label-primary);box-sizing:border-box;flex-direction:column;gap:14px;padding:0 0 24px;display:flex;overflow-x:hidden}.CEmiCq_cockpitHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.CEmiCq_cockpitTitleArea h2{color:var(--dsw-alias-label-primary);letter-spacing:-.3px;margin:0;font-size:17px;font-weight:700}.CEmiCq_cockpitSubTitle{color:var(--dsw-alias-label-tertiary);margin:3px 0 0;font-size:12px}.CEmiCq_headerRightControls{align-items:center;gap:8px;display:flex}.CEmiCq_rangeSwitchGroup{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;padding:2px;display:flex}.CEmiCq_rangeBtn{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .12s}.CEmiCq_rangeBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1)}.CEmiCq_settingsScanBtn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .12s}.CEmiCq_heroStatsRow{border-bottom:1px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.CEmiCq_heroPair{flex-wrap:wrap;align-items:flex-start;gap:40px;min-width:0;display:flex}.CEmiCq_heroMetric{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.CEmiCq_heroCaption{color:var(--dsw-alias-label-secondary);font-size:11px;font-weight:600;line-height:1.2}.CEmiCq_heroValue{letter-spacing:-.5px;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.15}.CEmiCq_heroFootnote{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:1.3}.CEmiCq_heroMetaCol{color:var(--dsw-alias-label-secondary);white-space:nowrap;flex-wrap:nowrap;gap:14px;font-size:12px;display:flex}.CEmiCq_heroMetaCol strong{color:var(--dsw-alias-label-primary)}.CEmiCq_roastGrid{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}@media (width<=440px){.CEmiCq_roastGrid{grid-template-columns:1fr}}.CEmiCq_roastItem{background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);min-height:136px;box-shadow:var(--dsw-shadow-lv1);cursor:pointer;user-select:none;box-sizing:border-box;border-radius:8px;flex-direction:column;justify-content:space-between;padding:12px 14px;transition:all .12s;display:flex}.CEmiCq_roastItem:hover{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-border-l3);transform:translateY(-1px)}.CEmiCq_roastItemActive{background:var(--dsw-alias-bg-layer-2);box-shadow:0 0 0 1px var(--dsw-static-deepseek-450,#5686fe);border-color:var(--dsw-static-deepseek-450,#5686fe)!important}.CEmiCq_roastHead{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.CEmiCq_roastTag{letter-spacing:.3px;font-size:11px;font-weight:700}.CEmiCq_roastCategoryBadge{color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1,#0000000f);border-radius:3px;padding:1px 4px;font-size:9px;line-height:1.2}.CEmiCq_roastTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:18px;overflow:hidden}.CEmiCq_roastDesc{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;line-height:15px;overflow:hidden}.CEmiCq_roastVal{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;font-weight:700;overflow:hidden}.CEmiCq_roastFooter{border-top:1px dashed var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;font-size:10px;line-height:1;display:flex}.CEmiCq_roastFooterLeft{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}.CEmiCq_roastAction{color:var(--dsw-alias-label-secondary);flex-shrink:0;font-weight:600;transition:color .12s}.CEmiCq_roastItem:hover .CEmiCq_roastAction,.CEmiCq_roastItemActive .CEmiCq_roastAction{color:var(--dsw-static-deepseek-450,#5686fe)}.CEmiCq_drilldownPanel{background:var(--dsw-specific-menu);border:1px solid var(--dsw-static-deepseek-450,#5686fe);box-shadow:var(--dsw-shadow-lv2,0 4px 12px #00000014);border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:14px 16px;animation:.15s ease-out CEmiCq_slideDown;display:flex}@keyframes CEmiCq_slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.CEmiCq_drilldownHead{border-bottom:1px solid var(--dsw-alias-border-l2);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding-bottom:8px;display:flex}.CEmiCq_drilldownTitleGroup{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.CEmiCq_drilldownTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.CEmiCq_drilldownSub{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.CEmiCq_drilldownCloseBtn{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px;transition:all .12s}.CEmiCq_drilldownCloseBtn:hover{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l3)}.CEmiCq_drilldownEmpty{text-align:center;color:var(--dsw-alias-label-tertiary);padding:16px;font-size:12px}.CEmiCq_rankList{flex-direction:column;gap:8px;display:flex}.CEmiCq_rankItem{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1,#0000000f);border-radius:6px;flex-direction:column;gap:6px;min-width:0;padding:8px 12px;display:flex}.CEmiCq_rankItemTop{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.CEmiCq_rankItemLeft{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.CEmiCq_rankBadge{color:var(--dsw-alias-label-secondary);background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);font-variant-numeric:tabular-nums;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.2}.CEmiCq_rankBadgeGold{color:#d97706;background:#f59e0b1f;border-color:#f59e0b66}.CEmiCq_rankName{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.CEmiCq_rankValMain{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:700}.CEmiCq_rankTrack{background:var(--dsw-specific-menu);border-radius:3px;width:100%;height:6px;overflow:hidden}.CEmiCq_rankBar{border-radius:3px;height:100%;transition:width .2s}.CEmiCq_rankSubText{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;font-size:10px;line-height:1.2;display:flex;overflow:hidden}.CEmiCq_rankSubText strong{color:var(--dsw-alias-label-primary)}.CEmiCq_toolDrillSection{flex-direction:column;gap:12px;min-width:0;display:flex}.CEmiCq_toolCompoundBox{flex-direction:column;gap:6px;display:flex}.CEmiCq_toolCompoundTrack{background:var(--dsw-alias-bg-layer-2);border-radius:4px;gap:1px;height:10px;display:flex;overflow:hidden}.CEmiCq_toolSliceBash{background:var(--dsw-static-green-500,#10b981);height:100%}.CEmiCq_toolSliceFile{background:#0ea5e9;height:100%}.CEmiCq_toolCompoundLegend{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.CEmiCq_toolCompoundLegend span{align-items:center;gap:6px;display:flex}.CEmiCq_toolCompoundLegend strong{color:var(--dsw-alias-label-primary)}.CEmiCq_toolGridCards{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=600px){.CEmiCq_toolGridCards{grid-template-columns:1fr}}.CEmiCq_toolMiniCard{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}.CEmiCq_toolMiniTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex;overflow:hidden}.CEmiCq_toolMiniNum{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;margin:2px 0;font-size:15px;font-weight:700}.CEmiCq_toolMiniDesc{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}.CEmiCq_toolTopList{border-top:1px dashed var(--dsw-alias-border-l2);flex-direction:column;gap:6px;padding-top:8px;display:flex}.CEmiCq_toolTopListTitle{color:var(--dsw-alias-label-secondary);margin-bottom:2px;font-size:11px;font-weight:600}.CEmiCq_errorDrillSection{flex-direction:column;gap:8px;display:flex}.CEmiCq_errorAllGoodBox{color:var(--dsw-static-green-500,#10b981);text-align:center;background:#10b98114;border:1px solid #10b9814d;border-radius:6px;padding:16px;font-size:12px;font-weight:600}.CEmiCq_errorSessionList{flex-direction:column;gap:6px;display:flex}.CEmiCq_errorSessionRow{background:var(--dsw-alias-bg-layer-2);font-variant-numeric:tabular-nums;border-radius:4px;grid-template-columns:28px 110px 1fr 75px 75px;align-items:center;gap:8px;min-width:0;padding:6px 10px;font-size:11px;display:grid}.CEmiCq_vizSplitGrid{box-sizing:border-box;grid-template-columns:1fr;gap:12px;width:100%;display:grid}.CEmiCq_vizPanel{background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv1);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:10px;width:100%;min-width:0;padding:12px 14px;display:flex;overflow:hidden}.CEmiCq_vizHead{justify-content:space-between;align-items:center;font-size:12px;display:flex}.CEmiCq_vizTitle{color:var(--dsw-alias-label-primary);font-weight:700}.CEmiCq_vizSub{color:var(--dsw-alias-label-secondary);font-size:10px}.CEmiCq_donutWrap{box-sizing:border-box;flex-direction:row;align-items:center;gap:20px;width:100%;display:flex}@media (width<=480px){.CEmiCq_donutWrap{flex-direction:column;align-items:center}}.CEmiCq_donutSvgBox{width:140px;height:140px;position:relative}.CEmiCq_donutSvg{width:100%;height:100%}.CEmiCq_donutCenterText{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:68px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.CEmiCq_donutCenterNum{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800;line-height:1.1}.CEmiCq_donutCenterSub{color:var(--dsw-alias-label-tertiary);white-space:nowrap;margin-top:2px;font-size:10px;font-weight:500;line-height:1}.CEmiCq_donutLegendList{flex-direction:column;flex:1;gap:3px;width:100%;min-width:0;display:flex}.CEmiCq_donutLegendRow{cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;min-width:0;padding:3px 6px;font-size:11px;transition:background .12s;display:flex}.CEmiCq_donutLegendRow:hover,.CEmiCq_donutLegendRowActive{background:var(--dsw-alias-bg-layer-2)}.CEmiCq_dlLeft{flex:1;align-items:center;gap:6px;min-width:0;margin-right:8px;display:flex}.CEmiCq_dlDot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.CEmiCq_dlName{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-primary);min-width:0;overflow:hidden}.CEmiCq_dlRight{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);white-space:nowrap;flex-shrink:0;font-weight:600}.CEmiCq_donutInspectBar{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;align-items:center;gap:8px;min-width:0;margin-top:2px;padding:6px 10px;font-size:11px;display:flex}.CEmiCq_donutInspectName{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.CEmiCq_donutInspectTag{color:var(--dsw-static-deepseek-450,#5686fe);background:#5686fe1f;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600;line-height:1.2}.CEmiCq_donutInspectVal{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}.CEmiCq_dayStack{align-items:stretch;gap:3px;min-width:0;height:160px;display:flex}.CEmiCq_dayStackWeek{justify-content:center;gap:12px}.CEmiCq_dayStackWeek .CEmiCq_dayCol{max-width:48px}.CEmiCq_dayCol{flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;min-width:0;display:flex}.CEmiCq_dayColFill{background:var(--dsw-alias-bg-layer-2);border-radius:4px;flex-direction:column-reverse;flex:1;justify-content:flex-start;min-height:0;transition:filter .12s;display:flex;overflow:hidden}.CEmiCq_dayColFill:hover{filter:brightness(1.1)}.CEmiCq_daySeg{flex:none;width:100%;min-height:0}.CEmiCq_dayEmptyDot{background:var(--dsw-alias-border-l2);border-radius:2px;width:100%;height:3px;margin-top:auto}.CEmiCq_dayLabel{color:var(--dsw-alias-label-tertiary);text-align:center;white-space:nowrap;font-size:10px;line-height:1;overflow:hidden}.CEmiCq_chartAreaBox{width:100%;height:180px;position:relative}.CEmiCq_chartSvg{width:100%;height:100%;overflow:visible}.CEmiCq_chartAxisLabel{fill:var(--dsw-alias-label-tertiary);font-size:9px}.CEmiCq_chartGridLine{stroke:var(--dsw-alias-border-l2);stroke-dasharray:2 3}.CEmiCq_chartFoot{color:var(--dsw-alias-label-tertiary);border-top:1px solid var(--dsw-alias-border-l2);padding-top:6px;font-size:10px}.CEmiCq_tableTitleGroup{flex-direction:column;gap:2px;min-width:0;display:flex}.CEmiCq_tableSortGroup{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex-shrink:0;gap:2px;padding:2px;display:flex}.CEmiCq_sortBtn{color:var(--dsw-alias-label-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:2px 7px;font-size:10px;line-height:16px;transition:all .12s}.CEmiCq_sortBtn:hover{color:var(--dsw-alias-label-primary)}.CEmiCq_sortBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1);font-weight:600}.CEmiCq_sessionTableBox{box-sizing:border-box;flex-direction:column;gap:4px;width:100%;display:flex}.CEmiCq_sessionTableHeader{color:var(--dsw-alias-label-tertiary);border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);box-sizing:border-box;border-radius:6px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.7fr) 14px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:600;display:grid}.CEmiCq_sessionItemRow{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:6px;transition:border-color .12s;overflow:hidden}.CEmiCq_sessionItemRow:hover{border-color:var(--dsw-alias-border-l3)}.CEmiCq_tableRankNum{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;margin-right:4px;font-size:10px}.CEmiCq_sessionItemHead{width:100%;color:inherit;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;box-sizing:border-box;background:0 0;border:0;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.7fr) 14px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:grid}.CEmiCq_sessionTokenCell{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}.CEmiCq_sessionTokenBar{background:var(--dsw-static-deepseek-450,#5686fe);border-radius:1px;max-width:100%;height:2px}.CEmiCq_sessionModelCell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.CEmiCq_statusOk{color:var(--dsw-static-green-500,#10b981)}.CEmiCq_statusWarn{color:#b45309}.CEmiCq_statusBad{color:var(--dsw-alias-state-error-primary,#ef4444);font-weight:600}.CEmiCq_sessionIdTag{color:var(--dsw-alias-label-primary);font-family:ui-monospace,monospace;font-size:11px;font-weight:600}.CEmiCq_arrowIcon{color:var(--dsw-alias-label-tertiary);transition:transform .12s}.CEmiCq_sessionItemOpen .CEmiCq_arrowIcon{transform:rotate(90deg)}.CEmiCq_sessionItemDrawer{background:var(--dsw-specific-menu);border-top:1px dashed var(--dsw-alias-border-l2);padding:10px 12px;font-size:11px}.CEmiCq_drawerTitle{color:var(--dsw-alias-label-primary);margin-bottom:6px;font-weight:600}.CEmiCq_drawerBarTrack{background:var(--dsw-alias-bg-layer-2);border-radius:4px;gap:1px;height:8px;margin-bottom:6px;display:flex;overflow:hidden}.CEmiCq_drawerSliceModel{background:var(--dsw-static-deepseek-450,#5686fe);height:100%}.CEmiCq_drawerSliceTool{background:var(--dsw-static-green-500,#10b981);height:100%}.CEmiCq_drawerMetaRow{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:10px;display:flex}.CEmiCq_settingsDrawer{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);background:var(--dsw-specific-menu);border-radius:8px;padding:8px 12px;font-size:11px}.CEmiCq_settingsSummary{cursor:pointer;color:var(--dsw-alias-label-secondary);font-weight:500}.CEmiCq_settingsDrawerContent{flex-wrap:wrap;align-items:center;gap:14px;padding-top:10px;display:flex}.CEmiCq_priceOverrideHelp,.CEmiCq_priceOverridePath{width:100%;color:var(--dsw-alias-label-secondary);margin:0;font-size:11px;line-height:1.45}.CEmiCq_priceOverrideInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;min-height:120px;color:var(--dsw-alias-label-primary);resize:vertical;border-radius:6px;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.CEmiCq_priceOverrideError{width:100%;color:var(--dsw-alias-state-error-primary,#e5484d);margin:0;font-size:11px}.CEmiCq_priceOverrideActions{align-items:center;gap:8px;display:flex}.CEmiCq_settingsResetBtn{color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-size:11px}.CEmiCq_settingInlineItem{align-items:center;gap:6px;display:flex}.CEmiCq_settingsMiniInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:50px;color:var(--dsw-alias-label-primary);text-align:right;border-radius:4px;outline:none;padding:3px 6px;font-size:11px}.CEmiCq_settingsMiniSaveBtn{background:var(--dsw-static-deepseek-450,#5686fe);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:3px 10px;font-size:11px}.CEmiCq_emptyScan{text-align:center;color:var(--dsw-alias-label-tertiary);padding:20px;font-size:12px}.CEmiCq_chartLegend{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:5px 8px;display:flex}.CEmiCq_chartLegendItem{color:var(--dsw-alias-label-secondary);align-items:center;gap:5px;min-width:0;font-size:11px;display:flex}.CEmiCq_chartLegendDot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.CEmiCq_chartLegendName{text-overflow:ellipsis;white-space:nowrap;max-width:130px;color:var(--dsw-alias-label-primary);font-weight:500;overflow:hidden}.CEmiCq_chartLegendVal{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);font-size:10px;font-weight:600}.CEmiCq_chartInteractiveWrap{width:100%;position:relative}.CEmiCq_dayBarTopLabel{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;min-height:14px;font-size:9px;font-weight:600;line-height:14px;overflow:hidden}.CEmiCq_dayColFillActive{box-shadow:0 0 0 2px var(--dsw-static-deepseek-450,#5686fe);filter:brightness(1.2)!important}.CEmiCq_dayLabelToday{font-weight:700;color:var(--dsw-static-deepseek-450,#5686fe)!important}.CEmiCq_chartTooltipBox{z-index:50;pointer-events:none;background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l1);backdrop-filter:blur(8px);border-radius:8px;min-width:150px;max-width:260px;padding:8px 10px;transition:opacity .12s,transform .12s;position:absolute;box-shadow:0 6px 20px #00000047}.CEmiCq_chartTooltipBox.CEmiCq_chartTooltipPortal{z-index:1200;visibility:hidden;position:fixed;top:0;left:0}.CEmiCq_chartTooltipDate{color:var(--dsw-alias-label-primary);justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;font-weight:700;display:flex}.CEmiCq_chartTooltipDateBadge{color:var(--dsw-static-deepseek-450,#5686fe);background:#5686fe26;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600}.CEmiCq_chartTooltipTotal{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;margin-bottom:4px;font-size:13px;font-weight:800;display:flex}.CEmiCq_chartTooltipSessions{color:var(--dsw-alias-label-tertiary);font-size:10px;font-weight:500}.CEmiCq_chartTooltipDivider{background:var(--dsw-alias-border-l2);height:1px;margin:5px 0}.CEmiCq_chartTooltipModelList{flex-direction:column;gap:3px;display:flex}.CEmiCq_chartTooltipModelRow{justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}.CEmiCq_chartTooltipModelLeft{flex:1;align-items:center;gap:5px;min-width:0;display:flex}.CEmiCq_chartTooltipModelDot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.CEmiCq_chartTooltipModelName{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-secondary);overflow:hidden}.CEmiCq_chartTooltipModelRight{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);white-space:nowrap;flex-shrink:0;font-weight:600}.CEmiCq_lineChartWrap{user-select:none;width:100%;min-width:0;height:170px;position:relative}.CEmiCq_lineChartSvg{width:100%;height:100%;display:block;overflow:visible}.CEmiCq_lineGrid{stroke:var(--dsw-alias-border-l2);stroke-dasharray:2 3}.CEmiCq_lineAxisText{fill:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:9px}.CEmiCq_lineCursor{stroke:var(--dsw-static-deepseek-450,#5686fe);stroke-dasharray:3 3;stroke-width:1.5px;pointer-events:none}.CEmiCq_lineActiveOuter{fill:#5686fe40;pointer-events:none;animation:1.5s ease-in-out infinite CEmiCq_linePulse}@keyframes CEmiCq_linePulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.CEmiCq_lineActiveInner{fill:var(--dsw-static-deepseek-450,#5686fe);stroke:#fff;stroke-width:1.5px;pointer-events:none}.CEmiCq_viewSwitchGroup{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:5px;gap:2px;padding:2px;display:flex}.CEmiCq_viewSwitchBtn{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:600;transition:all .12s}.CEmiCq_viewSwitchBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1)}.CEmiCq_heatmapPanel{background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv1);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:10px;width:100%;min-width:0;margin-top:12px;padding:14px 16px;display:flex}.CEmiCq_heatmapHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.CEmiCq_heatmapTitleGroup{flex-direction:column;gap:2px;display:flex}.CEmiCq_heatmapTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:700}.CEmiCq_heatmapSub{color:var(--dsw-alias-label-secondary);font-size:11px}.CEmiCq_heatmapStatsRow{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.CEmiCq_heatmapStatsRow strong{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:700}.CEmiCq_heatmapScrollArea{box-sizing:border-box;width:100%;padding:8px 4px 14px;overflow:auto visible}.CEmiCq_heatmapContainer{flex-direction:column;gap:6px;width:max-content;display:flex;position:relative}.CEmiCq_heatmapMonthsRow{height:16px;margin-left:32px;display:block;position:relative}.CEmiCq_heatmapMonthLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:10px;font-weight:600;position:absolute}.CEmiCq_heatmapGrid{gap:8px;display:flex}.CEmiCq_heatmapWeekdaysCol{width:24px;height:109px;color:var(--dsw-alias-label-tertiary);user-select:none;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:0;font-size:9px;display:flex}.CEmiCq_heatmapWeeksRow{gap:3px;display:flex}.CEmiCq_heatmapWeekCol{flex-direction:column;gap:3px;display:flex}.CEmiCq_heatmapCell{box-sizing:border-box;cursor:pointer;border-radius:2px;width:13px;height:13px;transition:outline .1s,box-shadow .1s,filter .1s;position:relative}.CEmiCq_heatmapCellToday{outline-offset:1px;z-index:5;outline:1.5px solid var(--dsw-static-deepseek-450,#5686fe)!important}.CEmiCq_heatmapCell[data-level=\"0\"]{background:var(--dsw-alias-bg-layer-2,#ffffff09);border:1px solid var(--dsw-alias-border-l2,#ffffff14)}.CEmiCq_heatmapCell[data-level=\"1\"]{background:#5686fe38;border:1px solid #5686fe59}.CEmiCq_heatmapCell[data-level=\"2\"]{background:#5686fe73;border:1px solid #5686fe99}.CEmiCq_heatmapCell[data-level=\"3\"]{background:#5686feb8;border:1px solid #5686fee0;box-shadow:0 0 6px #5686fe40}.CEmiCq_heatmapCell[data-level=\"4\"]{background:var(--dsw-static-deepseek-450,#5686fe);border:1px solid #9bb8ff;box-shadow:0 0 10px #5686fe8c}.CEmiCq_heatmapCell[data-future=true]{opacity:.28;cursor:default;background:0 0!important;border:1px dashed #ffffff26!important}.CEmiCq_heatmapCell:hover:not([data-future=true]),.CEmiCq_heatmapCellActive{outline-offset:1px;filter:brightness(1.25);z-index:10;transform:none;outline:2px solid #fff!important;box-shadow:0 0 12px #5686fed9!important}.CEmiCq_heatmapLiveHud{color:var(--dsw-alias-label-primary);background:#5686fe1f;border:1px solid #5686fe47;border-radius:6px;align-items:center;gap:8px;padding:3px 8px;font-size:11px;display:flex}.CEmiCq_heatmapLiveDate{color:var(--dsw-static-deepseek-450,#5686fe);font-weight:700}.CEmiCq_heatmapLiveTokens{font-variant-numeric:tabular-nums;font-weight:700}.CEmiCq_heatmapLiveModel{color:var(--dsw-alias-label-secondary);font-size:10px}.CEmiCq_heatmapFoot{color:var(--dsw-alias-label-tertiary);border-top:1px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:8px;font-size:10px;display:flex}.CEmiCq_heatmapLegend{color:var(--dsw-alias-label-tertiary);align-items:center;gap:4px;font-size:10px;display:flex}.CEmiCq_heatmapLegendCell{border-radius:2px;width:10px;height:10px}";
3234
+ const css$1 = "._8ePy_W_hudBox{box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);width:100%;font-family:var(--dsw-font-family);flex:none}._8ePy_W_hudTop{background:var(--dsw-alias-bg-layer-2);border-bottom:1px solid var(--dsw-alias-border-l2);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}._8ePy_W_hudTopLeft{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}._8ePy_W_hudHeading{color:var(--dsw-alias-label-secondary);white-space:nowrap;font-size:11px;font-weight:600}._8ePy_W_currentModelTag{background:var(--dsw-alias-interactive-bg-hover);white-space:nowrap;border-radius:4px;flex-shrink:1;align-items:center;gap:5px;min-width:0;max-width:100%;padding:1px 6px;font-size:11px;display:inline-flex}._8ePy_W_modelTagText{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}._8ePy_W_effortTag{color:var(--dsw-static-deepseek-450,#5686fe);white-space:nowrap;background:#5686fe1f;border-radius:3px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:600;line-height:14px}._8ePy_W_contextTag{color:var(--dsw-alias-label-secondary,#5f636d);background:var(--dsw-alias-bg-layer-1,#fff);border:1px solid var(--dsw-alias-border-l2,#e2e8f0);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 7px;font-size:11px}._8ePy_W_hudTopRight{flex-shrink:0;align-items:center;gap:10px;display:flex}._8ePy_W_collapseBtn{width:20px;height:20px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}._8ePy_W_collapseBtn:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}._8ePy_W_collapseChevron{font-size:11px;transition:transform .12s;display:inline-block}._8ePy_W_hudBox[data-collapsed] ._8ePy_W_collapseChevron{transform:rotate(-90deg)}._8ePy_W_hudBox[data-collapsed] ._8ePy_W_hudTop{border-bottom:none}._8ePy_W_tokenStat{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}._8ePy_W_tokenStat strong{color:var(--dsw-alias-label-primary)}._8ePy_W_costStat{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}._8ePy_W_costStat strong{color:var(--dsw-alias-label-primary)}._8ePy_W_scopeGroup{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);border-radius:5px;gap:1px;padding:1px;display:inline-flex}._8ePy_W_scopeBtn{color:var(--dsw-alias-label-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:3px;padding:2px 7px;font-size:11px;line-height:14px;transition:all .12s}._8ePy_W_scopeBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1);font-weight:600}._8ePy_W_modelTabBar{background:var(--dsw-alias-bg-layer-1);border-bottom:1px solid var(--dsw-alias-border-l2);gap:4px;padding:6px 14px;display:flex;overflow-x:auto}._8ePy_W_modelTabBtn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-specific-menu);color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:11px;transition:all .12s}._8ePy_W_modelTabBtn[data-active]{background:var(--dsw-static-deepseek-450,#5686fe);color:#fff;border-color:var(--dsw-static-deepseek-450,#5686fe);font-weight:600}._8ePy_W_hudBody{padding:10px 14px}._8ePy_W_alertSection{flex-direction:column;gap:6px;margin-top:8px;display:flex}._8ePy_W_alertCard{border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}._8ePy_W_alertCardDanger{background:#e5484d14;border:1px solid #e5484d40}._8ePy_W_alertCardWarn{background:#f59e0b14;border:1px solid #f59e0b40}._8ePy_W_alertLeft{align-items:center;gap:8px;min-width:0;display:flex}._8ePy_W_alertTag{color:#fff;border-radius:3px;flex:none;padding:1px 5px;font-size:10px;font-weight:600}._8ePy_W_tagDanger{background:var(--dsw-alias-state-error-primary,#e5484d)}._8ePy_W_tagWarn{background:#f59e0b}._8ePy_W_alertTexts{flex-direction:column;min-width:0;display:flex}._8ePy_W_alertMainText{color:var(--dsw-alias-label-primary);font-size:12px;font-weight:600}._8ePy_W_alertSubText{color:var(--dsw-alias-label-secondary);font-size:11px}._8ePy_W_alertActionBtn{color:var(--dsw-static-deepseek-450,#5686fe);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:2px 6px;font-size:11px;font-weight:600}._8ePy_W_settingsContainer{width:100%;min-width:0;max-width:100%;color:var(--dsw-alias-label-primary);box-sizing:border-box;flex-direction:column;gap:14px;padding:0 0 24px;display:flex;overflow-x:hidden}._8ePy_W_cockpitHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}._8ePy_W_cockpitTitleArea h2{color:var(--dsw-alias-label-primary);letter-spacing:-.3px;margin:0;font-size:17px;font-weight:700}._8ePy_W_cockpitSubTitle{color:var(--dsw-alias-label-tertiary);margin:3px 0 0;font-size:12px}._8ePy_W_headerRightControls{align-items:center;gap:8px;display:flex}._8ePy_W_rangeSwitchGroup{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;padding:2px;display:flex}._8ePy_W_rangeBtn{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .12s}._8ePy_W_rangeBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1)}._8ePy_W_settingsScanBtn{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .12s}._8ePy_W_heroStatsRow{border-bottom:1px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;display:flex}._8ePy_W_heroPair{flex-wrap:wrap;align-items:flex-start;gap:40px;min-width:0;display:flex}._8ePy_W_heroMetric{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}._8ePy_W_heroCaption{color:var(--dsw-alias-label-secondary);font-size:11px;font-weight:600;line-height:1.2}._8ePy_W_heroValue{letter-spacing:-.5px;color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.15}._8ePy_W_heroFootnote{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:1.3}._8ePy_W_heroMetaCol{color:var(--dsw-alias-label-secondary);white-space:nowrap;flex-wrap:nowrap;gap:14px;font-size:12px;display:flex}._8ePy_W_heroMetaCol strong{color:var(--dsw-alias-label-primary)}._8ePy_W_roastGrid{box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}@media (width<=440px){._8ePy_W_roastGrid{grid-template-columns:1fr}}._8ePy_W_roastItem{background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);min-height:136px;box-shadow:var(--dsw-shadow-lv1);cursor:pointer;user-select:none;box-sizing:border-box;border-radius:8px;flex-direction:column;justify-content:space-between;padding:12px 14px;transition:all .12s;display:flex}._8ePy_W_roastItem:hover{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-border-l3);transform:translateY(-1px)}._8ePy_W_roastItemActive{background:var(--dsw-alias-bg-layer-2);box-shadow:0 0 0 1px var(--dsw-static-deepseek-450,#5686fe);border-color:var(--dsw-static-deepseek-450,#5686fe)!important}._8ePy_W_roastHead{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}._8ePy_W_roastTag{letter-spacing:.3px;font-size:11px;font-weight:700}._8ePy_W_roastCategoryBadge{color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1,#0000000f);border-radius:3px;padding:1px 4px;font-size:9px;line-height:1.2}._8ePy_W_roastTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;line-height:18px;overflow:hidden}._8ePy_W_roastDesc{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;line-height:15px;overflow:hidden}._8ePy_W_roastVal{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;font-weight:700;overflow:hidden}._8ePy_W_roastFooter{border-top:1px dashed var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);justify-content:space-between;align-items:center;margin-top:10px;padding-top:8px;font-size:10px;line-height:1;display:flex}._8ePy_W_roastFooterLeft{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}._8ePy_W_roastAction{color:var(--dsw-alias-label-secondary);flex-shrink:0;font-weight:600;transition:color .12s}._8ePy_W_roastItem:hover ._8ePy_W_roastAction,._8ePy_W_roastItemActive ._8ePy_W_roastAction{color:var(--dsw-static-deepseek-450,#5686fe)}._8ePy_W_drilldownPanel{background:var(--dsw-specific-menu);border:1px solid var(--dsw-static-deepseek-450,#5686fe);box-shadow:var(--dsw-shadow-lv2,0 4px 12px #00000014);border-radius:10px;flex-direction:column;gap:12px;min-width:0;padding:14px 16px;animation:.15s ease-out _8ePy_W_slideDown;display:flex}@keyframes _8ePy_W_slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}._8ePy_W_drilldownHead{border-bottom:1px solid var(--dsw-alias-border-l2);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding-bottom:8px;display:flex}._8ePy_W_drilldownTitleGroup{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._8ePy_W_drilldownTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}._8ePy_W_drilldownSub{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}._8ePy_W_drilldownCloseBtn{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;padding:3px 8px;font-size:11px;transition:all .12s}._8ePy_W_drilldownCloseBtn:hover{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);border-color:var(--dsw-alias-border-l3)}._8ePy_W_drilldownEmpty{text-align:center;color:var(--dsw-alias-label-tertiary);padding:16px;font-size:12px}._8ePy_W_rankList{flex-direction:column;gap:8px;display:flex}._8ePy_W_rankItem{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1,#0000000f);border-radius:6px;flex-direction:column;gap:6px;min-width:0;padding:8px 12px;display:flex}._8ePy_W_rankItemTop{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}._8ePy_W_rankItemLeft{flex:1;align-items:center;gap:8px;min-width:0;display:flex}._8ePy_W_rankBadge{color:var(--dsw-alias-label-secondary);background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);font-variant-numeric:tabular-nums;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:700;line-height:1.2}._8ePy_W_rankBadgeGold{color:#d97706;background:#f59e0b1f;border-color:#f59e0b66}._8ePy_W_rankName{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}._8ePy_W_rankValMain{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:700}._8ePy_W_rankTrack{background:var(--dsw-specific-menu);border-radius:3px;width:100%;height:6px;overflow:hidden}._8ePy_W_rankBar{border-radius:3px;height:100%;transition:width .2s}._8ePy_W_rankSubText{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;font-size:10px;line-height:1.2;display:flex;overflow:hidden}._8ePy_W_rankSubText strong{color:var(--dsw-alias-label-primary)}._8ePy_W_toolDrillSection{flex-direction:column;gap:12px;min-width:0;display:flex}._8ePy_W_toolCompoundBox{flex-direction:column;gap:6px;display:flex}._8ePy_W_toolCompoundTrack{background:var(--dsw-alias-bg-layer-2);border-radius:4px;gap:1px;height:10px;display:flex;overflow:hidden}._8ePy_W_toolSliceBash{background:var(--dsw-static-green-500,#10b981);height:100%}._8ePy_W_toolSliceFile{background:#0ea5e9;height:100%}._8ePy_W_toolCompoundLegend{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:16px;font-size:11px;display:flex}._8ePy_W_toolCompoundLegend span{align-items:center;gap:6px;display:flex}._8ePy_W_toolCompoundLegend strong{color:var(--dsw-alias-label-primary)}._8ePy_W_toolGridCards{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (width<=600px){._8ePy_W_toolGridCards{grid-template-columns:1fr}}._8ePy_W_toolMiniCard{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;display:flex}._8ePy_W_toolMiniTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex;overflow:hidden}._8ePy_W_toolMiniNum{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;margin:2px 0;font-size:15px;font-weight:700}._8ePy_W_toolMiniDesc{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:14px}._8ePy_W_toolTopList{border-top:1px dashed var(--dsw-alias-border-l2);flex-direction:column;gap:6px;padding-top:8px;display:flex}._8ePy_W_toolTopListTitle{color:var(--dsw-alias-label-secondary);margin-bottom:2px;font-size:11px;font-weight:600}._8ePy_W_errorDrillSection{flex-direction:column;gap:8px;display:flex}._8ePy_W_errorAllGoodBox{color:var(--dsw-static-green-500,#10b981);text-align:center;background:#10b98114;border:1px solid #10b9814d;border-radius:6px;padding:16px;font-size:12px;font-weight:600}._8ePy_W_errorSessionList{flex-direction:column;gap:6px;display:flex}._8ePy_W_errorSessionRow{background:var(--dsw-alias-bg-layer-2);font-variant-numeric:tabular-nums;border-radius:4px;grid-template-columns:28px 110px 1fr 75px 75px;align-items:center;gap:8px;min-width:0;padding:6px 10px;font-size:11px;display:grid}._8ePy_W_vizSplitGrid{box-sizing:border-box;grid-template-columns:1fr;gap:12px;width:100%;display:grid}._8ePy_W_vizPanel{background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv1);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:10px;width:100%;min-width:0;padding:12px 14px;display:flex;overflow:hidden}._8ePy_W_vizHead{justify-content:space-between;align-items:center;font-size:12px;display:flex}._8ePy_W_vizTitle{color:var(--dsw-alias-label-primary);font-weight:700}._8ePy_W_vizSub{color:var(--dsw-alias-label-secondary);font-size:10px}._8ePy_W_donutWrap{box-sizing:border-box;flex-direction:row;align-items:center;gap:20px;width:100%;display:flex}@media (width<=480px){._8ePy_W_donutWrap{flex-direction:column;align-items:center}}._8ePy_W_donutSvgBox{width:140px;height:140px;position:relative}._8ePy_W_donutSvg{width:100%;height:100%}._8ePy_W_donutCenterText{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;width:68px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}._8ePy_W_donutCenterNum{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-size:17px;font-weight:800;line-height:1.1}._8ePy_W_donutCenterSub{color:var(--dsw-alias-label-tertiary);white-space:nowrap;margin-top:2px;font-size:10px;font-weight:500;line-height:1}._8ePy_W_donutLegendList{flex-direction:column;flex:1;gap:3px;width:100%;min-width:0;display:flex}._8ePy_W_donutLegendRow{cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;min-width:0;padding:3px 6px;font-size:11px;transition:background .12s;display:flex}._8ePy_W_donutLegendRow:hover,._8ePy_W_donutLegendRowActive{background:var(--dsw-alias-bg-layer-2)}._8ePy_W_dlLeft{flex:1;align-items:center;gap:6px;min-width:0;margin-right:8px;display:flex}._8ePy_W_dlDot{border-radius:2px;flex-shrink:0;width:8px;height:8px}._8ePy_W_dlName{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-primary);min-width:0;overflow:hidden}._8ePy_W_dlRight{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);white-space:nowrap;flex-shrink:0;font-weight:600}._8ePy_W_donutInspectBar{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;align-items:center;gap:8px;min-width:0;margin-top:2px;padding:6px 10px;font-size:11px;display:flex}._8ePy_W_donutInspectName{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}._8ePy_W_donutInspectTag{color:var(--dsw-static-deepseek-450,#5686fe);background:#5686fe1f;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600;line-height:1.2}._8ePy_W_donutInspectVal{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}._8ePy_W_dayStack{align-items:stretch;gap:3px;min-width:0;height:160px;display:flex}._8ePy_W_dayStackWeek{justify-content:center;gap:12px}._8ePy_W_dayStackWeek ._8ePy_W_dayCol{max-width:48px}._8ePy_W_dayCol{flex-direction:column;flex:1 1 0;align-items:stretch;gap:4px;min-width:0;display:flex}._8ePy_W_dayColFill{background:var(--dsw-alias-bg-layer-2);border-radius:4px;flex-direction:column-reverse;flex:1;justify-content:flex-start;min-height:0;transition:filter .12s;display:flex;overflow:hidden}._8ePy_W_dayColFill:hover{filter:brightness(1.1)}._8ePy_W_daySeg{flex:none;width:100%;min-height:0}._8ePy_W_dayEmptyDot{background:var(--dsw-alias-border-l2);border-radius:2px;width:100%;height:3px;margin-top:auto}._8ePy_W_dayLabel{color:var(--dsw-alias-label-tertiary);text-align:center;white-space:nowrap;font-size:10px;line-height:1;overflow:hidden}._8ePy_W_chartAreaBox{width:100%;height:180px;position:relative}._8ePy_W_chartSvg{width:100%;height:100%;overflow:visible}._8ePy_W_chartAxisLabel{fill:var(--dsw-alias-label-tertiary);font-size:9px}._8ePy_W_chartGridLine{stroke:var(--dsw-alias-border-l2);stroke-dasharray:2 3}._8ePy_W_chartFoot{color:var(--dsw-alias-label-tertiary);border-top:1px solid var(--dsw-alias-border-l2);padding-top:6px;font-size:10px}._8ePy_W_tableTitleGroup{flex-direction:column;gap:2px;min-width:0;display:flex}._8ePy_W_tableSortGroup{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex-shrink:0;gap:2px;padding:2px;display:flex}._8ePy_W_sortBtn{color:var(--dsw-alias-label-tertiary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:2px 7px;font-size:10px;line-height:16px;transition:all .12s}._8ePy_W_sortBtn:hover{color:var(--dsw-alias-label-primary)}._8ePy_W_sortBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1);font-weight:600}._8ePy_W_sessionTableBox{box-sizing:border-box;flex-direction:column;gap:4px;width:100%;display:flex}._8ePy_W_sessionTableHeader{color:var(--dsw-alias-label-tertiary);border-bottom:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);box-sizing:border-box;border-radius:6px;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.7fr) 14px;align-items:center;gap:6px;padding:6px 10px;font-size:10px;font-weight:600;display:grid}._8ePy_W_sessionItemRow{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-2);border-radius:6px;transition:border-color .12s;overflow:hidden}._8ePy_W_sessionItemRow:hover{border-color:var(--dsw-alias-border-l3)}._8ePy_W_tableRankNum{color:var(--dsw-alias-label-secondary);font-variant-numeric:tabular-nums;margin-right:4px;font-size:10px}._8ePy_W_sessionItemHead{width:100%;color:inherit;text-align:left;cursor:pointer;font-variant-numeric:tabular-nums;box-sizing:border-box;background:0 0;border:0;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr) minmax(0,.7fr) minmax(0,.7fr) 14px;align-items:center;gap:6px;padding:8px 10px;font-size:11px;display:grid}._8ePy_W_sessionTokenCell{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:flex}._8ePy_W_sessionTokenBar{background:var(--dsw-static-deepseek-450,#5686fe);border-radius:1px;max-width:100%;height:2px}._8ePy_W_sessionModelCell{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}._8ePy_W_statusOk{color:var(--dsw-static-green-500,#10b981)}._8ePy_W_statusWarn{color:#b45309}._8ePy_W_statusBad{color:var(--dsw-alias-state-error-primary,#ef4444);font-weight:600}._8ePy_W_sessionIdTag{color:var(--dsw-alias-label-primary);font-family:ui-monospace,monospace;font-size:11px;font-weight:600}._8ePy_W_arrowIcon{color:var(--dsw-alias-label-tertiary);transition:transform .12s}._8ePy_W_sessionItemOpen ._8ePy_W_arrowIcon{transform:rotate(90deg)}._8ePy_W_sessionItemDrawer{background:var(--dsw-specific-menu);border-top:1px dashed var(--dsw-alias-border-l2);padding:10px 12px;font-size:11px}._8ePy_W_drawerTitle{color:var(--dsw-alias-label-primary);margin-bottom:6px;font-weight:600}._8ePy_W_drawerBarTrack{background:var(--dsw-alias-bg-layer-2);border-radius:4px;gap:1px;height:8px;margin-bottom:6px;display:flex;overflow:hidden}._8ePy_W_drawerSliceModel{background:var(--dsw-static-deepseek-450,#5686fe);height:100%}._8ePy_W_drawerSliceTool{background:var(--dsw-static-green-500,#10b981);height:100%}._8ePy_W_drawerMetaRow{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:10px;display:flex}._8ePy_W_settingsDrawer{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-tertiary);background:var(--dsw-specific-menu);border-radius:8px;padding:8px 12px;font-size:11px}._8ePy_W_settingsSummary{cursor:pointer;color:var(--dsw-alias-label-secondary);font-weight:500}._8ePy_W_settingsDrawerContent{flex-wrap:wrap;align-items:center;gap:14px;padding-top:10px;display:flex}._8ePy_W_priceOverrideHelp,._8ePy_W_priceOverridePath{width:100%;color:var(--dsw-alias-label-secondary);margin:0;font-size:11px;line-height:1.45}._8ePy_W_priceOverrideInput{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:100%;min-height:120px;color:var(--dsw-alias-label-primary);resize:vertical;border-radius:6px;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}._8ePy_W_priceOverrideError{width:100%;color:var(--dsw-alias-state-error-primary,#e5484d);margin:0;font-size:11px}._8ePy_W_priceOverrideActions{align-items:center;gap:8px;display:flex}._8ePy_W_settingsResetBtn{color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-size:11px}._8ePy_W_settingInlineItem{align-items:center;gap:6px;display:flex}._8ePy_W_settingsMiniInput{border:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);width:50px;color:var(--dsw-alias-label-primary);text-align:right;border-radius:4px;outline:none;padding:3px 6px;font-size:11px}._8ePy_W_settingsMiniSaveBtn{background:var(--dsw-static-deepseek-450,#5686fe);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:3px 10px;font-size:11px}._8ePy_W_emptyScan{text-align:center;color:var(--dsw-alias-label-tertiary);padding:20px;font-size:12px}._8ePy_W_chartLegend{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:6px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:5px 8px;display:flex}._8ePy_W_chartLegendItem{color:var(--dsw-alias-label-secondary);align-items:center;gap:5px;min-width:0;font-size:11px;display:flex}._8ePy_W_chartLegendDot{border-radius:50%;flex-shrink:0;width:7px;height:7px}._8ePy_W_chartLegendName{text-overflow:ellipsis;white-space:nowrap;max-width:130px;color:var(--dsw-alias-label-primary);font-weight:500;overflow:hidden}._8ePy_W_chartLegendVal{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);font-size:10px;font-weight:600}._8ePy_W_chartInteractiveWrap{width:100%;position:relative}._8ePy_W_dayBarTopLabel{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);text-align:center;white-space:nowrap;text-overflow:ellipsis;min-height:14px;font-size:9px;font-weight:600;line-height:14px;overflow:hidden}._8ePy_W_dayColFillActive{box-shadow:0 0 0 2px var(--dsw-static-deepseek-450,#5686fe);filter:brightness(1.2)!important}._8ePy_W_dayLabelToday{font-weight:700;color:var(--dsw-static-deepseek-450,#5686fe)!important}._8ePy_W_chartTooltipBox{z-index:50;pointer-events:none;background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l1);backdrop-filter:blur(8px);border-radius:8px;min-width:150px;max-width:260px;padding:8px 10px;transition:opacity .12s,transform .12s;position:absolute;box-shadow:0 6px 20px #00000047}._8ePy_W_chartTooltipBox._8ePy_W_chartTooltipPortal{z-index:1200;visibility:hidden;position:fixed;top:0;left:0}._8ePy_W_chartTooltipDate{color:var(--dsw-alias-label-primary);justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;font-weight:700;display:flex}._8ePy_W_chartTooltipDateBadge{color:var(--dsw-static-deepseek-450,#5686fe);background:#5686fe26;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:600}._8ePy_W_chartTooltipTotal{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;margin-bottom:4px;font-size:13px;font-weight:800;display:flex}._8ePy_W_chartTooltipSessions{color:var(--dsw-alias-label-tertiary);font-size:10px;font-weight:500}._8ePy_W_chartTooltipDivider{background:var(--dsw-alias-border-l2);height:1px;margin:5px 0}._8ePy_W_chartTooltipModelList{flex-direction:column;gap:3px;display:flex}._8ePy_W_chartTooltipModelRow{justify-content:space-between;align-items:center;gap:8px;font-size:10px;display:flex}._8ePy_W_chartTooltipModelLeft{flex:1;align-items:center;gap:5px;min-width:0;display:flex}._8ePy_W_chartTooltipModelDot{border-radius:50%;flex-shrink:0;width:6px;height:6px}._8ePy_W_chartTooltipModelName{text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-secondary);overflow:hidden}._8ePy_W_chartTooltipModelRight{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-primary);white-space:nowrap;flex-shrink:0;font-weight:600}._8ePy_W_lineChartWrap{user-select:none;width:100%;min-width:0;height:170px;position:relative}._8ePy_W_lineChartSvg{width:100%;height:100%;display:block;overflow:visible}._8ePy_W_lineGrid{stroke:var(--dsw-alias-border-l2);stroke-dasharray:2 3}._8ePy_W_lineAxisText{fill:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;font-size:9px}._8ePy_W_lineCursor{stroke:var(--dsw-static-deepseek-450,#5686fe);stroke-dasharray:3 3;stroke-width:1.5px;pointer-events:none}._8ePy_W_lineActiveOuter{fill:#5686fe40;pointer-events:none;animation:1.5s ease-in-out infinite _8ePy_W_linePulse}@keyframes _8ePy_W_linePulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}._8ePy_W_lineActiveInner{fill:var(--dsw-static-deepseek-450,#5686fe);stroke:#fff;stroke-width:1.5px;pointer-events:none}._8ePy_W_viewSwitchGroup{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:5px;gap:2px;padding:2px;display:flex}._8ePy_W_viewSwitchBtn{color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 7px;font-size:10px;font-weight:600;transition:all .12s}._8ePy_W_viewSwitchBtn[data-active]{background:var(--dsw-specific-menu);color:var(--dsw-alias-label-primary);box-shadow:var(--dsw-shadow-lv1)}._8ePy_W_heatmapPanel{background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv1);box-sizing:border-box;border-radius:10px;flex-direction:column;gap:10px;width:100%;min-width:0;margin-top:12px;padding:14px 16px;display:flex}._8ePy_W_heatmapHead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}._8ePy_W_heatmapTitleGroup{flex-direction:column;gap:2px;display:flex}._8ePy_W_heatmapTitle{color:var(--dsw-alias-label-primary);font-size:13px;font-weight:700}._8ePy_W_heatmapSub{color:var(--dsw-alias-label-secondary);font-size:11px}._8ePy_W_heatmapStatsRow{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}._8ePy_W_heatmapStatsRow strong{color:var(--dsw-alias-label-primary);font-variant-numeric:tabular-nums;font-weight:700}._8ePy_W_heatmapScrollArea{box-sizing:border-box;width:100%;padding:8px 4px 14px;overflow:auto visible}._8ePy_W_heatmapContainer{flex-direction:column;gap:6px;width:max-content;display:flex;position:relative}._8ePy_W_heatmapMonthsRow{height:16px;margin-left:32px;display:block;position:relative}._8ePy_W_heatmapMonthLabel{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:10px;font-weight:600;position:absolute}._8ePy_W_heatmapGrid{gap:8px;display:flex}._8ePy_W_heatmapWeekdaysCol{width:24px;height:109px;color:var(--dsw-alias-label-tertiary);user-select:none;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:0;font-size:9px;display:flex}._8ePy_W_heatmapWeeksRow{gap:3px;display:flex}._8ePy_W_heatmapWeekCol{flex-direction:column;gap:3px;display:flex}._8ePy_W_heatmapCell{box-sizing:border-box;cursor:pointer;border-radius:2px;width:13px;height:13px;transition:outline .1s,box-shadow .1s,filter .1s;position:relative}._8ePy_W_heatmapCellToday{outline-offset:1px;z-index:5;outline:1.5px solid var(--dsw-static-deepseek-450,#5686fe)!important}._8ePy_W_heatmapCell[data-level=\"0\"]{background:var(--dsw-alias-bg-layer-2,#ffffff09);border:1px solid var(--dsw-alias-border-l2,#ffffff14)}._8ePy_W_heatmapCell[data-level=\"1\"]{background:#5686fe38;border:1px solid #5686fe59}._8ePy_W_heatmapCell[data-level=\"2\"]{background:#5686fe73;border:1px solid #5686fe99}._8ePy_W_heatmapCell[data-level=\"3\"]{background:#5686feb8;border:1px solid #5686fee0;box-shadow:0 0 6px #5686fe40}._8ePy_W_heatmapCell[data-level=\"4\"]{background:var(--dsw-static-deepseek-450,#5686fe);border:1px solid #9bb8ff;box-shadow:0 0 10px #5686fe8c}._8ePy_W_heatmapCell[data-future=true]{opacity:.28;cursor:default;background:0 0!important;border:1px dashed #ffffff26!important}._8ePy_W_heatmapCell:hover:not([data-future=true]),._8ePy_W_heatmapCellActive{outline-offset:1px;filter:brightness(1.25);z-index:10;transform:none;outline:2px solid #fff!important;box-shadow:0 0 12px #5686fed9!important}._8ePy_W_heatmapLiveHud{color:var(--dsw-alias-label-primary);background:#5686fe1f;border:1px solid #5686fe47;border-radius:6px;align-items:center;gap:8px;padding:3px 8px;font-size:11px;display:flex}._8ePy_W_heatmapLiveDate{color:var(--dsw-static-deepseek-450,#5686fe);font-weight:700}._8ePy_W_heatmapLiveTokens{font-variant-numeric:tabular-nums;font-weight:700}._8ePy_W_heatmapLiveModel{color:var(--dsw-alias-label-secondary);font-size:10px}._8ePy_W_heatmapFoot{color:var(--dsw-alias-label-tertiary);border-top:1px solid var(--dsw-alias-border-l2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding-top:8px;font-size:10px;display:flex}._8ePy_W_heatmapLegend{color:var(--dsw-alias-label-tertiary);align-items:center;gap:4px;font-size:10px;display:flex}._8ePy_W_heatmapLegendCell{border-radius:2px;width:10px;height:10px}";
3208
3235
  const tagId$1 = "dsh-watcher/Insights.module.css";
3209
3236
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
3210
3237
  const tag = document.createElement("style");
@@ -3214,229 +3241,229 @@ window.__ModuleLoader__.load({
3214
3241
  document.head.appendChild(tag);
3215
3242
  }
3216
3243
  var Insights_module_css_default = {
3217
- "alertActionBtn": "CEmiCq_alertActionBtn",
3218
- "alertCard": "CEmiCq_alertCard",
3219
- "alertCardDanger": "CEmiCq_alertCardDanger",
3220
- "alertCardWarn": "CEmiCq_alertCardWarn",
3221
- "alertLeft": "CEmiCq_alertLeft",
3222
- "alertMainText": "CEmiCq_alertMainText",
3223
- "alertSection": "CEmiCq_alertSection",
3224
- "alertSubText": "CEmiCq_alertSubText",
3225
- "alertTag": "CEmiCq_alertTag",
3226
- "alertTexts": "CEmiCq_alertTexts",
3227
- "arrowIcon": "CEmiCq_arrowIcon",
3228
- "chartAreaBox": "CEmiCq_chartAreaBox",
3229
- "chartAxisLabel": "CEmiCq_chartAxisLabel",
3230
- "chartFoot": "CEmiCq_chartFoot",
3231
- "chartGridLine": "CEmiCq_chartGridLine",
3232
- "chartInteractiveWrap": "CEmiCq_chartInteractiveWrap",
3233
- "chartLegend": "CEmiCq_chartLegend",
3234
- "chartLegendDot": "CEmiCq_chartLegendDot",
3235
- "chartLegendItem": "CEmiCq_chartLegendItem",
3236
- "chartLegendName": "CEmiCq_chartLegendName",
3237
- "chartLegendVal": "CEmiCq_chartLegendVal",
3238
- "chartSvg": "CEmiCq_chartSvg",
3239
- "chartTooltipBox": "CEmiCq_chartTooltipBox",
3240
- "chartTooltipDate": "CEmiCq_chartTooltipDate",
3241
- "chartTooltipDateBadge": "CEmiCq_chartTooltipDateBadge",
3242
- "chartTooltipDivider": "CEmiCq_chartTooltipDivider",
3243
- "chartTooltipModelDot": "CEmiCq_chartTooltipModelDot",
3244
- "chartTooltipModelLeft": "CEmiCq_chartTooltipModelLeft",
3245
- "chartTooltipModelList": "CEmiCq_chartTooltipModelList",
3246
- "chartTooltipModelName": "CEmiCq_chartTooltipModelName",
3247
- "chartTooltipModelRight": "CEmiCq_chartTooltipModelRight",
3248
- "chartTooltipModelRow": "CEmiCq_chartTooltipModelRow",
3249
- "chartTooltipPortal": "CEmiCq_chartTooltipPortal",
3250
- "chartTooltipSessions": "CEmiCq_chartTooltipSessions",
3251
- "chartTooltipTotal": "CEmiCq_chartTooltipTotal",
3252
- "cockpitHeader": "CEmiCq_cockpitHeader",
3253
- "cockpitSubTitle": "CEmiCq_cockpitSubTitle",
3254
- "cockpitTitleArea": "CEmiCq_cockpitTitleArea",
3255
- "collapseBtn": "CEmiCq_collapseBtn",
3256
- "collapseChevron": "CEmiCq_collapseChevron",
3257
- "contextTag": "CEmiCq_contextTag",
3258
- "costStat": "CEmiCq_costStat",
3259
- "currentModelTag": "CEmiCq_currentModelTag",
3260
- "dayBarTopLabel": "CEmiCq_dayBarTopLabel",
3261
- "dayCol": "CEmiCq_dayCol",
3262
- "dayColFill": "CEmiCq_dayColFill",
3263
- "dayColFillActive": "CEmiCq_dayColFillActive",
3264
- "dayEmptyDot": "CEmiCq_dayEmptyDot",
3265
- "dayLabel": "CEmiCq_dayLabel",
3266
- "dayLabelToday": "CEmiCq_dayLabelToday",
3267
- "daySeg": "CEmiCq_daySeg",
3268
- "dayStack": "CEmiCq_dayStack",
3269
- "dayStackWeek": "CEmiCq_dayStackWeek",
3270
- "dlDot": "CEmiCq_dlDot",
3271
- "dlLeft": "CEmiCq_dlLeft",
3272
- "dlName": "CEmiCq_dlName",
3273
- "dlRight": "CEmiCq_dlRight",
3274
- "donutCenterNum": "CEmiCq_donutCenterNum",
3275
- "donutCenterSub": "CEmiCq_donutCenterSub",
3276
- "donutCenterText": "CEmiCq_donutCenterText",
3277
- "donutInspectBar": "CEmiCq_donutInspectBar",
3278
- "donutInspectName": "CEmiCq_donutInspectName",
3279
- "donutInspectTag": "CEmiCq_donutInspectTag",
3280
- "donutInspectVal": "CEmiCq_donutInspectVal",
3281
- "donutLegendList": "CEmiCq_donutLegendList",
3282
- "donutLegendRow": "CEmiCq_donutLegendRow",
3283
- "donutLegendRowActive": "CEmiCq_donutLegendRowActive",
3284
- "donutSvg": "CEmiCq_donutSvg",
3285
- "donutSvgBox": "CEmiCq_donutSvgBox",
3286
- "donutWrap": "CEmiCq_donutWrap",
3287
- "drawerBarTrack": "CEmiCq_drawerBarTrack",
3288
- "drawerMetaRow": "CEmiCq_drawerMetaRow",
3289
- "drawerSliceModel": "CEmiCq_drawerSliceModel",
3290
- "drawerSliceTool": "CEmiCq_drawerSliceTool",
3291
- "drawerTitle": "CEmiCq_drawerTitle",
3292
- "drilldownCloseBtn": "CEmiCq_drilldownCloseBtn",
3293
- "drilldownEmpty": "CEmiCq_drilldownEmpty",
3294
- "drilldownHead": "CEmiCq_drilldownHead",
3295
- "drilldownPanel": "CEmiCq_drilldownPanel",
3296
- "drilldownSub": "CEmiCq_drilldownSub",
3297
- "drilldownTitle": "CEmiCq_drilldownTitle",
3298
- "drilldownTitleGroup": "CEmiCq_drilldownTitleGroup",
3299
- "effortTag": "CEmiCq_effortTag",
3300
- "emptyScan": "CEmiCq_emptyScan",
3301
- "errorAllGoodBox": "CEmiCq_errorAllGoodBox",
3302
- "errorDrillSection": "CEmiCq_errorDrillSection",
3303
- "errorSessionList": "CEmiCq_errorSessionList",
3304
- "errorSessionRow": "CEmiCq_errorSessionRow",
3305
- "headerRightControls": "CEmiCq_headerRightControls",
3306
- "heatmapCell": "CEmiCq_heatmapCell",
3307
- "heatmapCellActive": "CEmiCq_heatmapCellActive",
3308
- "heatmapCellToday": "CEmiCq_heatmapCellToday",
3309
- "heatmapContainer": "CEmiCq_heatmapContainer",
3310
- "heatmapFoot": "CEmiCq_heatmapFoot",
3311
- "heatmapGrid": "CEmiCq_heatmapGrid",
3312
- "heatmapHead": "CEmiCq_heatmapHead",
3313
- "heatmapLegend": "CEmiCq_heatmapLegend",
3314
- "heatmapLegendCell": "CEmiCq_heatmapLegendCell",
3315
- "heatmapLiveDate": "CEmiCq_heatmapLiveDate",
3316
- "heatmapLiveHud": "CEmiCq_heatmapLiveHud",
3317
- "heatmapLiveModel": "CEmiCq_heatmapLiveModel",
3318
- "heatmapLiveTokens": "CEmiCq_heatmapLiveTokens",
3319
- "heatmapMonthLabel": "CEmiCq_heatmapMonthLabel",
3320
- "heatmapMonthsRow": "CEmiCq_heatmapMonthsRow",
3321
- "heatmapPanel": "CEmiCq_heatmapPanel",
3322
- "heatmapScrollArea": "CEmiCq_heatmapScrollArea",
3323
- "heatmapStatsRow": "CEmiCq_heatmapStatsRow",
3324
- "heatmapSub": "CEmiCq_heatmapSub",
3325
- "heatmapTitle": "CEmiCq_heatmapTitle",
3326
- "heatmapTitleGroup": "CEmiCq_heatmapTitleGroup",
3327
- "heatmapWeekCol": "CEmiCq_heatmapWeekCol",
3328
- "heatmapWeekdaysCol": "CEmiCq_heatmapWeekdaysCol",
3329
- "heatmapWeeksRow": "CEmiCq_heatmapWeeksRow",
3330
- "heroCaption": "CEmiCq_heroCaption",
3331
- "heroFootnote": "CEmiCq_heroFootnote",
3332
- "heroMetaCol": "CEmiCq_heroMetaCol",
3333
- "heroMetric": "CEmiCq_heroMetric",
3334
- "heroPair": "CEmiCq_heroPair",
3335
- "heroStatsRow": "CEmiCq_heroStatsRow",
3336
- "heroValue": "CEmiCq_heroValue",
3337
- "hudBody": "CEmiCq_hudBody",
3338
- "hudBox": "CEmiCq_hudBox",
3339
- "hudHeading": "CEmiCq_hudHeading",
3340
- "hudTop": "CEmiCq_hudTop",
3341
- "hudTopLeft": "CEmiCq_hudTopLeft",
3342
- "hudTopRight": "CEmiCq_hudTopRight",
3343
- "lineActiveInner": "CEmiCq_lineActiveInner",
3344
- "lineActiveOuter": "CEmiCq_lineActiveOuter",
3345
- "lineAxisText": "CEmiCq_lineAxisText",
3346
- "lineChartSvg": "CEmiCq_lineChartSvg",
3347
- "lineChartWrap": "CEmiCq_lineChartWrap",
3348
- "lineCursor": "CEmiCq_lineCursor",
3349
- "lineGrid": "CEmiCq_lineGrid",
3350
- "linePulse": "CEmiCq_linePulse",
3351
- "modelTabBar": "CEmiCq_modelTabBar",
3352
- "modelTabBtn": "CEmiCq_modelTabBtn",
3353
- "modelTagText": "CEmiCq_modelTagText",
3354
- "priceOverrideActions": "CEmiCq_priceOverrideActions",
3355
- "priceOverrideError": "CEmiCq_priceOverrideError",
3356
- "priceOverrideHelp": "CEmiCq_priceOverrideHelp",
3357
- "priceOverrideInput": "CEmiCq_priceOverrideInput",
3358
- "priceOverridePath": "CEmiCq_priceOverridePath",
3359
- "rangeBtn": "CEmiCq_rangeBtn",
3360
- "rangeSwitchGroup": "CEmiCq_rangeSwitchGroup",
3361
- "rankBadge": "CEmiCq_rankBadge",
3362
- "rankBadgeGold": "CEmiCq_rankBadgeGold",
3363
- "rankBar": "CEmiCq_rankBar",
3364
- "rankItem": "CEmiCq_rankItem",
3365
- "rankItemLeft": "CEmiCq_rankItemLeft",
3366
- "rankItemTop": "CEmiCq_rankItemTop",
3367
- "rankList": "CEmiCq_rankList",
3368
- "rankName": "CEmiCq_rankName",
3369
- "rankSubText": "CEmiCq_rankSubText",
3370
- "rankTrack": "CEmiCq_rankTrack",
3371
- "rankValMain": "CEmiCq_rankValMain",
3372
- "roastAction": "CEmiCq_roastAction",
3373
- "roastCategoryBadge": "CEmiCq_roastCategoryBadge",
3374
- "roastDesc": "CEmiCq_roastDesc",
3375
- "roastFooter": "CEmiCq_roastFooter",
3376
- "roastFooterLeft": "CEmiCq_roastFooterLeft",
3377
- "roastGrid": "CEmiCq_roastGrid",
3378
- "roastHead": "CEmiCq_roastHead",
3379
- "roastItem": "CEmiCq_roastItem",
3380
- "roastItemActive": "CEmiCq_roastItemActive",
3381
- "roastTag": "CEmiCq_roastTag",
3382
- "roastTitle": "CEmiCq_roastTitle",
3383
- "roastVal": "CEmiCq_roastVal",
3384
- "scopeBtn": "CEmiCq_scopeBtn",
3385
- "scopeGroup": "CEmiCq_scopeGroup",
3386
- "sessionIdTag": "CEmiCq_sessionIdTag",
3387
- "sessionItemDrawer": "CEmiCq_sessionItemDrawer",
3388
- "sessionItemHead": "CEmiCq_sessionItemHead",
3389
- "sessionItemOpen": "CEmiCq_sessionItemOpen",
3390
- "sessionItemRow": "CEmiCq_sessionItemRow",
3391
- "sessionModelCell": "CEmiCq_sessionModelCell",
3392
- "sessionTableBox": "CEmiCq_sessionTableBox",
3393
- "sessionTableHeader": "CEmiCq_sessionTableHeader",
3394
- "sessionTokenBar": "CEmiCq_sessionTokenBar",
3395
- "sessionTokenCell": "CEmiCq_sessionTokenCell",
3396
- "settingInlineItem": "CEmiCq_settingInlineItem",
3397
- "settingsContainer": "CEmiCq_settingsContainer",
3398
- "settingsDrawer": "CEmiCq_settingsDrawer",
3399
- "settingsDrawerContent": "CEmiCq_settingsDrawerContent",
3400
- "settingsMiniInput": "CEmiCq_settingsMiniInput",
3401
- "settingsMiniSaveBtn": "CEmiCq_settingsMiniSaveBtn",
3402
- "settingsResetBtn": "CEmiCq_settingsResetBtn",
3403
- "settingsScanBtn": "CEmiCq_settingsScanBtn",
3404
- "settingsSummary": "CEmiCq_settingsSummary",
3405
- "slideDown": "CEmiCq_slideDown",
3406
- "sortBtn": "CEmiCq_sortBtn",
3407
- "statusBad": "CEmiCq_statusBad",
3408
- "statusOk": "CEmiCq_statusOk",
3409
- "statusWarn": "CEmiCq_statusWarn",
3410
- "tableRankNum": "CEmiCq_tableRankNum",
3411
- "tableSortGroup": "CEmiCq_tableSortGroup",
3412
- "tableTitleGroup": "CEmiCq_tableTitleGroup",
3413
- "tagDanger": "CEmiCq_tagDanger",
3414
- "tagWarn": "CEmiCq_tagWarn",
3415
- "tokenStat": "CEmiCq_tokenStat",
3416
- "toolCompoundBox": "CEmiCq_toolCompoundBox",
3417
- "toolCompoundLegend": "CEmiCq_toolCompoundLegend",
3418
- "toolCompoundTrack": "CEmiCq_toolCompoundTrack",
3419
- "toolDrillSection": "CEmiCq_toolDrillSection",
3420
- "toolGridCards": "CEmiCq_toolGridCards",
3421
- "toolMiniCard": "CEmiCq_toolMiniCard",
3422
- "toolMiniDesc": "CEmiCq_toolMiniDesc",
3423
- "toolMiniNum": "CEmiCq_toolMiniNum",
3424
- "toolMiniTitle": "CEmiCq_toolMiniTitle",
3425
- "toolSliceBash": "CEmiCq_toolSliceBash",
3426
- "toolSliceFile": "CEmiCq_toolSliceFile",
3427
- "toolTopList": "CEmiCq_toolTopList",
3428
- "toolTopListTitle": "CEmiCq_toolTopListTitle",
3429
- "viewSwitchBtn": "CEmiCq_viewSwitchBtn",
3430
- "viewSwitchGroup": "CEmiCq_viewSwitchGroup",
3431
- "vizHead": "CEmiCq_vizHead",
3432
- "vizPanel": "CEmiCq_vizPanel",
3433
- "vizSplitGrid": "CEmiCq_vizSplitGrid",
3434
- "vizSub": "CEmiCq_vizSub",
3435
- "vizTitle": "CEmiCq_vizTitle"
3244
+ "alertActionBtn": "_8ePy_W_alertActionBtn",
3245
+ "alertCard": "_8ePy_W_alertCard",
3246
+ "alertCardDanger": "_8ePy_W_alertCardDanger",
3247
+ "alertCardWarn": "_8ePy_W_alertCardWarn",
3248
+ "alertLeft": "_8ePy_W_alertLeft",
3249
+ "alertMainText": "_8ePy_W_alertMainText",
3250
+ "alertSection": "_8ePy_W_alertSection",
3251
+ "alertSubText": "_8ePy_W_alertSubText",
3252
+ "alertTag": "_8ePy_W_alertTag",
3253
+ "alertTexts": "_8ePy_W_alertTexts",
3254
+ "arrowIcon": "_8ePy_W_arrowIcon",
3255
+ "chartAreaBox": "_8ePy_W_chartAreaBox",
3256
+ "chartAxisLabel": "_8ePy_W_chartAxisLabel",
3257
+ "chartFoot": "_8ePy_W_chartFoot",
3258
+ "chartGridLine": "_8ePy_W_chartGridLine",
3259
+ "chartInteractiveWrap": "_8ePy_W_chartInteractiveWrap",
3260
+ "chartLegend": "_8ePy_W_chartLegend",
3261
+ "chartLegendDot": "_8ePy_W_chartLegendDot",
3262
+ "chartLegendItem": "_8ePy_W_chartLegendItem",
3263
+ "chartLegendName": "_8ePy_W_chartLegendName",
3264
+ "chartLegendVal": "_8ePy_W_chartLegendVal",
3265
+ "chartSvg": "_8ePy_W_chartSvg",
3266
+ "chartTooltipBox": "_8ePy_W_chartTooltipBox",
3267
+ "chartTooltipDate": "_8ePy_W_chartTooltipDate",
3268
+ "chartTooltipDateBadge": "_8ePy_W_chartTooltipDateBadge",
3269
+ "chartTooltipDivider": "_8ePy_W_chartTooltipDivider",
3270
+ "chartTooltipModelDot": "_8ePy_W_chartTooltipModelDot",
3271
+ "chartTooltipModelLeft": "_8ePy_W_chartTooltipModelLeft",
3272
+ "chartTooltipModelList": "_8ePy_W_chartTooltipModelList",
3273
+ "chartTooltipModelName": "_8ePy_W_chartTooltipModelName",
3274
+ "chartTooltipModelRight": "_8ePy_W_chartTooltipModelRight",
3275
+ "chartTooltipModelRow": "_8ePy_W_chartTooltipModelRow",
3276
+ "chartTooltipPortal": "_8ePy_W_chartTooltipPortal",
3277
+ "chartTooltipSessions": "_8ePy_W_chartTooltipSessions",
3278
+ "chartTooltipTotal": "_8ePy_W_chartTooltipTotal",
3279
+ "cockpitHeader": "_8ePy_W_cockpitHeader",
3280
+ "cockpitSubTitle": "_8ePy_W_cockpitSubTitle",
3281
+ "cockpitTitleArea": "_8ePy_W_cockpitTitleArea",
3282
+ "collapseBtn": "_8ePy_W_collapseBtn",
3283
+ "collapseChevron": "_8ePy_W_collapseChevron",
3284
+ "contextTag": "_8ePy_W_contextTag",
3285
+ "costStat": "_8ePy_W_costStat",
3286
+ "currentModelTag": "_8ePy_W_currentModelTag",
3287
+ "dayBarTopLabel": "_8ePy_W_dayBarTopLabel",
3288
+ "dayCol": "_8ePy_W_dayCol",
3289
+ "dayColFill": "_8ePy_W_dayColFill",
3290
+ "dayColFillActive": "_8ePy_W_dayColFillActive",
3291
+ "dayEmptyDot": "_8ePy_W_dayEmptyDot",
3292
+ "dayLabel": "_8ePy_W_dayLabel",
3293
+ "dayLabelToday": "_8ePy_W_dayLabelToday",
3294
+ "daySeg": "_8ePy_W_daySeg",
3295
+ "dayStack": "_8ePy_W_dayStack",
3296
+ "dayStackWeek": "_8ePy_W_dayStackWeek",
3297
+ "dlDot": "_8ePy_W_dlDot",
3298
+ "dlLeft": "_8ePy_W_dlLeft",
3299
+ "dlName": "_8ePy_W_dlName",
3300
+ "dlRight": "_8ePy_W_dlRight",
3301
+ "donutCenterNum": "_8ePy_W_donutCenterNum",
3302
+ "donutCenterSub": "_8ePy_W_donutCenterSub",
3303
+ "donutCenterText": "_8ePy_W_donutCenterText",
3304
+ "donutInspectBar": "_8ePy_W_donutInspectBar",
3305
+ "donutInspectName": "_8ePy_W_donutInspectName",
3306
+ "donutInspectTag": "_8ePy_W_donutInspectTag",
3307
+ "donutInspectVal": "_8ePy_W_donutInspectVal",
3308
+ "donutLegendList": "_8ePy_W_donutLegendList",
3309
+ "donutLegendRow": "_8ePy_W_donutLegendRow",
3310
+ "donutLegendRowActive": "_8ePy_W_donutLegendRowActive",
3311
+ "donutSvg": "_8ePy_W_donutSvg",
3312
+ "donutSvgBox": "_8ePy_W_donutSvgBox",
3313
+ "donutWrap": "_8ePy_W_donutWrap",
3314
+ "drawerBarTrack": "_8ePy_W_drawerBarTrack",
3315
+ "drawerMetaRow": "_8ePy_W_drawerMetaRow",
3316
+ "drawerSliceModel": "_8ePy_W_drawerSliceModel",
3317
+ "drawerSliceTool": "_8ePy_W_drawerSliceTool",
3318
+ "drawerTitle": "_8ePy_W_drawerTitle",
3319
+ "drilldownCloseBtn": "_8ePy_W_drilldownCloseBtn",
3320
+ "drilldownEmpty": "_8ePy_W_drilldownEmpty",
3321
+ "drilldownHead": "_8ePy_W_drilldownHead",
3322
+ "drilldownPanel": "_8ePy_W_drilldownPanel",
3323
+ "drilldownSub": "_8ePy_W_drilldownSub",
3324
+ "drilldownTitle": "_8ePy_W_drilldownTitle",
3325
+ "drilldownTitleGroup": "_8ePy_W_drilldownTitleGroup",
3326
+ "effortTag": "_8ePy_W_effortTag",
3327
+ "emptyScan": "_8ePy_W_emptyScan",
3328
+ "errorAllGoodBox": "_8ePy_W_errorAllGoodBox",
3329
+ "errorDrillSection": "_8ePy_W_errorDrillSection",
3330
+ "errorSessionList": "_8ePy_W_errorSessionList",
3331
+ "errorSessionRow": "_8ePy_W_errorSessionRow",
3332
+ "headerRightControls": "_8ePy_W_headerRightControls",
3333
+ "heatmapCell": "_8ePy_W_heatmapCell",
3334
+ "heatmapCellActive": "_8ePy_W_heatmapCellActive",
3335
+ "heatmapCellToday": "_8ePy_W_heatmapCellToday",
3336
+ "heatmapContainer": "_8ePy_W_heatmapContainer",
3337
+ "heatmapFoot": "_8ePy_W_heatmapFoot",
3338
+ "heatmapGrid": "_8ePy_W_heatmapGrid",
3339
+ "heatmapHead": "_8ePy_W_heatmapHead",
3340
+ "heatmapLegend": "_8ePy_W_heatmapLegend",
3341
+ "heatmapLegendCell": "_8ePy_W_heatmapLegendCell",
3342
+ "heatmapLiveDate": "_8ePy_W_heatmapLiveDate",
3343
+ "heatmapLiveHud": "_8ePy_W_heatmapLiveHud",
3344
+ "heatmapLiveModel": "_8ePy_W_heatmapLiveModel",
3345
+ "heatmapLiveTokens": "_8ePy_W_heatmapLiveTokens",
3346
+ "heatmapMonthLabel": "_8ePy_W_heatmapMonthLabel",
3347
+ "heatmapMonthsRow": "_8ePy_W_heatmapMonthsRow",
3348
+ "heatmapPanel": "_8ePy_W_heatmapPanel",
3349
+ "heatmapScrollArea": "_8ePy_W_heatmapScrollArea",
3350
+ "heatmapStatsRow": "_8ePy_W_heatmapStatsRow",
3351
+ "heatmapSub": "_8ePy_W_heatmapSub",
3352
+ "heatmapTitle": "_8ePy_W_heatmapTitle",
3353
+ "heatmapTitleGroup": "_8ePy_W_heatmapTitleGroup",
3354
+ "heatmapWeekCol": "_8ePy_W_heatmapWeekCol",
3355
+ "heatmapWeekdaysCol": "_8ePy_W_heatmapWeekdaysCol",
3356
+ "heatmapWeeksRow": "_8ePy_W_heatmapWeeksRow",
3357
+ "heroCaption": "_8ePy_W_heroCaption",
3358
+ "heroFootnote": "_8ePy_W_heroFootnote",
3359
+ "heroMetaCol": "_8ePy_W_heroMetaCol",
3360
+ "heroMetric": "_8ePy_W_heroMetric",
3361
+ "heroPair": "_8ePy_W_heroPair",
3362
+ "heroStatsRow": "_8ePy_W_heroStatsRow",
3363
+ "heroValue": "_8ePy_W_heroValue",
3364
+ "hudBody": "_8ePy_W_hudBody",
3365
+ "hudBox": "_8ePy_W_hudBox",
3366
+ "hudHeading": "_8ePy_W_hudHeading",
3367
+ "hudTop": "_8ePy_W_hudTop",
3368
+ "hudTopLeft": "_8ePy_W_hudTopLeft",
3369
+ "hudTopRight": "_8ePy_W_hudTopRight",
3370
+ "lineActiveInner": "_8ePy_W_lineActiveInner",
3371
+ "lineActiveOuter": "_8ePy_W_lineActiveOuter",
3372
+ "lineAxisText": "_8ePy_W_lineAxisText",
3373
+ "lineChartSvg": "_8ePy_W_lineChartSvg",
3374
+ "lineChartWrap": "_8ePy_W_lineChartWrap",
3375
+ "lineCursor": "_8ePy_W_lineCursor",
3376
+ "lineGrid": "_8ePy_W_lineGrid",
3377
+ "linePulse": "_8ePy_W_linePulse",
3378
+ "modelTabBar": "_8ePy_W_modelTabBar",
3379
+ "modelTabBtn": "_8ePy_W_modelTabBtn",
3380
+ "modelTagText": "_8ePy_W_modelTagText",
3381
+ "priceOverrideActions": "_8ePy_W_priceOverrideActions",
3382
+ "priceOverrideError": "_8ePy_W_priceOverrideError",
3383
+ "priceOverrideHelp": "_8ePy_W_priceOverrideHelp",
3384
+ "priceOverrideInput": "_8ePy_W_priceOverrideInput",
3385
+ "priceOverridePath": "_8ePy_W_priceOverridePath",
3386
+ "rangeBtn": "_8ePy_W_rangeBtn",
3387
+ "rangeSwitchGroup": "_8ePy_W_rangeSwitchGroup",
3388
+ "rankBadge": "_8ePy_W_rankBadge",
3389
+ "rankBadgeGold": "_8ePy_W_rankBadgeGold",
3390
+ "rankBar": "_8ePy_W_rankBar",
3391
+ "rankItem": "_8ePy_W_rankItem",
3392
+ "rankItemLeft": "_8ePy_W_rankItemLeft",
3393
+ "rankItemTop": "_8ePy_W_rankItemTop",
3394
+ "rankList": "_8ePy_W_rankList",
3395
+ "rankName": "_8ePy_W_rankName",
3396
+ "rankSubText": "_8ePy_W_rankSubText",
3397
+ "rankTrack": "_8ePy_W_rankTrack",
3398
+ "rankValMain": "_8ePy_W_rankValMain",
3399
+ "roastAction": "_8ePy_W_roastAction",
3400
+ "roastCategoryBadge": "_8ePy_W_roastCategoryBadge",
3401
+ "roastDesc": "_8ePy_W_roastDesc",
3402
+ "roastFooter": "_8ePy_W_roastFooter",
3403
+ "roastFooterLeft": "_8ePy_W_roastFooterLeft",
3404
+ "roastGrid": "_8ePy_W_roastGrid",
3405
+ "roastHead": "_8ePy_W_roastHead",
3406
+ "roastItem": "_8ePy_W_roastItem",
3407
+ "roastItemActive": "_8ePy_W_roastItemActive",
3408
+ "roastTag": "_8ePy_W_roastTag",
3409
+ "roastTitle": "_8ePy_W_roastTitle",
3410
+ "roastVal": "_8ePy_W_roastVal",
3411
+ "scopeBtn": "_8ePy_W_scopeBtn",
3412
+ "scopeGroup": "_8ePy_W_scopeGroup",
3413
+ "sessionIdTag": "_8ePy_W_sessionIdTag",
3414
+ "sessionItemDrawer": "_8ePy_W_sessionItemDrawer",
3415
+ "sessionItemHead": "_8ePy_W_sessionItemHead",
3416
+ "sessionItemOpen": "_8ePy_W_sessionItemOpen",
3417
+ "sessionItemRow": "_8ePy_W_sessionItemRow",
3418
+ "sessionModelCell": "_8ePy_W_sessionModelCell",
3419
+ "sessionTableBox": "_8ePy_W_sessionTableBox",
3420
+ "sessionTableHeader": "_8ePy_W_sessionTableHeader",
3421
+ "sessionTokenBar": "_8ePy_W_sessionTokenBar",
3422
+ "sessionTokenCell": "_8ePy_W_sessionTokenCell",
3423
+ "settingInlineItem": "_8ePy_W_settingInlineItem",
3424
+ "settingsContainer": "_8ePy_W_settingsContainer",
3425
+ "settingsDrawer": "_8ePy_W_settingsDrawer",
3426
+ "settingsDrawerContent": "_8ePy_W_settingsDrawerContent",
3427
+ "settingsMiniInput": "_8ePy_W_settingsMiniInput",
3428
+ "settingsMiniSaveBtn": "_8ePy_W_settingsMiniSaveBtn",
3429
+ "settingsResetBtn": "_8ePy_W_settingsResetBtn",
3430
+ "settingsScanBtn": "_8ePy_W_settingsScanBtn",
3431
+ "settingsSummary": "_8ePy_W_settingsSummary",
3432
+ "slideDown": "_8ePy_W_slideDown",
3433
+ "sortBtn": "_8ePy_W_sortBtn",
3434
+ "statusBad": "_8ePy_W_statusBad",
3435
+ "statusOk": "_8ePy_W_statusOk",
3436
+ "statusWarn": "_8ePy_W_statusWarn",
3437
+ "tableRankNum": "_8ePy_W_tableRankNum",
3438
+ "tableSortGroup": "_8ePy_W_tableSortGroup",
3439
+ "tableTitleGroup": "_8ePy_W_tableTitleGroup",
3440
+ "tagDanger": "_8ePy_W_tagDanger",
3441
+ "tagWarn": "_8ePy_W_tagWarn",
3442
+ "tokenStat": "_8ePy_W_tokenStat",
3443
+ "toolCompoundBox": "_8ePy_W_toolCompoundBox",
3444
+ "toolCompoundLegend": "_8ePy_W_toolCompoundLegend",
3445
+ "toolCompoundTrack": "_8ePy_W_toolCompoundTrack",
3446
+ "toolDrillSection": "_8ePy_W_toolDrillSection",
3447
+ "toolGridCards": "_8ePy_W_toolGridCards",
3448
+ "toolMiniCard": "_8ePy_W_toolMiniCard",
3449
+ "toolMiniDesc": "_8ePy_W_toolMiniDesc",
3450
+ "toolMiniNum": "_8ePy_W_toolMiniNum",
3451
+ "toolMiniTitle": "_8ePy_W_toolMiniTitle",
3452
+ "toolSliceBash": "_8ePy_W_toolSliceBash",
3453
+ "toolSliceFile": "_8ePy_W_toolSliceFile",
3454
+ "toolTopList": "_8ePy_W_toolTopList",
3455
+ "toolTopListTitle": "_8ePy_W_toolTopListTitle",
3456
+ "viewSwitchBtn": "_8ePy_W_viewSwitchBtn",
3457
+ "viewSwitchGroup": "_8ePy_W_viewSwitchGroup",
3458
+ "vizHead": "_8ePy_W_vizHead",
3459
+ "vizPanel": "_8ePy_W_vizPanel",
3460
+ "vizSplitGrid": "_8ePy_W_vizSplitGrid",
3461
+ "vizSub": "_8ePy_W_vizSub",
3462
+ "vizTitle": "_8ePy_W_vizTitle"
3436
3463
  };
3437
3464
  //#endregion
3438
3465
  //#region \0dshx-css-module:./src/client/TimingPanel.module.css.mjs
3439
- const css = "._8oYNOG_panelBox{--c-ttft:#94a3b8;--c-think:#3b82f6;--c-output:#38bdf8;--c-bash:#059669;--c-file:#34d399;box-sizing:border-box;background:var(--dsw-alias-bg-layer-2,#f5f6f8);border:1px solid var(--dsw-alias-border-l2,#e2e8f0);border-radius:8px;width:100%;padding:12px 14px;position:relative}body[data-ds-dark-theme] ._8oYNOG_panelBox{--c-ttft:#64748b;--c-think:#60a5fa;--c-output:#38bdf8;--c-bash:#10b981;--c-file:#6ee7b7}._8oYNOG_topRow{white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;display:flex}._8oYNOG_titleArea{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}._8oYNOG_mainTitle{color:var(--dsw-alias-label-primary,#17181c);white-space:nowrap;font-size:12px;font-weight:700}._8oYNOG_liveSpeed{background:var(--dsw-alias-bg-layer-1,#fff);border:1px solid var(--dsw-alias-border-l2,#e2e8f0);color:var(--dsw-alias-label-primary,#17181c);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}._8oYNOG_speedDot{background:var(--c-output);border-radius:50%;width:5px;height:5px;animation:1.5s infinite _8oYNOG_pulse}._8oYNOG_totalDuration{color:var(--dsw-alias-label-secondary,#5f636d);font-variant-numeric:tabular-nums;white-space:nowrap}._8oYNOG_bottleneckText{color:var(--dsw-alias-label-primary,#17181c);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}._8oYNOG_chartBox{width:100%;margin-bottom:8px;position:relative}._8oYNOG_barTrack{background:var(--dsw-alias-bg-layer-1,#e2e8f0);cursor:crosshair;border-radius:5px;gap:1px;width:100%;height:20px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #0000000a}._8oYNOG_modelCluster,._8oYNOG_toolCluster{height:100%;transition:opacity .12s;display:flex;position:relative}._8oYNOG_slice{cursor:pointer;height:100%;transition:all .12s;position:relative}._8oYNOG_slice:hover{filter:brightness(1.15);z-index:5;box-shadow:0 0 6px #0003}._8oYNOG_slice+._8oYNOG_slice{border-left:1px solid #ffffff59}._8oYNOG_sliceTtft{background:var(--c-ttft)}._8oYNOG_sliceThink{background:var(--c-think)}._8oYNOG_sliceOutput{background:var(--c-output)}._8oYNOG_sliceBash{background:var(--c-bash)}._8oYNOG_sliceFile{background:var(--c-file)}._8oYNOG_legendRow{color:var(--dsw-alias-label-secondary,#5f636d);white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}._8oYNOG_legendGroup{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:12px;display:flex}._8oYNOG_legendItem{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;transition:opacity .12s;display:flex}._8oYNOG_legendItem:hover{opacity:.75}._8oYNOG_dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}._8oYNOG_statusPill{white-space:nowrap;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}._8oYNOG_statusOk{color:var(--dsw-static-green-500,#15803d)}._8oYNOG_statusWarn{color:#b45309;background:#f59e0b1f}._8oYNOG_statusDanger{color:#b91c1c;background:#ef44441f}._8oYNOG_popover{color:#f8fafc;pointer-events:none;z-index:50;box-sizing:border-box;white-space:nowrap;background:#0f172a;border-radius:8px;width:360px;max-width:calc(100% - 16px);padding:10px 14px;font-size:11px;animation:.12s ease-out _8oYNOG_popIn;position:absolute;top:auto;bottom:calc(100% + 8px);box-shadow:0 8px 24px #00000059}._8oYNOG_popover:after{content:\"\";bottom:-5px;left:var(--arrow-left,50%);border:5px solid #0000;border-top-color:#0f172a;border-bottom-width:0;position:absolute;transform:translate(-50%)}._8oYNOG_popTitle{white-space:nowrap;border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;padding-bottom:5px;font-weight:600;display:flex}._8oYNOG_popList{flex-direction:column;gap:3px;display:flex}._8oYNOG_popRow{white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;padding:2px 0;display:flex}._8oYNOG_popLeft{color:#ffffffd9;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;display:flex}._8oYNOG_popRight{font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;text-align:right;flex-shrink:0;font-weight:600}._8oYNOG_activeVal{color:#fbbf24;font-weight:700}@keyframes _8oYNOG_pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes _8oYNOG_popIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}";
3466
+ const css = "._5u7iNa_panelBox{--c-ttft:#94a3b8;--c-think:#3b82f6;--c-output:#38bdf8;--c-bash:#059669;--c-file:#34d399;box-sizing:border-box;background:var(--dsw-alias-bg-layer-2,#f5f6f8);border:1px solid var(--dsw-alias-border-l2,#e2e8f0);border-radius:8px;width:100%;padding:12px 14px;position:relative}body[data-ds-dark-theme] ._5u7iNa_panelBox{--c-ttft:#64748b;--c-think:#60a5fa;--c-output:#38bdf8;--c-bash:#10b981;--c-file:#6ee7b7}._5u7iNa_topRow{white-space:nowrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;display:flex}._5u7iNa_titleArea{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}._5u7iNa_mainTitle{color:var(--dsw-alias-label-primary,#17181c);white-space:nowrap;font-size:12px;font-weight:700}._5u7iNa_liveSpeed{background:var(--dsw-alias-bg-layer-1,#fff);border:1px solid var(--dsw-alias-border-l2,#e2e8f0);color:var(--dsw-alias-label-primary,#17181c);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}._5u7iNa_speedDot{background:var(--c-output);border-radius:50%;width:5px;height:5px;animation:1.5s infinite _5u7iNa_pulse}._5u7iNa_totalDuration{color:var(--dsw-alias-label-secondary,#5f636d);font-variant-numeric:tabular-nums;white-space:nowrap}._5u7iNa_bottleneckText{color:var(--dsw-alias-label-primary,#17181c);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600}._5u7iNa_chartBox{width:100%;margin-bottom:8px;position:relative}._5u7iNa_barTrack{background:var(--dsw-alias-bg-layer-1,#e2e8f0);cursor:crosshair;border-radius:5px;gap:1px;width:100%;height:20px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #0000000a}._5u7iNa_modelCluster,._5u7iNa_toolCluster{height:100%;transition:opacity .12s;display:flex;position:relative}._5u7iNa_slice{cursor:pointer;height:100%;transition:all .12s;position:relative}._5u7iNa_slice:hover{filter:brightness(1.15);z-index:5;box-shadow:0 0 6px #0003}._5u7iNa_slice+._5u7iNa_slice{border-left:1px solid #ffffff59}._5u7iNa_sliceTtft{background:var(--c-ttft)}._5u7iNa_sliceThink{background:var(--c-think)}._5u7iNa_sliceOutput{background:var(--c-output)}._5u7iNa_sliceBash{background:var(--c-bash)}._5u7iNa_sliceFile{background:var(--c-file)}._5u7iNa_legendRow{color:var(--dsw-alias-label-secondary,#5f636d);white-space:nowrap;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}._5u7iNa_legendGroup{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:12px;display:flex}._5u7iNa_legendItem{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;transition:opacity .12s;display:flex}._5u7iNa_legendItem:hover{opacity:.75}._5u7iNa_dot{border-radius:2px;flex-shrink:0;width:7px;height:7px}._5u7iNa_statusPill{white-space:nowrap;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}._5u7iNa_statusOk{color:var(--dsw-static-green-500,#15803d)}._5u7iNa_statusWarn{color:#b45309;background:#f59e0b1f}._5u7iNa_statusDanger{color:#b91c1c;background:#ef44441f}._5u7iNa_popover{color:#f8fafc;pointer-events:none;z-index:50;box-sizing:border-box;white-space:nowrap;background:#0f172a;border-radius:8px;width:360px;max-width:calc(100% - 16px);padding:10px 14px;font-size:11px;animation:.12s ease-out _5u7iNa_popIn;position:absolute;top:auto;bottom:calc(100% + 8px);box-shadow:0 8px 24px #00000059}._5u7iNa_popover:after{content:\"\";bottom:-5px;left:var(--arrow-left,50%);border:5px solid #0000;border-top-color:#0f172a;border-bottom-width:0;position:absolute;transform:translate(-50%)}._5u7iNa_popTitle{white-space:nowrap;border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:16px;margin-bottom:6px;padding-bottom:5px;font-weight:600;display:flex}._5u7iNa_popList{flex-direction:column;gap:3px;display:flex}._5u7iNa_popRow{white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;padding:2px 0;display:flex}._5u7iNa_popLeft{color:#ffffffd9;white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;display:flex}._5u7iNa_popRight{font-variant-numeric:tabular-nums;color:#fff;white-space:nowrap;text-align:right;flex-shrink:0;font-weight:600}._5u7iNa_activeVal{color:#fbbf24;font-weight:700}@keyframes _5u7iNa_pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}@keyframes _5u7iNa_popIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}";
3440
3467
  const tagId = "dsh-watcher/TimingPanel.module.css";
3441
3468
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
3442
3469
  const tag = document.createElement("style");
@@ -3446,41 +3473,41 @@ window.__ModuleLoader__.load({
3446
3473
  document.head.appendChild(tag);
3447
3474
  }
3448
3475
  var TimingPanel_module_css_default = {
3449
- "activeVal": "_8oYNOG_activeVal",
3450
- "barTrack": "_8oYNOG_barTrack",
3451
- "bottleneckText": "_8oYNOG_bottleneckText",
3452
- "chartBox": "_8oYNOG_chartBox",
3453
- "dot": "_8oYNOG_dot",
3454
- "legendGroup": "_8oYNOG_legendGroup",
3455
- "legendItem": "_8oYNOG_legendItem",
3456
- "legendRow": "_8oYNOG_legendRow",
3457
- "liveSpeed": "_8oYNOG_liveSpeed",
3458
- "mainTitle": "_8oYNOG_mainTitle",
3459
- "modelCluster": "_8oYNOG_modelCluster",
3460
- "panelBox": "_8oYNOG_panelBox",
3461
- "popIn": "_8oYNOG_popIn",
3462
- "popLeft": "_8oYNOG_popLeft",
3463
- "popList": "_8oYNOG_popList",
3464
- "popover": "_8oYNOG_popover",
3465
- "popRight": "_8oYNOG_popRight",
3466
- "popRow": "_8oYNOG_popRow",
3467
- "popTitle": "_8oYNOG_popTitle",
3468
- "pulse": "_8oYNOG_pulse",
3469
- "slice": "_8oYNOG_slice",
3470
- "sliceBash": "_8oYNOG_sliceBash",
3471
- "sliceFile": "_8oYNOG_sliceFile",
3472
- "sliceOutput": "_8oYNOG_sliceOutput",
3473
- "sliceThink": "_8oYNOG_sliceThink",
3474
- "sliceTtft": "_8oYNOG_sliceTtft",
3475
- "speedDot": "_8oYNOG_speedDot",
3476
- "statusDanger": "_8oYNOG_statusDanger",
3477
- "statusOk": "_8oYNOG_statusOk",
3478
- "statusPill": "_8oYNOG_statusPill",
3479
- "statusWarn": "_8oYNOG_statusWarn",
3480
- "titleArea": "_8oYNOG_titleArea",
3481
- "toolCluster": "_8oYNOG_toolCluster",
3482
- "topRow": "_8oYNOG_topRow",
3483
- "totalDuration": "_8oYNOG_totalDuration"
3476
+ "activeVal": "_5u7iNa_activeVal",
3477
+ "barTrack": "_5u7iNa_barTrack",
3478
+ "bottleneckText": "_5u7iNa_bottleneckText",
3479
+ "chartBox": "_5u7iNa_chartBox",
3480
+ "dot": "_5u7iNa_dot",
3481
+ "legendGroup": "_5u7iNa_legendGroup",
3482
+ "legendItem": "_5u7iNa_legendItem",
3483
+ "legendRow": "_5u7iNa_legendRow",
3484
+ "liveSpeed": "_5u7iNa_liveSpeed",
3485
+ "mainTitle": "_5u7iNa_mainTitle",
3486
+ "modelCluster": "_5u7iNa_modelCluster",
3487
+ "panelBox": "_5u7iNa_panelBox",
3488
+ "popIn": "_5u7iNa_popIn",
3489
+ "popLeft": "_5u7iNa_popLeft",
3490
+ "popList": "_5u7iNa_popList",
3491
+ "popover": "_5u7iNa_popover",
3492
+ "popRight": "_5u7iNa_popRight",
3493
+ "popRow": "_5u7iNa_popRow",
3494
+ "popTitle": "_5u7iNa_popTitle",
3495
+ "pulse": "_5u7iNa_pulse",
3496
+ "slice": "_5u7iNa_slice",
3497
+ "sliceBash": "_5u7iNa_sliceBash",
3498
+ "sliceFile": "_5u7iNa_sliceFile",
3499
+ "sliceOutput": "_5u7iNa_sliceOutput",
3500
+ "sliceThink": "_5u7iNa_sliceThink",
3501
+ "sliceTtft": "_5u7iNa_sliceTtft",
3502
+ "speedDot": "_5u7iNa_speedDot",
3503
+ "statusDanger": "_5u7iNa_statusDanger",
3504
+ "statusOk": "_5u7iNa_statusOk",
3505
+ "statusPill": "_5u7iNa_statusPill",
3506
+ "statusWarn": "_5u7iNa_statusWarn",
3507
+ "titleArea": "_5u7iNa_titleArea",
3508
+ "toolCluster": "_5u7iNa_toolCluster",
3509
+ "topRow": "_5u7iNa_topRow",
3510
+ "totalDuration": "_5u7iNa_totalDuration"
3484
3511
  };
3485
3512
  //#endregion
3486
3513
  //#region src/client/TimingPanel.tsx
@@ -4636,7 +4663,18 @@ window.__ModuleLoader__.load({
4636
4663
  const bucket = byDay.get(key);
4637
4664
  if (!bucket) return;
4638
4665
  bucket.sessions += 1;
4639
- (row.value.models?.length ? row.value.models : [{
4666
+ const dayBooks = row.value?.days;
4667
+ if (Array.isArray(dayBooks) && dayBooks.length > 0) dayBooks.forEach((d) => {
4668
+ const dayBucket = byDay.get(d.key);
4669
+ if (!dayBucket) return;
4670
+ (Array.isArray(d.models) && d.models.length ? d.models : [{
4671
+ model: "未标注",
4672
+ tokens: d.tokens ?? 0
4673
+ }]).forEach((m) => {
4674
+ dayBucket.models.set(routeLabel(m), (dayBucket.models.get(routeLabel(m)) ?? 0) + (m.tokens ?? 0));
4675
+ });
4676
+ });
4677
+ else (row.value.models?.length ? row.value.models : [{
4640
4678
  model: "未标注",
4641
4679
  tokens: row.value.totals.tokens ?? 0
4642
4680
  }]).forEach((m) => {
@@ -7035,6 +7073,14 @@ window.__ModuleLoader__.load({
7035
7073
  if (status === "success") return "done";
7036
7074
  return null;
7037
7075
  }
7076
+ /** True when the work picture carries an alert the header trigger must echo. */
7077
+ function edgeAlertOf(picture) {
7078
+ return picture.pendingCount > 0 || picture.now.status === "failure" || picture.now.status === "interrupted";
7079
+ }
7080
+ /** One-word health summary for the header trigger's aria state. */
7081
+ function summaryStateOf(picture) {
7082
+ return picture.pendingCount > 0 ? "等待确认" : picture.running ? "正在执行" : picture.now.status === "failure" ? "执行失败" : picture.now.status === "interrupted" ? "已中断" : picture.nodes.length > 0 ? "就绪" : "待命";
7083
+ }
7038
7084
  function StatusMark({ status, className }) {
7039
7085
  const state = dotState(status);
7040
7086
  return state === null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
@@ -8053,35 +8099,10 @@ window.__ModuleLoader__.load({
8053
8099
  sessionSnapshot.hasMore,
8054
8100
  sessionSnapshot.running
8055
8101
  ]);
8056
- const running = snapshot.running;
8057
8102
  const wholeSessionStats = useProjection("sessionStats");
8058
8103
  const wholeSessionInsights = useProjection("watcherInsights");
8059
- const snapshotPicture = (0, react.useMemo)(() => foldSnapshot(snapshot, { running }), [snapshot, running]);
8060
- const observedRef = (0, react.useRef)(null);
8061
- const picture = (0, react.useMemo)(() => {
8062
- const previous = observedRef.current?.sessionId === sessionId ? observedRef.current.picture : null;
8063
- const next = previous === null ? snapshotPicture : mergeObservedPictures(previous, snapshotPicture);
8064
- observedRef.current = {
8065
- sessionId,
8066
- picture: next
8067
- };
8068
- return next;
8069
- }, [sessionId, snapshotPicture]);
8070
- const performanceByTurn = (0, react.useMemo)(() => deriveTurnPerformance(snapshot.nodes, picture.turns), [snapshot.nodes, picture.turns]);
8071
- const lastGroup = picture.nodes.at(-1);
8072
- const lastGroupId = lastGroup?.id ?? null;
8073
- const lastItem = lastGroup?.items.at(-1);
8074
- const latestActivityKey = lastItem === void 0 ? lastGroupId : `${lastGroupId}:${lastItem.id}:${lastItem.seq}:${lastItem.status}:${lastItem.resultSeq ?? "open"}:${lastItem.resultTime ?? "open"}`;
8104
+ const { picture, performanceByTurn } = useObservedPicture(sessionId, snapshot);
8075
8105
  const [open, setOpen] = (0, react.useState)(false);
8076
- const [ui, setUi] = (0, react.useState)(() => ({
8077
- follow: true,
8078
- unread: 0,
8079
- selectedId: null
8080
- }));
8081
- const [selectedItemId, setSelectedItemId] = (0, react.useState)(null);
8082
- const [inspectorClosing, setInspectorClosing] = (0, react.useState)(false);
8083
- const inspectorExitTimer = (0, react.useRef)(null);
8084
- const inspectorExitToLatest = (0, react.useRef)(false);
8085
8106
  const [panelPin, setPanelPin] = (0, react.useState)(null);
8086
8107
  const panelPinTimer = (0, react.useRef)(null);
8087
8108
  /** Resize anchors the panel at its current top-left; null until first resized. */
@@ -8092,17 +8113,9 @@ window.__ModuleLoader__.load({
8092
8113
  const resizeStart = (0, react.useRef)(null);
8093
8114
  /** The natural size the panel opened at — the floor; resize can only grow. */
8094
8115
  const resizeMin = (0, react.useRef)(null);
8095
- const [observationMode, setObservationMode] = (0, react.useState)("itemized");
8096
- const [disclosure, setDisclosure] = (0, react.useState)(createDisclosureState);
8097
- const [historyLoad, setHistoryLoad] = (0, react.useState)({ kind: "idle" });
8098
- const now = useLiveClock(open && picture.running);
8099
- const followRef = (0, react.useRef)(createFollow());
8100
8116
  const rootRef = (0, react.useRef)(null);
8101
8117
  const triggerRef = (0, react.useRef)(null);
8102
8118
  const panelRef = (0, react.useRef)(null);
8103
- const railRef = (0, react.useRef)(null);
8104
- const programmaticScrollRef = (0, react.useRef)(false);
8105
- const historyAbortRef = (0, react.useRef)(null);
8106
8119
  const panelPosition = (0, _deepseek_ai_dsh_client_ui_primitives.useAnchoredPosition)({
8107
8120
  open,
8108
8121
  anchorRef: triggerRef,
@@ -8131,86 +8144,11 @@ window.__ModuleLoader__.load({
8131
8144
  document.removeEventListener("keydown", closeOnEscape);
8132
8145
  };
8133
8146
  }, [open]);
8134
- (0, react.useLayoutEffect)(() => {
8135
- historyAbortRef.current?.abort();
8136
- historyAbortRef.current = null;
8137
- setHistoryLoad({ kind: "idle" });
8138
- followRef.current.reset();
8139
- setUi(followRef.current.snapshot());
8140
- setSelectedItemId(null);
8141
- setDisclosure(resetDisclosureOverrides);
8142
- }, [sessionId]);
8143
8147
  (0, react.useEffect)(() => () => {
8144
- historyAbortRef.current?.abort();
8148
+ if (panelPinTimer.current !== null) window.clearTimeout(panelPinTimer.current);
8145
8149
  }, []);
8146
- (0, react.useLayoutEffect)(() => {
8147
- setUi(followRef.current.onPicture(picture));
8148
- }, [latestActivityKey]);
8149
- (0, react.useLayoutEffect)(() => {
8150
- const rail = railRef.current;
8151
- if (!rail || !open || !ui.follow) return;
8152
- programmaticScrollRef.current = true;
8153
- rail.scrollTop = rail.scrollHeight;
8154
- const frame = requestAnimationFrame(() => {
8155
- programmaticScrollRef.current = false;
8156
- });
8157
- return () => {
8158
- cancelAnimationFrame(frame);
8159
- programmaticScrollRef.current = false;
8160
- };
8161
- }, [
8162
- ui.follow,
8163
- latestActivityKey,
8164
- observationMode,
8165
- open
8166
- ]);
8167
- const selected = ui.selectedId === null ? void 0 : picture.nodes.find((group) => group.id === ui.selectedId);
8168
- const latestTurnNumber = picture.turns.at(-1)?.turn ?? null;
8169
- const totalTurnCount = Math.max(picture.turnCount, wholeSessionStats?.turns ?? 0);
8170
- const totalStepCount = Math.max(picture.stepCount, wholeSessionStats?.steps ?? 0);
8171
- const historyProgress = totalStepCount > picture.stepCount ? `${picture.stepCount}/${totalStepCount} 个步骤` : totalTurnCount > picture.turnCount ? `${picture.turnCount}/${totalTurnCount} 个对话轮次` : `${picture.stepCount} 个步骤已载入`;
8172
- const hasEdgeAlert = picture.pendingCount > 0 || picture.now.status === "failure" || picture.now.status === "interrupted";
8173
- const summaryState = picture.pendingCount > 0 ? "等待确认" : picture.running ? "正在执行" : picture.now.status === "failure" ? "执行失败" : picture.now.status === "interrupted" ? "已中断" : picture.nodes.length > 0 ? "就绪" : "待命";
8174
- const nowLabel = picture.now.label || (picture.nodes.length > 0 ? "执行路径已就绪" : "等待指令");
8175
- const selectItem = (group, item) => {
8176
- clearInspectorExit();
8177
- pinPanelFrame();
8178
- setInspectorClosing(false);
8179
- setUi(followRef.current.onSelect(group.id));
8180
- setSelectedItemId(item.id);
8181
- };
8182
- /**
8183
- * "定位现场" must end at the failing work item, not just somewhere near the
8184
- * turn: opening the inspector on that exact item is the whole point of the
8185
- * affordance. A finding whose step can't be matched still lands on its turn.
8186
- */
8187
- const locateEvidence = (e) => {
8188
- pinForDisclosure();
8189
- setDisclosure(chooseDisclosureDepth("detail"));
8190
- const turn = picture.turns.find((t) => t.turn === e.turn);
8191
- const group = turn?.groups.find((g) => g.items.some((i) => i.status === "failure" && e.steps.includes(i.step ?? -1)));
8192
- const item = group?.items.find((i) => i.status === "failure" && e.steps.includes(i.step ?? -1));
8193
- if (turn && group && item) {
8194
- selectItem(group, item);
8195
- requestAnimationFrame(() => document.getElementById(`watcher-turn-${turn.turn}`)?.scrollIntoView({ block: "nearest" }));
8196
- } else requestAnimationFrame(() => document.getElementById(`watcher-turn-${e.turn}`)?.scrollIntoView({ block: "nearest" }));
8197
- };
8198
- const onRailScroll = () => {
8199
- if (programmaticScrollRef.current) return;
8200
- const rail = railRef.current;
8201
- if (rail === null) return;
8202
- const atBottom = rail.scrollHeight - rail.scrollTop - rail.clientHeight < 24;
8203
- setUi(followRef.current.onScroll({ atBottom }));
8204
- };
8205
- const backToLatest = () => {
8206
- programmaticScrollRef.current = true;
8207
- setUi(followRef.current.backToLatest());
8208
- };
8209
- const clearInspectorExit = () => {
8210
- if (inspectorExitTimer.current === null) return;
8211
- window.clearTimeout(inspectorExitTimer.current);
8212
- inspectorExitTimer.current = null;
8213
- };
8150
+ const hasEdgeAlert = edgeAlertOf(picture);
8151
+ const summaryState = summaryStateOf(picture);
8214
8152
  const clearPanelPin = () => {
8215
8153
  if (panelPinTimer.current !== null) {
8216
8154
  window.clearTimeout(panelPinTimer.current);
@@ -8303,74 +8241,6 @@ window.__ModuleLoader__.load({
8303
8241
  window.addEventListener("pointermove", move);
8304
8242
  window.addEventListener("pointerup", up);
8305
8243
  };
8306
- /**
8307
- * Closing the inspector is one continuous motion: the column narrows while
8308
- * the detail content slides right and disappears under the work-path card.
8309
- * The collapse animation already ends at the closed width, so the unmount
8310
- * that finishes it cannot flash or jump.
8311
- * `toLatest` is for the "查看最新" affordance only; the plain back control
8312
- * just closes the detail and keeps the rail pinned where the user left it.
8313
- */
8314
- const finishInspectorExit = () => {
8315
- clearInspectorExit();
8316
- setUi(inspectorExitToLatest.current ? followRef.current.backToLatest() : followRef.current.clearSelection());
8317
- setSelectedItemId(null);
8318
- setInspectorClosing(false);
8319
- };
8320
- const closeInspector = (toLatest = false) => {
8321
- if (inspectorClosing) return;
8322
- inspectorExitToLatest.current = toLatest;
8323
- pinPanelFrame();
8324
- setInspectorClosing(true);
8325
- inspectorExitTimer.current = window.setTimeout(finishInspectorExit, INSPECTOR_EXIT_FALLBACK_MS);
8326
- };
8327
- (0, react.useEffect)(() => () => {
8328
- clearInspectorExit();
8329
- if (panelPinTimer.current !== null) window.clearTimeout(panelPinTimer.current);
8330
- }, []);
8331
- const pinForDisclosure = () => {
8332
- if (ui.follow) setUi(followRef.current.setFollow(false));
8333
- };
8334
- const chooseObservationMode = (mode) => {
8335
- if (mode === observationMode) return;
8336
- if (ui.follow) programmaticScrollRef.current = true;
8337
- setObservationMode(mode);
8338
- };
8339
- const chooseDepth = (depth) => {
8340
- if (depth === disclosure.depth) return;
8341
- pinForDisclosure();
8342
- setDisclosure(chooseDisclosureDepth(depth));
8343
- };
8344
- const startHistoryLoad = () => {
8345
- if (historyLoad.kind === "loading" || historyLoad.kind === "complete") return;
8346
- historyAbortRef.current?.abort();
8347
- const controller = new AbortController();
8348
- historyAbortRef.current = controller;
8349
- setHistoryLoad({ kind: "loading" });
8350
- loadAllHistory(controller.signal).then((result) => {
8351
- if (historyAbortRef.current !== controller) return;
8352
- if (result.kind === "blocked") {
8353
- const message = result.reason === "busy" ? "主会话正在载入历史,请稍后重试" : result.reason === "page-limit" ? "历史页数超出安全上限,请分次重试" : "历史分页没有继续前进,请重试";
8354
- setHistoryLoad({
8355
- kind: "error",
8356
- message
8357
- });
8358
- } else if (result.kind === "complete") setHistoryLoad({ kind: "complete" });
8359
- else setHistoryLoad({ kind: "idle" });
8360
- }).catch((error) => {
8361
- if (historyAbortRef.current !== controller || controller.signal.aborted) return;
8362
- setHistoryLoad({
8363
- kind: "error",
8364
- message: error instanceof Error ? error.message : String(error)
8365
- });
8366
- }).finally(() => {
8367
- if (historyAbortRef.current === controller) historyAbortRef.current = null;
8368
- });
8369
- };
8370
- (0, react.useEffect)(() => {
8371
- if (historyLoad.kind !== "complete" || snapshot.hasMore) return;
8372
- setHistoryLoad({ kind: "idle" });
8373
- }, [historyLoad.kind, snapshot.hasMore]);
8374
8244
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8375
8245
  ref: rootRef,
8376
8246
  className: Watcher_module_css_default.root,
@@ -8411,271 +8281,16 @@ window.__ModuleLoader__.load({
8411
8281
  "data-dsh-watcher-panel": "",
8412
8282
  "data-ud-motion": "watcher-panel-enter",
8413
8283
  children: [
8414
- selected === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExecutionInspector, {
8415
- group: selected,
8416
- selectedItemId,
8417
- live: picture.running && selected.id === lastGroupId,
8418
- now,
8419
- closing: inspectorClosing,
8420
- onSelectItem: setSelectedItemId,
8421
- onBack: () => closeInspector(),
8422
- onExited: finishInspectorExit
8423
- }),
8424
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
8425
- className: Watcher_module_css_default.workPicture,
8426
- "aria-label": "Agent 工作路径",
8427
- "data-ud-check": "watcher-work-picture",
8428
- "data-ud-role": "panel",
8429
- children: [
8430
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
8431
- className: Watcher_module_css_default.pictureHeader,
8432
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8433
- className: Watcher_module_css_default.nowBlock,
8434
- "aria-live": "polite",
8435
- children: [
8436
- picture.running || hasEdgeAlert || summaryState !== "就绪" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8437
- className: Watcher_module_css_default.eyebrow,
8438
- "data-alert": hasEdgeAlert ? "" : void 0,
8439
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: summaryState })
8440
- }) : null,
8441
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8442
- className: Watcher_module_css_default.now,
8443
- title: picture.running ? nowLabel : "DSH-Watcher",
8444
- children: picture.running ? nowLabel : "DSH-Watcher"
8445
- }),
8446
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8447
- className: Watcher_module_css_default.summary,
8448
- children: [
8449
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: snapshot.hasMore && totalTurnCount > picture.turnCount ? `已载入 ${picture.turnCount}/${totalTurnCount} 轮` : `${picture.turnCount} 轮` }),
8450
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: snapshot.hasMore && totalStepCount > picture.stepCount ? `${picture.stepCount}/${totalStepCount} 步` : `${picture.stepCount} 步` }),
8451
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [picture.actionCount, " 次执行"] }),
8452
- snapshot.hasMore || historyLoad.kind === "loading" || historyLoad.kind === "error" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8453
- type: "button",
8454
- className: Watcher_module_css_default.loadAllInlineBtn,
8455
- onClick: startHistoryLoad,
8456
- disabled: historyLoad.kind === "loading",
8457
- children: historyLoad.kind === "loading" ? "正在补齐历史…" : historyLoad.kind === "error" ? "重试载入" : "载入全部历史 →"
8458
- }) : null,
8459
- historyLoad.kind === "loading" || historyLoad.kind === "error" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8460
- role: "status",
8461
- children: historyLoad.kind === "error" ? historyLoad.message : `已载入 ${historyProgress}`
8462
- }) : null
8463
- ]
8464
- })
8465
- ]
8466
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_deepseek_ai_dsh_client_ui_primitives.Pill, {
8467
- className: Watcher_module_css_default.follow,
8468
- active: ui.follow,
8469
- "aria-pressed": ui.follow,
8470
- "aria-label": ui.follow ? "停止跟随最新工作" : "跟随最新工作",
8471
- onClick: () => {
8472
- if (!ui.follow) programmaticScrollRef.current = true;
8473
- setUi(followRef.current.setFollow(!ui.follow));
8474
- },
8475
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 12 }), ui.follow ? "自动跟随" : "浏览历史"]
8476
- })]
8477
- }),
8478
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SessionInsights, {
8479
- value: wholeSessionInsights,
8480
- now,
8481
- running: picture.running,
8482
- waiting: picture.pendingCount > 0,
8483
- onEvidence: locateEvidence
8484
- }),
8485
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8486
- className: Watcher_module_css_default.viewToolbar,
8487
- "aria-label": "路径视图设置",
8488
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8489
- className: Watcher_module_css_default.viewControl,
8490
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8491
- className: Watcher_module_css_default.viewToolbarLabel,
8492
- children: "组织"
8493
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8494
- className: Watcher_module_css_default.viewMode,
8495
- role: "group",
8496
- "aria-label": "路径组织方式",
8497
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8498
- type: "button",
8499
- "data-active": observationMode === "itemized" ? "" : void 0,
8500
- "aria-pressed": observationMode === "itemized",
8501
- title: "按时间顺序展示每个步骤和每次执行",
8502
- onClick: () => chooseObservationMode("itemized"),
8503
- children: "逐项"
8504
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8505
- type: "button",
8506
- "data-active": observationMode === "grouped" ? "" : void 0,
8507
- "aria-pressed": observationMode === "grouped",
8508
- title: "按同一目标或完全相同的指令归类,展开仍可查看原始执行",
8509
- onClick: () => chooseObservationMode("grouped"),
8510
- children: "归类"
8511
- })]
8512
- })]
8513
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8514
- className: Watcher_module_css_default.viewControl,
8515
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8516
- className: Watcher_module_css_default.viewToolbarLabel,
8517
- children: "层级"
8518
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8519
- className: Watcher_module_css_default.viewMode,
8520
- role: "group",
8521
- "aria-label": "路径展开深度",
8522
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8523
- type: "button",
8524
- "data-active": disclosure.depth === "overview" ? "" : void 0,
8525
- "aria-pressed": disclosure.depth === "overview",
8526
- title: "展开当前轮次,展示阶段概览;阶段内部保持收起",
8527
- onClick: () => chooseDepth("overview"),
8528
- children: "概览"
8529
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8530
- type: "button",
8531
- "data-active": disclosure.depth === "detail" ? "" : void 0,
8532
- "aria-pressed": disclosure.depth === "detail",
8533
- title: "展开所有轮次、阶段、步骤、模型与推理记录",
8534
- onClick: () => chooseDepth("detail"),
8535
- children: "详情"
8536
- })]
8537
- })]
8538
- })]
8539
- }),
8540
- !ui.follow && ui.unread > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
8541
- type: "button",
8542
- className: Watcher_module_css_default.unread,
8543
- onClick: selected === void 0 ? backToLatest : () => closeInspector(true),
8544
- children: [
8545
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 12 }),
8546
- ui.unread,
8547
- " 条新进展 · 查看最新"
8548
- ]
8549
- }) : null,
8550
- picture.nodes.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8551
- className: Watcher_module_css_default.empty,
8552
- children: [
8553
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8554
- className: Watcher_module_css_default.emptyEye,
8555
- "aria-hidden": "true",
8556
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconLivingEye, { size: 22 })
8557
- }),
8558
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", { children: "还没有工作记录" }),
8559
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "第一轮对话开始后,路径会从这里生长" })
8560
- ]
8561
- }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8562
- ref: railRef,
8563
- className: Watcher_module_css_default.railViewport,
8564
- onScroll: onRailScroll,
8565
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8566
- className: Watcher_module_css_default.turns,
8567
- children: picture.turns.map((turn) => {
8568
- const isLatestTurn = turn.turn === latestTurnNumber;
8569
- const turnState = overviewStateOf(turn.status, isLatestTurn);
8570
- const automaticDefaultOpen = turnNeedsDefaultDisclosure(turnState, isLatestTurn);
8571
- const turnOpen = turnDisclosureOpen(disclosure, turn.turn, automaticDefaultOpen);
8572
- const turnTitle = turn.turn === 0 ? "会话准备" : `对话轮次 ${turn.turn}`;
8573
- const turnSummary = turnOverviewSummary(turn);
8574
- const performance = performanceByTurn.get(turn.turn);
8575
- const duration = turnDuration(turn, isLatestTurn && picture.running, now);
8576
- const tokenSpeed = performance?.throughput.kind === "measured" ? `${formatTokensPerSecond(performance.throughput.tokensPerSecond)} tok/s` : null;
8577
- const durationAria = duration === null ? "" : duration.kind === "exact" ? `,总耗时 ${duration.value}` : `,已记录 ${duration.value},开头未载入`;
8578
- const secondaryPerformance = [duration?.kind === "partial" ? "开头未载入" : null, tokenSpeed].filter((value) => value !== null).join(" · ");
8579
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
8580
- className: Watcher_module_css_default.turn,
8581
- "aria-labelledby": `watcher-turn-${turn.turn}`,
8582
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("header", {
8583
- className: Watcher_module_css_default.turnHeader,
8584
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
8585
- id: `watcher-turn-${turn.turn}`,
8586
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
8587
- type: "button",
8588
- className: Watcher_module_css_default.turnToggle,
8589
- "aria-expanded": turnOpen,
8590
- "aria-controls": `watcher-turn-body-${turn.turn}`,
8591
- "aria-label": `${turnTitle},${OVERVIEW_STATE_LABEL[turnState]},${turnSummary}${durationAria}${tokenSpeed === null ? "" : `,生成速度 ${tokenSpeed}`},${turnOpen ? "收起轮次" : "展开轮次"}`,
8592
- title: turnOpen ? "收起此轮次;新进展仍会继续更新" : "展开此轮次",
8593
- onClick: () => {
8594
- pinForDisclosure();
8595
- setDisclosure((current) => toggleTurnDisclosure(current, turn.turn, automaticDefaultOpen));
8596
- },
8597
- children: [
8598
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
8599
- size: 13,
8600
- className: Watcher_module_css_default.turnChevron
8601
- }),
8602
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
8603
- className: Watcher_module_css_default.turnCopy,
8604
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
8605
- className: Watcher_module_css_default.turnTitleLine,
8606
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8607
- className: Watcher_module_css_default.turnTitle,
8608
- children: turnTitle
8609
- }), showOverviewTag(turnState) ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8610
- className: Watcher_module_css_default.overviewTag,
8611
- "data-state": turnState,
8612
- children: OVERVIEW_STATE_LABEL[turnState]
8613
- }) : null]
8614
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8615
- className: Watcher_module_css_default.turnSummary,
8616
- children: turnSummary
8617
- })]
8618
- }),
8619
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
8620
- className: Watcher_module_css_default.turnPerformance,
8621
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8622
- className: Watcher_module_css_default.turnDuration,
8623
- children: duration === null ? OVERVIEW_STATE_LABEL[turnState] : duration.kind === "exact" ? `总 ${duration.value}` : `已记录 ${duration.value}`
8624
- }), secondaryPerformance === "" ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8625
- className: Watcher_module_css_default.turnSpeed,
8626
- children: secondaryPerformance
8627
- })]
8628
- })
8629
- ]
8630
- })
8631
- })
8632
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8633
- id: `watcher-turn-body-${turn.turn}`,
8634
- className: Watcher_module_css_default.turnBody,
8635
- hidden: !turnOpen,
8636
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8637
- className: Watcher_module_css_default.groupRail,
8638
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8639
- className: Watcher_module_css_default.railLine,
8640
- "aria-hidden": "true"
8641
- }), turn.groups.map((group) => {
8642
- const isNow = group.id === lastGroupId;
8643
- const selectedGroup = ui.selectedId === group.id;
8644
- const phaseOpen = layerDisclosureOpen(disclosure, "phase", group.id);
8645
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PhaseOverview, {
8646
- group,
8647
- isNow,
8648
- running: picture.running,
8649
- now,
8650
- selectedGroup,
8651
- selectedItemId,
8652
- observationMode,
8653
- open: phaseOpen,
8654
- disclosure,
8655
- onToggle: () => {
8656
- pinForDisclosure();
8657
- setDisclosure((current) => toggleLayerDisclosure(current, "phase", group.id));
8658
- },
8659
- onToggleLayer: (layer, key) => {
8660
- pinForDisclosure();
8661
- setDisclosure((current) => toggleLayerDisclosure(current, layer, key));
8662
- },
8663
- onToggleReasoning: (key, modelKey) => {
8664
- pinForDisclosure();
8665
- setDisclosure((current) => {
8666
- return toggleLayerDisclosure(layerDisclosureOpen(current, "reasoning", key) ? current : setLayerDisclosure(current, "model", modelKey, true), "reasoning", key);
8667
- });
8668
- },
8669
- onSelectItem: (item) => selectItem(group, item)
8670
- }, group.id);
8671
- })]
8672
- })
8673
- })]
8674
- }, turn.turn);
8675
- })
8676
- })
8677
- })
8678
- ]
8284
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WorkPicturePanel, {
8285
+ sessionId,
8286
+ picture,
8287
+ performanceByTurn,
8288
+ hasMore: snapshot.hasMore,
8289
+ stats: wholeSessionStats,
8290
+ insights: wholeSessionInsights,
8291
+ loadAllHistory,
8292
+ live: open,
8293
+ onInspectorFrameChange: pinPanelFrame
8679
8294
  }),
8680
8295
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8681
8296
  className: Watcher_module_css_default.resizeEdgeRight,
@@ -8697,11 +8312,476 @@ window.__ModuleLoader__.load({
8697
8312
  }), document.body) : null]
8698
8313
  });
8699
8314
  }
8700
- //#endregion
8701
- //#region src/client/model-trace-definition.ts
8702
- const modelTraceDefinition = {
8703
- kind: "dsh-watcher-model-stage",
8704
- match: (event) => {
8315
+ /**
8316
+ * Folds one Session snapshot into the work picture, merging observations that
8317
+ * outlive the loaded window. Shared by the session-header overlay and the
8318
+ * Better Sidebar tab so both surfaces read the same projection.
8319
+ */
8320
+ function useObservedPicture(sessionId, snapshot) {
8321
+ const running = snapshot.running;
8322
+ const snapshotPicture = (0, react.useMemo)(() => foldSnapshot(snapshot, { running }), [snapshot, running]);
8323
+ const observedRef = (0, react.useRef)(null);
8324
+ const picture = (0, react.useMemo)(() => {
8325
+ const previous = observedRef.current?.sessionId === sessionId ? observedRef.current.picture : null;
8326
+ const next = previous === null ? snapshotPicture : mergeObservedPictures(previous, snapshotPicture);
8327
+ observedRef.current = {
8328
+ sessionId,
8329
+ picture: next
8330
+ };
8331
+ return next;
8332
+ }, [sessionId, snapshotPicture]);
8333
+ return {
8334
+ picture,
8335
+ performanceByTurn: (0, react.useMemo)(() => deriveTurnPerformance(snapshot.nodes, picture.turns), [snapshot.nodes, picture.turns])
8336
+ };
8337
+ }
8338
+ /**
8339
+ * The work picture itself: the docked inspector column plus the turns rail.
8340
+ * Extracted from the session-header overlay so the Better Sidebar tab can
8341
+ * render the same picture without the portal, the trigger, or the drag frame.
8342
+ * Owns every picture-local concern (follow, disclosure, observation mode,
8343
+ * history load, inspector lifecycle); positioning stays with the host.
8344
+ */
8345
+ function WorkPicturePanel({ sessionId, picture, performanceByTurn, hasMore, stats, insights, hideInsights, loadAllHistory, live, onInspectorFrameChange, domIdPrefix }) {
8346
+ const [ui, setUi] = (0, react.useState)(() => ({
8347
+ follow: true,
8348
+ unread: 0,
8349
+ selectedId: null
8350
+ }));
8351
+ const [selectedItemId, setSelectedItemId] = (0, react.useState)(null);
8352
+ const [inspectorClosing, setInspectorClosing] = (0, react.useState)(false);
8353
+ const inspectorExitTimer = (0, react.useRef)(null);
8354
+ const inspectorExitToLatest = (0, react.useRef)(false);
8355
+ const [observationMode, setObservationMode] = (0, react.useState)("itemized");
8356
+ const [disclosure, setDisclosure] = (0, react.useState)(createDisclosureState);
8357
+ const [historyLoad, setHistoryLoad] = (0, react.useState)({ kind: "idle" });
8358
+ const now = useLiveClock(live && picture.running);
8359
+ const followRef = (0, react.useRef)(createFollow());
8360
+ const railRef = (0, react.useRef)(null);
8361
+ const programmaticScrollRef = (0, react.useRef)(false);
8362
+ const historyAbortRef = (0, react.useRef)(null);
8363
+ /** Coexisting surfaces (header overlay + sidebar tab) must not share DOM ids. */
8364
+ const domPrefix = domIdPrefix ?? "watcher-turn";
8365
+ const selected = ui.selectedId === null ? void 0 : picture.nodes.find((group) => group.id === ui.selectedId);
8366
+ const lastGroup = picture.nodes.at(-1);
8367
+ const lastGroupId = lastGroup?.id ?? null;
8368
+ const lastItem = lastGroup?.items.at(-1);
8369
+ const latestActivityKey = lastItem === void 0 ? lastGroupId : `${lastGroupId}:${lastItem.id}:${lastItem.seq}:${lastItem.status}:${lastItem.resultSeq ?? "open"}:${lastItem.resultTime ?? "open"}`;
8370
+ const latestTurnNumber = picture.turns.at(-1)?.turn ?? null;
8371
+ const totalTurnCount = Math.max(picture.turnCount, stats?.turns ?? 0);
8372
+ const totalStepCount = Math.max(picture.stepCount, stats?.steps ?? 0);
8373
+ const historyProgress = totalStepCount > picture.stepCount ? `${picture.stepCount}/${totalStepCount} 个步骤` : totalTurnCount > picture.turnCount ? `${picture.turnCount}/${totalTurnCount} 个对话轮次` : `${picture.stepCount} 个步骤已载入`;
8374
+ const hasEdgeAlert = edgeAlertOf(picture);
8375
+ const summaryState = summaryStateOf(picture);
8376
+ const nowLabel = picture.now.label || (picture.nodes.length > 0 ? "执行路径已就绪" : "等待指令");
8377
+ (0, react.useLayoutEffect)(() => {
8378
+ historyAbortRef.current?.abort();
8379
+ historyAbortRef.current = null;
8380
+ setHistoryLoad({ kind: "idle" });
8381
+ followRef.current.reset();
8382
+ setUi(followRef.current.snapshot());
8383
+ setSelectedItemId(null);
8384
+ setDisclosure(resetDisclosureOverrides);
8385
+ }, [sessionId]);
8386
+ (0, react.useEffect)(() => () => {
8387
+ historyAbortRef.current?.abort();
8388
+ clearInspectorExit();
8389
+ }, []);
8390
+ (0, react.useLayoutEffect)(() => {
8391
+ setUi(followRef.current.onPicture(picture));
8392
+ }, [latestActivityKey]);
8393
+ (0, react.useLayoutEffect)(() => {
8394
+ const rail = railRef.current;
8395
+ if (!rail || !live || !ui.follow) return;
8396
+ programmaticScrollRef.current = true;
8397
+ rail.scrollTop = rail.scrollHeight;
8398
+ const frame = requestAnimationFrame(() => {
8399
+ programmaticScrollRef.current = false;
8400
+ });
8401
+ return () => {
8402
+ cancelAnimationFrame(frame);
8403
+ programmaticScrollRef.current = false;
8404
+ };
8405
+ }, [
8406
+ ui.follow,
8407
+ latestActivityKey,
8408
+ observationMode,
8409
+ live
8410
+ ]);
8411
+ const selectItem = (group, item) => {
8412
+ clearInspectorExit();
8413
+ onInspectorFrameChange?.();
8414
+ setInspectorClosing(false);
8415
+ setUi(followRef.current.onSelect(group.id));
8416
+ setSelectedItemId(item.id);
8417
+ };
8418
+ /**
8419
+ * "定位现场" must end at the failing work item, not just somewhere near the
8420
+ * turn: opening the inspector on that exact item is the whole point of the
8421
+ * affordance. A finding whose step can't be matched still lands on its turn.
8422
+ */
8423
+ const locateEvidence = (e) => {
8424
+ pinForDisclosure();
8425
+ setDisclosure(chooseDisclosureDepth("detail"));
8426
+ const turn = picture.turns.find((t) => t.turn === e.turn);
8427
+ const group = turn?.groups.find((g) => g.items.some((i) => i.status === "failure" && e.steps.includes(i.step ?? -1)));
8428
+ const item = group?.items.find((i) => i.status === "failure" && e.steps.includes(i.step ?? -1));
8429
+ if (turn && group && item) {
8430
+ selectItem(group, item);
8431
+ requestAnimationFrame(() => document.getElementById(`${domPrefix}-${turn.turn}`)?.scrollIntoView({ block: "nearest" }));
8432
+ } else requestAnimationFrame(() => document.getElementById(`${domPrefix}-${e.turn}`)?.scrollIntoView({ block: "nearest" }));
8433
+ };
8434
+ const onRailScroll = () => {
8435
+ if (programmaticScrollRef.current) return;
8436
+ const rail = railRef.current;
8437
+ if (rail === null) return;
8438
+ const atBottom = rail.scrollHeight - rail.scrollTop - rail.clientHeight < 24;
8439
+ setUi(followRef.current.onScroll({ atBottom }));
8440
+ };
8441
+ const backToLatest = () => {
8442
+ programmaticScrollRef.current = true;
8443
+ setUi(followRef.current.backToLatest());
8444
+ };
8445
+ const clearInspectorExit = () => {
8446
+ if (inspectorExitTimer.current === null) return;
8447
+ window.clearTimeout(inspectorExitTimer.current);
8448
+ inspectorExitTimer.current = null;
8449
+ };
8450
+ /**
8451
+ * Closing the inspector is one continuous motion: the column narrows while
8452
+ * the detail content slides right and disappears under the work-path card.
8453
+ * The collapse animation already ends at the closed width, so the unmount
8454
+ * that finishes it cannot flash or jump.
8455
+ * `toLatest` is for the "查看最新" affordance only; the plain back control
8456
+ * just closes the detail and keeps the rail pinned where the user left it.
8457
+ */
8458
+ const finishInspectorExit = () => {
8459
+ setUi(inspectorExitToLatest.current ? followRef.current.backToLatest() : followRef.current.clearSelection());
8460
+ setSelectedItemId(null);
8461
+ setInspectorClosing(false);
8462
+ };
8463
+ const closeInspector = (toLatest = false) => {
8464
+ if (inspectorClosing) return;
8465
+ inspectorExitToLatest.current = toLatest;
8466
+ onInspectorFrameChange?.();
8467
+ setInspectorClosing(true);
8468
+ inspectorExitTimer.current = window.setTimeout(finishInspectorExit, INSPECTOR_EXIT_FALLBACK_MS);
8469
+ };
8470
+ const pinForDisclosure = () => {
8471
+ if (ui.follow) setUi(followRef.current.setFollow(false));
8472
+ };
8473
+ const chooseObservationMode = (mode) => {
8474
+ if (mode === observationMode) return;
8475
+ if (ui.follow) programmaticScrollRef.current = true;
8476
+ setObservationMode(mode);
8477
+ };
8478
+ const chooseDepth = (depth) => {
8479
+ if (depth === disclosure.depth) return;
8480
+ pinForDisclosure();
8481
+ setDisclosure(chooseDisclosureDepth(depth));
8482
+ };
8483
+ const startHistoryLoad = () => {
8484
+ if (historyLoad.kind === "loading" || historyLoad.kind === "complete") return;
8485
+ if (loadAllHistory === void 0) return;
8486
+ historyAbortRef.current?.abort();
8487
+ const controller = new AbortController();
8488
+ historyAbortRef.current = controller;
8489
+ setHistoryLoad({ kind: "loading" });
8490
+ loadAllHistory(controller.signal).then((result) => {
8491
+ if (historyAbortRef.current !== controller) return;
8492
+ if (result.kind === "blocked") {
8493
+ const message = result.reason === "busy" ? "主会话正在载入历史,请稍后重试" : result.reason === "page-limit" ? "历史页数超出安全上限,请分次重试" : "历史分页没有继续前进,请重试";
8494
+ setHistoryLoad({
8495
+ kind: "error",
8496
+ message
8497
+ });
8498
+ } else if (result.kind === "complete") setHistoryLoad({ kind: "complete" });
8499
+ else setHistoryLoad({ kind: "idle" });
8500
+ }).catch((error) => {
8501
+ if (historyAbortRef.current !== controller || controller.signal.aborted) return;
8502
+ setHistoryLoad({
8503
+ kind: "error",
8504
+ message: error instanceof Error ? error.message : String(error)
8505
+ });
8506
+ }).finally(() => {
8507
+ if (historyAbortRef.current === controller) historyAbortRef.current = null;
8508
+ });
8509
+ };
8510
+ (0, react.useEffect)(() => {
8511
+ if (historyLoad.kind !== "complete" || hasMore) return;
8512
+ setHistoryLoad({ kind: "idle" });
8513
+ }, [historyLoad.kind, hasMore]);
8514
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [selected === void 0 ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ExecutionInspector, {
8515
+ group: selected,
8516
+ selectedItemId,
8517
+ live: picture.running && selected.id === lastGroupId,
8518
+ now,
8519
+ closing: inspectorClosing,
8520
+ onSelectItem: setSelectedItemId,
8521
+ onBack: () => closeInspector(),
8522
+ onExited: finishInspectorExit
8523
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
8524
+ className: Watcher_module_css_default.workPicture,
8525
+ "aria-label": "Agent 工作路径",
8526
+ "data-ud-check": "watcher-work-picture",
8527
+ "data-ud-role": "panel",
8528
+ children: [
8529
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
8530
+ className: Watcher_module_css_default.pictureHeader,
8531
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8532
+ className: Watcher_module_css_default.nowBlock,
8533
+ "aria-live": "polite",
8534
+ children: [
8535
+ picture.running || hasEdgeAlert || summaryState !== "就绪" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8536
+ className: Watcher_module_css_default.eyebrow,
8537
+ "data-alert": hasEdgeAlert ? "" : void 0,
8538
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: summaryState })
8539
+ }) : null,
8540
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8541
+ className: Watcher_module_css_default.now,
8542
+ title: picture.running ? nowLabel : "DSH-Watcher",
8543
+ children: picture.running ? nowLabel : "DSH-Watcher"
8544
+ }),
8545
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8546
+ className: Watcher_module_css_default.summary,
8547
+ children: [
8548
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: hasMore && totalTurnCount > picture.turnCount ? `已载入 ${picture.turnCount}/${totalTurnCount} 轮` : `${picture.turnCount} 轮` }),
8549
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: hasMore && totalStepCount > picture.stepCount ? `${picture.stepCount}/${totalStepCount} 步` : `${picture.stepCount} 步` }),
8550
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", { children: [picture.actionCount, " 次执行"] }),
8551
+ hasMore || historyLoad.kind === "loading" || historyLoad.kind === "error" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8552
+ type: "button",
8553
+ className: Watcher_module_css_default.loadAllInlineBtn,
8554
+ onClick: startHistoryLoad,
8555
+ disabled: historyLoad.kind === "loading",
8556
+ children: historyLoad.kind === "loading" ? "正在补齐历史…" : historyLoad.kind === "error" ? "重试载入" : "载入全部历史 →"
8557
+ }) : null,
8558
+ historyLoad.kind === "loading" || historyLoad.kind === "error" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8559
+ role: "status",
8560
+ children: historyLoad.kind === "error" ? historyLoad.message : `已载入 ${historyProgress}`
8561
+ }) : null
8562
+ ]
8563
+ })
8564
+ ]
8565
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_deepseek_ai_dsh_client_ui_primitives.Pill, {
8566
+ className: Watcher_module_css_default.follow,
8567
+ active: ui.follow,
8568
+ "aria-pressed": ui.follow,
8569
+ "aria-label": ui.follow ? "停止跟随最新工作" : "跟随最新工作",
8570
+ onClick: () => {
8571
+ if (!ui.follow) programmaticScrollRef.current = true;
8572
+ setUi(followRef.current.setFollow(!ui.follow));
8573
+ },
8574
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 12 }), ui.follow ? "自动跟随" : "浏览历史"]
8575
+ })]
8576
+ }),
8577
+ hideInsights === true ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SessionInsights, {
8578
+ value: insights,
8579
+ now,
8580
+ running: picture.running,
8581
+ waiting: picture.pendingCount > 0,
8582
+ onEvidence: locateEvidence
8583
+ }),
8584
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8585
+ className: Watcher_module_css_default.viewToolbar,
8586
+ "aria-label": "路径视图设置",
8587
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8588
+ className: Watcher_module_css_default.viewControl,
8589
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8590
+ className: Watcher_module_css_default.viewToolbarLabel,
8591
+ children: "组织"
8592
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8593
+ className: Watcher_module_css_default.viewMode,
8594
+ role: "group",
8595
+ "aria-label": "路径组织方式",
8596
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8597
+ type: "button",
8598
+ "data-active": observationMode === "itemized" ? "" : void 0,
8599
+ "aria-pressed": observationMode === "itemized",
8600
+ title: "按时间顺序展示每个步骤和每次执行",
8601
+ onClick: () => chooseObservationMode("itemized"),
8602
+ children: "逐项"
8603
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8604
+ type: "button",
8605
+ "data-active": observationMode === "grouped" ? "" : void 0,
8606
+ "aria-pressed": observationMode === "grouped",
8607
+ title: "按同一目标或完全相同的指令归类,展开仍可查看原始执行",
8608
+ onClick: () => chooseObservationMode("grouped"),
8609
+ children: "归类"
8610
+ })]
8611
+ })]
8612
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8613
+ className: Watcher_module_css_default.viewControl,
8614
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8615
+ className: Watcher_module_css_default.viewToolbarLabel,
8616
+ children: "层级"
8617
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8618
+ className: Watcher_module_css_default.viewMode,
8619
+ role: "group",
8620
+ "aria-label": "路径展开深度",
8621
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8622
+ type: "button",
8623
+ "data-active": disclosure.depth === "overview" ? "" : void 0,
8624
+ "aria-pressed": disclosure.depth === "overview",
8625
+ title: "展开当前轮次,展示阶段概览;阶段内部保持收起",
8626
+ onClick: () => chooseDepth("overview"),
8627
+ children: "概览"
8628
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
8629
+ type: "button",
8630
+ "data-active": disclosure.depth === "detail" ? "" : void 0,
8631
+ "aria-pressed": disclosure.depth === "detail",
8632
+ title: "展开所有轮次、阶段、步骤、模型与推理记录",
8633
+ onClick: () => chooseDepth("detail"),
8634
+ children: "详情"
8635
+ })]
8636
+ })]
8637
+ })]
8638
+ }),
8639
+ !ui.follow && ui.unread > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
8640
+ type: "button",
8641
+ className: Watcher_module_css_default.unread,
8642
+ onClick: selected === void 0 ? backToLatest : () => closeInspector(true),
8643
+ children: [
8644
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconRefreshOutlineRegular, { size: 12 }),
8645
+ ui.unread,
8646
+ " 条新进展 · 查看最新"
8647
+ ]
8648
+ }) : null,
8649
+ picture.nodes.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8650
+ className: Watcher_module_css_default.empty,
8651
+ children: [
8652
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8653
+ className: Watcher_module_css_default.emptyEye,
8654
+ "aria-hidden": "true",
8655
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconLivingEye, { size: 22 })
8656
+ }),
8657
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", { children: "还没有工作记录" }),
8658
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "第一轮对话开始后,路径会从这里生长" })
8659
+ ]
8660
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8661
+ ref: railRef,
8662
+ className: Watcher_module_css_default.railViewport,
8663
+ onScroll: onRailScroll,
8664
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8665
+ className: Watcher_module_css_default.turns,
8666
+ children: picture.turns.map((turn) => {
8667
+ const isLatestTurn = turn.turn === latestTurnNumber;
8668
+ const turnState = overviewStateOf(turn.status, isLatestTurn);
8669
+ const automaticDefaultOpen = turnNeedsDefaultDisclosure(turnState, isLatestTurn);
8670
+ const turnOpen = turnDisclosureOpen(disclosure, turn.turn, automaticDefaultOpen);
8671
+ const turnTitle = turn.turn === 0 ? "会话准备" : `对话轮次 ${turn.turn}`;
8672
+ const turnSummary = turnOverviewSummary(turn);
8673
+ const performance = performanceByTurn.get(turn.turn);
8674
+ const duration = turnDuration(turn, isLatestTurn && picture.running, now);
8675
+ const tokenSpeed = performance?.throughput.kind === "measured" ? `${formatTokensPerSecond(performance.throughput.tokensPerSecond)} tok/s` : null;
8676
+ const durationAria = duration === null ? "" : duration.kind === "exact" ? `,总耗时 ${duration.value}` : `,已记录 ${duration.value},开头未载入`;
8677
+ const secondaryPerformance = [duration?.kind === "partial" ? "开头未载入" : null, tokenSpeed].filter((value) => value !== null).join(" · ");
8678
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
8679
+ className: Watcher_module_css_default.turn,
8680
+ "aria-labelledby": `${domPrefix}-${turn.turn}`,
8681
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("header", {
8682
+ className: Watcher_module_css_default.turnHeader,
8683
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
8684
+ id: `${domPrefix}-${turn.turn}`,
8685
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
8686
+ type: "button",
8687
+ className: Watcher_module_css_default.turnToggle,
8688
+ "aria-expanded": turnOpen,
8689
+ "aria-controls": `${domPrefix}-body-${turn.turn}`,
8690
+ "aria-label": `${turnTitle},${OVERVIEW_STATE_LABEL[turnState]},${turnSummary}${durationAria}${tokenSpeed === null ? "" : `,生成速度 ${tokenSpeed}`},${turnOpen ? "收起轮次" : "展开轮次"}`,
8691
+ title: turnOpen ? "收起此轮次;新进展仍会继续更新" : "展开此轮次",
8692
+ onClick: () => {
8693
+ pinForDisclosure();
8694
+ setDisclosure((current) => toggleTurnDisclosure(current, turn.turn, automaticDefaultOpen));
8695
+ },
8696
+ children: [
8697
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronRightOutlineRegular, {
8698
+ size: 13,
8699
+ className: Watcher_module_css_default.turnChevron
8700
+ }),
8701
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
8702
+ className: Watcher_module_css_default.turnCopy,
8703
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
8704
+ className: Watcher_module_css_default.turnTitleLine,
8705
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8706
+ className: Watcher_module_css_default.turnTitle,
8707
+ children: turnTitle
8708
+ }), showOverviewTag(turnState) ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8709
+ className: Watcher_module_css_default.overviewTag,
8710
+ "data-state": turnState,
8711
+ children: OVERVIEW_STATE_LABEL[turnState]
8712
+ }) : null]
8713
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8714
+ className: Watcher_module_css_default.turnSummary,
8715
+ children: turnSummary
8716
+ })]
8717
+ }),
8718
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
8719
+ className: Watcher_module_css_default.turnPerformance,
8720
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8721
+ className: Watcher_module_css_default.turnDuration,
8722
+ children: duration === null ? OVERVIEW_STATE_LABEL[turnState] : duration.kind === "exact" ? `总 ${duration.value}` : `已记录 ${duration.value}`
8723
+ }), secondaryPerformance === "" ? null : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8724
+ className: Watcher_module_css_default.turnSpeed,
8725
+ children: secondaryPerformance
8726
+ })]
8727
+ })
8728
+ ]
8729
+ })
8730
+ })
8731
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8732
+ id: `${domPrefix}-body-${turn.turn}`,
8733
+ className: Watcher_module_css_default.turnBody,
8734
+ hidden: !turnOpen,
8735
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
8736
+ className: Watcher_module_css_default.groupRail,
8737
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8738
+ className: Watcher_module_css_default.railLine,
8739
+ "aria-hidden": "true"
8740
+ }), turn.groups.map((group) => {
8741
+ const isNow = group.id === lastGroupId;
8742
+ const selectedGroup = ui.selectedId === group.id;
8743
+ const phaseOpen = layerDisclosureOpen(disclosure, "phase", group.id);
8744
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PhaseOverview, {
8745
+ group,
8746
+ isNow,
8747
+ running: picture.running,
8748
+ now,
8749
+ selectedGroup,
8750
+ selectedItemId,
8751
+ observationMode,
8752
+ open: phaseOpen,
8753
+ disclosure,
8754
+ onToggle: () => {
8755
+ pinForDisclosure();
8756
+ setDisclosure((current) => toggleLayerDisclosure(current, "phase", group.id));
8757
+ },
8758
+ onToggleLayer: (layer, key) => {
8759
+ pinForDisclosure();
8760
+ setDisclosure((current) => toggleLayerDisclosure(current, layer, key));
8761
+ },
8762
+ onToggleReasoning: (key, modelKey) => {
8763
+ pinForDisclosure();
8764
+ setDisclosure((current) => {
8765
+ return toggleLayerDisclosure(layerDisclosureOpen(current, "reasoning", key) ? current : setLayerDisclosure(current, "model", modelKey, true), "reasoning", key);
8766
+ });
8767
+ },
8768
+ onSelectItem: (item) => selectItem(group, item)
8769
+ }, group.id);
8770
+ })]
8771
+ })
8772
+ })]
8773
+ }, turn.turn);
8774
+ })
8775
+ })
8776
+ })
8777
+ ]
8778
+ })] });
8779
+ }
8780
+ //#endregion
8781
+ //#region src/client/model-trace-definition.ts
8782
+ const modelTraceDefinition = {
8783
+ kind: "dsh-watcher-model-stage",
8784
+ match: (event) => {
8705
8785
  const first = modelTraceEventsOf(event)[0];
8706
8786
  if (first === void 0) return null;
8707
8787
  return {
@@ -8740,6 +8820,136 @@ window.__ModuleLoader__.load({
8740
8820
  ctx.uiConversation.events.register(modelTraceDefinition);
8741
8821
  }
8742
8822
  //#endregion
8823
+ //#region src/client/SidebarTab.tsx
8824
+ /** Read the optional service off a context without importing the peer. */
8825
+ function betterSidebarServiceOf(ctx) {
8826
+ const service = ctx.betterSidebar;
8827
+ return typeof service === "object" && service !== null ? service : void 0;
8828
+ }
8829
+ /** The Watcher tab descriptor registered into dsh-better-sidebar. */
8830
+ function watcherSidebarDescriptor() {
8831
+ return {
8832
+ id: "dsh-watcher:picture",
8833
+ title: "Watcher",
8834
+ single: true,
8835
+ order: 80,
8836
+ component: ({ ctx, scope, visible }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WatcherSidebarTab, {
8837
+ ctx,
8838
+ sessionId: scope.sessionId,
8839
+ visible
8840
+ })
8841
+ };
8842
+ }
8843
+ function subscribeNone() {
8844
+ return () => {};
8845
+ }
8846
+ function getSnapshotUndefined() {}
8847
+ /** Subscribe to one snapshot source; tolerate an absent source at rest. */
8848
+ function useObservableValue(source) {
8849
+ const subscribe = (0, react.useMemo)(() => source === void 0 ? void 0 : (listener) => source.subscribe(listener), [source]);
8850
+ const getSnapshot = (0, react.useMemo)(() => source === void 0 ? void 0 : () => source.getSnapshot(), [source]);
8851
+ return (0, react.useSyncExternalStore)(subscribe ?? subscribeNone, getSnapshot ?? getSnapshotUndefined, getSnapshotUndefined);
8852
+ }
8853
+ /**
8854
+ * Resolve the Watcher's data sources for one Session through the same doors the
8855
+ * session-header overlay uses: `sessions.binding` for the Session face and
8856
+ * `uiConversation.binding` for the Conversation snapshot. Returns undefined
8857
+ * while the Session has no retained binding (the tab shows its waiting state).
8858
+ */
8859
+ function resolveSidebarSources(ctx, sessionId) {
8860
+ const face = ctx.sessions?.binding?.(sessionId)?.session;
8861
+ if (face === void 0) return void 0;
8862
+ try {
8863
+ return {
8864
+ conversation: ctx.uiConversation.binding(sessionId).snapshot,
8865
+ session: face,
8866
+ status: ctx.uiSession.sessionStatus,
8867
+ stats: face.projections?.faceOf?.("sessionStats"),
8868
+ face
8869
+ };
8870
+ } catch {
8871
+ return;
8872
+ }
8873
+ }
8874
+ function waitingRoot() {
8875
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8876
+ className: Watcher_module_css_default.sidebarHost,
8877
+ "data-watcher-sidebar": "waiting",
8878
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
8879
+ role: "status",
8880
+ children: "Watcher 正在等待会话记录…"
8881
+ })
8882
+ });
8883
+ }
8884
+ /**
8885
+ * The Better Sidebar tab body: the session-header overlay's work picture,
8886
+ * ported onto `scope.sessionId` without the portal, the trigger, or the drag
8887
+ * frame. Reads the same Session/Conversation stores through their binding
8888
+ * faces; the cost/performance HUD and whole-history paging stay explicit (and
8889
+ * `visible: false` never starts a load — only the button does).
8890
+ */
8891
+ function WatcherSidebarTab({ ctx, sessionId, visible }) {
8892
+ const sources = (0, react.useMemo)(() => resolveSidebarSources(ctx, sessionId), [ctx, sessionId]);
8893
+ const conversation = useObservableValue(sources?.conversation);
8894
+ const sessionSnapshot = useObservableValue(sources?.session);
8895
+ const statusMap = useObservableValue(sources?.status);
8896
+ const stats = useObservableValue(sources?.stats);
8897
+ const pendingInteraction = statusMap?.get(sessionId)?.pendingInteraction;
8898
+ const chat = conversation?.views?.get("chat");
8899
+ const snapshot = (0, react.useMemo)(() => {
8900
+ if (conversation === void 0 || chat === void 0 || sessionSnapshot === void 0) return void 0;
8901
+ return {
8902
+ views: conversation.views,
8903
+ chat,
8904
+ nodes: chat.legacy.nodes,
8905
+ turnTimings: chat.legacy.turnTimings,
8906
+ runningCalls: chat.legacy.runningCalls,
8907
+ pending: pendingInteraction === void 0 ? [] : [pendingInteraction],
8908
+ blank: sessionSnapshot.blank,
8909
+ running: sessionSnapshot.running,
8910
+ hasMore: sessionSnapshot.hasMore
8911
+ };
8912
+ }, [
8913
+ conversation,
8914
+ chat,
8915
+ pendingInteraction,
8916
+ sessionSnapshot
8917
+ ]);
8918
+ if (snapshot === void 0) return waitingRoot();
8919
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WatcherSidebarReady, {
8920
+ ctx,
8921
+ sessionId,
8922
+ visible,
8923
+ snapshot,
8924
+ stats,
8925
+ face: sources?.face
8926
+ });
8927
+ }
8928
+ function WatcherSidebarReady({ ctx, sessionId, visible, snapshot, stats, face }) {
8929
+ const { picture, performanceByTurn } = useObservedPicture(sessionId, snapshot);
8930
+ const loadAllHistory = (0, react.useMemo)(() => face === void 0 ? void 0 : createCompleteHistoryLoader(ctx, sessionId, face), [
8931
+ ctx,
8932
+ sessionId,
8933
+ face
8934
+ ]);
8935
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
8936
+ className: Watcher_module_css_default.sidebarHost,
8937
+ "data-watcher-sidebar": "picture",
8938
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(WorkPicturePanel, {
8939
+ sessionId,
8940
+ picture,
8941
+ performanceByTurn,
8942
+ hasMore: snapshot.hasMore,
8943
+ stats,
8944
+ insights: void 0,
8945
+ hideInsights: true,
8946
+ loadAllHistory,
8947
+ live: visible,
8948
+ domIdPrefix: "watcher-side-turn"
8949
+ })
8950
+ });
8951
+ }
8952
+ //#endregion
8743
8953
  //#region src/client/index.tsx
8744
8954
  const name = "dsh-watcher-client";
8745
8955
  const inject = [
@@ -8770,24 +8980,14 @@ window.__ModuleLoader__.load({
8770
8980
  inject: (sessionId) => {
8771
8981
  const session = ctx.sessions.binding?.(sessionId)?.session;
8772
8982
  if (session === void 0) throw new Error(`dsh-watcher: session "${sessionId}" is unavailable`);
8773
- return { loadAllHistory: (signal) => loadCompleteHistory({
8774
- signal,
8775
- loadOlder: () => session.loadOlder(),
8776
- read: () => {
8777
- const sessionSnapshot = session.getSnapshot();
8778
- const chat = ctx.uiConversation.binding(sessionId).snapshot.getSnapshot().views.get("chat");
8779
- if (chat === void 0) throw new Error("dsh-watcher: Chat conversation target is unavailable");
8780
- const firstNode = chat.legacy.nodes[0];
8781
- const firstTurn = chat.timeline.turnOrder[0];
8782
- return {
8783
- hasMore: sessionSnapshot.hasMore,
8784
- loadingOlder: sessionSnapshot.loadingOlder,
8785
- headKey: `${firstTurn ?? "none"}:${firstNode?.seq ?? "none"}:${chat.legacy.nodes.length}`
8786
- };
8787
- }
8788
- }) };
8983
+ return { loadAllHistory: (signal) => createCompleteHistoryLoader(ctx, sessionId, session)(signal) };
8789
8984
  }
8790
8985
  }, Watcher));
8986
+ ctx.inject(["betterSidebar"], (c) => {
8987
+ const { registerTab } = betterSidebarServiceOf(c) ?? {};
8988
+ if (typeof registerTab !== "function") return;
8989
+ c.effect(() => registerTab(watcherSidebarDescriptor()));
8990
+ });
8791
8991
  }
8792
8992
  //#endregion
8793
8993
  exports.apply = apply;