@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.
Files changed (78) hide show
  1. package/README.md +89 -1
  2. package/dist/__tests__/agent-resolution-llm-free.test.js +9 -2
  3. package/dist/__tests__/agent-resolution-llm-free.test.js.map +1 -1
  4. package/dist/__tests__/broker-prompt.test.d.ts +10 -0
  5. package/dist/__tests__/broker-prompt.test.d.ts.map +1 -0
  6. package/dist/__tests__/broker-prompt.test.js +129 -0
  7. package/dist/__tests__/broker-prompt.test.js.map +1 -0
  8. package/dist/__tests__/config.test.js +33 -37
  9. package/dist/__tests__/config.test.js.map +1 -1
  10. package/dist/__tests__/e2e-broker-step.test.d.ts +13 -0
  11. package/dist/__tests__/e2e-broker-step.test.d.ts.map +1 -0
  12. package/dist/__tests__/e2e-broker-step.test.js +278 -0
  13. package/dist/__tests__/e2e-broker-step.test.js.map +1 -0
  14. package/dist/__tests__/e2e-mock-agent.test.js +1 -1
  15. package/dist/__tests__/e2e-mock-agent.test.js.map +1 -1
  16. package/dist/__tests__/setup-agent-discovery.test.js +17 -5
  17. package/dist/__tests__/setup-agent-discovery.test.js.map +1 -1
  18. package/dist/__tests__/setup-no-llm.test.js +5 -2
  19. package/dist/__tests__/setup-no-llm.test.js.map +1 -1
  20. package/dist/__tests__/step-ask.test.js +9 -6
  21. package/dist/__tests__/step-ask.test.js.map +1 -1
  22. package/dist/__tests__/thread-agent-failure-suspended.test.js +3 -3
  23. package/dist/__tests__/thread-agent-failure-suspended.test.js.map +1 -1
  24. package/dist/__tests__/thread-poke.test.js +6 -6
  25. package/dist/__tests__/thread-poke.test.js.map +1 -1
  26. package/dist/__tests__/thread-resume.test.js +2 -2
  27. package/dist/__tests__/thread-resume.test.js.map +1 -1
  28. package/dist/__tests__/thread-suspend-step.test.js +1 -1
  29. package/dist/__tests__/thread-suspend-step.test.js.map +1 -1
  30. package/dist/commands/broker-step.d.ts +110 -0
  31. package/dist/commands/broker-step.d.ts.map +1 -0
  32. package/dist/commands/broker-step.js +450 -0
  33. package/dist/commands/broker-step.js.map +1 -0
  34. package/dist/commands/config.d.ts.map +1 -1
  35. package/dist/commands/config.js +2 -23
  36. package/dist/commands/config.js.map +1 -1
  37. package/dist/commands/prompt.js +3 -3
  38. package/dist/commands/setup.d.ts.map +1 -1
  39. package/dist/commands/setup.js +8 -1
  40. package/dist/commands/setup.js.map +1 -1
  41. package/dist/commands/step.d.ts +6 -5
  42. package/dist/commands/step.d.ts.map +1 -1
  43. package/dist/commands/step.js +11 -154
  44. package/dist/commands/step.js.map +1 -1
  45. package/dist/commands/thread.d.ts +4 -0
  46. package/dist/commands/thread.d.ts.map +1 -1
  47. package/dist/commands/thread.js +77 -151
  48. package/dist/commands/thread.js.map +1 -1
  49. package/package.json +5 -4
  50. package/src/__tests__/agent-resolution-llm-free.test.ts +14 -2
  51. package/src/__tests__/broker-prompt.test.ts +142 -0
  52. package/src/__tests__/config.test.ts +35 -39
  53. package/src/__tests__/e2e-broker-step.test.ts +320 -0
  54. package/src/__tests__/e2e-mock-agent.test.ts +1 -1
  55. package/src/__tests__/setup-agent-discovery.test.ts +17 -5
  56. package/src/__tests__/setup-no-llm.test.ts +5 -2
  57. package/src/__tests__/step-ask.test.ts +9 -6
  58. package/src/__tests__/thread-agent-failure-suspended.test.ts +3 -3
  59. package/src/__tests__/thread-poke.test.ts +6 -6
  60. package/src/__tests__/thread-resume.test.ts +2 -2
  61. package/src/__tests__/thread-suspend-step.test.ts +1 -1
  62. package/src/commands/broker-step.ts +636 -0
  63. package/src/commands/config.ts +2 -24
  64. package/src/commands/prompt.ts +3 -3
  65. package/src/commands/setup.ts +9 -1
  66. package/src/commands/step.ts +21 -204
  67. package/src/commands/thread.ts +87 -192
  68. package/dist/.build-fingerprint +0 -1
  69. package/dist/__tests__/adapter-json-roundtrip.test.d.ts +0 -2
  70. package/dist/__tests__/adapter-json-roundtrip.test.d.ts.map +0 -1
  71. package/dist/__tests__/adapter-json-roundtrip.test.js +0 -160
  72. package/dist/__tests__/adapter-json-roundtrip.test.js.map +0 -1
  73. package/dist/__tests__/spawn-agent-json.test.d.ts +0 -2
  74. package/dist/__tests__/spawn-agent-json.test.d.ts.map +0 -1
  75. package/dist/__tests__/spawn-agent-json.test.js +0 -79
  76. package/dist/__tests__/spawn-agent-json.test.js.map +0 -1
  77. package/src/__tests__/adapter-json-roundtrip.test.ts +0 -193
  78. package/src/__tests__/spawn-agent-json.test.ts +0 -100
