bknd
Version:
Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, React Router, Astro, Cloudflare, Bun, Node, AWS Lambda & more.
136 lines (135 loc) • 5.54 kB
TypeScript
import { s } from "bknd/utils";
import { Module } from "../../modules/Module";
export declare const serverConfigSchema: s.ObjectSchema<{
readonly cors: s.ObjectSchema<{
readonly origin: s.StringSchema<{
readonly default: "*";
}> & {
readonly default: "*";
};
readonly allow_methods: s.ArraySchema<s.StringSchema<{
readonly enum: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
}> & {
readonly enum: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
}, {
readonly default: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
readonly uniqueItems: true;
}> & {
readonly default: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
readonly uniqueItems: true;
};
readonly allow_headers: s.ArraySchema<s.StringSchema<s.IStringOptions> & s.IStringOptions, {
readonly default: readonly ["Content-Type", "Content-Length", "Authorization", "Accept"];
}> & {
readonly default: readonly ["Content-Type", "Content-Length", "Authorization", "Accept"];
};
readonly allow_credentials: s.Schema<{
readonly default: true;
}, boolean, boolean> & {
readonly default: true;
};
}, s.Merge<s.IObjectOptions & {
additionalProperties: false;
}>>;
readonly mcp: s.ObjectSchema<{
readonly enabled: s.Schema<{
readonly default: false;
}, boolean, boolean> & {
readonly default: false;
};
readonly path: s.StringSchema<{
readonly default: "/api/system/mcp";
}> & {
readonly default: "/api/system/mcp";
};
readonly logLevel: s.StringSchema<{
readonly enum: ("debug" | "error" | "info" | "critical" | "warning" | "emergency" | "alert" | "notice")[];
readonly default: "warning";
}> & {
readonly enum: ("debug" | "error" | "info" | "critical" | "warning" | "emergency" | "alert" | "notice")[];
readonly default: "warning";
};
}, s.Merge<s.IObjectOptions & {
additionalProperties: false;
}>>;
}, s.Merge<{
readonly description: "Server configuration";
} & {
additionalProperties: false;
}>>;
export type AppServerConfig = s.Static<typeof serverConfigSchema>;
export declare class AppServer extends Module<AppServerConfig> {
getRestrictedPaths(): never[];
get client(): import("hono").Hono<import("../..").ServerEnv, import("hono/types").BlankSchema, "/">;
getSchema(): s.ObjectSchema<{
readonly cors: s.ObjectSchema<{
readonly origin: s.StringSchema<{
readonly default: "*";
}> & {
readonly default: "*";
};
readonly allow_methods: s.ArraySchema<s.StringSchema<{
readonly enum: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
}> & {
readonly enum: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
}, {
readonly default: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
readonly uniqueItems: true;
}> & {
readonly default: readonly ["GET", "POST", "PATCH", "PUT", "DELETE"];
readonly uniqueItems: true;
};
readonly allow_headers: s.ArraySchema<s.StringSchema<s.IStringOptions> & s.IStringOptions, {
readonly default: readonly ["Content-Type", "Content-Length", "Authorization", "Accept"];
}> & {
readonly default: readonly ["Content-Type", "Content-Length", "Authorization", "Accept"];
};
readonly allow_credentials: s.Schema<{
readonly default: true;
}, boolean, boolean> & {
readonly default: true;
};
}, s.Merge<s.IObjectOptions & {
additionalProperties: false;
}>>;
readonly mcp: s.ObjectSchema<{
readonly enabled: s.Schema<{
readonly default: false;
}, boolean, boolean> & {
readonly default: false;
};
readonly path: s.StringSchema<{
readonly default: "/api/system/mcp";
}> & {
readonly default: "/api/system/mcp";
};
readonly logLevel: s.StringSchema<{
readonly enum: ("debug" | "error" | "info" | "critical" | "warning" | "emergency" | "alert" | "notice")[];
readonly default: "warning";
}> & {
readonly enum: ("debug" | "error" | "info" | "critical" | "warning" | "emergency" | "alert" | "notice")[];
readonly default: "warning";
};
}, s.Merge<s.IObjectOptions & {
additionalProperties: false;
}>>;
}, s.Merge<{
readonly description: "Server configuration";
} & {
additionalProperties: false;
}>>;
build(): Promise<void>;
toJSON(secrets?: boolean): {
mcp: {
enabled: boolean;
path: string;
logLevel: "debug" | "error" | "info" | "critical" | "warning" | "emergency" | "alert" | "notice";
};
cors: {
origin: string;
allow_methods: ("GET" | "POST" | "PATCH" | "PUT" | "DELETE")[];
allow_headers: string[];
allow_credentials: boolean;
};
};
}