@william2000/dsh-nova-ui-task-board 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -1326,6 +1326,10 @@ window.__ModuleLoader__.load({
1326
1326
  "new.required": "标题不能为空",
1327
1327
  "detail.title": "任务详情",
1328
1328
  "detail.close": "关闭",
1329
+ "detail.edit": "编辑",
1330
+ "detail.editSave": "保存",
1331
+ "detail.editCancel": "取消",
1332
+ "detail.editRunningHint": "执行中不可编辑",
1329
1333
  "detail.prompt": "执行 Prompt",
1330
1334
  "detail.description": "描述",
1331
1335
  "detail.execution": "执行记录",
@@ -1515,6 +1519,10 @@ window.__ModuleLoader__.load({
1515
1519
  "new.required": "Title is required",
1516
1520
  "detail.title": "Task Detail",
1517
1521
  "detail.close": "Close",
1522
+ "detail.edit": "Edit",
1523
+ "detail.editSave": "Save",
1524
+ "detail.editCancel": "Cancel",
1525
+ "detail.editRunningHint": "Not editable while running",
1518
1526
  "detail.prompt": "Run Prompt",
1519
1527
  "detail.description": "Description",
1520
1528
  "detail.execution": "Execution History",
@@ -1694,7 +1702,7 @@ window.__ModuleLoader__.load({
1694
1702
  };
1695
1703
  //#endregion
1696
1704
  //#region \0dsh-css:packages/dsh-nova-ui-task-board/src/client/board.module.css.mjs
1697
- const css = "[data-pane=conversation],[class*=centerCol]{position:relative}[data-dsh-nova-taskboard-view]{z-index:60;background:var(--dsw-alias-bg-base);display:none;position:absolute;inset:0;container:a-UL2G_nova-task-board-view/inline-size}html[data-dsh-nova-taskboard-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-dsh-nova-taskboard-view]{display:block}html[data-dsh-nova-taskboard-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation]>:not([data-dsh-nova-taskboard-view]),html[data-dsh-nova-taskboard-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]>:not([data-dsh-nova-taskboard-view]){display:none!important}.a-UL2G_entry{width:100%;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.a-UL2G_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}.a-UL2G_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}.a-UL2G_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.a-UL2G_entryLabel{text-overflow:ellipsis;overflow:hidden}[data-dsh-frame][data-sidebar-collapsed] .a-UL2G_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] .a-UL2G_entryLabel{display:none}.a-UL2G_boardView{height:100%;min-height:0}.a-UL2G_board{box-sizing:border-box;background:var(--dsw-alias-bg-base);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.a-UL2G_boardHeader{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.a-UL2G_boardTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;margin:0;font-size:16px;font-weight:700}.a-UL2G_backButton{align-items:center;gap:4px;display:inline-flex}.a-UL2G_hostMeta{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:11px;overflow:hidden}.a-UL2G_search{min-width:120px;color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;flex:0 260px;padding:6px 10px;font-size:13px}.a-UL2G_search::placeholder{color:var(--dsw-alias-label-tertiary)}.a-UL2G_filterBar{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-wrap:wrap;flex:none;align-items:center;gap:14px;padding:8px 10px;display:flex}.a-UL2G_filterItem{align-items:center;gap:8px;min-width:0;display:inline-flex}.a-UL2G_filterLabel{color:var(--dsw-alias-label-tertiary);flex:none;font-size:12px;font-weight:600}.a-UL2G_filterItem .a-UL2G_select{max-width:220px}.a-UL2G_filterChips{flex-wrap:wrap;align-items:center;gap:6px;max-height:64px;display:inline-flex;overflow-y:auto}.a-UL2G_filterChip{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;border-radius:999px;padding:2px 9px;font-family:inherit;font-size:12px;line-height:1.5;transition:background-color .12s,color .12s,border-color .12s}.a-UL2G_filterChip:hover{border-color:var(--dsw-alias-border-l3)}.a-UL2G_filterChipActive{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);border-color:#0000}.a-UL2G_filterActions{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.a-UL2G_filterHitCount{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px}.a-UL2G_cardChips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.a-UL2G_cardProject{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-state-business-primary);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:140px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5;overflow:hidden}.a-UL2G_cardTag{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover);border:1px solid var(--dsw-alias-border-l2);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:110px;padding:1px 8px;font-size:11px;line-height:1.5;overflow:hidden}.a-UL2G_cardTagMore{color:var(--dsw-alias-label-tertiary);white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:11px;line-height:1.5}.a-UL2G_cardParent{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-state-business-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;max-width:180px;padding:1px 8px;font-size:11px;line-height:1.5;display:inline-block;overflow:hidden}.a-UL2G_cardParent:hover{filter:brightness(1.1);text-decoration:underline}.a-UL2G_splitRows{flex-direction:column;gap:12px;max-height:min(46vh,420px);display:flex;overflow-y:auto}.a-UL2G_splitRow{background:var(--dsw-alias-bg-l2);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.a-UL2G_splitRowHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.a-UL2G_splitRowIndex{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.a-UL2G_tagEditor{flex-direction:column;gap:6px;display:flex}.a-UL2G_tagEditor .a-UL2G_input{max-width:280px}.a-UL2G_tagEditorChip{cursor:default;align-items:center;gap:4px;display:inline-flex}.a-UL2G_tagEditorRemove{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.a-UL2G_tagEditorRemove:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_tagEditorRemove:disabled{opacity:.45;cursor:default}.a-UL2G_columns{overscroll-behavior-inline:contain;scrollbar-color:var(--dsw-alias-border-l3) var(--dsw-alias-interactive-bg-hover);scrollbar-width:thin;flex:1;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:12px;min-height:0;padding-bottom:6px;display:grid;overflow:auto hidden}.a-UL2G_columns::-webkit-scrollbar{height:10px}.a-UL2G_columns::-webkit-scrollbar-track{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px}.a-UL2G_columns::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l3);background-clip:content-box;border:2px solid #0000;border-radius:999px}.a-UL2G_columns::-webkit-scrollbar-thumb:hover{background:var(--dsw-alias-border-l4);background-clip:content-box}.a-UL2G_column{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.a-UL2G_columnHeader{flex:none;align-items:center;gap:6px;padding:10px 12px;display:flex}.a-UL2G_columnTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:13px;font-weight:700;overflow:hidden}.a-UL2G_columnCount{min-width:0;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;flex:none;padding:1px 8px;font-size:12px}.a-UL2G_statusDot{border-radius:50%;flex:none;width:8px;height:8px}.a-UL2G_statusDot[data-status=backlog]{background:var(--dsw-alias-label-tertiary)}.a-UL2G_statusDot[data-status=todo]{background:var(--dsw-alias-state-business-primary)}.a-UL2G_statusDot[data-status=running]{background:var(--dsw-alias-state-warn-primary)}.a-UL2G_statusDot[data-status=done]{background:var(--dsw-alias-state-success-primary)}.a-UL2G_statusDot[data-status=failed]{background:var(--dsw-alias-state-error-primary)}.a-UL2G_cards{flex-direction:column;flex:1;gap:8px;min-height:0;padding:2px 8px 10px;display:flex;overflow-y:auto}.a-UL2G_columnEmpty{text-align:center;color:var(--dsw-alias-label-tertiary);padding:24px 8px;font-size:12px}.a-UL2G_card{text-align:left;background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;color:var(--dsw-alias-label-primary);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-family:inherit;transition:box-shadow .12s,border-color .12s,transform .12s;display:flex}.a-UL2G_card:hover{box-shadow:var(--dsw-shadow-lv2);border-color:var(--dsw-alias-border-l3);transform:translateY(-1px)}.a-UL2G_card[data-status=running]{border-color:var(--dsw-alias-state-warn-primary)}.a-UL2G_cardTitle{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.a-UL2G_cardExcerpt{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.a-UL2G_cardMeta{color:var(--dsw-alias-label-tertiary);align-items:center;gap:8px;font-size:11px;display:flex}.a-UL2G_cardTime{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.a-UL2G_cardSchedule{white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;flex:none;padding:2px 6px;font-size:12px;line-height:1}.a-UL2G_cardRun{flex:none}.a-UL2G_cardRun[data-result=failed]{color:var(--dsw-alias-state-error-primary)}.a-UL2G_cardRun[data-result=succeeded]{color:var(--dsw-alias-state-success-primary)}.a-UL2G_cardSession{color:var(--dsw-alias-state-business-primary);flex:none}.a-UL2G_cardRunningLabel{color:var(--dsw-alias-state-warn-primary);font-size:11px}.a-UL2G_cardSpinner{border:2px solid var(--dsw-alias-state-warn-primary);border-top-color:#0000;border-radius:50%;flex:none;width:10px;height:10px;animation:.8s linear infinite a-UL2G_dshNovaTbSpin}@keyframes a-UL2G_dshNovaTbSpin{to{transform:rotate(360deg)}}.a-UL2G_primaryButton{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.a-UL2G_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.a-UL2G_primaryButton:disabled{opacity:.5;cursor:default}.a-UL2G_ghostButton{color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 12px;font-size:12px}.a-UL2G_ghostButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_ghostButton:disabled{opacity:.45;cursor:default}.a-UL2G_dangerButton{color:#fff;background:var(--dsw-alias-state-error-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.a-UL2G_dangerButton:hover:not(:disabled){filter:brightness(1.08)}.a-UL2G_dangerButton:active:not(:disabled){filter:brightness(.94)}.a-UL2G_dangerButton:disabled{opacity:.5;cursor:default}.a-UL2G_iconButton{width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.a-UL2G_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.a-UL2G_linkButton{color:var(--dsw-alias-state-business-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px}.a-UL2G_linkButton:hover{text-decoration:underline}.a-UL2G_modalBackdrop{z-index:1300;background:var(--dsw-alias-bg-mask-1);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.a-UL2G_modal{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(520px,100vw - 48px);max-height:calc(100vh - 96px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex;overflow-y:auto}.a-UL2G_modalTitle{margin:0;font-size:15px;font-weight:700}.a-UL2G_confirmMessage{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.a-UL2G_modalFooter{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.a-UL2G_field{flex-direction:column;gap:5px;display:flex}.a-UL2G_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.a-UL2G_input{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);resize:vertical;border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px}.a-UL2G_input:focus{border-color:var(--dsw-alias-state-business-primary)}.a-UL2G_select{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;max-width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.a-UL2G_input::placeholder{color:var(--dsw-alias-label-tertiary)}.a-UL2G_formError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}.a-UL2G_detail{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(640px,100vw - 48px);max-height:calc(100vh - 80px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.a-UL2G_detailHeader{border-bottom:1px solid var(--dsw-alias-separator-primary);flex:none;align-items:center;gap:10px;padding:14px 18px;display:flex}.a-UL2G_detailTitle{overflow-wrap:anywhere;flex:1;margin:0;font-size:15px;font-weight:700}.a-UL2G_statusBadge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:2px 10px;font-size:12px}.a-UL2G_statusBadge[data-status=running]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.a-UL2G_statusBadge[data-status=done]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.a-UL2G_statusBadge[data-status=failed]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.a-UL2G_detailBody{flex-direction:column;flex:1;gap:16px;padding:14px 18px;display:flex;overflow-y:auto}.a-UL2G_detailSection{flex-direction:column;gap:6px;display:flex}.a-UL2G_detailSection h4{color:var(--dsw-alias-label-tertiary);text-transform:none;margin:0;font-size:12px;font-weight:700}.a-UL2G_detailText{color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.a-UL2G_promptBlock{font-size:12.5px;line-height:1.5;font-family:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);border:1px solid var(--dsw-alias-border-l1);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:240px;margin:0;padding:10px 12px;overflow-y:auto}.a-UL2G_executionList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.a-UL2G_executionRow{border:1px solid var(--dsw-alias-border-l1);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.a-UL2G_executionBadge{color:var(--dsw-alias-state-warn-primary);background:var(--dsw-alias-state-warn-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:600}.a-UL2G_executionBadge[data-result=succeeded]{color:var(--dsw-alias-state-success-primary);background:0 0}.a-UL2G_executionBadge[data-result=failed]{color:var(--dsw-alias-state-error-primary);background:0 0}.a-UL2G_executionBadge[data-result=cancelled]{color:var(--dsw-alias-label-tertiary);background:0 0}.a-UL2G_executionTimes{color:var(--dsw-alias-label-secondary);font-size:12px}.a-UL2G_executionError{width:100%;color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;font-size:12px}.a-UL2G_moveRow{flex-wrap:wrap;gap:8px;display:flex}.a-UL2G_scheduleMode{background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;gap:4px;margin-bottom:10px;padding:3px;display:inline-flex}.a-UL2G_scheduleModeButton{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:4px 12px;font-size:12px}.a-UL2G_scheduleModeButton:hover:not(.a-UL2G_scheduleModeActive){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_scheduleModeActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-fill-cs-primary);box-shadow:var(--dsw-alias-shadow-fs-1)}.a-UL2G_dangerGhostButton{color:var(--dsw-alias-state-error-primary);border:1px solid var(--dsw-alias-state-error-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 12px;font-size:12px}.a-UL2G_dangerGhostButton:hover:not(:disabled){background:var(--dsw-alias-state-error-tint)}.a-UL2G_dangerGhostButton:disabled{opacity:.45;cursor:default}.a-UL2G_scheduleToggle{color:var(--dsw-alias-label-primary);cursor:pointer;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.a-UL2G_scheduleToggle input{accent-color:var(--dsw-alias-state-business-primary)}.a-UL2G_scheduleRow{align-items:center;gap:8px;display:flex}.a-UL2G_scheduleInput{min-width:0;font-family:var(--dsw-font-markdown-code-block-small);flex:1;font-size:12.5px}.a-UL2G_scheduleInputInvalid,.a-UL2G_scheduleInputInvalid:focus{border-color:var(--dsw-alias-state-error-primary)}.a-UL2G_schedulePreset{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;flex:none;padding:7px 8px;font-size:12.5px}.a-UL2G_scheduleMeta{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px}.a-UL2G_detailFooter{border-top:1px solid var(--dsw-alias-separator-primary);flex:none;align-items:center;gap:10px;padding:12px 18px;display:flex}.a-UL2G_detailMeta{color:var(--dsw-alias-label-tertiary);margin-left:auto;font-size:11px}@container a-UL2G_nova-task-board-view (width<=720px){.a-UL2G_board{gap:10px;padding:10px}.a-UL2G_columns{gap:10px}}@container a-UL2G_nova-task-board-view (width<=600px){.a-UL2G_boardHeader{flex-wrap:wrap;gap:8px}.a-UL2G_search{flex:calc(100% - 72px);min-width:0}.a-UL2G_boardHeader>button{flex:1 1 0;min-width:max-content}}.a-UL2G_entry:focus-visible,.a-UL2G_card:focus-visible,.a-UL2G_primaryButton:focus-visible,.a-UL2G_ghostButton:focus-visible,.a-UL2G_dangerButton:focus-visible,.a-UL2G_iconButton:focus-visible,.a-UL2G_linkButton:focus-visible,.a-UL2G_search:focus-visible,.a-UL2G_input:focus-visible,.a-UL2G_select:focus-visible,.a-UL2G_schedulePreset:focus-visible,.a-UL2G_scheduleToggle input:focus-visible,.a-UL2G_filterChip:focus-visible,.a-UL2G_tagEditorRemove:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.a-UL2G_entry,.a-UL2G_primaryButton,.a-UL2G_ghostButton,.a-UL2G_dangerButton,.a-UL2G_iconButton,.a-UL2G_linkButton,.a-UL2G_search,.a-UL2G_input,.a-UL2G_select,.a-UL2G_schedulePreset,.a-UL2G_scheduleToggle input,.a-UL2G_filterChip,.a-UL2G_tagEditorRemove{transition:background-color .12s,color .12s,border-color .12s,outline-color .12s,box-shadow .12s,transform .12s}.a-UL2G_card:active{box-shadow:var(--dsw-shadow-lv1);transform:translateY(0)}.a-UL2G_entry:active,.a-UL2G_primaryButton:active:not(:disabled),.a-UL2G_ghostButton:active:not(:disabled),.a-UL2G_dangerButton:active:not(:disabled),.a-UL2G_iconButton:active:not(:disabled),.a-UL2G_linkButton:active:not(:disabled){transform:translateY(1px)}.a-UL2G_entry[data-active]:hover{background:var(--dsw-specific-sidebar-nav-item-active)}.a-UL2G_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.a-UL2G_linkButton:hover:not(:disabled){text-decoration:underline}.a-UL2G_iconButton:disabled,.a-UL2G_linkButton:disabled{opacity:.45;cursor:default}.a-UL2G_search:focus,.a-UL2G_select:focus,.a-UL2G_schedulePreset:focus{border-color:var(--dsw-alias-state-business-primary)}@media (prefers-reduced-motion:reduce){.a-UL2G_entry,.a-UL2G_card,.a-UL2G_primaryButton,.a-UL2G_ghostButton,.a-UL2G_dangerButton,.a-UL2G_iconButton,.a-UL2G_linkButton,.a-UL2G_search,.a-UL2G_input,.a-UL2G_select,.a-UL2G_schedulePreset,.a-UL2G_scheduleToggle input,.a-UL2G_filterChip,.a-UL2G_tagEditorRemove{transition:none}.a-UL2G_cardSpinner{animation:none}}.a-UL2G_groupToggle{background:var(--dsw-alias-interactive-bg-hover);border-radius:8px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.a-UL2G_groupToggleButton{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px}.a-UL2G_groupToggleButton:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.a-UL2G_groupToggleActive,.a-UL2G_groupToggleActive:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv1);font-weight:600}.a-UL2G_group{border:1px dashed #0000;border-radius:10px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.a-UL2G_group[data-drag-over]{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_group[data-drag-rejected]{border-color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-state-error-surface,transparent)}.a-UL2G_groupHeader{flex:none;align-items:center;gap:6px;padding:2px 2px 0;display:flex}.a-UL2G_groupTitle{color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:700;overflow:hidden}.a-UL2G_groupCount{color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;flex:none;padding:0 7px;font-size:11px}.a-UL2G_groupCards{flex-direction:column;gap:8px;display:flex}.a-UL2G_column[data-drag-over]{border-color:var(--dsw-alias-state-business-primary);box-shadow:0 0 0 1px var(--dsw-alias-state-business-primary)}.a-UL2G_column[data-drag-rejected]{border-color:var(--dsw-alias-state-error-primary)}.a-UL2G_card[data-draggable]{cursor:grab}.a-UL2G_card[data-draggable]:active{cursor:grabbing}.a-UL2G_cardDragging{opacity:.45;box-shadow:var(--dsw-shadow-lv2)}.a-UL2G_dropIndicator{background:var(--dsw-alias-state-business-primary);pointer-events:none;border-radius:999px;flex:none;height:3px;margin:0 2px}.a-UL2G_groupToggleButton:focus-visible,.a-UL2G_groupToggleButton:hover:not(:disabled){outline:none}.a-UL2G_groupToggleButton:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-state-business-primary)}.a-UL2G_statusDot[data-status=proposed]{background:var(--dsw-alias-brand-primary,#7c6cf0)}.a-UL2G_cardProposedBadge{color:var(--dsw-alias-label-primary-foreground,#fff);background:var(--dsw-alias-brand-primary,#7c6cf0);white-space:nowrap;border-radius:999px;flex:none;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5}.a-UL2G_cardSource{color:var(--dsw-alias-label-tertiary);white-space:nowrap;flex:none;font-size:11px}.a-UL2G_entryBadge{text-align:center;min-width:18px;color:var(--dsw-alias-label-primary-foreground,#fff);background:var(--dsw-alias-state-error-primary,#e5484d);white-space:nowrap;border-radius:999px;flex:none;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.a-UL2G_entryBadge[data-count=\"0\"]{display:none}.a-UL2G_confirmTargetRow{flex-wrap:wrap;gap:8px;display:flex}.a-UL2G_confirmTargetButton{color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:13px}.a-UL2G_confirmTargetButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_confirmTargetActive,.a-UL2G_confirmTargetActive:hover:not(:disabled){color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);border-color:#0000;font-weight:600}.a-UL2G_confirmTargetButton:disabled{opacity:.45;cursor:default}.a-UL2G_sourceRow{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;align-items:center;gap:8px;font-size:12px;display:flex}.a-UL2G_messageAction{z-index:20;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv1);cursor:pointer;white-space:nowrap;border-radius:8px;padding:3px 9px;font-family:inherit;font-size:11px;font-weight:600;position:absolute;top:6px;right:8px}.a-UL2G_messageAction:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.a-UL2G_messageAction:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}";
1705
+ const css = "[data-pane=conversation],[class*=centerCol]{position:relative}[data-dsh-nova-taskboard-view]{z-index:60;background:var(--dsw-alias-bg-base);display:none;position:absolute;inset:0;container:a-UL2G_nova-task-board-view/inline-size}html[data-dsh-nova-taskboard-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-dsh-nova-taskboard-view]{display:block}html[data-dsh-nova-taskboard-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [data-pane=conversation]>:not([data-dsh-nova-taskboard-view]),html[data-dsh-nova-taskboard-active]:not([data-dsh-taskboard-active]):not([data-dsh-ssh-active]) [class*=centerCol]>:not([data-dsh-nova-taskboard-view]){display:none!important}.a-UL2G_entry{width:100%;height:32px;color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex}.a-UL2G_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}.a-UL2G_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}.a-UL2G_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.a-UL2G_entryLabel{text-overflow:ellipsis;overflow:hidden}[data-dsh-frame][data-sidebar-collapsed] .a-UL2G_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] .a-UL2G_entryLabel{display:none}.a-UL2G_boardView{height:100%;min-height:0}.a-UL2G_board{box-sizing:border-box;background:var(--dsw-alias-bg-base);min-width:0;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);flex-direction:column;gap:12px;padding:14px 16px 16px;display:flex}.a-UL2G_boardHeader{flex-wrap:wrap;flex:none;align-items:center;gap:10px;display:flex}.a-UL2G_boardTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;margin:0;font-size:16px;font-weight:700}.a-UL2G_backButton{align-items:center;gap:4px;display:inline-flex}.a-UL2G_hostMeta{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:11px;overflow:hidden}.a-UL2G_search{min-width:120px;color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;flex:0 260px;padding:6px 10px;font-size:13px}.a-UL2G_search::placeholder{color:var(--dsw-alias-label-tertiary)}.a-UL2G_filterBar{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-wrap:wrap;flex:none;align-items:center;gap:14px;padding:8px 10px;display:flex}.a-UL2G_filterItem{align-items:center;gap:8px;min-width:0;display:inline-flex}.a-UL2G_filterLabel{color:var(--dsw-alias-label-tertiary);flex:none;font-size:12px;font-weight:600}.a-UL2G_filterItem .a-UL2G_select{max-width:220px}.a-UL2G_filterChips{flex-wrap:wrap;align-items:center;gap:6px;max-height:64px;display:inline-flex;overflow-y:auto}.a-UL2G_filterChip{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;border-radius:999px;padding:2px 9px;font-family:inherit;font-size:12px;line-height:1.5;transition:background-color .12s,color .12s,border-color .12s}.a-UL2G_filterChip:hover{border-color:var(--dsw-alias-border-l3)}.a-UL2G_filterChipActive{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);border-color:#0000}.a-UL2G_filterActions{align-items:center;gap:10px;margin-left:auto;display:inline-flex}.a-UL2G_filterHitCount{color:var(--dsw-alias-label-tertiary);white-space:nowrap;font-size:12px}.a-UL2G_cardChips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.a-UL2G_cardProject{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-state-business-primary);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:140px;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5;overflow:hidden}.a-UL2G_cardTag{color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover);border:1px solid var(--dsw-alias-border-l2);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:110px;padding:1px 8px;font-size:11px;line-height:1.5;overflow:hidden}.a-UL2G_cardTagMore{color:var(--dsw-alias-label-tertiary);white-space:nowrap;border-radius:999px;padding:1px 6px;font-size:11px;line-height:1.5}.a-UL2G_cardParent{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-state-business-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:999px;max-width:180px;padding:1px 8px;font-size:11px;line-height:1.5;display:inline-block;overflow:hidden}.a-UL2G_cardParent:hover{filter:brightness(1.1);text-decoration:underline}.a-UL2G_splitRows{flex-direction:column;gap:12px;max-height:min(46vh,420px);display:flex;overflow-y:auto}.a-UL2G_splitRow{background:var(--dsw-alias-bg-l2);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.a-UL2G_splitRowHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.a-UL2G_splitRowIndex{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.a-UL2G_tagEditor{flex-direction:column;gap:6px;display:flex}.a-UL2G_tagEditor .a-UL2G_input{max-width:280px}.a-UL2G_tagEditorChip{cursor:default;align-items:center;gap:4px;display:inline-flex}.a-UL2G_tagEditorRemove{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex}.a-UL2G_tagEditorRemove:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_tagEditorRemove:disabled{opacity:.45;cursor:default}.a-UL2G_columns{overscroll-behavior-inline:contain;scrollbar-color:var(--dsw-alias-border-l3) var(--dsw-alias-interactive-bg-hover);scrollbar-width:thin;flex:1;grid-auto-columns:minmax(220px,1fr);grid-auto-flow:column;gap:12px;min-height:0;padding-bottom:6px;display:grid;overflow:auto hidden}.a-UL2G_columns::-webkit-scrollbar{height:10px}.a-UL2G_columns::-webkit-scrollbar-track{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px}.a-UL2G_columns::-webkit-scrollbar-thumb{background:var(--dsw-alias-border-l3);background-clip:content-box;border:2px solid #0000;border-radius:999px}.a-UL2G_columns::-webkit-scrollbar-thumb:hover{background:var(--dsw-alias-border-l4);background-clip:content-box}.a-UL2G_column{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.a-UL2G_columnHeader{flex:none;align-items:center;gap:6px;padding:10px 12px;display:flex}.a-UL2G_columnTitle{color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:13px;font-weight:700;overflow:hidden}.a-UL2G_columnCount{min-width:0;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;flex:none;padding:1px 8px;font-size:12px}.a-UL2G_statusDot{border-radius:50%;flex:none;width:8px;height:8px}.a-UL2G_statusDot[data-status=backlog]{background:var(--dsw-alias-label-tertiary)}.a-UL2G_statusDot[data-status=todo]{background:var(--dsw-alias-state-business-primary)}.a-UL2G_statusDot[data-status=running]{background:var(--dsw-alias-state-warn-primary)}.a-UL2G_statusDot[data-status=done]{background:var(--dsw-alias-state-success-primary)}.a-UL2G_statusDot[data-status=failed]{background:var(--dsw-alias-state-error-primary)}.a-UL2G_cards{flex-direction:column;flex:1;gap:8px;min-height:0;padding:2px 8px 10px;display:flex;overflow-y:auto}.a-UL2G_columnEmpty{text-align:center;color:var(--dsw-alias-label-tertiary);padding:24px 8px;font-size:12px}.a-UL2G_card{text-align:left;background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;color:var(--dsw-alias-label-primary);border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;font-family:inherit;transition:box-shadow .12s,border-color .12s,transform .12s;display:flex}.a-UL2G_card:hover{box-shadow:var(--dsw-shadow-lv2);border-color:var(--dsw-alias-border-l3);transform:translateY(-1px)}.a-UL2G_card[data-status=running]{border-color:var(--dsw-alias-state-warn-primary)}.a-UL2G_cardTitle{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.a-UL2G_cardExcerpt{color:var(--dsw-alias-label-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.a-UL2G_cardMeta{color:var(--dsw-alias-label-tertiary);align-items:center;gap:8px;font-size:11px;display:flex}.a-UL2G_cardTime{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.a-UL2G_cardSchedule{white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;flex:none;padding:2px 6px;font-size:12px;line-height:1}.a-UL2G_cardRun{flex:none}.a-UL2G_cardRun[data-result=failed]{color:var(--dsw-alias-state-error-primary)}.a-UL2G_cardRun[data-result=succeeded]{color:var(--dsw-alias-state-success-primary)}.a-UL2G_cardSession{color:var(--dsw-alias-state-business-primary);flex:none}.a-UL2G_cardRunningLabel{color:var(--dsw-alias-state-warn-primary);font-size:11px}.a-UL2G_cardSpinner{border:2px solid var(--dsw-alias-state-warn-primary);border-top-color:#0000;border-radius:50%;flex:none;width:10px;height:10px;animation:.8s linear infinite a-UL2G_dshNovaTbSpin}@keyframes a-UL2G_dshNovaTbSpin{to{transform:rotate(360deg)}}.a-UL2G_primaryButton{color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.a-UL2G_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.a-UL2G_primaryButton:disabled{opacity:.5;cursor:default}.a-UL2G_ghostButton{color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 12px;font-size:12px}.a-UL2G_ghostButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_ghostButton:disabled{opacity:.45;cursor:default}.a-UL2G_dangerButton{color:#fff;background:var(--dsw-alias-state-error-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}.a-UL2G_dangerButton:hover:not(:disabled){filter:brightness(1.08)}.a-UL2G_dangerButton:active:not(:disabled){filter:brightness(.94)}.a-UL2G_dangerButton:disabled{opacity:.5;cursor:default}.a-UL2G_iconButton{width:26px;height:26px;color:var(--dsw-alias-label-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:13px;display:inline-flex}.a-UL2G_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.a-UL2G_linkButton{color:var(--dsw-alias-state-business-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px}.a-UL2G_linkButton:hover{text-decoration:underline}.a-UL2G_modalBackdrop{z-index:1300;background:var(--dsw-alias-bg-mask-1);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.a-UL2G_modal{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(520px,100vw - 48px);max-height:calc(100vh - 96px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:14px;flex-direction:column;gap:12px;padding:18px;display:flex;overflow-y:auto}.a-UL2G_modalTitle{margin:0;font-size:15px;font-weight:700}.a-UL2G_confirmMessage{color:var(--dsw-alias-label-secondary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.5}.a-UL2G_modalFooter{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.a-UL2G_field{flex-direction:column;gap:5px;display:flex}.a-UL2G_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.a-UL2G_input{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);resize:vertical;border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px}.a-UL2G_input:focus{border-color:var(--dsw-alias-state-business-primary)}.a-UL2G_select{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;max-width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.a-UL2G_input::placeholder{color:var(--dsw-alias-label-tertiary)}.a-UL2G_formError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}.a-UL2G_detail{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(640px,100vw - 48px);max-height:calc(100vh - 80px);box-shadow:var(--dsw-shadow-lv3);color:var(--dsw-alias-label-primary);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.a-UL2G_detailHeader{border-bottom:1px solid var(--dsw-alias-separator-primary);flex:none;align-items:center;gap:10px;padding:14px 18px;display:flex}.a-UL2G_detailTitle{overflow-wrap:anywhere;flex:1;margin:0;font-size:15px;font-weight:700}.a-UL2G_statusBadge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);border-radius:999px;flex:none;padding:2px 10px;font-size:12px}.a-UL2G_statusBadge[data-status=running]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.a-UL2G_statusBadge[data-status=done]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.a-UL2G_statusBadge[data-status=failed]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.a-UL2G_detailBody{flex-direction:column;flex:1;gap:16px;padding:14px 18px;display:flex;overflow-y:auto}.a-UL2G_detailSection{flex-direction:column;gap:6px;display:flex}.a-UL2G_detailSection h4{color:var(--dsw-alias-label-tertiary);text-transform:none;margin:0;font-size:12px;font-weight:700}.a-UL2G_detailText{color:var(--dsw-alias-label-primary);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.55}.a-UL2G_promptBlock{font-size:12.5px;line-height:1.5;font-family:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-primary);background:var(--dsw-alias-markdown-code-block);border:1px solid var(--dsw-alias-border-l1);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;max-height:240px;margin:0;padding:10px 12px;overflow-y:auto}.a-UL2G_detailEditForm{flex-direction:column;gap:10px;display:flex}.a-UL2G_detailEditActions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.a-UL2G_executionList{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.a-UL2G_executionRow{border:1px solid var(--dsw-alias-border-l1);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;display:flex}.a-UL2G_executionBadge{color:var(--dsw-alias-state-warn-primary);background:var(--dsw-alias-state-warn-secondary);border-radius:999px;flex:none;padding:1px 8px;font-size:11px;font-weight:600}.a-UL2G_executionBadge[data-result=succeeded]{color:var(--dsw-alias-state-success-primary);background:0 0}.a-UL2G_executionBadge[data-result=failed]{color:var(--dsw-alias-state-error-primary);background:0 0}.a-UL2G_executionBadge[data-result=cancelled]{color:var(--dsw-alias-label-tertiary);background:0 0}.a-UL2G_executionTimes{color:var(--dsw-alias-label-secondary);font-size:12px}.a-UL2G_executionError{width:100%;color:var(--dsw-alias-state-error-primary);overflow-wrap:anywhere;font-size:12px}.a-UL2G_moveRow{flex-wrap:wrap;gap:8px;display:flex}.a-UL2G_scheduleMode{background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;gap:4px;margin-bottom:10px;padding:3px;display:inline-flex}.a-UL2G_scheduleModeButton{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:4px 12px;font-size:12px}.a-UL2G_scheduleModeButton:hover:not(.a-UL2G_scheduleModeActive){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_scheduleModeActive{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-fill-cs-primary);box-shadow:var(--dsw-alias-shadow-fs-1)}.a-UL2G_dangerGhostButton{color:var(--dsw-alias-state-error-primary);border:1px solid var(--dsw-alias-state-error-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:5px 12px;font-size:12px}.a-UL2G_dangerGhostButton:hover:not(:disabled){background:var(--dsw-alias-state-error-tint)}.a-UL2G_dangerGhostButton:disabled{opacity:.45;cursor:default}.a-UL2G_scheduleToggle{color:var(--dsw-alias-label-primary);cursor:pointer;user-select:none;align-items:center;gap:8px;font-size:13px;display:flex}.a-UL2G_scheduleToggle input{accent-color:var(--dsw-alias-state-business-primary)}.a-UL2G_scheduleRow{align-items:center;gap:8px;display:flex}.a-UL2G_scheduleInput{min-width:0;font-family:var(--dsw-font-markdown-code-block-small);flex:1;font-size:12.5px}.a-UL2G_scheduleInputInvalid,.a-UL2G_scheduleInputInvalid:focus{border-color:var(--dsw-alias-state-error-primary)}.a-UL2G_schedulePreset{color:var(--dsw-alias-label-primary);background:var(--dsw-specific-input-major);border:1px solid var(--dsw-alias-border-l2);border-radius:8px;outline:none;flex:none;padding:7px 8px;font-size:12.5px}.a-UL2G_scheduleMeta{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;margin:0;font-size:12px}.a-UL2G_detailFooter{border-top:1px solid var(--dsw-alias-separator-primary);flex:none;align-items:center;gap:10px;padding:12px 18px;display:flex}.a-UL2G_detailMeta{color:var(--dsw-alias-label-tertiary);margin-left:auto;font-size:11px}@container a-UL2G_nova-task-board-view (width<=720px){.a-UL2G_board{gap:10px;padding:10px}.a-UL2G_columns{gap:10px}}@container a-UL2G_nova-task-board-view (width<=600px){.a-UL2G_boardHeader{flex-wrap:wrap;gap:8px}.a-UL2G_search{flex:calc(100% - 72px);min-width:0}.a-UL2G_boardHeader>button{flex:1 1 0;min-width:max-content}}.a-UL2G_entry:focus-visible,.a-UL2G_card:focus-visible,.a-UL2G_primaryButton:focus-visible,.a-UL2G_ghostButton:focus-visible,.a-UL2G_dangerButton:focus-visible,.a-UL2G_iconButton:focus-visible,.a-UL2G_linkButton:focus-visible,.a-UL2G_search:focus-visible,.a-UL2G_input:focus-visible,.a-UL2G_select:focus-visible,.a-UL2G_schedulePreset:focus-visible,.a-UL2G_scheduleToggle input:focus-visible,.a-UL2G_filterChip:focus-visible,.a-UL2G_tagEditorRemove:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}.a-UL2G_entry,.a-UL2G_primaryButton,.a-UL2G_ghostButton,.a-UL2G_dangerButton,.a-UL2G_iconButton,.a-UL2G_linkButton,.a-UL2G_search,.a-UL2G_input,.a-UL2G_select,.a-UL2G_schedulePreset,.a-UL2G_scheduleToggle input,.a-UL2G_filterChip,.a-UL2G_tagEditorRemove{transition:background-color .12s,color .12s,border-color .12s,outline-color .12s,box-shadow .12s,transform .12s}.a-UL2G_card:active{box-shadow:var(--dsw-shadow-lv1);transform:translateY(0)}.a-UL2G_entry:active,.a-UL2G_primaryButton:active:not(:disabled),.a-UL2G_ghostButton:active:not(:disabled),.a-UL2G_dangerButton:active:not(:disabled),.a-UL2G_iconButton:active:not(:disabled),.a-UL2G_linkButton:active:not(:disabled){transform:translateY(1px)}.a-UL2G_entry[data-active]:hover{background:var(--dsw-specific-sidebar-nav-item-active)}.a-UL2G_iconButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.a-UL2G_linkButton:hover:not(:disabled){text-decoration:underline}.a-UL2G_iconButton:disabled,.a-UL2G_linkButton:disabled{opacity:.45;cursor:default}.a-UL2G_search:focus,.a-UL2G_select:focus,.a-UL2G_schedulePreset:focus{border-color:var(--dsw-alias-state-business-primary)}@media (prefers-reduced-motion:reduce){.a-UL2G_entry,.a-UL2G_card,.a-UL2G_primaryButton,.a-UL2G_ghostButton,.a-UL2G_dangerButton,.a-UL2G_iconButton,.a-UL2G_linkButton,.a-UL2G_search,.a-UL2G_input,.a-UL2G_select,.a-UL2G_schedulePreset,.a-UL2G_scheduleToggle input,.a-UL2G_filterChip,.a-UL2G_tagEditorRemove{transition:none}.a-UL2G_cardSpinner{animation:none}}.a-UL2G_groupToggle{background:var(--dsw-alias-interactive-bg-hover);border-radius:8px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.a-UL2G_groupToggleButton{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:12px}.a-UL2G_groupToggleButton:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-active)}.a-UL2G_groupToggleActive,.a-UL2G_groupToggleActive:hover:not(:disabled){color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);box-shadow:var(--dsw-shadow-lv1);font-weight:600}.a-UL2G_group{border:1px dashed #0000;border-radius:10px;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.a-UL2G_group[data-drag-over]{border-color:var(--dsw-alias-state-business-primary);background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_group[data-drag-rejected]{border-color:var(--dsw-alias-state-error-primary);background:var(--dsw-alias-state-error-surface,transparent)}.a-UL2G_groupHeader{flex:none;align-items:center;gap:6px;padding:2px 2px 0;display:flex}.a-UL2G_groupTitle{color:var(--dsw-alias-label-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;font-weight:700;overflow:hidden}.a-UL2G_groupCount{color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;flex:none;padding:0 7px;font-size:11px}.a-UL2G_groupCards{flex-direction:column;gap:8px;display:flex}.a-UL2G_column[data-drag-over]{border-color:var(--dsw-alias-state-business-primary);box-shadow:0 0 0 1px var(--dsw-alias-state-business-primary)}.a-UL2G_column[data-drag-rejected]{border-color:var(--dsw-alias-state-error-primary)}.a-UL2G_card[data-draggable]{cursor:grab}.a-UL2G_card[data-draggable]:active{cursor:grabbing}.a-UL2G_cardDragging{opacity:.45;box-shadow:var(--dsw-shadow-lv2)}.a-UL2G_dropIndicator{background:var(--dsw-alias-state-business-primary);pointer-events:none;border-radius:999px;flex:none;height:3px;margin:0 2px}.a-UL2G_groupToggleButton:focus-visible,.a-UL2G_groupToggleButton:hover:not(:disabled){outline:none}.a-UL2G_groupToggleButton:focus-visible{box-shadow:0 0 0 2px var(--dsw-alias-state-business-primary)}.a-UL2G_statusDot[data-status=proposed]{background:var(--dsw-alias-brand-primary,#7c6cf0)}.a-UL2G_cardProposedBadge{color:var(--dsw-alias-label-primary-foreground,#fff);background:var(--dsw-alias-brand-primary,#7c6cf0);white-space:nowrap;border-radius:999px;flex:none;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:600;line-height:1.5}.a-UL2G_cardSource{color:var(--dsw-alias-label-tertiary);white-space:nowrap;flex:none;font-size:11px}.a-UL2G_entryBadge{text-align:center;min-width:18px;color:var(--dsw-alias-label-primary-foreground,#fff);background:var(--dsw-alias-state-error-primary,#e5484d);white-space:nowrap;border-radius:999px;flex:none;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.a-UL2G_entryBadge[data-count=\"0\"]{display:none}.a-UL2G_confirmTargetRow{flex-wrap:wrap;gap:8px;display:flex}.a-UL2G_confirmTargetButton{color:var(--dsw-alias-label-primary);border:1px solid var(--dsw-alias-border-l2);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:13px}.a-UL2G_confirmTargetButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.a-UL2G_confirmTargetActive,.a-UL2G_confirmTargetActive:hover:not(:disabled){color:var(--dsw-alias-label-primary-foreground);background:var(--dsw-alias-button-info-fill);border-color:#0000;font-weight:600}.a-UL2G_confirmTargetButton:disabled{opacity:.45;cursor:default}.a-UL2G_sourceRow{color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;align-items:center;gap:8px;font-size:12px;display:flex}.a-UL2G_messageAction{z-index:20;color:var(--dsw-alias-label-primary);background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);box-shadow:var(--dsw-shadow-lv1);cursor:pointer;white-space:nowrap;border-radius:8px;padding:3px 9px;font-family:inherit;font-size:11px;font-weight:600;position:absolute;top:6px;right:8px}.a-UL2G_messageAction:hover{background:var(--dsw-alias-interactive-bg-hover);border-color:var(--dsw-alias-border-l3)}.a-UL2G_messageAction:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}";
1698
1706
  const tagId = "@william2000/dsh-nova-ui-task-board/board.module.css";
1699
1707
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
1700
1708
  const tag = document.createElement("style");
@@ -1742,6 +1750,8 @@ window.__ModuleLoader__.load({
1742
1750
  "dangerGhostButton": "a-UL2G_dangerGhostButton",
1743
1751
  "detail": "a-UL2G_detail",
1744
1752
  "detailBody": "a-UL2G_detailBody",
1753
+ "detailEditActions": "a-UL2G_detailEditActions",
1754
+ "detailEditForm": "a-UL2G_detailEditForm",
1745
1755
  "detailFooter": "a-UL2G_detailFooter",
1746
1756
  "detailHeader": "a-UL2G_detailHeader",
1747
1757
  "detailMeta": "a-UL2G_detailMeta",
@@ -3779,11 +3789,128 @@ window.__ModuleLoader__.load({
3779
3789
  ]
3780
3790
  });
3781
3791
  }
3792
+ /**
3793
+ * 任务内容编辑表单(标题/描述/执行 Prompt)。**执行前可编辑**:只要任务未执行
3794
+ * (执行后仍可改——§10.3「重新执行 + 修改 Prompt/描述」闭环),非 running/
3795
+ * 非归档即可进入编辑;变更经 `update` action 提交 Host,账本确认后回填
3796
+ * (与项目/标签编辑同一模式)。标题 trim 后非空(对齐 Host 守卫)。
3797
+ */
3798
+ function EditTaskForm({ controller, task, pending, onDone }) {
3799
+ const [title, setTitle] = (0, react.useState)(task.title);
3800
+ const [description, setDescription] = (0, react.useState)(task.description);
3801
+ const [prompt, setPrompt] = (0, react.useState)(task.prompt);
3802
+ const [error, setError] = (0, react.useState)(void 0);
3803
+ (0, react.useEffect)(() => {
3804
+ setTitle(task.title);
3805
+ setDescription(task.description);
3806
+ setPrompt(task.prompt);
3807
+ }, [
3808
+ task.id,
3809
+ task.title,
3810
+ task.description,
3811
+ task.prompt
3812
+ ]);
3813
+ const save = () => {
3814
+ if (title.trim() === "") {
3815
+ setError(t("new.required"));
3816
+ return;
3817
+ }
3818
+ setError(void 0);
3819
+ controller.updateTask(task.id, {
3820
+ title: title.trim(),
3821
+ description: description.trim(),
3822
+ prompt: prompt.trim()
3823
+ });
3824
+ onDone();
3825
+ };
3826
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3827
+ className: board_module_css_default.detailEditForm,
3828
+ "data-dsh-part": "task-edit-form",
3829
+ children: [
3830
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
3831
+ className: board_module_css_default.field,
3832
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
3833
+ className: board_module_css_default.fieldLabel,
3834
+ children: t("new.title")
3835
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
3836
+ className: board_module_css_default.input,
3837
+ value: title,
3838
+ autoFocus: true,
3839
+ disabled: pending,
3840
+ placeholder: t("new.titlePlaceholder"),
3841
+ onChange: (event) => {
3842
+ setTitle(event.target.value);
3843
+ setError(void 0);
3844
+ },
3845
+ onKeyDown: (event) => {
3846
+ if (event.key === "Enter") save();
3847
+ }
3848
+ })]
3849
+ }),
3850
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
3851
+ className: board_module_css_default.field,
3852
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
3853
+ className: board_module_css_default.fieldLabel,
3854
+ children: t("new.description")
3855
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
3856
+ className: board_module_css_default.input,
3857
+ rows: 3,
3858
+ value: description,
3859
+ disabled: pending,
3860
+ placeholder: t("new.descriptionPlaceholder"),
3861
+ onChange: (event) => {
3862
+ setDescription(event.target.value);
3863
+ }
3864
+ })]
3865
+ }),
3866
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
3867
+ className: board_module_css_default.field,
3868
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
3869
+ className: board_module_css_default.fieldLabel,
3870
+ children: t("new.prompt")
3871
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
3872
+ className: board_module_css_default.input,
3873
+ rows: 5,
3874
+ value: prompt,
3875
+ disabled: pending,
3876
+ placeholder: t("new.promptPlaceholder"),
3877
+ onChange: (event) => {
3878
+ setPrompt(event.target.value);
3879
+ }
3880
+ })]
3881
+ }),
3882
+ error !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
3883
+ className: board_module_css_default.formError,
3884
+ role: "alert",
3885
+ children: error
3886
+ }),
3887
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
3888
+ className: board_module_css_default.detailEditActions,
3889
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
3890
+ type: "button",
3891
+ className: board_module_css_default.ghostButton,
3892
+ disabled: pending,
3893
+ onClick: onDone,
3894
+ children: t("detail.editCancel")
3895
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
3896
+ type: "button",
3897
+ className: board_module_css_default.primaryButton,
3898
+ disabled: pending,
3899
+ onClick: () => {
3900
+ save();
3901
+ },
3902
+ children: pending ? t("board.pending") : t("detail.editSave")
3903
+ })]
3904
+ })
3905
+ ]
3906
+ });
3907
+ }
3782
3908
  /** 任务详情浮层。 */