@@ -1,4 +1,4 @@
1
- import { execFileSync, spawn } from "node:child_process";
1
+ import { spawn } from "node:child_process";
2
2
  import { access, readFile } from "node:fs/promises";
3
3
  import { dirname, isAbsolute, join, resolve as resolvePath } from "node:path";
4
4
  import { validate } from "@ocas/core";
@@ -14,6 +14,7 @@ import { evaluate } from "../moderator/index.js";
14
14
  import { completeThread, createUwfStore, findRegistryName, getThread, loadActiveThreads, loadHistoryThreads, loadWorkflowRegistry, resolveWorkflowHash, setThread, } from "../store.js";
15
15
  import { checkWorkflowFilenameConsistency, isCasRef, parseWorkflowPayload } from "../validate.js";
16
16
  import { validateWorkflow } from "../validate-semantic.js";
17
+ import { executeBrokerStep } from "./broker-step.js";
17
18
  import { getConfigPath, getNestedValue, loadConfig, loadWorkflowPaths, parseDotPath, } from "./config.js";
18
19
  import { collectOrderedSteps, expandOutput, fail, walkChain, } from "./shared.js";
19
20
  import { materializeWorkflowPayload } from "./workflow.js";
@@ -116,7 +117,6 @@ function resolveCurrentRole(uwf, head, workflowRef) {
116
117
  }
117
118
  const PL_THREAD_START = "7HNQ4B2X";
118
119
  const PL_MODERATOR = "M3K8V9T1";
119
- const PL_AGENT_SPAWN = "R5J2W8N4";
120
120
  const PL_AGENT_DONE = "C6P9E3H7";
121
121
  const PL_AGENT_ERROR = "Z3F7K8M2";
122
122
  const PL_THREAD_ARCHIVED = "F4D8Q2K5";
@@ -805,105 +805,6 @@ function loadWorkflowPayload(uwf, workflowRef) {
805
805
  }
806
806
  return node.payload;
807
807
  }
