import type { LlmProvider } from "@uncaged/nerve-workflow-utils"; import { createHermesRole } from "@uncaged/nerve-workflow-utils"; import { testerMetaSchema } from "./types.js"; import type { TesterMeta } from "./types.js"; import { testerPrompt } from "./prompt.js"; export type BuildTesterDeps = { provider: LlmProvider; sensesDir: string; nerveRoot: string; }; export function buildTesterRole(deps: BuildTesterDeps) { return createHermesRole({ prompt: async (threadId) => testerPrompt({ threadId, sensesDir: deps.sensesDir, nerveRoot: deps.nerveRoot }), extract: { provider: deps.provider, schema: testerMetaSchema }, }); }