diff --git a/workflows/sense-generator/moderator.ts b/workflows/sense-generator/moderator.ts index 65cb8f4..567881b 100644 --- a/workflows/sense-generator/moderator.ts +++ b/workflows/sense-generator/moderator.ts @@ -1,8 +1,8 @@ import { END } from "@uncaged/nerve-core"; import type { Moderator } from "@uncaged/nerve-core"; -import type { PlannerMeta } from "./roles/planner/types.js"; -import type { CoderMeta } from "./roles/coder/types.js"; -import type { TesterMeta } from "./roles/tester/types.js"; +import type { PlannerMeta } from "./roles/planner/index.js"; +import type { CoderMeta } from "./roles/coder/index.js"; +import type { TesterMeta } from "./roles/tester/index.js"; export type SenseMeta = { planner: PlannerMeta; diff --git a/workflows/sense-generator/roles/coder/index.ts b/workflows/sense-generator/roles/coder/index.ts index 28d4eb9..6f71f54 100644 --- a/workflows/sense-generator/roles/coder/index.ts +++ b/workflows/sense-generator/roles/coder/index.ts @@ -1,8 +1,12 @@ import type { LlmProvider } from "@uncaged/nerve-workflow-utils"; import { createCursorRole } from "@uncaged/nerve-workflow-utils"; -import { coderMetaSchema } from "./types.js"; -import type { CoderMeta } from "./types.js"; 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 BuildCoderDeps = { provider: LlmProvider; @@ -19,3 +23,5 @@ export function buildCoderRole({ provider, cwd, sensesDir, nerveRoot }: BuildCod extract: { provider, schema: coderMetaSchema }, }); } + + diff --git a/workflows/sense-generator/roles/coder/types.ts b/workflows/sense-generator/roles/coder/types.ts deleted file mode 100644 index cd2e19d..0000000 --- a/workflows/sense-generator/roles/coder/types.ts +++ /dev/null @@ -1,7 +0,0 @@ -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"), -}); diff --git a/workflows/sense-generator/roles/planner/index.ts b/workflows/sense-generator/roles/planner/index.ts index 9194821..1e07783 100644 --- a/workflows/sense-generator/roles/planner/index.ts +++ b/workflows/sense-generator/roles/planner/index.ts @@ -1,8 +1,12 @@ import type { LlmProvider } from "@uncaged/nerve-workflow-utils"; import { createCursorRole } from "@uncaged/nerve-workflow-utils"; -import { plannerMetaSchema } from "./types.js"; -import type { PlannerMeta } from "./types.js"; 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 BuildPlannerDeps = { provider: LlmProvider; @@ -18,3 +22,5 @@ export function buildPlannerRole({ provider, cwd, nerveYaml }: BuildPlannerDeps) extract: { provider, schema: plannerMetaSchema }, }); } + + diff --git a/workflows/sense-generator/roles/planner/types.ts b/workflows/sense-generator/roles/planner/types.ts deleted file mode 100644 index d15bfb2..0000000 --- a/workflows/sense-generator/roles/planner/types.ts +++ /dev/null @@ -1,7 +0,0 @@ -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"), -}); diff --git a/workflows/sense-generator/roles/tester/index.ts b/workflows/sense-generator/roles/tester/index.ts index 900bf83..dd81b7b 100644 --- a/workflows/sense-generator/roles/tester/index.ts +++ b/workflows/sense-generator/roles/tester/index.ts @@ -1,8 +1,12 @@ 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"; +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; @@ -16,3 +20,5 @@ export function buildTesterRole({ provider, sensesDir, nerveRoot }: BuildTesterD extract: { provider, schema: testerMetaSchema }, }); } + + diff --git a/workflows/sense-generator/roles/tester/types.ts b/workflows/sense-generator/roles/tester/types.ts deleted file mode 100644 index 187ff21..0000000 --- a/workflows/sense-generator/roles/tester/types.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { z } from "zod"; - -export type TesterMeta = { passed: boolean }; - -export const testerMetaSchema = z.object({ - passed: z.boolean().describe("true if all e2e checks passed"), -});