dsh-side-chat-plus 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,8 +9,8 @@ window.__ModuleLoader__.load({
9
9
  let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
10
10
  let react_jsx_runtime = require("react/jsx-runtime");
11
11
  let react_dom = require("react-dom");
12
- //#region \0dsh-css:D:\code\DSH-side-chat\src\client\attachments\AttachmentRail.module.css.mjs
13
- const css$5 = ".Nb9OEG_root{align-items:center;min-width:0;display:flex;position:relative}.Nb9OEG_rail{scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.Nb9OEG_rail::-webkit-scrollbar{display:none}.Nb9OEG_item{flex:none;position:relative}.Nb9OEG_thumbnail{border:1px solid var(--dsw-color-border,#0000001a);cursor:pointer;background:0 0;border-radius:8px;width:56px;height:56px;padding:0;display:block;overflow:hidden}.Nb9OEG_thumbnail img{object-fit:cover;width:100%;height:100%}.Nb9OEG_remove{background:var(--dsw-color-surface-raised,#fff);width:18px;height:18px;color:var(--dsw-color-text-secondary,#646a73);cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 4px #0003}.Nb9OEG_item:hover .Nb9OEG_remove,.Nb9OEG_remove:focus-visible{opacity:1}.Nb9OEG_arrow{z-index:1;border:1px solid var(--dsw-color-border,#0000001a);background:var(--dsw-color-surface-raised,#fff);width:22px;height:22px;color:var(--dsw-color-text-secondary,#646a73);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.Nb9OEG_arrowLeft{left:-10px}.Nb9OEG_arrowRight{right:-10px}";
12
+ //#region \0dsh-css:/home/runner/work/dsh-side-chat/dsh-side-chat/src/client/attachments/AttachmentRail.module.css.mjs
13
+ const css$5 = ".J5tleW_root{align-items:center;min-width:0;display:flex;position:relative}.J5tleW_rail{scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.J5tleW_rail::-webkit-scrollbar{display:none}.J5tleW_item{flex:none;position:relative}.J5tleW_thumbnail{border:1px solid var(--dsw-color-border,#0000001a);cursor:pointer;background:0 0;border-radius:8px;width:56px;height:56px;padding:0;display:block;overflow:hidden}.J5tleW_thumbnail img{object-fit:cover;width:100%;height:100%}.J5tleW_remove{background:var(--dsw-color-surface-raised,#fff);width:18px;height:18px;color:var(--dsw-color-text-secondary,#646a73);cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 4px #0003}.J5tleW_item:hover .J5tleW_remove,.J5tleW_remove:focus-visible{opacity:1}.J5tleW_arrow{z-index:1;border:1px solid var(--dsw-color-border,#0000001a);background:var(--dsw-color-surface-raised,#fff);width:22px;height:22px;color:var(--dsw-color-text-secondary,#646a73);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute}.J5tleW_arrowLeft{left:-10px}.J5tleW_arrowRight{right:-10px}";
14
14
  const tagId$5 = "dsh-external/dsh-side-chat-plus/AttachmentRail.module.css";
15
15
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$5) + "]") === null) {
16
16
  const tag = document.createElement("style");
@@ -20,14 +20,14 @@ window.__ModuleLoader__.load({
20
20
  document.head.appendChild(tag);
21
21
  }
22
22
  var AttachmentRail_module_css_default = {
23
- "thumbnail": "Nb9OEG_thumbnail",
24
- "remove": "Nb9OEG_remove",
25
- "root": "Nb9OEG_root",
26
- "arrowLeft": "Nb9OEG_arrowLeft",
27
- "arrow": "Nb9OEG_arrow",
28
- "rail": "Nb9OEG_rail",
29
- "arrowRight": "Nb9OEG_arrowRight",
30
- "item": "Nb9OEG_item"
23
+ "root": "J5tleW_root",
24
+ "arrowRight": "J5tleW_arrowRight",
25
+ "thumbnail": "J5tleW_thumbnail",
26
+ "item": "J5tleW_item",
27
+ "rail": "J5tleW_rail",
28
+ "remove": "J5tleW_remove",
29
+ "arrowLeft": "J5tleW_arrowLeft",
30
+ "arrow": "J5tleW_arrow"
31
31
  };
32
32
  //#endregion
33
33
  //#region src/client/attachments/AttachmentRail.tsx
@@ -162,8 +162,8 @@ window.__ModuleLoader__.load({
162
162
  });
163
163
  }
164
164
  //#endregion
165
- //#region \0dsh-css:D:\code\DSH-side-chat\src\client\attachments\DropOverlay.module.css.mjs
166
- const css$4 = ".i9bHbW_mask{z-index:999;pointer-events:none;border:2px dashed var(--dsw-color-border-strong,#4d6bfe);background:#ffffffb8;border-radius:12px;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.i9bHbW_wrap{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.i9bHbW_illustration{justify-content:center;align-items:center;display:flex}.i9bHbW_title{color:var(--dsw-color-text,#1f2329);font-size:16px;font-weight:600}.i9bHbW_desc{color:var(--dsw-color-text-secondary,#646a73);font-size:13px}";
165
+ //#region \0dsh-css:/home/runner/work/dsh-side-chat/dsh-side-chat/src/client/attachments/DropOverlay.module.css.mjs
166
+ const css$4 = "._9H6qrq_mask{z-index:999;pointer-events:none;border:2px dashed var(--dsw-color-border-strong,#4d6bfe);background:#ffffffb8;border-radius:12px;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._9H6qrq_wrap{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}._9H6qrq_illustration{justify-content:center;align-items:center;display:flex}._9H6qrq_title{color:var(--dsw-color-text,#1f2329);font-size:16px;font-weight:600}._9H6qrq_desc{color:var(--dsw-color-text-secondary,#646a73);font-size:13px}";
167
167
  const tagId$4 = "dsh-external/dsh-side-chat-plus/DropOverlay.module.css";
168
168
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$4) + "]") === null) {
169
169
  const tag = document.createElement("style");
@@ -173,11 +173,11 @@ window.__ModuleLoader__.load({
173
173
  document.head.appendChild(tag);
174
174
  }
175
175
  var DropOverlay_module_css_default = {
176
- "mask": "i9bHbW_mask",
177
- "wrap": "i9bHbW_wrap",
178
- "desc": "i9bHbW_desc",
179
- "title": "i9bHbW_title",
180
- "illustration": "i9bHbW_illustration"
176
+ "mask": "_9H6qrq_mask",
177
+ "title": "_9H6qrq_title",
178
+ "desc": "_9H6qrq_desc",
179
+ "wrap": "_9H6qrq_wrap",
180
+ "illustration": "_9H6qrq_illustration"
181
181
  };
182
182
  //#endregion
183
183
  //#region src/client/attachments/DropOverlay.tsx
@@ -309,8 +309,8 @@ window.__ModuleLoader__.load({
309
309
  ]
310
310
  });
311
311
  //#endregion
312
- //#region \0dsh-css:D:\code\DSH-side-chat\src\client\attachments\ImageLightbox.module.css.mjs
313
- const css$3 = ".IiCsRq_backdrop{z-index:1000;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.IiCsRq_mask{background:#000000b8;position:absolute;inset:0}.IiCsRq_image{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;position:relative}.IiCsRq_close{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:20px;right:20px}.IiCsRq_close:hover{background:#ffffff47}";
312
+ //#region \0dsh-css:/home/runner/work/dsh-side-chat/dsh-side-chat/src/client/attachments/ImageLightbox.module.css.mjs
313
+ const css$3 = "._5IyjUq_backdrop{z-index:1000;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}._5IyjUq_mask{background:#000000b8;position:absolute;inset:0}._5IyjUq_image{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;position:relative}._5IyjUq_close{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:flex;position:absolute;top:20px;right:20px}._5IyjUq_close:hover{background:#ffffff47}";
314
314
  const tagId$3 = "dsh-external/dsh-side-chat-plus/ImageLightbox.module.css";
315
315
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$3) + "]") === null) {
316
316
  const tag = document.createElement("style");
@@ -320,10 +320,10 @@ window.__ModuleLoader__.load({
320
320
  document.head.appendChild(tag);
321
321
  }
322
322
  var ImageLightbox_module_css_default = {
323
- "mask": "IiCsRq_mask",
324
- "backdrop": "IiCsRq_backdrop",
325
- "image": "IiCsRq_image",
326
- "close": "IiCsRq_close"
323
+ "mask": "_5IyjUq_mask",
324
+ "close": "_5IyjUq_close",
325
+ "image": "_5IyjUq_image",
326
+ "backdrop": "_5IyjUq_backdrop"
327
327
  };
328
328
  //#endregion
329
329
  //#region src/client/attachments/ImageLightbox.tsx
@@ -377,8 +377,8 @@ window.__ModuleLoader__.load({
377
377
  }), document.body);
378
378
  }
379
379
  //#endregion
