diff --git a/workflows/sense-generator/roles/coder/index.ts b/workflows/sense-generator/roles/coder/index.ts index a3e2291..6464fba 100644 --- a/workflows/sense-generator/roles/coder/index.ts +++ b/workflows/sense-generator/roles/coder/index.ts @@ -3,10 +3,10 @@ import { createCursorRole } from "@uncaged/nerve-workflow-utils"; import { coderPrompt } from "./prompt.js"; import { z } from "zod"; -export type CoderMeta = { filesCreated: boolean }; export const coderMetaSchema = z.object({ filesCreated: z.boolean().describe("true if the sense files were created"), }); +export type CoderMeta = z.infer; export type BuildCoderDeps = { provider: LlmProvider; diff --git a/workflows/sense-generator/roles/planner/index.ts b/workflows/sense-generator/roles/planner/index.ts index a59fbeb..e98396e 100644 --- a/workflows/sense-generator/roles/planner/index.ts +++ b/workflows/sense-generator/roles/planner/index.ts @@ -3,10 +3,10 @@ import { createCursorRole } from "@uncaged/nerve-workflow-utils"; import { plannerPrompt } from "./prompt.js"; import { z } from "zod"; -export type PlannerMeta = { senseName: string }; export const plannerMetaSchema = z.object({ senseName: z.string().describe("kebab-case sense name from the plan"), }); +export type PlannerMeta = z.infer; export type BuildPlannerDeps = { provider: LlmProvider; diff --git a/workflows/sense-generator/roles/tester/index.ts b/workflows/sense-generator/roles/tester/index.ts index b8f66be..0f54edb 100644 --- a/workflows/sense-generator/roles/tester/index.ts +++ b/workflows/sense-generator/roles/tester/index.ts @@ -3,10 +3,10 @@ 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 TesterMeta = z.infer; export type BuildTesterDeps = { provider: LlmProvider;