import type { IndependentDimensionScoresV3 } from "@velum-labs/routekit-eval-contracts"; export type EvalLabClassifyPlan = { version: 1; planDigest: string; basisDigest: string; classifierConfigurationDigest: string; policyDigest: string; labVariantDigest: string; classifierModel: string; target: string; context: { digest: string; characterLength: number; characterCap: number; truncated: boolean; truncatedFields: readonly string[]; }; plannedPrimaryCalls: 1; maximumAttempts: 1 | 2; requiredTotalInputTokens: number; requiredTotalOutputTokens: number; pricing: { status: "priced"; maximumCostUsd: number; } | { status: "unknown"; }; execute: boolean; }; export type EvalLabClassifyResult = { plan: EvalLabClassifyPlan; classification?: IndependentDimensionScoresV3; observed: { attemptCount: number; callIds: readonly string[]; knownInputTokens: number; knownOutputTokens: number; knownCostUsd?: number; unpricedCalls: number; unknownUsageCalls: number; }; cleanup: { sessionOpened: boolean; sessionClosed: boolean; detail?: string; }; outputPath?: string; }; export type EvalLabCompareVariant = { preset: "quality-v1" | "quality-snippets-offline-v1" | "context-16k-offline-v1"; classifierConfigurationDigest: string; policyDigest: string; labVariantDigest: string; }; export type EvalLabComparePlan = { version: 1; planDigest: string; basisDigest: string; datasetDigest: string; classifierModel: string; target: string; variants: readonly EvalLabCompareVariant[]; caseCount: number; repetitions: number; concurrency: number; plannedPrimaryCalls: number; maximumAttempts: number; requiredTotalInputTokens: number; requiredTotalOutputTokens: number; pricing: { status: "priced"; maximumCostUsd: number; } | { status: "unknown"; }; execute: boolean; }; export type EvalLabCompareRow = { caseId: string; repetition: number; preset: EvalLabCompareVariant["preset"]; classifierConfigurationDigest: string; labVariantDigest: string; status: "completed" | "failed"; classification?: IndependentDimensionScoresV3; error?: { name: string; message: string; code?: string; attemptCount?: number; }; attempts: readonly { callId: string; status: "completed" | "measurement-unavailable"; inputTokens?: number; outputTokens?: number; costUsd?: number; durationMs?: number; }[]; observed: EvalLabClassifyResult["observed"]; }; export type EvalLabCompareResult = { plan: EvalLabComparePlan; rows: readonly EvalLabCompareRow[]; aggregates: readonly { preset: EvalLabCompareVariant["preset"]; classifierConfigurationDigest: string; plannedRows: number; completedRows: number; failedRows: number; metrics?: { activeMae: number; activeF1: number; topDimensionAgreement: number; unknownMae: number; unknownBrier: number; unknownAccuracy: number; falseUnknownRate: number; missedUnknownRate: number; averageActiveDimensionCount: number; referenceUnknownRate: number; caseCount: number; skippedInvalidCount: number; }; }[]; observed: { primaryRows: number; attemptCount: number; knownInputTokens: number; knownOutputTokens: number; knownCostUsd?: number; unpricedCalls: number; unknownUsageCalls: number; }; cleanup: EvalLabClassifyResult["cleanup"]; outputPath?: string; };