380
- //#region \0dsh-css:D:\code\DSH-side-chat\src\client\attachments\MessageImage.module.css.mjs
381
- const css$2 = ".HNfuSq_gallery{flex-wrap:wrap;gap:8px;max-width:100%;display:flex}.HNfuSq_gallery[data-align=start]{justify-content:flex-start}.HNfuSq_gallery[data-align=end]{justify-content:flex-end}.HNfuSq_frame{border:1px solid var(--dsw-color-border,#00000014);cursor:pointer;background:0 0;border-radius:8px;padding:0;overflow:hidden}.HNfuSq_frame[data-variant=tile]{width:64px;height:64px}.HNfuSq_frame img{object-fit:cover;width:100%;height:100%}.HNfuSq_loading{width:100%;min-width:64px;height:100%;min-height:64px;color:var(--dsw-color-text-secondary,#646a73);justify-content:center;align-items:center;font-size:12px;display:flex}.HNfuSq_error{border:1px dashed var(--dsw-color-border,#00000029);min-width:64px;min-height:64px;color:var(--dsw-color-text-secondary,#646a73);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;display:flex}";
380
+ //#region \0dsh-css:/home/runner/work/dsh-side-chat/dsh-side-chat/src/client/attachments/MessageImage.module.css.mjs
381
+ const css$2 = "._1H6WSq_gallery{flex-wrap:wrap;gap:8px;max-width:100%;display:flex}._1H6WSq_gallery[data-align=start]{justify-content:flex-start}._1H6WSq_gallery[data-align=end]{justify-content:flex-end}._1H6WSq_frame{border:1px solid var(--dsw-color-border,#00000014);cursor:pointer;background:0 0;border-radius:8px;padding:0;overflow:hidden}._1H6WSq_frame[data-variant=tile]{width:64px;height:64px}._1H6WSq_frame img{object-fit:cover;width:100%;height:100%}._1H6WSq_loading{width:100%;min-width:64px;height:100%;min-height:64px;color:var(--dsw-color-text-secondary,#646a73);justify-content:center;align-items:center;font-size:12px;display:flex}._1H6WSq_error{border:1px dashed var(--dsw-color-border,#00000029);min-width:64px;min-height:64px;color:var(--dsw-color-text-secondary,#646a73);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;display:flex}";
382
382
  const tagId$2 = "dsh-external/dsh-side-chat-plus/MessageImage.module.css";
383
383
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
384
384
  const tag = document.createElement("style");
