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({ prompt: async (threadId) => testerPrompt({ threadId, sensesDir: SENSES_DIR, nerveRoot: NERVE_ROOT }), extract: { provider, schema: testerMetaSchema }, }); }