@deepseek-ai/dsh-tool-bash 0.1.2-rc.1 → 0.1.5-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
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write packages/shell/tool-bash/README.md
5
- README.md: a8cd3af0de6abcee46ec5e375d0b58674a372023
6
- README.zh.md: 9d8ad57e682cba3238836a2b5bfed506ffc02937
5
+ README.md: 5b38c0a0bad9e03be783ad8431cd06c2d3ba34d3
6
+ README.zh.md: 969ca02dfa9462d884f71cde7d8b34975c4a8cff
package/README.md CHANGED
@@ -9,7 +9,7 @@ English | [中文](README.zh.md)
9
9
 
10
10
  ## Summary
11
11
 
12
- `dsh-tool-bash` gives the agent a `bash` tool that runs commands through the mounted shell executor and returns stdout, stderr, and exit markers. Each call runs in a fresh shell no cwd, variables, or functions survive and `run_in_background` turns long-running commands into background jobs the agent collects with `job_output` and stops with `job_kill`. Every call runs with the managed `DSH_*` environment from `dsh-shell-env`, and under a sandboxing executor a denied command may be retried once with a wider `sandbox_permissions` mode plus a `justification` through user approval. Non-zero exits are reported, not failed, so the agent decides how to react. Mount it together with an executor provider such as `dsh-bash-local` or `dsh-bash-sandbox` and the `dsh-shell-env` plugin.
12
+ `dsh-tool-bash` lets an agent run one-shot `bash` commands and receive stdout, stderr, and exit markers. Each call uses a fresh shell, so cwd, variables, and functions do not persist; `run_in_background` starts long-running work that the agent can inspect with `job_output` and stop with `job_kill`. Commands receive the managed `DSH_*` environment, and sandbox denials can be retried once with wider `sandbox_permissions`, a `justification`, and user approval. Non-zero exits are reported as results, so the agent decides how to respond; use an executor such as `dsh-bash-local` or `dsh-bash-sandbox` and load `dsh-shell-env`.
13
13
 
14
14
  ## Table of Contents
15
15
 
@@ -78,7 +78,7 @@ This section explains the design decisions behind the tool and points at the cod
78
78
  ### Design philosophy
79
79
 
80
80
  - **Model-facing consumer of the shell seam.** The tool is the Consumer role of the bash capability: it registers the `bash` schema, renders results, and resolves per-call policy, while the executor seam owns process mechanics.
81
- - **Request from named args only.** The tool never exposes `stdin`, `env`, or `stdoutMaxBytes`; it builds each request from command/workdir/timeout/signal fields plus the registry-collected `dshEnv`, so model-supplied keys cannot replace managed values ([bash stdin/env Agent Note](../../../.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md)).
81
+ - **Request from named args only.** The tool never exposes `stdin`, `env`, or `stdoutMaxBytes`; it builds each request from command/workdir/timeout/signal fields plus the registry-collected `dshEnv`, so model-supplied keys cannot replace managed values.
82
82
  - **Non-zero exits are reported, not errored.** Only infrastructure failures (spawn errors, aborts) surface as tool errors; the model interprets exit codes and markers.
83
83
  - **Background work belongs to the job runtime.** A background call registers a process handle with `ctx.jobs`; ids, ownership, completion notices, and disposal are the runtime's, and this tool only maps bash exit and sandbox facts into job output.
84
84
 
@@ -112,7 +112,6 @@ Read these pages when the package-level contract is not enough. They move from t
112
112
  - [Bash executor subsystem](../../../docs/subsystems/shell.md) — request/spec vocabulary, results, and background processes.
113
113
  - [shell-env](../shell-env/README.md) — the managed `DSH_*` environment every call receives.
114
114
  - [tool-jobs](../../jobs/tool-jobs/README.md) — `job_output`, `job_list`, and `job_kill` controls for background runs.
115
- - [bash stdin/env Agent Note](../../../.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.md) — why the tool exposes no stdin or env.
116
115
  - [sandbox Agent Note](../../../.agents/notes/implemented/feature/2026-07-06-sandbox.md) — escalation and mode-switching rationale.
