@yolk_vat-y/dsh-project-memory 0.5.4 → 0.5.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.
package/client/client.js CHANGED
@@ -276,7 +276,7 @@ window.__ModuleLoader__.load({
276
276
  //#endregion
277
277
  //#region src/client/task-ui-store.ts
278
278
  /**
279
- * Task UI Store — 仅管本地 UI 状态(closed、minimized、position、expandedIds、theme)
279
+ * Task UI Store — 仅管本地 UI 状态(closed、minimized、position、expandedIds、theme、showHints)
280
280
  * - 持久化到 localStorage(key: dsh-pm-task-panel-ui)
281
281
  * - 不跨标签页同步(每个标签页独立)
282
282
  * - 启动/刷新强制 closed: true,面板默认不显示
@@ -307,7 +307,8 @@ window.__ModuleLoader__.load({
307
307
  panelPosition: parsed.panelPosition ?? defaultPosition(),
308
308
  minimized: parsed.minimized !== false,
309
309
  closed: true,
310
- theme: typeof parsed.theme === "string" ? parsed.theme : "native"
310
+ theme: typeof parsed.theme === "string" ? parsed.theme : "native",
311
+ showHints: parsed.showHints !== false
311
312
  };
312
313
  }
313
314
  } catch {}
@@ -316,7 +317,8 @@ window.__ModuleLoader__.load({
316
317
  panelPosition: defaultPosition(),
317
318
  minimized: true,
318
319
  closed: true,
319
- theme: "native"
320
+ theme: "native",
321
+ showHints: true
320
322
  };
321
323
  }
322
324
  function persistUI(state) {
@@ -390,6 +392,18 @@ window.__ModuleLoader__.load({
390
392
  theme
391
393
  });
392
394
  },
395
+ toggleHints() {
396
+ setUIState({
397
+ ...uiState,
398
+ showHints: !uiState.showHints
399
+ });
400
+ },
401
+ setShowHints(showHints) {
402
+ setUIState({
403
+ ...uiState,
404
+ showHints
405
+ });
406
+ },
393
407
  reset() {
394
408
  setUIState(getDefaultUIState());
395
409
  }
@@ -561,7 +575,7 @@ window.__ModuleLoader__.load({
561
575
  }
562
576
  //#endregion
563
577
  //#region \0dsh-css:src/client/TaskPanel.module.css.mjs
564
- const css$1 = ".vZSZnG_panel{pointer-events:auto;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-base,#fff));border:1px solid var(--dsw-alias-border-l2,#7f7f7f4d);border-radius:14px;flex-direction:column;width:380px;max-width:calc(100vw - 24px);max-height:min(70vh,640px);font-family:inherit;animation:.18s ease-out vZSZnG_panelIn;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 32px #00000029,0 2px 8px #00000014}@keyframes vZSZnG_panelIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.vZSZnG_dragHandle{cursor:grab;z-index:1;justify-content:center;align-items:center;height:12px;display:flex;position:absolute;top:0;left:0;right:0}.vZSZnG_dragHandle:active{cursor:grabbing}.vZSZnG_handleGrip{background:var(--dsw-alias-separator-primary,#7f7f7f59);opacity:.8;border-radius:2px;width:32px;height:3px}.vZSZnG_header{border-bottom:1px solid var(--dsw-alias-border-l1,#7f7f7f2e);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 8px 14px;display:flex}.vZSZnG_headerLeft{align-items:center;gap:6px;min-width:0;display:flex}.vZSZnG_headerIcon{color:var(--dsw-alias-label-secondary);flex:none}.vZSZnG_headerTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;margin:0;font-size:13px;font-weight:600;line-height:20px}.vZSZnG_headerRight{align-items:center;gap:2px;margin-left:auto;display:flex}.vZSZnG_counts{color:var(--dsw-alias-label-tertiary);white-space:nowrap;margin-right:4px;font-size:11px;line-height:16px}.vZSZnG_boundBadge{color:var(--dsw-alias-label-primary-foreground,#fff);background:var(--dsw-alias-button-primary-fill,#3a6ef5);white-space:nowrap;border-radius:7px;flex:none;padding:0 6px;font-size:10px;line-height:14px}.vZSZnG_notice{color:var(--dsw-alias-state-warn-label,#b7791f);background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1a);word-break:break-all;border-radius:8px;margin:8px 12px 0;padding:6px 10px;font-size:12px;line-height:18px}.vZSZnG_taskList{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-scrollbar-bg-l2,transparent) transparent;flex-direction:column;gap:6px;padding:8px;display:flex;overflow-y:auto}.vZSZnG_emptyState{text-align:center;color:var(--dsw-alias-label-secondary);padding:36px 24px 30px}.vZSZnG_emptyTitle{color:var(--dsw-alias-label-primary);margin:0 0 6px;font-size:13px;font-weight:600}.vZSZnG_emptyDesc{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:20px}.vZSZnG_syncHint{color:var(--dsw-alias-label-dimmed);justify-content:center;align-items:center;gap:6px;margin:10px 0 0;font-size:11px;display:flex}.vZSZnG_card{border:1px solid var(--dsw-alias-border-l1,#7f7f7f29);background:var(--dsw-alias-bg-base,transparent);border-radius:10px;transition:border-color .15s;overflow:hidden}.vZSZnG_cardBound{border-color:var(--dsw-alias-border-l3,#7f7f7f59);box-shadow:inset 0 0 0 .5px var(--dsw-alias-border-l3,transparent)}.vZSZnG_cardHead{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px 7px;display:flex}.vZSZnG_cardHead:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_cardTitleRow{align-items:center;gap:6px;min-width:0;display:flex}.vZSZnG_cardTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.vZSZnG_cardMeta{color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;gap:8px;display:flex}.vZSZnG_progressText{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);font-size:11px;line-height:16px}.vZSZnG_updated{color:var(--dsw-alias-label-dimmed);font-size:10px;line-height:14px}.vZSZnG_chevron{color:var(--dsw-alias-label-tertiary);display:inline-flex}.vZSZnG_track{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f);border-radius:1px;height:2px;margin:0 10px 6px;overflow:hidden}.vZSZnG_trackFill{background:var(--dsw-alias-label-primary-bluish,var(--dsw-alias-button-primary-fill,#3a6ef5));border-radius:1px;height:100%;transition:width .2s}.vZSZnG_cardBody{border-top:1px solid var(--dsw-alias-border-l1,#7f7f7f24);overscroll-behavior:contain;max-height:300px;padding:8px 10px 10px;overflow-y:auto}.vZSZnG_section{margin-bottom:8px}.vZSZnG_section:last-child{margin-bottom:0}.vZSZnG_sectionLabel{color:var(--dsw-alias-label-secondary);align-items:center;gap:6px;margin-bottom:4px;font-size:11px;line-height:16px;display:flex}.vZSZnG_sectionCount{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1a);color:var(--dsw-alias-label-tertiary);border-radius:6px;padding:0 5px;font-size:10px;line-height:14px}.vZSZnG_stepsList{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.vZSZnG_stepRow{align-items:flex-start;gap:7px;padding:3px 2px;display:flex}.vZSZnG_stepRow>svg{flex:none;margin-top:2px}.vZSZnG_stepDone{color:var(--dsw-alias-label-dimmed)}.vZSZnG_stepRun{color:var(--dsw-alias-label-primary-bluish,#3a6ef5)}.vZSZnG_stepPending{background:var(--dsw-alias-border-l3,#7f7f7f80);border-radius:50%;flex:none;width:8px;height:8px;margin:5px 3px}.vZSZnG_stepContent{color:var(--dsw-alias-label-secondary);word-break:break-word;white-space:pre-wrap;font-size:12px;line-height:20px}.vZSZnG_stepContentDone{color:var(--dsw-alias-label-dimmed);text-decoration:line-through}.vZSZnG_stepContentRun{color:var(--dsw-alias-label-primary)}.vZSZnG_muted{color:var(--dsw-alias-label-dimmed);font-size:11px;line-height:18px}.vZSZnG_filesList{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.vZSZnG_fileRow{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;padding:3px 4px;display:flex}.vZSZnG_fileRow:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_fileDot{background:var(--dsw-alias-border-l3,#7f7f7f80);border-radius:50%;flex:none;width:5px;height:5px}.vZSZnG_filePath{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:18px;overflow:hidden}.vZSZnG_fileLine{color:var(--dsw-alias-label-dimmed);flex:none;font-size:10px;line-height:18px}.vZSZnG_cardFooter{gap:6px;margin-top:8px;display:flex}@media (prefers-reduced-motion:reduce){.vZSZnG_panel{animation:none}.vZSZnG_trackFill,.vZSZnG_card{transition:none}}.vZSZnG_miniBar{border:1px solid var(--dsw-alias-border-l3,#7f7f7f4d);background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-base,#fff));max-width:min(46vw,340px);height:34px;color:var(--dsw-alias-label-primary);cursor:grab;-webkit-user-select:none;user-select:none;pointer-events:auto;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;line-height:18px;transition:background .15s,border-color .15s;display:inline-flex;position:fixed;box-shadow:0 6px 20px #00000024,0 1px 4px #00000014}.vZSZnG_miniBar:active{cursor:grabbing}.vZSZnG_miniBar:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_miniIcon{color:var(--dsw-alias-label-secondary);flex:none}.vZSZnG_miniText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vZSZnG_miniChevron{color:var(--dsw-alias-label-tertiary);flex:none}.vZSZnG_taskList{flex:auto;min-height:0}.vZSZnG_card{flex-direction:column;display:flex}.vZSZnG_boundaryFallback{border:1px solid var(--dsw-alias-border-l3,#7f7f7f4d);background:var(--dsw-alias-bg-layer-2,#fff);color:var(--dsw-alias-label-secondary);cursor:pointer;pointer-events:auto;border-radius:999px;padding:4px 10px;font-size:12px;line-height:18px;position:fixed;top:64px;right:16px}.vZSZnG_stepToggle{cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;align-items:center;margin-top:2px;padding:0;display:inline-flex}.vZSZnG_stepToggle:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f)}.vZSZnG_stepToggle:disabled{cursor:default;opacity:.5}.vZSZnG_stepEditable{cursor:text;border-radius:3px}.vZSZnG_stepEditable:hover{outline:1px dashed var(--dsw-alias-border-l3,#7f7f7f66);outline-offset:1px}.vZSZnG_stepInput{box-sizing:border-box;width:auto;min-width:0;font:inherit;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base,transparent);border:1px solid var(--dsw-alias-border-l3,#7f7f7f73);border-radius:5px;flex:auto;padding:0 5px;font-size:12px;line-height:20px}.vZSZnG_editorArea{box-sizing:border-box;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base,transparent);border:1px solid var(--dsw-alias-border-l3,#7f7f7f73);resize:none;vertical-align:middle;cursor:text;white-space:pre-wrap;word-break:break-word;border-radius:5px;flex:1;margin:0;padding:2px 5px;font-family:inherit;font-size:12px;line-height:20px;overflow:hidden}.vZSZnG_editorArea:focus{border-color:var(--dsw-alias-border-l3,#7f7f7f99);outline:none}.vZSZnG_stepDragging{opacity:.3;background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_cardTitleEditable{cursor:text;border-radius:3px}.vZSZnG_cardTitleEditable:hover{outline:1px dashed var(--dsw-alias-border-l3,#7f7f7f66);outline-offset:1px}.vZSZnG_panel[data-theme=glass],.vZSZnG_miniBar[data-theme=glass]{background:color-mix(in srgb, var(--dsw-alias-bg-layer-2,#fff) 90%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.2);border:1px solid color-mix(in srgb, var(--dsw-alias-border-l2,#7f7f7f4d) 80%, transparent)}.vZSZnG_panel[data-theme=glass] .vZSZnG_card{background:color-mix(in srgb, var(--dsw-alias-bg-base,transparent) 84%, transparent);border-color:color-mix(in srgb, var(--dsw-alias-border-l1,#7f7f7f29) 60%, transparent)}.vZSZnG_panel[data-theme=glass] .vZSZnG_cardBody{border-top-color:color-mix(in srgb, var(--dsw-alias-border-l1,#7f7f7f24) 60%, transparent)}@media (prefers-reduced-transparency:reduce){.vZSZnG_panel[data-theme=glass],.vZSZnG_miniBar[data-theme=glass]{background:var(--dsw-alias-bg-layer-2,#fff);-webkit-backdrop-filter:none;backdrop-filter:none}.vZSZnG_panel[data-theme=glass] .vZSZnG_card{background:var(--dsw-alias-bg-base,transparent)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.vZSZnG_panel[data-theme=glass],.vZSZnG_miniBar[data-theme=glass]{background:var(--dsw-alias-bg-layer-2,#fff)}}.vZSZnG_panel[data-theme=brutal]{box-shadow:none;border-width:1px;border-radius:6px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_card{border:1px solid var(--dsw-alias-border-l3,#7f7f7f6b);background:var(--dsw-alias-bg-base,transparent);box-shadow:none;border-radius:3px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_cardHead{padding:7px 10px 6px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_cardTitle{letter-spacing:.01em;font-weight:650}.vZSZnG_panel[data-theme=brutal] .vZSZnG_headerTitle{letter-spacing:.03em}.vZSZnG_panel[data-theme=brutal] .vZSZnG_boundBadge{border-radius:2px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_track{border-radius:0;height:3px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_trackFill{border-radius:0}.vZSZnG_panel[data-theme=brutal] .vZSZnG_cardBody{border-top:1px solid var(--dsw-alias-border-l2,#7f7f7f3d)}.vZSZnG_panel[data-theme=mono] .vZSZnG_headerTitle,.vZSZnG_panel[data-theme=mono] .vZSZnG_counts,.vZSZnG_panel[data-theme=mono] .vZSZnG_cardTitle,.vZSZnG_panel[data-theme=mono] .vZSZnG_progressText,.vZSZnG_panel[data-theme=mono] .vZSZnG_stepContent,.vZSZnG_panel[data-theme=mono] .vZSZnG_filePath{font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.vZSZnG_panel[data-theme=mono] .vZSZnG_cardTitle{font-size:12px}.vZSZnG_panel[data-theme=mono] .vZSZnG_stepContent{font-size:11.5px}.vZSZnG_panel[data-theme=mono] .vZSZnG_card{border-radius:5px}.vZSZnG_panel[data-theme=mono] .vZSZnG_trackFill{border-radius:0}.vZSZnG_panel[data-theme=mono] .vZSZnG_stepPending{border-radius:1px}.vZSZnG_panel[data-theme=mono] .vZSZnG_updated{letter-spacing:.02em}.vZSZnG_headerIconBtn{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.vZSZnG_headerIcon{color:var(--dsw-alias-label-secondary);flex:none;display:block}.vZSZnG_headerLeft{min-width:0}.vZSZnG_headerTitle{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.vZSZnG_headerRight{min-width:0}.vZSZnG_counts{text-overflow:ellipsis;flex:none;max-width:45%;margin-left:auto;overflow:hidden}.vZSZnG_dragGhost{pointer-events:none;z-index:9999;transition:left 50ms,top 50ms;position:fixed;transform:translate(-50%,-50%)}.vZSZnG_dragGhostCard{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-base,#fff));border:1px solid var(--dsw-alias-border-l3,#7f7f7f59);color:var(--dsw-alias-label-primary);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;max-width:280px;padding:8px 12px;font-size:12px;line-height:20px;display:inline-flex;transform:scale(.9);box-shadow:0 8px 24px #0000002e,0 2px 8px #0000001a}.vZSZnG_dragGhostContent{text-overflow:ellipsis;word-break:break-word;flex:1;min-width:0;overflow:hidden}.vZSZnG_dragGhostClose{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;margin-left:8px;font-size:16px;line-height:1;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.vZSZnG_dragGhostClose:hover{opacity:1;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f)}.vZSZnG_dropTargetBefore{position:relative}.vZSZnG_dropTargetBefore:before{content:\"\";background:var(--dsw-alias-button-primary-fill,#3a6ef5);height:2px;box-shadow:0 0 4px var(--dsw-alias-button-primary-fill,#3a6ef5);border-radius:1px;animation:.8s ease-in-out infinite vZSZnG_dropPulse;position:absolute;top:-1px;left:0;right:0}.vZSZnG_dropTargetAfter{position:relative}.vZSZnG_dropTargetAfter:after{content:\"\";background:var(--dsw-alias-button-primary-fill,#3a6ef5);height:2px;box-shadow:0 0 4px var(--dsw-alias-button-primary-fill,#3a6ef5);border-radius:1px;animation:.8s ease-in-out infinite vZSZnG_dropPulse;position:absolute;bottom:-1px;left:0;right:0}@keyframes vZSZnG_dropPulse{0%,to{opacity:.6}50%{opacity:1}}.vZSZnG_memoryPane{flex-direction:column;gap:6px;max-height:480px;padding:8px 10px 10px;display:flex;overflow:auto}.vZSZnG_memToolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.vZSZnG_memCount{opacity:.75;font-size:12px;font-weight:600}.vZSZnG_memList{flex-direction:column;gap:6px;display:flex}.vZSZnG_memRow{border:1px solid var(--dsw-border-weak,#80808040);background:color-mix(in srgb, var(--dsw-bg-secondary,#f5f5f5) 45%, transparent);border-radius:6px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.vZSZnG_memRowArchived{opacity:.55}.vZSZnG_memRowMain{flex-direction:column;gap:2px;display:flex}.vZSZnG_memTitle{word-break:break-word;align-items:flex-start;gap:6px;font-size:13px;line-height:1.35;display:flex}.vZSZnG_kindBadge{background:var(--dsw-accent-soft,#5078ff26);color:var(--dsw-accent,#4d6bfe);border-radius:4px;flex:none;padding:0 5px;font-size:11px;line-height:1.5}.vZSZnG_memMeta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.vZSZnG_badge{background:color-mix(in srgb, var(--dsw-fg,#222) 8%, transparent);border-radius:4px;padding:0 5px;font-size:11px;line-height:1.5}.vZSZnG_badgeDraft{color:#b26a00;background:#ffb40029}.vZSZnG_badgeArchived{opacity:.8}.vZSZnG_memBody{opacity:.8;word-break:break-word;font-size:12px}.vZSZnG_memActs{flex-wrap:wrap;gap:4px;display:flex}.vZSZnG_memToolbarActs{align-items:center;gap:6px;display:flex}.vZSZnG_memNew{border:1px solid var(--dsw-border-weak,#80808040);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.vZSZnG_memNewRow{align-items:center;gap:8px;display:flex}.vZSZnG_memLabel{opacity:.8;align-items:center;gap:6px;font-size:12px;display:inline-flex}.vZSZnG_memNew select,.vZSZnG_memNew textarea{box-sizing:border-box;width:100%}";
578
+ const css$1 = ".vZSZnG_panel{pointer-events:auto;background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-base,#fff));border:1px solid var(--dsw-alias-border-l2,#7f7f7f4d);border-radius:14px;flex-direction:column;width:380px;max-width:calc(100vw - 24px);max-height:min(70vh,640px);font-family:inherit;animation:.18s ease-out vZSZnG_panelIn;display:flex;position:fixed;overflow:hidden;box-shadow:0 12px 32px #00000029,0 2px 8px #00000014}@keyframes vZSZnG_panelIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.vZSZnG_dragHandle{cursor:grab;z-index:1;justify-content:center;align-items:center;height:12px;display:flex;position:absolute;top:0;left:0;right:0}.vZSZnG_dragHandle:active{cursor:grabbing}.vZSZnG_handleGrip{background:var(--dsw-alias-separator-primary,#7f7f7f59);opacity:.8;border-radius:2px;width:32px;height:3px}.vZSZnG_header{border-bottom:1px solid var(--dsw-alias-border-l1,#7f7f7f2e);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:10px 10px 8px 14px;display:flex}.vZSZnG_headerLeft{align-items:center;gap:6px;min-width:0;display:flex}.vZSZnG_headerIcon{color:var(--dsw-alias-label-secondary);flex:none}.vZSZnG_headerTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;margin:0;font-size:13px;font-weight:600;line-height:20px}.vZSZnG_headerRight{align-items:center;gap:2px;margin-left:auto;display:flex}.vZSZnG_hintsOff{opacity:.45}.vZSZnG_hintsOff:hover{opacity:.75}.vZSZnG_counts{color:var(--dsw-alias-label-tertiary);white-space:nowrap;margin-right:4px;font-size:11px;line-height:16px}.vZSZnG_boundBadge{color:var(--dsw-alias-label-primary-foreground,#fff);background:var(--dsw-alias-button-primary-fill,#3a6ef5);white-space:nowrap;border-radius:7px;flex:none;padding:0 6px;font-size:10px;line-height:14px}.vZSZnG_notice{color:var(--dsw-alias-state-warn-label,#b7791f);background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1a);word-break:break-all;border-radius:8px;margin:8px 12px 0;padding:6px 10px;font-size:12px;line-height:18px}.vZSZnG_taskList{scrollbar-width:thin;scrollbar-color:var(--dsw-alias-scrollbar-bg-l2,transparent) transparent;flex-direction:column;gap:6px;padding:8px;display:flex;overflow-y:auto}.vZSZnG_emptyState{text-align:center;color:var(--dsw-alias-label-secondary);padding:36px 24px 30px}.vZSZnG_emptyTitle{color:var(--dsw-alias-label-primary);margin:0 0 6px;font-size:13px;font-weight:600}.vZSZnG_emptyDesc{color:var(--dsw-alias-label-tertiary);margin:0;font-size:12px;line-height:20px}.vZSZnG_syncHint{color:var(--dsw-alias-label-dimmed);justify-content:center;align-items:center;gap:6px;margin:10px 0 0;font-size:11px;display:flex}.vZSZnG_card{border:1px solid var(--dsw-alias-border-l1,#7f7f7f29);background:var(--dsw-alias-bg-base,transparent);border-radius:10px;transition:border-color .15s;overflow:hidden}.vZSZnG_cardBound{border-color:var(--dsw-alias-border-l3,#7f7f7f59);box-shadow:inset 0 0 0 .5px var(--dsw-alias-border-l3,transparent)}.vZSZnG_cardHead{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px 7px;display:flex}.vZSZnG_cardHead:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_cardTitleRow{align-items:center;gap:6px;min-width:0;display:flex}.vZSZnG_cardTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.vZSZnG_cardMeta{color:var(--dsw-alias-label-tertiary);flex:none;align-items:center;gap:8px;display:flex}.vZSZnG_progressText{font-variant-numeric:tabular-nums;color:var(--dsw-alias-label-secondary);font-size:11px;line-height:16px}.vZSZnG_updated{color:var(--dsw-alias-label-dimmed);font-size:10px;line-height:14px}.vZSZnG_chevron{color:var(--dsw-alias-label-tertiary);display:inline-flex}.vZSZnG_track{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f);border-radius:1px;height:2px;margin:0 10px 6px;overflow:hidden}.vZSZnG_trackFill{background:var(--dsw-alias-label-primary-bluish,var(--dsw-alias-button-primary-fill,#3a6ef5));border-radius:1px;height:100%;transition:width .2s}.vZSZnG_cardBody{border-top:1px solid var(--dsw-alias-border-l1,#7f7f7f24);overscroll-behavior:contain;max-height:300px;padding:8px 10px 10px;overflow-y:auto}.vZSZnG_section{margin-bottom:8px}.vZSZnG_section:last-child{margin-bottom:0}.vZSZnG_sectionLabel{color:var(--dsw-alias-label-secondary);align-items:center;gap:6px;margin-bottom:4px;font-size:11px;line-height:16px;display:flex}.vZSZnG_sectionCount{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1a);color:var(--dsw-alias-label-tertiary);border-radius:6px;padding:0 5px;font-size:10px;line-height:14px}.vZSZnG_stepsList{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.vZSZnG_stepRow{align-items:flex-start;gap:7px;padding:3px 2px;display:flex}.vZSZnG_stepRow>svg{flex:none;margin-top:2px}.vZSZnG_stepDone{color:var(--dsw-alias-label-dimmed)}.vZSZnG_stepRun{color:var(--dsw-alias-label-primary-bluish,#3a6ef5)}.vZSZnG_stepPending{background:var(--dsw-alias-border-l3,#7f7f7f80);border-radius:50%;flex:none;width:8px;height:8px;margin:5px 3px}.vZSZnG_stepContent{color:var(--dsw-alias-label-secondary);word-break:break-word;white-space:pre-wrap;font-size:12px;line-height:20px}.vZSZnG_stepContentDone{color:var(--dsw-alias-label-dimmed);text-decoration:line-through}.vZSZnG_stepContentRun{color:var(--dsw-alias-label-primary)}.vZSZnG_muted{color:var(--dsw-alias-label-dimmed);font-size:11px;line-height:18px}.vZSZnG_filesList{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.vZSZnG_fileRow{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;padding:3px 4px;display:flex}.vZSZnG_fileRow:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_fileDot{background:var(--dsw-alias-border-l3,#7f7f7f80);border-radius:50%;flex:none;width:5px;height:5px}.vZSZnG_filePath{color:var(--dsw-alias-label-secondary);white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;line-height:18px;overflow:hidden}.vZSZnG_fileLine{color:var(--dsw-alias-label-dimmed);flex:none;font-size:10px;line-height:18px}.vZSZnG_cardFooter{gap:6px;margin-top:8px;display:flex}@media (prefers-reduced-motion:reduce){.vZSZnG_panel{animation:none}.vZSZnG_trackFill,.vZSZnG_card{transition:none}}.vZSZnG_miniBar{border:1px solid var(--dsw-alias-border-l3,#7f7f7f4d);background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-base,#fff));max-width:min(46vw,340px);height:34px;color:var(--dsw-alias-label-primary);cursor:grab;-webkit-user-select:none;user-select:none;pointer-events:auto;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:12px;line-height:18px;transition:background .15s,border-color .15s;display:inline-flex;position:fixed;box-shadow:0 6px 20px #00000024,0 1px 4px #00000014}.vZSZnG_miniBar:active{cursor:grabbing}.vZSZnG_miniBar:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_miniIcon{color:var(--dsw-alias-label-secondary);flex:none}.vZSZnG_miniText{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vZSZnG_miniChevron{color:var(--dsw-alias-label-tertiary);flex:none}.vZSZnG_taskList{flex:auto;min-height:0}.vZSZnG_card{flex-direction:column;display:flex}.vZSZnG_boundaryFallback{border:1px solid var(--dsw-alias-border-l3,#7f7f7f4d);background:var(--dsw-alias-bg-layer-2,#fff);color:var(--dsw-alias-label-secondary);cursor:pointer;pointer-events:auto;border-radius:999px;padding:4px 10px;font-size:12px;line-height:18px;position:fixed;top:64px;right:16px}.vZSZnG_stepToggle{cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;align-items:center;margin-top:2px;padding:0;display:inline-flex}.vZSZnG_stepToggle:hover{background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f)}.vZSZnG_stepToggle:disabled{cursor:default;opacity:.5}.vZSZnG_stepEditable{cursor:text;border-radius:3px}.vZSZnG_stepEditable:hover{outline:1px dashed var(--dsw-alias-border-l3,#7f7f7f66);outline-offset:1px}.vZSZnG_stepInput{box-sizing:border-box;width:auto;min-width:0;font:inherit;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base,transparent);border:1px solid var(--dsw-alias-border-l3,#7f7f7f73);border-radius:5px;flex:auto;padding:0 5px;font-size:12px;line-height:20px}.vZSZnG_editorArea{box-sizing:border-box;min-width:0;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base,transparent);border:1px solid var(--dsw-alias-border-l3,#7f7f7f73);resize:none;vertical-align:middle;cursor:text;white-space:pre-wrap;word-break:break-word;border-radius:5px;flex:1;margin:0;padding:2px 5px;font-family:inherit;font-size:12px;line-height:20px;overflow:hidden}.vZSZnG_editorArea:focus{border-color:var(--dsw-alias-border-l3,#7f7f7f99);outline:none}.vZSZnG_stepDragging{opacity:.3;background:var(--dsw-alias-interactive-bg-hover,#7f7f7f14)}.vZSZnG_cardTitleEditable{cursor:text;border-radius:3px}.vZSZnG_cardTitleEditable:hover{outline:1px dashed var(--dsw-alias-border-l3,#7f7f7f66);outline-offset:1px}.vZSZnG_panel[data-theme=glass],.vZSZnG_miniBar[data-theme=glass]{background:color-mix(in srgb, var(--dsw-alias-bg-layer-2,#fff) 90%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.2);border:1px solid color-mix(in srgb, var(--dsw-alias-border-l2,#7f7f7f4d) 80%, transparent)}.vZSZnG_panel[data-theme=glass] .vZSZnG_card{background:color-mix(in srgb, var(--dsw-alias-bg-base,transparent) 84%, transparent);border-color:color-mix(in srgb, var(--dsw-alias-border-l1,#7f7f7f29) 60%, transparent)}.vZSZnG_panel[data-theme=glass] .vZSZnG_cardBody{border-top-color:color-mix(in srgb, var(--dsw-alias-border-l1,#7f7f7f24) 60%, transparent)}@media (prefers-reduced-transparency:reduce){.vZSZnG_panel[data-theme=glass],.vZSZnG_miniBar[data-theme=glass]{background:var(--dsw-alias-bg-layer-2,#fff);-webkit-backdrop-filter:none;backdrop-filter:none}.vZSZnG_panel[data-theme=glass] .vZSZnG_card{background:var(--dsw-alias-bg-base,transparent)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.vZSZnG_panel[data-theme=glass],.vZSZnG_miniBar[data-theme=glass]{background:var(--dsw-alias-bg-layer-2,#fff)}}.vZSZnG_panel[data-theme=brutal]{box-shadow:none;border-width:1px;border-radius:6px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_card{border:1px solid var(--dsw-alias-border-l3,#7f7f7f6b);background:var(--dsw-alias-bg-base,transparent);box-shadow:none;border-radius:3px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_cardHead{padding:7px 10px 6px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_cardTitle{letter-spacing:.01em;font-weight:650}.vZSZnG_panel[data-theme=brutal] .vZSZnG_headerTitle{letter-spacing:.03em}.vZSZnG_panel[data-theme=brutal] .vZSZnG_boundBadge{border-radius:2px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_track{border-radius:0;height:3px}.vZSZnG_panel[data-theme=brutal] .vZSZnG_trackFill{border-radius:0}.vZSZnG_panel[data-theme=brutal] .vZSZnG_cardBody{border-top:1px solid var(--dsw-alias-border-l2,#7f7f7f3d)}.vZSZnG_panel[data-theme=mono] .vZSZnG_headerTitle,.vZSZnG_panel[data-theme=mono] .vZSZnG_counts,.vZSZnG_panel[data-theme=mono] .vZSZnG_cardTitle,.vZSZnG_panel[data-theme=mono] .vZSZnG_progressText,.vZSZnG_panel[data-theme=mono] .vZSZnG_stepContent,.vZSZnG_panel[data-theme=mono] .vZSZnG_filePath{font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.vZSZnG_panel[data-theme=mono] .vZSZnG_cardTitle{font-size:12px}.vZSZnG_panel[data-theme=mono] .vZSZnG_stepContent{font-size:11.5px}.vZSZnG_panel[data-theme=mono] .vZSZnG_card{border-radius:5px}.vZSZnG_panel[data-theme=mono] .vZSZnG_trackFill{border-radius:0}.vZSZnG_panel[data-theme=mono] .vZSZnG_stepPending{border-radius:1px}.vZSZnG_panel[data-theme=mono] .vZSZnG_updated{letter-spacing:.02em}.vZSZnG_headerIconBtn{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;flex:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.vZSZnG_headerIcon{color:var(--dsw-alias-label-secondary);flex:none;display:block}.vZSZnG_headerLeft{min-width:0}.vZSZnG_headerTitle{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.vZSZnG_headerRight{min-width:0}.vZSZnG_counts{text-overflow:ellipsis;flex:none;max-width:45%;margin-left:auto;overflow:hidden}.vZSZnG_dragGhost{pointer-events:none;z-index:9999;transition:left 50ms,top 50ms;position:fixed;transform:translate(-50%,-50%)}.vZSZnG_dragGhostCard{background:var(--dsw-alias-bg-layer-2,var(--dsw-alias-bg-base,#fff));border:1px solid var(--dsw-alias-border-l3,#7f7f7f59);color:var(--dsw-alias-label-primary);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;max-width:280px;padding:8px 12px;font-size:12px;line-height:20px;display:inline-flex;transform:scale(.9);box-shadow:0 8px 24px #0000002e,0 2px 8px #0000001a}.vZSZnG_dragGhostContent{text-overflow:ellipsis;word-break:break-word;flex:1;min-width:0;overflow:hidden}.vZSZnG_dragGhostClose{width:20px;height:20px;color:var(--dsw-alias-label-tertiary);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;margin-left:8px;font-size:16px;line-height:1;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.vZSZnG_dragGhostClose:hover{opacity:1;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover,#7f7f7f1f)}.vZSZnG_dropTargetBefore{position:relative}.vZSZnG_dropTargetBefore:before{content:\"\";background:var(--dsw-alias-button-primary-fill,#3a6ef5);height:2px;box-shadow:0 0 4px var(--dsw-alias-button-primary-fill,#3a6ef5);border-radius:1px;animation:.8s ease-in-out infinite vZSZnG_dropPulse;position:absolute;top:-1px;left:0;right:0}.vZSZnG_dropTargetAfter{position:relative}.vZSZnG_dropTargetAfter:after{content:\"\";background:var(--dsw-alias-button-primary-fill,#3a6ef5);height:2px;box-shadow:0 0 4px var(--dsw-alias-button-primary-fill,#3a6ef5);border-radius:1px;animation:.8s ease-in-out infinite vZSZnG_dropPulse;position:absolute;bottom:-1px;left:0;right:0}@keyframes vZSZnG_dropPulse{0%,to{opacity:.6}50%{opacity:1}}.vZSZnG_memoryPane{flex-direction:column;gap:6px;max-height:480px;padding:8px 10px 10px;display:flex;overflow:auto}.vZSZnG_memToolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.vZSZnG_memCount{opacity:.75;font-size:12px;font-weight:600}.vZSZnG_memList{flex-direction:column;gap:6px;display:flex}.vZSZnG_memRow{border:1px solid var(--dsw-border-weak,#80808040);background:color-mix(in srgb, var(--dsw-bg-secondary,#f5f5f5) 45%, transparent);border-radius:6px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.vZSZnG_memRowArchived{opacity:.55}.vZSZnG_memRowMain{flex-direction:column;gap:2px;display:flex}.vZSZnG_memTitle{word-break:break-word;align-items:flex-start;gap:6px;font-size:13px;line-height:1.35;display:flex}.vZSZnG_kindBadge{background:var(--dsw-accent-soft,#5078ff26);color:var(--dsw-accent,#4d6bfe);border-radius:4px;flex:none;padding:0 5px;font-size:11px;line-height:1.5}.vZSZnG_memMeta{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.vZSZnG_badge{background:color-mix(in srgb, var(--dsw-fg,#222) 8%, transparent);border-radius:4px;padding:0 5px;font-size:11px;line-height:1.5}.vZSZnG_badgeDraft{color:#b26a00;background:#ffb40029}.vZSZnG_badgeArchived{opacity:.8}.vZSZnG_memBody{opacity:.8;word-break:break-word;font-size:12px}.vZSZnG_memActs{flex-wrap:wrap;gap:4px;display:flex}.vZSZnG_memToolbarActs{align-items:center;gap:6px;display:flex}.vZSZnG_memNew{border:1px solid var(--dsw-border-weak,#80808040);border-radius:6px;flex-direction:column;gap:6px;padding:8px;display:flex}.vZSZnG_memNewRow{align-items:center;gap:8px;display:flex}.vZSZnG_memLabel{opacity:.8;align-items:center;gap:6px;font-size:12px;display:inline-flex}.vZSZnG_memNew select,.vZSZnG_memNew textarea{box-sizing:border-box;width:100%}";
565
579
  const tagId$1 = "@yolk_vat-y/dsh-project-memory/TaskPanel.module.css";
566
580
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
567
581
  const tag = document.createElement("style");
@@ -571,91 +585,92 @@ window.__ModuleLoader__.load({
571
585
  document.head.appendChild(tag);
572
586
  }
573
587
  var TaskPanel_module_css_default = {
574
- "muted": "vZSZnG_muted",
575
- "memMeta": "vZSZnG_memMeta",
576
- "updated": "vZSZnG_updated",
577
- "dragGhostContent": "vZSZnG_dragGhostContent",
578
- "cardTitle": "vZSZnG_cardTitle",
579
- "headerLeft": "vZSZnG_headerLeft",
580
- "miniIcon": "vZSZnG_miniIcon",
581
- "stepToggle": "vZSZnG_stepToggle",
582
- "headerIconBtn": "vZSZnG_headerIconBtn",
583
- "memActs": "vZSZnG_memActs",
584
- "handleGrip": "vZSZnG_handleGrip",
585
- "headerRight": "vZSZnG_headerRight",
586
- "cardFooter": "vZSZnG_cardFooter",
587
- "memRowMain": "vZSZnG_memRowMain",
588
+ "hintsOff": "vZSZnG_hintsOff",
589
+ "memoryPane": "vZSZnG_memoryPane",
590
+ "panelIn": "vZSZnG_panelIn",
591
+ "memRow": "vZSZnG_memRow",
588
592
  "kindBadge": "vZSZnG_kindBadge",
589
- "counts": "vZSZnG_counts",
590
- "section": "vZSZnG_section",
591
- "miniChevron": "vZSZnG_miniChevron",
592
- "trackFill": "vZSZnG_trackFill",
593
- "memNewRow": "vZSZnG_memNewRow",
594
593
  "memLabel": "vZSZnG_memLabel",
595
- "emptyDesc": "vZSZnG_emptyDesc",
594
+ "stepRun": "vZSZnG_stepRun",
595
+ "dragGhost": "vZSZnG_dragGhost",
596
+ "card": "vZSZnG_card",
597
+ "cardBound": "vZSZnG_cardBound",
598
+ "dropTargetAfter": "vZSZnG_dropTargetAfter",
599
+ "cardTitle": "vZSZnG_cardTitle",
600
+ "sectionLabel": "vZSZnG_sectionLabel",
601
+ "stepContentDone": "vZSZnG_stepContentDone",
602
+ "sectionCount": "vZSZnG_sectionCount",
603
+ "stepContentRun": "vZSZnG_stepContentRun",
604
+ "filesList": "vZSZnG_filesList",
596
605
  "stepRow": "vZSZnG_stepRow",
606
+ "cardFooter": "vZSZnG_cardFooter",
597
607
  "dragHandle": "vZSZnG_dragHandle",
598
- "cardBody": "vZSZnG_cardBody",
599
- "stepDone": "vZSZnG_stepDone",
600
- "boundaryFallback": "vZSZnG_boundaryFallback",
601
- "memToolbar": "vZSZnG_memToolbar",
608
+ "memCount": "vZSZnG_memCount",
602
609
  "dragGhostCard": "vZSZnG_dragGhostCard",
603
- "dropTargetAfter": "vZSZnG_dropTargetAfter",
610
+ "emptyTitle": "vZSZnG_emptyTitle",
611
+ "stepEditable": "vZSZnG_stepEditable",
612
+ "header": "vZSZnG_header",
613
+ "cardHead": "vZSZnG_cardHead",
614
+ "track": "vZSZnG_track",
615
+ "headerIcon": "vZSZnG_headerIcon",
616
+ "updated": "vZSZnG_updated",
617
+ "stepsList": "vZSZnG_stepsList",
618
+ "syncHint": "vZSZnG_syncHint",
619
+ "stepContent": "vZSZnG_stepContent",
620
+ "headerIconBtn": "vZSZnG_headerIconBtn",
621
+ "dropPulse": "vZSZnG_dropPulse",
622
+ "memRowMain": "vZSZnG_memRowMain",
604
623
  "headerTitle": "vZSZnG_headerTitle",
605
- "stepRun": "vZSZnG_stepRun",
606
- "cardTitleRow": "vZSZnG_cardTitleRow",
607
- "stepPending": "vZSZnG_stepPending",
608
- "stepContentDone": "vZSZnG_stepContentDone",
609
- "memToolbarActs": "vZSZnG_memToolbarActs",
624
+ "emptyDesc": "vZSZnG_emptyDesc",
625
+ "cardBody": "vZSZnG_cardBody",
610
626
  "cardTitleEditable": "vZSZnG_cardTitleEditable",
611
- "memRowArchived": "vZSZnG_memRowArchived",
612
- "memList": "vZSZnG_memList",
613
- "stepInput": "vZSZnG_stepInput",
614
- "stepEditable": "vZSZnG_stepEditable",
615
- "progressText": "vZSZnG_progressText",
616
627
  "badgeArchived": "vZSZnG_badgeArchived",
617
- "editorArea": "vZSZnG_editorArea",
618
- "cardMeta": "vZSZnG_cardMeta",
619
- "fileDot": "vZSZnG_fileDot",
620
- "fileLine": "vZSZnG_fileLine",
621
- "stepsList": "vZSZnG_stepsList",
622
- "memCount": "vZSZnG_memCount",
623
- "sectionLabel": "vZSZnG_sectionLabel",
628
+ "memToolbarActs": "vZSZnG_memToolbarActs",
629
+ "stepToggle": "vZSZnG_stepToggle",
630
+ "miniIcon": "vZSZnG_miniIcon",
631
+ "stepInput": "vZSZnG_stepInput",
632
+ "memMeta": "vZSZnG_memMeta",
633
+ "counts": "vZSZnG_counts",
634
+ "stepPending": "vZSZnG_stepPending",
635
+ "memNew": "vZSZnG_memNew",
636
+ "memNewRow": "vZSZnG_memNewRow",
637
+ "headerLeft": "vZSZnG_headerLeft",
638
+ "panel": "vZSZnG_panel",
639
+ "taskList": "vZSZnG_taskList",
624
640
  "filePath": "vZSZnG_filePath",
625
- "badgeDraft": "vZSZnG_badgeDraft",
626
- "stepDragging": "vZSZnG_stepDragging",
627
- "miniText": "vZSZnG_miniText",
641
+ "progressText": "vZSZnG_progressText",
642
+ "boundaryFallback": "vZSZnG_boundaryFallback",
643
+ "memToolbar": "vZSZnG_memToolbar",
644
+ "memActs": "vZSZnG_memActs",
628
645
  "notice": "vZSZnG_notice",
629
- "dragGhostClose": "vZSZnG_dragGhostClose",
630
- "memRow": "vZSZnG_memRow",
631
- "track": "vZSZnG_track",
632
646
  "emptyState": "vZSZnG_emptyState",
633
- "taskList": "vZSZnG_taskList",
634
- "panelIn": "vZSZnG_panelIn",
635
- "dropPulse": "vZSZnG_dropPulse",
636
- "memBody": "vZSZnG_memBody",
637
- "headerIcon": "vZSZnG_headerIcon",
638
- "badge": "vZSZnG_badge",
639
- "memNew": "vZSZnG_memNew",
640
- "dropTargetBefore": "vZSZnG_dropTargetBefore",
641
- "sectionCount": "vZSZnG_sectionCount",
642
- "card": "vZSZnG_card",
643
- "stepContent": "vZSZnG_stepContent",
647
+ "handleGrip": "vZSZnG_handleGrip",
644
648
  "chevron": "vZSZnG_chevron",
649
+ "miniText": "vZSZnG_miniText",
650
+ "dragGhostClose": "vZSZnG_dragGhostClose",
651
+ "dragGhostContent": "vZSZnG_dragGhostContent",
645
652
  "boundBadge": "vZSZnG_boundBadge",
653
+ "fileDot": "vZSZnG_fileDot",
654
+ "memRowArchived": "vZSZnG_memRowArchived",
655
+ "dropTargetBefore": "vZSZnG_dropTargetBefore",
656
+ "fileLine": "vZSZnG_fileLine",
657
+ "memList": "vZSZnG_memList",
658
+ "headerRight": "vZSZnG_headerRight",
659
+ "muted": "vZSZnG_muted",
660
+ "badge": "vZSZnG_badge",
661
+ "section": "vZSZnG_section",
662
+ "memBody": "vZSZnG_memBody",
663
+ "stepDone": "vZSZnG_stepDone",
664
+ "cardTitleRow": "vZSZnG_cardTitleRow",
665
+ "cardMeta": "vZSZnG_cardMeta",
646
666
  "fileRow": "vZSZnG_fileRow",
647
- "cardHead": "vZSZnG_cardHead",
648
- "miniBar": "vZSZnG_miniBar",
649
- "header": "vZSZnG_header",
650
- "syncHint": "vZSZnG_syncHint",
651
- "panel": "vZSZnG_panel",
652
- "filesList": "vZSZnG_filesList",
653
- "memoryPane": "vZSZnG_memoryPane",
654
- "cardBound": "vZSZnG_cardBound",
667
+ "miniChevron": "vZSZnG_miniChevron",
668
+ "stepDragging": "vZSZnG_stepDragging",
669
+ "trackFill": "vZSZnG_trackFill",
655
670
  "memTitle": "vZSZnG_memTitle",
656
- "emptyTitle": "vZSZnG_emptyTitle",
657
- "dragGhost": "vZSZnG_dragGhost",
658
- "stepContentRun": "vZSZnG_stepContentRun"
671
+ "badgeDraft": "vZSZnG_badgeDraft",
672
+ "editorArea": "vZSZnG_editorArea",
673
+ "miniBar": "vZSZnG_miniBar"
659
674
  };
660
675
  //#endregion
661
676
  //#region src/client/TaskComponents.tsx
@@ -732,7 +747,7 @@ window.__ModuleLoader__.load({
732
747
  }
733
748
  });
734
749
  }
735
- function MiniBar({ label, hint, position, theme, onMove, open }) {
750
+ function MiniBar({ label, hint, showHints, position, theme, onMove, open }) {
736
751
  const barRef = (0, react.useRef)(null);
737
752
  const down = (0, react.useRef)(null);
738
753
  const onMouseDown = (e) => {
@@ -779,7 +794,7 @@ window.__ModuleLoader__.load({
779
794
  "data-theme": theme === "native" ? void 0 : theme,
780
795
  onMouseDown,
781
796
  role: "button",
782
- title: hint,
797
+ title: showHints ? hint : void 0,
783
798
  "aria-label": hint,
784
799
  children: [
785
800
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconFolderOpenOutline16, { className: TaskPanel_module_css_default.miniIcon }),
@@ -862,7 +877,7 @@ window.__ModuleLoader__.load({
862
877
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
863
878
  "data-card-title": true,
864
879
  className: `${TaskPanel_module_css_default.cardTitle}${isBound ? ` ${TaskPanel_module_css_default.cardTitleEditable}` : ""}`,
865
- title: isBound ? t("task.title-edit") : void 0,
880
+ title: isBound && showHints ? t("task.title-edit") : void 0,
866
881
  onDoubleClick: (e) => {
867
882
  e.preventDefault();
868
883
  e.stopPropagation();
@@ -934,7 +949,7 @@ window.__ModuleLoader__.load({
934
949
  e.stopPropagation();
935
950
  onCycleStatus(i);
936
951
  },
937
- title: `${t("step.completed")}/${t("step.in-progress")}/${t("step.pending")}`,
952
+ title: showHints ? `${t("step.completed")}/${t("step.in-progress")}/${t("step.pending")}` : void 0,
938
953
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StepIcon, { status: step.status })
939
954
  }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StepIcon, { status: step.status }), stepIsEditing ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(InlineEditor, {
940
955
  className: TaskPanel_module_css_default.editorArea,
@@ -1002,7 +1017,7 @@ window.__ModuleLoader__.load({
1002
1017
  children: [task.files.slice(0, 12).map((file, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
1003
1018
  className: TaskPanel_module_css_default.fileRow,
1004
1019
  onClick: () => navigator.clipboard?.writeText(file.path),
1005
- title: `${t("file.copy")}: ${file.path}${file.line ? `:${file.line}` : ""}`,
1020
+ title: showHints ? `${t("file.copy")}: ${file.path}${file.line ? `:${file.line}` : ""}` : void 0,
1006
1021
  children: [
1007
1022
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: TaskPanel_module_css_default.fileDot }),
1008
1023
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
@@ -1093,7 +1108,7 @@ window.__ModuleLoader__.load({
1093
1108
  size: "sm",
1094
1109
  disabled: syncing,
1095
1110
  onClick: onUnbind,
1096
- title: t("task.unbind"),
1111
+ title: showHints ? t("task.unbind") : void 0,
1097
1112
  children: t("task.unbind")
1098
1113
  }),
1099
1114
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
@@ -1147,7 +1162,7 @@ window.__ModuleLoader__.load({
1147
1162
  experience: t("mem.kind.experience")
1148
1163
  }[kind] ?? kind;
1149
1164
  }
1150
- function MemoryView({ ctx, sessionId, scope, boundTaskId, t }) {
1165
+ function MemoryView({ ctx, sessionId, scope, boundTaskId, showHints, t }) {
1151
1166
  const [payload, setPayload] = (0, react.useState)(null);
1152
1167
  const [error, setError] = (0, react.useState)(null);
1153
1168
  const [loading, setLoading] = (0, react.useState)(false);
@@ -1341,7 +1356,7 @@ window.__ModuleLoader__.load({
1341
1356
  size: "sm",
1342
1357
  onClick: () => void refresh(true),
1343
1358
  disabled: loading,
1344
- title: t("panel.refresh"),
1359
+ title: showHints ? t("panel.refresh") : void 0,
1345
1360
  "aria-label": t("panel.refresh"),
1346
1361
  children: "↻"
1347
1362
  })
@@ -1533,7 +1548,7 @@ window.__ModuleLoader__.load({
1533
1548
  variant: "outline",
1534
1549
  size: "sm",
1535
1550
  disabled: busy || !canDemoteToTask,
1536
- title: !canDemoteToTask ? t("mem.needs-bound") : void 0,
1551
+ title: showHints && !canDemoteToTask ? t("mem.needs-bound") : void 0,
1537
1552
  onClick: () => void act("demote", row.id),
1538
1553
  children: t("mem.demote")
1539
1554
  })] }),
@@ -1634,7 +1649,7 @@ window.__ModuleLoader__.load({
1634
1649
  const [syncing, setSyncing] = (0, react.useState)(false);
1635
1650
  const [syncedAt, setSyncedAt] = (0, react.useState)(0);
1636
1651
  const [syncError, setSyncError] = (0, react.useState)(null);
1637
- const [showHints, setShowHints] = (0, react.useState)(true);
1652
+ const showHints = ui.showHints;
1638
1653
  const [view, setView] = (0, react.useState)("task");
1639
1654
  const cycleView = () => {
1640
1655
  const i = VIEW_CYCLE.indexOf(view);
@@ -1830,6 +1845,7 @@ window.__ModuleLoader__.load({
1830
1845
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MiniBar, {
1831
1846
  label,
1832
1847
  hint: t("minibar.click-expand"),
1848
+ showHints,
1833
1849
  position: ui.panelPosition,
1834
1850
  theme: style,
1835
1851
  onMove: uiActions.setPanelPosition,
@@ -1852,7 +1868,7 @@ window.__ModuleLoader__.load({
1852
1868
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1853
1869
  className: TaskPanel_module_css_default.dragHandle,
1854
1870
  onMouseDown: handleDragStart,
1855
- title: t("task.drag"),
1871
+ title: showHints ? t("task.drag") : void 0,
1856
1872
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { className: TaskPanel_module_css_default.handleGrip })
1857
1873
  }),
1858
1874
  /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
@@ -1863,7 +1879,7 @@ window.__ModuleLoader__.load({
1863
1879
  type: "button",
1864
1880
  className: TaskPanel_module_css_default.headerIconBtn,
1865
1881
  onClick: cycleTheme,
1866
- title: styleLabel,
1882
+ title: showHints ? styleLabel : void 0,
1867
1883
  "aria-label": styleLabel,
1868
1884
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconFolderOpenOutline16, { className: TaskPanel_module_css_default.headerIcon })
1869
1885
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
@@ -1878,7 +1894,7 @@ window.__ModuleLoader__.load({
1878
1894
  size: "sm",
1879
1895
  onClick: cycleView,
1880
1896
  "aria-label": t("view.cycle"),
1881
- title: `${t("view.cycle")}(${view} → ${VIEW_CYCLE[(VIEW_CYCLE.indexOf(view) + 1) % VIEW_CYCLE.length]})`,
1897
+ title: showHints ? `${t("view.cycle")}(${view} → ${VIEW_CYCLE[(VIEW_CYCLE.indexOf(view) + 1) % VIEW_CYCLE.length]})` : void 0,
1882
1898
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
1883
1899
  width: "16",
1884
1900
  height: "16",
@@ -1915,7 +1931,9 @@ window.__ModuleLoader__.load({
1915
1931
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
1916
1932
  variant: "ghost",
1917
1933
  size: "sm",
1918
- onClick: () => setShowHints(!showHints),
1934
+ className: showHints ? void 0 : TaskPanel_module_css_default.hintsOff,
1935
+ onClick: () => uiActions.toggleHints(),
1936
+ "aria-pressed": !showHints,
1919
1937
  "aria-label": showHints ? t("panel.hints-off") : t("panel.hints-on"),
1920
1938
  title: showHints ? t("panel.hints-off") : t("panel.hints-on"),
1921
1939
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconQuestionOutline14, { size: 16 })
@@ -1925,7 +1943,7 @@ window.__ModuleLoader__.load({
1925
1943
  size: "sm",
1926
1944
  onClick: () => uiActions.minimize(),
1927
1945
  "aria-label": t("panel.minimize"),
1928
- title: t("panel.minimize"),
1946
+ title: showHints ? t("panel.minimize") : void 0,
1929
1947
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconChevronDownOutline14, {})
1930
1948
  }),
1931
1949
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Button, {
@@ -1933,7 +1951,7 @@ window.__ModuleLoader__.load({
1933
1951
  size: "sm",
1934
1952
  onClick: () => uiActions.close(),
1935
1953
  "aria-label": t("panel.close"),
1936
- title: t("panel.close"),
1954
+ title: showHints ? t("panel.close") : void 0,
1937
1955
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCloseOutline16, {})
1938
1956
  })
1939
1957
  ]
@@ -1956,6 +1974,7 @@ window.__ModuleLoader__.load({
1956
1974
  sessionId,
1957
1975
  scope: view,
1958
1976
  boundTaskId: data.boundTaskId,
1977
+ showHints,
1959
1978
  t
1960
1979
  }) : activeTasks.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1961
1980
  className: TaskPanel_module_css_default.emptyState,
@@ -2016,8 +2035,8 @@ window.__ModuleLoader__.load({
2016
2035
  document.head.appendChild(tag);
2017
2036
  }
2018
2037
  var TaskCommandNode_module_css_default = {
2019
- "row": "TPe-xa_row",
2020
- "icon": "TPe-xa_icon"
2038
+ "icon": "TPe-xa_icon",
2039
+ "row": "TPe-xa_row"
2021
2040
  };
2022
2041
  //#endregion
2023
2042
  //#region src/client/TaskCommandNode.tsx