refactor(sense-generator): remove unnecessary buildWorkflow wrapper

小橘 🍊(NEKO Team)
This commit is contained in:
小橘 2026-04-28 02:32:55 +00:00
parent 2d63639ed1
commit fd3a8c64f2

View File

@ -6,26 +6,24 @@ import { tester } from "./roles/tester/index.js";
import type { SenseMeta } from "./roles/types.js"; import type { SenseMeta } from "./roles/types.js";
async function buildWorkflow(): Promise<WorkflowDefinition<SenseMeta>> { const workflow: WorkflowDefinition<SenseMeta> = {
const planner = await buildPlannerRole(); name: "sense-generator",
const coder = await buildCoderRole(); roles: {
planner: await buildPlannerRole(),
coder: await buildCoderRole(),
tester,
},
moderator(context) {
if (context.steps.length === 0) return "planner";
const last = context.steps[context.steps.length - 1];
if (last.role === "planner") return "coder";
if (last.role === "coder") return "tester";
if (last.role === "tester") {
if (last.meta.passed) return END;
return last.meta.attempt < 3 ? "coder" : END;
}
return END;
},
};
return {
name: "sense-generator",
roles: { planner, coder, tester },
moderator(context) {
if (context.steps.length === 0) return "planner";
const last = context.steps[context.steps.length - 1];
if (last.role === "planner") return "coder";
if (last.role === "coder") return "tester";
if (last.role === "tester") {
if (last.meta.passed) return END;
return last.meta.attempt < 3 ? "coder" : END;
}
return END;
},
};
}
const workflow = await buildWorkflow();
export default workflow; export default workflow;