@deepseek-ai/dsh-tool-pwsh 0.2.0-rc.2 → 0.2.1-alpha.1

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/README.i18n.yaml CHANGED
@@ -24,8 +24,8 @@
24
24
  en: addf35c4e607d33c
25
25
  zh: 081f511d6b5a79d6
26
26
  /deepseek-ai-dsh-tool-pwsh/use-this-package/running-a-command:
27
- en: 4f172bd02fa012f4
28
- zh: f19375d333d3aed8
27
+ en: 80195c9b61b29737
28
+ zh: 0a187f3f52814b90
29
29
  /deepseek-ai-dsh-tool-pwsh/use-this-package/foreground-commands-as-jobs:
30
30
  en: 4a487e48ef146846
31
31
  zh: 0a34dc49bffb03af
@@ -39,17 +39,17 @@
39
39
  en: 8d94a7381bca3fa9
40
40
  zh: f4bd2866fff6fa8d
41
41
  /deepseek-ai-dsh-tool-pwsh/understand-the-implementation/design-philosophy:
42
- en: 73b8e46017f19e22
43
- zh: 70f9f82b010b3dd0
42
+ en: 86a8ad5203f7e239
43
+ zh: 056c0d6d6ca5f36a
44
44
  /deepseek-ai-dsh-tool-pwsh/understand-the-implementation/source-map:
45
- en: 09557aa79cbe3a7d
46
- zh: e5f36b411d01f844
45
+ en: aa2adb29a0f27fcd
46
+ zh: 612829167064acd1
47
47
  /deepseek-ai-dsh-tool-pwsh/understand-the-implementation/rendering-and-exit-markers:
48
48
  en: facd01af9a403fec
49
49
  zh: 7a943dac19a01c39
50
50
  /deepseek-ai-dsh-tool-pwsh/further-exploration:
51
- en: 06ee35d909325d90
52
- zh: d01bbaf3fdbc444e
51
+ en: 8b2f3ab83ada2fe5
52
+ zh: b7803b21d5373ece
53
53
  /deepseek-ai-dsh-tool-pwsh/model-experience:
54
54
  en: 215e7ba838619b7b
55
55
  zh: a311da3843709f90
