From e460d64786458dc969f7851e12ef10f34d951a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Tue, 28 Apr 2026 04:46:21 +0000 Subject: [PATCH] refactor: inline types.ts into role index.ts, remove separate type files --- workflows/sense-generator/moderator.ts | 6 +++--- workflows/sense-generator/roles/coder/index.ts | 10 ++++++++-- workflows/sense-generator/roles/coder/types.ts | 7 ------- workflows/sense-generator/roles/planner/index.ts | 10 ++++++++-- workflows/sense-generator/roles/planner/types.ts | 7 ------- workflows/sense-generator/roles/tester/index.ts | 10 ++++++++-- workflows/sense-generator/roles/tester/types.ts | 7 ------- 7 files changed, 27 insertions(+), 30 deletions(-) delete mode 100644 workflows/sense-generator/roles/coder/types.ts delete mode 100644 workflows/sense-generator/roles/planner/types.ts delete mode 100644 workflows/sense-generator/roles/tester/types.ts 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"), -});