// engine/test-spec-generator/index.ts — Barrel: generateTestSpec + re-exports
import { buildScenarios } from './scenario-builders.js';
export { EDGE_CASE_KEYWORDS, getLabels, hasEdgeCaseKeyword } from './labels.js';
export { suggestTestData, extractGiven, extractWhen, extractThen } from './criterion-parser.js';
export { buildScenarios } from './scenario-builders.js';
/**
 * Generates a TestSpec from a list of acceptance criteria strings.
 * Each criterion produces at least 2 scenarios (happy-path + error).
 * Criteria containing boundary keywords also get an edge-case scenario.
 */
export function generateTestSpec(specId, specTitle, criteria, locale) {
    const scenarios = criteria.map((criterion, index) => {
        const criterionId = `${specId}-C${String(index + 1).padStart(2, '0')}`;
        return {
            criterionId,
            criterion,
            scenarios: buildScenarios(criterion, criterionId, locale),
        };
    });
    const totalScenarios = scenarios.reduce((sum, s) => sum + s.scenarios.length, 0);
    return {
        specId,
        specTitle,
        locale,
        scenarios,
        totalScenarios,
    };
}
//# sourceMappingURL=index.js.map