/** * 验证模块 — 工件完整性校验 * * 职责: * 1. 验证 Schema YAML 格式正确性 * 2. 验证工件依赖关系无环 * 3. 验证模板文件存在且格式合法 * 4. 验证输出路径可写 */ export interface ValidationResult { valid: boolean; errors: ValidationError[]; warnings: ValidationWarning[]; } export interface ValidationError { code: string; message: string; file?: string; line?: number; } export interface ValidationWarning { code: string; message: string; file?: string; } /** * 验证 Schema YAML */ export declare function validateSchema(schemaPath: string): ValidationResult; /** * 验证变更目录结构 */ export declare function validateChangeDir(changeDir: string): ValidationResult; /** * 名称不匹配记录 */ export interface NameMismatch { /** delta spec 文件相对路径 */ file: string; /** 操作类型: 'MODIFIED' | 'REMOVED' | 'RENAMED' */ operation: string; /** delta 中使用的名称 */ deltaName: string; /** 最接近的可用名称(编辑距离 ≤ 3),null 表示无近似匹配 */ suggestion: string | null; } /** * Delta Spec 名称验证结果 */ export interface DeltaSpecValidationResult { /** true = 所有名称都匹配 */ valid: boolean; /** 名称不匹配的操作列表 */ mismatches: NameMismatch[]; /** 主规范中所有可用的需求名称 */ availableNames: string[]; } /** * 计算两个字符串的 Levenshtein 编辑距离 */ export declare function levenshteinDistance(a: string, b: string): number; /** * 验证 Delta Spec 中的需求名称是否与主规范匹配 * * @param changeDir 变更目录路径(changes//) * @param mainSpecsDir 主规范目录路径(openspec/specs/) * @returns 验证结果,包含不匹配列表和可用名称 */ export declare function validateDeltaSpecNames(changeDir: string, mainSpecsDir: string): DeltaSpecValidationResult; //# sourceMappingURL=index.d.ts.map