@united-workforce/cli 0.6.1 → 0.7.0
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 +89 -1
- package/dist/__tests__/agent-resolution-llm-free.test.js +9 -2
- package/dist/__tests__/agent-resolution-llm-free.test.js.map +1 -1
- package/dist/__tests__/broker-prompt.test.d.ts +10 -0
- package/dist/__tests__/broker-prompt.test.d.ts.map +1 -0
- package/dist/__tests__/broker-prompt.test.js +129 -0
- package/dist/__tests__/broker-prompt.test.js.map +1 -0
- package/dist/__tests__/config.test.js +33 -37
- package/dist/__tests__/config.test.js.map +1 -1
- package/dist/__tests__/e2e-broker-step.test.d.ts +13 -0
- package/dist/__tests__/e2e-broker-step.test.d.ts.map +1 -0
- package/dist/__tests__/e2e-broker-step.test.js +278 -0
- package/dist/__tests__/e2e-broker-step.test.js.map +1 -0
- package/dist/__tests__/e2e-mock-agent.test.js +1 -1
- package/dist/__tests__/e2e-mock-agent.test.js.map +1 -1
- package/dist/__tests__/setup-agent-discovery.test.js +17 -5
- package/dist/__tests__/setup-agent-discovery.test.js.map +1 -1
- package/dist/__tests__/setup-no-llm.test.js +5 -2
- package/dist/__tests__/setup-no-llm.test.js.map +1 -1
- package/dist/__tests__/step-ask.test.js +9 -6
- package/dist/__tests__/step-ask.test.js.map +1 -1
- package/dist/__tests__/thread-agent-failure-suspended.test.js +3 -3
- package/dist/__tests__/thread-agent-failure-suspended.test.js.map +1 -1
- package/dist/__tests__/thread-poke.test.js +6 -6
- package/dist/__tests__/thread-poke.test.js.map +1 -1
- package/dist/__tests__/thread-resume.test.js +2 -2
- package/dist/__tests__/thread-resume.test.js.map +1 -1
- package/dist/__tests__/thread-suspend-step.test.js +1 -1
- package/dist/__tests__/thread-suspend-step.test.js.map +1 -1
- package/dist/commands/broker-step.d.ts +110 -0
- package/dist/commands/broker-step.d.ts.map +1 -0
- package/dist/commands/broker-step.js +450 -0
- package/dist/commands/broker-step.js.map +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +2 -23
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/prompt.js +3 -3
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +8 -1
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/step.d.ts +6 -5
- package/dist/commands/step.d.ts.map +1 -1
- package/dist/commands/step.js +11 -154
- package/dist/commands/step.js.map +1 -1
- package/dist/commands/thread.d.ts +4 -0
- package/dist/commands/thread.d.ts.map +1 -1
- package/dist/commands/thread.js +77 -151
- package/dist/commands/thread.js.map +1 -1
- package/package.json +5 -4
- package/src/__tests__/agent-resolution-llm-free.test.ts +14 -2
- package/src/__tests__/broker-prompt.test.ts +142 -0
- package/src/__tests__/config.test.ts +35 -39
- package/src/__tests__/e2e-broker-step.test.ts +320 -0
- package/src/__tests__/e2e-mock-agent.test.ts +1 -1
- package/src/__tests__/setup-agent-discovery.test.ts +17 -5
- package/src/__tests__/setup-no-llm.test.ts +5 -2
- package/src/__tests__/step-ask.test.ts +9 -6
- package/src/__tests__/thread-agent-failure-suspended.test.ts +3 -3
- package/src/__tests__/thread-poke.test.ts +6 -6
- package/src/__tests__/thread-resume.test.ts +2 -2
- package/src/__tests__/thread-suspend-step.test.ts +1 -1
- package/src/commands/broker-step.ts +636 -0
- package/src/commands/config.ts +2 -24
- package/src/commands/prompt.ts +3 -3
- package/src/commands/setup.ts +9 -1
- package/src/commands/step.ts +21 -204
- package/src/commands/thread.ts +87 -192
- package/dist/.build-fingerprint +0 -1
- package/dist/__tests__/adapter-json-roundtrip.test.d.ts +0 -2
- package/dist/__tests__/adapter-json-roundtrip.test.d.ts.map +0 -1
- package/dist/__tests__/adapter-json-roundtrip.test.js +0 -160
- package/dist/__tests__/adapter-json-roundtrip.test.js.map +0 -1
- package/dist/__tests__/spawn-agent-json.test.d.ts +0 -2
- package/dist/__tests__/spawn-agent-json.test.d.ts.map +0 -1
- package/dist/__tests__/spawn-agent-json.test.js +0 -79
- package/dist/__tests__/spawn-agent-json.test.js.map +0 -1
- package/src/__tests__/adapter-json-roundtrip.test.ts +0 -193
- package/src/__tests__/spawn-agent-json.test.ts +0 -100
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
Layer 4 entry point for the workflow engine. The `uwf` binary orchestrates one step per invocation: load thread head
|
|
7
|
+
Layer 4 entry point for the workflow engine. The `uwf` binary orchestrates one step per invocation: load the thread head, run the moderator, dispatch the role to the configured agent **over the Sumeru HTTP API via the broker** (`broker.send()`), run frontmatter extraction on the agent's reply, append a CAS step node, and update the head pointer (or archive when `$END`). Agents are no longer spawned as CLI subprocesses — `~/.uwf/config.yaml` declares an `agents` map keyed by alias, where each entry resolves to a `{host, gateway}` Sumeru endpoint that the broker contacts directly.
|
|
8
8
|
|
|
9
9
|
### Four-Layer Architecture
|
|
10
10
|
|
|
@@ -68,8 +68,23 @@ The `json` and `yaml` envelopes carry the schema hash on the `type` field so con
|
|
|
68
68
|
|
|
69
69
|
`thread read`, `step list`, and `step show` work on both active and ended threads.
|
|
70
70
|
| `uwf thread stop <thread-id>` | Stop background execution (keep thread active) |
|
|
71
|
+
| `uwf thread resume <thread-id> [-p <text>] [--agent <cmd>]` | Resume a suspended thread and re-run the suspended role |
|
|
72
|
+
| `uwf thread poke <thread-id> -p <text> [--agent <cmd>] [-c <count>]` | Re-run the head step's agent with a supplementary prompt (replaces head step) |
|
|
71
73
|
| `uwf thread cancel <thread-id>` | Cancel thread (stop + archive to history) |
|
|
72
74
|
|
|
75
|
+
### Suspend / Resume
|
|
76
|
+
|
|
77
|
+
When an agent emits `$status: "$SUSPEND"` in its frontmatter, the thread enters `suspended` status. A suspended thread **cannot be advanced with `exec`** — `exec` will detect the suspended head and return immediately without running any agent.
|
|
78
|
+
|
|
79
|
+
To continue a suspended thread, use `resume`:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
uwf thread resume <thread-id> # resume with workflow's default prompt
|
|
83
|
+
uwf thread resume <thread-id> -p "version 1.2.0" # resume with supplementary context
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
> ⚠️ `exec` does not advance suspended threads — you **must** use `resume` to provide context and continue.
|
|
87
|
+
|
|
73
88
|
Examples:
|
|
74
89
|
|
|
75
90
|
```bash
|
|
@@ -159,6 +174,79 @@ Engine config: `~/.uwf/config.yaml` (LLM-free — only `agents`, `defaultAgent`,
|
|
|
159
174
|
|
|
160
175
|
## Migration Guide
|
|
161
176
|
|
|
177
|
+
### Breaking Changes (Phase 3 / #380) — broker integration & `{host, gateway}` agents
|
|
178
|
+
|
|
179
|
+
Phase 3 of the broker rollout removes the legacy `spawnAgent` /
|
|
180
|
+
`executeAgentCommand` / last-stdout-line JSON path from `uwf thread exec`.
|
|
181
|
+
The CLI now calls `broker.send({ threadId, role, prompt })` against the
|
|
182
|
+
Sumeru HTTP API and runs frontmatter extraction on the broker's
|
|
183
|
+
`result.output`. The CLI itself never starts an agent process.
|
|
184
|
+
|
|
185
|
+
This is a breaking 0.x change to `~/.uwf/config.yaml`:
|
|
186
|
+
|
|
187
|
+
| Old (`{command, args}`) | New (`{host, gateway}`) |
|
|
188
|
+
|-------------------------|-------------------------|
|
|
189
|
+
| `agents.<alias>.command` | `agents.<alias>.host` |
|
|
190
|
+
| `agents.<alias>.args` | `agents.<alias>.gateway` |
|
|
191
|
+
|
|
192
|
+
Rewrite each agent entry. Before:
|
|
193
|
+
|
|
194
|
+
```yaml
|
|
195
|
+
agents:
|
|
196
|
+
hermes:
|
|
197
|
+
command: uwf-hermes
|
|
198
|
+
args: ["--verbose"]
|
|
199
|
+
claude-code:
|
|
200
|
+
command: uwf-claude-code
|
|
201
|
+
args: []
|
|
202
|
+
defaultAgent: hermes
|
|
203
|
+
agentOverrides: {}
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
After:
|
|
207
|
+
|
|
208
|
+
```yaml
|
|
209
|
+
agents:
|
|
210
|
+
hermes:
|
|
211
|
+
host: http://127.0.0.1:7900
|
|
212
|
+
gateway: hermes
|
|
213
|
+
claude-code:
|
|
214
|
+
host: http://127.0.0.1:7900
|
|
215
|
+
gateway: claude-code
|
|
216
|
+
defaultAgent: hermes
|
|
217
|
+
agentOverrides: {}
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
The engine config validator (`normalizeAgents` in
|
|
221
|
+
`@united-workforce/util-agent`) now rejects any entry that still carries
|
|
222
|
+
`command` or `args` with a clear migration error. `uwf config set
|
|
223
|
+
agents.<alias>.command ...` is likewise rejected.
|
|
224
|
+
|
|
225
|
+
#### `--agent` override
|
|
226
|
+
|
|
227
|
+
`uwf thread exec --agent <value>` now accepts two shapes:
|
|
228
|
+
|
|
229
|
+
- An alias declared in `agents.*` (e.g. `--agent hermes`).
|
|
230
|
+
- An inline `"<host> <gateway>"` pair (e.g.
|
|
231
|
+
`--agent "http://127.0.0.1:7900 claude-code"`).
|
|
232
|
+
|
|
233
|
+
The legacy bare command override (`--agent uwf-hermes`) is removed.
|
|
234
|
+
|
|
235
|
+
#### `step ask` / `step fork` deferred to Phase 4
|
|
236
|
+
|
|
237
|
+
`uwf step ask` and `uwf step fork` are temporarily disabled in this
|
|
238
|
+
phase. Invoking them returns a clear "not yet supported in Phase 3"
|
|
239
|
+
error rather than silently using the legacy spawn path. Both will be
|
|
240
|
+
restored in Phase 4 once the broker exposes the per-step session
|
|
241
|
+
replay APIs they require.
|
|
242
|
+
|
|
243
|
+
#### Multi-step session reuse & resume
|
|
244
|
+
|
|
245
|
+
The broker rows the `(threadId, role) → sessionId` mapping in its
|
|
246
|
+
SQLite session store. Subsequent steps for the same role on the same
|
|
247
|
+
thread reuse the cached Sumeru session. `uwf thread resume` reuses the
|
|
248
|
+
same cached session — no new Sumeru session is created on resume.
|
|
249
|
+
|
|
162
250
|
### Breaking Changes (v0.5 → v0.6) — output envelope
|
|
163
251
|
|
|
164
252
|
`uwf` now emits an ocas envelope (`{ type, value }`) for `--format json` and `--format yaml`, and the default format changed from `json` to `text`.
|
|
@@ -11,20 +11,27 @@ describe("agent resolution works without LLM fields in config.yaml (issue #143)"
|
|
|
11
11
|
});
|
|
12
12
|
test("loadWorkflowConfig succeeds on a minimal engine-only config", async () => {
|
|
13
13
|
tempDir = mkdtempSync(join(tmpdir(), "uwf-engine-cfg-"));
|
|
14
|
-
writeFileSync(join(tempDir, "config.yaml"), "agents:\n hermes: {
|
|
14
|
+
writeFileSync(join(tempDir, "config.yaml"), "agents:\n hermes: { host: 'http://127.0.0.1:7900', gateway: hermes }\ndefaultAgent: hermes\n", "utf8");
|
|
15
15
|
const cfg = await loadWorkflowConfig(tempDir);
|
|
16
16
|
expect(cfg.defaultAgent).toBe("hermes");
|
|
17
17
|
expect(cfg.agents.hermes).toBeDefined();
|
|
18
|
+
expect(cfg.agents.hermes.host).toBe("http://127.0.0.1:7900");
|
|
19
|
+
expect(cfg.agents.hermes.gateway).toBe("hermes");
|
|
18
20
|
expect(cfg.agentOverrides).toBeNull();
|
|
19
21
|
});
|
|
20
22
|
test("loadWorkflowConfig ignores legacy provider/model fields", async () => {
|
|
21
23
|
tempDir = mkdtempSync(join(tmpdir(), "uwf-engine-cfg-"));
|
|
22
|
-
writeFileSync(join(tempDir, "config.yaml"), "providers:\n openai: { baseUrl: x, apiKey: y }\nmodels:\n default: { provider: openai, name: gpt-4o }\ndefaultModel: default\nagents:\n hermes: {
|
|
24
|
+
writeFileSync(join(tempDir, "config.yaml"), "providers:\n openai: { baseUrl: x, apiKey: y }\nmodels:\n default: { provider: openai, name: gpt-4o }\ndefaultModel: default\nagents:\n hermes: { host: 'http://127.0.0.1:7900', gateway: hermes }\ndefaultAgent: hermes\n", "utf8");
|
|
23
25
|
const cfg = (await loadWorkflowConfig(tempDir));
|
|
24
26
|
expect(cfg.defaultAgent).toBe("hermes");
|
|
25
27
|
expect(cfg.providers).toBeUndefined();
|
|
26
28
|
expect(cfg.models).toBeUndefined();
|
|
27
29
|
expect(cfg.defaultModel).toBeUndefined();
|
|
28
30
|
});
|
|
31
|
+
test("loadWorkflowConfig rejects legacy {command, args} agent shape", async () => {
|
|
32
|
+
tempDir = mkdtempSync(join(tmpdir(), "uwf-engine-cfg-"));
|
|
33
|
+
writeFileSync(join(tempDir, "config.yaml"), "agents:\n hermes: { command: uwf-hermes, args: [] }\ndefaultAgent: hermes\n", "utf8");
|
|
34
|
+
await expect(loadWorkflowConfig(tempDir)).rejects.toThrow(/legacy \{command, args\} fields/);
|
|
35
|
+
});
|
|
29
36
|
});
|
|
30
37
|
//# sourceMappingURL=agent-resolution-llm-free.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-resolution-llm-free.test.js","sourceRoot":"","sources":["../../src/__tests__/agent-resolution-llm-free.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE3D,QAAQ,CAAC,uEAAuE,EAAE,GAAG,EAAE;IACrF,IAAI,OAAe,CAAC;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO;YAAE,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,aAAa,CACX,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAC5B,
|
|
1
|
+
{"version":3,"file":"agent-resolution-llm-free.test.js","sourceRoot":"","sources":["../../src/__tests__/agent-resolution-llm-free.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE3D,QAAQ,CAAC,uEAAuE,EAAE,GAAG,EAAE;IACrF,IAAI,OAAe,CAAC;IACpB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO;YAAE,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC7E,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,aAAa,CACX,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAC5B,+FAA+F,EAC/F,MAAM,CACP,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACzE,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,aAAa,CACX,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAC5B,+NAA+N,EAC/N,MAAM,CACP,CAAC;QACF,MAAM,GAAG,GAAG,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAA4B,CAAC;QAC3E,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC/E,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACzD,aAAa,CACX,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAC5B,8EAA8E,EAC9E,MAAM,CACP,CAAC;QACF,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for `assembleBrokerPrompt` (#387).
|
|
3
|
+
*
|
|
4
|
+
* Verifies the broker path assembles the same five-part prompt the legacy
|
|
5
|
+
* spawned-agent path produced: output-format instruction, thread progress,
|
|
6
|
+
* role prompt (goal/procedure/output), task prompt, and the
|
|
7
|
+
* continuation/edge-prompt context (branching on first visit vs re-entry).
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=broker-prompt.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker-prompt.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/broker-prompt.test.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unit tests for `assembleBrokerPrompt` (#387).
|
|
3
|
+
*
|
|
4
|
+
* Verifies the broker path assembles the same five-part prompt the legacy
|
|
5
|
+
* spawned-agent path produced: output-format instruction, thread progress,
|
|
6
|
+
* role prompt (goal/procedure/output), task prompt, and the
|
|
7
|
+
* continuation/edge-prompt context (branching on first visit vs re-entry).
|
|
8
|
+
*/
|
|
9
|
+
import { describe, expect, test } from "vitest";
|
|
10
|
+
import { assembleBrokerPrompt } from "../commands/broker-step.js";
|
|
11
|
+
const THREAD_ID = "06FCBROKERPROMPTTEST000001";
|
|
12
|
+
const OUTPUT_FORMAT_INSTRUCTION = "## Deliverable Format\n\nemit YAML frontmatter";
|
|
13
|
+
function buildWorkflow() {
|
|
14
|
+
return {
|
|
15
|
+
version: 1,
|
|
16
|
+
name: "review-flow",
|
|
17
|
+
description: "two-role review flow",
|
|
18
|
+
roles: {
|
|
19
|
+
developer: {
|
|
20
|
+
description: "writes code",
|
|
21
|
+
goal: "implement the requested behavior",
|
|
22
|
+
capabilities: ["coding"],
|
|
23
|
+
procedure: "follow the spec and write tests",
|
|
24
|
+
output: "a patch plus a short summary",
|
|
25
|
+
frontmatter: "schema_developer",
|
|
26
|
+
},
|
|
27
|
+
reviewer: {
|
|
28
|
+
description: "reviews code",
|
|
29
|
+
goal: "review the implementation",
|
|
30
|
+
capabilities: [],
|
|
31
|
+
procedure: "check the diff carefully",
|
|
32
|
+
output: "approve or reject",
|
|
33
|
+
frontmatter: "schema_reviewer",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
graph: {},
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function stepContext(role, content, output) {
|
|
40
|
+
return {
|
|
41
|
+
role,
|
|
42
|
+
output,
|
|
43
|
+
detail: "detail_ref",
|
|
44
|
+
agent: "test-agent",
|
|
45
|
+
edgePrompt: "",
|
|
46
|
+
startedAtMs: 0,
|
|
47
|
+
completedAtMs: 1,
|
|
48
|
+
cwd: "",
|
|
49
|
+
assembledPrompt: null,
|
|
50
|
+
usage: null,
|
|
51
|
+
previousAttempts: null,
|
|
52
|
+
content,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
describe("assembleBrokerPrompt", () => {
|
|
56
|
+
test("first visit with no prior steps embeds role prompt, task, and edge prompt", () => {
|
|
57
|
+
const prompt = assembleBrokerPrompt({
|
|
58
|
+
workflow: buildWorkflow(),
|
|
59
|
+
role: "developer",
|
|
60
|
+
threadId: THREAD_ID,
|
|
61
|
+
startPrompt: "Build the login form",
|
|
62
|
+
steps: [],
|
|
63
|
+
edgePrompt: "Implement the behavior defined in the spec files",
|
|
64
|
+
outputFormatInstruction: OUTPUT_FORMAT_INSTRUCTION,
|
|
65
|
+
});
|
|
66
|
+
// 1. output-format instruction
|
|
67
|
+
expect(prompt).toContain("## Deliverable Format");
|
|
68
|
+
// 2. thread progress
|
|
69
|
+
expect(prompt).toContain("## Thread Progress");
|
|
70
|
+
expect(prompt).toContain("This is the first step of the thread");
|
|
71
|
+
// 3. role prompt (goal + procedure + output)
|
|
72
|
+
expect(prompt).toContain("## Goal");
|
|
73
|
+
expect(prompt).toContain("implement the requested behavior");
|
|
74
|
+
expect(prompt).toContain("## Procedure");
|
|
75
|
+
expect(prompt).toContain("follow the spec and write tests");
|
|
76
|
+
expect(prompt).toContain("## Output");
|
|
77
|
+
expect(prompt).toContain("a patch plus a short summary");
|
|
78
|
+
// 4. task prompt
|
|
79
|
+
expect(prompt).toContain("## Task");
|
|
80
|
+
expect(prompt).toContain("Build the login form");
|
|
81
|
+
// 5. edge prompt (no prior steps → "Current Instruction")
|
|
82
|
+
expect(prompt).toContain("## Current Instruction");
|
|
83
|
+
expect(prompt).toContain("Implement the behavior defined in the spec files");
|
|
84
|
+
});
|
|
85
|
+
test("first visit with prior steps includes step content as continuation context", () => {
|
|
86
|
+
const steps = [
|
|
87
|
+
stepContext("planner", "Here is the detailed plan for the feature.", { $status: "done" }),
|
|
88
|
+
];
|
|
89
|
+
const prompt = assembleBrokerPrompt({
|
|
90
|
+
workflow: buildWorkflow(),
|
|
91
|
+
role: "developer",
|
|
92
|
+
threadId: THREAD_ID,
|
|
93
|
+
startPrompt: "Build the login form",
|
|
94
|
+
steps,
|
|
95
|
+
edgePrompt: "Implement the plan",
|
|
96
|
+
outputFormatInstruction: OUTPUT_FORMAT_INSTRUCTION,
|
|
97
|
+
});
|
|
98
|
+
// Developer has not spoken yet → first visit, prior steps shown WITH content.
|
|
99
|
+
expect(prompt).toContain("## What Happened Since Your Last Turn");
|
|
100
|
+
expect(prompt).toContain("Here is the detailed plan for the feature.");
|
|
101
|
+
expect(prompt).toContain("## Moderator Instruction");
|
|
102
|
+
expect(prompt).toContain("Implement the plan");
|
|
103
|
+
// Thread progress reflects the prior step.
|
|
104
|
+
expect(prompt).toContain("Thread step 2");
|
|
105
|
+
});
|
|
106
|
+
test("re-entry shows only steps since last visit (meta-only continuation)", () => {
|
|
107
|
+
const steps = [
|
|
108
|
+
stepContext("developer", "My first implementation attempt.", { $status: "done" }),
|
|
109
|
+
stepContext("reviewer", "Please fix the validation logic.", { $status: "reject" }),
|
|
110
|
+
];
|
|
111
|
+
const prompt = assembleBrokerPrompt({
|
|
112
|
+
workflow: buildWorkflow(),
|
|
113
|
+
role: "developer",
|
|
114
|
+
threadId: THREAD_ID,
|
|
115
|
+
startPrompt: "Build the login form",
|
|
116
|
+
steps,
|
|
117
|
+
edgePrompt: "Address the reviewer feedback",
|
|
118
|
+
outputFormatInstruction: OUTPUT_FORMAT_INSTRUCTION,
|
|
119
|
+
});
|
|
120
|
+
// Re-entry: continuation lists the reviewer step since the last developer turn.
|
|
121
|
+
expect(prompt).toContain("## What Happened Since Your Last Turn");
|
|
122
|
+
expect(prompt).toContain("reviewer");
|
|
123
|
+
expect(prompt).toContain("## Moderator Instruction");
|
|
124
|
+
expect(prompt).toContain("Address the reviewer feedback");
|
|
125
|
+
// Meta-only re-entry omits raw step content from before the last visit.
|
|
126
|
+
expect(prompt).not.toContain("My first implementation attempt.");
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=broker-prompt.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker-prompt.test.js","sourceRoot":"","sources":["../../src/__tests__/broker-prompt.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,18 +10,15 @@ describe("config command", () => {
|
|
|
10
10
|
writeFileSync(configPath, content, "utf8");
|
|
11
11
|
return configPath;
|
|
12
12
|
}
|
|
13
|
-
// Sample test config — engine-only (no providers/models/defaultModel/modelOverrides)
|
|
13
|
+
// Sample test config — engine-only (no providers/models/defaultModel/modelOverrides).
|
|
14
|
+
// Phase 3 (#380) replaced the legacy {command, args} agent shape with {host, gateway}.
|
|
14
15
|
const sampleConfig = `agents:
|
|
15
16
|
hermes:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- --provider
|
|
19
|
-
- dashscope
|
|
17
|
+
host: http://127.0.0.1:7900
|
|
18
|
+
gateway: hermes
|
|
20
19
|
claude-code:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
- --profile
|
|
24
|
-
- work
|
|
20
|
+
host: http://127.0.0.1:7901
|
|
21
|
+
gateway: claude-code
|
|
25
22
|
defaultAgent: hermes
|
|
26
23
|
`;
|
|
27
24
|
describe("helper functions", () => {
|
|
@@ -29,7 +26,7 @@ defaultAgent: hermes
|
|
|
29
26
|
test("splits dot notation correctly", () => {
|
|
30
27
|
expect(parseDotPath("a.b.c")).toEqual(["a", "b", "c"]);
|
|
31
28
|
expect(parseDotPath("defaultAgent")).toEqual(["defaultAgent"]);
|
|
32
|
-
expect(parseDotPath("agents.hermes.
|
|
29
|
+
expect(parseDotPath("agents.hermes.host")).toEqual(["agents", "hermes", "host"]);
|
|
33
30
|
});
|
|
34
31
|
});
|
|
35
32
|
describe("getNestedValue", () => {
|
|
@@ -67,7 +64,7 @@ defaultAgent: hermes
|
|
|
67
64
|
describe("maskApiKeys", () => {
|
|
68
65
|
test("returns deep clone (no mutation) — engine config has no apiKey to mask", () => {
|
|
69
66
|
const config = {
|
|
70
|
-
agents: { hermes: {
|
|
67
|
+
agents: { hermes: { host: "http://127.0.0.1:7900", gateway: "hermes" } },
|
|
71
68
|
defaultAgent: "hermes",
|
|
72
69
|
};
|
|
73
70
|
const masked = maskApiKeys(config);
|
|
@@ -134,12 +131,12 @@ defaultAgent: hermes
|
|
|
134
131
|
rmSync(tempDir, { recursive: true, force: true });
|
|
135
132
|
}
|
|
136
133
|
});
|
|
137
|
-
test("retrieves
|
|
134
|
+
test("retrieves nested string value (agents.hermes.host)", async () => {
|
|
138
135
|
const tempDir = mkdtempSync(join(tmpdir(), "test-config-"));
|
|
139
136
|
try {
|
|
140
137
|
createTestConfig(tempDir, sampleConfig);
|
|
141
|
-
const result = await cmdConfigGet(tempDir, "agents.hermes.
|
|
142
|
-
expect(result).
|
|
138
|
+
const result = await cmdConfigGet(tempDir, "agents.hermes.host");
|
|
139
|
+
expect(result).toBe("http://127.0.0.1:7900");
|
|
143
140
|
}
|
|
144
141
|
finally {
|
|
145
142
|
rmSync(tempDir, { recursive: true, force: true });
|
|
@@ -189,18 +186,17 @@ defaultAgent: hermes
|
|
|
189
186
|
rmSync(tempDir, { recursive: true, force: true });
|
|
190
187
|
}
|
|
191
188
|
});
|
|
192
|
-
test("sets
|
|
189
|
+
test("sets nested string value (agents.hermes.host)", async () => {
|
|
193
190
|
const tempDir = mkdtempSync(join(tmpdir(), "test-config-"));
|
|
194
191
|
try {
|
|
195
192
|
createTestConfig(tempDir, sampleConfig);
|
|
196
|
-
const
|
|
197
|
-
const result = await cmdConfigSet(tempDir, "agents.hermes.args", newArgs);
|
|
193
|
+
const result = await cmdConfigSet(tempDir, "agents.hermes.host", "http://10.0.0.1:7900");
|
|
198
194
|
expect(result).toEqual({
|
|
199
|
-
key: "agents.hermes.
|
|
200
|
-
value:
|
|
195
|
+
key: "agents.hermes.host",
|
|
196
|
+
value: "http://10.0.0.1:7900",
|
|
201
197
|
});
|
|
202
|
-
const updated = await cmdConfigGet(tempDir, "agents.hermes.
|
|
203
|
-
expect(updated).
|
|
198
|
+
const updated = await cmdConfigGet(tempDir, "agents.hermes.host");
|
|
199
|
+
expect(updated).toBe("http://10.0.0.1:7900");
|
|
204
200
|
}
|
|
205
201
|
finally {
|
|
206
202
|
rmSync(tempDir, { recursive: true, force: true });
|
|
@@ -211,8 +207,8 @@ defaultAgent: hermes
|
|
|
211
207
|
try {
|
|
212
208
|
createTestConfig(tempDir, sampleConfig);
|
|
213
209
|
await cmdConfigSet(tempDir, "defaultAgent", "claude-code");
|
|
214
|
-
const
|
|
215
|
-
expect(
|
|
210
|
+
const host = await cmdConfigGet(tempDir, "agents.hermes.host");
|
|
211
|
+
expect(host).toBe("http://127.0.0.1:7900");
|
|
216
212
|
}
|
|
217
213
|
finally {
|
|
218
214
|
rmSync(tempDir, { recursive: true, force: true });
|
|
@@ -241,27 +237,27 @@ defaultAgent: hermes
|
|
|
241
237
|
rmSync(tempDir, { recursive: true, force: true });
|
|
242
238
|
}
|
|
243
239
|
});
|
|
244
|
-
test("throws error when
|
|
240
|
+
test("throws error when value for unknown nested field is invalid", async () => {
|
|
245
241
|
const tempDir = mkdtempSync(join(tmpdir(), "test-config-"));
|
|
246
242
|
try {
|
|
247
243
|
createTestConfig(tempDir, sampleConfig);
|
|
248
|
-
await expect(cmdConfigSet(tempDir, "agents.hermes.args", "[invalid json")).rejects.toThrow();
|
|
244
|
+
await expect(cmdConfigSet(tempDir, "agents.hermes.args", "[invalid json")).rejects.toThrow(/Unknown field/);
|
|
249
245
|
}
|
|
250
246
|
finally {
|
|
251
247
|
rmSync(tempDir, { recursive: true, force: true });
|
|
252
248
|
}
|
|
253
249
|
});
|
|
254
|
-
test("sets agent
|
|
250
|
+
test("sets agent gateway (agents.claude-code.gateway)", async () => {
|
|
255
251
|
const tempDir = mkdtempSync(join(tmpdir(), "test-config-"));
|
|
256
252
|
try {
|
|
257
253
|
createTestConfig(tempDir, sampleConfig);
|
|
258
|
-
const result = await cmdConfigSet(tempDir, "agents.claude-code.
|
|
254
|
+
const result = await cmdConfigSet(tempDir, "agents.claude-code.gateway", "new-gateway");
|
|
259
255
|
expect(result).toEqual({
|
|
260
|
-
key: "agents.claude-code.
|
|
261
|
-
value: "new-
|
|
256
|
+
key: "agents.claude-code.gateway",
|
|
257
|
+
value: "new-gateway",
|
|
262
258
|
});
|
|
263
|
-
const updated = await cmdConfigGet(tempDir, "agents.claude-code.
|
|
264
|
-
expect(updated).toBe("new-
|
|
259
|
+
const updated = await cmdConfigGet(tempDir, "agents.claude-code.gateway");
|
|
260
|
+
expect(updated).toBe("new-gateway");
|
|
265
261
|
}
|
|
266
262
|
finally {
|
|
267
263
|
rmSync(tempDir, { recursive: true, force: true });
|
|
@@ -355,12 +351,12 @@ defaultAgent: hermes
|
|
|
355
351
|
const tempDir = mkdtempSync(join(tmpdir(), "test-config-"));
|
|
356
352
|
try {
|
|
357
353
|
createTestConfig(tempDir, sampleConfig);
|
|
358
|
-
await cmdConfigSet(tempDir, "agents.hermes.
|
|
359
|
-
await cmdConfigSet(tempDir, "agents.hermes.
|
|
360
|
-
const
|
|
361
|
-
const
|
|
362
|
-
expect(
|
|
363
|
-
expect(
|
|
354
|
+
await cmdConfigSet(tempDir, "agents.hermes.host", "http://example:7900");
|
|
355
|
+
await cmdConfigSet(tempDir, "agents.hermes.gateway", "hermes-gw");
|
|
356
|
+
const host = await cmdConfigGet(tempDir, "agents.hermes.host");
|
|
357
|
+
const gateway = await cmdConfigGet(tempDir, "agents.hermes.gateway");
|
|
358
|
+
expect(host).toBe("http://example:7900");
|
|
359
|
+
expect(gateway).toBe("hermes-gw");
|
|
364
360
|
}
|
|
365
361
|
finally {
|
|
366
362
|
rmSync(tempDir, { recursive: true, force: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/__tests__/config.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase 3 (#380) — direct e2e test for `executeBrokerStep`.
|
|
3
|
+
*
|
|
4
|
+
* Stubs `globalThis.fetch` so the Sumeru `createSession` POST and
|
|
5
|
+
* `sendMessage` SSE POST come back deterministically. Verifies:
|
|
6
|
+
* 1. broker.send() is invoked with the resolved (host, gateway, cwd) route.
|
|
7
|
+
* 2. The agent's last assistant turn is extracted via the frontmatter fast-path.
|
|
8
|
+
* 3. A StepNode is persisted to CAS with the role's output schema, edge prompt,
|
|
9
|
+
* and accumulated usage, satisfying schema validation.
|
|
10
|
+
* 4. The broker session store rows the (threadId, role) → sessionId mapping.
|
|
11
|
+
*/
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=e2e-broker-step.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-broker-step.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/e2e-broker-step.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
|