tabby-bianbu-mcp 0.5.4 → 0.6.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/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
2
2
 
3
3
  All notable changes to `tabby-bianbu-mcp` will be documented in this file.
4
4
 
5
+ ## [0.6.0] - 2026-03-23
6
+
7
+ ### Added
8
+ - **adaptive request throttling**: `RequestLane` now starts at zero cadence and auto-backs-off only when the server returns 429 / rate-limit errors, then gradually recovers to zero delay on success
9
+ - **concurrent file transfers**: up to 3 files now upload/download in parallel (configurable via `maxConcurrentFiles`)
10
+ - **enhanced shell line editor**: cursor movement (←→), command history (↑↓), Home/End, Delete key, Ctrl+A/E/U/K/W/L shortcuts
11
+ - **colorized shell output**: stderr renders in red, non-zero exit codes in yellow, prompt in bold blue
12
+ - **running indicator**: shell shows `⏳ Running...` during command execution
13
+ - **file manager sort**: click column headers (Name, Size, Modified, Type) to sort; folders always appear first
14
+ - **file manager multi-select**: Ctrl+Click to toggle, Shift+Click for range selection
15
+ - **file type icons**: emoji icons for 50+ file extensions (📁📜🐍📋📦🖼️🎵🎬 etc.)
16
+ - **formatted file sizes**: human-readable display (B, KB, MB, GB)
17
+ - **date column**: shows file modification timestamps
18
+ - **status bar**: shows item count, selection summary, and total size
19
+ - **detail pane toggle**: hide/show the preview panel to maximize file list space
20
+ - **URL domain input**: settings page now shows `https://` [domain] `/mcp` — user only needs to paste the domain
21
+
22
+ ### Changed
23
+ - **upload chunk default**: 32 KiB → 64 KiB (halves HTTP round-trips)
24
+ - **download chunk default**: 128 KiB → 256 KiB
25
+ - **worker cadence default**: 100ms → 0ms (adaptive throttling handles rate-limiting)
26
+ - **download pipeline**: independent flusher coroutine eliminates head-of-line blocking where all workers stalled waiting for ordered disk writes
27
+ - **file manager UI**: complete redesign with Windows 11 Fluent-inspired dark theme (Mica-style backdrop, rounded corners, segmented toolbar, immersive layout)
28
+ - **settings page**: simplified from 6 cards to 3 focused sections; advanced settings in collapsible areas; MCP snippet now masks the API key
29
+ - **config field**: `url` replaced by `domain` — existing `url` values are auto-migrated on first load
30
+
31
+ ### Removed
32
+ - `settings.enabled` config (removed in 0.5.4, cleanup completed)
33
+ - `minIntervalMs` config (replaced by adaptive cadence)
34
+
5
35
  ## [0.5.4] - 2026-03-23
6
36
 
7
37
  ### Fixed
package/README.md CHANGED
@@ -1,123 +1,422 @@
1
- # tabby-bianbu-mcp
1
+ <div align="center">
2
2
 
3
- A Tabby plugin for Bianbu Cloud remote shell and file operations over MCP.
3
+ # <img src="https://img.icons8.com/fluency/48/cloud-development.png" width="32" height="32" /> tabby-bianbu-mcp
4
4
 
5
- It adds a dedicated Bianbu MCP settings page, a shell-like terminal tab, a file manager tab, remote health diagnostics, and a bundled installer push-upgrade flow for the matching Bianbu Cloud MCP server.
5
+ **Tabby terminal plugin for Bianbu Cloud &mdash; Shell & File Manager over MCP**
6
6
 
7
- ## Features
7
+ **Bianbu Cloud 的 Tabby 终端插件 &mdash; 基于 MCP 的远程 Shell 和文件管理器**
8
8
 
