import type { EvalSessionExecutionEvidence, OpenedEvalSession } from "@velum-labs/routekit-control"; import type { EvalTrialAuthority, EvalTrialBinding } from "@velum-labs/routekit-eval-service/effect"; import { Effect, type FileSystem, type Path } from "effect"; import { type FoundryExecutionEvidenceIdentity, type FoundryTrialCheckpoint } from "../protocols/foundry-execution-evidence.js"; import { FoundryExecutionEvidenceError, type FoundryExecutionEvidenceStore } from "../stores/foundry-execution-evidence.js"; type TrialAuthorityLimits = { readonly maximumGatewayRequests: number; readonly maximumRequestBytes: number; readonly maximumTotalRequestBytes: number; readonly maximumResponseBytes: number; readonly maximumTotalResponseBytes: number; readonly maximumOutputTokensRequested: number; readonly maximumTotalOutputTokensRequested: number; readonly maximumToolCalls: number; readonly maximumTotalToolArgumentBytes: number; readonly maximumTotalToolResultBytes: number; }; export type FoundryTrialAuthorityOwner = { readonly executionClaimed: () => boolean; readonly evidence: () => FoundryExecutionEvidenceStore | undefined; /** Independent of adapter error redaction or a swallowed callback failure. */ readonly assertCheckpoint: Effect.Effect; }; /** * The actual CLI target owner supplies this capability from its authenticated, * exclusive qualification session. It neither opens another session nor owns * another ledger. A caller observation alone can never establish closure. */ export declare const makeFoundryEvalTrialAuthority: (input: { readonly identity: FoundryExecutionEvidenceIdentity; readonly lane: "repository-agent" | "request"; readonly binding: Binding; readonly bindingDigest: string; readonly digestBinding: (binding: Binding) => string; readonly opened: OpenedEvalSession; readonly limits: TrialAuthorityLimits; /** Real selected-target/manifest/plan/task revalidation in the existing owner. */ readonly revalidate: Effect.Effect; /** Closes over the actual authenticated control client and this exact grant. */ readonly readExecutionEvidence: () => Effect.Effect; }) => Effect.Effect<{ authority: EvalTrialAuthority; owner: FoundryTrialAuthorityOwner; }, never, FileSystem.FileSystem | Path.Path | import("effect/Scope").Scope>; export {};