@@ -388,10 +388,10 @@ window.__ModuleLoader__.load({
388
388
  document.head.appendChild(tag);
389
389
  }
390
390
  var MessageImage_module_css_default = {
391
- "frame": "HNfuSq_frame",
392
- "loading": "HNfuSq_loading",
393
- "gallery": "HNfuSq_gallery",
394
- "error": "HNfuSq_error"
391
+ "loading": "_1H6WSq_loading",
392
+ "frame": "_1H6WSq_frame",
393
+ "error": "_1H6WSq_error",
394
+ "gallery": "_1H6WSq_gallery"
395
395
  };
396
396
  //#endregion
397
397
  //#region src/client/attachments/MessageImage.tsx
@@ -609,6 +609,15 @@ window.__ModuleLoader__.load({
609
609
  "settings.bringModeDraftDesc": "内容进入主会话输入框,可直接编辑后再发送",
610
610
  "settings.bringModeContextTitle": "注入为折叠提示行",
611
611
  "settings.bringModeContextDesc": "内容作为一条折叠的上下文提示行注入主会话(带来源标记),不写输入框;下次对话时模型可见",
612
+ "settings.panelHomeTitle": "侧边聊天面板位置",
613
+ "settings.panelHomeDesc": "浮动面板固定在窗口右缘;停靠模式把侧聊放进新版右侧栏(与文档预览同一区域),两种模式都不会与内置右侧栏互相遮挡",
614
+ "settings.panelHomeFloatingTitle": "浮动面板(经典)",
615
+ "settings.panelHomeFloatingDesc": "固定在窗口右缘,可拖拽调宽、独立收起",
616
+ "settings.panelHomeDockTitle": "停靠到右侧栏",
617
+ "settings.panelHomeDockDesc": "作为「侧边聊天」标签停靠在新版右侧栏,与文档预览共用同一边栏",
618
+ "dock.title": "侧边聊天",
619
+ "dock.unavailable": "当前部署未提供新版右侧栏,已回退为浮动面板",
620
+ "dock.openFailed": "无法打开右侧栏侧边标签",
612
621
  "insert.direct": "直接带回",
613
622
  "insert.summarize": "摘要后带回",
614
623
  "insert.summarizing": "摘要中…",
@@ -695,6 +704,15 @@ window.__ModuleLoader__.load({
695
704
  "settings.bringModeDraftDesc": "Text lands in the main composer so you can edit before sending",
696
705
  "settings.bringModeContextTitle": "As a collapsed context row",
697
706
  "settings.bringModeContextDesc": "Text is injected as a collapsed, source-tagged context row — not into the composer; the model sees it next turn",
707
+ "settings.panelHomeTitle": "Side-chat panel location",
708
+ "settings.panelHomeDesc": "The classic panel floats on the window’s right edge; dock mode puts the side chat inside the new right sidebar (the same rail as document previews). Neither mode covers the built-in sidebar",
709
+ "settings.panelHomeFloatingTitle": "Floating panel (classic)",
710
+ "settings.panelHomeFloatingDesc": "Fixed to the window’s right edge; drag to resize and collapse independently",
711
+ "settings.panelHomeDockTitle": "Dock in the right sidebar",
712
+ "settings.panelHomeDockDesc": "Lives as a \"Side chat\" tab in the new right sidebar, sharing the rail with document previews",
713
+ "dock.title": "Side chat",
714
+ "dock.unavailable": "This deployment has no right sidebar; fell back to the floating panel",
715
+ "dock.openFailed": "Could not open the side-chat tab in the right sidebar",
698
716
  "insert.direct": "Insert directly",
699
717
  "insert.summarize": "Summarize & insert",
700
718
  "insert.summarizing": "Summarizing…",
@@ -725,11 +743,12 @@ window.__ModuleLoader__.load({
725
743
  lookupDefault: false,
726
744
  sendImmediately: true,
727
745
  defaultPrompt: "",
728
- bringMode: "draft"
746
+ bringMode: "draft",
747
+ panelHome: "sidebar-right"
729
748
  };
730
749
  //#endregion
731
- //#region \0dsh-css:D:\code\DSH-side-chat\src\client\client.module.css.mjs
732
- const css$1 = ".LU9nbG_selectionMenu{z-index:2147483000;background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-border-l3);box-shadow:0 4px 16px var(--dsw-alias-bg-mask-2);pointer-events:auto;border-radius:10px;gap:4px;padding:4px;display:flex;position:fixed;transform:translate(-50%)}.LU9nbG_selectionButton{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 10px;font-size:13px;line-height:20px}.LU9nbG_selectionButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_selectionButton:disabled{cursor:default;opacity:.55}.LU9nbG_panel{width:var(--dsh-subchat-width,360px);z-index:2147482990;background:var(--dsw-specific-sidebar-fill);border-left:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);pointer-events:auto;flex-direction:column;font-size:14px;display:flex;position:fixed;top:0;bottom:0;right:0}.LU9nbG_panelResize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.LU9nbG_panelHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.LU9nbG_panelTitle{font-weight:600}.LU9nbG_panelHeaderActions{align-items:center;gap:4px;display:flex}.LU9nbG_panelIconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;display:grid}.LU9nbG_panelIconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.LU9nbG_panelClose{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px}.LU9nbG_panelClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.LU9nbG_collapsedHandle{z-index:2147482990;width:32px;height:32px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;box-shadow:var(--dsw-shadow-lv2);border-radius:999px;place-items:center;display:grid;position:fixed;top:50%;right:8px;transform:translateY(-50%)}.LU9nbG_collapsedHandle:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_questionFab{z-index:2147482990;width:32px;height:32px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-state-business-primary);cursor:pointer;box-shadow:var(--dsw-shadow-lv2);border-radius:999px;place-items:center;display:grid;position:fixed}.LU9nbG_questionFab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_questionFabDot{background:var(--dsw-alias-state-business-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.LU9nbG_questionBlock{border-bottom:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:none;gap:8px;max-height:40%;padding:8px;display:flex;overflow-y:auto}.LU9nbG_questionBlockActions{justify-content:space-between;align-items:center;display:flex}.LU9nbG_questionToggle{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;line-height:18px}.LU9nbG_questionToggle:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_questionDeleteAll{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;line-height:18px}.LU9nbG_questionDeleteAll:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_questionItemCollapsed{gap:0;padding:8px 12px}.LU9nbG_questionItem{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.LU9nbG_questionHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.LU9nbG_questionHeaderText{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;line-height:20px;overflow:hidden}.LU9nbG_questionHeaderActions{flex:none;align-items:center;gap:4px;display:flex}.LU9nbG_questionBody{color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:22px}.LU9nbG_questionDetail{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:18px}.LU9nbG_questionOption{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 10px;display:flex}.LU9nbG_questionOptionText{min-width:0;color:var(--dsw-alias-label-primary);word-break:break-word;flex:1;font-size:13px;line-height:20px}.LU9nbG_questionOptionLabel{font-weight:500}.LU9nbG_questionOptionDesc{color:var(--dsw-alias-label-secondary)}.LU9nbG_questionBringButton{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;line-height:18px}.LU9nbG_questionBringButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_questionBringButton:disabled{cursor:default;opacity:.55}.LU9nbG_questionDelete{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;font-size:14px;line-height:20px;display:grid}.LU9nbG_questionDelete:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_panelList{border-bottom:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:none;gap:2px;max-height:132px;padding:8px;display:flex;overflow-y:auto}.LU9nbG_panelEmpty{color:var(--dsw-alias-label-tertiary);padding:6px 8px;font-size:12px;line-height:18px}.LU9nbG_panelListActions{justify-content:flex-end;padding:0 2px 2px;display:flex}.LU9nbG_panelListDeleteAll{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;line-height:18px}.LU9nbG_panelListDeleteAll:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_panelListItem{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.LU9nbG_panelListItem:hover{background:var(--dsw-specific-sidebar-nav-item-hover)}.LU9nbG_panelListItemActive{background:var(--dsw-specific-sidebar-nav-item-active)}.LU9nbG_panelListItemDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:8px;height:8px}.LU9nbG_panelListItemDot[data-running=\"1\"]{background:var(--dsw-alias-state-business-primary)}.LU9nbG_panelListItemLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-family:var(--ds-font-family-code);overflow:hidden}.LU9nbG_panelListItemRow{align-items:center;gap:2px;display:flex}.LU9nbG_panelListItemRow .LU9nbG_panelListItem{flex:1;min-width:0}.LU9nbG_panelListItemRemove{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;font-size:14px;line-height:20px;display:grid}.LU9nbG_panelListItemRemove:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_panelTranscript{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.LU9nbG_messageUser{background:var(--dsw-specific-bubble);color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;border-radius:22px;align-self:flex-end;max-width:86%;padding:10px 16px;font-size:16px;line-height:24px}.LU9nbG_messageAssistant{min-width:0;max-width:100%;color:var(--dsw-alias-label-primary);align-self:flex-start}.LU9nbG_messageActions{gap:6px;margin-top:6px;display:flex}.LU9nbG_messageInsertButton{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l1);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:12px;line-height:18px}.LU9nbG_messageInsertButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.LU9nbG_messageInsertButton:disabled{cursor:default;opacity:.55}.LU9nbG_reasoningSummary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:24px;overflow:hidden}.LU9nbG_reasoningBody{color:var(--dsw-alias-label-tertiary);white-space:pre-wrap;word-break:break-word;padding:4px 0 4px 22px;font-size:14px;line-height:24px}.LU9nbG_panelRunning{color:var(--dsw-alias-label-tertiary);align-self:flex-start;align-items:center;gap:6px;font-size:12px;line-height:18px;display:inline-flex}.LU9nbG_panelRunningDot{background:var(--dsw-alias-state-business-primary);border-radius:50%;flex:none;width:8px;height:8px;animation:1s ease-in-out infinite alternate LU9nbG_panelRunningPulse}.LU9nbG_panelRunningClock{color:var(--dsw-alias-label-caption)}@keyframes LU9nbG_panelRunningPulse{0%{opacity:1}to{opacity:.3}}@media (prefers-reduced-motion:reduce){.LU9nbG_panelRunningDot{animation:none}}.LU9nbG_panelError{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}.LU9nbG_panelComposer{border:1px solid var(--dsw-alias-border-l2-darkmode-thin);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-shadow-lv2);border-radius:22px;flex-direction:column;flex:none;gap:4px;margin:10px 14px 14px;padding:10px;display:flex}.LU9nbG_panelToolbar{flex:none;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.LU9nbG_panelTextarea{box-sizing:border-box;resize:none;width:100%;min-width:0;color:var(--dsw-alias-label-primary);caret-color:var(--dsw-alias-state-business-primary);font-family:var(--dsw-font-family);background:0 0;border:none;outline:none;flex:1;min-height:32px;max-height:160px;padding:4px 8px;font-size:16px;line-height:24px}.LU9nbG_panelLookup{max-width:100%;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;border-radius:24px;align-self:flex-start;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.LU9nbG_panelLookup span{text-overflow:ellipsis;min-width:0;overflow:hidden}.LU9nbG_panelLookup:hover{background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_panelAttachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-specific-tip);border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.LU9nbG_panelAttachmentText{min-width:0;color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;line-height:18px;overflow:hidden}.LU9nbG_panelAttachmentRemove{width:20px;height:20px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;font-size:16px;line-height:20px}.LU9nbG_panelAttachmentRemove:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.LU9nbG_panelFooter{flex:none;padding:0 14px 12px}.LU9nbG_panelDispose{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px;line-height:18px}.LU9nbG_panelDispose:hover{color:var(--dsw-alias-state-error-primary)}.LU9nbG_primary{background:var(--dsw-alias-button-info-fill);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;transition:background-color .1s;display:grid}.LU9nbG_primary:hover{background:var(--dsw-alias-button-info-hover)}.LU9nbG_panelAttachmentRail{flex:none;min-width:0}.LU9nbG_messageUserText{white-space:pre-wrap;word-break:break-word}.LU9nbG_modelSelect{min-width:0;position:relative}.LU9nbG_modelSelectTrigger{min-width:0;max-width:200px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:24px;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:flex}.LU9nbG_modelSelectTrigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_modelSelectLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.LU9nbG_modelSelectEffort{color:var(--dsw-alias-label-caption);flex:none}.LU9nbG_chevronOpen{transform:rotate(180deg)}.LU9nbG_modelSelectMenu{z-index:30;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-specific-menu);width:min(260px,100vw - 32px);max-height:min(360px,100vh - 96px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;overflow:hidden}.LU9nbG_modelCell{width:100%;height:40px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;flex:none;align-items:center;gap:8px;padding:0 10px;font-size:14px;line-height:22px;display:flex}.LU9nbG_modelCell:hover{background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_modelCellLabel{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.LU9nbG_modelCellValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:0 auto;overflow:hidden}.LU9nbG_modelCellChevron{color:var(--dsw-alias-label-tertiary);flex:none}.LU9nbG_modelGroups{min-height:0;overflow-y:auto}.LU9nbG_modelGroup+.LU9nbG_modelGroup{margin-top:4px}.LU9nbG_modelGroupTitle{z-index:1;background:var(--dsw-specific-menu);color:var(--dsw-alias-label-tertiary);padding:5px 8px 3px;font-size:12px;font-weight:500;line-height:18px;position:sticky;top:0}.LU9nbG_modelOption{width:100%;min-height:38px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;outline:none;align-items:center;gap:8px;padding:6px 8px;display:flex}.LU9nbG_modelOption:hover:not(:disabled),.LU9nbG_modelOptionSelected{background:var(--dsw-alias-interactive-bg-hover)}.LU9nbG_modelOptionCopy{flex-direction:column;flex:1;min-width:0;display:flex}.LU9nbG_modelName{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:20px;overflow:hidden}.LU9nbG_modelDescription{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.LU9nbG_modelCheck{color:var(--dsw-alias-label-primary);flex:0 0 18px;place-items:center;display:grid}.LU9nbG_modelEmpty{color:var(--dsw-alias-label-tertiary);padding:10px;font-size:13px;line-height:20px}.LU9nbG_settingsSection{flex-direction:column;gap:8px;display:flex}.LU9nbG_settingsRow{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.LU9nbG_settingsRowText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.LU9nbG_settingsRowTitle{color:var(--dsw-alias-label-primary);font-size:14px;line-height:20px}.LU9nbG_settingsRowDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.LU9nbG_settingsToggle{width:16px;height:16px;accent-color:var(--dsw-alias-state-business-primary);flex:none}.LU9nbG_settingsBringMode{flex-direction:column;gap:8px;display:flex}.LU9nbG_settingsBringOption{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.LU9nbG_settingsBringOptionActive{border-color:var(--dsw-alias-state-business-primary)}.LU9nbG_settingsPromptInput{box-sizing:border-box;resize:vertical;width:100%;min-height:72px;color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);font-family:var(--dsw-font-family);border-radius:10px;padding:8px 10px;font-size:13px;line-height:20px}.LU9nbG_settingsPromptInput:focus{outline:2px solid var(--dsw-alias-border-l3);outline-offset:-1px}";
750
+ //#region \0dsh-css:/home/runner/work/dsh-side-chat/dsh-side-chat/src/client/client.module.css.mjs
751
+ const css$1 = ".yw4T5a_selectionMenu{z-index:2147483000;background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-border-l3);box-shadow:0 4px 16px var(--dsw-alias-bg-mask-2);pointer-events:auto;border-radius:10px;gap:4px;padding:4px;display:flex;position:fixed;transform:translate(-50%)}.yw4T5a_selectionButton{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 10px;font-size:13px;line-height:20px}.yw4T5a_selectionButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_selectionButton:disabled{cursor:default;opacity:.55}.yw4T5a_panel{width:var(--dsh-subchat-width,360px);z-index:2147482990;background:var(--dsw-specific-sidebar-fill);border-left:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);pointer-events:auto;transition:transform var(--ds-transition-duration-slow) var(--ds-ease-in-out);flex-direction:column;font-size:14px;display:flex;position:fixed;top:0;bottom:0;right:0}.yw4T5a_panelEmbedded{border-left:none;border-radius:0;width:100%;position:absolute;inset:0}.yw4T5a_panelConflictHidden{pointer-events:none;transform:translate(calc(100% + 24px))}.yw4T5a_panelResize{cursor:col-resize;z-index:2;touch-action:none;width:8px;position:absolute;top:0;bottom:0;left:-4px}.yw4T5a_panelHeader{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.yw4T5a_panelTitle{font-weight:600}.yw4T5a_panelHeaderActions{align-items:center;gap:4px;display:flex}.yw4T5a_panelIconButton{width:28px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;display:grid}.yw4T5a_panelIconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.yw4T5a_panelClose{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:13px}.yw4T5a_panelClose:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.yw4T5a_collapsedHandle{z-index:2147482990;width:32px;height:32px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;box-shadow:var(--dsw-shadow-lv2);border-radius:999px;place-items:center;display:grid;position:fixed;top:50%;right:8px;transform:translateY(-50%)}.yw4T5a_collapsedHandle:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_questionFab{z-index:2147482990;width:32px;height:32px;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-bg-overlay);border:1px solid var(--dsw-alias-state-business-primary);cursor:pointer;box-shadow:var(--dsw-shadow-lv2);border-radius:999px;place-items:center;display:grid;position:fixed}.yw4T5a_questionFab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_questionFabDot{background:var(--dsw-alias-state-business-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:4px;right:4px}.yw4T5a_questionBlock{border-bottom:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:none;gap:8px;max-height:40%;padding:8px;display:flex;overflow-y:auto}.yw4T5a_questionBlockActions{justify-content:space-between;align-items:center;display:flex}.yw4T5a_questionToggle{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;line-height:18px}.yw4T5a_questionToggle:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_questionDeleteAll{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;line-height:18px}.yw4T5a_questionDeleteAll:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_questionItemCollapsed{gap:0;padding:8px 12px}.yw4T5a_questionItem{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.yw4T5a_questionHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.yw4T5a_questionHeaderText{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;line-height:20px;overflow:hidden}.yw4T5a_questionHeaderActions{flex:none;align-items:center;gap:4px;display:flex}.yw4T5a_questionBody{color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:22px}.yw4T5a_questionDetail{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:18px}.yw4T5a_questionOption{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-1);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 10px;display:flex}.yw4T5a_questionOptionText{min-width:0;color:var(--dsw-alias-label-primary);word-break:break-word;flex:1;font-size:13px;line-height:20px}.yw4T5a_questionOptionLabel{font-weight:500}.yw4T5a_questionOptionDesc{color:var(--dsw-alias-label-secondary)}.yw4T5a_questionBringButton{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;padding:2px 10px;font-size:12px;line-height:18px}.yw4T5a_questionBringButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_questionBringButton:disabled{cursor:default;opacity:.55}.yw4T5a_questionDelete{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;font-size:14px;line-height:20px;display:grid}.yw4T5a_questionDelete:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_panelList{border-bottom:1px solid var(--dsw-alias-border-l1);flex-direction:column;flex:none;gap:2px;max-height:132px;padding:8px;display:flex;overflow-y:auto}.yw4T5a_panelEmpty{color:var(--dsw-alias-label-tertiary);padding:6px 8px;font-size:12px;line-height:18px}.yw4T5a_panelListActions{justify-content:flex-end;padding:0 2px 2px;display:flex}.yw4T5a_panelListDeleteAll{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:12px;line-height:18px}.yw4T5a_panelListDeleteAll:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_panelListItem{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.yw4T5a_panelListItem:hover{background:var(--dsw-specific-sidebar-nav-item-hover)}.yw4T5a_panelListItemActive{background:var(--dsw-specific-sidebar-nav-item-active)}.yw4T5a_panelListItemDot{background:var(--dsw-alias-label-tertiary);border-radius:50%;flex:none;width:8px;height:8px}.yw4T5a_panelListItemDot[data-running=\"1\"]{background:var(--dsw-alias-state-business-primary)}.yw4T5a_panelListItemLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-family:var(--ds-font-family-code);overflow:hidden}.yw4T5a_panelListItemRow{align-items:center;gap:2px;display:flex}.yw4T5a_panelListItemRow .yw4T5a_panelListItem{flex:1;min-width:0}.yw4T5a_panelListItemRemove{width:22px;height:22px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;place-items:center;font-size:14px;line-height:20px;display:grid}.yw4T5a_panelListItemRemove:hover{color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_panelTranscript{flex-direction:column;flex:1;gap:10px;min-height:0;padding:14px;display:flex;overflow-y:auto}.yw4T5a_messageUser{background:var(--dsw-specific-bubble);color:var(--dsw-alias-label-primary);white-space:pre-wrap;word-break:break-word;border-radius:22px;align-self:flex-end;max-width:86%;padding:10px 16px;font-size:16px;line-height:24px}.yw4T5a_messageAssistant{min-width:0;max-width:100%;color:var(--dsw-alias-label-primary);align-self:flex-start}.yw4T5a_messageActions{gap:6px;margin-top:6px;display:flex}.yw4T5a_messageInsertButton{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-secondary);border:1px solid var(--dsw-alias-border-l1);cursor:pointer;background:0 0;border-radius:999px;padding:2px 10px;font-size:12px;line-height:18px}.yw4T5a_messageInsertButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.yw4T5a_messageInsertButton:disabled{cursor:default;opacity:.55}.yw4T5a_reasoningSummary{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:24px;overflow:hidden}.yw4T5a_reasoningBody{color:var(--dsw-alias-label-tertiary);white-space:pre-wrap;word-break:break-word;padding:4px 0 4px 22px;font-size:14px;line-height:24px}.yw4T5a_panelRunning{color:var(--dsw-alias-label-tertiary);align-self:flex-start;align-items:center;gap:6px;font-size:12px;line-height:18px;display:inline-flex}.yw4T5a_panelRunningDot{background:var(--dsw-alias-state-business-primary);border-radius:50%;flex:none;width:8px;height:8px;animation:1s ease-in-out infinite alternate yw4T5a_panelRunningPulse}.yw4T5a_panelRunningClock{color:var(--dsw-alias-label-caption)}@keyframes yw4T5a_panelRunningPulse{0%{opacity:1}to{opacity:.3}}@media (prefers-reduced-motion:reduce){.yw4T5a_panelRunningDot{animation:none}}.yw4T5a_panelError{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}.yw4T5a_panelComposer{border:1px solid var(--dsw-alias-border-l2-darkmode-thin);background:var(--dsw-specific-input-major);box-shadow:var(--dsw-shadow-lv2);border-radius:22px;flex-direction:column;flex:none;gap:4px;margin:10px 14px 14px;padding:10px;display:flex}.yw4T5a_panelToolbar{flex:none;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.yw4T5a_panelTextarea{box-sizing:border-box;resize:none;width:100%;min-width:0;color:var(--dsw-alias-label-primary);caret-color:var(--dsw-alias-state-business-primary);font-family:var(--dsw-font-family);background:0 0;border:none;outline:none;flex:1;min-height:32px;max-height:160px;padding:4px 8px;font-size:16px;line-height:24px}.yw4T5a_panelLookup{max-width:100%;height:24px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;border-radius:24px;align-self:flex-start;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.yw4T5a_panelLookup span{text-overflow:ellipsis;min-width:0;overflow:hidden}.yw4T5a_panelLookup:hover{background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_panelAttachment{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-specific-tip);border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex}.yw4T5a_panelAttachmentText{min-width:0;color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;line-height:18px;overflow:hidden}.yw4T5a_panelAttachmentRemove{width:20px;height:20px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:none;font-size:16px;line-height:20px}.yw4T5a_panelAttachmentRemove:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.yw4T5a_panelFooter{flex:none;padding:0 14px 12px}.yw4T5a_panelDispose{font-family:var(--dsw-font-family);color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px;line-height:18px}.yw4T5a_panelDispose:hover{color:var(--dsw-alias-state-error-primary)}.yw4T5a_primary{background:var(--dsw-alias-button-info-fill);color:#fff;cursor:pointer;border:none;border-radius:999px;flex:none;place-items:center;width:34px;height:34px;transition:background-color .1s;display:grid}.yw4T5a_primary:hover{background:var(--dsw-alias-button-info-hover)}.yw4T5a_panelAttachmentRail{flex:none;min-width:0}.yw4T5a_messageUserText{white-space:pre-wrap;word-break:break-word}.yw4T5a_modelSelect{min-width:0;position:relative}.yw4T5a_modelSelectTrigger{min-width:0;max-width:200px;height:28px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:24px;outline:none;align-items:center;gap:4px;padding:0 4px 0 8px;font-size:13px;font-weight:500;line-height:20px;display:flex}.yw4T5a_modelSelectTrigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_modelSelectLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.yw4T5a_modelSelectEffort{color:var(--dsw-alias-label-caption);flex:none}.yw4T5a_chevronOpen{transform:rotate(180deg)}.yw4T5a_modelSelectMenu{z-index:30;border:1px solid var(--dsw-alias-border-inverted);background:var(--dsw-specific-menu);width:min(260px,100vw - 32px);max-height:min(360px,100vh - 96px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:12px;flex-direction:column;padding:4px;display:flex;position:absolute;bottom:calc(100% + 8px);right:0;overflow:hidden}.yw4T5a_modelCell{width:100%;height:40px;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;flex:none;align-items:center;gap:8px;padding:0 10px;font-size:14px;line-height:22px;display:flex}.yw4T5a_modelCell:hover{background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_modelCellLabel{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.yw4T5a_modelCellValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:0 auto;overflow:hidden}.yw4T5a_modelCellChevron{color:var(--dsw-alias-label-tertiary);flex:none}.yw4T5a_modelGroups{min-height:0;overflow-y:auto}.yw4T5a_modelGroup+.yw4T5a_modelGroup{margin-top:4px}.yw4T5a_modelGroupTitle{z-index:1;background:var(--dsw-specific-menu);color:var(--dsw-alias-label-tertiary);padding:5px 8px 3px;font-size:12px;font-weight:500;line-height:18px;position:sticky;top:0}.yw4T5a_modelOption{width:100%;min-height:38px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;outline:none;align-items:center;gap:8px;padding:6px 8px;display:flex}.yw4T5a_modelOption:hover:not(:disabled),.yw4T5a_modelOptionSelected{background:var(--dsw-alias-interactive-bg-hover)}.yw4T5a_modelOptionCopy{flex-direction:column;flex:1;min-width:0;display:flex}.yw4T5a_modelName{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:20px;overflow:hidden}.yw4T5a_modelDescription{color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:18px;overflow:hidden}.yw4T5a_modelCheck{color:var(--dsw-alias-label-primary);flex:0 0 18px;place-items:center;display:grid}.yw4T5a_modelEmpty{color:var(--dsw-alias-label-tertiary);padding:10px;font-size:13px;line-height:20px}.yw4T5a_settingsSection{flex-direction:column;gap:8px;display:flex}.yw4T5a_settingsRow{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);cursor:pointer;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.yw4T5a_settingsRowText{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.yw4T5a_settingsRowTitle{color:var(--dsw-alias-label-primary);font-size:14px;line-height:20px}.yw4T5a_settingsRowDesc{color:var(--dsw-alias-label-tertiary);font-size:12px;line-height:18px}.yw4T5a_settingsToggle{width:16px;height:16px;accent-color:var(--dsw-alias-state-business-primary);flex:none}.yw4T5a_settingsBringMode{flex-direction:column;gap:8px;display:flex}.yw4T5a_settingsBringOption{border:1px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-bg-layer-2);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.yw4T5a_settingsBringOptionActive{border-color:var(--dsw-alias-state-business-primary)}.yw4T5a_settingsPromptInput{box-sizing:border-box;resize:vertical;width:100%;min-height:72px;color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);font-family:var(--dsw-font-family);border-radius:10px;padding:8px 10px;font-size:13px;line-height:20px}.yw4T5a_settingsPromptInput:focus{outline:2px solid var(--dsw-alias-border-l3);outline-offset:-1px}";
733
752
  const tagId$1 = "dsh-external/dsh-side-chat-plus/client.module.css";
734
753
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
735
754
  const tag = document.createElement("style");
@@ -739,102 +758,104 @@ window.__ModuleLoader__.load({
739
758
  document.head.appendChild(tag);
740
759
  }
741
760
  var client_module_css_default = {
742
- "panelIconButton": "LU9nbG_panelIconButton",
743
- "panel": "LU9nbG_panel",
744
- "questionOptionDesc": "LU9nbG_questionOptionDesc",
745
- "messageUserText": "LU9nbG_messageUserText",
746
- "modelSelectEffort": "LU9nbG_modelSelectEffort",
747
- "modelSelectLabel": "LU9nbG_modelSelectLabel",
748
- "modelGroups": "LU9nbG_modelGroups",
749
- "panelHeader": "LU9nbG_panelHeader",
750
- "panelEmpty": "LU9nbG_panelEmpty",
751
- "panelListActions": "LU9nbG_panelListActions",
752
- "collapsedHandle": "LU9nbG_collapsedHandle",
753
- "panelLookup": "LU9nbG_panelLookup",
754
- "modelSelectTrigger": "LU9nbG_modelSelectTrigger",
755
- "chevronOpen": "LU9nbG_chevronOpen",
756
- "panelTitle": "LU9nbG_panelTitle",
757
- "modelCell": "LU9nbG_modelCell",
758
- "questionItem": "LU9nbG_questionItem",
759
- "panelListDeleteAll": "LU9nbG_panelListDeleteAll",
760
- "settingsBringOptionActive": "LU9nbG_settingsBringOptionActive",
761
- "panelListItemActive": "LU9nbG_panelListItemActive",
762
- "panelAttachmentRail": "LU9nbG_panelAttachmentRail",
763
- "panelTranscript": "LU9nbG_panelTranscript",
764
- "panelRunningPulse": "LU9nbG_panelRunningPulse",
765
- "modelGroup": "LU9nbG_modelGroup",
766
- "modelEmpty": "LU9nbG_modelEmpty",
767
- "questionHeaderText": "LU9nbG_questionHeaderText",
768
- "questionDeleteAll": "LU9nbG_questionDeleteAll",
769
- "messageUser": "LU9nbG_messageUser",
770
- "modelOptionSelected": "LU9nbG_modelOptionSelected",
771
- "panelListItemRemove": "LU9nbG_panelListItemRemove",
772
- "questionToggle": "LU9nbG_questionToggle",
773
- "reasoningSummary": "LU9nbG_reasoningSummary",
774
- "panelComposer": "LU9nbG_panelComposer",
775
- "panelTextarea": "LU9nbG_panelTextarea",
776
- "panelResize": "LU9nbG_panelResize",
777
- "panelAttachmentText": "LU9nbG_panelAttachmentText",
778
- "questionFabDot": "LU9nbG_questionFabDot",
779
- "modelCellLabel": "LU9nbG_modelCellLabel",
780
- "modelName": "LU9nbG_modelName",
781
- "panelList": "LU9nbG_panelList",
782
- "settingsRow": "LU9nbG_settingsRow",
783
- "settingsRowTitle": "LU9nbG_settingsRowTitle",
784
- "questionOption": "LU9nbG_questionOption",
785
- "modelSelect": "LU9nbG_modelSelect",
786
- "settingsSection": "LU9nbG_settingsSection",
787
- "modelCellValue": "LU9nbG_modelCellValue",
788
- "settingsRowDesc": "LU9nbG_settingsRowDesc",
789
- "selectionButton": "LU9nbG_selectionButton",
790
- "panelAttachment": "LU9nbG_panelAttachment",
791
- "panelHeaderActions": "LU9nbG_panelHeaderActions",
792
- "questionDelete": "LU9nbG_questionDelete",
793
- "reasoningBody": "LU9nbG_reasoningBody",
794
- "questionBlock": "LU9nbG_questionBlock",
795
- "panelAttachmentRemove": "LU9nbG_panelAttachmentRemove",
796
- "modelCellChevron": "LU9nbG_modelCellChevron",
797
- "modelCheck": "LU9nbG_modelCheck",
798
- "questionOptionLabel": "LU9nbG_questionOptionLabel",
799
- "panelFooter": "LU9nbG_panelFooter",
800
- "modelDescription": "LU9nbG_modelDescription",
801
- "panelListItem": "LU9nbG_panelListItem",
802
- "settingsToggle": "LU9nbG_settingsToggle",
803
- "questionOptionText": "LU9nbG_questionOptionText",
804
- "settingsBringOption": "LU9nbG_settingsBringOption",
805
- "panelRunningDot": "LU9nbG_panelRunningDot",
806
- "messageActions": "LU9nbG_messageActions",
807
- "panelListItemLabel": "LU9nbG_panelListItemLabel",
808
- "questionFab": "LU9nbG_questionFab",
809
- "messageInsertButton": "LU9nbG_messageInsertButton",
810
- "settingsBringMode": "LU9nbG_settingsBringMode",
811
- "questionHeader": "LU9nbG_questionHeader",
812
- "settingsRowText": "LU9nbG_settingsRowText",
813
- "questionDetail": "LU9nbG_questionDetail",
814
- "panelListItemDot": "LU9nbG_panelListItemDot",
815
- "modelOption": "LU9nbG_modelOption",
816
- "panelError": "LU9nbG_panelError",
817
- "questionBringButton": "LU9nbG_questionBringButton",
818
- "settingsPromptInput": "LU9nbG_settingsPromptInput",
819
- "questionBody": "LU9nbG_questionBody",
820
- "selectionMenu": "LU9nbG_selectionMenu",
821
- "panelToolbar": "LU9nbG_panelToolbar",
822
- "primary": "LU9nbG_primary",
823
- "modelSelectMenu": "LU9nbG_modelSelectMenu",
824
- "questionBlockActions": "LU9nbG_questionBlockActions",
825
- "messageAssistant": "LU9nbG_messageAssistant",
826
- "panelListItemRow": "LU9nbG_panelListItemRow",
827
- "questionItemCollapsed": "LU9nbG_questionItemCollapsed",
828
- "panelDispose": "LU9nbG_panelDispose",
829
- "panelClose": "LU9nbG_panelClose",
830
- "modelGroupTitle": "LU9nbG_modelGroupTitle",
831
- "modelOptionCopy": "LU9nbG_modelOptionCopy",
832
- "questionHeaderActions": "LU9nbG_questionHeaderActions",
833
- "panelRunning": "LU9nbG_panelRunning",
834
- "panelRunningClock": "LU9nbG_panelRunningClock"
761
+ "panelDispose": "yw4T5a_panelDispose",
762
+ "modelGroups": "yw4T5a_modelGroups",
763
+ "settingsRowTitle": "yw4T5a_settingsRowTitle",
764
+ "panelRunningClock": "yw4T5a_panelRunningClock",
765
+ "panelConflictHidden": "yw4T5a_panelConflictHidden",
766
+ "messageUser": "yw4T5a_messageUser",
767
+ "reasoningSummary": "yw4T5a_reasoningSummary",
768
+ "panelAttachmentRemove": "yw4T5a_panelAttachmentRemove",
769
+ "chevronOpen": "yw4T5a_chevronOpen",
770
+ "modelCell": "yw4T5a_modelCell",
771
+ "settingsSection": "yw4T5a_settingsSection",
772
+ "panelList": "yw4T5a_panelList",
773
+ "modelOption": "yw4T5a_modelOption",
774
+ "panelListDeleteAll": "yw4T5a_panelListDeleteAll",
775
+ "panelListItemLabel": "yw4T5a_panelListItemLabel",
776
+ "questionBody": "yw4T5a_questionBody",
777
+ "panelRunning": "yw4T5a_panelRunning",
778
+ "modelSelectEffort": "yw4T5a_modelSelectEffort",
779
+ "panelListItemActive": "yw4T5a_panelListItemActive",
780
+ "questionHeaderActions": "yw4T5a_questionHeaderActions",
781
+ "primary": "yw4T5a_primary",
782
+ "panelTitle": "yw4T5a_panelTitle",
783
+ "settingsRowDesc": "yw4T5a_settingsRowDesc",
784
+ "questionBlockActions": "yw4T5a_questionBlockActions",
785
+ "panelListActions": "yw4T5a_panelListActions",
786
+ "collapsedHandle": "yw4T5a_collapsedHandle",
787
+ "questionItemCollapsed": "yw4T5a_questionItemCollapsed",
788
+ "panelAttachmentText": "yw4T5a_panelAttachmentText",
789
+ "panelComposer": "yw4T5a_panelComposer",
790
+ "questionOptionText": "yw4T5a_questionOptionText",
791
+ "panelAttachmentRail": "yw4T5a_panelAttachmentRail",
792
+ "modelSelectTrigger": "yw4T5a_modelSelectTrigger",
793
+ "panelRunningPulse": "yw4T5a_panelRunningPulse",
794
+ "modelName": "yw4T5a_modelName",
795
+ "panelHeaderActions": "yw4T5a_panelHeaderActions",
796
+ "panelListItemRow": "yw4T5a_panelListItemRow",
797
+ "modelOptionSelected": "yw4T5a_modelOptionSelected",
798
+ "selectionMenu": "yw4T5a_selectionMenu",
799
+ "panelLookup": "yw4T5a_panelLookup",
800
+ "panelListItemDot": "yw4T5a_panelListItemDot",
801
+ "questionFabDot": "yw4T5a_questionFabDot",
802
+ "panelTranscript": "yw4T5a_panelTranscript",
803
+ "questionBringButton": "yw4T5a_questionBringButton",
804
+ "questionHeaderText": "yw4T5a_questionHeaderText",
805
+ "questionDeleteAll": "yw4T5a_questionDeleteAll",
806
+ "modelCheck": "yw4T5a_modelCheck",
807
+ "panelIconButton": "yw4T5a_panelIconButton",
808
+ "modelCellChevron": "yw4T5a_modelCellChevron",
809
+ "settingsRowText": "yw4T5a_settingsRowText",
810
+ "modelCellLabel": "yw4T5a_modelCellLabel",
811
+ "settingsRow": "yw4T5a_settingsRow",
812
+ "settingsPromptInput": "yw4T5a_settingsPromptInput",
813
+ "modelSelectMenu": "yw4T5a_modelSelectMenu",
814
+ "panelListItemRemove": "yw4T5a_panelListItemRemove",
815
+ "modelCellValue": "yw4T5a_modelCellValue",
816
+ "panelHeader": "yw4T5a_panelHeader",
817
+ "questionBlock": "yw4T5a_questionBlock",
818
+ "reasoningBody": "yw4T5a_reasoningBody",
819
+ "questionDetail": "yw4T5a_questionDetail",
820
+ "panelToolbar": "yw4T5a_panelToolbar",
821
+ "questionItem": "yw4T5a_questionItem",
822
+ "panelRunningDot": "yw4T5a_panelRunningDot",
823
+ "selectionButton": "yw4T5a_selectionButton",
824
+ "modelGroupTitle": "yw4T5a_modelGroupTitle",
825
+ "panel": "yw4T5a_panel",
826
+ "panelClose": "yw4T5a_panelClose",
827
+ "questionHeader": "yw4T5a_questionHeader",
828
+ "panelResize": "yw4T5a_panelResize",
829
+ "panelEmbedded": "yw4T5a_panelEmbedded",
830
+ "questionDelete": "yw4T5a_questionDelete",
831
+ "panelListItem": "yw4T5a_panelListItem",
832
+ "messageAssistant": "yw4T5a_messageAssistant",
833
+ "questionOption": "yw4T5a_questionOption",
834
+ "panelError": "yw4T5a_panelError",
835
+ "modelSelect": "yw4T5a_modelSelect",
836
+ "questionToggle": "yw4T5a_questionToggle",
837
+ "modelSelectLabel": "yw4T5a_modelSelectLabel",
838
+ "modelEmpty": "yw4T5a_modelEmpty",
839
+ "settingsToggle": "yw4T5a_settingsToggle",
840
+ "messageActions": "yw4T5a_messageActions",
841
+ "modelGroup": "yw4T5a_modelGroup",
842
+ "modelOptionCopy": "yw4T5a_modelOptionCopy",
843
+ "panelAttachment": "yw4T5a_panelAttachment",
844
+ "modelDescription": "yw4T5a_modelDescription",
845
+ "questionOptionDesc": "yw4T5a_questionOptionDesc",
846
+ "settingsBringOption": "yw4T5a_settingsBringOption",
847
+ "panelEmpty": "yw4T5a_panelEmpty",
848
+ "settingsBringOptionActive": "yw4T5a_settingsBringOptionActive",
849
+ "questionOptionLabel": "yw4T5a_questionOptionLabel",
850
+ "panelTextarea": "yw4T5a_panelTextarea",
851
+ "messageUserText": "yw4T5a_messageUserText",
852
+ "settingsBringMode": "yw4T5a_settingsBringMode",
853
+ "questionFab": "yw4T5a_questionFab",
854
+ "messageInsertButton": "yw4T5a_messageInsertButton",
855
+ "panelFooter": "yw4T5a_panelFooter"
835
856
  };
836
857
  //#endregion
837
- //#region \0dsh-css:D:\code\DSH-side-chat\src\client\layout.css.mjs
858
+ //#region \0dsh-css:/home/runner/work/dsh-side-chat/dsh-side-chat/src/client/layout.css.mjs
838
859
  const css = "/**\n * Layout push: when the side-chat panel is open it OCCUPIES layout instead of\n * floating over it — the app shell (#root) gives up the right margin so the\n * center column (conversation + input bar) squeezes left, like a VSCode\n * sidebar. The width rides a CSS variable the panel sets.\n */\n#root {\n margin-right: var(--dsh-subchat-width, 0px);\n transition: margin-right var(--ds-transition-duration-slow) var(--ds-ease-in-out);\n}\n\n@media (prefers-reduced-motion: reduce) {\n #root {\n transition: none;\n }\n}\n";
839
860
  const tagId = "dsh-external/dsh-side-chat-plus/layout.css";
840
861
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
@@ -895,6 +916,7 @@ window.__ModuleLoader__.load({
895
916
  let dismissedQuestionIds = [];
896
917
  const bySession = /* @__PURE__ */ new Map();
897
918
  const listeners = /* @__PURE__ */ new Set();
919
+ let dockLaunch = null;
898
920
  let snapshot = {
899
921
  current,
900
922
  panel,
@@ -964,6 +986,7 @@ window.__ModuleLoader__.load({
964
986
  open: true,
965
987
  parentSessionId
966
988
  };
989
+ dockLaunch?.();
967
990
  notify();
968
991
  },
969
992
  closePanel() {
@@ -973,6 +996,9 @@ window.__ModuleLoader__.load({
973
996
  };
974
997
  notify();
975
998
  },
999
+ setDockLaunch(fn) {
1000
+ dockLaunch = fn;
1001
+ },
976
1002
  setActive(childId) {
977
1003
  panel = {
978
1004
  ...panel,
@@ -1666,6 +1692,9 @@ window.__ModuleLoader__.load({
1666
1692
  const MAIN_CHAT_MIN_WIDTH = 480;
1667
1693
  /** localStorage key remembering the last panel width across reloads. */
1668
1694
  const PANEL_WIDTH_KEY = "dsh-side-chat.panelWidth";
1695
+ /** Right-sidebar dock identity (kind is the `openTab` discriminator; id keys the body seat). */
1696
+ const SIDEBAR_TAB_ID = "dsh-side-chat-plus/side-chat";
1697
+ const SIDEBAR_TAB_KIND = "side-chat";
1669
1698
  /** The viewport-aware maximum panel width for the current window. */
1670
1699
  function panelCap() {
1671
1700
  const vw = window.innerWidth;
@@ -1771,15 +1800,18 @@ window.__ModuleLoader__.load({
1771
1800
  const activeRunning = activeItem?.running ?? false;
1772
1801
  const [anchor, setAnchor] = (0, react.useState)(null);
1773
1802
  (0, react.useEffect)(() => {
1774
- const w = panel.open && !collapsed ? `${width}px` : "0px";
1803
+ if (props.embedded) return;
1804
+ const w = panel.open && !collapsed && !props.conflictHidden ? `${width}px` : "0px";
1775
1805
  document.documentElement.style.setProperty("--dsh-subchat-width", w);
1776
1806
  return () => {
1777
1807
  document.documentElement.style.setProperty("--dsh-subchat-width", "0px");
1778
1808
  };
1779
1809
  }, [
1810
+ props.embedded,
1780
1811
  panel.open,
1781
1812
  collapsed,
1782
- width
1813
+ width,
1814
+ props.conflictHidden
1783
1815
  ]);
1784
1816
  (0, react.useEffect)(() => {
1785
1817
  const onResize = () => {
@@ -2095,44 +2127,41 @@ window.__ModuleLoader__.load({
2095
2127
  if (!result.ok) throw new Error(result.error.message);
2096
2128
  return base64ObjectUrl(result.value.mediaType, result.value.data);
2097
2129
  }, [panel.activeChildId]);
2098
- if (!panel.open) {
2099
- if (mainQuestion !== null) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(QuestionFab, {
2100
- store: props.store,
2101
- t: props.t,
2102
- onOpen: openQuestionPanel
2103
- });
2104
- return null;
2105
- }
2106
- if (collapsed) {
2107
- if (mainQuestion !== null) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(QuestionFab, {
2108
- store: props.store,
2109
- t: props.t,
2110
- onOpen: openQuestionPanel
2111
- });
2112
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
2113
- label: props.t("panel.expand"),
2114
- side: "bottom",
2115
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2116
- type: "button",
2117
- className: client_module_css_default.collapsedHandle,
2118
- onClick: () => {
2119
- setCollapsed(false);
2120
- },
2121
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPanelLeftOutline16, { size: 16 })
2122
- })
2123
- });
2130
+ if (!props.embedded) {
2131
+ if (!panel.open) return null;
2132
+ if (collapsed) {
2133
+ if (mainQuestion !== null) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(QuestionFab, {
2134
+ store: props.store,
2135
+ t: props.t,
2136
+ onOpen: openQuestionPanel
2137
+ });
2138
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
2139
+ label: props.t("panel.expand"),
2140
+ side: "bottom",
2141
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
2142
+ type: "button",
2143
+ className: client_module_css_default.collapsedHandle,
2144
+ onClick: () => {
2145
+ setCollapsed(false);
2146
+ },
2147
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPanelLeftOutline16, { size: 16 })
2148
+ })
2149
+ });
2150
+ }
2124
2151
  }
2125
2152
  const elapsedMs = anchor === null ? 0 : Math.max(0, now - anchor);
2126
2153
  const showClock = elapsedMs >= 15e3;
2154
+ const panelClass = props.embedded ? `${client_module_css_default.panel} ${client_module_css_default.panelEmbedded}` : `${client_module_css_default.panel}${props.conflictHidden ? ` ${client_module_css_default.panelConflictHidden}` : ""}`;
2127
2155
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2128
- className: client_module_css_default.panel,
2129
- style: { width },
2156
+ className: panelClass,
2157
+ style: props.embedded ? void 0 : { width },
2158
+ "data-sidechat-panel": props.embedded ? "embedded" : "floating",
2130
2159
  children: [
2131
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2160
+ !props.embedded && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2132
2161
  className: client_module_css_default.panelResize,
2133
2162
  onMouseDown: startResize
2134
2163
  }),
2135
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2164
+ !props.embedded && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2136
2165
  className: client_module_css_default.panelHeader,
2137
2166
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2138
2167
  className: client_module_css_default.panelTitle,
@@ -2525,6 +2554,86 @@ window.__ModuleLoader__.load({
2525
2554
  });
2526
2555
  }
2527
2556
  /** The "Side chat" settings section (two switches + a prompt textarea). */
2557
+ /** Dock-mode body: the side-chat panel embedded in the built-in right sidebar's tab pane. */
2558
+ function EmbeddedSidechatPanel(props) {
2559
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidechatPanel, {
2560
+ embedded: true,
2561
+ store: props.store,
2562
+ t: props.t,
2563
+ formatDuration: props.formatDuration,
2564
+ bringToMain: props.bringToMain,
2565
+ summarizeBring: props.summarizeBring,
2566
+ askSidechat: props.askSidechat,
2567
+ askSidechatNew: props.askSidechatNew
2568
+ });
2569
+ }
2570
+ /** The portalled shell: floating menus + the panel, switching on prefs.panelHome. */
2571
+ function SideChatShell(props) {
2572
+ const snap = (0, react.useSyncExternalStore)(props.store.subscribe, props.store.getSnapshot);
2573
+ const [builtinOverlay, setBuiltinOverlay] = (0, react.useState)(false);
2574
+ (0, react.useEffect)(() => {
2575
+ const probe = () => {
2576
+ if (document.querySelector("[data-sidebar-right-panel][data-sidebar-right-open]") !== null) return true;
2577
+ const floatHost = document.querySelector("[data-sidebar-right-float-host]");
2578
+ if (floatHost !== null && floatHost.childElementCount > 0) return true;
2579
+ return false;
2580
+ };
2581
+ let active = probe();
2582
+ const apply = () => {
2583
+ const next = probe();
2584
+ if (next !== active) {
2585
+ active = next;
2586
+ setBuiltinOverlay(next);
2587
+ }
2588
+ };
2589
+ apply();
2590
+ const observer = new MutationObserver(apply);
2591
+ observer.observe(document.body, {
2592
+ childList: true,
2593
+ subtree: true,
2594
+ attributes: true,
2595
+ attributeFilter: [
2596
+ "data-sidebar-right-open",
2597
+ "data-sidebar-right-panel",
2598
+ "data-sidebar-right-float-host"
2599
+ ]
2600
+ });
2601
+ window.addEventListener("resize", apply);
2602
+ return () => {
2603
+ observer.disconnect();
2604
+ window.removeEventListener("resize", apply);
2605
+ };
2606
+ }, []);
2607
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
2608
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectionMenu, {
2609
+ store: props.store,
2610
+ t: props.t
2611
+ }),
2612
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BringBackMenu, {
2613
+ store: props.store,
2614
+ t: props.t,
2615
+ bringToMain: props.bringToMain,
2616
+ summarizeBring: props.summarizeBring
2617
+ }),
2618
+ snap.mainQuestion !== null && !snap.panel.open && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(QuestionFab, {
2619
+ store: props.store,
2620
+ t: props.t,
2621
+ onOpen: () => {
2622
+ props.store.openPanel(snap.panel.parentSessionId);
2623
+ }
2624
+ }),
2625
+ snap.prefs.panelHome === "floating" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidechatPanel, {
2626
+ store: props.store,
2627
+ t: props.t,
2628
+ formatDuration: props.formatDuration,
2629
+ bringToMain: props.bringToMain,
2630
+ summarizeBring: props.summarizeBring,
2631
+ askSidechat: props.askSidechat,
2632
+ askSidechatNew: props.askSidechatNew,
2633
+ conflictHidden: builtinOverlay
2634
+ })
2635
+ ] });
2636
+ }
2528
2637
  function SettingsSection(props) {
2529
2638
  const { store, t } = props;
2530
2639
  const { prefs } = (0, react.useSyncExternalStore)(store.subscribe, store.getSnapshot);
@@ -2653,6 +2762,63 @@ window.__ModuleLoader__.load({
2653
2762
  })]
2654
2763
  })]
