import { spawnSync } from 'node:child_process'; import type { CinemaHiggsfieldCliRunner } from './cinema-higgsfield-cli-adapter.js'; export function createCinemaHiggsfieldCliRunner(executable = 'higgsfield'): CinemaHiggsfieldCliRunner { return { run(args) { const result = spawnSync(executable, args, { encoding: 'utf8', windowsHide: true, maxBuffer: 4 * 1024 * 1024, }); if (result.error) { return { exitCode: 127, stdout: result.stdout ?? '', stderr: result.error.message }; } return { exitCode: result.status ?? 1, stdout: result.stdout ?? '', stderr: result.stderr ?? '' }; }, }; }