import type { RepositoryFacetDetailV3, RepositoryFacetSnapshotV3, TaskContextConfigV3, TaskEpisodeV3 } from "@velum-labs/routekit-eval-contracts"; export type RequestDialectV3 = "openai-chat" | "openai-responses" | "anthropic-messages" | "cursor"; export type TaskEpisodeExtractionLimitsV3 = Readonly<{ maximumBodyBytes: number; maximumItems: number; maximumDepth: number; maximumTurnCharacters: number; maximumDiagnosticCharacters: number; maximumDiagnostics: number; maximumTotalDiagnosticCharacters: number; }>; export declare const DEFAULT_TASK_EPISODE_EXTRACTION_LIMITS_V3: TaskEpisodeExtractionLimitsV3; export type TaskContextErrorCodeV3 = "body_too_large" | "unsupported_request" | "empty_request" | "limit_exceeded"; export declare class TaskContextErrorV3 extends Error { readonly code: TaskContextErrorCodeV3; constructor(code: TaskContextErrorCodeV3, message: string); } export type TaskEpisodeExtractionResultV3 = Readonly<{ episode: TaskEpisodeV3; inspectedItems: number; truncatedFields: readonly string[]; }>; export type BuiltTaskContextV3 = Readonly<{ text: string; contextDigest: string; characterLength: number; characterCap: number; truncated: boolean; truncatedFields: readonly string[]; }>; export declare function extractTaskEpisodeV3(dialect: RequestDialectV3, requestBody: unknown, limits?: TaskEpisodeExtractionLimitsV3): TaskEpisodeExtractionResultV3; export declare function buildTaskContextV3(episode: TaskEpisodeV3, facetSnapshot: RepositoryFacetSnapshotV3, config: TaskContextConfigV3, repositoryFacetDetail?: RepositoryFacetDetailV3): BuiltTaskContextV3;