2655
2764
  }),
2765
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2766
+ className: client_module_css_default.settingsRow,
2767
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
2768
+ className: client_module_css_default.settingsRowText,
2769
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2770
+ className: client_module_css_default.settingsRowTitle,
2771
+ children: t("settings.panelHomeTitle")
2772
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2773
+ className: client_module_css_default.settingsRowDesc,
2774
+ children: t("settings.panelHomeDesc")
2775
+ })]
2776
+ })
2777
+ }),
2778
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2779
+ className: client_module_css_default.settingsBringMode,
2780
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
2781
+ className: `${client_module_css_default.settingsBringOption} ${prefs.panelHome === "floating" ? client_module_css_default.settingsBringOptionActive : ""}`,
2782
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
2783
+ type: "radio",
2784
+ name: "dsh-side-chat-panel-home",
2785
+ className: client_module_css_default.settingsToggle,
2786
+ checked: prefs.panelHome === "floating",
2787
+ onChange: () => {
2788
+ toggle({ panelHome: "floating" });
2789
+ }
2790
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
2791
+ className: client_module_css_default.settingsRowText,
2792
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2793
+ className: client_module_css_default.settingsRowTitle,
2794
+ children: t("settings.panelHomeFloatingTitle")
2795
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2796
+ className: client_module_css_default.settingsRowDesc,
2797
+ children: t("settings.panelHomeFloatingDesc")
2798
+ })]
2799
+ })]
2800
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
2801
+ className: `${client_module_css_default.settingsBringOption} ${prefs.panelHome === "sidebar-right" ? client_module_css_default.settingsBringOptionActive : ""}`,
2802
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
2803
+ type: "radio",
2804
+ name: "dsh-side-chat-panel-home",
2805
+ className: client_module_css_default.settingsToggle,
2806
+ checked: prefs.panelHome === "sidebar-right",
2807
+ onChange: () => {
2808
+ toggle({ panelHome: "sidebar-right" });
2809
+ }
2810
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
2811
+ className: client_module_css_default.settingsRowText,
2812
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2813
+ className: client_module_css_default.settingsRowTitle,
2814
+ children: t("settings.panelHomeDockTitle")
2815
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
2816
+ className: client_module_css_default.settingsRowDesc,
2817
+ children: t("settings.panelHomeDockDesc")
2818
+ })]
2819
+ })]
2820
+ })]
2821
+ }),
2656
2822
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2657
2823
  className: client_module_css_default.settingsRow,
