UNPKG

@vercel/sdk

Version:

<p align="center"> <a href="https://vercel.com"> <img src="https://assets.vercel.com/image/upload/v1588805858/repositories/vercel/logo.png" height="96"> <h3 align="center">Vercel</h3> </a> <p align="center">Develop. Preview. Ship.</p> </p>

1,070 lines 54.5 kB
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod/v3";
import { remap as remap$ } from "../lib/primitives.js";
import { safeParse } from "../lib/schemas.js";
import * as types from "../types/primitives.js";
import { smartUnion } from "../types/smartUnion.js";
import { Analytics$inboundSchema, CreateProjectConnectConfigurations$inboundSchema, CreateProjectCrons$inboundSchema, CreateProjectDataCache$inboundSchema, CreateProjectEnv$inboundSchema, CreateProjectExpiration$inboundSchema, CreateProjectFrom$inboundSchema, CreateProjectIpBuckets$inboundSchema, CreateProjectMicrofrontends$inboundSchema, CreateProjectNodeVersion$inboundSchema, CreateProjectOptionsAllowlist$inboundSchema, CreateProjectPassport$inboundSchema, CreateProjectPasswordProtection$inboundSchema, CreateProjectPermissions$inboundSchema, CreateProjectProjectsFramework$inboundSchema, CreateProjectProjectsResourceConfig$inboundSchema, CreateProjectProjectsSsoProtection$inboundSchema, CreateProjectRollbackDescription$inboundSchema, CreateProjectStaticIps$inboundSchema, CreateProjectTargets$inboundSchema, CreateProjectToProjects2$inboundSchema, CreateProjectToProjectsResponsePreset$inboundSchema, CreateProjectTrustedIps$inboundSchema, CustomEnvironments$inboundSchema, DefaultResourceConfig$inboundSchema, DeploymentExpiration$inboundSchema, Jobs$inboundSchema, LastAliasRequest$inboundSchema, LastRollbackTarget$inboundSchema, LatestDeployments$inboundSchema, Link$inboundSchema, ProtectionBypass$inboundSchema, ProtectionConfig$inboundSchema, RollingRelease$inboundSchema, Services$inboundSchema, SpeedInsights$inboundSchema, } from "./createprojecttoprojectsresponsepreset.js";
export const CreateProjectToProjectsPreset = {
    AllCustom: "all-custom",
};
export const CreateProjectToPreset = {
    AllCustom: "all-custom",
};
/**
 * Whether the Vercel bot should automatically create GitHub deployments https://docs.github.com/en/rest/deployments/deployments#about-deployments NOTE: repository-dispatch events should be used instead
 */
export const CreateProjectCreateDeployments = {
    Disabled: "disabled",
    Enabled: "enabled",
};
export const CreateProjectProjectsResponse200ApplicationJSONResponseBodyAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const CreateProjectProjectsResponse200Action = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const CreateProjectProjectsResponse200ApplicationJSONAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const CreateProjectLogHeaders2 = {
    Wildcard: "*",
};
/**
 * - team: `https://oidc.vercel.com/[team_slug]` - global: `https://oidc.vercel.com`
 */
export const CreateProjectProjectsIssuerMode = {
    Global: "global",
    Team: "team",
};
export const CreateProjectSourcesProjectsProvider = {
    Bitbucket: "bitbucket",
    Github: "github",
};
export const CreateProjectEnvironmentsProjectsTarget = {
    Preview: "preview",
    Production: "production",
};
/**
 * Customer-configurable deployment sources. Every deploy classifies to exactly one. JSON schema in `packages/deployment-policy/schemas/body.ts` enumerates exactly these values. - `'git'` — git provider webhook. - `'cli'` — Vercel CLI (legacy classic-token CLI and SIWV CLI both). - `'rest-api'` — direct user/team-token REST upload. Does NOT cover deploy hooks, Marketplace integrations, or first-party app tokens. - `'deploy-hook'` — project deploy-hook URL. The URL is the credential. - `'integration'` — third-party Marketplace actor: Marketplace integration token, user-delegated OAuth from a Marketplace app, or an unrecognized third-party Vercel App. First-party Vercel Apps are never `'integration'`. - `'v0'` — the v0 product surface (entitlement-gated). v0 deploys through the CLI under the hood, but classifies as its own source so a team can allow or deny v0 independently of `'cli'`. First-party Vercel apps (Toolbar, etc.) classify as `'first-party'` — see `ClassifiedSource` in `./checks`. They're not in this union because they aren't customer-configurable; they bypass `checkDeploymentSources` entirely. v0 is intentionally NOT among them: like the CLI, it's a real product surface and is policy-controllable.
 */
export const CreateProjectProjectsSources = {
    Cli: "cli",
    DeployHook: "deploy-hook",
    Git: "git",
    Integration: "integration",
    RestApi: "rest-api",
    V0: "v0",
};
export const CreateProjectEnvironmentsTarget = {
    Preview: "preview",
    Production: "production",
};
export const FlatRateTier = {
    Advanced: "advanced",
    Base: "base",
    Critical: "critical",
    Standard: "standard",
};
/**
 * Billing mode. Always 'flat' for flat-rate projects.
 */
