UNPKG

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.

58 lines • 2.78 kB
/** * Client-side breakdown of the paths a `DESTRUCTIVE_SITE_BULK_REMOVAL` * warning lists in `affected`. * * The gateway counts every removed static path toward its bulk-removal * threshold. A framework rebuild renames every content-hashed bundle * (`_astro/Foo.Ds5BwtTY.js` → `_astro/Foo.<newhash>.js`), so a routine * redeploy can trip the warning without removing a single page. This * summary lets a reviewer tell the two cases apart without diffing * releases by hand. It is a heuristic and never changes whether the * warning blocks; the gateway stays authoritative. * * Current gateways already leave out removed fingerprinted bundles that * the build replaces in the same directory (`details.replaced_fingerprinted`), * so `affected` holds only the removals still counted; this summary then * splits those into pages and other files. */ import type { WarningEntry } from "./deploy.types.js"; export declare const SITE_BULK_REMOVAL_WARNING_CODE = "DESTRUCTIVE_SITE_BULK_REMOVAL"; export interface SiteRemovalSummary { /** Number of removed paths the warning listed. */ total: number; /** Removed `.html` / `.htm` files — pages that stop being served. */ pages: number; /** Removed files whose name carries a build content hash (bundler output). */ content_hashed_build_assets: number; /** Removed files that are neither pages nor content-hashed build assets. */ other: number; /** True when every removed path is a content-hashed build asset. */ only_content_hashed_build_assets: boolean; /** * Removed path count per top-level directory (`"."` for root files). * Omitted when the gateway already sends `details.counted_removed_by_dir`. */ by_top_level_dir?: Record<string, number>; /** Up to 20 removed page paths. */ page_paths: string[]; /** Up to 20 removed paths that are neither pages nor hashed assets. */ other_paths: string[]; confidence: "heuristic"; } /** * A content hash is a `.`- or `-`-separated basename segment of at least * eight `[A-Za-z0-9_]` characters that contains a digit or mixes upper * and lower case (`Ds5BwtTY`, `CzEebLVq`, `a3f9c2e1`). Plain words such as * `component` or `profile` do not qualify. */ export declare function isContentHashedPath(path: string): boolean; export declare function summarizeSiteRemoval(paths: readonly string[], opts?: { includeByTopLevelDir?: boolean; }): SiteRemovalSummary; /** * Adds `details.removed_paths_summary` to each bulk-removal warning that * lists its paths and does not already carry a summary. Other warnings * pass through untouched. */ export declare function withSiteRemovalSummaries(warnings: WarningEntry[]): WarningEntry[]; //# sourceMappingURL=site-removal-summary.d.ts.map