fix: support UWF_HERMES_BIN env var for hermes binary path
CI / check (pull_request) Successful in 3m28s
CI / check (pull_request) Successful in 3m28s
Replace hardcoded HERMES_COMMAND constant with resolveHermesCommand() that checks UWF_HERMES_BIN first, falling back to 'hermes' via PATH. This fixes environments where hermes is installed in a venv or non-standard location that isn't in the non-login shell PATH (e.g. ~/.local/bin symlink only available in login shell). Refs #134
This commit is contained in:
@@ -12,7 +12,11 @@ const OWN_VERSION = (
|
|||||||
}
|
}
|
||||||
).version;
|
).version;
|
||||||
|
|
||||||
const HERMES_COMMAND = "hermes";
|
/** Resolve hermes binary: `UWF_HERMES_BIN` override → default `"hermes"` via PATH. */
|
||||||
|
function resolveHermesCommand(): string {
|
||||||
|
const override = process.env.UWF_HERMES_BIN;
|
||||||
|
return override !== undefined && override !== "" ? override : "hermes";
|
||||||
|
}
|
||||||
const PROTOCOL_VERSION = 1;
|
const PROTOCOL_VERSION = 1;
|
||||||
|
|
||||||
type JsonRpcResponse = {
|
type JsonRpcResponse = {
|
||||||
@@ -271,7 +275,8 @@ export class HermesAcpClient {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const child = spawn(HERMES_COMMAND, ["acp"], {
|
const hermesCommand = resolveHermesCommand();
|
||||||
|
const child = spawn(hermesCommand, ["acp"], {
|
||||||
env: process.env,
|
env: process.env,
|
||||||
shell: false,
|
shell: false,
|
||||||
stdio: ["pipe", "pipe", "pipe"],
|
stdio: ["pipe", "pipe", "pipe"],
|
||||||
|
|||||||
Reference in New Issue
Block a user