export const CreateProjectKind = {
    Flat: "flat",
};
export const CreateProjectProjectsResponseAction = {
    Blocked: "blocked",
};
export const CreateProjectHasProjectsKey = {
    XVercelIpCountry: "x-vercel-ip-country",
};
export const CreateProjectRouteAction = {
    BlockLegalCwc: "block_legal_cwc",
};
export const CreateProjectHasKey = {
    XVercelIpCountry: "x-vercel-ip-country",
};
export const RouteAction = {
    BlockLegalCwc: "block_legal_cwc",
};
export const CreateProjectProjectsAction = {
    AddDeploymentInterstitial: "add-deployment-interstitial",
    AddProjectInterstitial: "add-project-interstitial",
    RemoveDeploymentInterstitial: "remove-deployment-interstitial",
    RemoveProjectInterstitial: "remove-project-interstitial",
};
export const HasKey = {
    XVercelIpCountry: "x-vercel-ip-country",
};
export const InternalRoutesAction = {
    BlockLegalCwc: "block_legal_cwc",
};
export const CreateProjectAction = {
    Accept: "accept",
    Cancel: "cancel",
    Delete: "delete",
};
export const CreateProjectProjectsEnv = {
    Preview: "preview",
    Production: "production",
};
/** @internal */
export const CreateProjectToProjects1$inboundSchema = z.object({
    slugs: z.array(types.string()),
    preset: types.optional(CreateProjectToProjectsResponsePreset$inboundSchema),
});
export function createProjectToProjects1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectToProjects1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectToProjects1' from JSON`);
}
/** @internal */
export const CreateProjectProjectsTo$inboundSchema = smartUnion([
    z.lazy(() => CreateProjectToProjects1$inboundSchema),
    CreateProjectToProjects2$inboundSchema,
]);
export function createProjectProjectsToFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectProjectsTo$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectProjectsTo' from JSON`);
}
/** @internal */
export const CreateProjectCustomAllow$inboundSchema = z.object({
    from: CreateProjectFrom$inboundSchema,
    to: smartUnion([
        z.lazy(() => CreateProjectToProjects1$inboundSchema),
        CreateProjectToProjects2$inboundSchema,
    ]),
});
export function createProjectCustomAllowFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectCustomAllow$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectCustomAllow' from JSON`);
}
/** @internal */
export const CreateProjectProjects$inboundSchema = z.object({
    label: types.optional(types.string()),
    customAllow: types.optional(z.array(z.lazy(() => CreateProjectCustomAllow$inboundSchema))),
});
export function createProjectProjectsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectProjects$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectProjects' from JSON`);
}
/** @internal */
export const CreateProjectToProjectsPreset$inboundSchema = z.nativeEnum(CreateProjectToProjectsPreset);
/** @internal */
export const CreateProjectTo2$inboundSchema = z.object({
    slugs: types.optional(z.array(types.string())),
    preset: CreateProjectToProjectsPreset$inboundSchema,
});
export function createProjectTo2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectTo2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectTo2' from JSON`);
}
/** @internal */
export const CreateProjectToPreset$inboundSchema = z.nativeEnum(CreateProjectToPreset);
/** @internal */
export const CreateProjectTo1$inboundSchema = z.object({
    slugs: z.array(types.string()),
    preset: types.optional(CreateProjectToPreset$inboundSchema),
});
export function createProjectTo1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectTo1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectTo1' from JSON`);
}
/** @internal */
export const CreateProjectTo$inboundSchema = smartUnion([
    z.lazy(() => CreateProjectTo1$inboundSchema),
    z.lazy(() => CreateProjectTo2$inboundSchema),
]);
export function createProjectToFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectTo$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectTo' from JSON`);
}
/** @internal */
export const CreateProjectOidcProviders$inboundSchema = z.object({
    to: smartUnion([
        z.lazy(() => CreateProjectTo1$inboundSchema),
        z.lazy(() => CreateProjectTo2$inboundSchema),
    ]),
    label: types.optional(types.string()),
    claims: z.record(z.array(types.string())),
});
export function createProjectOidcProvidersFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectOidcProviders$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectOidcProviders' from JSON`);
}
/** @internal */
export const CreateProjectTrustedSources$inboundSchema = z.object({
    projects: types.optional(z.record(z.lazy(() => CreateProjectProjects$inboundSchema))),
    oidcProviders: types.optional(z.record(z.array(z.lazy(() => CreateProjectOidcProviders$inboundSchema)))),
});
export function createProjectTrustedSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectTrustedSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectTrustedSources' from JSON`);
}
/** @internal */
export const CreateProjectGitComments$inboundSchema = z.object({
    onPullRequest: types.boolean(),
    onCommit: types.boolean(),
});
export function createProjectGitCommentsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectGitComments$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectGitComments' from JSON`);
}
/** @internal */
export const CreateProjectCreateDeployments$inboundSchema = z.nativeEnum(CreateProjectCreateDeployments);
/** @internal */
export const CreateProjectConsolidatedGitCommitStatus$inboundSchema = z.object({
    enabled: types.boolean(),
    propagateFailures: types.boolean(),
});
export function createProjectConsolidatedGitCommitStatusFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectConsolidatedGitCommitStatus$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectConsolidatedGitCommitStatus' from JSON`);
}
/** @internal */
export const GitProviderOptions$inboundSchema = z.object({
    createDeployments: CreateProjectCreateDeployments$inboundSchema,
    disableRepositoryDispatchEvents: types.optional(types.boolean()),
    requireVerifiedCommits: types.optional(types.boolean()),
    gitCommitStatus: types.optional(types.boolean()),
    consolidatedGitCommitStatus: types.optional(z.lazy(() => CreateProjectConsolidatedGitCommitStatus$inboundSchema)),
});
export function gitProviderOptionsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GitProviderOptions$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GitProviderOptions' from JSON`);
}
/** @internal */
export const CreateProjectWebAnalytics$inboundSchema = z.object({
    id: types.string(),
    disabledAt: types.optional(types.number()),
    canceledAt: types.optional(types.number()),
    enabledAt: types.optional(types.number()),
    hasData: types.optional(types.literal(true)),
});
export function createProjectWebAnalyticsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectWebAnalytics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectWebAnalytics' from JSON`);
}
/** @internal */
export const CreateProjectProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema = z.nativeEnum(CreateProjectProjectsResponse200ApplicationJSONResponseBodyAction);
/** @internal */
export const CreateProjectVercelRuleset$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(CreateProjectProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema),
});
export function createProjectVercelRulesetFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectVercelRuleset$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectVercelRuleset' from JSON`);
}
/** @internal */
export const CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction$inboundSchema = z.nativeEnum(CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction);
/** @internal */
export const CreateProjectTrafficSources$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityAction$inboundSchema),
});
export function createProjectTrafficSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectTrafficSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectTrafficSources' from JSON`);
}
/** @internal */
export const CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction$inboundSchema = z.nativeEnum(CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction);
/** @internal */
export const BotFilter$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(CreateProjectProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction$inboundSchema),
});
export function botFilterFromJSON(jsonString) {
    return safeParse(jsonString, (x) => BotFilter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BotFilter' from JSON`);
}
/** @internal */
export const CreateProjectProjectsResponse200Action$inboundSchema = z.nativeEnum(CreateProjectProjectsResponse200Action);
/** @internal */
export const CreateProjectAiBots$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(CreateProjectProjectsResponse200Action$inboundSchema),
});
export function createProjectAiBotsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectAiBots$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectAiBots' from JSON`);
}
/** @internal */
export const CreateProjectProjectsResponse200ApplicationJSONAction$inboundSchema = z.nativeEnum(CreateProjectProjectsResponse200ApplicationJSONAction);
/** @internal */
export const CreateProjectOwasp$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(CreateProjectProjectsResponse200ApplicationJSONAction$inboundSchema),
});
export function createProjectOwaspFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectOwasp$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectOwasp' from JSON`);
}
/** @internal */
export const CreateProjectManagedRules$inboundSchema = z.object({
    vercel_ruleset: z.lazy(() => CreateProjectVercelRuleset$inboundSchema),
    traffic_sources: z.lazy(() => CreateProjectTrafficSources$inboundSchema),
    bot_filter: z.lazy(() => BotFilter$inboundSchema),
    ai_bots: z.lazy(() => CreateProjectAiBots$inboundSchema),
    owasp: z.lazy(() => CreateProjectOwasp$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "vercel_ruleset": "vercelRuleset",
        "traffic_sources": "trafficSources",
        "bot_filter": "botFilter",
        "ai_bots": "aiBots",
    });
});
export function createProjectManagedRulesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectManagedRules$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectManagedRules' from JSON`);
}
/** @internal */
export const CreateProjectLogHeaders2$inboundSchema = z.nativeEnum(CreateProjectLogHeaders2);
/** @internal */
export const CreateProjectLogHeaders$inboundSchema = smartUnion([
    z.array(types.string()),
    CreateProjectLogHeaders2$inboundSchema,
]);
export function createProjectLogHeadersFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectLogHeaders$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectLogHeaders' from JSON`);
}
/** @internal */
export const SecurityPlusMetadata$inboundSchema = z.object({
    updatedAt: types.number(),
    firstEnabledAt: types.optional(types.number()),
});
export function securityPlusMetadataFromJSON(jsonString) {
    return safeParse(jsonString, (x) => SecurityPlusMetadata$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'SecurityPlusMetadata' from JSON`);
}
/** @internal */
export const CreateProjectSecurity$inboundSchema = z.object({
    attackModeEnabled: types.optional(types.boolean()),
    attackModeUpdatedAt: types.optional(types.number()),
    firewallEnabled: types.optional(types.boolean()),
    firewallUpdatedAt: types.optional(types.number()),
    attackModeActiveUntil: z.nullable(types.number()).optional(),
    firewallConfigVersion: types.optional(types.number()),
    firewallSeawallEnabled: types.optional(types.boolean()),
    ja3Enabled: types.optional(types.boolean()),
    ja4Enabled: types.optional(types.boolean()),
    firewallBypassIps: types.optional(z.array(types.string())),
    managedRules: z.nullable(z.lazy(() => CreateProjectManagedRules$inboundSchema)).optional(),
    botIdEnabled: types.optional(types.boolean()),
    log_headers: types.optional(smartUnion([
        z.array(types.string()),
        CreateProjectLogHeaders2$inboundSchema,
    ])),
    securityPlus: types.optional(types.boolean()),
    securityPlusMetadata: types.optional(z.lazy(() => SecurityPlusMetadata$inboundSchema)),
    pageIntegrityEnabled: types.optional(types.boolean()),
}).transform((v) => {
    return remap$(v, {
        "log_headers": "logHeaders",
    });
});
export function createProjectSecurityFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectSecurity$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectSecurity' from JSON`);
}
/** @internal */
export const CreateProjectProjectsIssuerMode$inboundSchema = z.nativeEnum(CreateProjectProjectsIssuerMode);
/** @internal */
export const CreateProjectOidcTokenConfig$inboundSchema = z.object({
    enabled: types.optional(types.boolean()),
    issuerMode: types.optional(CreateProjectProjectsIssuerMode$inboundSchema),
});
export function createProjectOidcTokenConfigFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectOidcTokenConfig$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectOidcTokenConfig' from JSON`);
}
/** @internal */
export const CreateProjectSources2$inboundSchema = z.object({
    provider: types.literal("gitlab"),
    namespace: types.string(),
    project: types.optional(types.string()),
});
export function createProjectSources2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectSources2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectSources2' from JSON`);
}
/** @internal */
export const CreateProjectSourcesProjectsProvider$inboundSchema = z.nativeEnum(CreateProjectSourcesProjectsProvider);
/** @internal */
export const CreateProjectSources1$inboundSchema = z.object({
    provider: CreateProjectSourcesProjectsProvider$inboundSchema,
    org: types.string(),
    repo: types.optional(types.string()),
});
export function createProjectSources1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectSources1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectSources1' from JSON`);
}
/** @internal */
export const CreateProjectSources$inboundSchema = z.union([
    z.lazy(() => CreateProjectSources1$inboundSchema).and(z.object({ provider: z.literal("bitbucket") })),
    z.lazy(() => CreateProjectSources1$inboundSchema).and(z.object({ provider: z.literal("github") })),
    z.lazy(() => CreateProjectSources2$inboundSchema),
]);
export function createProjectSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectSources' from JSON`);
}
/** @internal */
export const CreateProjectEnvironmentsProjects2$inboundSchema = z.object({
    type: types.literal("custom"),
    environmentId: types.string(),
});
export function createProjectEnvironmentsProjects2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectEnvironmentsProjects2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectEnvironmentsProjects2' from JSON`);
}
/** @internal */
export const CreateProjectEnvironmentsProjectsTarget$inboundSchema = z
    .nativeEnum(CreateProjectEnvironmentsProjectsTarget);