808
- function parseAgentOverride(override) {
809
- const parts = override
810
- .trim()
811
- .split(/\s+/)
812
- .filter((p) => p.length > 0);
813
- const command = parts[0];
814
- if (command === undefined) {
815
- fail("agent override must not be empty");
816
- }
817
- return { command, args: parts.slice(1) };
818
- }
819
- function resolveAgentConfig(config, workflow, role, agentOverride) {
820
- if (agentOverride !== null) {
821
- // Try config alias first (e.g. "hermes" → config.agents.hermes),
822
- // then fall back to raw command name (e.g. "uwf-hermes" or "/usr/bin/agent").
823
- const fromAlias = config.agents[agentOverride];
824
- if (fromAlias !== undefined) {
825
- return fromAlias;
826
- }
827
- return parseAgentOverride(agentOverride);
828
- }
829
- let alias = config.defaultAgent;
830
- if (config.agentOverrides !== null) {
831
- const roleOverrides = config.agentOverrides[workflow.name];
832
- if (roleOverrides !== undefined && roleOverrides[role] !== undefined) {
833
- alias = roleOverrides[role];
834
- }
835
- }
836
- const agentConfig = config.agents[alias];
837
- if (agentConfig === undefined) {
838
- fail(`unknown agent alias in config: ${alias}`);
839
- }
840
- return agentConfig;
841
- }
842
- function executeAgentCommand(agent, argv, cwd, plog) {
843
- try {
844
- return execFileSync(agent.command, argv, {
845
- encoding: "utf8",
846
- stdio: ["ignore", "pipe", "pipe"],
847
- maxBuffer: 50 * 1024 * 1024, // 50 MB — stream-json output can be large
848
- cwd,
849
- });
850
- }
851
- catch (e) {
852
- const err = e;
853
- if (err.code === "ENOENT") {
854
- failStep(plog, `"${agent.command}" not found in PATH. Install it or check your PATH config. Run: which ${agent.command}`);
855
- }
856
- const stderr = err.stderr == null
857
- ? ""
858
- : typeof err.stderr === "string"
859
- ? err.stderr
860
- : err.stderr.toString("utf8");
861
- const detail = stderr.trim() !== "" ? `: ${stderr.trim()}` : "";
862
- failStep(plog, `agent command failed (${agent.command})${detail}`);
863
- }
864
- }
865
- function parseAgentOutput(stdout, plog) {
866
- const line = stdout.trim().split("\n").pop()?.trim() ?? "";
867
- try {
868
- return JSON.parse(line);
869
- }
870
- catch {
871
- failStep(plog, `agent stdout last line is not valid JSON: ${line || "(empty)"}`);
872
- }
873
- }
874
- function validateAndNormalizeOutput(parsed, line, plog) {
875
- const obj = parsed;
876
- if (typeof obj !== "object" ||
877
- obj === null ||
878
- typeof obj.stepHash !== "string" ||
879
- !isCasRef(obj.stepHash)) {
880
- failStep(plog, `agent stdout JSON missing valid stepHash: ${line}`);
881
- }
882
- // Normalize isError / errorMessage so downstream code can rely on them.
883
- // Legacy adapters that don't emit these fields default to isError=false.
884
- if (obj.isError !== undefined && typeof obj.isError !== "boolean") {
885
- failStep(plog, `agent stdout JSON has non-boolean isError: ${line}`);
886
- }
887
- if (obj.isError === undefined) {
888
- obj.isError = false;
889
- }
890
- if (obj.errorMessage !== undefined &&
891
- obj.errorMessage !== null &&
892
- typeof obj.errorMessage !== "string") {
893
- failStep(plog, `agent stdout JSON has non-string errorMessage: ${line}`);
894
- }
895
- if (obj.errorMessage === undefined) {
896
- obj.errorMessage = null;
897
- }
898
- return obj;
899
- }
900
- function spawnAgent(plog, agent, threadId, role, edgePrompt, cwd) {
901
- const argv = [...agent.args, "--thread", threadId, "--role", role, "--prompt", edgePrompt];
902
- const stdout = executeAgentCommand(agent, argv, cwd, plog);
903
- const line = stdout.trim().split("\n").pop()?.trim() ?? "";
904
- const parsed = parseAgentOutput(stdout, plog);
905
- return validateAndNormalizeOutput(parsed, line, plog);
906
- }
907
808
  function archiveThread(uwf, threadId, _workflow, _head) {
908
809
  completeThread(uwf.varStore, threadId, "end");
909
810
  }
