@deepseek-ai/dsh-tool-pwsh 0.1.7-alpha.2 → 0.1.7-rc.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.
package/README.i18n.yaml CHANGED
@@ -1,6 +1,124 @@
1
- # Bilingual-pair consistency record (docs/i18n/README.md): the git blob hash of each
2
- # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
- # after editing either side, bring the other along and re-record with:
1
+ # Bilingual-pair consistency record for README.md (docs/i18n/README.md): per heading
2
+ # section, a hash of its English and Chinese blocks outside code blocks and generated regions.
3
+ # After editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/shell/tool-pwsh/README.md
5
- README.md: 26bf4e30eb03a6e1d36afa2a7c1ccd60a1673ac2
6
- README.zh.md: fbf9fc61ba09ba2bc88daebffe46c52a64877208
5
+ /:
6
+ en: 83e748b077469aac
7
+ zh: f858d23ea8c1c6ba
8
+ /deepseek-ai-dsh-tool-pwsh:
9
+ en: 7e214a666e7b1ef8
10
+ zh: d9166b57a6f54afd
11
+ /deepseek-ai-dsh-tool-pwsh/summary:
12
+ en: c0470c24b1056b6c
13
+ zh: 8d9fcd643367e1c9
14
+ /deepseek-ai-dsh-tool-pwsh/table-of-contents:
15
+ en: d152484eb41ac6b4
16
+ zh: 09388d293f9be9cb
17
+ /deepseek-ai-dsh-tool-pwsh/use-this-package:
18
+ en: a49b7ebce02d3c94
19
+ zh: 99c6cfbb42dbb6aa
20
+ /deepseek-ai-dsh-tool-pwsh/use-this-package/when-to-choose-it:
21
+ en: d274c33ae8a646f8
22
+ zh: 99e3e64e61735e50
23
+ /deepseek-ai-dsh-tool-pwsh/use-this-package/minimal-configuration:
24
+ en: addf35c4e607d33c
25
+ zh: 081f511d6b5a79d6
26
+ /deepseek-ai-dsh-tool-pwsh/use-this-package/running-a-command:
27
+ en: b36e58810dc2b808
28
+ zh: 8660bec08cda4592
29
+ /deepseek-ai-dsh-tool-pwsh/use-this-package/foreground-commands-as-jobs:
30
+ en: 4a487e48ef146846
31
+ zh: 0a34dc49bffb03af
32
+ /deepseek-ai-dsh-tool-pwsh/use-this-package/windows-specific-sandbox-behavior:
33
+ en: 76f3f791f53d1005
34
+ zh: e5b262db24e6eb83
35
+ /deepseek-ai-dsh-tool-pwsh/use-this-package/what-can-go-wrong:
36
+ en: c1a9cc1201ed3a89
37
+ zh: a43a659d350e9d4a
38
+ /deepseek-ai-dsh-tool-pwsh/understand-the-implementation:
39
+ en: 8d94a7381bca3fa9
40
+ zh: f4bd2866fff6fa8d
41
+ /deepseek-ai-dsh-tool-pwsh/understand-the-implementation/design-philosophy:
42
+ en: 73b8e46017f19e22
43
+ zh: 70f9f82b010b3dd0
44
+ /deepseek-ai-dsh-tool-pwsh/understand-the-implementation/source-map:
45
+ en: 09557aa79cbe3a7d
46
+ zh: e5f36b411d01f844
47
+ /deepseek-ai-dsh-tool-pwsh/understand-the-implementation/rendering-and-exit-markers:
48
+ en: facd01af9a403fec
49
+ zh: 7a943dac19a01c39
50
+ /deepseek-ai-dsh-tool-pwsh/further-exploration:
51
+ en: 06ee35d909325d90
52
+ zh: d01bbaf3fdbc444e
53
+ /deepseek-ai-dsh-tool-pwsh/model-experience:
54
+ en: 215e7ba838619b7b
55
+ zh: a311da3843709f90
56
+ /deepseek-ai-dsh-tool-pwsh/model-experience/system-prompt:
57
+ en: cf78b9dd5596495f
58
+ zh: bd44560f8c2435e8
59
+ /deepseek-ai-dsh-tool-pwsh/model-experience/system-prompt/what-the-model-sees:
60
+ en: ed8a75117d71cc5d
61
+ zh: 7b9119a5246d096e
62
+ /deepseek-ai-dsh-tool-pwsh/model-experience/system-prompt/what-the-model-sees/pwsh-guidance:
63
+ en: de907562b460fc1b
64
+ zh: 2a398555cc929dd3
65
+ /deepseek-ai-dsh-tool-pwsh/model-experience/system-prompt/token-effect:
66
+ en: 4fea242a5deec6d2
67
+ zh: 8dcbe863eb960a4d
68
+ /deepseek-ai-dsh-tool-pwsh/model-experience/system-prompt/kv-cache-effect:
69
+ en: 3959f5f66ff2f4be
70
+ zh: 66636c0d90becdb1
71
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-schemas:
72
+ en: 3039bc5e7a796b21
73
+ zh: 6b7a9eaf69c9ea53
74
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-schemas/what-the-model-sees:
75
+ en: 319b3a4512305a26
76
+ zh: fed6a1c70bf79a0e
77
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-schemas/token-effect:
78
+ en: 97cce067584eadff
79
+ zh: 54b1f5cd5899e7f3
80
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-schemas/kv-cache-effect:
81
+ en: a6768b4fdc27de21
82
+ zh: 6d1d9b8357441af8
83
+ /deepseek-ai-dsh-tool-pwsh/model-experience/foreground-result:
84
+ en: d83f1f25a3719c54
85
+ zh: 445ca808e28dc936
86
+ /deepseek-ai-dsh-tool-pwsh/model-experience/foreground-result/what-the-model-sees:
87
+ en: f3691c5a09006efe
88
+ zh: 4e9fb6880fb3b0df
89
+ /deepseek-ai-dsh-tool-pwsh/model-experience/foreground-result/token-effect:
90
+ en: b2018adbda15b8a7
91
+ zh: efa06f083800a36b
92
+ /deepseek-ai-dsh-tool-pwsh/model-experience/foreground-result/kv-cache-effect:
93
+ en: f5d5f97a153f7c70
94
+ zh: 31911b4f3506d6c8
95
+ /deepseek-ai-dsh-tool-pwsh/model-experience/background-result:
96
+ en: 3f23f9211197b0b9
97
+ zh: 8cff3c78249b66ff
98
+ /deepseek-ai-dsh-tool-pwsh/model-experience/background-result/what-the-model-sees:
99
+ en: a471e423bb4fd271
100
+ zh: 8949b37acf642e0c
101
+ /deepseek-ai-dsh-tool-pwsh/model-experience/background-result/token-effect:
102
+ en: 1480a7a9ec4e3a96
103
+ zh: c7ec0cee960c8c99
104
+ /deepseek-ai-dsh-tool-pwsh/model-experience/background-result/kv-cache-effect:
105
+ en: f5d5f97a153f7c70
106
+ zh: 31911b4f3506d6c8
107
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-errors:
108
+ en: 2d4f2c8605eccab3
109
+ zh: 67f1f0218f73c6bf
110
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-errors/what-the-model-sees:
111
+ en: f0802a10dbe0f7d2
112
+ zh: 80f8b312dcfc0065
113
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-errors/token-effect:
114
+ en: 243bad012dd99c7f
115
+ zh: 5ee74905020bd49a
116
+ /deepseek-ai-dsh-tool-pwsh/model-experience/tool-errors/kv-cache-effect:
117
+ en: f5d5f97a153f7c70
118
+ zh: 31911b4f3506d6c8
119
+ /deepseek-ai-dsh-tool-pwsh/known-limitations-and-deferred-work:
120
+ en: 7d165285266e6639
121
+ zh: 541e6daf5169e24c
122
+ /deepseek-ai-dsh-tool-pwsh/known-limitations-and-deferred-work/dev-note:
123
+ en: e67f633dc6fe7773
124
+ zh: 3bb0c20c93f16f98
package/README.md CHANGED
@@ -56,11 +56,11 @@ The tool executes `pwsh -Command <command>` and returns the combined output. Com
56
56
 
