import * as Effect from "effect/Effect"; import * as FileSystem from "effect/FileSystem"; import type { PlatformError } from "effect/PlatformError"; import * as Path from "effect/Path"; import { type ArtifactFile } from "./Internal/ArtifactFile.ts"; export declare const COMPUTE_MANIFEST_VERSION = "1"; export interface ComputeArchiveOptions { /** * Directory whose files should be uploaded as the compute bundle. */ directory: string; /** * Entrypoint relative to `directory`. */ entrypoint: string; /** * Additional artifact-relative paths to exclude. Patterns support `*` and * `**`; directory matches exclude their complete subtree. Absolute paths, * parent (`..`) segments, and negated patterns are rejected. Sensitive * Alchemy, Git, and dotenv files are always excluded. */ ignore?: readonly string[]; /** * Maximum uncompressed bytes accepted across all archived files. Values * above the provider's 256 MiB hard ceiling are rejected. * * @default 268435456 (256 MiB) */ maxUncompressedBytes?: number; /** * Maximum bytes accepted for one archived file. Values above the provider's * 128 MiB hard ceiling are rejected. * * @default 134217728 (128 MiB) */ maxFileBytes?: number; /** * Maximum number of filesystem entries accepted in an artifact. Values * above the provider's 50,000-entry hard ceiling are rejected. * * @default 50000 */ maxEntries?: number; /** * Return a verified, file-backed archive instead of materializing the final * compressed bytes. The caller must run the returned `cleanup` Effect. * * @default "bytes" */ output?: "bytes" | "file"; } type ArchiveError = PlatformError | Error; type ArchiveRequirements = FileSystem.FileSystem | Path.Path; export declare function createComputeArchive(options: ComputeArchiveOptions & { readonly output: "file"; }): Effect.Effect; export declare function createComputeArchive(options: ComputeArchiveOptions & { readonly output?: "bytes"; }): Effect.Effect; export declare function createComputeArchive(options: ComputeArchiveOptions): Effect.Effect; export declare const normalizeEntrypoint: (entrypoint: string) => Effect.Effect; export {}; //# sourceMappingURL=ComputeArchive.d.ts.map