/** Strict source-run boundary for parameter distillation. */ import { type LoadedAuthorizedV3Run, type Sha256Digest } from './run-envelope.js'; export interface V3DistillationActorContext { ownerOpenId: string; larkAppId: string; chatId: string; } export interface V3DistillationSourceIdentity extends V3DistillationActorContext { runId: string; runEnvelopeSha256: Sha256Digest; dagSha256: Sha256Digest; specSha256: Sha256Digest; botSnapshotsSha256: Sha256Digest; } export interface LoadedV3DistillationSource { runDir: string; loaded: LoadedAuthorizedV3Run & { spec: NonNullable; botSnapshots: NonNullable; }; identity: V3DistillationSourceIdentity; } export type V3DistillationSourceErrorCode = 'invalid_source' | 'source_not_found' | 'source_not_ad_hoc' | 'source_not_succeeded' | 'source_not_owned'; export declare class V3DistillationSourceError extends Error { readonly code: V3DistillationSourceErrorCode; constructor(code: V3DistillationSourceErrorCode); } export declare function loadV3DistillationSource(runDir: string, context: V3DistillationActorContext): LoadedV3DistillationSource; /** Resolve last only inside the authenticated owner/app/chat scope. */ export declare function resolveV3DistillationSourceRunDir(input: { baseDir: string; source: 'last' | string; context: V3DistillationActorContext; }): Promise; //# sourceMappingURL=distillation-source.d.ts.map