staff-mcp 2.0.0 → 2.0.2

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +32 -32
  3. package/README_zh.md +32 -32
  4. package/dist/src/data/HttpDataSession.d.ts +0 -1
  5. package/dist/src/data/HttpDataSession.js +6 -5
  6. package/dist/src/data/HttpDataSession.js.map +1 -1
  7. package/dist/src/data/types.d.ts +2 -0
  8. package/dist/src/extensions/config.d.ts +1 -15
  9. package/dist/src/extensions/config.js +2 -36
  10. package/dist/src/extensions/config.js.map +1 -1
  11. package/dist/src/extensions/runtime.js +0 -5
  12. package/dist/src/extensions/runtime.js.map +1 -1
  13. package/dist/src/file-manager/transfers.d.ts +0 -2
  14. package/dist/src/file-manager/transfers.js +0 -14
  15. package/dist/src/file-manager/transfers.js.map +1 -1
  16. package/dist/src/index.js +17 -57
  17. package/dist/src/index.js.map +1 -1
  18. package/dist/src/reverse/SseTransport.d.ts +8 -0
  19. package/dist/src/reverse/SseTransport.js +84 -26
  20. package/dist/src/reverse/SseTransport.js.map +1 -1
  21. package/dist/src/server.js +8 -6
  22. package/dist/src/server.js.map +1 -1
  23. package/dist/src/terminal/pty.d.ts +1 -1
  24. package/dist/src/terminal/pty.js +7 -9
  25. package/dist/src/terminal/pty.js.map +1 -1
  26. package/dist/src/terminal/session.d.ts +0 -2
  27. package/dist/src/terminal/session.js +0 -18
  28. package/dist/src/terminal/session.js.map +1 -1
  29. package/dist/src/transports/http.d.ts +1 -10
  30. package/dist/src/transports/http.js +3 -48
  31. package/dist/src/transports/http.js.map +1 -1
  32. package/dist/src/transports/reverse.js +11 -0
  33. package/dist/src/transports/reverse.js.map +1 -1
  34. package/docs/file-manager.md +9 -8
  35. package/docs/terminal.md +5 -6
  36. package/package.json +1 -1
  37. package/dist/src/utils/server-activity.d.ts +0 -6
  38. package/dist/src/utils/server-activity.js +0 -46
  39. package/dist/src/utils/server-activity.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.2 — 2026-10-26
4
+
5
+ - Report reverse control closure with fixed reasons, POST status/byte count/duration and bounded network error codes, without logging payloads, credentials or URLs. No retry/replay behavior changes.
6
+ - Reuse workspace (`main`) and deduplicated allowed directories (`extra1`, `extra2`, …) for the optional file UI; explicit `-d` grants now appear there, with no automatic system-root authorization or separate Docker file-root mounts. Path, symlink, protected staging and write safety checks remain unchanged.
7
+ - Remove `--file-root` / `ExtensionOptions.fileRoots` and `--shell` / `ExtensionOptions.shell`. PTY selects an executable absolute `$SHELL`, otherwise `/bin/bash`, preserving normal HOME and workspace cwd. Removed flags fail as unknown options; update launch configurations without a compatibility fallback.
8
+ - Fix HTTP capacity internally at 64 sessions and remove MCP idle expiry, activity probes and `--http-max-sessions` / `--http-session-idle-ms` configuration. Pending startup and failed/pending cleanup still occupy capacity; DELETE, initialization failure, shutdown and data-session cleanup remain. Clients must close unused sessions. Child MCP limits/start/stop and reverse timeout defaults are unchanged.
9
+
10
+ ## 2.0.1 — 2026-10-26
11
+
12
+ - Resolve reverse data paths using the configured reverse origin, without requiring a public URL setting on chat-ai. Upgrade chat-ai and staff-mcp together; extension protocol versions remain v1.
13
+ - Preserve exact-session, same-origin, ticket and binding checks; HTTP/stdio endpoint behavior is unchanged.
14
+ - Require release tags to reference commits already contained in `master` before npm publishing.
15
+
3
16
  ## 2.0.0 — 2026-10-26
4
17
 
5
18
  ### Features
package/README.md CHANGED
@@ -8,16 +8,16 @@ It provides secure file management, shell execution, LSP-powered code intelligen
8
8
 
9
9
  ---
10
10
 
11
- ## 2.0.0 compatibility and upgrade
11
+ ## Compatibility and coordinated upgrades
12
12
 
13
- **Breaking release:** reverse connections and optional extensions require a matching chat-ai host: commit `66461d16090456d6f1fee21ce19088dceefd6658` or a later compatible version. Upgrade the host, staff-mcp, descriptors and UI assets together.
13
+ **Breaking release:** reverse connections and optional extensions require a matching chat-ai host: the host must implement reverse v1 and the session-relative data paths described below. Upgrade the host, staff-mcp, descriptors and UI assets together.
14
14
 
15
15
  Standard stdio/Streamable HTTP tools, resources and prompts remain supported. Extensions are **all off by default**; unavailable or incompatible optional capabilities must not break an otherwise healthy standard MCP connection. The old reverse handshake itself is incompatible, even with extensions disabled: extension degradation cannot replace the paired reverse upgrade. There is no old-protocol compatibility mode, automatic transfer resumption or input replay after disconnect.
16
16
 
17
17
  No Chat8/schema9/format7/share protocol2 data migration is required.
18
18
 
19
19
  1. Finish in-flight operations and back up your normal configuration; no data conversion is needed.
20
- 2. Upgrade the matching chat-ai host first, then staff-mcp 2.0.0, coordinating downtime for reverse connections.
20
+ 2. Upgrade the matching chat-ai host first, then staff-mcp 2.0.2, coordinating downtime for reverse connections.
21
21
  3. Reconnect MCP, reopen Apps and explicitly enable only the extensions you want.
22
22
 
23
23
  See [CHANGELOG](CHANGELOG.md) for the release summary.
@@ -28,13 +28,13 @@ Requires **Node.js 22.22.2 or newer**, including inside Docker images.
28
28
 
29
29
  Linux and Linux-host local Docker Engine are the primary full-extension environments, subject to the prerequisites below. Windows native standard MCP (stdio and HTTP) and Windows Docker standard MCP have been validated, not full extensions. Non-Linux Docker launchers disable optional extensions. **macOS has not been tested**; path translation is not a claim of platform support.
30
30
 
