import type { LlmProvider } from "@uncaged/nerve-workflow-utils"; import { createCursorRole } from "@uncaged/nerve-workflow-utils"; import { buildSenseExamples, getNerveYaml, NERVE_ROOT } from "../shared.js"; import { plannerMetaSchema } from "../types.js"; import type { SenseMeta } from "../types.js"; import { plannerPrompt } from "./prompt.js"; const senseExamples = buildSenseExamples(); const nerveYaml = getNerveYaml(); export function buildPlannerRole(provider: LlmProvider) { return createCursorRole({ cwd: NERVE_ROOT, mode: "ask", prompt: async (threadId) => plannerPrompt({ threadId, senseExamples, nerveYaml }), extract: { provider, schema: plannerMetaSchema }, }); }