3783
3909
  function TaskDetail({ controller, task }) {
3784
3910
  const [confirmDelete, setConfirmDelete] = (0, react.useState)(false);
3785
3911
  const [confirmStop, setConfirmStop] = (0, react.useState)(false);
3786
3912
  const [showSplit, setShowSplit] = (0, react.useState)(false);
3913
+ const [editing, setEditing] = (0, react.useState)(false);
3787
3914
  const [latest, setLatest] = (0, react.useState)(task);
3788
3915
  (0, react.useEffect)(() => {
3789
3916
  setLatest(task);
@@ -3794,6 +3921,10 @@ window.__ModuleLoader__.load({
3794
3921
  const openExecution = current.executions.some((execution) => execution.endedAt === void 0);
3795
3922
  const archived = current.archivedAt !== void 0;
3796
3923
  const pending = snapshot.pendingTaskIds.includes(current.id);
3924
+ const editable = !running && !openExecution;
3925
+ (0, react.useEffect)(() => {
3926
+ if (editing && !editable) setEditing(false);
3927
+ }, [editing, editable]);
3797
3928
  const transportError = snapshot.transportError;
3798
3929
  const timeZone = snapshot.host?.scheduler.timeZone;
3799
3930
  const canRun = snapshot.executionCapable && !running && !openExecution && !pending;
@@ -3822,6 +3953,16 @@ window.__ModuleLoader__.load({
3822
3953
  "data-status": archived ? "archived" : current.status,
3823
3954
  children: archived ? t("board.archive") : t(STATUS_KEY[current.status])
3824
3955
  }),
3956
+ !archived && !editing && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
3957
+ type: "button",
3958
+ className: board_module_css_default.linkButton,
3959
+ disabled: pending || !editable,
3960
+ title: !editable ? t("detail.editRunningHint") : void 0,
3961
+ onClick: () => {
3962
+ setEditing(true);
3963
+ },
3964
+ children: t("detail.edit")
3965
+ }),
3825
3966
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
3826
3967
  type: "button",
3827
3968
  className: board_module_css_default.iconButton,
@@ -3864,20 +4005,26 @@ window.__ModuleLoader__.load({
3864
4005
  children: [parent?.title ?? t("split.parentMissing"), " ⌁"]
3865
4006
  })]
3866
4007
  }),
3867
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
4008
+ editing ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EditTaskForm, {
4009
+ controller,
4010
+ task: current,
4011
+ pending,
4012
+ onDone: () => {
4013
+ setEditing(false);
4014
+ }
4015
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
3868
4016
  className: board_module_css_default.detailSection,
3869
4017
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", { children: t("detail.description") }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
3870
4018
  className: board_module_css_default.detailText,
3871
4019
  children: current.description !== "" ? current.description : "—"
3872
4020
  })]
3873
- }),
3874
- /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
4021
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("section", {
3875
4022
  className: board_module_css_default.detailSection,
3876
4023
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", { children: t("detail.prompt") }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("pre", {
3877
4024
  className: board_module_css_default.promptBlock,
3878
4025
  children: current.prompt !== "" ? current.prompt : current.title
3879
4026
  })]
3880
- }),
4027
+ })] }),
3881
4028
  !archived && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
3882
4029
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ProjectTagsSection, {
3883
4030
  controller,