import { type AnyPublishedRoutingActivation as AnyPublishedRoutingActivationType, type RoutingActivationIdentity } from "@velum-labs/routekit-eval-contracts"; import { RouteKitFailure, type RouteKitPlatform } from "@velum-labs/routekit-runtime/effect"; import { Effect, FileSystem, Path } from "effect"; export type EvalRoutingStatus = { stateRevision: number; authoritative: RoutingActivationIdentity | null; previousAuthoritative: RoutingActivationIdentity | null; }; export type EvalRoutingInstallResult = { operation: "install-authoritative"; activation: RoutingActivationIdentity; definitionPath: string; before: EvalRoutingStatus; after: EvalRoutingStatus; }; export type EvalRoutingRollbackResult = { operation: "rollback-authoritative"; before: EvalRoutingStatus; after: EvalRoutingStatus; }; export type EvalRoutingInstallValidation = { activation: AnyPublishedRoutingActivationType; current: EvalRoutingStatus; expectedAuthoritativeRevisionDigest: string | null; expectedPreviousAuthoritativeRevisionDigest: string | null; acknowledgeQualification: string; acknowledgeRollbackTarget: string | null; }; export declare function authoritativeInstallValidationError(input: EvalRoutingInstallValidation): string | undefined; export declare function authoritativeRollbackValidationError(current: EvalRoutingStatus, expectedAuthoritativeRevisionDigest: string, expectedPreviousAuthoritativeRevisionDigest: string): string | undefined; export declare const persistRepositoryRoutingActivation: (repositoryRoot: string, activation: { readonly version: 2; readonly classifierModel: string; readonly maximumUnknownWeight: number; readonly objective: { readonly kind: "highest-quality"; } | { readonly kind: "lowest-cost"; readonly minimumQuality: number; } | { readonly kind: "lowest-latency"; readonly minimumQuality: number; } | { readonly kind: "balanced"; readonly minimumQuality: number; readonly weights: { readonly quality: number; readonly cost: number; readonly latency: number; }; } | { readonly kind: "pareto"; readonly minimumQuality: number; readonly preference: "quality" | "cost" | "latency"; }; readonly dimensions: readonly { readonly id: string; readonly description: string; readonly includes: readonly string[]; readonly excludes: readonly string[]; }[]; readonly basisDigest: string; readonly candidateModels: readonly string[]; readonly evidenceDigest: string; readonly generatedAt: string; readonly evidence: readonly { readonly quality: { readonly passRate: number; readonly lowerConfidenceBound: number; readonly sampleCount: number; }; readonly model: string; readonly dimensionId: string; readonly unpricedCalls: number; readonly suiteDigest: string; readonly evidenceDigest: string; readonly failureRate: number; readonly averageJudgeScore?: number | undefined; readonly p95DurationMs?: number | undefined; readonly averageCostUsd?: number | undefined; }[]; readonly constraints?: { readonly minimumDimensionQuality?: { readonly [x: string]: number; } | undefined; readonly maximumFailureRate?: number | undefined; } | undefined; } | { readonly version: 3; readonly defaultModel: string; readonly objective: { readonly kind: "highest-quality"; } | { readonly kind: "lowest-cost"; readonly minimumQuality: number; } | { readonly kind: "lowest-latency"; readonly minimumQuality: number; } | { readonly kind: "balanced"; readonly minimumQuality: number; readonly weights: { readonly quality: number; readonly cost: number; readonly latency: number; }; } | { readonly kind: "pareto"; readonly minimumQuality: number; readonly preference: "quality" | "cost" | "latency"; }; readonly basis: { readonly version: 3; readonly provenance: { readonly generatorVersion: string; readonly recipeId: string; readonly sourceDigests: readonly string[]; readonly authorModel?: string | undefined; readonly constructionTaskDigest?: string | undefined; readonly origin?: { readonly kind: "generated" | "incumbent-enriched" | "repair"; readonly sourceBasisId?: string | undefined; readonly sourceBasisVersion?: number | undefined; } | undefined; }; readonly dimensions: readonly { readonly id: string; readonly name: string; readonly description: string; readonly inclusions: readonly string[]; readonly exclusions: readonly string[]; readonly confusableDimensionIds: readonly string[]; readonly boundaryRules: readonly string[]; readonly repositoryFacets: { readonly componentIds: readonly string[]; readonly pathAnchors: readonly string[]; readonly symbolAnchors: readonly string[]; }; readonly positiveExamples: readonly string[]; readonly negativeExamples: readonly string[]; readonly codeSummaries: readonly string[]; readonly representativeSnippets: readonly string[]; }[]; readonly basisDigest: string; readonly basisId: string; readonly repositoryDigest: string; readonly facetSnapshot: { readonly repositoryId: string; readonly repositoryDigest: string; readonly name: string; readonly purpose: string; readonly languages: readonly string[]; readonly frameworks: readonly string[]; readonly components: readonly { readonly id: string; readonly name: string; readonly purpose: string; readonly paths: readonly string[]; }[]; }; readonly validation?: { readonly validationDatasetDigest: string; readonly caseCount: number; readonly activeMae: number; readonly activeF1: number; readonly topDimensionAgreement: number; readonly unknownMae: number; readonly referenceUnknownRate: number; readonly selectionScore: number; } | undefined; }; readonly basisDigest: string; readonly candidateModels: readonly string[]; readonly evidenceDigest: string; readonly generatedAt: string; readonly evidence: readonly { readonly quality: { readonly passRate: number; readonly lowerConfidenceBound: number; readonly sampleCount: number; }; readonly model: string; readonly dimensionId: string; readonly unpricedCalls: number; readonly suiteDigest: string; readonly evidenceDigest: string; readonly failureRate: number; readonly averageJudgeScore?: number | undefined; readonly p95DurationMs?: number | undefined; readonly averageCostUsd?: number | undefined; }[]; readonly classifier: { readonly implementation: "luna-direct-v1"; readonly model: string; readonly preset: string; readonly configurationDigest: string; readonly context: { readonly strategy: "task-aware-labeled-v1" | "task-aware-chronological-v1" | "legacy-user-only-v1"; readonly budget: "6k" | "16k"; readonly characterCap: number; readonly sectionWeights: { readonly repositoryFacets: number; readonly taskAnchor: number; readonly earlierUserContext: number; readonly precedingAssistant: number; readonly diagnostics: number; readonly currentRequest: number; }; readonly headFraction: number; }; readonly contextSerializerVersion: "task-context-v1"; readonly repositoryFacetDetail: "full" | "identity" | "components"; readonly dimensionDefinitionBundle: "identity" | "semantic" | "semantic-snippets"; readonly basisRendererVersion: "routing-basis-v1"; readonly definitionOrder: "reverse" | "canonical"; readonly promptProcedure: "direct"; readonly structuredOutputMode: "json-schema-strict-v1"; readonly reasoningEffort: "none" | "low" | "medium" | "high"; readonly maxCompletionTokens: number; readonly malformedRetries: 0 | 1; readonly timeoutMs: number; readonly promptDigest: string; readonly correctionPromptDigest: string; readonly responseSchemaDigest: string; }; readonly policy: { readonly unknownThreshold: number; readonly activeDimensionThreshold: number; readonly unknownBehavior: "fallback-default" | "continue-routing"; readonly emptyCompositionBehavior: "fallback-default" | "use-top-dimension"; readonly adapter: "relative-active-v1" | "relative-all-v1" | "top-dimension-v1"; }; readonly activationDigest: string; readonly governance: { readonly basisApprovalDigest: string; readonly basisLaunchQualificationDigest: string; }; readonly constraints?: { readonly minimumDimensionQuality?: { readonly [x: string]: number; } | undefined; readonly maximumFailureRate?: number | undefined; } | undefined; }) => Effect.Effect; export declare const evalRoutingStatusCommand: Effect.Effect; export declare function evalInstallAuthoritativeCommand(input: { activationPath: string; repositoryRoot: string; expectedAuthoritativeRevisionDigest: string | null; expectedPreviousAuthoritativeRevisionDigest: string | null; acknowledgeQualification: string; acknowledgeRollbackTarget: string | null; }): Effect.Effect; export declare function evalRollbackAuthoritativeCommand(input: { expectedAuthoritativeRevisionDigest: string; expectedPreviousAuthoritativeRevisionDigest: string; }): Effect.Effect;