/** * Quality Gate — 质量门禁配置管理 * * 三层配置合并:项目级(.speccore.yml)→ 任务级(Task/.meta/quality-gate.yaml)→ 命令行(CLI flags) */ import type { VisualModelConfig } from './ui-verify/visual-model-client'; export type { VisualModelConfig }; export interface TaskQualityGateConfig { verify_ui?: { enabled?: boolean; smoke_test?: boolean; visual_check?: boolean; threshold?: 'strict' | 'normal' | 'loose'; devices?: string[]; browsers?: string[]; timeout?: number; /** 有头模式:显示浏览器窗口(调试用,默认 false) */ headed?: boolean; visual_model?: VisualModelConfig; }; } export interface ResolvedQualityGate { verify_ui: { enabled: boolean; smoke_test: boolean; visual_check: boolean; threshold: 'strict' | 'normal' | 'loose'; devices: string[]; browsers: string[]; timeout: number; /** 有头模式:显示浏览器窗口(调试用,默认 false) */ headed: boolean; visual_model?: VisualModelConfig; }; } export declare function loadTaskQualityGate(taskDir: string): Promise; export interface QualityGateMergeInput { /** 项目级配置(来自 .speccore.yml quality_gates.verify_ui) */ projectLevel?: Partial; /** 任务级配置(来自 Task/.meta/quality-gate.yaml) */ taskLevel?: TaskQualityGateConfig['verify_ui']; /** 命令行覆盖 */ cliOverrides?: { enabled?: boolean; smokeOnly?: boolean; visualOnly?: boolean; device?: string; browser?: string; timeout?: number; headed?: boolean; }; } export declare function mergeQualityGate(input: QualityGateMergeInput): ResolvedQualityGate; export declare function shouldRunUIVerify(resolved: ResolvedQualityGate): boolean; //# sourceMappingURL=quality-gate.d.ts.map