dsh-remote-local-plugin 0.8.2 → 0.8.4

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.md CHANGED
@@ -7,7 +7,7 @@ Remote development that appears as ordinary local sessions.
7
7
  This plugin targets the official **DSH Desktop** application. Tested/supported versions:
8
8
 
9
9
  - [DSH Desktop](https://github.com/deepseek-ai/deepseek-harness) [`0.2.1-rc.2`](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.1-rc.2)
10
- - Plugin [`0.8.2`](https://www.npmjs.com/package/dsh-remote-local-plugin)
10
+ - Plugin [`0.8.4`](https://www.npmjs.com/package/dsh-remote-local-plugin)
11
11
  - Remote DSH [`0.2.1-rc.2`](https://github.com/deepseek-ai/deepseek-harness/releases/tag/dsh-v0.2.1-rc.2)
12
12
  - Remote [Node.js `22.19+`](https://nodejs.org/en/download) on Linux/macOS
13
13
 
package/cordis.patch.yml CHANGED
@@ -33,7 +33,7 @@
33
33
  remotePnpmVersion: 11.21.0
34
34
  remoteStart: systemd
35
35
  provisionTimeoutMs: 600000
36
- # Remote-visible HTTP(S) proxy. Empty means read the remote login shell.
36
+ # Remote-visible HTTP(S) proxy. Empty means inspect the account login shell.
37
37
  remoteInstallProxy: ''
38
38
  remoteInstallNoProxy: 127.0.0.1,localhost
39
39
 
package/lib/client.js CHANGED
@@ -75,20 +75,20 @@ function createHostsApi(ctx) {
75
75
  openSession: (sessionId) => {
76
76
  ctx.uiWorkspace.openSession(sessionId);
77
77
  },
78
- fileList: (sessionId, path) => call("host/files/list", { sessionId, path }),
79
- fileRead: (sessionId, path, offset, limit) => call("host/files/read", {
78
+ fileList: (sessionId, path, signal) => call("host/files/list", { sessionId, path }, signal),
79
+ fileRead: (sessionId, path, offset, limit, signal) => call("host/files/read", {
80
80
  sessionId,
81
81
  path,
82
82
  ...offset === void 0 ? {} : { offset },
83
83
  ...limit === void 0 ? {} : { limit }
84
- }),
85
- fileStat: (sessionId, path) => call("host/files/stat", { sessionId, path }),
86
- fileBytes: (sessionId, path, offset, length) => call("host/files/bytes", {
84
+ }, signal),
85
+ fileStat: (sessionId, path, signal) => call("host/files/stat", { sessionId, path }, signal),
86
+ fileBytes: (sessionId, path, offset, length, signal) => call("host/files/bytes", {
87
87
  sessionId,
88
88
  path,
89
89
  ...offset === void 0 ? {} : { offset },
90
90
  ...length === void 0 ? {} : { length }
91
- }),
91
+ }, signal),
92
92
  prompt: (hostId, sessionId, text, mode, selection) => call("host/session/prompt", {
93
93
  hostId,
94
94
  sessionId,
@@ -99,12 +99,13 @@ function createHostsApi(ctx) {
99
99
  cancel: (hostId, sessionId) => call("host/session/cancel", { hostId, sessionId })
100
100
  };
101
101
  }
102
- async function call(endpoint, payload) {
102
+ async function call(endpoint, payload, signal) {
103
103
  const response = await fetch(HOST_API_PATH, {
104
104
  method: "POST",
105
105
  credentials: "same-origin",
106
106
  headers: { "content-type": "application/json" },
107
- body: JSON.stringify(payload === void 0 ? { endpoint } : { endpoint, payload })
107
+ body: JSON.stringify(payload === void 0 ? { endpoint } : { endpoint, payload }),
108
+ ...signal === void 0 ? {} : { signal }
108
109
  });
109
110
  if (!response.ok) {
110
111
  throw new RemoteUiError("request/invalid", `host API returned HTTP ${response.status}`);
@@ -690,19 +691,19 @@ function installRemoteFiles(ctx, api) {
690
691
  readBytes: face.readBytes.bind(face)
691
692
  };
692
693
  face.list = async (sessionId, path, signal) => {
693
- const result = await api.fileList(sessionId, path);
694
+ const result = await api.fileList(sessionId, path, signal);
694
695
  return result.mirrored ? { ok: true, value: result.value } : original.list(sessionId, path, signal);
695
696
  };
696
697
  face.read = async (sessionId, path, range, signal) => {
697
- const result = await api.fileRead(sessionId, path, range.offset, range.limit);
698
+ const result = await api.fileRead(sessionId, path, range.offset, range.limit, signal);
698
699
  return result.mirrored ? { ok: true, value: result.value } : original.read(sessionId, path, range, signal);
699
700
  };
700
701
  face.stat = async (sessionId, path, signal) => {
701
- const result = await api.fileStat(sessionId, path);
702
+ const result = await api.fileStat(sessionId, path, signal);
702
703
  return result.mirrored ? { ok: true, value: result.value } : original.stat(sessionId, path, signal);
703
704
  };
704
705
  face.readBytes = async (sessionId, path, options, signal) => {
705
- const result = await api.fileBytes(sessionId, path, options.range?.offset, options.range?.length);
706
+ const result = await api.fileBytes(sessionId, path, options.range?.offset, options.range?.length, signal);
706
707
  return result.mirrored ? { ok: true, value: result.value } : original.readBytes(sessionId, path, options, signal);
707
708
  };
708
709
  }