@@ -1020,6 +921,10 @@ function resolveCurrentRoleFromChain(uwfAfter, workflow, replacedHash) {
1020
921
  * replacing the head step's output. The new step's `prev` points to the OLD head's
1021
922
  * `prev` — semantically replacing (not appending to) the head. The moderator is NOT
1022
923
  * re-evaluated for routing; the role of the head step is re-used.
924
+ *
925
+ * Phase 3 (#380) — drives the broker via `executeBrokerStep` rather than the
926
+ * legacy `spawnAgent` path. The replace-semantics StepNode is built directly by
927
+ * passing `prevHash = oldHeadPayload.prev`, so no post-hoc rewrite is needed.
1023
928
  */
1024
929
  export async function cmdThreadPoke(storageRoot, threadId, prompt, agentOverride) {
1025
930
  const uwf = await createUwfStore(storageRoot);
@@ -1031,52 +936,62 @@ export async function cmdThreadPoke(storageRoot, threadId, prompt, agentOverride
1031
936
  storageRoot,
1032
937
  context: { thread: threadId, workflow: workflowHash },
1033
938
  });
1034
- // Resolve the agent: --agent override wins; otherwise read from old head step's `agent` field.
1035
939
  const config = await loadWorkflowConfig(storageRoot);
1036
940
  const workflow = loadWorkflowPayload(uwf, workflowHash);
1037
941
  const role = oldHeadPayload.role;
1038
- const agent = agentOverride !== null
1039
- ? resolveAgentConfig(config, workflow, role, agentOverride)
1040
- : parseAgentOverride(oldHeadPayload.agent);
1041
942
  const effectiveCwd = oldHeadPayload.cwd !== "" ? oldHeadPayload.cwd : threadCwd;
1042
- plog.log(PL_THREAD_POKE, `poke role=${role} agent=${agent.command}`, null);
1043
- plog.log(PL_AGENT_SPAWN, `spawning agent command=${agent.command}`, {
1044
- args: [...agent.args, threadId, role].join(" "),
1045
- });
943
+ plog.log(PL_THREAD_POKE, `poke role=${role}`, null);
1046
944
  loadDotenv({ path: getEnvPath(storageRoot) });
1047
- // Spawn the agent. The agent will create a new StepNode with prev=oldHead (it reads
1048
- // the active thread head). After the agent returns, we rewrite that node's prev so
1049
- // that the new head replaces the old head instead of appending after it.
1050
- let agentResult;
945
+ // Replace semantics: the new step's `prev` is the OLD head's prev, not the
946
+ // OLD head itself. `executeBrokerStep` writes the StepNode with this prev,
947
+ // so no post-hoc rewrite is needed.
948
+ let result;
1051
949
  try {
1052
- agentResult = spawnAgent(plog, agent, threadId, role, prompt, effectiveCwd);
950
+ result = await executeBrokerStep({
951
+ storageRoot,
952
+ uwf,
953
+ config,
954
+ workflow,
955
+ threadId,
956
+ role,
957
+ edgePrompt: prompt,
958
+ effectiveCwd,
959
+ startHash: chain.startHash,
960
+ prevHash: oldHeadPayload.prev,
961
+ agentOverride,
962
+ previousAttempts: null,
963
+ plog,
964
+ });
1053
965
  }
1054
966
  catch (e) {
1055
967
  if (e instanceof StepFailureError) {
1056
- // Fatal agent failure in poke — persist suspended state before propagating
968
+ // Fatal broker failure in poke — persist suspended state before propagating
1057
969
  const uwfErr = await createUwfStore(storageRoot);
1058
970
  const errEntry = getThread(uwfErr.varStore, threadId) ?? entry;
1059
971
  setThread(uwfErr.varStore, threadId, markThreadSuspended(errEntry, role, e.message));
1060
972
  }
1061
973
  throw e;
1062
974
  }
1063
- const agentStepHash = agentResult.stepHash;
1064
- plog.log(PL_AGENT_DONE, `agent returned head=${agentStepHash}`, null);
975
+ const replacedHash = result.stepHash;
976
+ plog.log(PL_AGENT_DONE, `broker returned head=${replacedHash}`, null);
1065
977
  const uwfAfter = await createUwfStore(storageRoot);
1066
- const agentNode = uwfAfter.store.cas.get(agentStepHash);
1067
- if (agentNode === null || agentNode.type !== uwfAfter.schemas.stepNode) {
1068
- failStep(plog, `agent returned hash that is not a StepNode: ${agentStepHash}`);
1069
- }
1070
- const agentPayload = agentNode.payload;
1071
- // Rewrite the new step so that its `prev` points to the OLD head's prev (replace semantics).
1072
- const replacedPayload = {
1073
- ...agentPayload,
1074
- prev: oldHeadPayload.prev,
1075
- };
1076
- const replacedHash = await uwfAfter.store.cas.put(uwfAfter.schemas.stepNode, replacedPayload);
1077
- const replacedNode = uwfAfter.store.cas.get(replacedHash);
1078
- if (replacedNode === null || !validate(uwfAfter.store, replacedNode)) {
1079
- failStep(plog, "rewritten StepNode failed schema validation");
978
+ // Recoverable broker error: do NOT advance head, persist suspended state.
979
+ if (result.isError) {
980
+ const errorMsg = result.errorMessage ?? "broker reported error";
981
+ plog.log(PL_AGENT_ERROR, `poke recoverable failure stepHash=${replacedHash} message=${errorMsg}`, null);
982
+ setThread(uwfAfter.varStore, threadId, markThreadSuspended(entry, role, errorMsg));
983
+ return {
984
+ workflow: workflowHash,
985
+ thread: threadId,
986
+ head: entry.head,
987
+ status: "suspended",
988
+ currentRole: role,
989
+ suspendedRole: role,
990
+ suspendMessage: errorMsg,
991
+ done: false,
992
+ background: null,
993
+ error: { stepHash: replacedHash, message: errorMsg },
994
+ };
1080
995
  }
1081
996
  // Update thread head to the replaced step. Status becomes idle (no moderator re-route).
1082
997
  setThread(uwfAfter.varStore, threadId, updateThreadHead(entry, replacedHash));
@@ -1394,17 +1309,13 @@ async function cmdThreadStepOnce(storageRoot, threadId, agentOverride, plog, res
1394
1309
  }
1395
1310
  const { role, edgePrompt, effectiveCwd } = targetOrOutput;
1396
1311
  const config = await loadWorkflowConfig(storageRoot);
1397
- const agent = resolveAgentConfig(config, workflow, role, agentOverride);
1398
- plog.log(PL_AGENT_SPAWN, `spawning agent command=${agent.command}`, {
1399
- args: [...agent.args, threadId, role].join(" "),
1400
- });
1401
1312
  loadDotenv({ path: getEnvPath(storageRoot) });
1402
- // Wrap agent execution in a try-catch: when the agent command crashes
1403
- // (non-zero exit, unparseable output, invalid CAS node, etc.), failStep throws
1313
+ // Wrap broker execution in a try-catch: when the broker raises a fatal
1314
+ // error (HTTP failure, schema validation crash, etc.), failStep throws
1404
1315
  // StepFailureError. We catch it to persist suspended state before re-throwing
1405
1316
  // so the CLI still exits non-zero.
1406
1317
  try {
1407
- return await executeAndProcessAgentStep(storageRoot, threadId, headHash, workflowHash, workflow, role, edgePrompt, effectiveCwd, agent, plog);
1318
+ return await executeAndProcessAgentStep(storageRoot, threadId, headHash, workflowHash, workflow, role, edgePrompt, effectiveCwd, uwf, config, chain.startHash, agentOverride, plog);
1408
1319
  }
1409
1320
  catch (e) {
1410
1321
  if (e instanceof StepFailureError) {
@@ -1417,26 +1328,41 @@ async function cmdThreadStepOnce(storageRoot, threadId, agentOverride, plog, res
1417
1328
  }
1418
1329
  }
1419
1330
  /**
1420
- * Execute the agent command and process the result. Separated from cmdThreadStepOnce
1331
+ * Execute the broker step and process the result. Separated from cmdThreadStepOnce
1421
1332
  * so that fatal failures (StepFailureError) can be caught and handled by the caller.
1333
+ *
1334
+ * Phase 3 (#380) — drives the broker via `executeBrokerStep` rather than the
1335
+ * legacy `spawnAgent` path. The broker writes the StepNode (including the
1336
+ * frontmatter retry chain) directly into CAS; the CLI only advances the head
1337
+ * pointer afterwards.
1422
1338
  */
1423
- async function executeAndProcessAgentStep(storageRoot, threadId, headHash, workflowHash, workflow, role, edgePrompt, effectiveCwd, agent, plog) {
1424
- const agentResult = spawnAgent(plog, agent, threadId, role, edgePrompt, effectiveCwd);
1425
- const newHead = agentResult.stepHash;
1426
- plog.log(PL_AGENT_DONE, `agent returned head=${newHead}`, null);
1339
+ async function executeAndProcessAgentStep(storageRoot, threadId, headHash, workflowHash, workflow, role, edgePrompt, effectiveCwd, uwf, config, startHash, agentOverride, plog) {
1340
+ const result = await executeBrokerStep({
1341
+ storageRoot,
1342
+ uwf,
1343
+ config,
1344
+ workflow,
1345
+ threadId,
1346
+ role,
1347
+ edgePrompt,
1348
+ effectiveCwd,
1349
+ startHash,
1350
+ prevHash: headHash === startHash ? null : headHash,
1351
+ agentOverride,
1352
+ previousAttempts: null,
1353
+ plog,
1354
+ });
1355
+ const newHead = result.stepHash;
1356
+ plog.log(PL_AGENT_DONE, `broker returned head=${newHead}`, null);
1427
1357
  const uwfAfter = await createUwfStore(storageRoot);
1428
- const newNode = uwfAfter.store.cas.get(newHead);
1429
- if (newNode === null || newNode.type !== uwfAfter.schemas.stepNode) {
1430
- failStep(plog, `agent returned hash that is not a StepNode: ${newHead}`);
1431
- }
1432
- // Recoverable failure: agent persisted a failed StepNode (e.g. frontmatter
1358
+ // Recoverable failure: broker persisted a failed StepNode (e.g. frontmatter
1433
1359
  // validation exhausted retries) but the engine MUST NOT advance head. The
1434
1360
  // moderator graph is also untouched — the same role will be replayed on the
1435
1361
  // next exec (until eventual success records `previousAttempts` linking the
1436
1362
  // failed step hashes).
1437
- if (agentResult.isError === true) {
1438
- const errorMsg = agentResult.errorMessage ?? "agent reported error";
1439
- plog.log(PL_AGENT_ERROR, `agent reported recoverable failure stepHash=${newHead} message=${errorMsg}`, null);
1363
+ if (result.isError === true) {
1364
+ const errorMsg = result.errorMessage ?? "broker reported error";
1365
+ plog.log(PL_AGENT_ERROR, `broker reported recoverable failure stepHash=${newHead} message=${errorMsg}`, null);
1440
1366
  // Persist suspended state so `thread list --status suspended` reflects the failure.
1441
1367
  const priorEntry = getThread(uwfAfter.varStore, threadId) ?? createThreadIndexEntry(headHash);
1442
1368
  setThread(uwfAfter.varStore, threadId, markThreadSuspended(priorEntry, role, errorMsg));
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread.js","sourceRoot":"","sources":["../../src/commands/thread.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@united-workforce/cli",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "files": [
5
5
  "src",
6
6
  "dist",
@@ -18,9 +18,10 @@
18
18
  "dotenv": "^16.6.1",
19
19
  "liquidjs": "^10.27.0",
20
20
  "yaml": "^2.8.4",
21
- "@united-workforce/util": "^0.2.0",
22
- "@united-workforce/util-agent": "^0.2.1",
23
- "@united-workforce/protocol": "^0.3.0"
21
+ "@united-workforce/util": "^0.2.1",
22
+ "@united-workforce/broker": "^0.2.0",
23
+ "@united-workforce/util-agent": "^0.3.0",
24
+ "@united-workforce/protocol": "^0.4.0"
24
25
  },
25
26
  "publishConfig": {
26
27
  "access": "public"
@@ -14,12 +14,14 @@ describe("agent resolution works without LLM fields in config.yaml (issue #143)"
14
14
  tempDir = mkdtempSync(join(tmpdir(), "uwf-engine-cfg-"));
15
15
  writeFileSync(
16
16
  join(tempDir, "config.yaml"),
17
- "agents:\n hermes: { command: uwf-hermes, args: [] }\ndefaultAgent: hermes\n",
17
+ "agents:\n hermes: { host: 'http://127.0.0.1:7900', gateway: hermes }\ndefaultAgent: hermes\n",
18
18
  "utf8",
19
19
  );
20
20
  const cfg = await loadWorkflowConfig(tempDir);
21
21
  expect(cfg.defaultAgent).toBe("hermes");
22
22
  expect(cfg.agents.hermes).toBeDefined();
23
+ expect(cfg.agents.hermes.host).toBe("http://127.0.0.1:7900");
24
+ expect(cfg.agents.hermes.gateway).toBe("hermes");
23
25
  expect(cfg.agentOverrides).toBeNull();
24
26
  });
25
27
 
@@ -27,7 +29,7 @@ describe("agent resolution works without LLM fields in config.yaml (issue #143)"
27
29
  tempDir = mkdtempSync(join(tmpdir(), "uwf-engine-cfg-"));
28
30
  writeFileSync(
29
31
  join(tempDir, "config.yaml"),
30
- "providers:\n openai: { baseUrl: x, apiKey: y }\nmodels:\n default: { provider: openai, name: gpt-4o }\ndefaultModel: default\nagents:\n hermes: { command: uwf-hermes, args: [] }\ndefaultAgent: hermes\n",
32
+ "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",
31
33
  "utf8",
32
34
  );
33
35
  const cfg = (await loadWorkflowConfig(tempDir)) as Record<string, unknown>;
@@ -36,4 +38,14 @@ describe("agent resolution works without LLM fields in config.yaml (issue #143)"
36
38
  expect(cfg.models).toBeUndefined();
37
39
  expect(cfg.defaultModel).toBeUndefined();
38
40
  });
41
+
42
+ test("loadWorkflowConfig rejects legacy {command, args} agent shape", async () => {
43
+ tempDir = mkdtempSync(join(tmpdir(), "uwf-engine-cfg-"));
44
+ writeFileSync(
45
+ join(tempDir, "config.yaml"),
46
+ "agents:\n hermes: { command: uwf-hermes, args: [] }\ndefaultAgent: hermes\n",
47
+ "utf8",
48
+ );
49
+ await expect(loadWorkflowConfig(tempDir)).rejects.toThrow(/legacy \{command, args\} fields/);
50
+ });
39
51
  });