@deepseek-ai/dsh-terminal-bash 0.2.0-rc.1 → 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 +4 -4
- package/README.md +1 -3
- package/README.zh.md +1 -3
- package/package.json +21 -21
package/README.i18n.yaml
CHANGED
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
en: 97f4f07114f5a995
|
|
40
40
|
zh: d30b07058a3103c7
|
|
41
41
|
/deepseek-ai-dsh-terminal-bash/understand-the-implementation/design-concept:
|
|
42
|
-
en:
|
|
43
|
-
zh:
|
|
42
|
+
en: 1801aaa763743049
|
|
43
|
+
zh: b8c8158a63ed6055
|
|
44
44
|
/deepseek-ai-dsh-terminal-bash/understand-the-implementation/source-map:
|
|
45
45
|
en: 9a525f7a7228a09b
|
|
46
46
|
zh: d57537edfacc9f8b
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
en: 2dc221de0d3a76a7
|
|
88
88
|
zh: 822cef044e765459
|
|
89
89
|
/deepseek-ai-dsh-terminal-bash/known-limitations-and-deferred-work/dev-note:
|
|
90
|
-
en:
|
|
91
|
-
zh:
|
|
90
|
+
en: e67f633dc6fe7773
|
|
91
|
+
zh: 3bb0c20c93f16f98
|
package/README.md
CHANGED
|
@@ -85,7 +85,7 @@ This section explains the design behind the backend and points at the code that
|
|
|
85
85
|
|
|
86
86
|
One backend serves both dialects: bash and pwsh share the same session machinery — sanitizer, bounded buffers, readiness polling, cancellation, and teardown — and differ only in argv, environment, and prompt installation. Bash receives a private marker through `PS1` plus `PROMPT_COMMAND`. Pwsh writes a prompt function, pins UTF-8 console encoding, and publishes startup only after the backend reports `stdin_read`; echoed setup text cannot publish the shell. A zero-scrollback `@xterm/headless` instance consumes raw PTY data and returns terminal-protocol replies through the same handle, while the line sanitizer remains the only output projection.
|
|
87
87
|
|
|
88
|
-
Scrollback and unread send output retain independently owned strings with incremental byte and newline counts, so sanitized slices cannot retain discarded control sequences. Appending and evicting text takes amortized time proportional to incoming text; reads assemble the retained chunks. Retention preserves code-point boundaries and counts the empty line after a trailing newline. The [retention decision](../../../.agents/notes/
|
|
88
|
+
Scrollback and unread send output retain independently owned strings with incremental byte and newline counts, so sanitized slices cannot retain discarded control sequences. Appending and evicting text takes amortized time proportional to incoming text; reads assemble the retained chunks. Retention preserves code-point boundaries and counts the empty line after a trailing newline. The [historical retention decision](../../../.agents/notes/archived/bug-fix/2026-09-11-incremental-terminal-retention.md) records the complexity and measurement rationale.
|
|
89
89
|
|
|
90
90
|
### Source map
|
|
91
91
|
|
|
@@ -179,5 +179,3 @@ These limits define where the backend is a poor fit or needs special operational
|
|
|
179
179
|
None.
|
|
180
180
|
|
|
181
181
|
</details>
|
|
182
|
-
|
|
183
|
-
**Runtime invariant:** No companion is published. Readiness, terminal buffers, and process-tree state are private per-session implementation state, and the backend publishes no independent lifecycle stream or snapshot.
|
package/README.zh.md
CHANGED
|
@@ -85,7 +85,7 @@ shell 在整个生命周期内运行在有效的沙箱边界之下。当所有
|
|
|
85
85
|
|
|
86
86
|
一个后端服务两种方言:bash 与 pwsh 共享同一套会话机制——清理器、有界缓冲区、就绪轮询、取消与关闭——只在 argv、环境与提示符安装方式上不同。bash 通过 `PS1` 加 `PROMPT_COMMAND` 接收私有标记。pwsh 会写入提示符函数、固定 UTF-8 控制台编码,并只在后端报告 `stdin_read` 后发布启动;回显的设置文本不能发布 shell。一个不保留 scrollback 的 `@xterm/headless` 实例会消费原始 PTY 数据,并通过同一句柄返回终端协议响应;逐行 sanitizer 仍是唯一输出投影。
|
|
87
87
|
|
|
88
|
-
Scrollback 和尚未读取的发送输出保留独立拥有的字符串,并增量维护字节数与换行符数,因此清理后的切片不会保留已丢弃的控制序列。追加与淘汰文本的摊还耗时与输入文本量成正比;读取时才拼接保留的分片。保留策略维持码点边界,并将末尾换行符之后的空行计入行数。[
|
|
88
|
+
Scrollback 和尚未读取的发送输出保留独立拥有的字符串,并增量维护字节数与换行符数,因此清理后的切片不会保留已丢弃的控制序列。追加与淘汰文本的摊还耗时与输入文本量成正比;读取时才拼接保留的分片。保留策略维持码点边界,并将末尾换行符之后的空行计入行数。[历史保留策略决策](../../../.agents/notes/archived/bug-fix/2026-09-11-incremental-terminal-retention.md)记录复杂度与测量依据。
|
|
89
89
|
|
|
90
90
|
### 源码地图
|
|
91
91
|
|
|
@@ -179,5 +179,3 @@ Scrollback 和尚未读取的发送输出保留独立拥有的字符串,并增
|
|
|
179
179
|
无。
|
|
180
180
|
|
|
181
181
|
</details>
|
|
182
|
-
|
|
183
|
-
**运行时不变式:** 不发布伴生入口。就绪状态、终端缓冲区与进程树状态都是各会话私有的实现状态,后端不发布独立的生命周期流或快照。
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-terminal-bash",
|
|
3
3
|
"description": "Persistent shell PTY backend over the DeepSeek Harness subprocess terminal primitive",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.1-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -27,30 +27,30 @@
|
|
|
27
27
|
],
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@deepseek-ai/dsh-agent": "0.2.
|
|
31
|
-
"@deepseek-ai/dsh-terminal": "0.2.
|
|
32
|
-
"@deepseek-ai/dsh-sandbox": "0.2.
|
|
33
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.2.
|
|
34
|
-
"@deepseek-ai/dsh-session": "0.2.
|
|
35
|
-
"@deepseek-ai/dsh-subprocess": "0.2.
|
|
36
|
-
"@deepseek-ai/
|
|
37
|
-
"@deepseek-ai/
|
|
30
|
+
"@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
|
|
31
|
+
"@deepseek-ai/dsh-terminal": "0.2.1-alpha.1",
|
|
32
|
+
"@deepseek-ai/dsh-sandbox": "0.2.1-alpha.1",
|
|
33
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-alpha.1",
|
|
34
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.1",
|
|
35
|
+
"@deepseek-ai/dsh-subprocess": "0.2.1-alpha.1",
|
|
36
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
37
|
+
"@deepseek-ai/dsh-session-projection": "0.2.1-alpha.1"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@xterm/headless": "^6.0.0",
|
|
41
|
-
"@deepseek-ai/dsh-lazy-require": "0.2.
|
|
42
|
-
"@deepseek-ai/dsh-pwsh-local": "0.2.
|
|
43
|
-
"@deepseek-ai/schemastery": "~3.18.
|
|
41
|
+
"@deepseek-ai/dsh-lazy-require": "0.2.1-alpha.1",
|
|
42
|
+
"@deepseek-ai/dsh-pwsh-local": "0.2.1-alpha.1",
|
|
43
|
+
"@deepseek-ai/schemastery": "~3.18.5-alpha.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@deepseek-ai/dsh-agent": "0.2.
|
|
47
|
-
"@deepseek-ai/dsh-
|
|
48
|
-
"@deepseek-ai/dsh-
|
|
49
|
-
"@deepseek-ai/dsh-sandbox": "0.2.
|
|
50
|
-
"@deepseek-ai/dsh-sandbox-policy": "0.2.
|
|
51
|
-
"@deepseek-ai/dsh-session": "0.2.
|
|
52
|
-
"@deepseek-ai/dsh-subprocess
|
|
53
|
-
"@deepseek-ai/dsh-subprocess": "0.2.
|
|
54
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
46
|
+
"@deepseek-ai/dsh-agent": "0.2.1-alpha.1",
|
|
47
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "0.2.1-alpha.1",
|
|
48
|
+
"@deepseek-ai/dsh-terminal": "0.2.1-alpha.1",
|
|
49
|
+
"@deepseek-ai/dsh-sandbox": "0.2.1-alpha.1",
|
|
50
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-alpha.1",
|
|
51
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.1",
|
|
52
|
+
"@deepseek-ai/dsh-subprocess": "0.2.1-alpha.1",
|
|
53
|
+
"@deepseek-ai/dsh-subprocess-local": "0.2.1-alpha.1",
|
|
54
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.1"
|
|
55
55
|
}
|
|
56
56
|
}
|