refactor: use destructuring to simplify build functions
This commit is contained in:
parent
cb61e98979
commit
69eb4ffe49
@ -14,27 +14,19 @@ export type BuildSenseGeneratorDeps = {
|
|||||||
nerveYaml: string;
|
nerveYaml: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function buildSenseGenerator(deps: BuildSenseGeneratorDeps): WorkflowDefinition<SenseMeta> {
|
export function buildSenseGenerator({
|
||||||
|
provider,
|
||||||
|
nerveRoot,
|
||||||
|
sensesDir,
|
||||||
|
senseExamples,
|
||||||
|
nerveYaml,
|
||||||
|
}: BuildSenseGeneratorDeps): WorkflowDefinition<SenseMeta> {
|
||||||
return {
|
return {
|
||||||
name: "sense-generator",
|
name: "sense-generator",
|
||||||
roles: {
|
roles: {
|
||||||
planner: buildPlannerRole({
|
planner: buildPlannerRole({ provider, cwd: nerveRoot, senseExamples, nerveYaml }),
|
||||||
provider: deps.provider,
|
coder: buildCoderRole({ provider, cwd: nerveRoot, sensesDir, nerveRoot }),
|
||||||
cwd: deps.nerveRoot,
|
tester: buildTesterRole({ provider, sensesDir, nerveRoot }),
|
||||||
senseExamples: deps.senseExamples,
|
|
||||||
nerveYaml: deps.nerveYaml,
|
|
||||||
}),
|
|
||||||
coder: buildCoderRole({
|
|
||||||
provider: deps.provider,
|
|
||||||
cwd: deps.nerveRoot,
|
|
||||||
sensesDir: deps.sensesDir,
|
|
||||||
nerveRoot: deps.nerveRoot,
|
|
||||||
}),
|
|
||||||
tester: buildTesterRole({
|
|
||||||
provider: deps.provider,
|
|
||||||
sensesDir: deps.sensesDir,
|
|
||||||
nerveRoot: deps.nerveRoot,
|
|
||||||
}),
|
|
||||||
},
|
},
|
||||||
moderator,
|
moderator,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -11,12 +11,11 @@ export type BuildCoderDeps = {
|
|||||||
nerveRoot: string;
|
nerveRoot: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function buildCoderRole(deps: BuildCoderDeps) {
|
export function buildCoderRole({ provider, cwd, sensesDir, nerveRoot }: BuildCoderDeps) {
|
||||||
return createCursorRole<CoderMeta>({
|
return createCursorRole<CoderMeta>({
|
||||||
cwd: deps.cwd,
|
cwd,
|
||||||
mode: "default",
|
mode: "default",
|
||||||
prompt: async (threadId) =>
|
prompt: async (threadId) => coderPrompt({ threadId, sensesDir, nerveRoot }),
|
||||||
coderPrompt({ threadId, sensesDir: deps.sensesDir, nerveRoot: deps.nerveRoot }),
|
extract: { provider, schema: coderMetaSchema },
|
||||||
extract: { provider: deps.provider, schema: coderMetaSchema },
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,12 +11,11 @@ export type BuildPlannerDeps = {
|
|||||||
nerveYaml: string;
|
nerveYaml: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function buildPlannerRole(deps: BuildPlannerDeps) {
|
export function buildPlannerRole({ provider, cwd, senseExamples, nerveYaml }: BuildPlannerDeps) {
|
||||||
return createCursorRole<PlannerMeta>({
|
return createCursorRole<PlannerMeta>({
|
||||||
cwd: deps.cwd,
|
cwd,
|
||||||
mode: "ask",
|
mode: "ask",
|
||||||
prompt: async (threadId) =>
|
prompt: async (threadId) => plannerPrompt({ threadId, senseExamples, nerveYaml }),
|
||||||
plannerPrompt({ threadId, senseExamples: deps.senseExamples, nerveYaml: deps.nerveYaml }),
|
extract: { provider, schema: plannerMetaSchema },
|
||||||
extract: { provider: deps.provider, schema: plannerMetaSchema },
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,10 +10,9 @@ export type BuildTesterDeps = {
|
|||||||
nerveRoot: string;
|
nerveRoot: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function buildTesterRole(deps: BuildTesterDeps) {
|
export function buildTesterRole({ provider, sensesDir, nerveRoot }: BuildTesterDeps) {
|
||||||
return createHermesRole<TesterMeta>({
|
return createHermesRole<TesterMeta>({
|
||||||
prompt: async (threadId) =>
|
prompt: async (threadId) => testerPrompt({ threadId, sensesDir, nerveRoot }),
|
||||||
testerPrompt({ threadId, sensesDir: deps.sensesDir, nerveRoot: deps.nerveRoot }),
|
extract: { provider, schema: testerMetaSchema },
|
||||||
extract: { provider: deps.provider, schema: testerMetaSchema },
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user