dsh-sessions-manager 3.7.5 → 3.7.6

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.
Binary file
Binary file
package/lib/client.js CHANGED
@@ -327,6 +327,21 @@ function loadPanelPrefs() {
327
327
  }
328
328
  }
329
329
  var CSS = `
330
+ /* \u517C\u5BB9 shim\uFF082026-09-30 \u5BF9 0.2.0-rc.2 \u5B9E\u6D4B\uFF09\uFF1A\u5F53\u524D runtime \u7684\u8BBE\u8BA1\u4EE4\u724C\u4E0D\u518D\u63D0\u4F9B
331
+ fill-elevated / fill-subtle / fill-secondary / label-inverted / state-warning-primary
332
+ \u8FD9\u51E0\u4E2A alias\uFF0C\u7F3A\u4F4D\u4F1A\u8BA9\u8F93\u5165\u6846\u3001\u4E0B\u62C9\u6846\u3001\u5361\u7247\u3001\u5FBD\u6807\u6574\u4F53\u56DE\u9000\u6210\u900F\u660E\u3002\u8FD9\u91CC\u628A\u5B83\u4EEC\u91CD\u6620\u5C04
333
+ \u5230 runtime \u73B0\u6709 token\uFF08\u5B98\u65B9 Input/Pill \u5206\u522B\u7528 bg-layer-1 / bg-layer-2\uFF09\u3002\u9009\u62E9\u5668\u7528
334
+ :where(:root)\uFF08\u96F6\u7279\u5F02\u6027\uFF09\uFF1Aruntime \u5C06\u6765\u6062\u590D\u5B98\u65B9\u5B9A\u4E49\u65F6\u81EA\u52A8\u80DC\u51FA\uFF0Cshim \u53EA\u5728\u7F3A\u4F4D\u65F6\u515C\u5E95\u3002
335
+ state-warning-primary \u662F\u65E7\u540D\uFF0C\u73B0\u540D\u4E3A state-warn-primary\u3002 */
336
+ :where(:root){--dsw-alias-fill-elevated:var(--dsw-alias-bg-layer-2);--dsw-alias-fill-subtle:var(--dsw-alias-bg-layer-1);--dsw-alias-fill-secondary:var(--dsw-alias-bg-layer-2);--dsw-alias-label-inverted:var(--dsw-alias-label-primary-foreground);--dsw-alias-state-warning-primary:var(--dsw-alias-state-warn-primary)}
337
+ /* \u539F\u751F <select> \u7684\u5F39\u51FA\u5217\u8868\u7531 Chromium \u6309 color-scheme \u7ED8\u5236\uFF0C\u4E0D\u58F0\u660E\u65F6\u6697\u8272\u4E3B\u9898\u4E0B
338
+ \u4ECD\u662F\u767D\u5E95\uFF0C\u53E0\u52A0\u672A\u9002\u914D\u7684\u6587\u5B57\u8272\u5BFC\u81F4\u4E0D\u53EF\u8BFB\uFF1B\u8DDF\u968F DSH \u7684\u6697\u8272\u4E3B\u9898\u6807\u8BB0\u5207\u6362\u3002 */
339
+ .archv{color-scheme:light}
340
+ body[data-ds-dark-theme] .archv{color-scheme:dark}
341
+ /* \u515C\u5E95\uFF1A\u539F\u751F\u5F39\u5C42\u884C\u7684\u914D\u8272\u76F4\u63A5\u5199\u5728 option \u4E0A\uFF08Chromium \u6309 option \u81EA\u8EAB\u7684
342
+ background/color \u7ED8\u5236\u5F39\u5C42\uFF09\uFF0C\u5373\u4F7F color-scheme \u5224\u5B9A\u88AB\u6269\u5C55\u6216\u73AF\u5883\u5E72\u6270\uFF0C
343
+ \u6697\u8272\u4E0B\u4E5F\u4E0D\u4F1A\u51FA\u73B0\u767D\u5E95\u914D\u6D45\u8272\u6587\u5B57\u7684\u4E0D\u53EF\u8BFB\u7EC4\u5408\u3002 */
344
+ .archv option{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary)}
330
345
  .archv{--dsm-radius-tag:9px;--dsm-radius-ctl:9px;--dsm-radius-sheet:10px;--dsm-radius-card:12px;display:flex;flex-direction:column;gap:4px;max-width:800px;padding:8px 2px 28px}
331
346
  .archv-head{display:flex;align-items:center;gap:10px;margin:0 0 2px}
332
347
  .archv-title{font-size:16px;font-weight:650;color:var(--dsw-alias-label-primary);letter-spacing:-0.01em;margin:0}
@@ -403,7 +418,9 @@ var CSS = `
403
418
  \u5206\u652F\uFF08\u7EFF\uFF09/\u7A7A\u767D\uFF08\u7070\uFF09\uFF0C\u540D\u5B57\u8D85\u957F\u7701\u7565\u53F7\uFF1B+N \u8BA1\u6570 chip \u4E2D\u6027\u8272\u3002 */