57
57
  ### Foreground commands as jobs
58
58
 
59
- With a job registry composed, a foreground command is registered with `ctx.jobs` at its start and the call waits on that job: the command is listed, streams through `job.list` and `job.follow`, and can be stopped from the Web task list for as long as it runs. A command that finishes within the timeout returns the ordinary foreground result and its job record leaves the registry with it, so the model never sees an id. A command that outlives the timeout keeps running as the job it already was, and the call returns `[still running after <timeoutMs>ms; moved to background job <id>]` plus the job hand-off guidance, seeded with one consuming read of the output so far — `job_output` continues exactly after it. A kill from outside the call (the human stopping the job) settles the foreground result with `[stopped: <reason>]` ahead of the exit marker, so the model reads the reason instead of a command failure; cancelling the call itself kills the job. Registration is best-effort: `promoteOnTimeout: false`, a missing job registry, or a registry that refuses the job at its start (the owner's job limit, no controller) run the command under the executor's deadline kill instead, and the tool description advertises the hand-over only when it holds.
59
+ With a job registry composed, a foreground command is registered with `ctx.jobs` at its start and the call waits on that job: the command is listed, streams through `job.list` and `job.follow`, and can be stopped from the Web task list for as long as it runs. A command that finishes within the timeout returns the ordinary foreground result and its job record leaves the registry with it, so the model never sees an id. A command that outlives the timeout keeps running as the job it already was, and the call returns `[still running after <timeoutMs>ms; moved to background job <id>]` plus the job hand-off guidance, seeded with one consuming read of the output so far — `job_output` continues exactly after it. A kill from outside the call (the human stopping the job) settles the foreground result with `[stopped: <reason>]` ahead of the exit marker, so the model reads the reason instead of a command failure; cancelling the call itself kills the job. Registration is best-effort: `promoteOnTimeout: false`, a missing job registry, or a registry that refuses the job at its start (the owner's job limit, no controller) run the command under the executor's deadline kill instead, and the `timeoutMs` parameter description advertises the hand-over only when it holds.
60
60
 
61
61
  ### Windows-specific sandbox behavior
62
62
 
63
- Under a sandboxing executor, denied commands report `[sandbox: file access denied under <mode> mode]`, and the same one-shot escalation path applies: retry the exact command once with `sandbox_permissions` plus a `justification` through user approval. The tool also teaches two Windows-restricted-token contracts in its description: read-only pwsh runs in ConstrainedLanguage (`.NET` static calls, `Add-Type`, COM, and reflection fail with "only core types" errors), and in both confined modes programs cannot open named pipes, so a command that captures another program's output through piped stdio fails with EPERM — escalate the exact command once or restructure it to avoid capturing output.
63
+ Under a sandboxing executor, denied commands report `[sandbox: file access denied under <mode> mode]`, and the same one-shot escalation path applies: retry the exact command once with `sandbox_permissions` plus a `justification` through user approval. The justification asks the model to use the language of the current user request. The tool also teaches two Windows-restricted-token contracts in its description: read-only pwsh runs in ConstrainedLanguage (`.NET` static calls, `Add-Type`, COM, and reflection fail with "only core types" errors), and in both confined modes programs cannot open named pipes, so a command that captures another program's output through piped stdio fails with EPERM — escalate the exact command once or restructure it to avoid capturing output.
64
64
 
65
65
  ### What can go wrong
66
66
 
@@ -143,7 +143,7 @@ Prefix-stable while the registration scope and prompt text are unchanged. Plugin
143
143
 
144
144
  #### What the model sees
145
145
 
146
- The model sees the generated [`pwsh` schema](../../../docs/tool-catalog.md#deepseek-aidsh-tool-pwsh). Agent-scoped tool restrictions can remove the definition for that agent.
146
+ The model sees the generated [`pwsh` schema](../../../docs/tool-catalog.md#deepseek-aidsh-tool-pwsh). Its justification asks the model to use the language of the current user request. Agent-scoped tool restrictions can remove the definition for that agent.
147
147
 
148
148
  #### Token effect
149
149
 
package/README.zh.md CHANGED
@@ -56,11 +56,11 @@ kind: "package-reference"
56
56
 
57
57
  ### 前台命令即任务
58
58
 
59
- 组合中有 job 注册表时,前台命令一启动就登记到 `ctx.jobs`,调用等待该任务:命令在运行期间始终被列出、经 `job.list` 与 `job.follow` 流式观看,并可从 Web 任务列表停止。在超时内完成的命令返回普通前台结果,其任务记录随结果一起离开注册表,模型从不看到 id。超过超时仍在运行的命令继续作为它本来就是的那个任务运行,调用返回 `[still running after <timeoutMs>ms; moved to background job <id>]` 加任务交接指引,并以一次消费式读取带上目前为止的输出——`job_output` 恰好从此处接续。来自调用之外的杀停(人在界面上停止任务)会让前台结果在退出标记之前带上 `[stopped: <reason>]`,模型读到的是原因而不是命令失败;取消调用本身则杀掉任务。登记是尽力而为的:`promoteOnTimeout: false`、缺少 job 注册表,或注册表在启动时拒绝该任务(持有者的任务上限、没有控制器)都会改为在执行器的 deadline 杀下运行命令,工具描述也只在交接语义成立时才宣传它。
59
+ 组合中有 job 注册表时,前台命令一启动就登记到 `ctx.jobs`,调用等待该任务:命令在运行期间始终被列出、经 `job.list` 与 `job.follow` 流式观看,并可从 Web 任务列表停止。在超时内完成的命令返回普通前台结果,其任务记录随结果一起离开注册表,模型从不看到 id。超过超时仍在运行的命令继续作为它本来就是的那个任务运行,调用返回 `[still running after <timeoutMs>ms; moved to background job <id>]` 加任务交接指引,并以一次消费式读取带上目前为止的输出——`job_output` 恰好从此处接续。来自调用之外的杀停(人在界面上停止任务)会让前台结果在退出标记之前带上 `[stopped: <reason>]`,模型读到的是原因而不是命令失败;取消调用本身则杀掉任务。登记是尽力而为的:`promoteOnTimeout: false`、缺少 job 注册表,或注册表在启动时拒绝该任务(持有者的任务上限、没有控制器)都会改为在执行器的 deadline 杀下运行命令,`timeoutMs` 参数描述也只在交接语义成立时才宣传它。
60
60
 
61
61
  ### Windows 特有的沙箱行为
62
62
 
63
- 在沙箱执行器下,被拒绝的命令会报告 `[sandbox: file access denied under <mode> mode]`,并适用相同的单次升权路径:用 `sandbox_permissions` 加一句 `justification`,经用户审批后重试完全相同的命令一次。工具还会在其描述中教授两条 Windows 受限令牌约定:只读 pwsh 运行在 ConstrainedLanguage 中(`.NET` 静态调用、`Add-Type`、COM 与反射会以 "only core types" 错误失败);两种受限模式下程序都无法打开命名管道,因此通过管道 stdio 捕获另一程序输出的命令会以 EPERM 失败——请升权该确切命令一次,或重构命令以避免捕获输出。
63
+ 在沙箱执行器下,被拒绝的命令会报告 `[sandbox: file access denied under <mode> mode]`,并适用相同的单次升权路径:用 `sandbox_permissions` 加一句 `justification`,经用户审批后重试完全相同的命令一次。理由字段提示模型使用用户当前提问的语言。工具还会在其描述中教授两条 Windows 受限令牌约定:只读 pwsh 运行在 ConstrainedLanguage 中(`.NET` 静态调用、`Add-Type`、COM 与反射会以 "only core types" 错误失败);两种受限模式下程序都无法打开命名管道,因此通过管道 stdio 捕获另一程序输出的命令会以 EPERM 失败——请升权该确切命令一次,或重构命令以避免捕获输出。
64
64
 
65
65
  ### 可能出什么问题
66
66
 
@@ -143,7 +143,7 @@ Non-zero exits are reported as `[exit code: N]` markers; investigate failures be
143
143
 
144
144
  #### 模型看到什么
145
145
 
146
- 模型会看到生成的 [`pwsh` schema](../../../docs/tool-catalog.zh.md#deepseek-aidsh-tool-pwsh)。按 agent 作用域实施的工具限制可以移除该 agent 的定义。
146
+ 模型会看到生成的 [`pwsh` schema](../../../docs/tool-catalog.zh.md#deepseek-aidsh-tool-pwsh)。其理由字段提示模型使用用户当前提问的语言。按 agent 作用域实施的工具限制可以移除该 agent 的定义。
147
147
 
148
148
  #### Token 影响
149
149
 
package/lib/index.js CHANGED
@@ -2,7 +2,7 @@ import { isAbsolute, resolve } from "node:path";
2
2
  import z from "@deepseek-ai/schemastery";
3
3
  import { TOOL_ABORTED, defineTool } from "@deepseek-ai/dsh-tools";
4
4
  import { HarnessError } from "@deepseek-ai/dsh-llm";
5
- import { ESCALATION_TARGETS, approveEscalation, escalationHintMarker, sandboxDenialMarker, validateEscalationArgs } from "@deepseek-ai/dsh-sandbox";
5
+ import { ESCALATION_TARGETS, approveEscalation, escalationHintMarker, sandboxDenialMarker, sandboxPermissionsDescription, validateEscalationArgs } from "@deepseek-ai/dsh-sandbox";
6
6
  import { parseExitStatus } from "@deepseek-ai/dsh-shell";
7
7
  //#region lib/types/background.js
8
8
  /**
@@ -251,10 +251,10 @@ function validatePwshArgs(args) {
251
251
  if (args.timeoutMs !== void 0 && (!Number.isFinite(args.timeoutMs) || args.timeoutMs <= 0)) throw new Error(`invalid timeoutMs: expected a positive number, got ${JSON.stringify(args.timeoutMs)}`);
252
252
  validateEscalationArgs(args.sandbox_permissions, args.justification);
253
253
  }
254
- function pwshDescription(backgroundEnabled, escalationModes, promoteOnTimeout) {
255
- const base = "Execute a PowerShell command (`pwsh -Command`) and return its stdout/stderr. Each call runs in a fresh pwsh process: no state (cwd, variables, functions) persists between calls — pass `workdir` instead of using `cd`. Paths use native Windows form (`C:\\...`); read environment variables with `$env:NAME`. Non-zero exits are reported as `[exit code: N]`. Current harness environment facts are exposed through managed `$env:DSH_*` variables; inspect them when needed. Commands may run under a file sandbox; a blocked file operation is reported as `[sandbox: file access denied under <mode> mode]` — a policy denial, not a bug in the command; do not retry another way. 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. " + (backgroundEnabled ? "Set `run_in_background: true` for long-running commands: the call returns a job id immediately; read its output with `job_output` and stop it with `job_kill`." + (promoteOnTimeout ? " A foreground command that reaches its timeout is not killed: it moves to the background the same way, returning its job id and the output so far." : "") : "Background execution is not available; long-running commands must finish within the timeout.");
256
- if (escalationModes.length === 0) return base;
257
- return base + " 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. Attempting a command the sandbox may deny is safe and expected: run it and read the marker rather than assuming the denial. When a command is denied and a wider mode would let it succeed, escalate immediately in the same turn — the one sanctioned exception to a denial: retry the exact same command once with `sandbox_permissions` (the narrowest wider mode that suffices) plus a one-sentence `justification`. Do not detour through chat to ask permission first — the approval prompt raised by that retry is how the user consents. If the session states approval prompts are disabled, there is no exception: a denial is final — do not set `sandbox_permissions`. Never escalate speculatively: ground the request in a real denial — normally the one this command just hit; escalating up front is fine only when this session already denied the same access. A rejected escalation is final for that command — stop and explain, never work around it — but it does not forbid attempting or escalating other commands later.";
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. 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
+ 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. 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;
@@ -456,7 +456,7 @@ function apply(ctx, config = {}) {
456
456
  };
457
457
  return defineTool({
458
458
  name: "pwsh",
459
- description: pwshDescription(background, escalationModes, promote),
459
+ description: pwshDescription(escalationModes.length > 0),
460
460
  parameters: {
461
461
  command: {
462
462
  type: "string",
@@ -484,11 +484,11 @@ function apply(ctx, config = {}) {
484
484
  sandbox_permissions: {
485
485
  type: "string",
486
486
  enum: [...escalationModes],
487
- description: "The wider sandbox mode this command needs. Only valid as a one-shot retry of a command the sandbox just denied; requires justification and user approval."
487
+ description: sandboxPermissionsDescription("command")
488
488
  },
489
489
  justification: {
490
490
  type: "string",
491
- description: "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access."
491
+ description: "Required with sandbox_permissions: one sentence for the user explaining why this exact command needs the wider access. Use the language of the user’s current request."
492
492
  }
493
493
  } : {}
494
494
  },
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.1.7-alpha.2",
4
+ "version": "0.1.7-rc.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -28,40 +28,40 @@
28
28
  "license": "MIT",
29
29
  "peerDependencies": {
30
30
  "@deepseek-ai/cordis": "~4.0.4",
31
- "@deepseek-ai/dsh-agent": "0.1.7-alpha.2",
32
- "@deepseek-ai/dsh-jobs": "0.1.7-alpha.2",
33
- "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
34
- "@deepseek-ai/dsh-sandbox": "0.1.7-alpha.2",
35
- "@deepseek-ai/dsh-sandbox-policy": "0.1.7-alpha.2",
36
- "@deepseek-ai/dsh-shell": "0.1.7-alpha.2",
37
- "@deepseek-ai/dsh-shell-env": "0.1.7-alpha.2",
38
- "@deepseek-ai/dsh-system-prompt": "0.1.7-alpha.2",
39
- "@deepseek-ai/dsh-tools": "0.1.7-alpha.2",
40
- "@deepseek-ai/dsh-user-approval": "0.1.7-alpha.2"
31
+ "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
32
+ "@deepseek-ai/dsh-jobs": "0.1.7-rc.2",
33
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
34
+ "@deepseek-ai/dsh-sandbox": "0.1.7-rc.2",
35
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
36
+ "@deepseek-ai/dsh-shell": "0.1.7-rc.2",
37
+ "@deepseek-ai/dsh-shell-env": "0.1.7-rc.2",
38
+ "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
39
+ "@deepseek-ai/dsh-tools": "0.1.7-rc.2",
40
+ "@deepseek-ai/dsh-user-approval": "0.1.7-rc.2"
41
41
  },
42
42
  "dependencies": {
43
43
  "@deepseek-ai/schemastery": "~3.18.4"
44
44
  },
45
45
  "devDependencies": {
46
+ "@deepseek-ai/dsh-agent": "0.1.7-rc.2",
46
47
  "@deepseek-ai/cordis": "~4.0.4",
47
- "@deepseek-ai/dsh-agent": "0.1.7-alpha.2",
48
- "@deepseek-ai/dsh-agent-loop": "0.1.7-alpha.2",
49
- "@deepseek-ai/dsh-app-boot": "0.1.7-alpha.2",
50
- "@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-alpha.2",
51
- "@deepseek-ai/dsh-jobs-local": "0.1.7-alpha.2",
52
- "@deepseek-ai/dsh-loader-smoke": "0.1.7-alpha.2",
53
- "@deepseek-ai/dsh-llm": "0.1.7-alpha.2",
54
- "@deepseek-ai/dsh-jobs": "0.1.7-alpha.2",
55
- "@deepseek-ai/dsh-pwsh-local": "0.1.7-alpha.2",
56
- "@deepseek-ai/dsh-sandbox": "0.1.7-alpha.2",
57
- "@deepseek-ai/dsh-sandbox-policy": "0.1.7-alpha.2",
58
- "@deepseek-ai/dsh-session-projection": "0.1.7-alpha.2",
59
- "@deepseek-ai/dsh-shell": "0.1.7-alpha.2",
60
- "@deepseek-ai/dsh-shell-env": "0.1.7-alpha.2",
61
- "@deepseek-ai/dsh-subprocess-local": "0.1.7-alpha.2",
62
- "@deepseek-ai/dsh-system-prompt": "0.1.7-alpha.2",
63
- "@deepseek-ai/dsh-tool-jobs": "0.1.7-alpha.2",
64
- "@deepseek-ai/dsh-tools": "0.1.7-alpha.2",
65
- "@deepseek-ai/dsh-user-approval": "0.1.7-alpha.2"
48
+ "@deepseek-ai/dsh-agent-loop": "0.1.7-rc.2",
49
+ "@deepseek-ai/dsh-jobs": "0.1.7-rc.2",
50
+ "@deepseek-ai/dsh-agent-loop-testkit": "0.1.7-rc.2",
51
+ "@deepseek-ai/dsh-jobs-local": "0.1.7-rc.2",
52
+ "@deepseek-ai/dsh-llm": "0.1.7-rc.2",
53
+ "@deepseek-ai/dsh-app-boot": "0.1.7-rc.2",
54
+ "@deepseek-ai/dsh-loader-smoke": "0.1.7-rc.2",
55
+ "@deepseek-ai/dsh-sandbox": "0.1.7-rc.2",
56
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.2",
57
+ "@deepseek-ai/dsh-pwsh-local": "0.1.7-rc.2",
58
+ "@deepseek-ai/dsh-session-projection": "0.1.7-rc.2",
59
+ "@deepseek-ai/dsh-shell": "0.1.7-rc.2",
60
+ "@deepseek-ai/dsh-shell-env": "0.1.7-rc.2",
61
+ "@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.2",
62
+ "@deepseek-ai/dsh-system-prompt": "0.1.7-rc.2",
63
+ "@deepseek-ai/dsh-user-approval": "0.1.7-rc.2",
64
+ "@deepseek-ai/dsh-tools": "0.1.7-rc.2",
65
+ "@deepseek-ai/dsh-tool-jobs": "0.1.7-rc.2"
66
66
  }
67
67
  }