import { EvalAuthoringTransport, type RepositoryFoundryFinalizationInputV1 } from "@velum-labs/routekit-eval-setup"; import { RouteKitFailure } from "@velum-labs/routekit-runtime/effect"; import { Effect, FileSystem, Layer, Path } from "effect"; import { FoundryExecutionEvidenceError } from "../../stores/foundry-execution-evidence.js"; type Source = { readonly file: string; readonly digest: string; }; export type FoundryFinalizationPlan = { readonly version: 1; readonly kind: "frozen-review-finalization"; readonly repositoryRoot: string; readonly caseId: string; readonly parentPlanDigest: string; readonly parentPlanFileDigest: string; readonly parentProgressDigest: string; readonly checkpointDigest: string; readonly artifactManifest: readonly Source[]; readonly evidenceEncoding: "routekit-lossless-review-json-v1" | "routekit-lossless-review-json-v2"; readonly reviewInputVersion?: 2; readonly inheritedModelCalls: number; readonly originalReviewRequestBytes: number; readonly budget: { readonly modelCalls: 1; readonly model: string; readonly reasoningEffort: string; readonly maximumInputTokens: number; readonly maximumOutputTokens: number; readonly wallTimeMs: number; }; readonly finalizationDigest: string; }; type FinalizationIdentity = { readonly repositoryRoot: string; readonly caseId: string; readonly planDigest: string; }; /** Reuse the generation lifecycle lock so finalization cannot overlap generation. */ export declare const withFoundryFinalizationLock: (identity: FinalizationIdentity, operation: Effect.Effect) => Effect.Effect; /** Preparation reconstructs exact archived work; it cannot call a live transport. */ export declare const prepareFoundryFinalization: (input: FinalizationIdentity & { readonly wallTimeMs: number; }) => Effect.Effect<{ operation: "repository-foundry-finalize-prepare"; plan: FoundryFinalizationPlan; planPath: string; checkpointPath: string; }, unknown, FileSystem.FileSystem | Path.Path>; export declare const loadFoundryFinalization: (input: FinalizationIdentity & { readonly finalizationDigest: string; }) => Effect.Effect<{ prepared: FoundryFinalizationPlan; checkpoint: RepositoryFoundryFinalizationInputV1; location: { root: string; foundry: string; directory: string; parent: string; progress: string; artifacts: string; }; }, unknown, FileSystem.FileSystem | Path.Path>; export declare const executeFoundryFinalization: (input: { readonly loaded: Effect.Success>; readonly transport: Layer.Layer; readonly outputPath: string; }) => Effect.Effect<{ operation: "repository-foundry-finalize"; outputPath: string; finalizationDigest: string; parentPlanDigest: string; status: "rejected" | "valid-library" | "routing-eligible" | "routing-active"; modelCalls: number; }, RouteKitFailure | import("effect/PlatformError").PlatformError | import("@velum-labs/routekit-eval-setup").RepositoryFoundryError | FoundryExecutionEvidenceError | import("@velum-labs/routekit-eval-setup").RepositoryFoundryIdleStallError, FileSystem.FileSystem | Path.Path>; export {};