import { scoreCodexQaText } from "../ab/codexQa/scoring.js"; import { calculateRepeatStats } from "../ab/repeatStats.js"; import { type SkillMarkdownProfile } from "../cli/formatSkillMarkdown.js"; import { type SuppliedContextCodexRepeat } from "./codexSuppliedContext.js"; export declare const SKILL_HEAD_TO_HEAD_DIR = ".mcp-benchmarks/skill-head-to-head"; export declare const GRAPHIFY_AUTH_OUTPUT = ".mcp-benchmarks/graphify-auth-output.txt"; export declare const REPO_CONTEXT_AUTH_OUTPUT = ".mcp-benchmarks/repo-context-auth-output.txt"; export declare const AUTH_DISCOVERY_TASK = "Find where authentication, login, or user session logic is implemented in this repo. Do not edit files. Give exact files, functions, and a short explanation of why each matters."; export type SkillHeadToHeadVerdict = "SCOPED_SKILL_HEAD_TO_HEAD_SUPPORTS_REPO_CONTEXT" | "SKILL_HEAD_TO_HEAD_COMPLETE_NO_SUPERIORITY_CLAIM" | "SKILL_HEAD_TO_HEAD_INCOMPLETE"; export interface SkillHeadToHeadSummary { generatedAt: string; taskName: "auth-discovery"; measuredClient: "codex"; codexBin: string; noMcp: boolean; graphifyContextFile: string; repoContextContextFile: string; graphifyOutputTokens: number; repoContextOutputTokens: number; markdownProfile: SkillMarkdownProfile; compactPrompt: boolean; graphifyRepeats: SuppliedContextCodexRepeat[]; repoContextRepeats: SuppliedContextCodexRepeat[]; graphifyClientTotals: number[]; repoContextClientTotals: number[]; graphifyQualityScores: number[]; repoContextQualityScores: number[]; graphifyStats?: ReturnType; repoContextStats?: ReturnType; graphifyMinQuality: number | null; repoContextMinQuality: number | null; supportsScopedClaim: boolean; scopedClaimReason: string; verdict: SkillHeadToHeadVerdict; allowedClaim: string; incomplete: boolean; incompleteReason?: string; } export declare function writeRepoContextSkillOutput(repoPath: string, options?: { task?: string; budget?: number; outPath?: string; markdownProfile?: SkillMarkdownProfile; }): { outPath: string; output: string; outputTokens: number; packQuality: ReturnType; }; export declare function ensureGraphifyOutput(repoPath: string, graphifyOutputFile: string): string; export declare function evaluateSkillHeadToHead(summary: Omit): { verdict: SkillHeadToHeadVerdict; allowedClaim: string; supportsScopedClaim: boolean; scopedClaimReason: string; }; export declare function runSkillHeadToHead(options: { repoPath?: string; codexBin?: string; graphifyOutputFile?: string; repoContextOutputFile?: string; runsRoot?: string; repeats?: number; markdownProfile?: SkillMarkdownProfile; compactPrompt?: boolean; skipCodex?: boolean; }): Promise; export declare function writeSkillHeadToHeadSummary(summary: SkillHeadToHeadSummary, runsRoot?: string): { jsonPath: string; mdPath: string; };