import type { WorkflowDefinition } from "@uncaged/nerve-core"; import type { LlmProvider } from "@uncaged/nerve-workflow-utils"; import { buildPlannerRole } from "./roles/planner/index.js"; import { buildCoderRole } from "./roles/coder/index.js"; import { buildTesterRole } from "./roles/tester/index.js"; import { buildCommitterRole } from "./roles/committer/index.js"; import { moderator } from "./moderator.js"; import type { SenseMeta } from "./moderator.js"; export type BuildSenseGeneratorDeps = { provider: LlmProvider; cwd: string; }; export function buildSenseGenerator({ provider, cwd, }: BuildSenseGeneratorDeps): WorkflowDefinition { return { name: "sense-generator", roles: { planner: buildPlannerRole({ provider, cwd }), coder: buildCoderRole({ provider, cwd }), tester: buildTesterRole({ provider, nerveRoot: cwd }), committer: buildCommitterRole({ nerveRoot: cwd }), }, moderator, }; }