dsh-plugin-wsl-env 0.1.8 → 0.1.9
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 +14 -0
- package/CONTRIBUTING.md +4 -3
- package/README.md +1 -0
- package/docs/ARCHITECTURE.md +1 -1
- package/docs/README.zh.md +1 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,20 @@ reference below points at that record's numbering.
|
|
|
12
12
|
|
|
13
13
|
## [Unreleased]
|
|
14
14
|
|
|
15
|
+
## [0.1.9] - 2026-10-02
|
|
16
|
+
|
|
17
|
+
The last test gap from the closure review: the documented opt-out. No runtime change.
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- `npm run probe:sandbox-off` turns the sandbox off on **both** providers and asserts
|
|
22
|
+
what the documentation promises: `sandboxMode` disappears on each of them, a command
|
|
23
|
+
outside any workspace root runs, the shell result claims no sandbox, and a filesystem
|
|
24
|
+
write outside the workspace root is not fenced (`operation=create`). Without it the
|
|
25
|
+
opt-out and a backend that is merely broken would look alike from the outside — which
|
|
26
|
+
is what `probe:missing-wsl` covers. 5 checks.
|
|
27
|
+
|
|
28
|
+
|
|
15
29
|
## [0.1.8] - 2026-10-02
|
|
16
30
|
|
|
17
31
|
A probe assertion for the one item the closure review had to record as unverifiable.
|
package/CONTRIBUTING.md
CHANGED
|
@@ -71,7 +71,8 @@ terminal if you would rather not see the prompt.
|
|
|
71
71
|
| `npm run probe:terminal` | the terminal provider | yes |
|
|
72
72
|
| `npm run probe:missing-wsl` | how a `wslPath` that cannot start is reported | yes |
|
|
73
73
|
| `npm run probe:picker` | the picker's root level, its refusals and its cap | yes |
|
|
74
|
-
| `npm run probe:mode` | which POSIX-mode facts survive the share | no; Windows Node |
|
|
74
|
+
| `npm run probe:mode` | which POSIX-mode facts survive the share | no; Windows Node |
|
|
75
|
+
| `npm run probe:sandbox-off` | the documented opt-out on both providers | yes |
|
|
75
76
|
|
|
76
77
|
Every script above is wired in `package.json`. `npm test` runs `lint:style`,
|
|
77
78
|
`test:syntax` and `test:unit` in that order. `prepublishOnly` runs `npm test` again
|
|
@@ -150,8 +151,8 @@ On Windows 11 + WSL2 (Ubuntu 26.04) the following has been verified:
|
|
|
150
151
|
Counts: 57 unit assertions on a bare checkout, plus 5 in `test/sandbox.test.mjs` which
|
|
151
152
|
need the `dsh-sandbox` peer and skip themselves without it; 19 filesystem-probe
|
|
152
153
|
assertions; 15 shell-probe checks; 9 picker checks; 6 missing-executable checks; 5 mode
|
|
153
|
-
checks and 10 sandbox expectations plus the recorded escape; and 3
|
|
154
|
-
assertions.
|
|
154
|
+
checks; 5 opt-out checks and 10 sandbox expectations plus the recorded escape; and 3
|
|
155
|
+
terminal assertions.
|
|
155
156
|
|
|
156
157
|
## Commit and pull request conventions
|
|
157
158
|
|
package/README.md
CHANGED
|
@@ -104,6 +104,7 @@ npm run probe:terminal # open a PTY through the terminal provider
|
|
|
104
104
|
npm run probe:missing-wsl # boot a profile whose wslPath cannot start (Windows + WSL only)
|
|
105
105
|
npm run probe:picker # list the picker's root level, refusals and its cap (Windows + WSL only)
|
|
106
106
|
npm run probe:mode # which POSIX-mode facts survive the share (Windows node only)
|
|
107
|
+
npm run probe:sandbox-off # prove sandbox: false unconfines both providers (Windows + WSL only)
|
|
107
108
|
```
|
|
108
109
|
|
|
109
110
|
There is nothing to install first: the package has no dependencies, and every module under test imports only Node builtins. CI runs `npm test` on Node 20, 22 and 24, on Linux and Windows, and `npm run test:coverage` on Node 24.
|
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -208,7 +208,7 @@ step with the checkout, and `npm run sync:windows` runs that script.
|
|
|
208
208
|
| Syntax pass | [`test/syntax.mjs`](../test/syntax.mjs) | no |
|
|
209
209
|
| Unit tests | `test/*.test.mjs` | no |
|
|
210
210
|
| Sandbox probe | [`test/probe/sandbox.sh`](../test/probe/sandbox.sh) | no; it applies the profile arguments directly |
|
|
211
|
-
| Harness probes | [`test/probe/run.sh`](../test/probe/run.sh), `terminal.sh`, `sandbox-shell.sh`, `picker.sh`, `missing-wsl.sh` | yes: Windows, WSL2, a mounted profile, and a linked checkout |
|
|
211
|
+
| Harness probes | [`test/probe/run.sh`](../test/probe/run.sh), `terminal.sh`, `sandbox-shell.sh`, `picker.sh`, `missing-wsl.sh`, `sandbox-off.sh` | yes: Windows, WSL2, a mounted profile, and a linked checkout |
|
|
212
212
|
| Host probes | [`test/probe/mode.sh`](../test/probe/mode.sh) | Windows Node, no harness |
|
|
213
213
|
| Probe plugins | the `*-probe.mjs` and `*-probe.yml` files in `test/probe/` | loaded by the scripts above |
|
|
214
214
|
|
package/docs/README.zh.md
CHANGED
|
@@ -104,6 +104,7 @@ npm run probe:terminal # 通过终端 provider 打开一个 PTY
|
|
|
104
104
|
npm run probe:missing-wsl # 启动一个 wslPath 无法启动的 profile(仅 Windows + WSL)
|
|
105
105
|
npm run probe:picker # 列出选择器的根级、拒绝路径与上限(仅 Windows + WSL)
|
|
106
106
|
npm run probe:mode # 哪些 POSIX 权限事实能穿过共享层(仅需 Windows node)
|
|
107
|
+
npm run probe:sandbox-off # 验证 sandbox: false 确实解除两侧约束(仅 Windows + WSL)
|
|
107
108
|
```
|
|
108
109
|
|
|
109
110
|
这个包没有依赖,被测模块只 import Node 内置模块,所以不需要先安装任何东西。CI 在 Linux 和 Windows 上用 Node 20、22、24 运行 `npm test`,并在 Node 24 上运行 `npm run test:coverage`。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-wsl-env",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "Run a DeepSeek Harness session against a WSL distro: a ctx.shell executor that runs commands inside the distro and a ctx.fs backend over its UNC share",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"probe:missing-wsl": "bash test/probe/missing-wsl.sh",
|
|
56
56
|
"probe:mode": "bash test/probe/mode.sh",
|
|
57
57
|
"probe:picker": "bash test/probe/picker.sh",
|
|
58
|
+
"probe:sandbox-off": "bash test/probe/sandbox-off.sh",
|
|
58
59
|
"probe:terminal": "bash test/probe/terminal.sh",
|
|
59
60
|
"probe:sandbox": "bash test/probe/sandbox.sh",
|
|
60
61
|
"probe:sandbox-shell": "bash test/probe/sandbox-shell.sh",
|