/** @internal */
export const CreateProjectEnvironmentsProjects1$inboundSchema = z.object({
    type: types.literal("system"),
    target: CreateProjectEnvironmentsProjectsTarget$inboundSchema,
});
export function createProjectEnvironmentsProjects1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectEnvironmentsProjects1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectEnvironmentsProjects1' from JSON`);
}
/** @internal */
export const CreateProjectEnvironments$inboundSchema = z.union([
    z.lazy(() => CreateProjectEnvironmentsProjects1$inboundSchema),
    z.lazy(() => CreateProjectEnvironmentsProjects2$inboundSchema),
]);
export function createProjectEnvironmentsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectEnvironments$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectEnvironments' from JSON`);
}
/** @internal */
export const CreateProjectGitSources$inboundSchema = z.object({
    sources: z.array(z.union([
        z.lazy(() => CreateProjectSources1$inboundSchema).and(z.object({ provider: z.literal("bitbucket") })),
        z.lazy(() => CreateProjectSources1$inboundSchema).and(z.object({ provider: z.literal("github") })),
        z.lazy(() => CreateProjectSources2$inboundSchema),
    ])),
    enabled: types.boolean(),
    environments: z.array(z.union([
        z.lazy(() => CreateProjectEnvironmentsProjects1$inboundSchema),
        z.lazy(() => CreateProjectEnvironmentsProjects2$inboundSchema),
    ])),
});
export function createProjectGitSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectGitSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectGitSources' from JSON`);
}
/** @internal */
export const CreateProjectProjectsSources$inboundSchema = z.nativeEnum(CreateProjectProjectsSources);
/** @internal */
export const CreateProjectEnvironments2$inboundSchema = z.object({
    type: types.literal("custom"),
    environmentId: types.string(),
});
export function createProjectEnvironments2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectEnvironments2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectEnvironments2' from JSON`);
}
/** @internal */
export const CreateProjectEnvironmentsTarget$inboundSchema = z.nativeEnum(CreateProjectEnvironmentsTarget);
/** @internal */
export const CreateProjectEnvironments1$inboundSchema = z.object({
    type: types.literal("system"),
    target: CreateProjectEnvironmentsTarget$inboundSchema,
});
export function createProjectEnvironments1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectEnvironments1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectEnvironments1' from JSON`);
}
/** @internal */
export const CreateProjectProjectsEnvironments$inboundSchema = z.union([
    z.lazy(() => CreateProjectEnvironments1$inboundSchema),
    z.lazy(() => CreateProjectEnvironments2$inboundSchema),
]);
export function createProjectProjectsEnvironmentsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectProjectsEnvironments$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectProjectsEnvironments' from JSON`);
}
/** @internal */
export const CreateProjectDeploymentSources$inboundSchema = z.object({
    sources: z.array(CreateProjectProjectsSources$inboundSchema),
    enabled: types.boolean(),
    environments: z.array(z.union([
        z.lazy(() => CreateProjectEnvironments1$inboundSchema),
        z.lazy(() => CreateProjectEnvironments2$inboundSchema),
    ])),
});
export function createProjectDeploymentSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectDeploymentSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectDeploymentSources' from JSON`);
}
/** @internal */
export const CreateProjectDeploymentPolicy$inboundSchema = z.object({
    gitSources: z.nullable(z.array(z.lazy(() => CreateProjectGitSources$inboundSchema))).optional(),
    deploymentSources: z.nullable(z.array(z.lazy(() => CreateProjectDeploymentSources$inboundSchema))).optional(),
});
export function createProjectDeploymentPolicyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectDeploymentPolicy$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectDeploymentPolicy' from JSON`);
}
/** @internal */
export const FlatRateTier$inboundSchema = z.nativeEnum(FlatRateTier);
/** @internal */
export const CreateProjectKind$inboundSchema = z.nativeEnum(CreateProjectKind);
/** @internal */
export const UsageStatus$inboundSchema = z.object({
    kind: CreateProjectKind$inboundSchema,
    exceededAllowanceUntil: types.optional(types.number()),
    bypassThrottleUntil: types.optional(types.number()),
    throttled: types.optional(types.boolean()),
});
export function usageStatusFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UsageStatus$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UsageStatus' from JSON`);
}
/** @internal */
export const Features$inboundSchema = z.object({
    webAnalytics: types.optional(types.boolean()),
});
export function featuresFromJSON(jsonString) {
    return safeParse(jsonString, (x) => Features$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Features' from JSON`);
}
/** @internal */
export const CreateProjectHistory$inboundSchema = z.object({
    scanner: types.string(),
    reason: types.string(),
    by: types.string(),
    byId: types.string(),
    at: types.number(),
});
export function createProjectHistoryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHistory$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHistory' from JSON`);
}
/** @internal */
export const CreateProjectProjectsResponseAction$inboundSchema = z.nativeEnum(CreateProjectProjectsResponseAction);
/** @internal */
export const Block$inboundSchema = z
    .object({
    action: CreateProjectProjectsResponseAction$inboundSchema,
    reason: types.string(),
    statusCode: types.number(),
    createdAt: types.number(),
    caseId: types.optional(types.string()),
    actor: types.optional(types.string()),
    comment: types.optional(types.string()),
    ineligibleForAppeal: types.optional(types.boolean()),
    isCascading: types.optional(types.boolean()),
});
export function blockFromJSON(jsonString) {
    return safeParse(jsonString, (x) => Block$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Block' from JSON`);
}
/** @internal */
export const CreateProjectHasProjectsResponse200Value$inboundSchema = z.object({
    eq: types.string(),
});
export function createProjectHasProjectsResponse200ValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjectsResponse200Value$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjectsResponse200Value' from JSON`);
}
/** @internal */
export const CreateProjectHasProjects2$inboundSchema = z.object({
    type: types.literal("host"),
    value: z.lazy(() => CreateProjectHasProjectsResponse200Value$inboundSchema),
});
export function createProjectHasProjects2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjects2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjects2' from JSON`);
}
/** @internal */
export const CreateProjectHasProjectsKey$inboundSchema = z.nativeEnum(CreateProjectHasProjectsKey);
/** @internal */
export const CreateProjectHasProjectsResponseValue$inboundSchema = z.object({
    eq: types.string(),
});
export function createProjectHasProjectsResponseValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjectsResponseValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjectsResponseValue' from JSON`);
}
/** @internal */
export const CreateProjectHasProjects1$inboundSchema = z.object({
    type: types.literal("header"),
    key: CreateProjectHasProjectsKey$inboundSchema,
    value: z.lazy(() => CreateProjectHasProjectsResponseValue$inboundSchema),
});
export function createProjectHasProjects1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjects1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjects1' from JSON`);
}
/** @internal */
export const CreateProjectRouteHas$inboundSchema = z.union([
    z.lazy(() => CreateProjectHasProjects1$inboundSchema),
    z.lazy(() => CreateProjectHasProjects2$inboundSchema),
]);
export function createProjectRouteHasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectRouteHas$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectRouteHas' from JSON`);
}
/** @internal */
export const CreateProjectRouteAction$inboundSchema = z.nativeEnum(CreateProjectRouteAction);
/** @internal */
export const CreateProjectRouteMitigate$inboundSchema = z.object({
    action: CreateProjectRouteAction$inboundSchema,
});
export function createProjectRouteMitigateFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectRouteMitigate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectRouteMitigate' from JSON`);
}
/** @internal */
export const CreateProjectRoute2$inboundSchema = z.object({
    has: z.array(z.union([
        z.lazy(() => CreateProjectHasProjects1$inboundSchema),
        z.lazy(() => CreateProjectHasProjects2$inboundSchema),
    ])),
    mitigate: z.lazy(() => CreateProjectRouteMitigate$inboundSchema),
    src: types.optional(types.string()),
});
export function createProjectRoute2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectRoute2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectRoute2' from JSON`);
}
/** @internal */
export const CreateProjectRoute1$inboundSchema = z.object({
    src: types.string(),
    status: types.number(),
});
export function createProjectRoute1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectRoute1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectRoute1' from JSON`);
}
/** @internal */
export const CreateProjectBlockHistoryRoute$inboundSchema = smartUnion([
    z.lazy(() => CreateProjectRoute1$inboundSchema),
    z.lazy(() => CreateProjectRoute2$inboundSchema),
]);
export function createProjectBlockHistoryRouteFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectBlockHistoryRoute$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectBlockHistoryRoute' from JSON`);
}
/** @internal */
export const BlockHistory4$inboundSchema = z.object({
    action: types.literal("route-unblocked"),
    route: smartUnion([
        z.lazy(() => CreateProjectRoute1$inboundSchema),
        z.lazy(() => CreateProjectRoute2$inboundSchema),
    ]),
    statusCode: types.optional(types.number()),
    createdAt: types.number(),
    caseId: types.optional(types.string()),
    actor: types.optional(types.string()),
    comment: types.optional(types.string()),
    ineligibleForAppeal: types.optional(types.boolean()),
    isCascading: types.optional(types.boolean()),
});
export function blockHistory4FromJSON(jsonString) {
    return safeParse(jsonString, (x) => BlockHistory4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BlockHistory4' from JSON`);
}
/** @internal */
export const CreateProjectHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema = z.object({
    eq: types.string(),
});
export function createProjectHasProjectsResponse200ApplicationJSONResponseBodyValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjectsResponse200ApplicationJSONResponseBodyValue' from JSON`);
}
/** @internal */
export const CreateProjectHasProjectsResponse2$inboundSchema = z.object({
    type: types.literal("host"),
    value: z.lazy(() => CreateProjectHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema),
});
export function createProjectHasProjectsResponse2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjectsResponse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjectsResponse2' from JSON`);
}
/** @internal */
export const CreateProjectHasKey$inboundSchema = z.nativeEnum(CreateProjectHasKey);
/** @internal */
export const CreateProjectHasProjectsResponse200ApplicationJSONValue$inboundSchema = z.object({
    eq: types.string(),
});
export function createProjectHasProjectsResponse200ApplicationJSONValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjectsResponse200ApplicationJSONValue$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjectsResponse200ApplicationJSONValue' from JSON`);
}
/** @internal */
export const CreateProjectHasProjectsResponse1$inboundSchema = z.object({
    type: types.literal("header"),
    key: CreateProjectHasKey$inboundSchema,
    value: z.lazy(() => CreateProjectHasProjectsResponse200ApplicationJSONValue$inboundSchema),
});
export function createProjectHasProjectsResponse1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjectsResponse1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjectsResponse1' from JSON`);
}
/** @internal */
export const RouteHas$inboundSchema = z.union([
    z.lazy(() => CreateProjectHasProjectsResponse1$inboundSchema),
    z.lazy(() => CreateProjectHasProjectsResponse2$inboundSchema),
]);
export function routeHasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => RouteHas$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'RouteHas' from JSON`);
}
/** @internal */
export const RouteAction$inboundSchema = z
    .nativeEnum(RouteAction);
/** @internal */
export const RouteMitigate$inboundSchema = z.object({
    action: RouteAction$inboundSchema,
});
export function routeMitigateFromJSON(jsonString) {
    return safeParse(jsonString, (x) => RouteMitigate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'RouteMitigate' from JSON`);
}
/** @internal */
export const Route2$inboundSchema = z
    .object({
    has: z.array(z.union([
        z.lazy(() => CreateProjectHasProjectsResponse1$inboundSchema),
        z.lazy(() => CreateProjectHasProjectsResponse2$inboundSchema),
    ])),
    mitigate: z.lazy(() => RouteMitigate$inboundSchema),
    src: types.optional(types.string()),
});
export function route2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => Route2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Route2' from JSON`);
}
/** @internal */
export const Route1$inboundSchema = z
    .object({
    src: types.string(),
    status: types.number(),
});
export function route1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => Route1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Route1' from JSON`);
}
/** @internal */
export const BlockHistoryRoute$inboundSchema = smartUnion([
    z.lazy(() => Route1$inboundSchema),
    z.lazy(() => Route2$inboundSchema),
]);
export function blockHistoryRouteFromJSON(jsonString) {
    return safeParse(jsonString, (x) => BlockHistoryRoute$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BlockHistoryRoute' from JSON`);
}
/** @internal */
export const BlockHistory3$inboundSchema = z.object({
    action: types.literal("route-blocked"),
    route: smartUnion([
        z.lazy(() => Route1$inboundSchema),
        z.lazy(() => Route2$inboundSchema),
    ]),
    reason: types.string(),
    createdAt: types.number(),
    caseId: types.optional(types.string()),
    actor: types.optional(types.string()),
    comment: types.optional(types.string()),
    ineligibleForAppeal: types.optional(types.boolean()),
    isCascading: types.optional(types.boolean()),
});
export function blockHistory3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => BlockHistory3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BlockHistory3' from JSON`);
}
/** @internal */
export const BlockHistory2$inboundSchema = z.object({
    action: types.literal("unblocked"),
    createdAt: types.number(),
    caseId: types.optional(types.string()),
    actor: types.optional(types.string()),
    comment: types.optional(types.string()),
    ineligibleForAppeal: types.optional(types.boolean()),
    isCascading: types.optional(types.boolean()),
});
export function blockHistory2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => BlockHistory2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BlockHistory2' from JSON`);
}
/** @internal */
export const BlockHistory1$inboundSchema = z.object({
    action: types.literal("blocked"),
    reason: types.string(),
    statusCode: types.number(),
    createdAt: types.number(),
    caseId: types.optional(types.string()),
    actor: types.optional(types.string()),
    comment: types.optional(types.string()),
    ineligibleForAppeal: types.optional(types.boolean()),
    isCascading: types.optional(types.boolean()),
});
export function blockHistory1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => BlockHistory1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'BlockHistory1' from JSON`);
}
/** @internal */
export const CreateProjectBlockHistory$inboundSchema = z.union([
    z.lazy(() => BlockHistory1$inboundSchema),
    z.lazy(() => BlockHistory2$inboundSchema),
    z.lazy(() => BlockHistory3$inboundSchema),
    z.lazy(() => BlockHistory4$inboundSchema),
]);
export function createProjectBlockHistoryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectBlockHistory$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectBlockHistory' from JSON`);
}
/** @internal */
export const CreateProjectProjectsAction$inboundSchema = z.nativeEnum(CreateProjectProjectsAction);
/** @internal */
export const InterstitialHistory$inboundSchema = z.object({
    action: CreateProjectProjectsAction$inboundSchema,
    createdAt: types.number(),
    caseId: types.optional(types.string()),
    reason: types.optional(types.string()),
    actor: types.optional(types.string()),
    comment: types.optional(types.string()),
});
export function interstitialHistoryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => InterstitialHistory$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InterstitialHistory' from JSON`);
}
/** @internal */
export const CreateProjectAbuse$inboundSchema = z.object({
    scanner: types.optional(types.string()),
    history: z.array(z.lazy(() => CreateProjectHistory$inboundSchema)),
    updatedAt: types.number(),
    block: types.optional(z.lazy(() => Block$inboundSchema)),
    blockHistory: types.optional(z.array(z.union([
        z.lazy(() => BlockHistory1$inboundSchema),
        z.lazy(() => BlockHistory2$inboundSchema),
        z.lazy(() => BlockHistory3$inboundSchema),
        z.lazy(() => BlockHistory4$inboundSchema),
    ]))),
    interstitial: types.optional(types.boolean()),
    interstitialHistory: types.optional(z.array(z.lazy(() => InterstitialHistory$inboundSchema))),
});
export function createProjectAbuseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectAbuse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectAbuse' from JSON`);
}
/** @internal */
export const CreateProjectHasProjectsValue$inboundSchema = z.object({
    eq: types.string(),
});
export function createProjectHasProjectsValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasProjectsValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasProjectsValue' from JSON`);
}
/** @internal */
export const CreateProjectHas2$inboundSchema = z.object({
    type: types.literal("host"),
    value: z.lazy(() => CreateProjectHasProjectsValue$inboundSchema),
});
export function createProjectHas2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHas2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHas2' from JSON`);
}
/** @internal */
export const HasKey$inboundSchema = z
    .nativeEnum(HasKey);