9
- - Bianbu MCP settings page inside Tabby
10
- - Bianbu Cloud Shell and Bianbu Cloud Files profiles
11
- - shell experience backed by MCP `run_command` and logical shell sessions
12
- - file explorer backed by MCP file tools
13
- - remote diagnostics: health, versions, capabilities, FILE_ROOT, transport mode
14
- - packaged remote installer asset with SHA-256 metadata and integrity verification
15
- - push latest installer to the remote host and trigger `up` or `repair`
16
- - chunked upload and download support for larger files
17
- - 32-slot request scheduling with 2 reserved interactive lanes and up to 30 transfer lanes
18
- - one active file transfer at a time with queued follow-up uploads/downloads
19
- - parallel offset-based file chunk transfers against the matching remote installer
20
- - atomic rename support through MCP `rename_path`
21
- - remote backup and `restore-latest` recovery support in the installer
9
+ [![npm version](https://img.shields.io/npm/v/tabby-bianbu-mcp?style=flat-square&color=cb3837&logo=npm&logoColor=white)](https://www.npmjs.com/package/tabby-bianbu-mcp)
10
+ [![license](https://img.shields.io/npm/l/tabby-bianbu-mcp?style=flat-square&color=blue)](LICENSE)
11
+ [![node](https://img.shields.io/node/v/tabby-bianbu-mcp?style=flat-square&color=339933&logo=node.js&logoColor=white)](package.json)
12
+ [![npm downloads](https://img.shields.io/npm/dm/tabby-bianbu-mcp?style=flat-square&color=orange)](https://www.npmjs.com/package/tabby-bianbu-mcp)
13
+ [![GitHub stars](https://img.shields.io/github/stars/niver2002/tabby-bianbu-mcp?style=flat-square&logo=github)](https://github.com/niver2002/tabby-bianbu-mcp)
22
14
 
23
- ## What this plugin is not
15
+ ---
24
16
 
25
- - not native SSH
26
- - not native SFTP
27
- - not a replacement for the upstream Bianbu Cloud gateway authentication layer
17
+ [English](#-overview) &nbsp;&bull;&nbsp; [中文](#-概述)
28
18
 
29
- The plugin talks to a Bianbu Cloud MCP endpoint such as:
19
+ </div>
30
20
 
31
- `https://<domain>/mcp`
21
+ <br/>
32
22
 
33
- Authentication relies on the existing upstream `X-API-KEY` layer. The plugin does not add a second proxy token layer.
23
+ ## <img src="https://img.icons8.com/fluency/24/info.png" width="20" /> Overview
34
24
 
35
- ## Settings
25
+ > A [Tabby](https://tabby.sh) plugin that brings **cloud shell** and **file manager** experiences to Bianbu Cloud virtual machines,
26
+ > powered by the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/).
27
+ > No SSH keys. No SFTP setup. Just MCP over HTTPS.
36
28
 
37
- The plugin stores these main settings under `bianbuMcp`:
29
+ <br/>
38
30
 
39
- - `enabled`
40
- - `name`
41
- - `url`
42
- - `apiKey`
43
- - `interactiveConcurrency`
44
- - `transferConcurrency`
45
- - `workerCadenceMs`
46
- - `maxRetries`
47
- - `retryBaseMs`
48
- - `uploadChunkBytes`
49
- - `downloadChunkBytes`
50
- - `notes`
51
- - `installerRemotePath`
52
- - `maintenanceAsRoot`
53
- - `reconnectPollMs`
54
- - `upgradeHealthTimeoutMs`
31
+ ## <img src="https://img.icons8.com/fluency/24/info.png" width="20" /> 概述
55
32
 
56
- ## Remote maintenance flow
33
+ > 一款 [Tabby](https://tabby.sh) 插件,为算能板卡宇宙(Bianbu Cloud) 虚拟机提供**云端 Shell** 和**文件管理器**体验,
34
+ > 基于 [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) 通信。
35
+ > 无需 SSH 密钥,无需 SFTP,仅需 HTTPS + MCP。
57
36
 
58
- The plugin package contains a bundled copy of `bianbu_agent_proxy.sh` plus release metadata.
37
+ <br/>
59
38
 
60
- When you click `Push latest installer + upgrade`:
39
+ ---
61
40
 
62
- 1. the plugin uploads the bundled installer to `installerRemotePath`
63
- 2. it makes the script executable remotely
64
- 3. it starts the installer in the background with `up` or `repair`
65
- 4. the launcher writes a remote status file when the installer exits, including the exit code and log path
66
- 5. the plugin waits for both installer completion and the expected remote health/version report before declaring success
67
- 6. if the cutover fails, the installer auto-rolls back to the previous backup instead of leaving the remote half-upgraded
41
+ ## Features / 功能特性
68
42
 
69
- After a maintenance run, the settings page can also download:
43
+ <table>
44
+ <thead>
45
+ <tr>
46
+ <th width="50%">English</th>
47
+ <th width="50%">中文</th>
48
+ </tr>
49
+ </thead>
50
+ <tbody>
51
+ <tr>
52
+ <td>
70
53
 
71
- - a local session log generated by the plugin
72
- - a remote session log bundle containing the status file and installer log
54
+ **🖥 Cloud Shell**
55
+ - Full terminal experience via MCP shell sessions
56
+ - Persistent sessions with working directory tracking
57
+ - Character-at-a-time input with prompt detection
73
58
 
74
- Both downloads use timestamped filenames and carry the maintenance session name for easier debugging.
59
+ </td>
60
+ <td>
75
61
 
76
- This is the intended commercial-release upgrade path because the client and remote installer ship together.
62
+ **🖥 云端 Shell**
63
+ - 通过 MCP Shell 会话实现完整终端体验
64
+ - 持久会话,自动跟踪工作目录
65
+ - 逐字符输入,智能提示符检测
77
66
 
78
- The remote installer now defaults `ENABLE_PASSWORDLESS_SUDO=false`. If you want unattended `as_root=true` maintenance through MCP, opt in explicitly and understand the security trade-off.
67
+ </td>
68
+ </tr>
69
+ <tr>
70
+ <td>
79
71
 
80
- ## Build
72
+ **📁 File Manager**
73
+ - Browse, create, rename, delete files & directories
74
+ - Inline text editor with save support
75
+ - Drag-and-drop file upload
76
+ - Keyboard shortcuts (F2, F5, Del, Ctrl+N, Ctrl+Shift+N)
77
+
78
+ </td>
79
+ <td>
80
+
81
+ **📁 文件管理器**
82
+ - 浏览、新建、重命名、删除文件和目录
83
+ - 内联文本编辑器,支持保存
84
+ - 拖拽上传文件
85
+ - 快捷键(F2 重命名 / F5 刷新 / Del 删除 / Ctrl+N 新文件 / Ctrl+Shift+N 新文件夹)
86
+
87
+ </td>
88
+ </tr>
89
+ <tr>
90
+ <td>
91
+
92
+ **⚡ High-Performance Transfers**
93
+ - Parallel chunked upload & download
94
+ - 32-slot request scheduler (2 interactive + 30 transfer)
95
+ - Configurable chunk sizes and concurrency
96
+ - Transfer queue with cancel support
97
+
98
+ </td>
99
+ <td>
100
+
101
+ **⚡ 高性能传输**
102
+ - 并行分块上传和下载
103
+ - 32 槽位请求调度器(2 交互 + 30 传输)
104
+ - 可配置分块大小和并发数
105
+ - 传输队列,支持取消
106
+
107
+ </td>
108
+ </tr>
109
+ <tr>
110
+ <td>
111
+
112
+ **🔧 Remote Maintenance**
113
+ - One-click push-upgrade from Tabby
114
+ - Auto-rollback on failed deployments
115
+ - Remote health diagnostics & version tracking
116
+ - Downloadable session logs (local + remote)
117
+
118
+ </td>
119
+ <td>
120
+
121
+ **🔧 远程维护**
122
+ - Tabby 内一键推送升级
123
+ - 部署失败自动回滚
124
+ - 远程健康诊断和版本追踪
125
+ - 可下载会话日志(本地 + 远端)
126
+
127
+ </td>
128
+ </tr>
129
+ </tbody>
130
+ </table>
131
+
132
+ <br/>
133
+
134
+ ---
135
+
136
+ ## 📦 Installation / 安装
137
+
138
+ <table>
139
+ <tr>
140
+ <td><b>npm (recommended)</b></td>
141
+ <td>
81
142
 
82
143
  ```bash
83
- npm install
84
- npm run build
144
+ npm install tabby-bianbu-mcp
85
145
  ```
86
146
 
87
- ## Test
147
+ </td>
148
+ </tr>
149
+ <tr>
150
+ <td><b>Tabby Plugin Manager</b></td>
151
+ <td>
88
152
 
89
- ```bash
90
- npm test
153
+ Search for `tabby-bianbu-mcp` in **Settings → Plugins → Install from npm**
154
+
155
+ 在 **设置 → 插件 → 从 npm 安装** 中搜索 `tabby-bianbu-mcp`
156
+
157
+ </td>
158
+ </tr>
159
+ </table>
160
+
161
+ <br/>
162
+
163
+ ---
164
+
165
+ ## 🚀 Quick Start / 快速上手
166
+
167
+ ### 1. Configure / 配置
168
+
169
+ Open **Settings → Bianbu MCP** in Tabby and fill in:
170
+
171
+ 在 Tabby 中打开 **设置 → Bianbu MCP**,填写:
172
+
173
+ | Field / 字段 | Description / 说明 | Example / 示例 |
174
+ |:---|:---|:---|
175
+ | **MCP URL** | Your MCP endpoint / MCP 端点地址 | `https://your-domain.example.com/mcp` |
176
+ | **X-API-KEY** | API key from Bianbu Cloud / API 密钥 | `your-api-key` |
177
+ | **Profile Name** | Display name / 显示名称 | `bianbu` |
178
+
179
+ ### 2. Connect / 连接
180
+
181
+ Click **"Test Connection"** to verify. Then use:
182
+
183
+ 点击 **"Test connection"** 验证。然后使用:
184
+
185
+ - **"Open Bianbu Cloud Shell"** — for terminal access / 打开终端
186
+ - **"Open Bianbu Cloud Files"** — for file management / 打开文件管理器
187
+
188
+ ### 3. MCP Snippet / MCP 配置片段
189
+
190
+ Copy the auto-generated JSON config for other MCP clients:
191
+
192
+ 复制自动生成的 JSON 配置,用于其他 MCP 客户端(如 Claude Desktop):
193
+
194
+ ```json
195
+ {
196
+ "mcpServers": {
197
+ "bianbu": {
198
+ "type": "http",
199
+ "url": "https://your-domain.example.com/mcp",
200
+ "headers": {
201
+ "X-API-KEY": "your-api-key"
202
+ }
203
+ }
204
+ }
205
+ }
91
206
  ```
92
207
 
93
- ## Release verification
208
+ <br/>
94
209
 
95
- ```bash
96
- npm run sync:remote-assets
97
- npm test
98
- npm run build
99
- npm pack --dry-run
210
+ ---
211
+
212
+ ## ⚙️ Settings Reference / 配置参考
213
+
214
+ <details>
215
+ <summary><b>Click to expand full settings table / 点击展开完整配置表</b></summary>
216
+
217
+ <br/>
218
+
219
+ | Key / 键 | Default / 默认值 | Description (EN) | 说明 (中文) |
220
+ |:---|:---|:---|:---|
221
+ | `name` | `bianbu` | Profile display name | 配置显示名称 |
222
+ | `url` | *(empty)* | MCP endpoint URL | MCP 端点 URL |
223
+ | `apiKey` | *(empty)* | `X-API-KEY` header value | API 密钥 |
224
+ | `interactiveConcurrency` | `2` | Interactive request slots | 交互请求并发槽位数 |
225
+ | `transferConcurrency` | `30` | Transfer request slots | 传输请求并发槽位数 |
226
+ | `workerCadenceMs` | `100` | Dispatch cycle interval (ms) | 调度周期间隔 (毫秒) |
227
+ | `maxRetries` | `2` | Max retry attempts | 最大重试次数 |
228
+ | `retryBaseMs` | `1000` | Base delay between retries (ms) | 重试基础间隔 (毫秒) |
229
+ | `uploadChunkBytes` | `32768` | Upload chunk size (bytes) | 上传分块大小 (字节) |
230
+ | `downloadChunkBytes` | `131072` | Download chunk size (bytes) | 下载分块大小 (字节) |
231
+ | `notes` | *(empty)* | User notes | 用户备注 |
232
+ | `installerRemotePath` | `/tmp/bianbu_agent_proxy.sh` | Remote installer path | 远端安装脚本路径 |
233
+ | `maintenanceAsRoot` | `true` | Run maintenance as root | 以 root 执行维护 |
234
+ | `reconnectPollMs` | `2000` | Health poll interval during upgrade | 升级时健康检测间隔 |
235
+ | `upgradeHealthTimeoutMs` | `120000` | Max wait time for upgrade (ms) | 升级最大等待时间 |
236
+
237
+ </details>
238
+
239
+ <br/>
240
+
241
+ ---
242
+
243
+ ## 🔄 Remote Maintenance / 远程维护
244
+
245
+ <table>
246
+ <tr><td width="50%">
247
+
248
+ ### English
249
+
250
+ The plugin bundles `bianbu_agent_proxy.sh` — a self-contained MCP server installer with **blue/green deployment** and **automatic rollback**.
251
+
252
+ **Upgrade flow:**
253
+ 1. Upload bundled installer → remote host
254
+ 2. Launch detached `up` or `repair` process
255
+ 3. Installer stages the new release, validates with `node`, then swaps atomically
256
+ 4. Plugin polls remote health until expected version appears
257
+ 5. On failure: previous installation is auto-restored
258
+
259
+ **After maintenance**, download session logs from the Settings page for debugging.
260
+
261
+ > **Note:** `ENABLE_PASSWORDLESS_SUDO` defaults to `false`. Opt in explicitly if needed.
262
+
263
+ </td><td width="50%">
264
+
265
+ ### 中文
266
+
267
+ 插件内置了 `bianbu_agent_proxy.sh` — 一个自包含的 MCP 服务器安装脚本,支持**蓝绿部署**和**自动回滚**。
268
+
269
+ **升级流程:**
270
+ 1. 上传内置安装脚本到远端主机
271
+ 2. 后台启动 `up` 或 `repair` 进程
272
+ 3. 安装脚本在暂存区准备新版本,用 `node` 验证后原子切换
273
+ 4. 插件持续轮询远端健康状态,直到出现预期版本号
274
+ 5. 如果失败:自动恢复到之前的安装
275
+
276
+ **维护完成后**,可在设置页面下载会话日志用于调试。
277
+
278
+ > **注意:** `ENABLE_PASSWORDLESS_SUDO` 默认为 `false`。如需无密码 sudo,请明确开启并了解安全影响。
279
+
280
+ </td></tr>
281
+ </table>
282
+
283
+ <br/>
284
+
285
+ ---
286
+
287
+ ## 🏗 Architecture / 架构
288
+
289
+ ```
290
+ ┌───────────────────────────────────────────────────────┐
291
+ │ Tabby Terminal │
292
+ │ ┌──────────────┐ ┌──────────────┐ ┌─────────────┐ │
293
+ │ │ Shell Tab │ │ Files Tab │ │ Settings Tab│ │
294
+ │ └──────┬───────┘ └──────┬───────┘ └──────┬──────┘ │
295
+ │ │ │ │ │
296
+ │ ┌──────┴─────────────────┴──────────────────┴──────┐ │
297
+ │ │ BianbuMcpService │ │
298
+ │ │ ┌─────────────────┐ ┌────────────────────────┐ │ │
299
+ │ │ │ Interactive Lane│ │ Transfer Lane │ │ │
300
+ │ │ │ (2 slots) │ │ (30 slots) │ │ │
301
+ │ │ └────────┬────────┘ └───────────┬────────────┘ │ │
302
+ │ │ └───────────┬───────────┘ │ │
303
+ │ │ │ │ │
304
+ │ │ JSON-RPC / HTTP(S) │ │
305
+ │ └───────────────────────┼──────────────────────────┘ │
306
+ └──────────────────────────┼─────────────────────────────┘
307
+
308
+ ┌──────▼──────┐
309
+ │ X-API-KEY │
310
+ │ Gateway │
311
+ └──────┬──────┘
312
+
313
+ ┌──────────▼──────────┐
314
+ │ bianbu-mcp-server │
315
+ │ (Express + MCP) │
316
+ │ │
317
+ │ 20 MCP Tools: │
318
+ │ health, shell, │
319
+ │ files, chunked │
320
+ │ transfers ... │
321
+ └─────────────────────┘
100
322
  ```
101
323
 
102
- ## Publish
324
+ <br/>
325
+
326
+ ---
327
+
328
+ ## 🛠 Development / 开发
103
329
 
104
330
  ```bash
105
- npm publish --access public
331
+ # Clone / 克隆
332
+ git clone https://github.com/niver2002/tabby-bianbu-mcp.git
333
+ cd tabby-bianbu-mcp
334
+
335
+ # Install dependencies / 安装依赖
336
+ npm install
337
+
338
+ # Build (sync assets → types → webpack)
339
+ npm run build
340
+
341
+ # Watch mode / 监视模式
342
+ npm run watch
343
+
344
+ # Run tests / 运行测试
345
+ npm test
346
+
347
+ # Full release verification / 完整发布验证
348
+ npm run verify
106
349
  ```
107
350
 
108
- ## Files included in the package
351
+ <br/>
352
+
353
+ ---
354
+
355
+ ## ⚠️ Security Considerations / 安全注意事项
356
+
357
+ <table>
358
+ <thead>
359
+ <tr>
360
+ <th width="50%">English</th>
361
+ <th width="50%">中文</th>
362
+ </tr>
363
+ </thead>
364
+ <tbody>
365
+ <tr>
366
+ <td>
367
+
368
+ - **Always use HTTPS** — API key is sent in `X-API-KEY` header; HTTP transmits it in plaintext
369
+ - **`as_root=true`** bypasses `FILE_ROOT` restrictions and uses `sudo -n`
370
+ - The **MCP snippet** in settings shows the real API key — don't share it publicly
371
+ - `pug@2.x` has known prototype pollution CVEs; this is a **build-time-only** dependency
372
+
373
+ </td>
374
+ <td>
375
+
376
+ - **始终使用 HTTPS** — API 密钥通过 `X-API-KEY` 头传输,HTTP 会明文传输
377
+ - **`as_root=true`** 会绕过 `FILE_ROOT` 限制,使用 `sudo -n` 执行
378
+ - 设置页的 **MCP 配置片段**会显示真实 API 密钥 — 不要公开分享
379
+ - `pug@2.x` 有已知的原型链污染漏洞,但这只是**构建时依赖**,不影响运行时
380
+
381
+ </td>
382
+ </tr>
383
+ </tbody>
384
+ </table>
385
+
386
+ <br/>
387
+
388
+ ---
389
+
390
+ ## 📋 Changelog / 变更日志
391
+
392
+ See [CHANGELOG.md](CHANGELOG.md) for the full release history.
393
+
394
+ 完整版本历史请查看 [CHANGELOG.md](CHANGELOG.md)。
395
+
396
+ <br/>
397
+
398
+ ---
399
+
400
+ ## 📄 License / 许可证
401
+
402
+ [MIT](LICENSE) &copy; [niver2002](https://github.com/niver2002)
403
+
404
+ ---
405
+
406
+ <div align="center">
407
+
408
+ **Made with** ❤️ **for the Bianbu Cloud community**
409
+
410
+ **为算能板卡宇宙社区倾心打造**
109
411
 
110
- - `dist/`
111
- - `assets/bianbu_agent_proxy.sh`
112
- - `assets/bianbu_agent_proxy.meta.json`
113
- - `README.md`
114
- - `LICENSE`
115
- - `CHANGELOG.md`
412
+ <br/>
116
413
 
117
- ## Source repository
414
+ <sub>
118
415
 
119
- https://github.com/niver2002/tabby-bianbu-mcp
416
+ [Report Bug / 反馈问题](https://github.com/niver2002/tabby-bianbu-mcp/issues) &nbsp;&bull;&nbsp;
417
+ [npm Package](https://www.npmjs.com/package/tabby-bianbu-mcp) &nbsp;&bull;&nbsp;
418
+ [Tabby Terminal](https://tabby.sh)
120
419
 
121
- ## License
420
+ </sub>
122
421
 
123
- MIT
422
+ </div>
@@ -5,5 +5,5 @@
5
5
  "serverVersion": "1.2.0",
6
6
  "sha256": "729442eb8fa2311e67415ed78d5dbf0c12e58281e075cd3cc43cbb74c595e5b9",
7
7
  "bytes": 67756,
8
- "generatedAt": "2026-03-23T02:15:11.160Z"
8
+ "generatedAt": "2026-03-23T02:58:26.632Z"
9
9
  }
@@ -4,7 +4,7 @@ export declare class BianbuMcpConfigProvider extends ConfigProvider {
4
4
  defaults: {
5
5
  bianbuMcp: {
6
6
  name: string;
7
- url: string;
7
+ domain: string;
8
8
  apiKey: string;
9
9
  maxRetries: number;
10
10
  retryBaseMs: number;
@@ -13,6 +13,7 @@ export declare class BianbuMcpConfigProvider extends ConfigProvider {
13
13
  workerCadenceMs: number;
14
14
  uploadChunkBytes: number;
15
15
  downloadChunkBytes: number;
16
+ maxConcurrentFiles: number;
16
17
  notes: string;
17
18
  installerRemotePath: string;
18
19
  maintenanceAsRoot: boolean;
@@ -48,6 +48,12 @@ export declare class BianbuCloudFilesTabComponent extends BaseTabComponent {
48
48
  private transferSeq;
49
49
  private transferQueue;
50
50
  private transferQueueRunning;
51
+ sortKey: 'name' | 'size' | 'date' | 'type';
52
+ sortAsc: boolean;
53
+ selectedIndices: Set<number>;
54
+ lastClickIndex: number;
55
+ detailPaneVisible: boolean;
56
+ advancedTransfersExpanded: boolean;
51
57
  constructor(injector: Injector, mcp: BianbuMcpService, notifications: NotificationsService, platform: PlatformService);
52
58
  ngOnInit(): void;
53
59
  get breadcrumbs(): string[];
@@ -56,6 +62,7 @@ export declare class BianbuCloudFilesTabComponent extends BaseTabComponent {
56
62
  onKeyDown(event: KeyboardEvent): void;
57
63
  refresh(): Promise<void>;
58
64
  applyFilter(): void;
65
+ sortItems(): void;
59
66
  navigateToInput(): void;
60
67
  navigate(path: string, pushHistory?: boolean): void;
61
68
  navigateBreadcrumb(index: number): void;
@@ -63,7 +70,7 @@ export declare class BianbuCloudFilesTabComponent extends BaseTabComponent {
63
70
  goForward(): void;
64
71
  goUp(): void;
65
72
  moveSelection(delta: number): void;
66
- selectItem(item: any): void;
73
+ selectItem(item: any, event?: MouseEvent): void;
67
74
  openItem(item: any): Promise<void>;
68
75
  saveSelected(): Promise<void>;
69
76
  openCreateDirectoryPrompt(): void;
@@ -93,6 +100,16 @@ export declare class BianbuCloudFilesTabComponent extends BaseTabComponent {
93
100
  private pumpTransferQueue;
94
101
  private runUploadTransfer;
95
102
  private runDownloadTransfer;
103
+ formatSize(bytes: number | null | undefined): string;
104
+ formatDate(iso: string | null | undefined): string;
105
+ fileIcon(item: any): string;
106
+ fileType(item: any): string;
107
+ toggleSort(key: 'name' | 'size' | 'date' | 'type'): void;
108
+ sortIndicator(key: string): string;
109
+ get totalSize(): string;
110
+ get selectionSummary(): string;
111
+ isSelected(index: number): boolean;
112
+ toggleDetailPane(): void;
96
113
  private clearPreview;
97
114
  baseName(path: string): string;
98
115
  private isTextLike;