Replaced 122-line hand-written smoke test with createHermesRole.
Hermes runs the full lifecycle check autonomously via terminal:
files → nerve.yaml → sense list → trigger → query → logs on failure.
All 3 roles now use factories:
planner: createCursorRole (ask mode)
coder: createCursorRole (default mode)
tester: createHermesRole (e2e verification)
小橘 🍊(NEKO Team)
17 lines
719 B
TypeScript
17 lines
719 B
TypeScript
import { createHermesRole } from "@uncaged/nerve-workflow-utils";
|
|
import { resolveDashScopeProvider, NERVE_ROOT, SENSES_DIR } from "../shared.js";
|
|
import { testerMetaSchema } from "../types.js";
|
|
import type { SenseMeta } from "../types.js";
|
|
import { testerPrompt } from "./prompt.js";
|
|
|
|
export async function buildTesterRole() {
|
|
const provider = await resolveDashScopeProvider();
|
|
if (provider === null) {
|
|
throw new Error("Cannot create tester: set DASHSCOPE_API_KEY and DASHSCOPE_BASE_URL");
|
|
}
|
|
return createHermesRole<SenseMeta["tester"]>({
|
|
prompt: async (threadId) => testerPrompt({ threadId, sensesDir: SENSES_DIR, nerveRoot: NERVE_ROOT }),
|
|
extract: { provider, schema: testerMetaSchema },
|
|
});
|
|
}
|