/** @internal */
export const CreateProjectHasValue$inboundSchema = z.object({
    eq: types.string(),
});
export function createProjectHasValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHasValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHasValue' from JSON`);
}
/** @internal */
export const CreateProjectHas1$inboundSchema = z.object({
    type: types.literal("header"),
    key: HasKey$inboundSchema,
    value: z.lazy(() => CreateProjectHasValue$inboundSchema),
});
export function createProjectHas1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectHas1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectHas1' from JSON`);
}
/** @internal */
export const InternalRoutesHas$inboundSchema = z.union([
    z.lazy(() => CreateProjectHas1$inboundSchema),
    z.lazy(() => CreateProjectHas2$inboundSchema),
]);
export function internalRoutesHasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => InternalRoutesHas$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InternalRoutesHas' from JSON`);
}
/** @internal */
export const InternalRoutesAction$inboundSchema = z.nativeEnum(InternalRoutesAction);
/** @internal */
export const InternalRoutesMitigate$inboundSchema = z.object({
    action: InternalRoutesAction$inboundSchema,
});
export function internalRoutesMitigateFromJSON(jsonString) {
    return safeParse(jsonString, (x) => InternalRoutesMitigate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InternalRoutesMitigate' from JSON`);
}
/** @internal */
export const InternalRoutes2$inboundSchema = z.object({
    has: z.array(z.union([
        z.lazy(() => CreateProjectHas1$inboundSchema),
        z.lazy(() => CreateProjectHas2$inboundSchema),
    ])),
    mitigate: z.lazy(() => InternalRoutesMitigate$inboundSchema),
    src: types.optional(types.string()),
});
export function internalRoutes2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => InternalRoutes2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InternalRoutes2' from JSON`);
}
/** @internal */
export const InternalRoutes1$inboundSchema = z.object({
    src: types.string(),
    status: types.number(),
});
export function internalRoutes1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => InternalRoutes1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InternalRoutes1' from JSON`);
}
/** @internal */
export const InternalRoutes$inboundSchema = smartUnion([
    z.lazy(() => InternalRoutes1$inboundSchema),
    z.lazy(() => InternalRoutes2$inboundSchema),
]);
export function internalRoutesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => InternalRoutes$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'InternalRoutes' from JSON`);
}
/** @internal */
export const CreateProjectAction$inboundSchema = z.nativeEnum(CreateProjectAction);
/** @internal */
export const ValuePreviousValue$inboundSchema = smartUnion([types.string(), types.number(), types.boolean()]);
export function valuePreviousValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ValuePreviousValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ValuePreviousValue' from JSON`);
}
/** @internal */
export const ValueCurrentValue$inboundSchema = smartUnion([types.string(), types.number(), types.boolean()]);
export function valueCurrentValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ValueCurrentValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ValueCurrentValue' from JSON`);
}
/** @internal */
export const Value3$inboundSchema = z
    .object({
    previousValue: smartUnion([
        types.string(),
        types.number(),
        types.boolean(),
    ]),
    currentValue: smartUnion([types.string(), types.number(), types.boolean()]),
});
export function value3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => Value3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Value3' from JSON`);
}
/** @internal */
export const CreateProjectValue$inboundSchema = smartUnion([
    z.lazy(() => Value3$inboundSchema),
    types.string(),
    types.number(),
    types.boolean(),
]);
export function createProjectValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectValue' from JSON`);
}
/** @internal */
export const CreateProjectDismissedToasts$inboundSchema = z.object({
    key: types.string(),
    dismissedAt: types.number(),
    action: CreateProjectAction$inboundSchema,
    value: types.nullable(smartUnion([
        z.lazy(() => Value3$inboundSchema),
        types.string(),
        types.number(),
        types.boolean(),
    ])),
});
export function createProjectDismissedToastsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectDismissedToasts$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectDismissedToasts' from JSON`);
}
/** @internal */
export const CreateProjectProjectsEnv$inboundSchema = z.nativeEnum(CreateProjectProjectsEnv);
/** @internal */
export const CreateProjectSamplingRules$inboundSchema = z.object({
    rate: types.number(),
    env: types.optional(CreateProjectProjectsEnv$inboundSchema),
    requestPath: types.optional(types.string()),
});
export function createProjectSamplingRulesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectSamplingRules$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectSamplingRules' from JSON`);
}
/** @internal */
export const CreateProjectTracing$inboundSchema = z.object({
    domains: types.optional(types.string()),
    ignorePaths: types.optional(z.array(types.string())),
    samplingRules: types.optional(z.array(z.lazy(() => CreateProjectSamplingRules$inboundSchema))),
});
export function createProjectTracingFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectTracing$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectTracing' from JSON`);
}
/** @internal */
export const CreateProjectResponseBody$inboundSchema = z.object({
    accountId: types.string(),
    analytics: types.optional(Analytics$inboundSchema),
    appliedCve55182Migration: types.optional(types.boolean()),
    speedInsights: types.optional(SpeedInsights$inboundSchema),
    autoExposeSystemEnvs: types.optional(types.boolean()),
    autoAssignCustomDomains: types.optional(types.boolean()),
    autoAssignCustomDomainsUpdatedBy: types.optional(types.string()),
    buildCommand: z.nullable(types.string()).optional(),
    commandForIgnoringBuildStep: z.nullable(types.string()).optional(),
    connectConfigurations: z.nullable(z.array(CreateProjectConnectConfigurations$inboundSchema)).optional(),
    connectConfigurationId: z.nullable(types.string()).optional(),
    connectBuildsEnabled: types.optional(types.boolean()),
    passiveConnectConfigurationId: z.nullable(types.string()).optional(),
    createdAt: types.optional(types.number()),
    customerSupportCodeVisibility: types.optional(types.boolean()),
    crons: types.optional(CreateProjectCrons$inboundSchema),
    dataCache: types.optional(CreateProjectDataCache$inboundSchema),
    deploymentExpiration: DeploymentExpiration$inboundSchema,
    expiration: types.optional(CreateProjectExpiration$inboundSchema),
    devCommand: z.nullable(types.string()).optional(),
    directoryListing: types.boolean(),
    installCommand: z.nullable(types.string()).optional(),
    env: types.optional(z.array(CreateProjectEnv$inboundSchema)),
    customEnvironments: types.optional(z.array(CustomEnvironments$inboundSchema)),
    framework: z.nullable(CreateProjectProjectsFramework$inboundSchema)
        .optional(),
    services: types.optional(z.array(Services$inboundSchema)),
    gitForkProtection: types.optional(types.boolean()),
    gitLFS: types.optional(types.boolean()),
    id: types.string(),
    ipBuckets: types.optional(z.array(CreateProjectIpBuckets$inboundSchema)),
    jobs: types.optional(Jobs$inboundSchema),
    latestDeployments: types.optional(z.array(LatestDeployments$inboundSchema)),
    link: types.optional(Link$inboundSchema),
    microfrontends: types.optional(CreateProjectMicrofrontends$inboundSchema),
    name: types.string(),
    nodeVersion: CreateProjectNodeVersion$inboundSchema,
    optionsAllowlist: z.nullable(CreateProjectOptionsAllowlist$inboundSchema)
        .optional(),
    outputDirectory: z.nullable(types.string()).optional(),
    passwordProtection: z.nullable(CreateProjectPasswordProtection$inboundSchema)
        .optional(),
    passport: z.nullable(CreateProjectPassport$inboundSchema).optional(),
    protectionConfig: types.optional(ProtectionConfig$inboundSchema),
    productionDeploymentsFastLane: types.optional(types.boolean()),
    resourceConfig: CreateProjectProjectsResourceConfig$inboundSchema,
    rollbackDescription: types.optional(CreateProjectRollbackDescription$inboundSchema),
    rollingRelease: z.nullable(RollingRelease$inboundSchema).optional(),
    defaultResourceConfig: DefaultResourceConfig$inboundSchema,
    rootDirectory: z.nullable(types.string()).optional(),
    serverlessFunctionZeroConfigFailover: types.optional(types.boolean()),
    skewProtectionBoundaryAt: types.optional(types.number()),
    skewProtectionMaxAge: types.optional(types.number()),
    skewProtectionAllowedDomains: types.optional(z.array(types.string())),
    skipGitConnectDuringLink: types.optional(types.boolean()),
    staticIps: types.optional(CreateProjectStaticIps$inboundSchema),
    sourceFilesOutsideRootDirectory: types.optional(types.boolean()),
    enableAffectedProjectsDeployments: types.optional(types.boolean()),
    enableExternalRewriteCaching: types.optional(types.boolean()),
    ssoProtection: z.nullable(CreateProjectProjectsSsoProtection$inboundSchema)
        .optional(),
    targets: types.optional(z.record(types.nullable(CreateProjectTargets$inboundSchema))),
    transferCompletedAt: types.optional(types.number()),
    transferStartedAt: types.optional(types.number()),
    transferToAccountId: types.optional(types.string()),
    transferredFromAccountId: types.optional(types.string()),
    updatedAt: types.optional(types.number()),
    live: types.optional(types.boolean()),
    enablePreviewFeedback: z.nullable(types.boolean()).optional(),
    enableProductionFeedback: z.nullable(types.boolean()).optional(),
    permissions: types.optional(CreateProjectPermissions$inboundSchema),
    lastRollbackTarget: z.nullable(LastRollbackTarget$inboundSchema).optional(),
    lastAliasRequest: z.nullable(LastAliasRequest$inboundSchema).optional(),
    protectionBypass: types.optional(z.record(ProtectionBypass$inboundSchema)),
    hasActiveBranches: types.optional(types.boolean()),
    trustedIps: z.nullable(CreateProjectTrustedIps$inboundSchema).optional(),
    trustedSources: z.nullable(z.lazy(() => CreateProjectTrustedSources$inboundSchema)).optional(),
    gitComments: types.optional(z.lazy(() => CreateProjectGitComments$inboundSchema)),
    gitProviderOptions: types.optional(z.lazy(() => GitProviderOptions$inboundSchema)),
    paused: types.optional(types.boolean()),
    concurrencyBucketName: types.optional(types.string()),
    webAnalytics: types.optional(z.lazy(() => CreateProjectWebAnalytics$inboundSchema)),
    security: types.optional(z.lazy(() => CreateProjectSecurity$inboundSchema)),
    oidcTokenConfig: types.optional(z.lazy(() => CreateProjectOidcTokenConfig$inboundSchema)),
    deploymentPolicy: z.nullable(z.lazy(() => CreateProjectDeploymentPolicy$inboundSchema)).optional(),
    tier: types.optional(types.string()),
    flatRateTier: types.optional(FlatRateTier$inboundSchema),
    usageStatus: types.optional(z.lazy(() => UsageStatus$inboundSchema)),
    features: types.optional(z.lazy(() => Features$inboundSchema)),
    v0: types.optional(types.boolean()),
    v0Created: types.optional(types.boolean()),
    abuse: types.optional(z.lazy(() => CreateProjectAbuse$inboundSchema)),
    internalRoutes: types.optional(z.array(smartUnion([
        z.lazy(() => InternalRoutes1$inboundSchema),
        z.lazy(() => InternalRoutes2$inboundSchema),
    ]))),
    hasDeployments: types.optional(types.boolean()),
    dismissedToasts: types.optional(z.array(z.lazy(() => CreateProjectDismissedToasts$inboundSchema))),
    protectedSourcemaps: types.optional(types.boolean()),
    tracing: types.optional(z.lazy(() => CreateProjectTracing$inboundSchema)),
    avatar: z.nullable(types.string()).optional(),
});
export function createProjectResponseBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateProjectResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateProjectResponseBody' from JSON`);
}
//# sourceMappingURL=createprojectresponsebody.js.map