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.

91 lines • 3.73 kB
import type { EmailTriggerEvent, FsFileSource, FunctionEmailTriggerSpec, FunctionSpec, FunctionScheduleTriggerSpec, FunctionTriggerRunSpec, LocalDirRef, ReleaseSpec } from "./namespaces/deploy.types.js"; export type Run402ExecutionMode = "apply" | "check" | "printSpec" | "printManifest" | "plan" | { kind: "applyReviewed"; planId: string; planFingerprint?: string; }; export interface Run402ReviewedPlanRequirement { planId: string; planFingerprint?: string; } export interface Run402FileConfigOptions { contentType?: string; content_type?: string; } export interface Run402DirConfigOptions { prefix?: string; ignore?: ReadonlyArray<string>; includeSensitive?: boolean; } export type Run402SqlFileConfigOptions = { id?: string; name?: never; checksum?: string; transaction?: "required" | "none"; } | { /** Content-tracked migration name. The SDK compiles this to * `<name>_<sha256(sql)[0:16]>`; SQL MUST be idempotent because changed * content applies again against a database with prior versions. */ name: string; id?: never; checksum?: string; transaction?: "required" | "none"; }; export interface Run402SqlFileConfigBaseMigration { sql_file: string; checksum?: string; transaction?: "required" | "none"; } export interface Run402NodeFunctionConfigOptions extends Omit<FunctionSpec, "source" | "files" | "runtime"> { runtime?: "node22"; source?: never; files?: never; } export interface Run402ScheduleTriggerOptions { timezone?: string; misfirePolicy?: "skip"; misfire_policy?: "skip"; overlapPolicy?: "allow"; overlap_policy?: "allow"; run: FunctionTriggerRunSpec; } export interface Run402EmailTriggerOptions { events: readonly EmailTriggerEvent[]; run: FunctionTriggerRunSpec; } export interface Run402FileConfigSource extends FsFileSource { readonly content_type?: string; } export interface Run402SqlFileConfigIdMigration extends Run402SqlFileConfigBaseMigration { id: string; name?: never; } export interface Run402SqlFileConfigNameMigration extends Run402SqlFileConfigBaseMigration { name: string; id?: never; } export type Run402SqlFileConfigMigration = Run402SqlFileConfigIdMigration | Run402SqlFileConfigNameMigration; export type Run402ReleaseConfig = Omit<ReleaseSpec, "project_id"> & { project_id?: string; idempotency_key?: string; }; export interface Run402ConfigEnv { readonly accessed: readonly string[]; get(name: string): string | undefined; required(name: string): string; readonly [name: `RUN402_${string}`]: string | undefined; } export interface Run402ConfigContext { manifestPath: string; rootDir: string; env: Run402ConfigEnv; } export type Run402ExecutableConfigExport = Run402ReleaseConfig | ((context: Run402ConfigContext) => Run402ReleaseConfig | Promise<Run402ReleaseConfig>); export declare function defineConfig<const T extends Run402ExecutableConfigExport>(config: T): T; export declare function dir(path: string, options?: Run402DirConfigOptions): LocalDirRef; export declare function file(path: string, options?: Run402FileConfigOptions): Run402FileConfigSource; export declare function sqlFile(path: string, options?: Run402SqlFileConfigOptions): Run402SqlFileConfigMigration; export declare function nodeFunction(path: string, options?: Run402NodeFunctionConfigOptions): FunctionSpec; export declare function scheduleTrigger(id: string, cron: string, options: Run402ScheduleTriggerOptions): FunctionScheduleTriggerSpec; export declare function emailTrigger(id: string, mailbox: string, options: Run402EmailTriggerOptions): FunctionEmailTriggerSpec; //# sourceMappingURL=config.d.ts.map