@fuxi-ailabs/dsh-ecat 0.1.0-alpha.2 → 0.1.0-alpha.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 +36 -18
- package/package.json +1 -1
- package/src/plugin.js +5 -2
package/README.md
CHANGED
|
@@ -58,16 +58,34 @@ uses that interpreter instead and never creates a venv.
|
|
|
58
58
|
/ecat-refine preflight
|
|
59
59
|
/ecat-refine start
|
|
60
60
|
/ecat-refine open
|
|
61
|
+
/ecat-refine ui
|
|
61
62
|
/ecat-refine stop
|
|
62
63
|
```
|
|
63
64
|
|
|
64
65
|
Both commands advertise their arguments in the composer hint as soon as you type the
|
|
65
66
|
name: `/ecat-setup [help | <task description>]` and
|
|
66
|
-
`/ecat-refine [help | status | open | start | stop | preflight] [workspace]`.
|
|
67
|
+
`/ecat-refine [help | status | open | start | stop | preflight | ui] [workspace]`.
|
|
67
68
|
|
|
68
69
|
`/ecat-refine` with no subcommand prints the same list as `/ecat-refine help`.
|
|
69
70
|
`/ecat-refine run` starts the runtime-selection conversation explicitly.
|
|
70
71
|
|
|
72
|
+
### The right-sidebar monitor
|
|
73
|
+
|
|
74
|
+
The plugin ships its own monitor panel, served on the DSH origin at `/ecat/` — no
|
|
75
|
+
extra process and no second port:
|
|
76
|
+
|
|
77
|
+
- it opens in the right sidebar automatically once `/ecat-setup` rewrites
|
|
78
|
+
`ecat.config.yaml`, and on demand with `/ecat-refine ui`;
|
|
79
|
+
- it shows the current run: phase stepper, H curve, per-dimension scores, a
|
|
80
|
+
per-iteration work list, generator/discriminator stream events, log tails, and the
|
|
81
|
+
target tree plus `report.md`;
|
|
82
|
+
- the header buttons start and stop the loop through the same scripts as
|
|
83
|
+
`/ecat-refine start|stop`, so an interrupted run can be continued from the panel.
|
|
84
|
+
|
|
85
|
+
If the panel does not appear, run `/ecat-refine status` once (the plugin then knows
|
|
86
|
+
the workspace) or set `workspaceRoot` in the plugin config; the route is only
|
|
87
|
+
registered when the host exposes `ctx.webServer` (the Web profile does).
|
|
88
|
+
|
|
71
89
|
Help output is echoed back through one agent turn. DSH's chat view treats a session
|
|
72
90
|
whose only nodes are commands as blank and shows the welcome screen, so a command
|
|
73
91
|
that merely returns text stays invisible until something creates a conversation turn.
|
|
@@ -149,21 +167,21 @@ than silently reading the session's cwd, which could start the loop on the wrong
|
|
|
149
167
|
| `spawn failed: ENOENT` | `pythonPath` does not exist on the DSH host |
|
|
150
168
|
| preflight `exit 15` | `ecat` is not on the host PATH |
|
|
151
169
|
| preflight `exit 13` | the variable named by `api_key_env` has no value in `<ws>/.env` |
|
|
152
|
-
|
|
153
|
-
## Releasing the npm package
|
|
154
|
-
|
|
155
|
-
Everything needed to build and publish ships on the `dsh-plugin` branch: `src/`,
|
|
156
|
-
the two skills under `assets/skills/`, and the ECAT wheel under `assets/wheels/`.
|
|
157
|
-
The `ECAT_core` branch is not required for a release (refresh the wheel only when
|
|
158
|
-
core behaviour that the plugin relies on changed).
|
|
159
|
-
|
|
160
|
-
1. `git checkout dsh-plugin` and make sure the tree is clean.
|
|
161
|
-
2. `node integrations/dsh/scripts/sync-skills.mjs` — keeps `assets/skills` identical to `./skills`.
|
|
162
|
-
3. If ECAT core changed: build a wheel from that revision (`uv build`) and replace `assets/wheels/ecat-*.whl`.
|
|
163
|
-
4. Bump the version: `npm version prerelease --preid=alpha --no-git-tag-version`.
|
|
164
|
-
5. `cd integrations/dsh && npm pack --dry-run` — expect the same 37 files, including `src/client.js`.
|
|
165
|
-
6. `npm publish --tag alpha`.
|
|
166
|
-
7. `git push origin dsh-plugin`.
|
|
167
|
-
|
|
168
|
-
Keep `name` in `package.json` and the `insert` entry in `cordis.patch.yml`
|
|
170
|
+
|
|
171
|
+
## Releasing the npm package
|
|
172
|
+
|
|
173
|
+
Everything needed to build and publish ships on the `dsh-plugin` branch: `src/`,
|
|
174
|
+
the two skills under `assets/skills/`, and the ECAT wheel under `assets/wheels/`.
|
|
175
|
+
The `ECAT_core` branch is not required for a release (refresh the wheel only when
|
|
176
|
+
core behaviour that the plugin relies on changed).
|
|
177
|
+
|
|
178
|
+
1. `git checkout dsh-plugin` and make sure the tree is clean.
|
|
179
|
+
2. `node integrations/dsh/scripts/sync-skills.mjs` — keeps `assets/skills` identical to `./skills`.
|
|
180
|
+
3. If ECAT core changed: build a wheel from that revision (`uv build`) and replace `assets/wheels/ecat-*.whl`.
|
|
181
|
+
4. Bump the version: `npm version prerelease --preid=alpha --no-git-tag-version`.
|
|
182
|
+
5. `cd integrations/dsh && npm pack --dry-run` — expect the same 37 files, including `src/client.js`.
|
|
183
|
+
6. `npm publish --tag alpha`.
|
|
184
|
+
7. `git push origin dsh-plugin`.
|
|
185
|
+
|
|
186
|
+
Keep `name` in `package.json` and the `insert` entry in `cordis.patch.yml`
|
|
169
187
|
identical (`@fuxi-ailabs/dsh-ecat`); a mismatch makes the plugin fail to import.
|
package/package.json
CHANGED
package/src/plugin.js
CHANGED
|
@@ -295,11 +295,14 @@ export function apply(ctx, config = {}) {
|
|
|
295
295
|
// without a web server (tests, headless profiles) still loads the commands.
|
|
296
296
|
if (typeof ctx.inject === 'function') {
|
|
297
297
|
ctx.inject(['webServer'], (scope) => {
|
|
298
|
-
const
|
|
298
|
+
const configured = config.workspaceRoot || null;
|
|
299
299
|
scope.effect(() => scope.webServer.register({
|
|
300
300
|
kind: 'prefix',
|
|
301
301
|
path: '/ecat',
|
|
302
|
-
|
|
302
|
+
// A configured root wins; otherwise fall back to the last workspace a
|
|
303
|
+
// command resolved, then to the process cwd (a stale pointer must not
|
|
304
|
+
// point the panel at an unrelated tree).
|
|
305
|
+
handler: (req, res) => createEcatHandler(configured || rememberedWorkspace() || process.cwd())(req, res),
|
|
303
306
|
}), 'ecat: web ui');
|
|
304
307
|
});
|
|
305
308
|
}
|