import { join } from "node:path"; import { createCursorAdapter, cursorAdapter } from "@uncaged/nerve-adapter-cursor"; import { hermesAdapter } from "@uncaged/nerve-adapter-hermes"; import { createDevelopWorkflowWorkflow } from "@uncaged/nerve-workflow-meta"; const HOME = process.env.HOME ?? "/home/azureuser"; const NERVE_ROOT = join(HOME, ".uncaged-nerve"); const apiKey = process.env.DASHSCOPE_API_KEY; const baseUrl = process.env.DASHSCOPE_BASE_URL; const model = process.env.DASHSCOPE_MODEL ?? "qwen-plus"; if (!apiKey || !baseUrl) { throw new Error("Set DASHSCOPE_API_KEY and DASHSCOPE_BASE_URL"); } const CURSOR_TIMEOUT_MS = 300_000; const workflow = createDevelopWorkflowWorkflow({ defaultAdapter: hermesAdapter, adapters: { planner: createCursorAdapter({ type: "cursor", mode: "ask", model: "auto", timeout: CURSOR_TIMEOUT_MS, }), coder: cursorAdapter, }, extract: { provider: { apiKey, baseUrl, model } }, nerveRoot: NERVE_ROOT, }); export default workflow;