From 241bfbf6d9d079cc790b9bb0081dbc1ade0dd5e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Fri, 15 May 2026 09:49:42 +0000 Subject: [PATCH] fix: hardcode absolute paths for agent CLI defaults in bundle entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Validator requires absolute paths — bare command names like 'cursor-agent' fail validation. Use `which` to discover the path, write it directly. 小橘 🍊 --- packages/cli-workflow/src/skill.ts | 10 ++++++++-- packages/workflow-template-develop/bundle-entry.ts | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) 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"))