mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 15:30:39 +00:00
37 lines
881 B
TypeScript
37 lines
881 B
TypeScript
import {
|
|
applyWindowsSpawnProgramPolicy,
|
|
materializeWindowsSpawnProgram,
|
|
resolveWindowsSpawnProgramCandidate,
|
|
} from "openclaw/plugin-sdk/lobster";
|
|
|
|
type SpawnTarget = {
|
|
command: string;
|
|
argv: string[];
|
|
windowsHide?: boolean;
|
|
};
|
|
|
|
export function resolveWindowsLobsterSpawn(
|
|
execPath: string,
|
|
argv: string[],
|
|
env: NodeJS.ProcessEnv,
|
|
): SpawnTarget {
|
|
const candidate = resolveWindowsSpawnProgramCandidate({
|
|
command: execPath,
|
|
env,
|
|
packageName: "lobster",
|
|
});
|
|
const program = applyWindowsSpawnProgramPolicy({
|
|
candidate,
|
|
allowShellFallback: false,
|
|
});
|
|
const resolved = materializeWindowsSpawnProgram(program, argv);
|
|
if (resolved.shell) {
|
|
throw new Error("lobster wrapper resolved to shell fallback unexpectedly");
|
|
}
|
|
return {
|
|
command: resolved.command,
|
|
argv: resolved.argv,
|
|
windowsHide: resolved.windowsHide,
|
|
};
|
|
}
|