run402-mcp
Version:
MCP server for Run402 — full-stack backend infrastructure for AI agents: Postgres, auth, storage, serverless functions and atomic deploys. Paid with x402/MPP. Includes $0.03 image generation.
43 lines • 1.99 kB
TypeScript
/**
* 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<SiteDeployResult>;
}
export type { ContentRef };
//# sourceMappingURL=sites-node.d.ts.map