import type { LlmProvider } from "@uncaged/nerve-workflow-utils"; import { createHermesRole } from "@uncaged/nerve-workflow-utils"; import { z } from "zod"; import { preparePrompt } from "./prompt.js"; export const prepareMetaSchema = z.object({ ready: z.boolean().describe("true if repo is ready and baseline build ok"), }); export type PrepareMeta = z.infer; export type BuildPrepareDeps = { provider: LlmProvider; }; export function buildPrepareRole({ provider }: BuildPrepareDeps) { return createHermesRole({ prompt: async (threadId) => preparePrompt({ threadId }), extract: { provider, schema: prepareMetaSchema }, }); }