117
116
  - [Generated tool catalog](../../../docs/tool-catalog.md#deepseek-aidsh-tool-bash) — the exact `bash` argument schema.
118
117
  - [Generated configuration catalog](../../../docs/config-catalog.md#deepseek-aidsh-tool-bash) — every accepted config field and its source declaration.
package/README.zh.md CHANGED
@@ -9,7 +9,7 @@ kind: "package-reference"
9
9
 
10
10
  ## 概述
11
11
 
12
- `dsh-tool-bash` agent 提供 `bash` 工具,通过已挂载的 shell 执行器运行命令并返回 stdout、stderr 与退出标记。每次调用都运行在全新 shell 中——cwd、变量或函数都不会保留——而 `run_in_background` 把长时间运行的命令变成后台任务,agent `job_output` 收集、用 `job_kill` 停止。每次调用都运行在来自 `dsh-shell-env` 的受管 `DSH_*` 环境中;在沙箱执行器下,被拒绝的命令可以携带更宽的 `sandbox_permissions` 模式和一句 `justification`,经用户审批后在同一轮次内重试一次。非零退出只会被报告、不会失败,因此由 agent 决定如何应对。请与 `dsh-bash-local` 或 `dsh-bash-sandbox` 等执行器提供方以及 `dsh-shell-env` 插件一起挂载。
12
+ `dsh-tool-bash` agent 运行一次性 `bash` 命令,并接收 stdout、stderr 与退出标记。每次调用都使用全新 shell,因此 cwd、变量和函数不会保留;`run_in_background` 可启动长时间运行的工作,agent 能用 `job_output` 检查、用 `job_kill` 停止。命令会收到受管 `DSH_*` 环境;沙箱拒绝可携带更宽的 `sandbox_permissions`、一句 `justification` 与用户批准重试一次。非零退出会作为结果报告,因此由 agent 决定如何响应;请使用 `dsh-bash-local` 或 `dsh-bash-sandbox` 等执行器,并加载 `dsh-shell-env`。
13
13
 
14
14
  ## 目录
15
15
 
@@ -78,7 +78,7 @@ kind: "package-reference"
78
78
  ### 设计理念
79
79
 
80
80
  - **shell seam 的模型侧消费方。** 本工具是 bash 能力的 Consumer 角色:它注册 `bash` schema、渲染结果并解析每次调用的策略,进程机制归执行器 seam 所有。
81
- - **请求只来自命名参数。** 工具从不暴露 `stdin`、`env` 或 `stdoutMaxBytes`;它只用命令/workdir/超时/信号字段加上注册表收集的 `dshEnv` 构建每个请求,因此模型提供的键无法替换受管值([bash stdin/env Agent Note](../../../.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md))。
81
+ - **请求只来自命名参数。** 工具从不暴露 `stdin`、`env` 或 `stdoutMaxBytes`;它只用命令/workdir/超时/信号字段加上注册表收集的 `dshEnv` 构建每个请求,因此模型提供的键无法替换受管值。
82
82
  - **非零退出只报告、不失败。** 只有基础设施故障(spawn 错误、中止)才会作为工具错误暴露;模型解读退出码与标记。
83
83
  - **后台工作归任务运行时。** 后台调用把进程句柄注册到 `ctx.jobs`;job id、所有权、完成通知与释放都是运行时的职责,本工具只把 bash 退出与沙箱事实映射为任务输出。
84
84
 
@@ -112,7 +112,6 @@ kind: "package-reference"
112
112
  - [Bash 执行器子系统](../../../docs/subsystems/shell.zh.md)——请求/spec 词汇、结果与后台进程。
113
113
  - [shell-env](../shell-env/README.zh.md)——每次调用都会收到的受管 `DSH_*` 环境。
114
114
  - [tool-jobs](../../jobs/tool-jobs/README.zh.md)——后台运行的 `job_output`、`job_list` 与 `job_kill` 控制。
115
- - [bash stdin/env Agent Note](../../../.agents/notes/implemented/architecture/2026-06-30-bash-stdin-env-trusted-plugin-api.zh.md)——为什么工具不暴露 stdin 或 env。
116
115
  - [沙箱 Agent Note](../../../.agents/notes/implemented/feature/2026-07-06-sandbox.zh.md)——升权与模式切换的理由。
117
116
  - [生成的工具目录](../../../docs/tool-catalog.zh.md#deepseek-aidsh-tool-bash)——`bash` 参数 schema 的确切内容。
118
117
  - [生成的配置目录](../../../docs/config-catalog.zh.md#deepseek-aidsh-tool-bash)——每个受支持配置字段及其源声明。
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-tool-bash",
3
3
  "description": "Model-facing bash tool with optional generic background-job and sandbox-escalation support",
4
- "version": "0.1.2-rc.1",
4
+ "version": "0.1.5-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-agent": "^0.1.2-rc.1",
31
- "@deepseek-ai/dsh-shell": "^0.1.2-rc.1",
32
- "@deepseek-ai/dsh-shell-env": "^0.1.2-rc.1",
33
- "@deepseek-ai/dsh-llm": "^0.1.2-rc.1",
34
- "@deepseek-ai/dsh-sandbox": "^0.1.2-rc.1",
35
- "@deepseek-ai/dsh-sandbox-policy": "^0.1.2-rc.1",
36
- "@deepseek-ai/dsh-system-prompt": "^0.1.2-rc.1",
37
- "@deepseek-ai/dsh-user-approval": "^0.1.2-rc.1",
38
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1",
39
- "@deepseek-ai/cordis": "^4.0.2",
40
- "@deepseek-ai/dsh-jobs": "^0.1.2-rc.1"
30
+ "@deepseek-ai/dsh-agent": "^0.1.5-alpha.1",
31
+ "@deepseek-ai/dsh-shell": "^0.1.5-alpha.1",
32
+ "@deepseek-ai/dsh-llm": "^0.1.5-alpha.1",
33
+ "@deepseek-ai/dsh-sandbox": "^0.1.5-alpha.1",
34
+ "@deepseek-ai/dsh-sandbox-policy": "^0.1.5-alpha.1",
35
+ "@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.1",
36
+ "@deepseek-ai/dsh-jobs": "^0.1.5-alpha.1",
37
+ "@deepseek-ai/dsh-shell-env": "^0.1.5-alpha.1",
38
+ "@deepseek-ai/dsh-tools": "^0.1.5-alpha.1",
39
+ "@deepseek-ai/dsh-user-approval": "^0.1.5-alpha.1",
40
+ "@deepseek-ai/cordis": "^4.0.2"
41
41
  },
42
42
  "dependencies": {
43
43
  "@deepseek-ai/schemastery": "^3.18.2"
44
44
  },
45
45
  "devDependencies": {
46
- "@deepseek-ai/dsh-agent": "^0.1.2-rc.1",
47
- "@deepseek-ai/dsh-agent-loop": "^0.1.2-rc.1",
48
- "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.2-rc.1",
49
- "@deepseek-ai/dsh-shell": "^0.1.2-rc.1",
50
- "@deepseek-ai/dsh-shell-env": "^0.1.2-rc.1",
51
- "@deepseek-ai/dsh-bash-local": "^0.1.2-rc.1",
52
- "@deepseek-ai/dsh-llm": "^0.1.2-rc.1",
53
- "@deepseek-ai/dsh-subprocess-local": "^0.1.2-rc.1",
54
- "@deepseek-ai/dsh-sandbox": "^0.1.2-rc.1",
55
- "@deepseek-ai/dsh-session": "^0.1.2-rc.1",
56
- "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.2-rc.1",
57
- "@deepseek-ai/dsh-sandbox-policy": "^0.1.2-rc.1",
58
- "@deepseek-ai/dsh-system-prompt": "^0.1.2-rc.1",
59
- "@deepseek-ai/dsh-jobs": "^0.1.2-rc.1",
60
- "@deepseek-ai/dsh-jobs-local": "^0.1.2-rc.1",
61
- "@deepseek-ai/dsh-tool-jobs": "^0.1.2-rc.1",
62
- "@deepseek-ai/dsh-tools": "^0.1.2-rc.1",
63
- "@deepseek-ai/dsh-user-approval": "^0.1.2-rc.1",
46
+ "@deepseek-ai/dsh-agent": "^0.1.5-alpha.1",
47
+ "@deepseek-ai/dsh-agent-loop-testkit": "^0.1.5-alpha.1",
48
+ "@deepseek-ai/dsh-shell": "^0.1.5-alpha.1",
49
+ "@deepseek-ai/dsh-shell-env": "^0.1.5-alpha.1",
50
+ "@deepseek-ai/dsh-agent-loop": "^0.1.5-alpha.1",
51
+ "@deepseek-ai/dsh-bash-local": "^0.1.5-alpha.1",
52
+ "@deepseek-ai/dsh-llm": "^0.1.5-alpha.1",
53
+ "@deepseek-ai/dsh-sandbox": "^0.1.5-alpha.1",
54
+ "@deepseek-ai/dsh-sandbox-policy": "^0.1.5-alpha.1",
55
+ "@deepseek-ai/dsh-session": "^0.1.5-alpha.1",
56
+ "@deepseek-ai/dsh-session-persistence-jsonl": "^0.1.5-alpha.1",
57
+ "@deepseek-ai/dsh-system-prompt": "^0.1.5-alpha.1",
58
+ "@deepseek-ai/dsh-jobs-local": "^0.1.5-alpha.1",
59
+ "@deepseek-ai/dsh-tool-jobs": "^0.1.5-alpha.1",
60
+ "@deepseek-ai/dsh-tools": "^0.1.5-alpha.1",
61
+ "@deepseek-ai/dsh-user-approval": "^0.1.5-alpha.1",
64
62
  "@deepseek-ai/cordis": "^4.0.2",
65
- "@deepseek-ai/dsh-session-projection": "^0.1.2-rc.1"
63
+ "@deepseek-ai/dsh-jobs": "^0.1.5-alpha.1",
64
+ "@deepseek-ai/dsh-session-projection": "^0.1.5-alpha.1",
65
+ "@deepseek-ai/dsh-subprocess-local": "^0.1.5-alpha.1"
66
66
  }
67
67
  }