import { delimiter, join } from 'node:path';
import { homedir } from 'node:os';

// Env de l'enfant daemon. Une app GUI démarre souvent avec un PATH minimal (sans ~/.local/bin,
// /usr/local/bin, /opt/homebrew/bin) : on l'enrichit pour que le daemon retrouve `git` et le CLI
// `claude`. Le réglage `claude_bin_path` (UI) reste le filet de secours.
export function buildChildEnv(extra: Record<string, string>): NodeJS.ProcessEnv {
  const env: NodeJS.ProcessEnv = { ...process.env, ...extra };
  if (process.platform !== 'win32') {
    const extras = ['/usr/local/bin', '/opt/homebrew/bin', join(homedir(), '.local', 'bin'), '/usr/bin', '/bin'];
    const current = env.PATH ? env.PATH.split(delimiter) : [];
    env.PATH = [...new Set([...extras, ...current])].join(delimiter);
  }
  return env;
}
