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
TypeScript
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