Provider resolved once at top level, injected into each build*Role().
Role builders no longer async — they're pure factory calls.
小橘 🍊(NEKO Team)
14 lines
599 B
TypeScript
14 lines
599 B
TypeScript
import type { LlmProvider } from "@uncaged/nerve-workflow-utils";
|
|
import { createHermesRole } from "@uncaged/nerve-workflow-utils";
|
|
import { NERVE_ROOT, SENSES_DIR } from "../shared.js";
|
|
import { testerMetaSchema } from "../types.js";
|
|
import type { SenseMeta } from "../types.js";
|
|
import { testerPrompt } from "./prompt.js";
|
|
|
|
export function buildTesterRole(provider: LlmProvider) {
|
|
return createHermesRole<SenseMeta["tester"]>({
|
|
prompt: async (threadId) => testerPrompt({ threadId, sensesDir: SENSES_DIR, nerveRoot: NERVE_ROOT }),
|
|
extract: { provider, schema: testerMetaSchema },
|
|
});
|
|
}
|