import type { LlmProvider } from "@uncaged/nerve-workflow-utils"; import { createHermesRole } from "@uncaged/nerve-workflow-utils"; import { testerPrompt } from "./prompt.js"; import { z } from "zod"; export type TesterMeta = { passed: boolean }; export const testerMetaSchema = z.object({ passed: z.boolean().describe("true if all e2e checks passed"), }); export type BuildTesterDeps = { provider: LlmProvider; }; export function buildTesterRole({ provider }: BuildTesterDeps) { return createHermesRole({ prompt: async (threadId) => testerPrompt({ threadId }), extract: { provider, schema: testerMetaSchema }, }); }