"use strict";
/**
 * CLI Dependencies Configuration
 * Issue #96: npm install CLI support
 * SF-2: OCP - External configuration for extensibility
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.DEPENDENCIES = void 0;
exports.getDependencies = getDependencies;
exports.getRequiredDependencies = getRequiredDependencies;
exports.getOptionalDependencies = getOptionalDependencies;
/**
 * System dependencies required by CommandMate
 */
exports.DEPENDENCIES = [
    {
        name: 'Node.js',
        command: 'node',
        versionArg: '-v',
        required: true,
        minVersion: '20.0.0',
    },
    {
        name: 'npm',
        command: 'npm',
        versionArg: '-v',
        required: true,
    },
    {
        name: 'tmux',
        command: 'tmux',
        versionArg: '-V',
        required: true,
    },
    {
        name: 'git',
        command: 'git',
        versionArg: '--version',
        required: true,
    },
    {
        name: 'Claude CLI',
        command: 'claude',
        versionArg: '--version',
        required: false,
    },
];
/**
 * Get all dependencies
 */
function getDependencies() {
    return [...exports.DEPENDENCIES];
}
/**
 * Get only required dependencies
 */
function getRequiredDependencies() {
    return exports.DEPENDENCIES.filter(d => d.required);
}
/**
 * Get only optional dependencies
 */
function getOptionalDependencies() {
    return exports.DEPENDENCIES.filter(d => !d.required);
}
