Skip to main content

packages/contracts/src/schemas/settings.ts

Metadata

Indexed Symbols

No indexed functions/methods detected in this file.

Markdown Headings (if applicable)

No markdown headings detected.

Source Preview

import { z } from "zod";

const isoDateTime = z.string().datetime();

export const runtimeBehaviorSettingsSchema = z.object({
corsOrigins: z.array(z.string().min(1)).default([]),
requireWebhookSignatures: z.boolean().default(true),
githubWebhookEnabled: z.boolean().default(false),
trustProxy: z.boolean().default(true),
rateLimitEnabled: z.boolean().default(true),
rateLimitWindowMs: z.number().int().positive().default(60000),
rateLimitRequestsPerWindow: z.number().int().positive().default(1200)
});

export const oidcSettingsSchema = z.object({
enabled: z.boolean().default(true),
issuer: z.string().url(),
audience: z.string().min(1),
clientId: z.string().min(1).optional(),
jwksUrl: z.string().url().optional()
});

export const integrationProviderSettingsSchema = z.object({
github: z.object({
enabled: z.boolean().default(false)