dsh-winrm 0.1.0 → 0.2.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/README.md CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  仿照 [dsh-ssh](https://github.com/zhu1090093659/dsh-web-ui/tree/main/packages/dsh-ssh) 开发的 DSH 插件:用 Windows 原生的 **WinRM / PowerShell Remoting** 协议远程管理 Windows 服务器,**目标机不需要装 OpenSSH**。
6
6
 
7
+ > **来源**:本项目是 [andyfan1094/dsh-winrm](https://github.com/andyfan1094/dsh-winrm)(Apache-2.0)的分支,把后端的 WinRM 实现从 Python + pywinrm 换成原生 Node.js 客户端([winrm-client](https://github.com/shide1989/winrm-client)),因此**本机不再需要 Python**。GUI、Agent 工具与功能范围沿用上游设计。
8
+
7
9
  ## 功能
8
10
 
9
11
  | 面 | 说明 |
@@ -22,8 +24,9 @@
22
24
  - 本地账户可写 `Administrator`;域账户可写 `DOMAIN\user` 或 `user@domain`
23
25
  - 本机无需 Python —— WinRM 走纯 Node 依赖(winrm-client),随插件一起安装
24
26
  - 传输:HTTP(5985) 或 HTTPS(5986);HTTPS 可勾选「接受自签名证书」
25
- - 中文输出不乱码:所有命令走 **UTF-8 base64 信封**(`-EncodedCommand` + `Out-String` 包装),绕过 WinRM 传输的代码页问题
27
+ - 中文输出不乱码:所有命令走 **UTF-8 base64 信封**(`Out-String -Stream` 包装 + 三条带标签的信封行),绕过 WinRM 传输的代码页问题
26
28
  - 命令结果的 `stderr` 已自动剥离 PowerShell 的 CLIXML 宿主机记录;真实的进程级 stderr(如 `[Console]::Error`)原样保留
29
+ - **脚本走 WinRS stdin,不走命令行**:WinRS 把命令行交给 `cmd.exe`,上限约 8191 字符,而 `-EncodedCommand` 会把脚本膨胀 2.67 倍 —— 命令行长脚本此前会直接报 `The command line is too long.`。现在命令行是**常量**,脚本按 UTF-8 字节数分块送到 stdin,实测 200 KB 脚本正常
27
30
 
28
31
  ## 目标机准备(一次性)
29
32
 
@@ -39,12 +42,12 @@ powershell -ExecutionPolicy Bypass -File .\scripts\enable-winrm.ps1
39
42
 
40
43
  ## 安装
41
44
 
42
- > 需要 DeepSeek Harness **0.1.7 系列**(`0.1.7-alpha.2` 及以后,含 `0.1.7-rc.1`)。插件的 `peerDependencies` 声明为 `^0.1.7-alpha.2`,DSH 启动时会据此校验:0.1.x 各版本可加载,`0.2.0` 起会被拒绝(确需冒险可用 `dsh plugin allow-version` 逐版本放行)。
45
+ > 需要 DeepSeek Harness **0.1.7-alpha.2 及以后**(含 `0.1.7-rc.1`、`0.2.0-rc.*`、`0.2.x`)。插件的 `peerDependencies` 声明为 `^0.1.7-alpha.2 || ^0.2.0-rc.1`,DSH 启动时会据此校验:0.1.7 与 0.2.x 各版本可加载,`0.3.0` 起会被拒绝(确需冒险可用 `dsh plugin allow-version` 逐版本放行)。
43
46
 
44
47
  从 [Releases](https://github.com/MoRanYue/dsh-winrm/releases) 下载最新的 `dsh-winrm-*.tgz`,加入 profile:
45
48
 
46
49
  ```powershell
47
- dsh plugin --profile web add D:\downloads\dsh-winrm-0.1.0.tgz
50
+ dsh plugin --profile web add D:\downloads\dsh-winrm-0.2.0.tgz
48
51
  ```
49
52
 
50
53
  也可以直接从 npm 安装:
@@ -90,7 +93,7 @@ src/
90
93
  engine.ts WinRmEngine 门面:exec / services / processes / ls / upload / download / console / cluster / test
91
94
  store.ts ~/.dsh/dsh-winrm.json 主机存储(原子写,0600)
92
95
  protocol.ts 宿主↔浏览器 wire 类型
93
- powershell.ts PS 片段构造器(UTF-8 信封 / 服务 / 进程 / 目录 / 分块读写)
96
+ powershell.ts PS 片段构造器 + stdin 信封(outer/child 包装 / 服务 / 进程 / 目录 / 分块读写)
94
97
  routes.ts /api/dsh-winrm 路由族 + 控制台 WebSocket(loopback 围栏)
95
98
  tools.ts 7 个 winrm_* agent 工具
96
99
  engine/client.ts winrm-client 传输层:进程内认证(NTLM/Basic)、UTF-8 信封、分块传输
@@ -106,7 +109,7 @@ scripts/
106
109
  ## 已知限制
107
110
 
108
111
  - 控制台是命令会话,不保持 PowerShell 变量和当前目录状态;每条命令独立执行
109
- - WinRM 单次响应受 150KB 信封上限约束,传输按 48KB 分块,大文件较慢(每块一次往返)
112
+ - 传输按 48KB 分块,大文件较慢(每块一次往返);分块大小由 `TRANSFER_CHUNK` 决定,脚本本身已不再受命令行长度限制
110
113
  - 单命令默认 60s 超时,可传 `timeoutMs`
111
114
  - 目标机需已启用 WinRM(见上);HTTP 明文 Basic 不应用于公网
112
115
  - 面板关闭再打开会回到「主机」页签:面板是 `main` 插槽的占用者,切回对话时卸载,页签状态不跨开关保留
package/README.zh.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  仿照 [dsh-ssh](https://github.com/zhu1090093659/dsh-web-ui/tree/main/packages/dsh-ssh) 开发的 DSH 插件:用 Windows 原生的 **WinRM / PowerShell Remoting** 协议远程管理 Windows 服务器,**目标机不需要装 OpenSSH**。
4
4
 
5
+ > **来源**:本项目是 [andyfan1094/dsh-winrm](https://github.com/andyfan1094/dsh-winrm)(Apache-2.0)的分支,把后端的 WinRM 实现从 Python + pywinrm 换成原生 Node.js 客户端([winrm-client](https://github.com/shide1989/winrm-client)),因此**本机不再需要 Python**。GUI、Agent 工具与功能范围沿用上游设计。
6
+
5
7
  ## 功能
6
8
 
7
9
  | 面 | 说明 |
@@ -20,8 +22,9 @@
20
22
  - 本地账户可写 `Administrator`;域账户可写 `DOMAIN\\user` 或 `user@domain`
21
23
  - 本机无需 Python —— WinRM 走纯 Node 依赖(winrm-client),随插件一起安装
22
24
  - 传输:HTTP(5985) 或 HTTPS(5986);HTTPS 可勾选「接受自签名证书」
23
- - 中文输出不乱码:所有命令走 **UTF-8 base64 信封**(`-EncodedCommand` + `Out-String` 包装),绕过 WinRM 传输的代码页问题
25
+ - 中文输出不乱码:所有命令走 **UTF-8 base64 信封**(`Out-String -Stream` 包装 + 三条带标签的信封行),绕过 WinRM 传输的代码页问题
24
26
  - 命令结果的 `stderr` 已自动剥离 PowerShell 的 CLIXML 宿主机记录;真实的进程级 stderr(如 `[Console]::Error`)原样保留
27
+ - **脚本走 WinRS stdin,不走命令行**:WinRS 把命令行交给 `cmd.exe`,上限约 8191 字符,而 `-EncodedCommand` 会把脚本膨胀 2.67 倍 —— 命令行长脚本此前会直接报 `The command line is too long.`。现在命令行是**常量**,脚本按 UTF-8 字节数分块送到 stdin,实测 200 KB 脚本正常
25
28
 
26
29
  ## 目标机准备(一次性)
27
30
 
@@ -42,12 +45,12 @@ powershell -ExecutionPolicy Bypass -File .\scripts\enable-winrm.ps1
42
45
 
43
46
  ## 安装
44
47
 
45
- > 需要 DeepSeek Harness **0.1.7 系列**(`0.1.7-alpha.2` 及以后,含 `0.1.7-rc.1`)。插件的 `peerDependencies` 声明为 `^0.1.7-alpha.2`,DSH 启动时会据此校验:0.1.x 各版本可加载,`0.2.0` 起会被拒绝(确需冒险可用 `dsh plugin allow-version` 逐版本放行)。
48
+ > 需要 DeepSeek Harness **0.1.7-alpha.2 及以后**(含 `0.1.7-rc.1`、`0.2.0-rc.*`、`0.2.x`)。插件的 `peerDependencies` 声明为 `^0.1.7-alpha.2 || ^0.2.0-rc.1`,DSH 启动时会据此校验:0.1.7 与 0.2.x 各版本可加载,`0.3.0` 起会被拒绝(确需冒险可用 `dsh plugin allow-version` 逐版本放行)。
46
49
 
47
50
  从 [Releases](https://github.com/MoRanYue/dsh-winrm/releases) 下载最新的 `dsh-winrm-*.tgz`,加入 profile:
48
51
 
49
52
  ```powershell
50
- dsh plugin --profile web add D:\downloads\dsh-winrm-0.1.0.tgz
53
+ dsh plugin --profile web add D:\downloads\dsh-winrm-0.2.0.tgz
51
54
  ```
52
55
 
53
56
  也可以直接从 npm 安装:
@@ -93,7 +96,7 @@ src/
93
96
  engine.ts WinRmEngine 门面:exec / services / processes / ls / upload / download / console / cluster / test
94
97
  store.ts ~/.dsh/dsh-winrm.json 主机存储(原子写,0600)
95
98
  protocol.ts 宿主↔浏览器 wire 类型
96
- powershell.ts PS 片段构造器(UTF-8 信封 / 服务 / 进程 / 目录 / 分块读写)
99
+ powershell.ts PS 片段构造器 + stdin 信封(outer/child 包装 / 服务 / 进程 / 目录 / 分块读写)
97
100
  routes.ts /api/dsh-winrm 路由族 + 控制台 WebSocket(loopback 围栏)
98
101
  tools.ts 7 个 winrm_* agent 工具
99
102
  engine/client.ts winrm-client 传输层:进程内认证(NTLM/Basic)、UTF-8 信封、分块传输
@@ -109,7 +112,7 @@ scripts/
109
112
  ## 已知限制
110
113
 
111
114
  - 控制台是命令会话,不保持 PowerShell 变量和当前目录状态;每条命令独立执行
112
- - WinRM 单次响应受 150KB 信封上限约束,传输按 48KB 分块,大文件较慢(每块一次往返)
115
+ - 传输按 48KB 分块,大文件较慢(每块一次往返);分块大小由 `TRANSFER_CHUNK` 决定,脚本本身已不再受命令行长度限制
113
116
  - 单命令默认 60s 超时,可传 `timeoutMs`
114
117
  - 目标机需已启用 WinRM(见上);HTTP 明文 Basic 不应用于公网
115
118
  - 面板关闭再打开会回到「主机」页签:面板是 `main` 插槽的占用者,切回对话时卸载,页签状态不跨开关保留
package/lib/client.js CHANGED
@@ -554,8 +554,8 @@ function formatBytes(bytes) {
554
554
  return bytes + " B";
555
555
  }
556
556
  //#endregion
557
- //#region \0dsh-css:D:\GITHUB\dsh-winrm\src\client\panel\panel.module.css.mjs
558
- const css = ".Z2pyhW_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}.Z2pyhW_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}.Z2pyhW_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}.Z2pyhW_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.Z2pyhW_entryLabel{text-overflow:ellipsis;overflow:hidden}[data-dsh-frame][data-sidebar-collapsed] .Z2pyhW_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] .Z2pyhW_entryLabel{display:none}.Z2pyhW_panel{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:10px;padding:14px 16px 16px;display:flex}.Z2pyhW_panelHeader{flex:none;align-items:center;gap:10px;display:flex}.Z2pyhW_panelTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;flex:1;margin:0;font-size:16px;font-weight:700}.Z2pyhW_backButton{align-items:center;gap:4px;display:inline-flex}.Z2pyhW_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:2px;display:flex}.Z2pyhW_tab{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:7px 14px;font-size:13px}.Z2pyhW_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.Z2pyhW_tab[data-active]{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-state-business-primary);font-weight:600}.Z2pyhW_panelContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.Z2pyhW_tabBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.Z2pyhW_fillBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:hidden}.Z2pyhW_toolbar,.Z2pyhW_controls{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.Z2pyhW_controls .Z2pyhW_input{flex:0 260px;min-width:150px}.Z2pyhW_toolbarSpacer{flex:1}.Z2pyhW_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}.Z2pyhW_search::placeholder{color:var(--dsw-alias-label-tertiary)}.Z2pyhW_groupBySelect{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;padding:6px 8px;font-size:13px}.Z2pyhW_groupSection+.Z2pyhW_groupSection{border-top:1px solid var(--dsw-alias-border-l1)}.Z2pyhW_groupHeader{background:var(--dsw-alias-bg-base,var(--dsw-specific-input-major));align-items:center;gap:8px;padding:4px 8px;display:flex;position:sticky;top:0}.Z2pyhW_groupToggle{min-width:0;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:6px;padding:4px 6px;font-size:12.5px;font-weight:500;display:flex}.Z2pyhW_groupToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.Z2pyhW_groupChevron{border-right:1.5px solid var(--dsw-alias-label-tertiary);border-bottom:1.5px solid var(--dsw-alias-label-tertiary);flex:none;width:7px;height:7px;margin-bottom:2px;transition:transform .12s;transform:rotate(45deg)}.Z2pyhW_groupChevron[data-collapsed]{margin-bottom:0;transform:rotate(-45deg)}.Z2pyhW_groupName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Z2pyhW_groupCount{color:var(--dsw-alias-label-tertiary);flex:none;font-weight:400}.Z2pyhW_tableWrap{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex:1;min-height:0;overflow:auto}.Z2pyhW_table{border-collapse:collapse;width:100%;font-size:12.5px}.Z2pyhW_table th{z-index:1;text-align:left;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);border-bottom:1px solid var(--dsw-alias-border-l1);white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}.Z2pyhW_table td{border-bottom:1px solid var(--dsw-alias-separator-primary);vertical-align:top;padding:7px 10px}.Z2pyhW_table tbody tr:last-child td{border-bottom:none}.Z2pyhW_table tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover)}.Z2pyhW_mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.Z2pyhW_cellMuted{color:var(--dsw-alias-label-tertiary)}.Z2pyhW_actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.Z2pyhW_inlineTest{color:var(--dsw-alias-label-secondary);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.Z2pyhW_inlineTest[data-status=ok]{color:var(--dsw-alias-state-success-primary)}.Z2pyhW_inlineTest[data-status=fail]{color:var(--dsw-alias-state-error-primary)}.Z2pyhW_badge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;line-height:1.6;display:inline-block}.Z2pyhW_badge[data-kind=key]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}.Z2pyhW_badge[data-kind=password]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.Z2pyhW_badge[data-status=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.Z2pyhW_badge[data-status=fail]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.Z2pyhW_badge[data-status=timeout]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.Z2pyhW_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}.Z2pyhW_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.Z2pyhW_primaryButton:disabled{opacity:.5;cursor:default}.Z2pyhW_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}.Z2pyhW_ghostButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.Z2pyhW_ghostButton:disabled{opacity:.45;cursor:default}.Z2pyhW_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}.Z2pyhW_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.Z2pyhW_linkButton{color:var(--dsw-alias-state-business-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px}.Z2pyhW_linkButton:hover:not(:disabled){text-decoration:underline}.Z2pyhW_linkButton:disabled{opacity:.45;cursor:default}.Z2pyhW_linkButton[data-danger]{color:var(--dsw-alias-state-error-primary)}.Z2pyhW_spinner{border:2px solid var(--dsw-alias-state-business-primary);vertical-align:-1px;border-top-color:#0000;border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite Z2pyhW_dshSshSpin;display:inline-block}@keyframes Z2pyhW_dshSshSpin{to{transform:rotate(360deg)}}.Z2pyhW_banner{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;border-radius:8px;padding:8px 12px;font-size:12.5px;line-height:1.5}.Z2pyhW_banner[data-kind=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.Z2pyhW_banner[data-kind=error]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.Z2pyhW_banner[data-kind=info]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}.Z2pyhW_empty,.Z2pyhW_loading{text-align:center;color:var(--dsw-alias-label-tertiary);padding:28px 12px;font-size:12.5px}.Z2pyhW_modalBackdrop{z-index:40;background:var(--dsw-alias-bg-mask-1);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.Z2pyhW_modal{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(560px,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}.Z2pyhW_modalTitle{margin:0;font-size:15px;font-weight:700}.Z2pyhW_modalFooter{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.Z2pyhW_formError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}.Z2pyhW_hint{color:var(--dsw-alias-label-tertiary);font-size:11.5px}.Z2pyhW_field{flex-direction:column;gap:5px;display:flex}.Z2pyhW_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.Z2pyhW_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}.Z2pyhW_input:focus{border-color:var(--dsw-alias-state-business-primary)}.Z2pyhW_input::placeholder{color:var(--dsw-alias-label-tertiary)}.Z2pyhW_input:disabled{opacity:.55}.Z2pyhW_formRow{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 12px;display:grid}.Z2pyhW_radioRow{align-items:center;gap:16px;display:flex}.Z2pyhW_radioLabel{color:var(--dsw-alias-label-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.Z2pyhW_termBody{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:hidden}.Z2pyhW_termWrap{border:1px solid var(--dsw-alias-border-l1);background:#0b0e14;border-radius:10px;flex:1;min-height:0;position:relative;overflow:hidden}.Z2pyhW_termContainer{position:absolute;inset:8px 10px}.Z2pyhW_termPlaceholder{z-index:2;text-align:center;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);justify-content:center;align-items:center;padding:0 24px;font-size:12.5px;display:flex;position:absolute;inset:0}.Z2pyhW_hiddenFile{display:none}.Z2pyhW_browsePanel{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;display:flex;overflow:hidden}.Z2pyhW_browseHeader{background:var(--dsw-alias-bg-layer-2);border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:8px;padding:8px 10px;display:flex}.Z2pyhW_browsePath{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.Z2pyhW_browseList{max-height:240px;overflow-y:auto}.Z2pyhW_dirRow{text-align:left;width:100%;font:inherit;color:var(--dsw-alias-label-primary);border:none;border-bottom:1px solid var(--dsw-alias-separator-primary);cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:5px 10px;font-size:12.5px;display:grid}.Z2pyhW_dirRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.Z2pyhW_dirRow[data-type=dir] .Z2pyhW_dirName{color:var(--dsw-alias-state-business-primary)}.Z2pyhW_dirRow[data-up]{color:var(--dsw-alias-label-secondary)}.Z2pyhW_dirName{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.Z2pyhW_dirType{color:var(--dsw-alias-label-tertiary);white-space:nowrap}.Z2pyhW_dirSize{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-align:right}.Z2pyhW_transferBlock{flex-direction:column;flex:none;gap:6px;display:flex}.Z2pyhW_progressMeta{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.Z2pyhW_progressTrack{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;height:8px;overflow:hidden}.Z2pyhW_progressBar{background:var(--dsw-alias-state-business-primary);border-radius:999px;height:100%;transition:width .12s linear}.Z2pyhW_tunnelList{flex-direction:column;flex:none;gap:8px;display:flex}.Z2pyhW_tunnelRow{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.Z2pyhW_tunnelRow[data-state=forwarding]{border-color:var(--dsw-alias-state-success-primary)}.Z2pyhW_tunnelRow[data-state=connecting]{border-color:var(--dsw-alias-state-warn-primary)}.Z2pyhW_tunnelRow[data-state=failed]{border-color:var(--dsw-alias-state-error-primary)}.Z2pyhW_tunnelLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow:hidden}.Z2pyhW_formCard{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;gap:10px;padding:12px;display:flex}.Z2pyhW_clusterForm{flex-direction:column;flex:none;gap:8px;display:flex}.Z2pyhW_clusterFilters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.Z2pyhW_commandInput{min-height:96px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.Z2pyhW_cellDetails summary{cursor:pointer;color:var(--dsw-alias-label-secondary);font-size:12px}.Z2pyhW_cellPre{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:180px;margin:4px 0 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;overflow:auto}.Z2pyhW_consoleWrap{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.Z2pyhW_consoleHeader{flex:none;align-items:center;gap:8px;display:flex}.Z2pyhW_consoleOutput{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:pre-wrap;word-break:break-all;min-height:0;color:var(--dsw-alias-label-primary);border-radius:6px;flex:1;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.45;overflow:auto}.Z2pyhW_consoleInputRow{flex:none;align-items:center;gap:8px;display:flex}.Z2pyhW_consoleInputRow .Z2pyhW_input{flex:1}.Z2pyhW_utf8Note{color:var(--dsw-alias-label-tertiary);flex:none;font-size:11.5px}.Z2pyhW_checkRow{align-items:center;gap:6px;font-size:13px;display:flex}.Z2pyhW_dialogOverlay{z-index:120;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.Z2pyhW_dialog{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;gap:10px;width:min(520px,100vw - 48px);max-height:calc(100vh - 96px);padding:16px;display:flex;overflow-y:auto}.Z2pyhW_dialogTitle{margin:0;font-size:15px;font-weight:700}.Z2pyhW_field{flex-direction:column;gap:4px;font-size:13px;display:flex}.Z2pyhW_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px}.Z2pyhW_fieldHint{color:var(--dsw-alias-label-tertiary);font-size:11.5px}.Z2pyhW_formRow{align-items:flex-start;gap:10px;display:flex}.Z2pyhW_formRow .Z2pyhW_field{flex:1}.Z2pyhW_formError{color:var(--dsw-alias-state-error-primary);font-size:12.5px}.Z2pyhW_badge[data-kind=ok]{color:var(--dsw-alias-state-success-primary)}.Z2pyhW_badge[data-kind=muted]{color:var(--dsw-alias-label-secondary)}.Z2pyhW_badge[data-kind=password]{color:var(--dsw-alias-state-info-primary)}";
557
+ //#region \0dsh-css:/home/runner/work/dsh-winrm/dsh-winrm/src/client/panel/panel.module.css.mjs
558
+ const css = ".hAbY3W_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}.hAbY3W_entry:hover{background:var(--dsw-specific-sidebar-nav-item-hover);color:var(--dsw-alias-label-primary)}.hAbY3W_entry[data-active]{background:var(--dsw-specific-sidebar-nav-item-active);color:var(--dsw-alias-label-primary);font-weight:600}.hAbY3W_entryIcon{flex:none;justify-content:center;align-items:center;display:inline-flex}.hAbY3W_entryLabel{text-overflow:ellipsis;overflow:hidden}[data-dsh-frame][data-sidebar-collapsed] .hAbY3W_entry{justify-content:center;width:100%;padding:0}[data-dsh-frame][data-sidebar-collapsed] .hAbY3W_entryLabel{display:none}.hAbY3W_panel{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:10px;padding:14px 16px 16px;display:flex}.hAbY3W_panelHeader{flex:none;align-items:center;gap:10px;display:flex}.hAbY3W_panelTitle{color:var(--dsw-alias-label-primary);white-space:nowrap;flex:1;margin:0;font-size:16px;font-weight:700}.hAbY3W_backButton{align-items:center;gap:4px;display:inline-flex}.hAbY3W_tabBar{border-bottom:1px solid var(--dsw-alias-border-l1);flex:none;gap:2px;display:flex}.hAbY3W_tab{color:var(--dsw-alias-label-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:7px 14px;font-size:13px}.hAbY3W_tab:hover{color:var(--dsw-alias-label-primary);background:var(--dsw-alias-interactive-bg-hover)}.hAbY3W_tab[data-active]{color:var(--dsw-alias-label-primary);border-bottom-color:var(--dsw-alias-state-business-primary);font-weight:600}.hAbY3W_panelContent{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.hAbY3W_tabBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.hAbY3W_fillBody{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:hidden}.hAbY3W_toolbar,.hAbY3W_controls{flex-wrap:wrap;flex:none;align-items:center;gap:8px;display:flex}.hAbY3W_controls .hAbY3W_input{flex:0 260px;min-width:150px}.hAbY3W_toolbarSpacer{flex:1}.hAbY3W_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}.hAbY3W_search::placeholder{color:var(--dsw-alias-label-tertiary)}.hAbY3W_groupBySelect{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;padding:6px 8px;font-size:13px}.hAbY3W_groupSection+.hAbY3W_groupSection{border-top:1px solid var(--dsw-alias-border-l1)}.hAbY3W_groupHeader{background:var(--dsw-alias-bg-base,var(--dsw-specific-input-major));align-items:center;gap:8px;padding:4px 8px;display:flex;position:sticky;top:0}.hAbY3W_groupToggle{min-width:0;color:var(--dsw-alias-label-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex:1;align-items:center;gap:6px;padding:4px 6px;font-size:12.5px;font-weight:500;display:flex}.hAbY3W_groupToggle:hover{background:var(--dsw-alias-interactive-bg-hover)}.hAbY3W_groupChevron{border-right:1.5px solid var(--dsw-alias-label-tertiary);border-bottom:1.5px solid var(--dsw-alias-label-tertiary);flex:none;width:7px;height:7px;margin-bottom:2px;transition:transform .12s;transform:rotate(45deg)}.hAbY3W_groupChevron[data-collapsed]{margin-bottom:0;transform:rotate(-45deg)}.hAbY3W_groupName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hAbY3W_groupCount{color:var(--dsw-alias-label-tertiary);flex:none;font-weight:400}.hAbY3W_tableWrap{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex:1;min-height:0;overflow:auto}.hAbY3W_table{border-collapse:collapse;width:100%;font-size:12.5px}.hAbY3W_table th{z-index:1;text-align:left;background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-secondary);border-bottom:1px solid var(--dsw-alias-border-l1);white-space:nowrap;padding:8px 10px;font-weight:600;position:sticky;top:0}.hAbY3W_table td{border-bottom:1px solid var(--dsw-alias-separator-primary);vertical-align:top;padding:7px 10px}.hAbY3W_table tbody tr:last-child td{border-bottom:none}.hAbY3W_table tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover)}.hAbY3W_mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hAbY3W_cellMuted{color:var(--dsw-alias-label-tertiary)}.hAbY3W_actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.hAbY3W_inlineTest{color:var(--dsw-alias-label-secondary);align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.hAbY3W_inlineTest[data-status=ok]{color:var(--dsw-alias-state-success-primary)}.hAbY3W_inlineTest[data-status=fail]{color:var(--dsw-alias-state-error-primary)}.hAbY3W_badge{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px;line-height:1.6;display:inline-block}.hAbY3W_badge[data-kind=key]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}.hAbY3W_badge[data-kind=password]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.hAbY3W_badge[data-status=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.hAbY3W_badge[data-status=fail]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.hAbY3W_badge[data-status=timeout]{color:var(--dsw-alias-state-warn-primary);border-color:var(--dsw-alias-state-warn-primary)}.hAbY3W_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}.hAbY3W_primaryButton:hover:not(:disabled){background:var(--dsw-alias-button-info-hover)}.hAbY3W_primaryButton:disabled{opacity:.5;cursor:default}.hAbY3W_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}.hAbY3W_ghostButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.hAbY3W_ghostButton:disabled{opacity:.45;cursor:default}.hAbY3W_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}.hAbY3W_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.hAbY3W_linkButton{color:var(--dsw-alias-state-business-primary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0;font-size:12px}.hAbY3W_linkButton:hover:not(:disabled){text-decoration:underline}.hAbY3W_linkButton:disabled{opacity:.45;cursor:default}.hAbY3W_linkButton[data-danger]{color:var(--dsw-alias-state-error-primary)}.hAbY3W_spinner{border:2px solid var(--dsw-alias-state-business-primary);vertical-align:-1px;border-top-color:#0000;border-radius:50%;flex:none;width:11px;height:11px;animation:.8s linear infinite hAbY3W_dshSshSpin;display:inline-block}@keyframes hAbY3W_dshSshSpin{to{transform:rotate(360deg)}}.hAbY3W_banner{border:1px solid var(--dsw-alias-border-l2);color:var(--dsw-alias-label-secondary);overflow-wrap:anywhere;border-radius:8px;padding:8px 12px;font-size:12.5px;line-height:1.5}.hAbY3W_banner[data-kind=ok]{color:var(--dsw-alias-state-success-primary);border-color:var(--dsw-alias-state-success-primary)}.hAbY3W_banner[data-kind=error]{color:var(--dsw-alias-state-error-primary);border-color:var(--dsw-alias-state-error-primary)}.hAbY3W_banner[data-kind=info]{color:var(--dsw-alias-state-business-primary);border-color:var(--dsw-alias-state-business-primary)}.hAbY3W_empty,.hAbY3W_loading{text-align:center;color:var(--dsw-alias-label-tertiary);padding:28px 12px;font-size:12.5px}.hAbY3W_modalBackdrop{z-index:40;background:var(--dsw-alias-bg-mask-1);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hAbY3W_modal{background:var(--dsw-alias-bg-base);border:1px solid var(--dsw-alias-border-l2);width:min(560px,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}.hAbY3W_modalTitle{margin:0;font-size:15px;font-weight:700}.hAbY3W_modalFooter{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.hAbY3W_formError{color:var(--dsw-alias-state-error-primary);margin:0;font-size:12px}.hAbY3W_hint{color:var(--dsw-alias-label-tertiary);font-size:11.5px}.hAbY3W_field{flex-direction:column;gap:5px;display:flex}.hAbY3W_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px;font-weight:600}.hAbY3W_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}.hAbY3W_input:focus{border-color:var(--dsw-alias-state-business-primary)}.hAbY3W_input::placeholder{color:var(--dsw-alias-label-tertiary)}.hAbY3W_input:disabled{opacity:.55}.hAbY3W_formRow{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px 12px;display:grid}.hAbY3W_radioRow{align-items:center;gap:16px;display:flex}.hAbY3W_radioLabel{color:var(--dsw-alias-label-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.hAbY3W_termBody{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow:hidden}.hAbY3W_termWrap{border:1px solid var(--dsw-alias-border-l1);background:#0b0e14;border-radius:10px;flex:1;min-height:0;position:relative;overflow:hidden}.hAbY3W_termContainer{position:absolute;inset:8px 10px}.hAbY3W_termPlaceholder{z-index:2;text-align:center;color:var(--dsw-alias-label-tertiary);background:var(--dsw-alias-bg-base);justify-content:center;align-items:center;padding:0 24px;font-size:12.5px;display:flex;position:absolute;inset:0}.hAbY3W_hiddenFile{display:none}.hAbY3W_browsePanel{border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;display:flex;overflow:hidden}.hAbY3W_browseHeader{background:var(--dsw-alias-bg-layer-2);border-bottom:1px solid var(--dsw-alias-border-l1);align-items:center;gap:8px;padding:8px 10px;display:flex}.hAbY3W_browsePath{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-secondary);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;overflow:hidden}.hAbY3W_browseList{max-height:240px;overflow-y:auto}.hAbY3W_dirRow{text-align:left;width:100%;font:inherit;color:var(--dsw-alias-label-primary);border:none;border-bottom:1px solid var(--dsw-alias-separator-primary);cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:5px 10px;font-size:12.5px;display:grid}.hAbY3W_dirRow:hover{background:var(--dsw-alias-interactive-bg-hover)}.hAbY3W_dirRow[data-type=dir] .hAbY3W_dirName{color:var(--dsw-alias-state-business-primary)}.hAbY3W_dirRow[data-up]{color:var(--dsw-alias-label-secondary)}.hAbY3W_dirName{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.hAbY3W_dirType{color:var(--dsw-alias-label-tertiary);white-space:nowrap}.hAbY3W_dirSize{color:var(--dsw-alias-label-tertiary);white-space:nowrap;text-align:right}.hAbY3W_transferBlock{flex-direction:column;flex:none;gap:6px;display:flex}.hAbY3W_progressMeta{color:var(--dsw-alias-label-secondary);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.hAbY3W_progressTrack{background:var(--dsw-alias-interactive-bg-hover);border-radius:999px;height:8px;overflow:hidden}.hAbY3W_progressBar{background:var(--dsw-alias-state-business-primary);border-radius:999px;height:100%;transition:width .12s linear}.hAbY3W_tunnelList{flex-direction:column;flex:none;gap:8px;display:flex}.hAbY3W_tunnelRow{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.hAbY3W_tunnelRow[data-state=forwarding]{border-color:var(--dsw-alias-state-success-primary)}.hAbY3W_tunnelRow[data-state=connecting]{border-color:var(--dsw-alias-state-warn-primary)}.hAbY3W_tunnelRow[data-state=failed]{border-color:var(--dsw-alias-state-error-primary)}.hAbY3W_tunnelLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;overflow:hidden}.hAbY3W_formCard{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:10px;flex-direction:column;flex:none;gap:10px;padding:12px;display:flex}.hAbY3W_clusterForm{flex-direction:column;flex:none;gap:8px;display:flex}.hAbY3W_clusterFilters{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.hAbY3W_commandInput{min-height:96px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hAbY3W_cellDetails summary{cursor:pointer;color:var(--dsw-alias-label-secondary);font-size:12px}.hAbY3W_cellPre{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:pre-wrap;word-break:break-all;border-radius:6px;max-height:180px;margin:4px 0 0;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;overflow:auto}.hAbY3W_consoleWrap{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.hAbY3W_consoleHeader{flex:none;align-items:center;gap:8px;display:flex}.hAbY3W_consoleOutput{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l2);white-space:pre-wrap;word-break:break-all;min-height:0;color:var(--dsw-alias-label-primary);border-radius:6px;flex:1;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:1.45;overflow:auto}.hAbY3W_consoleInputRow{flex:none;align-items:center;gap:8px;display:flex}.hAbY3W_consoleInputRow .hAbY3W_input{flex:1}.hAbY3W_utf8Note{color:var(--dsw-alias-label-tertiary);flex:none;font-size:11.5px}.hAbY3W_checkRow{align-items:center;gap:6px;font-size:13px;display:flex}.hAbY3W_dialogOverlay{z-index:120;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.hAbY3W_dialog{background:var(--dsw-alias-bg-layer-2);border:1px solid var(--dsw-alias-border-l1);border-radius:12px;flex-direction:column;gap:10px;width:min(520px,100vw - 48px);max-height:calc(100vh - 96px);padding:16px;display:flex;overflow-y:auto}.hAbY3W_dialogTitle{margin:0;font-size:15px;font-weight:700}.hAbY3W_field{flex-direction:column;gap:4px;font-size:13px;display:flex}.hAbY3W_fieldLabel{color:var(--dsw-alias-label-secondary);font-size:12px}.hAbY3W_fieldHint{color:var(--dsw-alias-label-tertiary);font-size:11.5px}.hAbY3W_formRow{align-items:flex-start;gap:10px;display:flex}.hAbY3W_formRow .hAbY3W_field{flex:1}.hAbY3W_formError{color:var(--dsw-alias-state-error-primary);font-size:12.5px}.hAbY3W_badge[data-kind=ok]{color:var(--dsw-alias-state-success-primary)}.hAbY3W_badge[data-kind=muted]{color:var(--dsw-alias-label-secondary)}.hAbY3W_badge[data-kind=password]{color:var(--dsw-alias-state-info-primary)}";
559
559
  const tagId = "dsh-winrm/src/client/panel/panel.module.css";
560
560
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
561
561
  const tag = document.createElement("style");
@@ -565,93 +565,93 @@ if (typeof document !== "undefined" && document.querySelector("style[data-plugin
565
565
  document.head.appendChild(tag);
566
566
  }
567
567
  var panel_module_css_default = {
568
- "groupHeader": "Z2pyhW_groupHeader",
569
- "field": "Z2pyhW_field",
570
- "transferBlock": "Z2pyhW_transferBlock",
571
- "progressMeta": "Z2pyhW_progressMeta",
572
- "dialog": "Z2pyhW_dialog",
573
- "controls": "Z2pyhW_controls",
574
- "formRow": "Z2pyhW_formRow",
575
- "radioLabel": "Z2pyhW_radioLabel",
576
- "utf8Note": "Z2pyhW_utf8Note",
577
- "cellMuted": "Z2pyhW_cellMuted",
578
- "mono": "Z2pyhW_mono",
579
- "termContainer": "Z2pyhW_termContainer",
580
- "tabBar": "Z2pyhW_tabBar",
581
- "hiddenFile": "Z2pyhW_hiddenFile",
582
- "entryLabel": "Z2pyhW_entryLabel",
583
- "inlineTest": "Z2pyhW_inlineTest",
584
- "badge": "Z2pyhW_badge",
585
- "panelHeader": "Z2pyhW_panelHeader",
586
- "browseList": "Z2pyhW_browseList",
587
- "commandInput": "Z2pyhW_commandInput",
588
- "tab": "Z2pyhW_tab",
589
- "groupToggle": "Z2pyhW_groupToggle",
590
- "table": "Z2pyhW_table",
591
- "panel": "Z2pyhW_panel",
592
- "ghostButton": "Z2pyhW_ghostButton",
593
- "dirSize": "Z2pyhW_dirSize",
594
- "banner": "Z2pyhW_banner",
595
- "formCard": "Z2pyhW_formCard",
596
- "dialogTitle": "Z2pyhW_dialogTitle",
597
- "termWrap": "Z2pyhW_termWrap",
598
- "loading": "Z2pyhW_loading",
599
- "modalFooter": "Z2pyhW_modalFooter",
600
- "clusterFilters": "Z2pyhW_clusterFilters",
601
- "groupBySelect": "Z2pyhW_groupBySelect",
602
- "dirRow": "Z2pyhW_dirRow",
603
- "entry": "Z2pyhW_entry",
604
- "tunnelRow": "Z2pyhW_tunnelRow",
605
- "search": "Z2pyhW_search",
606
- "checkRow": "Z2pyhW_checkRow",
607
- "hint": "Z2pyhW_hint",
608
- "groupCount": "Z2pyhW_groupCount",
609
- "groupName": "Z2pyhW_groupName",
610
- "dshSshSpin": "Z2pyhW_dshSshSpin",
611
- "groupSection": "Z2pyhW_groupSection",
612
- "cellPre": "Z2pyhW_cellPre",
613
- "iconButton": "Z2pyhW_iconButton",
614
- "linkButton": "Z2pyhW_linkButton",
615
- "fieldLabel": "Z2pyhW_fieldLabel",
616
- "tableWrap": "Z2pyhW_tableWrap",
617
- "panelTitle": "Z2pyhW_panelTitle",
618
- "panelContent": "Z2pyhW_panelContent",
619
- "browsePath": "Z2pyhW_browsePath",
620
- "spinner": "Z2pyhW_spinner",
621
- "dirName": "Z2pyhW_dirName",
622
- "clusterForm": "Z2pyhW_clusterForm",
623
- "tunnelList": "Z2pyhW_tunnelList",
624
- "formError": "Z2pyhW_formError",
625
- "modalBackdrop": "Z2pyhW_modalBackdrop",
626
- "radioRow": "Z2pyhW_radioRow",
627
- "cellDetails": "Z2pyhW_cellDetails",
628
- "consoleInputRow": "Z2pyhW_consoleInputRow",
629
- "termBody": "Z2pyhW_termBody",
630
- "consoleOutput": "Z2pyhW_consoleOutput",
631
- "toolbarSpacer": "Z2pyhW_toolbarSpacer",
632
- "dirType": "Z2pyhW_dirType",
633
- "fieldHint": "Z2pyhW_fieldHint",
634
- "tabBody": "Z2pyhW_tabBody",
635
- "groupChevron": "Z2pyhW_groupChevron",
636
- "modal": "Z2pyhW_modal",
637
- "dialogOverlay": "Z2pyhW_dialogOverlay",
638
- "termPlaceholder": "Z2pyhW_termPlaceholder",
639
- "input": "Z2pyhW_input",
640
- "fillBody": "Z2pyhW_fillBody",
641
- "consoleHeader": "Z2pyhW_consoleHeader",
642
- "backButton": "Z2pyhW_backButton",
643
- "entryIcon": "Z2pyhW_entryIcon",
644
- "browsePanel": "Z2pyhW_browsePanel",
645
- "progressBar": "Z2pyhW_progressBar",
646
- "progressTrack": "Z2pyhW_progressTrack",
647
- "browseHeader": "Z2pyhW_browseHeader",
648
- "toolbar": "Z2pyhW_toolbar",
649
- "consoleWrap": "Z2pyhW_consoleWrap",
650
- "empty": "Z2pyhW_empty",
651
- "modalTitle": "Z2pyhW_modalTitle",
652
- "actions": "Z2pyhW_actions",
653
- "primaryButton": "Z2pyhW_primaryButton",
654
- "tunnelLabel": "Z2pyhW_tunnelLabel"
568
+ "modalBackdrop": "hAbY3W_modalBackdrop",
569
+ "panel": "hAbY3W_panel",
570
+ "groupCount": "hAbY3W_groupCount",
571
+ "tab": "hAbY3W_tab",
572
+ "iconButton": "hAbY3W_iconButton",
573
+ "banner": "hAbY3W_banner",
574
+ "panelHeader": "hAbY3W_panelHeader",
575
+ "utf8Note": "hAbY3W_utf8Note",
576
+ "cellPre": "hAbY3W_cellPre",
577
+ "dialog": "hAbY3W_dialog",
578
+ "hiddenFile": "hAbY3W_hiddenFile",
579
+ "linkButton": "hAbY3W_linkButton",
580
+ "tabBody": "hAbY3W_tabBody",
581
+ "dirName": "hAbY3W_dirName",
582
+ "fillBody": "hAbY3W_fillBody",
583
+ "backButton": "hAbY3W_backButton",
584
+ "mono": "hAbY3W_mono",
585
+ "actions": "hAbY3W_actions",
586
+ "tunnelRow": "hAbY3W_tunnelRow",
587
+ "commandInput": "hAbY3W_commandInput",
588
+ "ghostButton": "hAbY3W_ghostButton",
589
+ "dialogOverlay": "hAbY3W_dialogOverlay",
590
+ "table": "hAbY3W_table",
591
+ "termBody": "hAbY3W_termBody",
592
+ "browseList": "hAbY3W_browseList",
593
+ "radioRow": "hAbY3W_radioRow",
594
+ "progressBar": "hAbY3W_progressBar",
595
+ "dialogTitle": "hAbY3W_dialogTitle",
596
+ "dirRow": "hAbY3W_dirRow",
597
+ "groupHeader": "hAbY3W_groupHeader",
598
+ "consoleOutput": "hAbY3W_consoleOutput",
599
+ "spinner": "hAbY3W_spinner",
600
+ "transferBlock": "hAbY3W_transferBlock",
601
+ "consoleHeader": "hAbY3W_consoleHeader",
602
+ "progressTrack": "hAbY3W_progressTrack",
603
+ "termContainer": "hAbY3W_termContainer",
604
+ "loading": "hAbY3W_loading",
605
+ "tunnelList": "hAbY3W_tunnelList",
606
+ "cellDetails": "hAbY3W_cellDetails",
607
+ "consoleWrap": "hAbY3W_consoleWrap",
608
+ "modal": "hAbY3W_modal",
609
+ "formRow": "hAbY3W_formRow",
610
+ "progressMeta": "hAbY3W_progressMeta",
611
+ "controls": "hAbY3W_controls",
612
+ "modalFooter": "hAbY3W_modalFooter",
613
+ "groupName": "hAbY3W_groupName",
614
+ "modalTitle": "hAbY3W_modalTitle",
615
+ "radioLabel": "hAbY3W_radioLabel",
616
+ "toolbarSpacer": "hAbY3W_toolbarSpacer",
617
+ "browsePanel": "hAbY3W_browsePanel",
618
+ "checkRow": "hAbY3W_checkRow",
619
+ "entryIcon": "hAbY3W_entryIcon",
620
+ "groupSection": "hAbY3W_groupSection",
621
+ "input": "hAbY3W_input",
622
+ "formError": "hAbY3W_formError",
623
+ "empty": "hAbY3W_empty",
624
+ "entry": "hAbY3W_entry",
625
+ "badge": "hAbY3W_badge",
626
+ "field": "hAbY3W_field",
627
+ "browsePath": "hAbY3W_browsePath",
628
+ "dshSshSpin": "hAbY3W_dshSshSpin",
629
+ "toolbar": "hAbY3W_toolbar",
630
+ "dirType": "hAbY3W_dirType",
631
+ "panelTitle": "hAbY3W_panelTitle",
632
+ "formCard": "hAbY3W_formCard",
633
+ "browseHeader": "hAbY3W_browseHeader",
634
+ "entryLabel": "hAbY3W_entryLabel",
635
+ "groupChevron": "hAbY3W_groupChevron",
636
+ "panelContent": "hAbY3W_panelContent",
637
+ "termWrap": "hAbY3W_termWrap",
638
+ "termPlaceholder": "hAbY3W_termPlaceholder",
639
+ "fieldHint": "hAbY3W_fieldHint",
640
+ "groupBySelect": "hAbY3W_groupBySelect",
641
+ "groupToggle": "hAbY3W_groupToggle",
642
+ "clusterForm": "hAbY3W_clusterForm",
643
+ "fieldLabel": "hAbY3W_fieldLabel",
644
+ "cellMuted": "hAbY3W_cellMuted",
645
+ "tabBar": "hAbY3W_tabBar",
646
+ "tableWrap": "hAbY3W_tableWrap",
647
+ "consoleInputRow": "hAbY3W_consoleInputRow",
648
+ "search": "hAbY3W_search",
649
+ "inlineTest": "hAbY3W_inlineTest",
650
+ "hint": "hAbY3W_hint",
651
+ "tunnelLabel": "hAbY3W_tunnelLabel",
652
+ "dirSize": "hAbY3W_dirSize",
653
+ "clusterFilters": "hAbY3W_clusterFilters",
654
+ "primaryButton": "hAbY3W_primaryButton"
655
655
  };
656
656
  //#endregion
657
657
  //#region src/client/panel/ConsoleTab.tsx