diff --git a/packages/cli-workflow/src/skill.ts b/packages/cli-workflow/src/skill.ts index 471066f..fd4fc48 100644 --- a/packages/cli-workflow/src/skill.ts +++ b/packages/cli-workflow/src/skill.ts @@ -305,7 +305,7 @@ function createLazyAdapter(): AdapterFn { When binding agent adapters (cursor-agent, hermes, etc.), **always use \`optionalEnv\` with a sensible default** — never \`requireEnv\`. The worker process may start without the expected env vars, causing a silent crash. -Discover the correct CLI path yourself (e.g. \`which cursor-agent\`, \`which hermes\`) and use it as the fallback: +Discover the correct CLI path yourself (e.g. \`which cursor-agent\`, \`which hermes\`) and hardcode it as the fallback: \`\`\`typescript // ❌ WRONG — worker crash if env var missing, thread silently fails with 0 steps @@ -314,11 +314,17 @@ const adapter = createCursorAgent({ ... }); -// ✅ CORRECT — env override with discovered default +// ❌ WRONG — bare command name fails absolute-path validation const adapter = createCursorAgent({ command: optionalEnv("WORKFLOW_CURSOR_COMMAND") ?? "cursor-agent", ... }); + +// ✅ CORRECT — use \`which cursor-agent\` to find the path, then write it in +const adapter = createCursorAgent({ + command: optionalEnv("WORKFLOW_CURSOR_COMMAND") ?? "/home/azureuser/.local/bin/cursor-agent", + ... +}); \`\`\` ### Bundle import restrictions diff --git a/packages/workflow-template-develop/bundle-entry.ts b/packages/workflow-template-develop/bundle-entry.ts index c7e0612..bf7fc30 100644 --- a/packages/workflow-template-develop/bundle-entry.ts +++ b/packages/workflow-template-develop/bundle-entry.ts @@ -11,7 +11,7 @@ import { optionalEnv } from "@uncaged/workflow-util"; import { buildDevelopDescriptor, developWorkflowDefinition } from "./src/index.js"; const cursorAdapter = createCursorAgent({ - command: optionalEnv("WORKFLOW_CURSOR_COMMAND") ?? "cursor-agent", + command: optionalEnv("WORKFLOW_CURSOR_COMMAND") ?? "/home/azureuser/.local/bin/cursor-agent", model: optionalEnv("WORKFLOW_CURSOR_MODEL"), timeout: optionalEnv("WORKFLOW_CURSOR_TIMEOUT") ? Number(optionalEnv("WORKFLOW_CURSOR_TIMEOUT")) @@ -20,7 +20,7 @@ const cursorAdapter = createCursorAgent({ }); const hermesAdapter = createHermesAgent({ - command: optionalEnv("WORKFLOW_HERMES_COMMAND") ?? "hermes", + command: optionalEnv("WORKFLOW_HERMES_COMMAND") ?? "/home/azureuser/.local/bin/hermes", model: optionalEnv("WORKFLOW_HERMES_MODEL"), timeout: optionalEnv("WORKFLOW_HERMES_TIMEOUT") ? Number(optionalEnv("WORKFLOW_HERMES_TIMEOUT"))