/** * Host-neutral artifact contract shared by workflow schedulers and agents. * * Keep this module free of Botmux session, worker-fence, daemon, and provider * types so alternate hosts can implement the same manifest boundary. */ export type ManifestFileKind = 'markdown' | 'json' | 'text' | 'code' | 'log' | 'binary' | 'directory'; export declare const MANIFEST_FILE_KINDS: readonly ManifestFileKind[]; export declare const MANIFEST_SUMMARY_MAX_BYTES: number; export declare const MANIFEST_PREVIEW_MAX_BYTES: number; export interface ManifestFile { name: string; /** Relative to the node output directory. */ path: string; kind: ManifestFileKind; bytes: number; sha256: string; mime: string; preview?: string; } export type ManifestStatus = 'ok' | 'fail'; export declare const MANIFEST_STATUSES: readonly ManifestStatus[]; export interface Manifest { schemaVersion: 1; status: ManifestStatus; summary: string; error?: { code: string; message: string; retryable?: boolean; }; files: ManifestFile[]; } export declare const MANIFEST_SCHEMA_VERSION: 1; export interface ManifestValidationResult { ok: boolean; manifest?: Manifest; problems?: string[]; } export type ValidateManifest = (manifestPath: string, outputDir: string) => Promise; //# sourceMappingURL=artifact-contract.d.ts.map