404
419
  .dsm-tagchip{display:inline-flex;align-items:center;flex:none;max-width:9em;min-height:22px;padding:0 8px;border:1px solid color-mix(in srgb,var(--dsw-alias-state-warn-primary,#EAB308) 45%,transparent);border-radius:var(--dsm-radius-tag);background:color-mix(in srgb,var(--dsw-alias-state-warn-primary,#EAB308) 10%,transparent);color:var(--dsw-alias-label-secondary);font-size:11px;font-weight:500;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
405
420
  .dsm-tagchip-more{max-width:none;color:var(--dsw-alias-label-tertiary);border-color:var(--dsw-alias-border-l2);background:var(--dsw-alias-fill-subtle)}
406
- .archv-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;color:var(--dsw-alias-label-tertiary);flex:none;margin-left:auto;white-space:nowrap}
421
+ .archv-id{appearance:none;border:none;background:none;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10.5px;color:var(--dsw-alias-label-tertiary);flex:none;margin-left:auto;white-space:nowrap;cursor:pointer;transition:color .12s ease}
422
+ .archv-id:hover{color:var(--dsw-alias-label-secondary)}
423
+ .archv-id-copied{color:var(--dsw-alias-state-business-primary)}
407
424
  .archv-dot{color:var(--dsw-alias-border-l3);flex:none}
408
425
  .archv-check{width:15px;height:15px;accent-color:var(--dsw-alias-state-business-primary);flex:none;cursor:pointer}
409
426
  .archv-star{appearance:none;width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:none;background:0 0;padding:0;line-height:0;color:var(--dsw-alias-label-tertiary);cursor:pointer;border-radius:50%;transition:color .15s ease,transform .12s ease}
@@ -1093,6 +1110,34 @@ function SessionPanel({ workspacesSvc }) {
1093
1110
  }
1094
1111
  }
1095
1112
  };
