/** * 执行器共享代码 — 所有内置执行器的公共依赖。 * * 职责边界: * - 负责:提供前置条件检查与部署文件解析 * - 不负责:不包含任何具体 executor 实现 * * 被谁调用:executors/ 下所有 executor 模块 * 调用谁:node:fs、node:path、gate_engine_types * * 数据流:被各 executor 模块 import → 提供降级日志和前置条件检查能力 * 持久化:无 */ import type { GateCheck, CheckResult } from "../gate_engine_types.js"; /** * 通用前置条件检查 — 统一 severity 判定逻辑。 * * 前置条件缺失时: * - severity === "error" → passed:false(阻断) * - 其他 → passed:false,由 gate_engine 按 warning 保留可见详情但不阻断 * * @returns CheckResult(表示前置条件缺失的结果)或 null(前置条件满足,可继续执行) */ export declare function checkPrerequisite(check: GateCheck, missing: boolean, executor: string, reason: string): CheckResult | null; /** * 解析 deployment 文件相对路径 —— brownfield override 优先,greenfield 候选搜索兜底。 * * 消除 deployment_structure_check(检查存在性)与 docker_deployment/local_http_acceptance/external_command * (执行命令)的"检查/执行不一致":brownfield override 时三处都解析到 override 路径(与文件实际位置同源); * greenfield 无 override 时使用各自产物契约的默认候选。 * * - override 是 string → 信任声明,直接返回该路径(不检查存在——override 即用户声明的真相) * - 否则 → 候选搜索(files × dirs 第一个 existsSync 命中的相对路径) * * @returns 相对项目根的路径(override 或首个命中的候选)或 null(候选都无) */ export declare function resolveDeploymentFile(projectRoot: string, key: string, overrides: Record | undefined, files: string[], dirs: string[]): string | null; export type { GateCheck, CheckResult, };