tabby-bianbu-mcp 0.3.2 → 0.5.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 ADDED
@@ -0,0 +1,33 @@
1
+ # Changelog
2
+
3
+ All notable changes to `tabby-bianbu-mcp` will be documented in this file.
4
+
5
+ ## [0.5.0] - 2026-03-19
6
+
7
+ ### Added
8
+ - 32-slot MCP request scheduler with 2 interactive lanes and up to 30 transfer lanes
9
+ - single-active-file queue so multiple file transfers run one file at a time
10
+ - explicit worker cadence setting for 100 ms dispatch cycles
11
+ - parallel offset-based chunk transfer support between the Tabby client and remote Bianbu MCP server
12
+
13
+ ### Changed
14
+ - upload chunk default changed to 32 KiB
15
+ - download chunk default changed to 128 KiB
16
+ - downloads now stream into Tabby's native download sink instead of browser Blob URLs
17
+ - remote installer now raises the Express JSON body limit explicitly and reports parallel chunk capability in health
18
+
19
+ ## [0.4.0] - 2026-03-19
20
+
21
+ ### Added
22
+ - release asset sync pipeline for the remote installer script
23
+ - remote diagnostics and push-upgrade workflow from the settings page
24
+ - persistent MCP shell session support with fallback for older servers
25
+ - packaged remote installer metadata for version comparison and release verification
26
+ - node-based release tests and verification scripts
27
+ - remote backup restore command via `restore-latest`
28
+
29
+ ### Changed
30
+ - file rename now prefers remote atomic rename support when available
31
+ - build pipeline now emits declaration files into `dist/`
32
+ - README expanded with release and remote maintenance guidance
33
+ - remote installer upgraded with richer health/version metadata, hash verification, safer backup behavior, and a secure default for passwordless sudo
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 niver2002
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,82 +1,115 @@
1
- # tabby-bianbu-mcp
2
-
3
- A Tabby plugin that adds polished Bianbu Cloud remote tabs backed by your MCP endpoint.
4
-
5
- What it provides:
6
- - a dedicated `Bianbu MCP` settings page inside Tabby
7
- - `Bianbu Cloud Shell` and `Bianbu Cloud Files` entries integrated into Tabby's tab/profile flow
8
- - a terminal-based shell experience backed by MCP `run_command`
9
- - an explorer-like file manager backed by MCP file tools
10
- - connection fields for MCP URL, `X-API-KEY`, pacing, retries, and notes
11
- - quick actions and copyable config snippets
12
-
13
- Important:
14
- - this plugin does **not** implement native SSH or native SFTP transport
15
- - instead, it uses your Bianbu Cloud MCP endpoint at `https://<domain>/mcp`
16
- - `Bianbu Cloud Shell` is backed by MCP `run_command`
17
- - `Bianbu Cloud Files` is backed by MCP file tools such as `list_directory`, `read_text_file`, `write_text_file`, `upload_binary_file`, and `download_binary_file`
18
-
19
- ## UI overview
20
-
21
- Inside Tabby, the plugin adds:
22
-
23
- ### 1. Bianbu MCP settings page
24
- Fields:
25
- - enable integration
26
- - profile name
27
- - MCP URL
28
- - X-API-KEY
29
- - request interval (ms)
30
- - max retries
31
- - retry base delay (ms)
32
- - notes
33
-
34
- ### 2. Bianbu Cloud Shell tab
35
- Features:
36
- - command input
37
- - working directory input
38
- - timeout input
39
- - `as_root` toggle
40
- - output history with stdout/stderr blocks
41
-
42
- ### 3. Bianbu Cloud Files tab
43
- Features:
44
- - directory browser
45
- - open text files
46
- - edit and save text files
47
- - create directories and files
48
- - upload files
49
- - download files
50
- - delete files/directories
51
- - `as_root` toggle
52
-
53
- ## Package
54
-
55
- - npm: `tabby-bianbu-mcp`
56
- - keyword: `tabby-plugin`
57
-
58
- ## Build
59
-
60
- ```bash
61
- npm install
62
- npm run build
63
- ```
64
-
65
- ## Publish
66
-
67
- ```bash
68
- npm publish --access public
69
- ```
70
-
71
- ## Installability in Tabby
72
-
73
- This package is intended to be discoverable by Tabby's plugin manager through npm publication.
74
- Because Tabby's plugin discovery behavior can lag behind npm indexing, it may take a bit of time before search results update.
75
-
76
- ## Source repository
77
-
78
- https://github.com/niver2002/tabby-bianbu-mcp
79
-
80
- ## License
81
-
82
- MIT
1
+ # tabby-bianbu-mcp
2
+
3
+ A Tabby plugin for Bianbu Cloud remote shell and file operations over MCP.
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.
6
+
7
+ ## Features
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
22
+
23
+ ## What this plugin is not
24
+
25
+ - not native SSH
26
+ - not native SFTP
27
+ - not a replacement for the upstream Bianbu Cloud gateway authentication layer
28
+
29
+ The plugin talks to a Bianbu Cloud MCP endpoint such as:
30
+
31
+ `https://<domain>/mcp`
32
+
33
+ Authentication relies on the existing upstream `X-API-KEY` layer. The plugin does not add a second proxy token layer.
34
+
35
+ ## Settings
36
+
37
+ The plugin stores these main settings under `bianbuMcp`:
38
+
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`
55
+
56
+ ## Remote maintenance flow
57
+
58
+ The plugin package contains a bundled copy of `bianbu_agent_proxy.sh` plus release metadata.
59
+
60
+ When you click `Push latest installer + upgrade`:
61
+
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. it polls the MCP endpoint until health returns
66
+ 5. it shows the reported remote script version and server version
67
+
68
+ This is the intended commercial-release upgrade path because the client and remote installer ship together.
69
+
70
+ 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.
71
+
72
+ ## Build
73
+
74
+ ```bash
75
+ npm install
76
+ npm run build
77
+ ```
78
+
79
+ ## Test
80
+
81
+ ```bash
82
+ npm test
83
+ ```
84
+
85
+ ## Release verification
86
+
87
+ ```bash
88
+ npm run sync:remote-assets
89
+ npm test
90
+ npm run build
91
+ npm pack --dry-run
92
+ ```
93
+
94
+ ## Publish
95
+
96
+ ```bash
97
+ npm publish --access public
98
+ ```
99
+
100
+ ## Files included in the package
101
+
102
+ - `dist/`
103
+ - `assets/bianbu_agent_proxy.sh`
104
+ - `assets/bianbu_agent_proxy.meta.json`
105
+ - `README.md`
106
+ - `LICENSE`
107
+ - `CHANGELOG.md`
108
+
109
+ ## Source repository
110
+
111
+ https://github.com/niver2002/tabby-bianbu-mcp
112
+
113
+ ## License
114
+
115
+ MIT
@@ -0,0 +1,9 @@
1
+ {
2
+ "fileName": "bianbu_agent_proxy.sh",
3
+ "sourceFile": "bianbu_agent_proxy.sh",
4
+ "scriptVersion": "1.2.0",
5
+ "serverVersion": "1.2.0",
6
+ "sha256": "62c492d026fe0e16e007d9f0bbeeaedfcbd55b457ca357a8d137aff9a24ce594",
7
+ "bytes": 63063,
8
+ "generatedAt": "2026-03-19T11:00:34.100Z"
9
+ }