UNPKG

reporting-api

Version:

Roll your own Reporting API collector. Supports CSP, COEP, COOP, Document-Policy, Crash reports, Deprecation reports, Intervention reports and Network Error Logging

758 lines (757 loc) 28.2 kB
import { z } from 'zod'; export declare const ContentSecurityPolicyReport: z.ZodObject<{ blockedURL: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; disposition: z.ZodEnum<["enforce", "report"]>; documentURL: z.ZodString; effectiveDirective: z.ZodString; lineNumber: z.ZodOptional<z.ZodNumber>; originalPolicy: z.ZodString; referrer: z.ZodOptional<z.ZodString>; sample: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; statusCode: z.ZodOptional<z.ZodNumber>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ blockedURL: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; disposition: z.ZodEnum<["enforce", "report"]>; documentURL: z.ZodString; effectiveDirective: z.ZodString; lineNumber: z.ZodOptional<z.ZodNumber>; originalPolicy: z.ZodString; referrer: z.ZodOptional<z.ZodString>; sample: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; statusCode: z.ZodOptional<z.ZodNumber>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ blockedURL: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; disposition: z.ZodEnum<["enforce", "report"]>; documentURL: z.ZodString; effectiveDirective: z.ZodString; lineNumber: z.ZodOptional<z.ZodNumber>; originalPolicy: z.ZodString; referrer: z.ZodOptional<z.ZodString>; sample: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; statusCode: z.ZodOptional<z.ZodNumber>; }, z.ZodTypeAny, "passthrough">>; export type ContentSecurityPolicyReport = z.infer<typeof ContentSecurityPolicyReport>; export declare const CrossOriginOpenerPolicyReport: z.ZodObject<{ disposition: z.ZodEnum<["reporting", "enforce"]>; effectivePolicy: z.ZodEnum<["unsafe-none", "same-origin", "same-origin-allow-popups", "same-origin-plus-coep"]>; type: z.ZodEnum<["navigate-to-document", "navigate-from-document", "navigation-from-response", "navigation-to-response", "access-to-coop-page-from-opener", "access-from-coop-page-to-opener", "access-from-coop-page-to-other", "access-from-coop-page-to-openee", "access-to-coop-page-from-opener", "access-to-coop-page-from-openee", "access-to-coop-page-from-other"]>; columnNumber: z.ZodOptional<z.ZodNumber>; initialPopupURL: z.ZodOptional<z.ZodString>; lineNumber: z.ZodOptional<z.ZodNumber>; openeeURL: z.ZodOptional<z.ZodString>; property: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; effectivePolicy: z.ZodEnum<["unsafe-none", "same-origin", "same-origin-allow-popups", "same-origin-plus-coep"]>; type: z.ZodEnum<["navigate-to-document", "navigate-from-document", "navigation-from-response", "navigation-to-response", "access-to-coop-page-from-opener", "access-from-coop-page-to-opener", "access-from-coop-page-to-other", "access-from-coop-page-to-openee", "access-to-coop-page-from-opener", "access-to-coop-page-from-openee", "access-to-coop-page-from-other"]>; columnNumber: z.ZodOptional<z.ZodNumber>; initialPopupURL: z.ZodOptional<z.ZodString>; lineNumber: z.ZodOptional<z.ZodNumber>; openeeURL: z.ZodOptional<z.ZodString>; property: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; effectivePolicy: z.ZodEnum<["unsafe-none", "same-origin", "same-origin-allow-popups", "same-origin-plus-coep"]>; type: z.ZodEnum<["navigate-to-document", "navigate-from-document", "navigation-from-response", "navigation-to-response", "access-to-coop-page-from-opener", "access-from-coop-page-to-opener", "access-from-coop-page-to-other", "access-from-coop-page-to-openee", "access-to-coop-page-from-opener", "access-to-coop-page-from-openee", "access-to-coop-page-from-other"]>; columnNumber: z.ZodOptional<z.ZodNumber>; initialPopupURL: z.ZodOptional<z.ZodString>; lineNumber: z.ZodOptional<z.ZodNumber>; openeeURL: z.ZodOptional<z.ZodString>; property: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">>; export type CrossOriginOpenerPolicyReport = z.infer<typeof CrossOriginOpenerPolicyReport>; export declare const CrossOriginEmbedderPolicyReport: z.ZodObject<{ disposition: z.ZodEnum<["reporting", "enforce"]>; blockedURL: z.ZodOptional<z.ZodString>; /** * - navigation * - worker initialization * - corp */ type: z.ZodString; /** * Set on `type: 'corp'` */ destination: z.ZodOptional<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; blockedURL: z.ZodOptional<z.ZodString>; /** * - navigation * - worker initialization * - corp */ type: z.ZodString; /** * Set on `type: 'corp'` */ destination: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; blockedURL: z.ZodOptional<z.ZodString>; /** * - navigation * - worker initialization * - corp */ type: z.ZodString; /** * Set on `type: 'corp'` */ destination: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">>; /** * https://github.com/camillelamy/explainers/blob/main/coop_reporting.md */ export type CrossOriginEmbedderPolicyReport = z.infer<typeof CrossOriginEmbedderPolicyReport>; export declare const NetworkErrorLogging: z.ZodObject<{ elapsed_time: z.ZodNumber; method: z.ZodString; phase: z.ZodString; protocol: z.ZodString; referrer: z.ZodString; sampling_fraction: z.ZodNumber; server_ip: z.ZodString; status_code: z.ZodNumber; type: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ elapsed_time: z.ZodNumber; method: z.ZodString; phase: z.ZodString; protocol: z.ZodString; referrer: z.ZodString; sampling_fraction: z.ZodNumber; server_ip: z.ZodString; status_code: z.ZodNumber; type: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ elapsed_time: z.ZodNumber; method: z.ZodString; phase: z.ZodString; protocol: z.ZodString; referrer: z.ZodString; sampling_fraction: z.ZodNumber; server_ip: z.ZodString; status_code: z.ZodNumber; type: z.ZodString; }, z.ZodTypeAny, "passthrough">>; export type NetworkErrorLogging = z.infer<typeof NetworkErrorLogging>; export declare const PermissionsPolicyViolation: z.ZodObject<{ message: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; /** * The voilated policy * `accelerometer`, `autoplay`, ... */ policyId: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ message: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; /** * The voilated policy * `accelerometer`, `autoplay`, ... */ policyId: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ message: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; /** * The voilated policy * `accelerometer`, `autoplay`, ... */ policyId: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodString; }, z.ZodTypeAny, "passthrough">>; export type PermissionsPolicyViolation = z.infer<typeof PermissionsPolicyViolation>; export declare const PotentialPermissionsPolicyViolation: z.ZodObject<{ allowAttribute: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; message: z.ZodString; policyId: z.ZodString; srcAttribute: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ allowAttribute: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; message: z.ZodString; policyId: z.ZodString; srcAttribute: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ allowAttribute: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; message: z.ZodString; policyId: z.ZodString; srcAttribute: z.ZodString; }, z.ZodTypeAny, "passthrough">>; export type PotentialPermissionsPolicyViolation = z.infer<typeof PotentialPermissionsPolicyViolation>; export declare const InterventionReport: z.ZodObject<{ id: z.ZodString; message: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }>; export type InterventionReport = z.infer<typeof InterventionReport>; export declare const CrashReport: z.ZodObject<{ /** * Crash reason * * - `oom` Out of memory */ reason: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { reason?: string | undefined; }, { reason?: string | undefined; }>; export type CrashReport = z.infer<typeof CrashReport>; export declare const DeprecationReport: z.ZodObject<{ id: z.ZodString; message: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }>; export type DeprecationReport = z.infer<typeof DeprecationReport>; export declare const Report: z.ZodIntersection<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"csp-violation">; body: z.ZodObject<{ blockedURL: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; disposition: z.ZodEnum<["enforce", "report"]>; documentURL: z.ZodString; effectiveDirective: z.ZodString; lineNumber: z.ZodOptional<z.ZodNumber>; originalPolicy: z.ZodString; referrer: z.ZodOptional<z.ZodString>; sample: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; statusCode: z.ZodOptional<z.ZodNumber>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ blockedURL: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; disposition: z.ZodEnum<["enforce", "report"]>; documentURL: z.ZodString; effectiveDirective: z.ZodString; lineNumber: z.ZodOptional<z.ZodNumber>; originalPolicy: z.ZodString; referrer: z.ZodOptional<z.ZodString>; sample: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; statusCode: z.ZodOptional<z.ZodNumber>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ blockedURL: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; disposition: z.ZodEnum<["enforce", "report"]>; documentURL: z.ZodString; effectiveDirective: z.ZodString; lineNumber: z.ZodOptional<z.ZodNumber>; originalPolicy: z.ZodString; referrer: z.ZodOptional<z.ZodString>; sample: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; statusCode: z.ZodOptional<z.ZodNumber>; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { type: "csp-violation"; body: { blockedURL: string; disposition: "enforce" | "report"; documentURL: string; effectiveDirective: string; originalPolicy: string; columnNumber?: number | undefined; lineNumber?: number | undefined; referrer?: string | undefined; sample?: string | undefined; sourceFile?: string | undefined; statusCode?: number | undefined; } & { [k: string]: unknown; }; }, { type: "csp-violation"; body: { blockedURL: string; disposition: "enforce" | "report"; documentURL: string; effectiveDirective: string; originalPolicy: string; columnNumber?: number | undefined; lineNumber?: number | undefined; referrer?: string | undefined; sample?: string | undefined; sourceFile?: string | undefined; statusCode?: number | undefined; } & { [k: string]: unknown; }; }>, z.ZodObject<{ type: z.ZodLiteral<"coop">; body: z.ZodObject<{ disposition: z.ZodEnum<["reporting", "enforce"]>; effectivePolicy: z.ZodEnum<["unsafe-none", "same-origin", "same-origin-allow-popups", "same-origin-plus-coep"]>; type: z.ZodEnum<["navigate-to-document", "navigate-from-document", "navigation-from-response", "navigation-to-response", "access-to-coop-page-from-opener", "access-from-coop-page-to-opener", "access-from-coop-page-to-other", "access-from-coop-page-to-openee", "access-to-coop-page-from-opener", "access-to-coop-page-from-openee", "access-to-coop-page-from-other"]>; columnNumber: z.ZodOptional<z.ZodNumber>; initialPopupURL: z.ZodOptional<z.ZodString>; lineNumber: z.ZodOptional<z.ZodNumber>; openeeURL: z.ZodOptional<z.ZodString>; property: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; effectivePolicy: z.ZodEnum<["unsafe-none", "same-origin", "same-origin-allow-popups", "same-origin-plus-coep"]>; type: z.ZodEnum<["navigate-to-document", "navigate-from-document", "navigation-from-response", "navigation-to-response", "access-to-coop-page-from-opener", "access-from-coop-page-to-opener", "access-from-coop-page-to-other", "access-from-coop-page-to-openee", "access-to-coop-page-from-opener", "access-to-coop-page-from-openee", "access-to-coop-page-from-other"]>; columnNumber: z.ZodOptional<z.ZodNumber>; initialPopupURL: z.ZodOptional<z.ZodString>; lineNumber: z.ZodOptional<z.ZodNumber>; openeeURL: z.ZodOptional<z.ZodString>; property: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; effectivePolicy: z.ZodEnum<["unsafe-none", "same-origin", "same-origin-allow-popups", "same-origin-plus-coep"]>; type: z.ZodEnum<["navigate-to-document", "navigate-from-document", "navigation-from-response", "navigation-to-response", "access-to-coop-page-from-opener", "access-from-coop-page-to-opener", "access-from-coop-page-to-other", "access-from-coop-page-to-openee", "access-to-coop-page-from-opener", "access-to-coop-page-from-openee", "access-to-coop-page-from-other"]>; columnNumber: z.ZodOptional<z.ZodNumber>; initialPopupURL: z.ZodOptional<z.ZodString>; lineNumber: z.ZodOptional<z.ZodNumber>; openeeURL: z.ZodOptional<z.ZodString>; property: z.ZodOptional<z.ZodString>; sourceFile: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { type: "coop"; body: { disposition: "enforce" | "reporting"; type: "navigate-to-document" | "navigate-from-document" | "navigation-from-response" | "navigation-to-response" | "access-to-coop-page-from-opener" | "access-from-coop-page-to-opener" | "access-from-coop-page-to-other" | "access-from-coop-page-to-openee" | "access-to-coop-page-from-openee" | "access-to-coop-page-from-other"; effectivePolicy: "unsafe-none" | "same-origin" | "same-origin-allow-popups" | "same-origin-plus-coep"; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; initialPopupURL?: string | undefined; openeeURL?: string | undefined; property?: string | undefined; } & { [k: string]: unknown; }; }, { type: "coop"; body: { disposition: "enforce" | "reporting"; type: "navigate-to-document" | "navigate-from-document" | "navigation-from-response" | "navigation-to-response" | "access-to-coop-page-from-opener" | "access-from-coop-page-to-opener" | "access-from-coop-page-to-other" | "access-from-coop-page-to-openee" | "access-to-coop-page-from-openee" | "access-to-coop-page-from-other"; effectivePolicy: "unsafe-none" | "same-origin" | "same-origin-allow-popups" | "same-origin-plus-coep"; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; initialPopupURL?: string | undefined; openeeURL?: string | undefined; property?: string | undefined; } & { [k: string]: unknown; }; }>, z.ZodObject<{ type: z.ZodLiteral<"coep">; body: z.ZodObject<{ disposition: z.ZodEnum<["reporting", "enforce"]>; blockedURL: z.ZodOptional<z.ZodString>; /** * - navigation * - worker initialization * - corp */ type: z.ZodString; /** * Set on `type: 'corp'` */ destination: z.ZodOptional<z.ZodString>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; blockedURL: z.ZodOptional<z.ZodString>; /** * - navigation * - worker initialization * - corp */ type: z.ZodString; /** * Set on `type: 'corp'` */ destination: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ disposition: z.ZodEnum<["reporting", "enforce"]>; blockedURL: z.ZodOptional<z.ZodString>; /** * - navigation * - worker initialization * - corp */ type: z.ZodString; /** * Set on `type: 'corp'` */ destination: z.ZodOptional<z.ZodString>; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { type: "coep"; body: { disposition: "enforce" | "reporting"; type: string; blockedURL?: string | undefined; destination?: string | undefined; } & { [k: string]: unknown; }; }, { type: "coep"; body: { disposition: "enforce" | "reporting"; type: string; blockedURL?: string | undefined; destination?: string | undefined; } & { [k: string]: unknown; }; }>, z.ZodObject<{ type: z.ZodLiteral<"deprecation">; body: z.ZodObject<{ id: z.ZodString; message: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }>; }, "strip", z.ZodTypeAny, { type: "deprecation"; body: { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }; }, { type: "deprecation"; body: { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }; }>, z.ZodObject<{ type: z.ZodLiteral<"crash">; body: z.ZodObject<{ /** * Crash reason * * - `oom` Out of memory */ reason: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { reason?: string | undefined; }, { reason?: string | undefined; }>; }, "strip", z.ZodTypeAny, { type: "crash"; body: { reason?: string | undefined; }; }, { type: "crash"; body: { reason?: string | undefined; }; }>, z.ZodObject<{ type: z.ZodLiteral<"intervention">; body: z.ZodObject<{ id: z.ZodString; message: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }, { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }>; }, "strip", z.ZodTypeAny, { type: "intervention"; body: { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }; }, { type: "intervention"; body: { message: string; id: string; columnNumber?: number | undefined; lineNumber?: number | undefined; sourceFile?: string | undefined; }; }>, z.ZodObject<{ type: z.ZodLiteral<"network-error">; body: z.ZodObject<{ elapsed_time: z.ZodNumber; method: z.ZodString; phase: z.ZodString; protocol: z.ZodString; referrer: z.ZodString; sampling_fraction: z.ZodNumber; server_ip: z.ZodString; status_code: z.ZodNumber; type: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ elapsed_time: z.ZodNumber; method: z.ZodString; phase: z.ZodString; protocol: z.ZodString; referrer: z.ZodString; sampling_fraction: z.ZodNumber; server_ip: z.ZodString; status_code: z.ZodNumber; type: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ elapsed_time: z.ZodNumber; method: z.ZodString; phase: z.ZodString; protocol: z.ZodString; referrer: z.ZodString; sampling_fraction: z.ZodNumber; server_ip: z.ZodString; status_code: z.ZodNumber; type: z.ZodString; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { type: "network-error"; body: { type: string; referrer: string; elapsed_time: number; method: string; phase: string; protocol: string; sampling_fraction: number; server_ip: string; status_code: number; } & { [k: string]: unknown; }; }, { type: "network-error"; body: { type: string; referrer: string; elapsed_time: number; method: string; phase: string; protocol: string; sampling_fraction: number; server_ip: string; status_code: number; } & { [k: string]: unknown; }; }>, z.ZodObject<{ type: z.ZodLiteral<"permissions-policy-violation">; body: z.ZodObject<{ message: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; /** * The voilated policy * `accelerometer`, `autoplay`, ... */ policyId: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ message: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; /** * The voilated policy * `accelerometer`, `autoplay`, ... */ policyId: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ message: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; /** * The voilated policy * `accelerometer`, `autoplay`, ... */ policyId: z.ZodString; columnNumber: z.ZodOptional<z.ZodNumber>; lineNumber: z.ZodOptional<z.ZodNumber>; sourceFile: z.ZodString; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { type: "permissions-policy-violation"; body: { disposition: "enforce" | "report"; message: string; sourceFile: string; policyId: string; columnNumber?: number | undefined; lineNumber?: number | undefined; } & { [k: string]: unknown; }; }, { type: "permissions-policy-violation"; body: { disposition: "enforce" | "report"; message: string; sourceFile: string; policyId: string; columnNumber?: number | undefined; lineNumber?: number | undefined; } & { [k: string]: unknown; }; }>, z.ZodObject<{ type: z.ZodLiteral<"potential-permissions-policy-violation">; body: z.ZodObject<{ allowAttribute: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; message: z.ZodString; policyId: z.ZodString; srcAttribute: z.ZodString; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ allowAttribute: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; message: z.ZodString; policyId: z.ZodString; srcAttribute: z.ZodString; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ allowAttribute: z.ZodString; disposition: z.ZodEnum<["report", "enforce"]>; message: z.ZodString; policyId: z.ZodString; srcAttribute: z.ZodString; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { type: "potential-permissions-policy-violation"; body: { disposition: "enforce" | "report"; message: string; policyId: string; allowAttribute: string; srcAttribute: string; } & { [k: string]: unknown; }; }, { type: "potential-permissions-policy-violation"; body: { disposition: "enforce" | "report"; message: string; policyId: string; allowAttribute: string; srcAttribute: string; } & { [k: string]: unknown; }; }>]>, z.ZodObject<{ /** * URL of the page where the violation occured */ url: z.ZodString; /** * Age of the report in milliseconds */ age: z.ZodNumber; user_agent: z.ZodString; /** * Your policy version */ version: z.ZodOptional<z.ZodString>; /** * The format the report was received in * * - `report-uri` legacy csp report-uri attribute * - `report-to` Reporting API report * - `report-to-safari` Safari is not sending buffered reports, fields in camelCase, body in `body` instead of `csp-report` etc */ report_format: z.ZodEnum<["report-uri", "report-to", "report-to-safari"]>; }, "strip", z.ZodTypeAny, { url: string; age: number; user_agent: string; report_format: "report-uri" | "report-to" | "report-to-safari"; version?: string | undefined; }, { url: string; age: number; user_agent: string; report_format: "report-uri" | "report-to" | "report-to-safari"; version?: string | undefined; }>>; export type Report = z.infer<typeof Report>;