31
- Run the published package directly with an explicit version:
31
+ Run staff-mcp 2.0.2 with an explicit package version:
32
32
 
33
33
  ```bash
34
- npx --yes staff-mcp@2.0.0 --working-dir /path/to/your/project
34
+ npx --yes staff-mcp@2.0.2 --working-dir /path/to/your/project
35
35
  ```
36
36
 
37
- For a source checkout of staff-mcp 2.0.0, install dependencies and build before using the absolute entrypoint in the examples:
37
+ For a source checkout of staff-mcp 2.0.2, install dependencies and build before using the absolute entrypoint in the examples:
38
38
 
39
39
  ```bash
40
40
  npm ci
@@ -79,7 +79,7 @@ Add the following to your `claude_desktop_config.json`:
79
79
  ```
80
80
 
81
81
  ### 4. Reverse MCP Mode (Intranet Penetration)
82
- Connect outward from behind NAT/firewalls to chat-ai's existing Web entrypoint, without an inbound listener on staff. Control uses SSE + POST; remote-initiated raw HTTP GET/PUT carries file/terminal bytes on that same Web port. The administrator explicitly configures `MCP_REVERSE_URL` on chat-ai; it is not guessed from a private port. Reconnect creates fresh sessions and never replays tool calls, transfer handles or terminal input.
82
+ Connect outward from behind NAT/firewalls to chat-ai's existing Web entrypoint, without an inbound listener on staff. Control uses SSE + POST; remote-initiated raw HTTP GET/PUT carries file/terminal bytes on that same Web port. chat-ai provides the current session data path, which staff resolves against the existing `--ru` origin; no public-origin environment variable on chat-ai is required. Reconnect creates fresh sessions and never replays tool calls, transfer handles or terminal input.
83
83
 
84
84
  ```bash
85
85
  node /path/to/staff-mcp/dist/src/index.js -t reverse \
@@ -88,6 +88,8 @@ node /path/to/staff-mcp/dist/src/index.js -t reverse \
88
88
  --rn my-workstation
89
89
  ```
90
90
 
91
+ The reverse client resolves the exact session data path against its existing `--ru` origin; chat-ai does not need `MCP_REVERSE_URL` to enable Apps. Only that session path or the already-supported exact absolute URL is accepted, before any data request or business admission; ticket, binding, authorization and redirect restrictions remain unchanged. HTTP and stdio still use absolute data endpoints. Upgrade chat-ai and staff-mcp together for this fix; no version-specific compatibility layer or extra negotiation flag is added.
92
+
91
93
  ### 5. Authenticated HTTP Mode
92
94
 
93
95
  HTTP authentication is optional. Set `--ht` / `--http-token`
