/** * Node-only `sites.deployDir` convenience. * * **As of v1.34, this is a thin wrapper over `r.project(id).apply`** — bytes ride * through the unified CAS substrate, the deploy flows through the v2 plan/ * commit endpoints, and the agent-observable result remains a * {@link SiteDeployResult}. Existing callers keep their input shape * (`{ project, dir, onEvent? }`), and `onEvent` receives the unified * `DeployEvent` shapes from the SDK's `deploy` namespace. * * Imports `node:fs/promises` via `fileSetFromDir`, so this module remains * Node-only — V8 isolates use `r.project(id).apply` with in-memory byte sources. */ import { Sites, type SiteDeployResult } from "../namespaces/sites.js"; import type { ContentRef, DeployEvent as UnifiedDeployEvent } from "../namespaces/deploy.types.js"; export interface DeployDirOptions { /** Project ID the deployment is linked to. */ project: string; /** Local directory to walk. Paths in the manifest are relative to this root. */ dir: string; /** * Optional progress callback. Errors thrown synchronously are caught and * dropped — a buggy consumer cannot abort the deploy. */ onEvent?: (event: DeployEvent) => void; } export type DeployEvent = UnifiedDeployEvent; /** * Sites namespace enriched with the Node-only `deployDir` convenience. * All existing `Sites` methods are inherited unchanged. */ export declare class NodeSites extends Sites { /** * Deploy every file under `dir` as a static site. Walks the tree (skipping * `.git`/`node_modules`/`.DS_Store`, rejecting symlinks), produces an * `FsFileSource`-backed `FileSet`, and delegates to `r.project(id).apply` — * which uploads only the bytes the gateway doesn't already have, applies * the new release atomically, and polls the operation until terminal. */ deployDir(opts: DeployDirOptions): Promise; } export type { ContentRef }; //# sourceMappingURL=sites-node.d.ts.map