package/README.md CHANGED
@@ -52,7 +52,7 @@ The generated [configuration catalog](../../../docs/config-catalog.md#deepseek-a
52
52
 
53
53
  ### Running a command
54
54
 
55
- The tool executes `pwsh -Command <command>` and returns the combined output. Commands run in a fresh pwsh process every call, so state never persists — pass `workdir` instead of `cd`. Paths use native Windows form and environment variables are read with `$env:NAME`. A non-zero exit is reported as `[exit code: N]`; on Windows a force-killed command settles as `[exit code: 1]` without a signal marker, so the agent treats a bare exit 1 after an interruption as a termination, not a command failure. The description tells the agent to verify the resolved absolute target path before any delete or move and not to assign to automatic variables such as `$HOME`. Background runs, output truncation, and the `description`/`timeoutMs`/`workdir` arguments behave exactly as in [`dsh-tool-bash`](../tool-bash/README.md#running-long-commands-in-the-background), including job-owned cancellation during asynchronous shell preparation.
55
+ The tool executes `pwsh -Command <command>` and returns the combined output. Commands run in a fresh pwsh process every call, so state never persists — pass `workdir` instead of `cd`. Paths use native Windows form and environment variables are read with `$env:NAME`. A non-zero exit is reported as `[exit code: N]`; on Windows a force-killed command settles as `[exit code: 1]` without a signal marker, so the agent treats a bare exit 1 after an interruption as a termination, not a command failure. The schema lists `description` before `command` and asks the model to emit it first, without enforcing JSON member order. The description tells the agent to verify the resolved absolute target path before any delete or move and not to assign to automatic variables such as `$HOME`. Background runs, output truncation, and the `description`/`timeoutMs`/`workdir` arguments behave exactly as in [`dsh-tool-bash`](../tool-bash/README.md#running-long-commands-in-the-background), including job-owned cancellation during asynchronous shell preparation.
56
56
 
57
57
  ### Foreground commands as jobs
58
58
 
@@ -78,7 +78,7 @@ This section explains the design decisions behind the tool and points at the cod
78
78
 
79
79
  ### Design philosophy
80
80
 
81
- - **A deliberate twin of `dsh-tool-bash`.** Foreground and background execution, the managed environment, the sandbox escalation surface, and the marker/truncation rendering mirror the bash tool call-for-call, so consumers of one accept the other's wire shape ([pwsh tool bash parity Agent Note](../../../.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.md)).
81
+ - **A deliberate twin of `dsh-tool-bash`.** Foreground and background execution, the managed environment, the sandbox escalation surface, and the marker/truncation rendering mirror the bash tool call-for-call, so consumers of one accept the other's wire shape ([pwsh tool bash parity reference](README.md)).
82
82
  - **PowerShell-dialect contract.** The tool contract is PowerShell: native paths and `$env:` variables, executed via `pwsh -Command` with no intermediate shell.
83
83
  - **Windows sandbox facts taught in the description.** The ConstrainedLanguage and named-pipe contracts are Windows-restricted-token behavior; the gate for teaching them is "any confining executor is mounted", which is safe because every shipped pairing is win32-only.
84
84
  - **Non-zero exits are reported, not errored.** Only infrastructure failures (spawn errors, aborts) surface as tool errors, matching the bash story.
@@ -90,7 +90,6 @@ This section explains the design decisions behind the tool and points at the cod
90
90
  | [`src/index.ts`](src/index.ts) | Plugin entry: tool registration, prompt section, arg validation, escalation, request assembly |
91
91
  | [`src/background.ts`](src/background.ts) | Map a settled process onto generic job outcome vocabulary and render a ring read as a process read |
92
92
  | [`src/render.ts`](src/render.ts) | Model-facing result text: streams, markers, truncation notices (bash twin) |
93
- | — | No runtime invariant companion is published; this package exposes no independent event sequence or mutable data relation beyond contracts enforced at its owning seam. |
94
93
 
95
94
  ### Rendering and exit markers
96
95
 
@@ -109,7 +108,7 @@ Read these pages when the package-level contract is not enough. They move from t
109
108
  - [Bash executor subsystem](../../../docs/subsystems/shell.md) — request/spec vocabulary, results, and background processes.
110
109
  - [shell-env](../shell-env/README.md) — the managed `DSH_*` environment every call receives.
111
110
  - [tool-jobs](../../jobs/tool-jobs/README.md) — `job_output`, `job_list`, and `job_kill` controls for background runs.
112
- - [pwsh tool bash parity Agent Note](../../../.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.md) — why the tool mirrors the bash tool.
111
+ - [historical pwsh tool bash parity Agent Note](../../../.agents/notes/archived/feature/2026-08-02-pwsh-tool-bash-parity.md) — why the tool mirrors the bash tool.
113
112
  - [Windows ACL restricted-token sandbox Agent Note](../../../.agents/notes/implemented/feature/2026-08-08-windows-acl-restricted-token-sandbox.md) — the language-mode and named-pipe contracts.
114
113
  - [Generated tool catalog](../../../docs/tool-catalog.md#deepseek-aidsh-tool-pwsh) — the exact `pwsh` argument schema.
115
114
  - [Generated configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-tool-pwsh) — every accepted config field and its source declaration.
package/README.zh.md CHANGED
@@ -52,7 +52,7 @@ kind: "package-reference"
52
52
 
53
53
  ### 运行命令
54
54
 
55
- 工具执行 `pwsh -Command <command>` 并返回合并后的输出。命令每次调用都运行在全新 pwsh 进程中,因此状态从不保留——请传 `workdir` 而不是 `cd`。路径使用原生 Windows 形式,环境变量用 `$env:NAME` 读取。非零退出以 `[exit code: N]` 报告;在 Windows 上,强制终止的命令以 `[exit code: 1]` 结算且没有信号标记,因此 agent 把中断后的裸 exit 1 当作终止而非命令失败。工具描述要求 agent 在任何删除或移动前校验解析后的绝对目标路径,并且不要给 `$HOME` 等自动变量赋值。后台运行、输出截断以及 `description`/`timeoutMs`/`workdir` 参数的行为与 [`dsh-tool-bash`](../tool-bash/README.zh.md#running-long-commands-in-the-background) 完全一致,包括异步 shell 准备过程中由任务负责的取消。
55
+ 工具执行 `pwsh -Command <command>` 并返回合并后的输出。命令每次调用都运行在全新 pwsh 进程中,因此状态从不保留——请传 `workdir` 而不是 `cd`。路径使用原生 Windows 形式,环境变量用 `$env:NAME` 读取。非零退出以 `[exit code: N]` 报告;在 Windows 上,强制终止的命令以 `[exit code: 1]` 结算且没有信号标记,因此 agent 把中断后的裸 exit 1 当作终止而非命令失败。schema 将 `description` 列在 `command` 前并要求模型先输出它,但不强制 JSON 成员顺序。工具描述要求 agent 在任何删除或移动前校验解析后的绝对目标路径,并且不要给 `$HOME` 等自动变量赋值。后台运行、输出截断以及 `description`/`timeoutMs`/`workdir` 参数的行为与 [`dsh-tool-bash`](../tool-bash/README.zh.md#running-long-commands-in-the-background) 完全一致,包括异步 shell 准备过程中由任务负责的取消。
56
56
 
57
57
  ### 前台命令即任务
58
58
 
@@ -78,7 +78,7 @@ kind: "package-reference"
78
78
 
79
79
  ### 设计理念
80
80
 
81
- - **`dsh-tool-bash` 的刻意孪生。** 前台与后台执行、受管环境、沙箱升权面以及标记/截断渲染都逐调用镜像 bash 工具,因此其中之一的消费方也能接受另一个的协议形状([pwsh 工具与 bash 对齐 Agent Note](../../../.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.zh.md))。
81
+ - **`dsh-tool-bash` 的刻意孪生。** 前台与后台执行、受管环境、沙箱升权面以及标记/截断渲染都逐调用镜像 bash 工具,因此其中之一的消费方也能接受另一个的协议形状([pwsh 工具与 bash 对齐 参考](README.zh.md))。
82
82
  - **PowerShell 方言约定。** 工具约定是 PowerShell:原生路径与 `$env:` 变量,经由 `pwsh -Command` 执行,没有中间 shell。
83
83
  - **Windows 沙箱事实写进描述。** ConstrainedLanguage 与命名管道约定是 Windows 受限令牌行为;教授它们的条件是「已挂载任意约束执行器」,之所以安全,是因为每个已发布的配对都是 win32-only。
84
84
  - **非零退出只报告、不失败。** 只有基础设施故障(spawn 错误、中止)才会作为工具错误暴露,与 bash 的故事一致。
@@ -90,7 +90,6 @@ kind: "package-reference"
90
90
  | [`src/index.ts`](src/index.ts) | 插件入口:工具注册、提示词区段、参数校验、升权、请求组装 |
91
91
  | [`src/background.ts`](src/background.ts) | 把已结算的进程映射为通用任务结果词汇,并把输出环读取渲染为进程读取 |
92
92
  | [`src/render.ts`](src/render.ts) | 模型侧结果文本:流、标记、截断通知(bash 孪生) |
93
- | — | 不发布运行时不变式伴生入口;除所属 seam 强制执行的约定外,本包不公开独立的事件序列或可变数据关系。 |
94
93
 
95
94
  ### 渲染与退出标记
96
95
 
@@ -109,7 +108,7 @@ kind: "package-reference"
109
108
  - [Bash 执行器子系统](../../../docs/subsystems/shell.zh.md)——请求/spec 词汇、结果与后台进程。
110
109
  - [shell-env](../shell-env/README.zh.md)——每次调用都会收到的受管 `DSH_*` 环境。
111
110
  - [tool-jobs](../../jobs/tool-jobs/README.zh.md)——后台运行的 `job_output`、`job_list` 与 `job_kill` 控制。
112
- - [pwsh 工具与 bash 对齐 Agent Note](../../../.agents/notes/implemented/feature/2026-08-02-pwsh-tool-bash-parity.zh.md)——为什么工具镜像 bash 工具。
111
+ - [历史pwsh 工具与 bash 对齐 Agent Note](../../../.agents/notes/archived/feature/2026-08-02-pwsh-tool-bash-parity.md)——为什么工具镜像 bash 工具。
113
112
  - [Windows ACL 受限令牌沙箱 Agent Note](../../../.agents/notes/implemented/feature/2026-08-08-windows-acl-restricted-token-sandbox.zh.md)——语言模式与命名管道约定。
114
113
  - [生成的工具目录](../../../docs/tool-catalog.zh.md#deepseek-aidsh-tool-pwsh)——`pwsh` 参数 schema 的确切内容。
115
114
  - [生成的配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-tool-pwsh)——每个受支持配置字段及其源声明。
package/lib/index.js CHANGED
@@ -252,9 +252,9 @@ function validatePwshArgs(args) {
252
252
  validateEscalationArgs(args.sandbox_permissions, args.justification);
253
253
  }
254
254
  function pwshDescription(windowsSandbox) {
255
- const base = "Execute a PowerShell command (`pwsh -Command`) and return its stdout/stderr. Each call runs in a fresh pwsh process; pass `workdir` instead of using `cd`. Paths use native Windows form (`C:\\...`); read environment variables with `$env:NAME`. Managed `$env:DSH_*` variables expose current harness environment facts. Long output is truncated to its tail; the full output is saved to a file whose path is reported when available. On Windows a force-killed command settles as `[exit code: 1]` without a signal marker — treat it as an interruption, not a command failure. Before any delete or move, verify that the resolved absolute target path is the intended one; never run it against a computed path you have not checked. Do not assign to automatic variables such as `$HOME`; variable names are case-insensitive, so `$home` is the same read-only variable. Commands may run under a file sandbox; a blocked file operation is reported as `[sandbox: file access denied under <mode> mode]`, a policy denial: do not retry another way.";
255
+ const base = "Execute a PowerShell command (`pwsh -Command`) and return its stdout/stderr. Each call runs in a fresh pwsh process; pass `workdir` instead of using `cd`. Paths use native Windows form (`C:\\...`); read environment variables with `$env:NAME`. Managed `$env:DSH_*` variables expose current harness environment facts. Long output is truncated to its tail; the full output is saved to a file whose path is reported when available. On Windows a force-killed command settles as `[exit code: 1]` without a signal marker — treat it as an interruption, not a command failure. Provide `description` before `command` in the arguments. Before any delete or move, verify that the resolved absolute target path is the intended one; never run it against a computed path you have not checked. Do not assign to automatic variables such as `$HOME`; variable names are case-insensitive, so `$home` is the same read-only variable. Commands may run under a file sandbox; a blocked file operation is reported as `[sandbox: file access denied under <mode> mode]`, a policy denial: do not retry another way.";
256
256
  if (!windowsSandbox) return base;
257
- return "Execute a PowerShell command (`pwsh -Command`) and return its stdout/stderr. Each call runs in a fresh pwsh process; pass `workdir` instead of using `cd`. Paths use native Windows form (`C:\\...`); read environment variables with `$env:NAME`. Managed `$env:DSH_*` variables expose current harness environment facts. Long output is truncated to its tail; the full output is saved to a file whose path is reported when available. On Windows a force-killed command settles as `[exit code: 1]` without a signal marker — treat it as an interruption, not a command failure. Before any delete or move, verify that the resolved absolute target path is the intended one; never run it against a computed path you have not checked. Do not assign to automatic variables such as `$HOME`; variable names are case-insensitive, so `$home` is the same read-only variable. Commands may run under a file sandbox; a blocked file operation is reported as `[sandbox: file access denied under <mode> mode]`, a policy denial: do not retry another way. Under the Windows sandbox, read-only pwsh runs in PowerShell ConstrainedLanguage mode, while workspace-write stays in FullLanguage unless host policy says otherwise. In read-only, prefer cmdlets and core types (`[string]`, `[datetime]`, `[regex]`, `[guid]`); .NET static calls (`[System.IO.*]::`, `[math]::`), `Add-Type`, COM objects, and reflection fail with \"only core types\" errors. `-f` formatting, property access, and core cmdlets work. In both confined modes, programs cannot open named pipes, so a command that captures another program's output through piped stdio (Node.js `child_process.spawn`/`exec` with the default `stdio: 'pipe'`) fails with EPERM, while `stdio: 'inherit'` and `stdio: 'ignore'` spawns work and PowerShell's own pipelines are unaffected. That EPERM is the documented boundary: do not retry the command another way — escalate the exact command once or restructure it to avoid capturing output.";
257
+ return "Execute a PowerShell command (`pwsh -Command`) and return its stdout/stderr. Each call runs in a fresh pwsh process; pass `workdir` instead of using `cd`. Paths use native Windows form (`C:\\...`); read environment variables with `$env:NAME`. Managed `$env:DSH_*` variables expose current harness environment facts. Long output is truncated to its tail; the full output is saved to a file whose path is reported when available. On Windows a force-killed command settles as `[exit code: 1]` without a signal marker — treat it as an interruption, not a command failure. Provide `description` before `command` in the arguments. Before any delete or move, verify that the resolved absolute target path is the intended one; never run it against a computed path you have not checked. Do not assign to automatic variables such as `$HOME`; variable names are case-insensitive, so `$home` is the same read-only variable. Commands may run under a file sandbox; a blocked file operation is reported as `[sandbox: file access denied under <mode> mode]`, a policy denial: do not retry another way. Under the Windows sandbox, read-only pwsh runs in PowerShell ConstrainedLanguage mode, while workspace-write stays in FullLanguage unless host policy says otherwise. In read-only, prefer cmdlets and core types (`[string]`, `[datetime]`, `[regex]`, `[guid]`); .NET static calls (`[System.IO.*]::`, `[math]::`), `Add-Type`, COM objects, and reflection fail with \"only core types\" errors. `-f` formatting, property access, and core cmdlets work. In both confined modes, programs cannot open named pipes, so a command that captures another program's output through piped stdio (Node.js `child_process.spawn`/`exec` with the default `stdio: 'pipe'`) fails with EPERM, while `stdio: 'inherit'` and `stdio: 'ignore'` spawns work and PowerShell's own pipelines are unaffected. That EPERM is the documented boundary: do not retry the command another way — escalate the exact command once or restructure it to avoid capturing output.";
258
258
  }
259
259
  /**
260
260
  * Resolve an explicit workdir first, making a relative one session-workspace-relative;
@@ -458,15 +458,15 @@ function apply(ctx, config = {}) {
458
458
  name: "pwsh",
459
459
  description: pwshDescription(escalationModes.length > 0),
460
460
  parameters: {
461
- command: {
461
+ description: {
462
462
  type: "string",
463
463
  required: true,
464
- description: "The PowerShell command to execute."
464
+ description: "Clear, concise description of what this command does in active voice, 5-10 words (shown in the UI). Examples: \"ls\" → \"List files in current directory\"; \"git status\" → \"Show working tree status\"; \"Get-Process\" → \"List running processes\"."
465
465
  },
466
- description: {
466
+ command: {
467
467
  type: "string",
468
468
  required: true,
469
- description: "Clear, concise description of what this command does in active voice, 5-10 words (shown in the UI). Examples: \"ls\" → \"List files in current directory\"; \"git status\" → \"Show working tree status\"; \"Get-Process\" → \"List running processes\"."
469
+ description: "The PowerShell command to execute."
470
470
  },
471
471
  timeoutMs: {
472
472
  type: "number",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-tool-pwsh",
3
3
  "description": "Model-facing pwsh tool over the bash executor seam",
4
- "version": "0.2.0-rc.2",
4
+ "version": "0.2.1-alpha.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,41 +27,41 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "peerDependencies": {
30
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
31
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
32
- "@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
33
- "@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.2",
34
- "@deepseek-ai/dsh-shell": "0.2.0-rc.2",
35
- "@deepseek-ai/dsh-shell-env": "0.2.0-rc.2",
36
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
37
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
38
- "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
39
- "@deepseek-ai/dsh-jobs": "0.2.0-rc.2",
40
- "@deepseek-ai/cordis": "~4.0.4"
30
+ "@deepseek-ai/cordis": "~4.0.5-alpha.1",
31
+ "@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
32
+ "@deepseek-ai/dsh-jobs": "0.2.1-alpha.1",
33
+ "@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
34
+ "@deepseek-ai/dsh-sandbox": "0.2.1-alpha.1",
35
+ "@deepseek-ai/dsh-sandbox-policy": "0.2.1-alpha.1",
36
+ "@deepseek-ai/dsh-shell": "0.2.1-alpha.1",
37
+ "@deepseek-ai/dsh-shell-env": "0.2.1-alpha.1",
38
+ "@deepseek-ai/dsh-system-prompt": "0.2.1-alpha.1",
39
+ "@deepseek-ai/dsh-tools": "0.2.1-alpha.1",
40
+ "@deepseek-ai/dsh-user-approval": "0.2.1-alpha.1"
41
41
  },
42
42
  "dependencies": {
43
- "@deepseek-ai/schemastery": "~3.18.4"
43
+ "@deepseek-ai/schemastery": "~3.18.5-alpha.1"
44
44
  },
45
45
  "devDependencies": {
46
- "@deepseek-ai/cordis": "~4.0.4",
47
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
48
- "@deepseek-ai/dsh-agent-loop": "0.2.0-rc.2",
49
- "@deepseek-ai/dsh-agent-loop-testkit": "0.2.0-rc.2",
50
- "@deepseek-ai/dsh-app-boot": "0.2.0-rc.2",
51
- "@deepseek-ai/dsh-jobs": "0.2.0-rc.2",
52
- "@deepseek-ai/dsh-jobs-local": "0.2.0-rc.2",
53
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
54
- "@deepseek-ai/dsh-pwsh-local": "0.2.0-rc.2",
55
- "@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
56
- "@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.2",
57
- "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
58
- "@deepseek-ai/dsh-shell": "0.2.0-rc.2",
59
- "@deepseek-ai/dsh-shell-env": "0.2.0-rc.2",
60
- "@deepseek-ai/dsh-subprocess-local": "0.2.0-rc.2",
61
- "@deepseek-ai/dsh-loader-smoke": "0.2.0-rc.2",
62
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
63
- "@deepseek-ai/dsh-tool-jobs": "0.2.0-rc.2",
64
- "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
65
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2"
46
+ "@deepseek-ai/cordis": "~4.0.5-alpha.1",
47
+ "@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
48
+ "@deepseek-ai/dsh-agent-loop": "0.2.1-alpha.1",
49
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.2.1-alpha.1",
50
+ "@deepseek-ai/dsh-app-boot": "0.2.1-alpha.1",
51
+ "@deepseek-ai/dsh-jobs-local": "0.2.1-alpha.1",
52
+ "@deepseek-ai/dsh-llm": "0.2.1-alpha.1",
53
+ "@deepseek-ai/dsh-jobs": "0.2.1-alpha.1",
54
+ "@deepseek-ai/dsh-loader-smoke": "0.2.1-alpha.1",
55
+ "@deepseek-ai/dsh-pwsh-local": "0.2.1-alpha.1",
56
+ "@deepseek-ai/dsh-sandbox": "0.2.1-alpha.1",
57
+ "@deepseek-ai/dsh-sandbox-policy": "0.2.1-alpha.1",
58
+ "@deepseek-ai/dsh-session-projection": "0.2.1-alpha.1",
59
+ "@deepseek-ai/dsh-shell": "0.2.1-alpha.1",
60
+ "@deepseek-ai/dsh-shell-env": "0.2.1-alpha.1",
61
+ "@deepseek-ai/dsh-subprocess-local": "0.2.1-alpha.1",
62
+ "@deepseek-ai/dsh-system-prompt": "0.2.1-alpha.1",
63
+ "@deepseek-ai/dsh-tools": "0.2.1-alpha.1",
64
+ "@deepseek-ai/dsh-tool-jobs": "0.2.1-alpha.1",
65
+ "@deepseek-ai/dsh-user-approval": "0.2.1-alpha.1"
66
66
  }
67
67
  }