@@ -139,21 +141,25 @@ The two reverse transport sources (`src/reverse/SseTransport.ts` and chat-ai's `
139
141
 
140
142
  ## 🛠️ Core Capabilities
141
143
 
144
+ The runtime defaults below apply to staff-mcp 2.0.2.
145
+
142
146
  Extensions are **all off by default**. Use `--extensions files`, `--extensions terminal`, or `--extensions files,terminal`; apps/data dependencies and terminal's streams v1 manifest are added automatically, not selected separately. Disabled features advertise no manifest entry and register no corresponding UI Resource or business handler. With both off there is no extension manifest or application data listener/session; ordinary MCP tools and non-UI Resources remain. HTTP mode still opens its normal MCP listener.
143
147
 
144
148
  ```bash
145
149
  # Files only, with the default main root at --working-dir
146
150
  node /path/to/staff-mcp/dist/src/index.js --extensions files -w /workspace
147
151
  # Terminal only; does not enable the file app
148
- node /path/to/staff-mcp/dist/src/index.js --extensions terminal --shell /bin/bash
149
- # Both apps, with explicit file roots replacing the default main root
152
+ node /path/to/staff-mcp/dist/src/index.js --extensions terminal
153
+ # Both apps; explicitly authorize assets for tools and the file app
150
154
  node /path/to/staff-mcp/dist/src/index.js --extensions files,terminal -w /workspace \
151
- --file-root main=/workspace --file-root assets=/srv/assets
152
- # Explicit full-filesystem file access on a suitable Linux host (not a default)
153
- node /path/to/staff-mcp/dist/src/index.js --extensions files --file-root system=/
155
+ -d /srv/assets
156
+ # Explicit full-filesystem authorization for tools and files on a suitable Linux host (not a default)
157
+ node /path/to/staff-mcp/dist/src/index.js --extensions files -d /
154
158
  ```
155
159
 
156
- `--file-root id=path` may repeat; IDs must be unique lowercase letters/digits/hyphens, and relative paths resolve from the launching process cwd. Explicit roots replace, rather than append to, the default `main`. They affect the file app and its standard file Resources only when files is enabled, not the standard tools' `--working-dir` / `--allowed-dir` scope or terminal's default workspace cwd. Selecting `/` explicitly exposes the filesystem visible to the staff identity; it does not elevate privileges or create an OS security boundary. The library accepts [`ExtensionOptions`](src/extensions/config.ts): `{enabled?:('files'|'terminal')[],fileRoots?:{rootId:string,directory:string}[],shell?:string}`, with `enabled` defaulting to `[]`.
160
+ With files enabled, roots reuse the standard tool authorization: `main` is `--working-dir`, followed by the resolved, deduplicated `--allowed-dir` directories in order as `extra1`, `extra2`, etc. Explicit `-d` authorization is therefore visible in the file UI as well as tools; no system root is added automatically. Relative directories resolve from the launching process cwd. `-d /` explicitly authorizes the filesystem visible to staff for both tools and files, subject to OS permissions; it grants no OS privileges or shell sandbox. The library accepts [`ExtensionOptions`](src/extensions/config.ts): `{enabled?:('files'|'terminal')[]}`, with `enabled` defaulting to `[]`.
161
+
162
+ `--file-root`, `--shell`, `--http-max-sessions` and `--http-session-idle-ms` have been removed and now fail as unknown options. Remove them from launch configurations; use `-w` / `-d` for file authorization and the normal `SHELL` environment for shell selection. There is no compatibility fallback.
157
163
 
158
164
  ### Independent file workspace
159
165
 
@@ -163,7 +169,7 @@ New Apps reusing supported RPC/Resources, files or streams need only their own d
163
169
 
164
170
  ### Human terminal (explicit extension opt-in)
165
171
 
166
- `--extensions terminal` needs Linux, a loadable optional `node-pty`, an executable shell and negotiated streams/data v1 with a usable duplex dataSession over local stdio/Docker, direct HTTP or reverse. If Linux/native PTY/shell requirements are unavailable, staff warns on stderr and omits terminal/streams from discovery; standard MCP and an available files extension remain usable. The default disabled state never loads the native PTY. `--shell` accepts an absolute executable path; otherwise a valid absolute executable `$SHELL` is used, falling back to `/bin/bash`. The interactive shell honors normal startup files and inherits staff's environment except exact internal control keys documented in the [terminal contract](docs/terminal.md). chat-ai uses the existing current-chat MCP grant and same-origin browser requests, with no extra terminal permission switch or high-risk confirmation. Terminal follows the host site's HTTP/HTTPS deployment policy without a terminal-specific TLS gate or origin allowlist. HTTPS is recommended for the entire site to protect login sessions, tool calls and terminal traffic; allowing HTTP does not encrypt those requests.
172
+ `--extensions terminal` needs Linux, a loadable optional `node-pty`, an executable shell and negotiated streams/data v1 with a usable duplex dataSession over local stdio/Docker, direct HTTP or reverse. If Linux/native PTY/shell requirements are unavailable, staff warns on stderr and omits terminal/streams from discovery; standard MCP and an available files extension remain usable. The default disabled state never loads the native PTY. A valid absolute executable `$SHELL` is used, otherwise `/bin/bash`; if that is unavailable, terminal is disabled with a warning, without another shell fallback. The interactive shell honors normal startup files and inherits staff's environment, including normal `HOME`, except exact internal control keys documented in the [terminal contract](docs/terminal.md). chat-ai uses the existing current-chat MCP grant and same-origin browser requests, with no extra terminal permission switch or high-risk confirmation. Terminal follows the host site's HTTP/HTTPS deployment policy without a terminal-specific TLS gate or origin allowlist. HTTPS is recommended for the entire site to protect login sessions, tool calls and terminal traffic; allowing HTTP does not encrypt those requests.
167
173
 
168
174
  The PTY starts at the staff workspace (`main`) by default, independently of file roots, and runs as the staff process uid: its starting root/cwd is **not a sandbox** and shell filesystem/network effects are not restricted by file-tool path checks. Terminal bytes never enter model context or chat history. Each stream uses one same-origin browser-to-chat-ai WebSocket at `/api/mcp/app-stream` (`chat-app-stream-v1`) for input, output, resize, presence and real xterm consumption ACKs. The backend remains the shared HTTP dataSession. Browser presence refreshes every 10 seconds with a separate 120-second host deadline; the host generic stream module schedules remote renewal from each returned lease (staff defaults to 30 seconds). Opening the Shell App starts one PTY without another open button or confirmation. Exit, PTY failure or disconnection leaves the app shell for manual reconnect; ordinary hidden views keep read/ACK/presence but reject new input and resize. Actual page exit, close, revocation or expiry cleans up; descendant cleanup is best effort, not rollback.
169
175
 
@@ -181,7 +187,9 @@ Never pollute your host machine again. By simply appending `--docker <image>`, `
181
187
 
182
188
  For **supported Linux local Docker stdio with at least one effective extension enabled**, the existing wrapper reserves a private container port published to a random **127.0.0.1** host port and inspects only its own cidfile container. A read-only mount of a host **0600 metadata file** supplies the reachable base URL without rewriting stdin/stdout or asking users to discover container IPs. The application listener remains lazy until `data/v1/configure`. With all extensions off, `dataAuto` is false: no application-data port publication, metadata mount or bootstrap is created. Ordinary workspace/package mounts are unchanged. Non-Docker stdio also has no application listener before configure. HTTP/reverse add no such publication; disabled extensions create no dataSession, while HTTP retains its MCP listener.
183
189
 
184
- When files is enabled, each explicit Docker `--file-root id=path` bind-mounts that host path at `/opt/staff-file-roots/<id>`. Thus `--file-root system=/` explicitly binds the host root there, rather than referring only to the container root. This is a deliberate wide filesystem exposure, not automatic host privilege acquisition or a claim of support across all platforms; actual OS/container permissions and Docker topology still apply. Default file `main` and terminal cwd use the existing workspace mount.
190
+ Docker files reuse only the existing workspace (`/workspace`, root `main`) and allowed-directory bind mounts; no separate file-root mounts are created. Explicit `-d /` is deliberately broad host access through the allowed-directory mapping, subject to Docker/OS permissions and topology. Terminal cwd stays `/workspace`, independent of extra roots.
191
+
192
+ Docker reuses the allowed-directory mounts for both tools and the file UI. A host filesystem root such as `/` is mapped to `/opt/staff-allowed/root-N` because Docker forbids mounting onto container `/`; the inner `-d` and protected staging aliases use the mapped path.
185
193
 
186
194
  This application-data path requires a local daemon and the host client/wrapper sharing reachable loopback, with compatible bridge/port publication. Non-Linux Docker launchers and incompatible stdio data topologies (remote/TCP/SSH daemon or host/container networking) warn and omit optional extensions; they retain ordinary MCP control/tools when Docker itself can start. HTTP/reverse do not need this stdio mapping. A failed data bootstrap or unavailable data configuration must not terminate an otherwise healthy MCP connection: data-dependent Apps stay unavailable, with no legacy byte fallback or operation replay. Loopback publication is not isolation from hostile containers. Metadata stays 0600 and must be readable by the container uid; workspace/global-directory permissions and PTY ABI/libc still apply. No automatic chown, permission relaxation or browser-user identity switch is performed. Normal exit/signals still clean the owned container, publication and metadata; no cross-restart resource recovery is promised.
187
195
 
@@ -212,27 +220,17 @@ node /path/to/staff-mcp/dist/src/index.js --profile default
212
220
  node /path/to/staff-mcp/dist/src/index.js --profile android-reverse
213
221
  ```
214
222
 
215
- ### HTTP session capacity and idle expiry
216
-
217
- Each HTTP listener admits at most **64 sessions** by default. Starting sessions and sessions whose cleanup is still pending or failed count toward that limit. A full listener returns HTTP **429** for new initialization without evicting an existing session; successful cleanup frees the slot. Use `--http-max-sessions <positive integer>` to configure it. This is independent of `--max-mcp-sessions`, which limits managed child MCP servers.
218
-
219
- An HTTP session becomes eligible for cleanup after **30 minutes of observed inactivity** (`--http-session-idle-ms <milliseconds>`, 1..2147483647). A single sweep runs at most once per minute (or at the shorter configured timeout). A valid incoming MCP control message restarts the idle grace. Idle GET/SSE connections, server notifications, invalid HTTP requests and unauthenticated data attempts do not keep a session alive.
223
+ ### HTTP session capacity and lifetime
220
224
 
221
- Running request handlers (even after HTTP disconnect/cancellation), file preparation/valid leases/in-flight writes or commits, pending data setup/open channels, and owned PTYs or output/exit draining prevent idle eviction. These facts come from their existing owners; the idle policy does not renew business leases or equate cancellation with completion. After activity settles, the next idle observation starts a full grace interval. Completed result records and an empty configured data session alone do not pin the connection.
225
+ Each HTTP listener admits at most **64 sessions**, a fixed internal limit. Starting sessions and sessions whose cleanup is still pending or failed count toward that limit. A full listener returns HTTP **429** for new initialization without evicting an existing session; successful cleanup frees the slot. This is independent of `--max-mcp-sessions`, which still limits managed child MCP servers and retains explicit start/stop.
222
226
 
223
- An expired session ID returns HTTP **404**, including with an initialize body. Reconnect explicitly without the old ID; no tool, file commit or terminal input is replayed. Keeping an App iframe or an unsaved browser draft open does not pin an otherwise inactive server connection. The draft stays client-owned, but server operations require a new connection/App after expiry. This timeout applies only to HTTP listener sessions, not stdio or reverse. Docker HTTP forwards both flags. It is not a global quota for process-owned background commands, nested MCP sessions or LSP servers, and genuinely unsettled work/failed cleanup can continue occupying a slot.
224
-
225
- ```bash
226
- node /path/to/staff-mcp/dist/src/index.js -t http -p 3000 \
227
- --http-token your_secure_token_here \
228
- --http-max-sessions 64 --http-session-idle-ms 1800000
229
- ```
227
+ HTTP sessions have **no idle-expiry timer**. They remain until explicit DELETE/SDK close, failed initialization, transport closure or listener shutdown; clients should explicitly close unused sessions. An abandoned session can retain a capacity slot until closed or shutdown. File/terminal leases, data-consumption deadlines and resource cleanup still apply independently and do not close the MCP session merely because it is idle. Unknown or closed session IDs return HTTP **404**; reconnect explicitly without the old ID, with no replay of tools, file commits or terminal input. This is not a global quota for background commands, nested MCP sessions or LSP servers.
230
228
 
231
229
  ### Session shutdown
232
230
 
233
231
  Normal SDK close, stdio EOF, and CLI SIGINT/SIGTERM/SIGHUP close session resources before process exit. Docker host-pipe EOF follows the same path. Cleanup fences new work immediately, closes skills watchers and debounce timers, and waits for file staging, accepted commits, data listeners and owned PTY exit. Repeated close waits the same cleanup; failures are reported rather than called successful. Synchronous exit cleanup remains a fallback until asynchronous cleanup finishes. SIGKILL/crashes and daemonized descendants are not guaranteed cleanups, and an unsettled underlying operation can delay graceful exit.
234
232
 
235
- A new HTTP session requires a POST initialize request without an MCP session ID. Unknown or closed IDs return HTTP 404; GET/DELETE/malformed requests do not create replacement sessions. Failed initialization releases its resources. Listener shutdown closes active and initializing sessions. Reverse reconnect creates a fresh server after the previous session cleanup completes; it never reuses closed watchers or replays operations. HTTP listener capacity and idle expiry follow the policy above; stdio and reverse are not idle-evicted.
233
+ A new HTTP session requires a POST initialize request without an MCP session ID. Unknown or closed IDs return HTTP 404; GET/DELETE/malformed requests do not create replacement sessions. Failed initialization releases its resources. Listener shutdown closes active and initializing sessions. Reverse reconnect creates a fresh server after the previous session cleanup completes; it never reuses closed watchers or replays operations. HTTP listener capacity and lifetime follow the policy above; there is no listener idle eviction.
236
234
 
237
235
  ### Managed child MCP sessions
238
236
 
@@ -256,7 +254,7 @@ It will securely download, configure, and reload the skill without you lifting a
256
254
  | Option | Description | Default |
257
255
  | :--- | :--- | :--- |
258
256
  | `-w, --working-dir` | Staff workspace and default file root / terminal cwd; not an OS sandbox | `process.cwd()` |
259
- | `-d, --allowed-dir` | Extra directories for standard tools; does not add file-app roots | `[]` |
257
+ | `-d, --allowed-dir` | Extra directories authorized for tools and, when enabled, file-app roots | `[]` |
260
258
  | `-r, --profile` | The active profile for skills (e.g., android-reverse) | `default` |
261
259
  | `--enable-lsp` | Enable LSP capabilities (disabled by default) | `false` |
262
260
  | `--docker` | Run inside a Docker container using this image | `undefined` |
@@ -269,8 +267,6 @@ It will securely download, configure, and reload the skill without you lifting a
269
267
  | `--rt, --reverse-token` | Security token for Reverse MCP | `undefined` |
270
268
  | `--rn, --reverse-name` | Server name for Reverse MCP | `undefined` |
271
269
  | `--extensions` | Comma-separated `files`, `terminal`, or both; apps/data dependencies are automatic | `[]` (all off) |
272
- | `--file-root` | Repeatable `id=path`; explicit file roots replace the default and apply only when files is enabled | `main=<working-dir>` |
273
- | `--shell` | Absolute executable PTY shell path | Valid absolute `$SHELL`, otherwise `/bin/bash` |
274
270
  | `--proxy` | HTTP(S) proxy for supported HTTP clients and reverse control/data HTTP requests | `undefined` |
275
271
 
276
272
  ### 🌐 Proxy Support (Corporate Networks)
@@ -300,6 +296,10 @@ node /path/to/staff-mcp/dist/src/index.js --docker chineseastar/security:latest
300
296
 
301
297
  ---
302
298
 
299
+ ## Release workflow
300
+
301
+ Merge the verified release changes into `master` first. From an up-to-date `master` checkout, confirm that `package.json`, the root package-lock versions and the release tag agree; finalize the changelog, then create and push the new version tag. The npm workflow rejects a tag whose commit is not contained in remote `master`. Do not publish from a development branch or move an existing release tag. Merging code alone does not publish to npm.
302
+
303
303
  ## 📄 License
304
304
 
305
305
  MIT
package/README_zh.md CHANGED
@@ -8,16 +8,16 @@
8
8
 
9
9
  ---
10
10
 
11
- ## 2.0.0 兼容性与升级
11
+ ## 兼容性与配套升级
12
12
 
13
- **破坏性升级:** reverse 连接与可选扩展需要配套 chat-ai 宿主:commit `66461d16090456d6f1fee21ce19088dceefd6658` 或后续兼容版本。宿主、staff-mcp、描述符和 UI 资源须配套升级。
13
+ **破坏性升级:** reverse 连接与可选扩展需要配套 chat-ai 宿主:宿主须实现 reverse v1 与下文的会话相对数据路径合同。宿主、staff-mcp、描述符和 UI 资源须配套升级。
14
14
 
15
15
  标准 stdio/Streamable HTTP 的工具、资源和提示词继续保留。扩展**默认全关**;可选能力不可用或版本不匹配,不得拖垮健康的标准 MCP 连接。旧 reverse 握手本身不兼容,即使关闭所有扩展也不能解决,必须配套升级两端;不提供旧协议兼容模式,也不在断线后自动续传或重放输入。
16
16
 
17
17
  无需进行 Chat8/schema9/format7/分享 protocol2 数据迁移。
18
18
 
19
19
  1. 结束在途操作,备份正常配置;无需转换数据。
20
- 2. 先升级配套 chat-ai 宿主,再升级 staff-mcp 2.0.0,并协调 reverse 连接的停机窗口。
20
+ 2. 先升级配套 chat-ai 宿主,再升级 staff-mcp 2.0.2,并协调 reverse 连接的停机窗口。
21
21
  3. 重新连接 MCP、重新打开 App,仅显式启用需要的扩展。
22
22
 
23
23
  发布摘要见 [CHANGELOG](CHANGELOG.md)。
@@ -28,13 +28,13 @@
28
28
 
29
29
  Linux 与 Linux 宿主+本地 Docker Engine 是主要完整扩展环境,仍须满足下述前提。Windows 原生标准 MCP(stdio、HTTP)与 Windows Docker 标准 MCP 已验证,不代表完整扩展支持。非 Linux Docker launcher 禁用可选扩展。**macOS 未实测**,路径转换能力不等于平台支持承诺。
30
30
 
31
- 可指定版本直接运行已发布包:
31
+ 可指定版本运行 staff-mcp 2.0.2:
32
32
 
33
33
  ```bash
34
- npx --yes staff-mcp@2.0.0 --working-dir /path/to/your/project
34
+ npx --yes staff-mcp@2.0.2 --working-dir /path/to/your/project
35
35
  ```
36
36
 
37
- 从 staff-mcp 2.0.0 源码 checkout 使用时,先安装依赖并构建,再使用以下示例中的绝对入口:
37
+ 从 staff-mcp 2.0.2 源码 checkout 使用时,先安装依赖并构建,再使用以下示例中的绝对入口:
38
38
 
39
39
  ```bash
40
40
  npm ci
@@ -79,7 +79,7 @@ node /path/to/staff-mcp/dist/src/index.js --docker chineseastar/security:latest
79
79
  ```
80
80
 
81
81
  ### 4. Reverse MCP 模式 (内网穿透)
82
- staff 从 NAT/防火墙后主动连接 chat-ai 现有 Web 入口,无需本地入站 listener。控制使用 SSE + POST,文件/终端通过 remote 主动 raw HTTP GET/PUT 走同一 Web 端口。管理员在 chat-ai 显式配置 `MCP_REVERSE_URL`,不从私有端口猜公开地址。断线使用新 session,不重放工具调用、文件句柄或终端输入。
82
+ staff 从 NAT/防火墙后主动连接 chat-ai 现有 Web 入口,无需本地入站 listener。控制使用 SSE + POST,文件/终端通过 remote 主动 raw HTTP GET/PUT 走同一 Web 端口。chat-ai 提供当前会话的数据路径,staff 用已有 `--ru` 的 origin 解析;chat-ai 无需配置公网地址环境变量。断线使用新 session,不重放工具调用、文件句柄或终端输入。
83
83
 
84
84
  ```bash
85
85
  node /path/to/staff-mcp/dist/src/index.js -t reverse \
@@ -88,6 +88,8 @@ node /path/to/staff-mcp/dist/src/index.js -t reverse \
88
88
  --rn my-workstation
89
89
  ```
90
90
 
91
+ reverse 客户端用已有 `--ru` 的 origin 解析当前会话的精确数据路径,chat-ai 不再需要通过 `MCP_REVERSE_URL` 配置公网地址来启用 Apps。只接受该会话的精确路径或原本支持的精确绝对 URL,在请求数据、业务准入前完成校验。票据、binding、权限和禁止重定向的约束保持不变。HTTP/stdio 仍使用绝对数据地址。此修复按 chat-ai/staff-mcp 两端配套升级交付,不增加版本兼容分支、额外能力标记或探测。
92
+
91
93
  ### 5. 带身份验证的 HTTP 模式
92
94
 
93
95
  HTTP 身份验证是可选配置。设置 `--ht` / `--http-token` 即可开启,两者等价,建议使用强随机 token:
@@ -134,21 +136,25 @@ Reverse GET `<base>/sse`,携带 `Authorization: Bearer <token>` 与 `X-MCP-Ser
134
136
 
135
137
  ## 🛠️ 核心能力
136
138
 
139
+ 以下运行时默认值适用于 staff-mcp 2.0.2。
140
+
137
141
  扩展**默认全关**。通过 `--extensions files`、`--extensions terminal` 或 `--extensions files,terminal` 启用;apps/data 依赖及 terminal 对 streams v1 的声明自动计算,无需单独选择。禁用能力不声明对应 manifest 条目、不注册对应 UI Resource 或业务 handler;全关时无扩展 manifest、应用数据 listener/session,普通 MCP 工具和非 UI Resources 保留。HTTP 模式仍监听原 MCP 服务。
138
142
 
139
143
  ```bash
140
144
  # 仅文件应用,默认 main 根为 --working-dir
141
145
  node /path/to/staff-mcp/dist/src/index.js --extensions files -w /workspace
142
146
  # 仅终端,不隐式启用文件应用
143
- node /path/to/staff-mcp/dist/src/index.js --extensions terminal --shell /bin/bash
144
- # 两种应用,显式文件 roots 替代默认 main 根
147
+ node /path/to/staff-mcp/dist/src/index.js --extensions terminal
148
+ # 两种应用;显式授权 assets,工具与文件应用共用
145
149
  node /path/to/staff-mcp/dist/src/index.js --extensions files,terminal -w /workspace \
146
- --file-root main=/workspace --file-root assets=/srv/assets
147
- # 在适用 Linux 宿主上明确开放全盘文件访问(不是默认值)
148
- node /path/to/staff-mcp/dist/src/index.js --extensions files --file-root system=/
150
+ -d /srv/assets
151
+ # 在适用 Linux 宿主上明确向工具和文件应用授权全盘(不是默认值)
152
+ node /path/to/staff-mcp/dist/src/index.js --extensions files -d /
149
153
  ```
150
154
 
151
- `--file-root id=path` 可重复,id 须由小写字母/数字/连字符组成且唯一;相对路径按启动进程 cwd 解析。显式 roots **替代**而非追加默认 `main`,仅 files 启用时影响文件 App 及其标准文件 Resources,不改变标准工具的 `--working-dir` / `--allowed-dir` 范围或终端默认工作区 cwd。显式选择 `/` 开放的是 staff 身份实际可见的文件系统,不提权,也不是 OS 安全边界。库接口 [`ExtensionOptions`](src/extensions/config.ts) 为 `{enabled?:('files'|'terminal')[],fileRoots?:{rootId:string,directory:string}[],shell?:string}`,`enabled` 默认 `[]`。
155
+ files 启用时直接复用标准工具目录授权:`main` 是 `--working-dir`,其后按解析、去重后的 `--allowed-dir` 顺序生成 `extra1`、`extra2` 等根。显式 `-d` 授权因此也在文件 UI 可见,不自动添加系统根。相对目录按启动进程 cwd 解析。`-d /` 是向工具及文件应用显式授权 staff 身份可见的文件系统,仍受 OS 权限约束,不提权,也不是 shell 沙箱。库接口 [`ExtensionOptions`](src/extensions/config.ts) 为 `{enabled?:('files'|'terminal')[]}`,默认 `[]`。
156
+
157
+ `--file-root`、`--shell`、`--http-max-sessions`、`--http-session-idle-ms` 已删除,传入时明确报 unknown option。请从启动配置移除,文件目录改用 `-w` / `-d`,shell 使用正常的 `SHELL` 环境变量;不提供兼容回退。
152
158
 
153
159
  ### 独立文件工作区
154
160
 
@@ -158,7 +164,7 @@ node /path/to/staff-mcp/dist/src/index.js --extensions files --file-root system=
158
164
 
159
165
  ### 人工终端(显式启用扩展)
160
166
 
161
- `--extensions terminal` 须 Linux、可加载的 optional `node-pty`、可执行 shell 及协商 streams/data v1 后可用的 duplex dataSession,可经本机 stdio/本地 Docker、direct HTTP 或 reverse 接入。Linux/native PTY/shell 不可用时通过 stderr 明确警告,只禁用 terminal/streams,不让整个 MCP 启动失败;标准工具与可用的 files 扩展保留。默认关闭时不加载原生 PTY。`--shell` 接受绝对可执行路径,缺省使用有效的绝对 `$SHELL`,否则回退 `/bin/bash`。交互 shell 读取正常启动配置,继承 staff 环境,仅排除[终端合同](docs/terminal.md)列出的精确内部控制 key。chat-ai 沿用当前会话 MCP 授权及同源浏览器请求,不另设终端权限开关或高危确认。终端遵循宿主站点统一的 HTTP/HTTPS 部署策略,不另设终端专用 TLS 门槛或 origin 白名单。建议全站使用 HTTPS 保护登录会话、工具调用及终端流量;允许 HTTP 不代表这些请求已加密。
167
+ `--extensions terminal` 须 Linux、可加载的 optional `node-pty`、可执行 shell 及协商 streams/data v1 后可用的 duplex dataSession,可经本机 stdio/本地 Docker、direct HTTP 或 reverse 接入。Linux/native PTY/shell 不可用时通过 stderr 明确警告,只禁用 terminal/streams,不让整个 MCP 启动失败;标准工具与可用的 files 扩展保留。默认关闭时不加载原生 PTY。自动使用有效的绝对可执行 `$SHELL`,否则使用 `/bin/bash`;若仍不可用,警告并禁用终端,不再尝试其他 shell。交互 shell 读取正常启动配置,继承 staff 环境(包括正常的 `HOME`),仅排除[终端合同](docs/terminal.md)列出的精确内部控制 key。chat-ai 沿用当前会话 MCP 授权及同源浏览器请求,不另设终端权限开关或高危确认。终端遵循宿主站点统一的 HTTP/HTTPS 部署策略,不另设终端专用 TLS 门槛或 origin 白名单。建议全站使用 HTTPS 保护登录会话、工具调用及终端流量;允许 HTTP 不代表这些请求已加密。
162
168
 
163
169
  PTY 默认从 staff 工作区 `main` 启动,与文件 roots 独立,以 staff 的 OS uid 运行;root/cwd 只是起始目录,**不是 sandbox**;shell 的文件和网络副作用不受文件工具路径检查约束。终端输入输出不进入模型或聊天历史。每个 stream 的浏览器到 chat-ai 交互使用一条同源 WebSocket(`/api/mcp/app-stream`,`chat-app-stream-v1`),输入、输出、resize、presence 和真实 xterm 消费 ACK 共用连接,后端仍是公共 HTTP dataSession。浏览器每 10 秒刷新独立的 120 秒 host presence;host 通用 streams 模块按远端每次返回的租约调度续租,staff 默认 30 秒。点击 Shell App 自动启动一次 PTY,无额外打开按钮或确认;退出、PTY 错误或真实断链后保留 App 壳供手动重连。普通隐藏视图保留 read/ACK/presence,但拒绝新输入和 resize;真正离页、关闭、撤权或到期才清理,后代回收 best effort,不撤销副作用。
164
170
 
@@ -176,7 +182,9 @@ PTY 默认从 staff 工作区 `main` 启动,与文件 roots 独立,以 staff
176
182
 
177
183
  **受支持的 Linux 本地 Docker stdio 仅在至少实际启用一种扩展时**,由原 wrapper 自动预留容器私有端口到 **127.0.0.1 随机宿主端口**,仅 inspect 自己 cidfile 的容器;只读挂载宿主 **0600 metadata 文件**提供可达 baseUrl,不改 stdin/stdout,不手找容器 IP,应用 listener 等 `data/v1/configure` 才懒启动。全关时 `dataAuto` 为 false,不分配应用数据发布端口、metadata 挂载或 bootstrap;普通工作区/程序包挂载不变。非 Docker stdio 也在 configure 前无应用 listener。HTTP/reverse 不增加这项发布;全关无 dataSession,HTTP 原 MCP listener 保留。
178
184
 
179
- files 启用时,每个显式 Docker `--file-root id=path` 将对应宿主目录 bind-mount 到 `/opt/staff-file-roots/<id>`。因此 `--file-root system=/` 是明确把宿主根挂到该目录,而不只是指容器根;这是主动扩大文件可见范围,不是自动获得宿主权限或全平台支持承诺,仍受实际 OS/容器权限与 Docker 拓扑约束。默认文件 `main` 与终端 cwd 沿用现有工作区挂载。
185
+ Docker 文件根仅复用已有工作区(`/workspace`,`main`)与 allowed-directory 挂载,不创建第二套 file-root 挂载。显式 `-d /` 会通过已有授权目录映射主动扩大宿主文件访问范围,仍受 Docker/OS 权限与拓扑约束。终端 cwd 始终为 `/workspace`,不受额外文件根影响。
186
+
187
+ Docker 中普通工具与文件应用复用允许目录挂载。宿主文件系统根(如 `/`)会映射到 `/opt/staff-allowed/root-N`,因为 Docker 禁止挂载到容器 `/`;容器内 `-d` 和受保护暂存别名同时使用映射路径。
180
188
 
181
189
  此应用数据路径要求本地 daemon、宿主客户端与 wrapper 共享可达 loopback、兼容 bridge/端口发布。非 Linux Docker launcher,以及 stdio 的 remote/TCP/SSH daemon 或 host/container 网络等不匹配情况,会明确警告并禁用可选扩展;只要 Docker 自身能正常启动,基础 MCP 连接和工具仍保留。HTTP/reverse 不需要这项 stdio 映射。数据 bootstrap 或 configure 失败不得终止健康的 MCP 控制连接,依赖数据通道的 App 不开放,不回退旧字节协议、不重放操作。loopback 发布不是敌对容器隔离保证;metadata 保持 0600,容器 uid 须能读取,工作区/全局目录权限与 PTY ABI/libc 仍须匹配。不自动 chown、放宽权限或切换浏览器用户身份。正常退出及信号仍清理自有容器、映射和 metadata,不提供跨重启资源恢复。
182
190
 
@@ -208,27 +216,17 @@ node /path/to/staff-mcp/dist/src/index.js --profile android-reverse
208
216
  ```
209
217
 
210
218
 
211
- ### HTTP 会话容量与空闲回收
212
-
213
- 每个 HTTP 监听器默认最多 **64 个会话**。初始化中、清理未完成或清理失败的会话都计入名额。满额时新初始化返回 **429**,不驱逐已有会话;清理成功后才释放名额。使用 `--http-max-sessions <正整数>` 配置。它与限制受管子 MCP 的 `--max-mcp-sessions` 独立。
214
-
215
- HTTP 会话在观察到空闲 **30 分钟**后可被回收(`--http-session-idle-ms <毫秒>`,1..2147483647)。每个监听器仅一个扫描定时器,间隔最多一分钟,配置更短时使用该短间隔。有效的入站 MCP 控制消息重新开始空闲宽限期;单纯 GET/SSE 长连接、服务端通知、无效 HTTP 请求和未认证的数据请求不保活。
219
+ ### HTTP 会话容量与生命周期
216
220
 
217
- 未完成的请求 handler(即使 HTTP 断开或收到取消)、文件准备/有效租约/在途写入或提交、数据配置/通道,以及自有 PTY、输出排空或退出等待都会阻止空闲回收。判断从各资源已有状态派生,不续业务租约,不把取消视为执行已完成。活动结束后,下一次观察到空闲时重新给予完整宽限期。已结束的结果记录和没有通道的已配置数据会话本身不保活。
221
+ 每个 HTTP 监听器固定最多 **64 个会话**,为内部常量。初始化中、清理未完成或清理失败的会话都计入名额。满额时新初始化返回 **429**,不驱逐已有会话;清理成功后才释放名额。它与限制受管子 MCP 的 `--max-mcp-sessions` 独立,子 MCP 显式 start/stop 不变。
218
222
 
219
- 过期会话 ID 返回 **404**,即使请求体是 initialize 也一样。需不带旧 ID 显式重连,不重放工具、文件提交或终端输入。仅保留 App iframe 或未保存浏览器草稿不会保活服务端连接;草稿仍归客户端,但过期后服务端操作需要新连接/App。该策略仅作用于 HTTP 监听器会话,不回收 stdio/reverse;Docker HTTP 会转发两个参数。它不等于进程级后台命令、受管子 MCP 或 LSP 的全局配额,真正未完成的工作或清理失败仍可能持续占用名额。
220
-
221
- ```bash
222
- node /path/to/staff-mcp/dist/src/index.js -t http -p 3000 \
223
- --http-token your_secure_token_here \
224
- --http-max-sessions 64 --http-session-idle-ms 1800000
225
- ```
223
+ HTTP 会话**不按空闲超时回收**。显式 DELETE/SDK close、初始化失败、传输关闭或监听器 shutdown 才清理会话;客户端应主动关闭不再使用的连接。遗留会话可能持续占用名额,直到关闭或 shutdown。文件/终端租约、数据消费期限及资源清理仍独立生效,不因 MCP 空闲而主动关闭整个会话。未知或已关闭 ID 返回 **404**,需不带旧 ID 显式重连,不重放工具、文件提交或终端输入。此容量不是后台命令、受管子 MCP 或 LSP 的全局配额。
226
224
 
227
225
  ### 会话关闭
228
226
 
229
227
  正常 SDK close、stdio EOF 及 CLI SIGINT/SIGTERM/SIGHUP 都先清理会话资源,再退出进程;Docker 宿主管道 EOF 走同一路径。清理立即拒绝新操作,关闭 skills 监听器及防抖定时器,并等待文件暂存、已受理提交、数据监听器和自有 PTY 退出。重复 close 等待同一清理过程,失败明确报告,不伪报成功。异步清理结束前保留同步 exit 兜底。SIGKILL、崩溃和 daemonize 后代不保证清理,未兑现的底层操作也可能延迟正常退出。
230
228
 
231
- 新 HTTP 会话只能由不带 MCP session ID 的 POST initialize 创建。未知或已关闭 ID 返回 404;GET/DELETE/无效请求不会创建替代会话。初始化失败会释放资源,监听器停止时等待活动及初始化中的会话。reverse 重连等待旧会话清理后创建新 server,不复用已关闭的监听器、不重放操作。HTTP 监听器容量与空闲回收遵循上节规则,stdio/reverse 不按空闲回收。
229
+ 新 HTTP 会话只能由不带 MCP session ID 的 POST initialize 创建。未知或已关闭 ID 返回 404;GET/DELETE/无效请求不会创建替代会话。初始化失败会释放资源,监听器停止时等待活动及初始化中的会话。reverse 重连等待旧会话清理后创建新 server,不复用已关闭的监听器、不重放操作。HTTP 监听器容量与生命周期遵循上节规则,不再按空闲回收。
232
230
 
233
231
  ### 受管子 MCP 会话
234
232
 
@@ -252,7 +250,7 @@ node /path/to/staff-mcp/dist/src/index.js -t http -p 3000 \
252
250
  | 选项 | 描述 | 默认值 |
253
251
  | :--- | :--- | :--- |
254
252
  | `-w, --working-dir` | staff 工作区与默认文件 root / 终端 cwd;不是 OS 沙盒 | `process.cwd()` |
255
- | `-d, --allowed-dir` | 标准工具额外允许目录;不增加文件 App roots | `[]` |
253
+ | `-d, --allowed-dir` | 工具及已启用文件 App 共用的额外授权目录 | `[]` |
256
254
  | `-r, --profile` | 当前激活的技能档案/工种 (如 android-reverse) | `default` |
257
255
  | `--enable-lsp` | 启用 LSP 语言服务器功能 (默认禁用) | `false` |
258
256
  | `--docker` | 在指定的 Docker 镜像内运行 AI | `undefined` |
@@ -265,8 +263,6 @@ node /path/to/staff-mcp/dist/src/index.js -t http -p 3000 \
265
263
  | `--rt, --reverse-token` | Reverse MCP 的安全认证令牌 | `undefined` |
266
264
  | `--rn, --reverse-name` | Reverse MCP 的服务注册名称 | `undefined` |
267
265
  | `--extensions` | 逗号分隔的 `files`、`terminal` 或两者;自动计算 apps/data 依赖 | `[]`(全关) |
268
- | `--file-root` | 可重复 `id=path`;显式 roots 替代默认值,仅 files 启用时生效 | `main=<working-dir>` |
269
- | `--shell` | PTY shell 的绝对可执行路径 | 有效的绝对 `$SHELL`,否则 `/bin/bash` |
270
266
  | `--proxy` | 支持的 HTTP 客户端及 reverse 控制/数据 HTTP 请求 的 HTTP(S) 代理 | `undefined` |
271
267
 
272
268
  ### 🌐 代理支持(企业内网)
@@ -296,6 +292,10 @@ node /path/to/staff-mcp/dist/src/index.js --docker chineseastar/security:latest
296
292
 
297
293
  ---
298
294
 
295
+ ## 发版流程
296
+
297
+ 先将已验收的发布改动合入 `master`,再从已同步的 `master` checkout 核对 `package.json`、package-lock 根版本与目标标签一致,补齐 CHANGELOG 发布日期后创建并推送新版本标签。npm 工作流拒绝发布尚未包含于远端 `master` 的提交。禁止从开发分支发版或移动已发布标签;合并代码本身不会发布 npm。
298
+
299
299
  ## 📄 License
300
300
 
301
301
  MIT
@@ -10,7 +10,6 @@ export declare class HttpDataSession {
10
10
  private readonly endpoint?;
11
11
  private readonly maximum;
12
12
  constructor(options: HttpDataSessionOptions);
13
- hasActivity(): boolean;
14
13
  supports(purpose: ChannelPurpose, direction: Direction): boolean;
15
14
  private admit;
16
15
  private validateLink;
@@ -636,9 +636,6 @@ export class HttpDataSession {
636
636
  if (options.endpoint)
637
637
  this.endpoint = endpointUrl(options.endpoint);
638
638
  }
639
- hasActivity() {
640
- return this.pendingOpens.size > 0 || this.channels.size > 0;
641
- }
642
639
  supports(purpose, direction) {
643
640
  return (!this.stopped &&
644
641
  validPurpose(purpose) &&
@@ -652,6 +649,7 @@ export class HttpDataSession {
652
649
  validateLink(raw, open) {
653
650
  const link = raw;
654
651
  check(link &&
652
+ typeof link.endpoint === 'string' &&
655
653
  link.version === 1 &&
656
654
  typeof link.channel === 'string' &&
657
655
  /^[a-f0-9]{48}$/.test(link.channel) &&
@@ -662,8 +660,11 @@ export class HttpDataSession {
662
660
  link.expiresInMs > 0 &&
663
661
  link.expiresInMs <= (this.options.openTimeoutMs ?? 15_000) &&
664
662
  sameOpen(validOpen(link.open, this.options.supportsPurpose), open), 'Invalid data link');
665
- this.options.validateEndpoint(endpointUrl(link.endpoint));
666
- return { ...link, open };
663
+ const endpoint = this.options.resolveEndpoint
664
+ ? endpointUrl(this.options.resolveEndpoint(link.endpoint).href)
665
+ : endpointUrl(link.endpoint);
666
+ this.options.validateEndpoint(endpoint);
667
+ return { ...link, endpoint: endpoint.href, open };
667
668
  }
668
669
  create(open, supplied) {
669
670
  open = validOpen(open, this.options.supportsPurpose);
@@ -1 +1 @@
1
- {"version":3,"file":"HttpDataSession.js","sourceRoot":"","sources":["../../../src/data/HttpDataSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpDataSession.js","sourceRoot":"","sources":["../../../src/data/HttpDataSession.ts"],"names":[],"mappings":"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"}