dsh-multi-folder 0.1.5 → 0.1.7

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/docs/design.md CHANGED
@@ -177,7 +177,9 @@ window.__ModuleLoader__.load({
177
177
  Language preference in Settings; the English UI reads "Multi-folder", the
178
178
  Chinese UI keeps 「多工作目录」.
179
179
  - Host communication, two channels:
180
- - session mode: `ctx.remote.commands.execute(sessionId, line)`. The return
180
+ - session mode: `ctx.remote.commands.execute(sessionId, line, [])`. Since
181
+ DSH 0.1.1 the remote takes the composer-images argument as its third
182
+ business argument (empty array for a plain invocation). The return
181
183
  value is the RPC envelope `{ ok, value }` where `value` is the
182
184
  `CommandExecution`; command result text carries a `[MF:JSON] {…}` line the
183
185
  panel parses for structured state.
package/lib/client.js CHANGED
@@ -7,7 +7,9 @@
7
7
  * secondary working directories. All copy goes through the framework locale
8
8
  * service (`@deepseek-ai/dsh-client-locale`) — see the "i18n" section below.
9
9
  * Mutations go through the Host `/multi-folder` command via the Remote BFF
10
- * (`ctx.remote.commands.execute(sessionId, line)`); the Host answers with a
10
+ * (`ctx.remote.commands.execute(sessionId, line, [])` DSH 0.1.1 added the
11
+ * composer-images business argument, empty for a plain invocation); the Host
12
+ * answers with a
11
13
  * human-readable result carrying a `[MF:JSON]` line the panel parses for
12
14
  * structured state.
13
15
  *
@@ -339,7 +341,10 @@ window.__ModuleLoader__.load({
339
341
  }
340
342
 
341
343
  function runCommand(sessionId, line) {
342
- return remote.commands.execute(sessionId, line).then(function (envelope) {
344
+ // DSH 0.1.1: commands/execute takes three business arguments —
345
+ // (sessionId, line, images) — plus an optional AbortSignal. The
346
+ // plugin never attaches composer images, so the third is `[]`.
347
+ return remote.commands.execute(sessionId, line, []).then(function (envelope) {
343
348
  if (!envelope || envelope.ok !== true) {
344
349
  throw new Error('multi-folder: ' + (envelope && envelope.error !== undefined ? String(envelope.error) : 'remote call failed'));
345
350
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-multi-folder",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "DeepSeek Harness plugin: secondary working directories for a project. The agent keeps the primary workspace as cwd, gains equal write/exec permissions on configured secondary directories under workspace-write mode, and is notified of configuration changes at the next message boundary. Configurable from the session header AND from the session-creation page (before the first message) through a sessionless multiFolder remote API.",
5
5
  "keywords": [
6
6
  "dsh-plugin",
@@ -39,6 +39,12 @@
39
39
  "docs"
40
40
  ],
41
41
  "dsh": {
42
+ "compatibility": {
43
+ "node": ">=20",
44
+ "dshReleases": {
45
+ "0.1.1-rc.2": "compatible"
46
+ }
47
+ },
42
48
  "bundle": {
43
49
  "patch": "./cordis.patch.yml"
44
50
  },