/** * Cross-harness trace import: Codex and Claude Code session JSONL become the * eval trace vocabulary so report and compare can fold metrics over runs * recorded by other agents. Each importer synthesizes one turn (and one step) * per user message, preserving assistant text and tool calls/results; model * token usage is not part of either external format, so token metrics stay * zero. * * @module dsh-eval/import */ import type { EvalRun, EvalTrace } from './types.ts'; /** * Import a Codex session JSONL (lines of `response_item` records) as a trace. * @param text - the Codex log's UTF-8 text. * @param source - the source file path, used for the synthetic session id. * @returns the imported trace; non-`response_item` lines are skipped. */ export declare function importCodexLog(text: string, source: string): EvalTrace; /** * Import a Claude Code session JSONL (lines of `user`/`assistant` records) as * a trace. * @param text - the Claude Code log's UTF-8 text. * @param source - the source file path, used for the synthetic session id. * @returns the imported trace; non-user/assistant lines are skipped. */ export declare function importClaudeLog(text: string, source: string): EvalTrace; /** Import formats the CLI accepts. */ export type ImportFormat = 'codex' | 'claude-code'; /** * Load an external session log and build a one-trial run record from it. * @param format - the external harness format. * @param path - the session JSONL path. * @param caseId - the imported trial's case id. * @returns the run record with one completed trial. */ export declare function importTraceFile(format: ImportFormat, path: string, caseId: string): Promise;