@deepseek-ai/dsh-ssh 0.1.7-alpha.1 → 0.1.7-rc.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/lib/helper.js CHANGED
@@ -17,7 +17,7 @@ import { LocalSandboxProvider } from "@deepseek-ai/dsh-sandbox-local";
17
17
  import { SandboxPolicyService } from "@deepseek-ai/dsh-sandbox-policy";
18
18
  import { SessionProjectionRegistry } from "@deepseek-ai/dsh-session-projection";
19
19
  import { finished, pipeline } from "node:stream/promises";
20
- import { OutputCollector, prepareManagedProcessBinding } from "@deepseek-ai/dsh-subprocess-local/output";
20
+ import { OutputCollector, logSpillFailure, prepareManagedProcessBinding } from "@deepseek-ai/dsh-subprocess-local/output";
21
21
  //#region lib/types/helper-processes.js
22
22
  /** Remote process ownership and separately forwarded byte streams. */
23
23
  /** Join TLS, underlying socket, and listener closure before removing their directory. */
@@ -90,11 +90,14 @@ var RemoteProcesses = class {
90
90
  completed = /* @__PURE__ */ new Map();
91
91
  cleanups = /* @__PURE__ */ new Set();
92
92
  closing = false;
93
+ /** Spill failures reach the helper's logger; the remote caller then receives the tail without a spill path. */
94
+ reportSpillFailure;
93
95
  constructor(ctx, root, limit, preparationMs) {
94
96
  this.ctx = ctx;
95
97
  this.root = root;
96
98
  this.limit = limit;
97
99
  this.preparationMs = preparationMs;
100
+ this.reportSpillFailure = logSpillFailure(ctx.logger, "ssh helper");
98
101
  }
99
102
  /**
100
103
  * Allocate private stream listeners; no target executes until start().
@@ -242,7 +245,12 @@ var RemoteProcesses = class {
242
245
  const mode = stdio[name];
243
246
  const socket = await record.endpoints[name].connected;
244
247
  if (typeof mode === "object") {
245
- const collector = new OutputCollector(mode.maxBytes, mode.spill?.maxBytes, name, prepareManagedProcessBinding().spillDir);
248
+ const binding = prepareManagedProcessBinding({ onSpillFailure: this.reportSpillFailure });
249
+ const collector = new OutputCollector(mode.maxBytes, name, mode.spill === void 0 ? void 0 : {
250
+ maxBytes: mode.spill.maxBytes,
251
+ dir: binding.spillDir,
252
+ onFailure: binding.onSpillFailure
253
+ });
246
254
  collectors[name] = collector;
247
255
  const forwarder = new CollectedOutputForwarder(socket, collector, mode.maxBytes);
248
256
  forwarders.push(forwarder);
@@ -11,6 +11,8 @@ export declare class RemoteProcesses {
11
11
  private readonly completed;
12
12
  private readonly cleanups;
13
13
  private closing;
14
+ /** Spill failures reach the helper's logger; the remote caller then receives the tail without a spill path. */
15
+ private readonly reportSpillFailure;
14
16
  constructor(ctx: Context, root: string, limit: number, preparationMs: number);
15
17
  /**
16
18
  * Allocate private stream listeners; no target executes until start().
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-ssh",
3
3
  "description": "Shared OpenSSH connection and versioned POSIX remote helper",
4
- "version": "0.1.7-alpha.1",
4
+ "version": "0.1.7-rc.1",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -45,39 +45,39 @@
45
45
  ],
46
46
  "license": "MIT",
47
47
  "peerDependencies": {
48
- "@deepseek-ai/cordis": "^4.0.3",
49
- "@deepseek-ai/dsh-fs": "^0.1.7-alpha.1",
50
- "@deepseek-ai/dsh-fs-local": "^0.1.7-alpha.1",
51
- "@deepseek-ai/dsh-fs-sandbox": "^0.1.7-alpha.1",
52
- "@deepseek-ai/dsh-subprocess": "^0.1.7-alpha.1",
53
- "@deepseek-ai/dsh-subprocess-local": "^0.1.7-alpha.1",
54
- "@deepseek-ai/dsh-sandbox": "^0.1.7-alpha.1",
55
- "@deepseek-ai/dsh-sandbox-local": "^0.1.7-alpha.1",
56
- "@deepseek-ai/dsh-session-projection": "^0.1.7-alpha.1",
57
- "@deepseek-ai/dsh-brand": "^0.1.7-alpha.1",
58
- "@deepseek-ai/dsh-sandbox-policy": "^0.1.7-alpha.1"
48
+ "@deepseek-ai/cordis": "~4.0.4",
49
+ "@deepseek-ai/dsh-fs": "0.1.7-rc.1",
50
+ "@deepseek-ai/dsh-fs-local": "0.1.7-rc.1",
51
+ "@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.1",
52
+ "@deepseek-ai/dsh-subprocess": "0.1.7-rc.1",
53
+ "@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.1",
54
+ "@deepseek-ai/dsh-sandbox": "0.1.7-rc.1",
55
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.1",
56
+ "@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
57
+ "@deepseek-ai/dsh-brand": "0.1.7-rc.1",
58
+ "@deepseek-ai/dsh-sandbox-local": "0.1.7-rc.1"
59
59
  },
60
60
  "dependencies": {
61
61
  "zod": "^4.4.3",
62
- "@deepseek-ai/schemastery": "^3.18.3"
62
+ "@deepseek-ai/schemastery": "~3.18.4"
63
63
  },
64
64
  "devDependencies": {
65
- "@deepseek-ai/cordis": "^4.0.3",
66
- "@deepseek-ai/dsh-fs": "^0.1.7-alpha.1",
67
- "@deepseek-ai/dsh-fs-local": "^0.1.7-alpha.1",
68
- "@deepseek-ai/dsh-fs-sandbox": "^0.1.7-alpha.1",
69
- "@deepseek-ai/dsh-subprocess": "^0.1.7-alpha.1",
70
- "@deepseek-ai/dsh-subprocess-local": "^0.1.7-alpha.1",
71
- "@deepseek-ai/dsh-sandbox": "^0.1.7-alpha.1",
72
- "@deepseek-ai/dsh-sandbox-policy": "^0.1.7-alpha.1",
73
- "@deepseek-ai/dsh-session-projection": "^0.1.7-alpha.1",
74
- "@deepseek-ai/dsh-fs-ssh": "^0.1.7-alpha.1",
75
- "@deepseek-ai/dsh-subprocess-ssh": "^0.1.7-alpha.1",
76
- "@deepseek-ai/dsh-sandbox-ssh": "^0.1.7-alpha.1",
77
- "@deepseek-ai/dsh-lsp": "^0.1.7-alpha.1",
78
- "@deepseek-ai/dsh-lsp-stdio": "^0.1.7-alpha.1",
79
- "@deepseek-ai/dsh-sandbox-local": "^0.1.7-alpha.1",
80
- "@deepseek-ai/dsh-ptc-runtime-node": "^0.1.7-alpha.1",
81
- "@deepseek-ai/dsh-brand": "^0.1.7-alpha.1"
65
+ "@deepseek-ai/cordis": "~4.0.4",
66
+ "@deepseek-ai/dsh-fs": "0.1.7-rc.1",
67
+ "@deepseek-ai/dsh-fs-local": "0.1.7-rc.1",
68
+ "@deepseek-ai/dsh-fs-sandbox": "0.1.7-rc.1",
69
+ "@deepseek-ai/dsh-subprocess": "0.1.7-rc.1",
70
+ "@deepseek-ai/dsh-subprocess-local": "0.1.7-rc.1",
71
+ "@deepseek-ai/dsh-sandbox": "0.1.7-rc.1",
72
+ "@deepseek-ai/dsh-sandbox-local": "0.1.7-rc.1",
73
+ "@deepseek-ai/dsh-sandbox-policy": "0.1.7-rc.1",
74
+ "@deepseek-ai/dsh-session-projection": "0.1.7-rc.1",
75
+ "@deepseek-ai/dsh-fs-ssh": "0.1.7-rc.1",
76
+ "@deepseek-ai/dsh-subprocess-ssh": "0.1.7-rc.1",
77
+ "@deepseek-ai/dsh-lsp": "0.1.7-rc.1",
78
+ "@deepseek-ai/dsh-lsp-stdio": "0.1.7-rc.1",
79
+ "@deepseek-ai/dsh-brand": "0.1.7-rc.1",
80
+ "@deepseek-ai/dsh-sandbox-ssh": "0.1.7-rc.1",
81
+ "@deepseek-ai/dsh-ptc-runtime-node": "0.1.7-rc.1"
82
82
  }
83
83
  }