1113
+ const copiedTimer = (0, import_react.useRef)(null);
1114
+ const [copiedId, setCopiedId] = (0, import_react.useState)(null);
1115
+ const copySessionId = (id) => {
1116
+ const markCopied = () => {
1117
+ setCopiedId(id);
1118
+ if (copiedTimer.current) clearTimeout(copiedTimer.current);
1119
+ copiedTimer.current = setTimeout(() => setCopiedId(null), 1400);
1120
+ };
1121
+ const viaExecCommand = () => {
1122
+ try {
1123
+ const ta = document.createElement("textarea");
1124
+ ta.value = id;
1125
+ ta.setAttribute("readonly", "");
1126
+ ta.style.cssText = "position:fixed;left:-9999px;top:0;opacity:0";
1127
+ document.body.appendChild(ta);
1128
+ ta.select();
1129
+ const ok = document.execCommand("copy");
1130
+ ta.remove();
1131
+ if (ok) markCopied();
1132
+ else showToast("\u590D\u5236\u5931\u8D25\uFF0C\u5B8C\u6574 ID\uFF1A" + id, "err");
1133
+ } catch (e) {
1134
+ showToast("\u590D\u5236\u5931\u8D25\uFF0C\u5B8C\u6574 ID\uFF1A" + id, "err");
1135
+ }
1136
+ };
1137
+ if (navigator.clipboard && navigator.clipboard.writeText) {
1138
+ navigator.clipboard.writeText(id).then(markCopied).catch(viaExecCommand);
1139
+ } else viaExecCommand();
1140
+ };
1096
1141
  const refresh = () => {
1097
1142
  setError(null);
1098
1143
  Promise.all([
@@ -2378,7 +2423,10 @@ function SessionPanel({ workspacesSvc }) {
2378
2423
  tagChips(it.sessionId),
2379
2424
  kidsBadge(it.sessionId),
2380
2425
  branchGroupBadge(it.sessionId),
2381
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "archv-id", title: it.sessionId, children: shortId(it.sessionId) })
2426
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { type: "button", className: "archv-id" + (copiedId === it.sessionId ? " archv-id-copied" : ""), title: it.sessionId + "\uFF08\u70B9\u51FB\u590D\u5236\u5B8C\u6574 ID\uFF09", "aria-label": "\u590D\u5236\u4F1A\u8BDD ID " + it.sessionId, onClick: (e) => {
2427
+ e.stopPropagation();
2428
+ copySessionId(it.sessionId);
2429
+ }, children: copiedId === it.sessionId ? "\u5DF2\u590D\u5236" : shortId(it.sessionId) })
2382
2430
  ] }),
2383
2431
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "archv-meta", children: [
2384
2432
  it.archived ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "archv-wtag archv-wgone", children: "\u5DF2\u5F52\u6863" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "archv-wtag archv-active", children: "\u6D3B\u52A8" }),
@@ -2719,7 +2767,7 @@ var SIDEBAR_AUG_CSS = `
2719
2767
  .dsm-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:2147483601;background:Canvas;color:CanvasText;border:1px solid color-mix(in srgb,CanvasText 25%,transparent);padding:9px 16px;border-radius:999px;font-size:12px;box-shadow:0 8px 24px rgb(0 0 0/.25);max-width:min(92vw,460px);cursor:pointer}
2720
2768
  .dsm-toast-long{border-radius:14px;text-align:left;line-height:18px}
2721
2769
  .dsm-toast-err{background:#4A1D1D;color:#FFD9D9;border:1px solid var(--dsw-alias-state-error-primary)}
2722
- .dsm-sub{position:fixed;z-index:1100;box-sizing:border-box;min-width:190px;max-width:320px;padding:4px;display:flex;flex-direction:column;gap:0;background:var(--dsw-specific-menu);border:1px solid var(--dsw-alias-border-inverted);border-radius:12px;box-shadow:var(--dsw-shadow-lv3)}
2770
+ .dsm-sub{position:fixed;z-index:1100;box-sizing:border-box;min-width:190px;max-width:320px;padding:4px;display:flex;flex-direction:column;gap:0;background:var(--dsw-specific-menu);backdrop-filter:var(--dsw-menu-backdrop-filter,blur(40px) saturate(150%));border:1px solid var(--dsw-alias-border-inverted);border-radius:12px;box-shadow:var(--dsw-shadow-lv3)}
2723
2771
  .dsm-sub-loading,.dsm-sub-empty{font-size:12px;color:var(--dsw-alias-label-tertiary);padding:6px 10px}
2724
2772
  .dsm-sub-err{font-size:12px;color:var(--dsw-alias-state-error-primary);padding:6px 10px}
2725
2773
  .dsm-sub-item{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:6px 10px;border:none;border-radius:8px;background:transparent;cursor:pointer;font-size:13px;line-height:18px;color:var(--dsw-alias-label-primary);text-align:left}