import { execSync } from 'node:child_process';
const REQUIRED_DEPENDENCIES = [
    {
        name: 'Claude Code CLI',
        command: 'claude --version',
        installUrl: 'https://docs.anthropic.com/en/docs/claude-code/overview',
    },
    {
        name: 'GitLab CLI (glab)',
        command: 'glab version',
        installUrl: 'https://gitlab.com/gitlab-org/cli#installation',
    },
    {
        name: 'GitHub CLI (gh)',
        command: 'gh --version',
        installUrl: 'https://cli.github.com/',
    },
];
export function checkDependency(dep, executor = execSync) {
    try {
        executor(dep.command, { stdio: 'pipe' });
        return true;
    }
    catch {
        return false;
    }
}
export function validateDependencies(executor = execSync) {
    const missing = [];
    for (const dep of REQUIRED_DEPENDENCIES) {
        if (!checkDependency(dep, executor)) {
            missing.push(dep);
        }
    }
    return missing;
}
//# sourceMappingURL=dependencyChecker.js.map