2658
2824
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
@@ -2841,7 +3007,8 @@ window.__ModuleLoader__.load({
2841
3007
  lookupDefault: typeof raw.lookupDefault === "boolean" ? raw.lookupDefault : SUBCHAT_PREFS_DEFAULTS.lookupDefault,
2842
3008
  sendImmediately: typeof raw.sendImmediately === "boolean" ? raw.sendImmediately : SUBCHAT_PREFS_DEFAULTS.sendImmediately,
2843
3009
  defaultPrompt: typeof raw.defaultPrompt === "string" ? raw.defaultPrompt : SUBCHAT_PREFS_DEFAULTS.defaultPrompt,
2844
- bringMode: raw.bringMode === "context" ? "context" : "draft"
3010
+ bringMode: raw.bringMode === "context" ? "context" : "draft",
3011
+ panelHome: raw.panelHome === "floating" ? "floating" : "sidebar-right"
2845
3012
  });
2846
3013
  });
2847
3014
  ctx.effect(() => {
@@ -2894,7 +3061,69 @@ window.__ModuleLoader__.load({
2894
3061
  window.clearInterval(timer);
2895
3062
  };
2896
3063
  }, "dsh-side-chat: clear stale question dialog");
3064
+ ctx.effect(() => {
3065
+ let cleanup;
3066
+ let phase = "idle";
3067
+ const sync = () => {
3068
+ if (store.getSnapshot().prefs.panelHome === "sidebar-right") {
3069
+ if (phase === "docked" || phase === "unavailable") return;
3070
+ const sidebarRight = ctx.get("sidebarRight");
3071
+ if (sidebarRight === void 0) {
3072
+ phase = "unavailable";
3073
+ store.patch({ error: translate(activeLocale, "dock.unavailable") });
3074
+ return;
3075
+ }
3076
+ const dockT = (key) => translate(activeLocale, key);
3077
+ const disposeType = sidebarRight.tabs.register({
3078
+ id: SIDEBAR_TAB_ID,
3079
+ kind: SIDEBAR_TAB_KIND,
3080
+ priority: "extension",
3081
+ title: () => dockT("dock.title")
3082
+ });
3083
+ const disposeBody = ctx.slots.inject("sidebar.right.pane.tab", () => ctx.slots.register({
3084
+ name: "sidebar.right.pane.tab",
3085
+ key: SIDEBAR_TAB_ID,
3086
+ inject: () => ({
3087
+ store,
3088
+ t: dockT,
3089
+ formatDuration,
3090
+ bringToMain,
3091
+ summarizeBring,
3092
+ askSidechat,
3093
+ askSidechatNew
3094
+ })
3095
+ }, EmbeddedSidechatPanel));
3096
+ const launch = () => {
3097
+ try {
3098
+ sidebarRight.openTab(SIDEBAR_TAB_KIND, { revealIfOpened: true });
3099
+ } catch (error) {
3100
+ store.patch({ error: `${translate(activeLocale, "dock.openFailed")}: ${error instanceof Error ? error.message : String(error)}` });
3101
+ }
3102
+ };
3103
+ store.setDockLaunch(launch);
3104
+ cleanup = () => {
3105
+ store.setDockLaunch(null);
3106
+ disposeBody();
3107
+ disposeType();
3108
+ };
3109
+ phase = "docked";
3110
+ return;
3111
+ }
3112
+ if (phase === "idle") return;
3113
+ phase = "idle";
3114
+ store.setDockLaunch(null);
3115
+ cleanup?.();
3116
+ cleanup = void 0;
3117
+ };
3118
+ sync();
3119
+ const off = store.subscribe(sync);
3120
+ return () => {
3121
+ off();
3122
+ cleanup?.();
3123
+ };
3124
+ }, "dsh-side-chat: right-sidebar dock");
2897
3125
  const settingsT = (key) => translate(activeLocale, key);
3126
+ const formatDuration = (ms) => formatRunDuration(ms, activeLocale);
2898
3127
  ctx.slots.inject("settings.section", () => ctx.slots.register({
2899
3128
  name: "settings.section",
2900
3129
  id: "dsh-side-chat",
@@ -2911,28 +3140,15 @@ window.__ModuleLoader__.load({
2911
3140
  document.body.appendChild(host);
2912
3141
  const root = (0, react_dom_client.createRoot)(host);
2913
3142
  const t = (key) => translate(activeLocale, key);
2914
- const formatDuration = (ms) => formatRunDuration(ms, activeLocale);
2915
- root.render(/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
2916
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectionMenu, {
2917
- store,
2918
- t
2919
- }),
2920
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BringBackMenu, {
2921
- store,
2922
- t,
2923
- bringToMain,
2924
- summarizeBring
2925
- }),
2926
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidechatPanel, {
2927
- store,
2928
- t,
2929
- formatDuration,
2930
- bringToMain,
2931
- summarizeBring,
2932
- askSidechat,
2933
- askSidechatNew
2934
- })
2935
- ] }));
3143
+ root.render(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SideChatShell, {
3144
+ store,
3145
+ t,
3146
+ formatDuration,
3147
+ bringToMain,
3148
+ summarizeBring,
3149
+ askSidechat,
3150
+ askSidechatNew
3151
+ }));
2936
3152
  return () => {
2937
3153
  root.unmount();
2938
3154
  host.remove();