@appwarden/middleware
Version:
Instantly disable all user interaction with your app deployed on Cloudflare or Vercel
483 lines (477 loc) • 32 kB
TypeScript
import { z } from 'zod';
declare const ContentSecurityPolicySchema: z.ZodObject<{
"default-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"script-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"style-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"img-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"connect-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"font-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"object-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"media-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"frame-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
sandbox: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"report-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"child-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"form-action": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"frame-ancestors": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"plugin-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"base-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"report-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"worker-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"manifest-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"prefetch-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"navigate-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"require-sri-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"block-all-mixed-content": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"upgrade-insecure-requests": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"trusted-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"require-trusted-types-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
}, "strip", z.ZodTypeAny, {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}, {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}>;
type ContentSecurityPolicyType = z.infer<typeof ContentSecurityPolicySchema>;
/**
* Fallback bindings type for when Wrangler types are not available.
* This provides a minimal type definition for development.
*
* When users run `wrangler types`, it generates:
* - `declare namespace Cloudflare { interface Env { ... } }`
* - `interface Env extends Cloudflare.Env {}`
*
* Our CloudflareEnv should pick up the user's generated Env type first.
*/
type Bindings = {
DEBUG?: string | boolean;
APPWARDEN_LOCK_PAGE_SLUG?: string;
CSP_MODE?: "disabled" | "report-only" | "enforced";
CSP_DIRECTIVES?: string | ContentSecurityPolicyType;
APPWARDEN_API_TOKEN?: string;
APPWARDEN_API_HOSTNAME?: string;
};
declare global {
/**
* CloudflareEnv is the global type used by all adapters.
*
* TypeScript's declaration merging means:
* 1. If user has Wrangler-generated `interface Env`, CloudflareEnv will extend it
* 2. If not, CloudflareEnv will extend our fallback Bindings type
*
* This ensures Wrangler types take precedence when available.
*/
interface CloudflareEnv extends Env {
}
/**
* Fallback Env interface when Wrangler types are not generated.
* If the user runs `wrangler types`, their generated Env will merge with this.
*/
interface Env extends Bindings {
}
}
/**
* Cloudflare request context shape used by withAppwarden config functions.
* This matches the context passed to config functions in appwardenOnCloudflare.
*/
type RequestContext = {
env: Bindings;
ctx: ExecutionContext;
};
interface MiddlewareContext {
hostname: string;
request: Request;
response: Response;
waitUntil: ExecutionContext["waitUntil"];
debug: (...msg: any[]) => void;
}
type Middleware = (context: MiddlewareContext, next: () => MiddlewareNextSchemaType) => MiddlewareNextSchemaType;
declare const MiddlewareNextSchema: z.ZodUnion<[z.ZodVoid, z.ZodNull, z.ZodPromise<z.ZodUnion<[z.ZodVoid, z.ZodNull]>>]>;
type MiddlewareNextSchemaType = z.infer<typeof MiddlewareNextSchema>;
declare const CSPDirectivesSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
"default-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"script-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"style-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"img-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"connect-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"font-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"object-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"media-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"frame-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
sandbox: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"report-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"child-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"form-action": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"frame-ancestors": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"plugin-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"base-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"report-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"worker-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"manifest-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"prefetch-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"navigate-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"require-sri-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"block-all-mixed-content": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"upgrade-insecure-requests": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"trusted-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"require-trusted-types-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
}, "strip", z.ZodTypeAny, {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}, {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}>]>;
declare const CSPModeSchema: z.ZodUnion<[z.ZodLiteral<"disabled">, z.ZodLiteral<"report-only">, z.ZodLiteral<"enforced">]>;
declare const UseCSPInputSchema: z.ZodObject<{
mode: z.ZodUnion<[z.ZodLiteral<"disabled">, z.ZodLiteral<"report-only">, z.ZodLiteral<"enforced">]>;
directives: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodObject<{
"default-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"script-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"style-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"img-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"connect-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"font-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"object-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"media-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"frame-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
sandbox: z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"report-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"child-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"form-action": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"frame-ancestors": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"plugin-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"base-uri": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"report-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"worker-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"manifest-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"prefetch-src": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"navigate-to": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"require-sri-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"block-all-mixed-content": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"upgrade-insecure-requests": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"trusted-types": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
"require-trusted-types-for": z.ZodOptional<z.ZodUnion<[z.ZodArray<z.ZodString, "many">, z.ZodString, z.ZodBoolean]>>;
}, "strip", z.ZodTypeAny, {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}, {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}>]>, string | {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}, string | {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}>, {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
} | undefined, string | {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
}>;
}, "strip", z.ZodTypeAny, {
mode: "disabled" | "report-only" | "enforced";
directives?: {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
} | undefined;
}, {
mode: "disabled" | "report-only" | "enforced";
directives: string | {
"default-src"?: string | boolean | string[] | undefined;
"script-src"?: string | boolean | string[] | undefined;
"style-src"?: string | boolean | string[] | undefined;
"img-src"?: string | boolean | string[] | undefined;
"connect-src"?: string | boolean | string[] | undefined;
"font-src"?: string | boolean | string[] | undefined;
"object-src"?: string | boolean | string[] | undefined;
"media-src"?: string | boolean | string[] | undefined;
"frame-src"?: string | boolean | string[] | undefined;
sandbox?: string | boolean | string[] | undefined;
"report-uri"?: string | boolean | string[] | undefined;
"child-src"?: string | boolean | string[] | undefined;
"form-action"?: string | boolean | string[] | undefined;
"frame-ancestors"?: string | boolean | string[] | undefined;
"plugin-types"?: string | boolean | string[] | undefined;
"base-uri"?: string | boolean | string[] | undefined;
"report-to"?: string | boolean | string[] | undefined;
"worker-src"?: string | boolean | string[] | undefined;
"manifest-src"?: string | boolean | string[] | undefined;
"prefetch-src"?: string | boolean | string[] | undefined;
"navigate-to"?: string | boolean | string[] | undefined;
"require-sri-for"?: string | boolean | string[] | undefined;
"block-all-mixed-content"?: string | boolean | string[] | undefined;
"upgrade-insecure-requests"?: string | boolean | string[] | undefined;
"trusted-types"?: string | boolean | string[] | undefined;
"require-trusted-types-for"?: string | boolean | string[] | undefined;
};
}>;
type UseCSPInput = z.infer<typeof UseCSPInputSchema>;
export { type Bindings as B, CSPDirectivesSchema as C, type Middleware as M, type RequestContext as R, type UseCSPInput as U, CSPModeSchema as a };