dsh-gitbash-shell 0.38.5 → 0.39.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/src/shell.js CHANGED
@@ -1,12 +1,14 @@
1
1
  /**
2
- * dsh-gitbash-shell/shell — the Git Bash ctx.shell executor.
2
+ * dsh-gitbash-shell/shell — the Git Bash executor INSTANCE (route B, v0.39.0).
3
3
  *
4
- * The shipped Windows host composes `dsh-pwsh-sandbox` as ctx.shell and the
5
- * platform gates (`!!js process.platform === 'win32'`) disable the bash
6
- * stack on Windows, because a bare `bash` on Windows resolves to the WSL
7
- * shim in System32 — or to nothing at all when Git's bin directory is not on
8
- * PATH. This plugin restores the bash stack on Windows while pointing it at
9
- * Git for Windows' real bash.exe:
4
+ * Since route B this class is NOT mounted as the host `ctx.shell` service:
5
+ * the official PowerShell executor keeps that slot untouched (the DSH-Store
6
+ * catalog gate forbids bundle patches that disable official components, and
7
+ * replacing the shell executor IS overriding one). Instead the plugin
8
+ * constructs ONE private instance of this class in a PRIVATE cordis scope
9
+ * (`executorScope.ctx.plugin(GitBashSandboxExecutor)`, src/inline-tools.js)
10
+ * and hands it to the plugin's OWN bash tool (src/bash-tool.js). The class
11
+ * body is unchanged from its executor-row era:
10
12
  *
11
13
  * - extends @deepseek-ai/dsh-bash-sandbox so every confined-mode
12
14
  * (read-only / workspace-write) call keeps the exact sandbox policy,
@@ -33,8 +35,9 @@
33
35
  * full system environment plus the DSH_* snapshot exactly like the pwsh
34
36
  * executor did.
35
37
  *
36
- * Loaded as a class plugin: Cordis constructs it and the ShellExecutor base
37
- * registers `ctx.shell` (one implementation per context).
38
+ * Constructed as a cordis class plugin (static inject/Config honoured) —
39
+ * inside the PRIVATE scope only, so the base class's service registration
40
+ * lands there and never touches the root `ctx.shell` slot.
38
41
  */
39
42
 
40
43
  import { SandboxBashExecutor } from '@deepseek-ai/dsh-bash-sandbox'