@deepseek-ai/dsh-subprocess-ssh 0.1.6-alpha.1 → 0.1.7-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 +2 -2
- package/README.md +2 -0
- package/README.zh.md +2 -0
- package/lib/index.js +4 -2
- package/package.json +10 -10
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/ssh/subprocess-ssh/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: ad5ddd52bd92574393a49067843fd95702c1363c
|
|
6
|
+
README.zh.md: c7a2e4d15e790dadcfbd1a76cf128d2770fb26b6
|
package/README.md
CHANGED
|
@@ -29,6 +29,8 @@ Mount this provider with [`dsh-ssh`](../ssh/README.md) and its filesystem provid
|
|
|
29
29
|
|
|
30
30
|
Ordinary spawn returns a handle while remote allocation proceeds. Piped stdin and the optional duplex control endpoint accept writes during allocation. Terminal allocation, writes, foreground inspection, signals and termination retain their asynchronous interfaces.
|
|
31
31
|
|
|
32
|
+
Terminal requests forward `shellActivity` to the execution provider, and `inspectActivity()` returns its validated state and revision. Opted-in terminals remain addressable after root exit until their owner explicitly terminates them; the SSH helper lease still governs connection-level cleanup.
|
|
33
|
+
|
|
32
34
|
A direct exit reported by `done` does not prove managed-range quiescence; `waitForExit()` observes that separately. Its optional signal bounds the entire observation, including pending allocation and termination, and cancellation returns `false` without stopping the process. An already confirmed empty range returns `true`; genuine observation failures reject. `terminate()` targets the same remote owner. Connection loss rejects unconfirmed work, and automatic replay never follows an ambiguous launch or mutation.
|
|
33
35
|
|
|
34
36
|
-----
|
package/README.zh.md
CHANGED
|
@@ -29,6 +29,8 @@ kind: "package-reference"
|
|
|
29
29
|
|
|
30
30
|
普通 spawn 在远端分配过程中返回句柄。管道 stdin 和可选双工控制端点在分配过程中接受写入。终端分配、写入、前台检查、信号及终止均保留异步接口。
|
|
31
31
|
|
|
32
|
+
终端请求将 `shellActivity` 转发给执行 provider,`inspectActivity()` 返回经校验的状态和 revision。启用后,根进程退出的终端仍可访问,直到 owner 明确终止;连接级清理仍由 SSH helper 租约控制。
|
|
33
|
+
|
|
32
34
|
`done` 报告的直接进程退出并不证明托管进程范围已经静止;`waitForExit()` 单独观察该状态。其可选信号约束整个观察过程,包括等待分配和终止;取消返回 `false`,不会停止进程。已确认清空的范围返回 `true`,实际观察故障则拒绝。`terminate()` 针对同一个远端管理器。连接丢失会拒绝未确认的操作;启动或修改结果不明确时绝不自动重放。
|
|
33
35
|
|
|
34
36
|
-----
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Duplex, PassThrough } from "node:stream";
|
|
2
2
|
import { SubprocessExecutableNotFoundError, SubprocessRuntime } from "@deepseek-ai/dsh-subprocess";
|
|
3
3
|
import { OutputCollector } from "@deepseek-ai/dsh-subprocess-local/output";
|
|
4
|
-
import { doneSchema, foregroundSchema, outputSnapshotFrameLimit, outputSnapshotSchema, preparedSchema, remotePath, streamEndpointSchema } from "@deepseek-ai/dsh-ssh/schemas";
|
|
4
|
+
import { doneSchema, foregroundSchema, outputSnapshotFrameLimit, outputSnapshotSchema, preparedSchema, remotePath, streamEndpointSchema, terminalActivitySchema } from "@deepseek-ai/dsh-ssh/schemas";
|
|
5
5
|
import { RemoteOperationError, SshRpcPeer } from "@deepseek-ai/dsh-ssh/protocol";
|
|
6
6
|
import { z } from "zod";
|
|
7
7
|
//#region lib/types/index.js
|
|
@@ -358,7 +358,8 @@ var SshSubprocessRuntime = class extends SubprocessRuntime {
|
|
|
358
358
|
terminal: {
|
|
359
359
|
rows: spec.rows,
|
|
360
360
|
cols: spec.cols,
|
|
361
|
-
terminalType: spec.terminalType
|
|
361
|
+
terminalType: spec.terminalType,
|
|
362
|
+
shellActivity: spec.shellActivity
|
|
362
363
|
}
|
|
363
364
|
}, preparedSchema, signal);
|
|
364
365
|
const id = prepared.id;
|
|
@@ -401,6 +402,7 @@ var SshSubprocessRuntime = class extends SubprocessRuntime {
|
|
|
401
402
|
}, z.null());
|
|
402
403
|
},
|
|
403
404
|
inspectForeground: async () => await ssh.request("terminal.inspect", { id }, foregroundSchema) ?? void 0,
|
|
405
|
+
inspectActivity: () => ssh.request("terminal.activity", { id }, terminalActivitySchema),
|
|
404
406
|
signalForeground: (signal) => ssh.request("terminal.signal", {
|
|
405
407
|
id,
|
|
406
408
|
value: signal
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-subprocess-ssh",
|
|
3
3
|
"description": "Subprocess and terminal provider over the shared POSIX SSH helper",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.7-alpha.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
],
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
31
|
-
"@deepseek-ai/dsh-ssh": "^0.1.
|
|
32
|
-
"@deepseek-ai/dsh-subprocess": "^0.1.
|
|
33
|
-
"@deepseek-ai/dsh-subprocess-local": "^0.1.
|
|
30
|
+
"@deepseek-ai/cordis": "^4.0.3",
|
|
31
|
+
"@deepseek-ai/dsh-ssh": "^0.1.7-alpha.1",
|
|
32
|
+
"@deepseek-ai/dsh-subprocess": "^0.1.7-alpha.1",
|
|
33
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.7-alpha.1"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"zod": "^4.4.3",
|
|
37
|
-
"@deepseek-ai/schemastery": "^3.18.
|
|
37
|
+
"@deepseek-ai/schemastery": "^3.18.3"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
|
-
"@deepseek-ai/cordis": "^4.0.
|
|
41
|
-
"@deepseek-ai/dsh-ssh": "^0.1.
|
|
42
|
-
"@deepseek-ai/dsh-subprocess": "^0.1.
|
|
43
|
-
"@deepseek-ai/dsh-subprocess-local": "^0.1.
|
|
40
|
+
"@deepseek-ai/cordis": "^4.0.3",
|
|
41
|
+
"@deepseek-ai/dsh-ssh": "^0.1.7-alpha.1",
|
|
42
|
+
"@deepseek-ai/dsh-subprocess": "^0.1.7-alpha.1",
|
|
43
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.7-alpha.1"
|
|
44
44
|
}
|
|
45
45
|
}
|