Files
openclaw/extensions/lobster/src/windows-spawn.ts
2026-03-04 02:35:12 -05:00

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,
};
}