#!/usr/bin/env node import type { EvalResult } from './types'; import type { RuleCheck } from '@sofagent/audit'; /** * 把 AuditResult 转换为 eval 期望的输出格式 * * 三态转换规则(v1.2.5 修复): * - exitCode 0 → result: 'PASS'(全部规则通过) * - exitCode 1 → result: 'WARN'(有 WARN 或能力拐杖 FAIL,非阻断) * - exitCode 2 → result: 'FAIL'(有业务底线/工程规范 FAIL,阻断) * * rules_triggered:提取 status 不是 PASS 也不是 SKIPPED 的规则 ID * severity:取所有触发规则中最高优先级(最低数字)的 ruleClass 映射 */ export declare function convertAuditResult(auditResult: { rules: RuleCheck[]; exitCode: number; }): Record; /** * 创建 audit runner 适配器 * * 把 eval 的 runFunction 签名适配为 audit runRules 的签名: * 1. 从 input 提取 diffFiles / logEntries / task / commitMsg * 2. 调用 runRules * 3. 把 AuditResult 转换为 eval 期望的输出格式 */ export declare function createAuditRunner(): (input: Record) => Promise>; /** * 持久化 eval 结果 * - latest.json:覆盖写(含 timestamp / 汇总 / failures 数组) * - history.jsonl:追加写(仅汇总指标) * * @param overrideDataDir 数据目录覆盖(沙箱实跑/测试隔离用)——不传时走 * EVAL_DIR/EVAL_HISTORY/EVAL_LATEST 常量(模块加载期基于 SOFAGENT_HOME * 解析的生产路径)。quickstart 类「文档实跑验证」必须传临时目录或 * 预置 SOFAGENT_HOME,否则示例数据会污染真实 eval 历史(曾两轮复发: * 实跑走生产路径写入 mock 形态假数据,清理后下次实跑又写入)。 */ export declare function persistResult(result: EvalResult, overrideDataDir?: string): void; /** * CLI 主入口 */ export declare function main(cliArgs?: string[]): Promise; //# sourceMappingURL=cli.d.ts.map