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,694 lines 95.9 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 { GetProjectsResponseBodyCrons$inboundSchema, GetProjectsResponseBodyMicrofrontends$inboundSchema, GetProjectsResponseBodyProjectsAnalytics$inboundSchema, GetProjectsResponseBodyProjectsDeploymentExpiration$inboundSchema, GetProjectsResponseBodyProjectsEnv$inboundSchema, GetProjectsResponseBodyProjectsFramework$inboundSchema, GetProjectsResponseBodyProjectsGitComments$inboundSchema, GetProjectsResponseBodyProjectsGitProviderOptions$inboundSchema, GetProjectsResponseBodyProjectsIpBuckets$inboundSchema, GetProjectsResponseBodyProjectsLatestDeployments$inboundSchema, GetProjectsResponseBodyProjectsLink$inboundSchema, GetProjectsResponseBodyProjectsPassport$inboundSchema, GetProjectsResponseBodyProjectsPasswordProtection$inboundSchema, GetProjectsResponseBodyProjectsResourceConfig$inboundSchema, GetProjectsResponseBodyProjectsResponseNodeVersion$inboundSchema, GetProjectsResponseBodyProjectsRollingRelease$inboundSchema, GetProjectsResponseBodyProjectsSpeedInsights$inboundSchema, GetProjectsResponseBodyProjectsSsoProtection$inboundSchema, GetProjectsResponseBodyProjectsTargets$inboundSchema, GetProjectsResponseBodyProjectsTrustedSources$inboundSchema, ResponseBodyConnectConfigurations$inboundSchema, ResponseBodyCustomEnvironments$inboundSchema, ResponseBodyDataCache$inboundSchema, ResponseBodyDefaultResourceConfig$inboundSchema, ResponseBodyExpiration$inboundSchema, ResponseBodyJobs$inboundSchema, ResponseBodyLastAliasRequest$inboundSchema, ResponseBodyLastRollbackTarget$inboundSchema, ResponseBodyOptionsAllowlist$inboundSchema, ResponseBodyPermissions$inboundSchema, ResponseBodyProtectionBypass$inboundSchema, ResponseBodyProtectionConfig$inboundSchema, ResponseBodyRollbackDescription$inboundSchema, ResponseBodyServices$inboundSchema, ResponseBodyStaticIps$inboundSchema, ResponseBodyTrustedIps$inboundSchema, } from "./getprojectsresponsebodyprojectsgitprovideroptions.js";
import { Pagination$inboundSchema } from "./pagination.js";
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesVercelRulesetAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesTrafficSourcesAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesOwaspAction = {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
};
export const GetProjectsLogHeadersProjectsResponse2 = {
    Wildcard: "*",
};
/**
 * - team: `https://oidc.vercel.com/[team_slug]` - global: `https://oidc.vercel.com`
 */
export const GetProjectsResponseBodyProjectsIssuerMode = {
    Global: "global",
    Team: "team",
};
export const GetProjectsSourcesProvider = {
    Bitbucket: "bitbucket",
    Github: "github",
};
export const GetProjectsEnvironmentsTarget = {
    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 GetProjectsResponseBodySources = {
    Cli: "cli",
    DeployHook: "deploy-hook",
    Git: "git",
    Integration: "integration",
    RestApi: "rest-api",
    V0: "v0",
};
export const GetProjectsEnvironmentsProjectsTarget = {
    Preview: "preview",
    Production: "production",
};
export const ResponseBodyFlatRateTier = {
    Advanced: "advanced",
    Base: "base",
    Critical: "critical",
    Standard: "standard",
};
/**
 * Billing mode. Always 'flat' for flat-rate projects.
 */
export const GetProjectsResponseBodyKind = {
    Flat: "flat",
};
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3Action = {
    Blocked: "blocked",
};
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsKey = {
    XVercelIpCountry: "x-vercel-ip-country",
};
export const GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyAction = {
    BlockLegalCwc: "block_legal_cwc",
};
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Key = {
    XVercelIpCountry: "x-vercel-ip-country",
};
export const GetProjectsRouteProjectsResponse200ApplicationJSONAction = {
    BlockLegalCwc: "block_legal_cwc",
};
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsAction = {
    AddDeploymentInterstitial: "add-deployment-interstitial",
    AddProjectInterstitial: "add-project-interstitial",
    RemoveDeploymentInterstitial: "remove-deployment-interstitial",
    RemoveProjectInterstitial: "remove-project-interstitial",
};
export const GetProjectsHasProjectsResponseKey = {
    XVercelIpCountry: "x-vercel-ip-country",
};
export const GetProjectsInternalRoutesProjectsResponseAction = {
    BlockLegalCwc: "block_legal_cwc",
};
export const GetProjectsResponseBodyProjectsAction = {
    Accept: "accept",
    Cancel: "cancel",
    Delete: "delete",
};
export const GetProjectsResponseBodyProjectsResponseEnv = {
    Preview: "preview",
    Production: "production",
};
export const GetProjectsResponseBodyConfiguredBy = {
    A: "A",
    Cname: "CNAME",
    Dns01: "dns-01",
    Http: "http",
};
export const GetProjectsResponseBodyEnvironment = {
    Preview: "preview",
    Production: "production",
};
export const GetProjectsResponseBodyProjectsResponseTarget = {
    Preview: "PREVIEW",
    Production: "PRODUCTION",
    Staging: "STAGING",
};
export const GetProjectsTargetProjects2 = {
    Development: "development",
    Preview: "preview",
    Production: "production",
};
export const GetProjectsTargetProjects1 = {
    Development: "development",
    Preview: "preview",
    Production: "production",
};
export const GetProjectsResponseBodyProjectsResponseType = {
    Encrypted: "encrypted",
    Plain: "plain",
    Secret: "secret",
    Sensitive: "sensitive",
    System: "system",
};
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson2Type = {
    FlagsSecret: "flags-secret",
};
export const GetProjectsResponseBodyFramework = {
    ActixWeb: "actix-web",
    Angular: "angular",
    Ash: "ash",
    Astro: "astro",
    Axum: "axum",
    Blitzjs: "blitzjs",
    Brunch: "brunch",
    Bun: "bun",
    CreateReactApp: "create-react-app",
    Django: "django",
    Docusaurus: "docusaurus",
    Docusaurus2: "docusaurus-2",
    Dojo: "dojo",
    Eleventy: "eleventy",
    Elysia: "elysia",
    Ember: "ember",
    Eve: "eve",
    Express: "express",
    Fastapi: "fastapi",
    Fasthtml: "fasthtml",
    Fastify: "fastify",
    Flask: "flask",
    Gatsby: "gatsby",
    Go: "go",
    Gridsome: "gridsome",
    H3: "h3",
    Hexo: "hexo",
    Hono: "hono",
    Hugo: "hugo",
    Hydrogen: "hydrogen",
    IonicAngular: "ionic-angular",
    IonicReact: "ionic-react",
    Jekyll: "jekyll",
    Koa: "koa",
    Mastra: "mastra",
    Middleman: "middleman",
    Nestjs: "nestjs",
    Nextjs: "nextjs",
    Nitro: "nitro",
    Node: "node",
    Nuxtjs: "nuxtjs",
    Parcel: "parcel",
    Polymer: "polymer",
    Preact: "preact",
    Python: "python",
    ReactRouter: "react-router",
    Redwoodjs: "redwoodjs",
    Remix: "remix",
    Ruby: "ruby",
    Rust: "rust",
    Saber: "saber",
    Sanity: "sanity",
    SanityV2: "sanity-v2",
    Sapper: "sapper",
    Scully: "scully",
    Services: "services",
    Solidstart: "solidstart",
    Solidstart1: "solidstart-1",
    Stencil: "stencil",
    Storybook: "storybook",
    Svelte: "svelte",
    Sveltekit: "sveltekit",
    Sveltekit1: "sveltekit-1",
    TanstackStart: "tanstack-start",
    Umijs: "umijs",
    Vite: "vite",
    Vitepress: "vitepress",
    Vue: "vue",
    Vuepress: "vuepress",
    Xmcp: "xmcp",
    Zola: "zola",
};
export const GetProjectsResponseBodyProjectsNodeVersion = {
    TenDotX: "10.x",
    TwelveDotX: "12.x",
    FourteenDotX: "14.x",
    SixteenDotX: "16.x",
    EighteenDotX: "18.x",
    TwentyDotX: "20.x",
    TwentyTwoDotX: "22.x",
    TwentyFourDotX: "24.x",
    EightDot10DotX: "8.10.x",
};
/** @internal */
export const GetProjectsResponseBodyProjectsWebAnalytics$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 getProjectsResponseBodyProjectsWebAnalyticsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsWebAnalytics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsWebAnalytics' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesVercelRulesetAction$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesVercelRulesetAction);
/** @internal */
export const GetProjectsResponseBodyProjectsVercelRuleset$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesVercelRulesetAction$inboundSchema),
});
export function getProjectsResponseBodyProjectsVercelRulesetFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsVercelRuleset$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsVercelRuleset' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesTrafficSourcesAction$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesTrafficSourcesAction);
/** @internal */
export const GetProjectsResponseBodyProjectsTrafficSources$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesTrafficSourcesAction$inboundSchema),
});
export function getProjectsResponseBodyProjectsTrafficSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsTrafficSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsTrafficSources' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityAction$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityAction);
/** @internal */
export const GetProjectsResponseBodyProjectsBotFilter$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityAction$inboundSchema),
});
export function getProjectsResponseBodyProjectsBotFilterFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsBotFilter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsBotFilter' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesAction$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesAction);
/** @internal */
export const GetProjectsResponseBodyProjectsAiBots$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesAction$inboundSchema),
});
export function getProjectsResponseBodyProjectsAiBotsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsAiBots$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsAiBots' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesOwaspAction$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesOwaspAction);
/** @internal */
export const GetProjectsResponseBodyProjectsOwasp$inboundSchema = z.object({
    active: types.boolean(),
    action: types.optional(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsSecurityManagedRulesOwaspAction$inboundSchema),
});
export function getProjectsResponseBodyProjectsOwaspFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsOwasp$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsOwasp' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsManagedRules$inboundSchema = z.object({
    vercel_ruleset: z.lazy(() => GetProjectsResponseBodyProjectsVercelRuleset$inboundSchema),
    traffic_sources: z.lazy(() => GetProjectsResponseBodyProjectsTrafficSources$inboundSchema),
    bot_filter: z.lazy(() => GetProjectsResponseBodyProjectsBotFilter$inboundSchema),
    ai_bots: z.lazy(() => GetProjectsResponseBodyProjectsAiBots$inboundSchema),
    owasp: z.lazy(() => GetProjectsResponseBodyProjectsOwasp$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "vercel_ruleset": "vercelRuleset",
        "traffic_sources": "trafficSources",
        "bot_filter": "botFilter",
        "ai_bots": "aiBots",
    });
});
export function getProjectsResponseBodyProjectsManagedRulesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsManagedRules$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsManagedRules' from JSON`);
}
/** @internal */
export const GetProjectsLogHeadersProjectsResponse2$inboundSchema = z.nativeEnum(GetProjectsLogHeadersProjectsResponse2);
/** @internal */
export const GetProjectsResponseBodyProjectsLogHeaders$inboundSchema = smartUnion([
    z.array(types.string()),
    GetProjectsLogHeadersProjectsResponse2$inboundSchema,
]);
export function getProjectsResponseBodyProjectsLogHeadersFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsLogHeaders$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsLogHeaders' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsSecurityPlusMetadata$inboundSchema = z.object({
    updatedAt: types.number(),
    firstEnabledAt: types.optional(types.number()),
});
export function getProjectsResponseBodyProjectsSecurityPlusMetadataFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsSecurityPlusMetadata$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsSecurityPlusMetadata' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsSecurity$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(() => GetProjectsResponseBodyProjectsManagedRules$inboundSchema)).optional(),
    botIdEnabled: types.optional(types.boolean()),
    log_headers: types.optional(smartUnion([
        z.array(types.string()),
        GetProjectsLogHeadersProjectsResponse2$inboundSchema,
    ])),
    securityPlus: types.optional(types.boolean()),
    securityPlusMetadata: types.optional(z.lazy(() => GetProjectsResponseBodyProjectsSecurityPlusMetadata$inboundSchema)),
    pageIntegrityEnabled: types.optional(types.boolean()),
}).transform((v) => {
    return remap$(v, {
        "log_headers": "logHeaders",
    });
});
export function getProjectsResponseBodyProjectsSecurityFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsSecurity$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsSecurity' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsIssuerMode$inboundSchema = z
    .nativeEnum(GetProjectsResponseBodyProjectsIssuerMode);
/** @internal */
export const GetProjectsResponseBodyProjectsOidcTokenConfig$inboundSchema = z.object({
    enabled: types.optional(types.boolean()),
    issuerMode: types.optional(GetProjectsResponseBodyProjectsIssuerMode$inboundSchema),
});
export function getProjectsResponseBodyProjectsOidcTokenConfigFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsOidcTokenConfig$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsOidcTokenConfig' from JSON`);
}
/** @internal */
export const GetProjectsSources2$inboundSchema = z.object({
    provider: types.literal("gitlab"),
    namespace: types.string(),
    project: types.optional(types.string()),
});
export function getProjectsSources2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsSources2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsSources2' from JSON`);
}
/** @internal */
export const GetProjectsSourcesProvider$inboundSchema = z.nativeEnum(GetProjectsSourcesProvider);
/** @internal */
export const GetProjectsSources1$inboundSchema = z.object({
    provider: GetProjectsSourcesProvider$inboundSchema,
    org: types.string(),
    repo: types.optional(types.string()),
});
export function getProjectsSources1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsSources1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsSources1' from JSON`);
}
/** @internal */
export const ResponseBodySources$inboundSchema = z.union([
    z.lazy(() => GetProjectsSources1$inboundSchema).and(z.object({ provider: z.literal("bitbucket") })),
    z.lazy(() => GetProjectsSources1$inboundSchema).and(z.object({ provider: z.literal("github") })),
    z.lazy(() => GetProjectsSources2$inboundSchema),
]);
export function responseBodySourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodySources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodySources' from JSON`);
}
/** @internal */
export const GetProjectsEnvironments2$inboundSchema = z.object({
    type: types.literal("custom"),
    environmentId: types.string(),
});
export function getProjectsEnvironments2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsEnvironments2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsEnvironments2' from JSON`);
}
/** @internal */
export const GetProjectsEnvironmentsTarget$inboundSchema = z.nativeEnum(GetProjectsEnvironmentsTarget);
/** @internal */
export const GetProjectsEnvironments1$inboundSchema = z.object({
    type: types.literal("system"),
    target: GetProjectsEnvironmentsTarget$inboundSchema,
});
export function getProjectsEnvironments1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsEnvironments1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsEnvironments1' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyEnvironments$inboundSchema = z.union([
    z.lazy(() => GetProjectsEnvironments1$inboundSchema),
    z.lazy(() => GetProjectsEnvironments2$inboundSchema),
]);
export function getProjectsResponseBodyEnvironmentsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyEnvironments$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyEnvironments' from JSON`);
}
/** @internal */
export const ResponseBodyGitSources$inboundSchema = z.object({
    sources: z.array(z.union([
        z.lazy(() => GetProjectsSources1$inboundSchema).and(z.object({ provider: z.literal("bitbucket") })),
        z.lazy(() => GetProjectsSources1$inboundSchema).and(z.object({ provider: z.literal("github") })),
        z.lazy(() => GetProjectsSources2$inboundSchema),
    ])),
    enabled: types.boolean(),
    environments: z.array(z.union([
        z.lazy(() => GetProjectsEnvironments1$inboundSchema),
        z.lazy(() => GetProjectsEnvironments2$inboundSchema),
    ])),
});
export function responseBodyGitSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyGitSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyGitSources' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodySources$inboundSchema = z.nativeEnum(GetProjectsResponseBodySources);
/** @internal */
export const GetProjectsEnvironmentsProjects2$inboundSchema = z.object({
    type: types.literal("custom"),
    environmentId: types.string(),
});
export function getProjectsEnvironmentsProjects2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsEnvironmentsProjects2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsEnvironmentsProjects2' from JSON`);
}
/** @internal */
export const GetProjectsEnvironmentsProjectsTarget$inboundSchema = z.nativeEnum(GetProjectsEnvironmentsProjectsTarget);
/** @internal */
export const GetProjectsEnvironmentsProjects1$inboundSchema = z.object({
    type: types.literal("system"),
    target: GetProjectsEnvironmentsProjectsTarget$inboundSchema,
});
export function getProjectsEnvironmentsProjects1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsEnvironmentsProjects1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsEnvironmentsProjects1' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsEnvironments$inboundSchema = z.union([
    z.lazy(() => GetProjectsEnvironmentsProjects1$inboundSchema),
    z.lazy(() => GetProjectsEnvironmentsProjects2$inboundSchema),
]);
export function getProjectsResponseBodyProjectsEnvironmentsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsEnvironments$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsEnvironments' from JSON`);
}
/** @internal */
export const ResponseBodyDeploymentSources$inboundSchema = z.object({
    sources: z.array(GetProjectsResponseBodySources$inboundSchema),
    enabled: types.boolean(),
    environments: z.array(z.union([
        z.lazy(() => GetProjectsEnvironmentsProjects1$inboundSchema),
        z.lazy(() => GetProjectsEnvironmentsProjects2$inboundSchema),
    ])),
});
export function responseBodyDeploymentSourcesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyDeploymentSources$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyDeploymentSources' from JSON`);
}
/** @internal */
export const ResponseBodyDeploymentPolicy$inboundSchema = z.object({
    gitSources: z.nullable(z.array(z.lazy(() => ResponseBodyGitSources$inboundSchema))).optional(),
    deploymentSources: z.nullable(z.array(z.lazy(() => ResponseBodyDeploymentSources$inboundSchema))).optional(),
});
export function responseBodyDeploymentPolicyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyDeploymentPolicy$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyDeploymentPolicy' from JSON`);
}
/** @internal */
export const ResponseBodyFlatRateTier$inboundSchema = z.nativeEnum(ResponseBodyFlatRateTier);
/** @internal */
export const GetProjectsResponseBodyKind$inboundSchema = z.nativeEnum(GetProjectsResponseBodyKind);
/** @internal */
export const ResponseBodyUsageStatus$inboundSchema = z.object({
    kind: GetProjectsResponseBodyKind$inboundSchema,
    exceededAllowanceUntil: types.optional(types.number()),
    bypassThrottleUntil: types.optional(types.number()),
    throttled: types.optional(types.boolean()),
});
export function responseBodyUsageStatusFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyUsageStatus$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyUsageStatus' from JSON`);
}
/** @internal */
export const ResponseBodyFeatures$inboundSchema = z.object({
    webAnalytics: types.optional(types.boolean()),
});
export function responseBodyFeaturesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyFeatures$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyFeatures' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsHistory$inboundSchema = z.object({
    scanner: types.string(),
    reason: types.string(),
    by: types.string(),
    byId: types.string(),
    at: types.number(),
});
export function getProjectsResponseBodyProjectsHistoryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsHistory$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsHistory' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3Action$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson3Action);
/** @internal */
export const GetProjectsResponseBodyProjectsBlock$inboundSchema = z.object({
    action: GetProjectsResponseBodyProjectsResponse200ApplicationJson3Action$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 getProjectsResponseBodyProjectsBlockFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsBlock$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsBlock' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseBlockHistoryValue$inboundSchema = z.object({
    eq: types.string(),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseBlockHistoryValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseBlockHistoryValue$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseBlockHistoryValue' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects2$inboundSchema = z.object({
    type: types.literal("host"),
    value: z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseBlockHistoryValue$inboundSchema),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects2$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects2' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsKey$inboundSchema = z.nativeEnum(GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsKey);
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseValue$inboundSchema = z.object({
    eq: types.string(),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseValue$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseValue' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects1$inboundSchema = z.object({
    type: types.literal("header"),
    key: GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsKey$inboundSchema,
    value: z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsAbuseValue$inboundSchema),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects1$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects1' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyHas$inboundSchema = z.union([
    z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects1$inboundSchema),
    z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects2$inboundSchema),
]);
export function getProjectsRouteProjectsResponse200ApplicationJSONResponseBodyHasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyHas$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyHas' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema = z.nativeEnum(GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyAction);
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyMitigate$inboundSchema = z.object({
    action: GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema,
});
export function getProjectsRouteProjectsResponse200ApplicationJSONResponseBodyMitigateFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyMitigate$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyMitigate' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody2$inboundSchema = z.object({
    has: z.array(z.union([
        z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects1$inboundSchema),
        z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Projects2$inboundSchema),
    ])),
    mitigate: z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBodyMitigate$inboundSchema),
    src: types.optional(types.string()),
});
export function getProjectsRouteProjectsResponse200ApplicationJSONResponseBody2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody2$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody2' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody1$inboundSchema = z.object({
    src: types.string(),
    status: types.number(),
});
export function getProjectsRouteProjectsResponse200ApplicationJSONResponseBody1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody1$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody1' from JSON`);
}
/** @internal */
export const GetProjectsBlockHistoryProjectsResponse200ApplicationJSONResponseBodyRoute$inboundSchema = smartUnion([
    z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody1$inboundSchema),
    z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody2$inboundSchema),
]);
export function getProjectsBlockHistoryProjectsResponse200ApplicationJSONResponseBodyRouteFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsBlockHistoryProjectsResponse200ApplicationJSONResponseBodyRoute$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsBlockHistoryProjectsResponse200ApplicationJSONResponseBodyRoute' from JSON`);
}
/** @internal */
export const GetProjectsBlockHistoryProjectsResponse4$inboundSchema = z.object({
    action: types.literal("route-unblocked"),
    route: smartUnion([
        z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody1$inboundSchema),
        z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJSONResponseBody2$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 getProjectsBlockHistoryProjectsResponse4FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsBlockHistoryProjectsResponse4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsBlockHistoryProjectsResponse4' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsValue$inboundSchema = z.object({
    eq: types.string(),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsValue$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsValue' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody32$inboundSchema = z.object({
    type: types.literal("host"),
    value: z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3ProjectsValue$inboundSchema),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody32FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody32$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody32' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Key$inboundSchema = z.nativeEnum(GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Key);
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Value$inboundSchema = z.object({
    eq: types.string(),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody3ValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Value$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Value' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBody31$inboundSchema = z.object({
    type: types.literal("header"),
    key: GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Key$inboundSchema,
    value: z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody3Value$inboundSchema),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBody31FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody31$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBody31' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONHas$inboundSchema = z.union([
    z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody31$inboundSchema),
    z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody32$inboundSchema),
]);
export function getProjectsRouteProjectsResponse200ApplicationJSONHasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJSONHas$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJSONHas' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONAction$inboundSchema = z.nativeEnum(GetProjectsRouteProjectsResponse200ApplicationJSONAction);
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJSONMitigate$inboundSchema = z.object({
    action: GetProjectsRouteProjectsResponse200ApplicationJSONAction$inboundSchema,
});
export function getProjectsRouteProjectsResponse200ApplicationJSONMitigateFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJSONMitigate$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJSONMitigate' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJson2$inboundSchema = z.object({
    has: z.array(z.union([
        z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody31$inboundSchema),
        z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBody32$inboundSchema),
    ])),
    mitigate: z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJSONMitigate$inboundSchema),
    src: types.optional(types.string()),
});
export function getProjectsRouteProjectsResponse200ApplicationJSON2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJson2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJson2' from JSON`);
}
/** @internal */
export const GetProjectsRouteProjectsResponse200ApplicationJson1$inboundSchema = z.object({
    src: types.string(),
    status: types.number(),
});
export function getProjectsRouteProjectsResponse200ApplicationJSON1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsRouteProjectsResponse200ApplicationJson1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsRouteProjectsResponse200ApplicationJson1' from JSON`);
}
/** @internal */
export const GetProjectsBlockHistoryProjectsResponse200ApplicationJSONRoute$inboundSchema = smartUnion([
    z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJson1$inboundSchema),
    z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJson2$inboundSchema),
]);
export function getProjectsBlockHistoryProjectsResponse200ApplicationJSONRouteFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsBlockHistoryProjectsResponse200ApplicationJSONRoute$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsBlockHistoryProjectsResponse200ApplicationJSONRoute' from JSON`);
}
/** @internal */
export const GetProjectsBlockHistoryProjectsResponse3$inboundSchema = z.object({
    action: types.literal("route-blocked"),
    route: smartUnion([
        z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJson1$inboundSchema),
        z.lazy(() => GetProjectsRouteProjectsResponse200ApplicationJson2$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 getProjectsBlockHistoryProjectsResponse3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsBlockHistoryProjectsResponse3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsBlockHistoryProjectsResponse3' from JSON`);
}
/** @internal */
export const GetProjectsBlockHistoryProjectsResponse2$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 getProjectsBlockHistoryProjectsResponse2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsBlockHistoryProjectsResponse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsBlockHistoryProjectsResponse2' from JSON`);
}
/** @internal */
export const GetProjectsBlockHistoryProjectsResponse1$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 getProjectsBlockHistoryProjectsResponse1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsBlockHistoryProjectsResponse1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsBlockHistoryProjectsResponse1' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsBlockHistory$inboundSchema = z.union([
    z.lazy(() => GetProjectsBlockHistoryProjectsResponse1$inboundSchema),
    z.lazy(() => GetProjectsBlockHistoryProjectsResponse2$inboundSchema),
    z.lazy(() => GetProjectsBlockHistoryProjectsResponse3$inboundSchema),
    z.lazy(() => GetProjectsBlockHistoryProjectsResponse4$inboundSchema),
]);
export function getProjectsResponseBodyProjectsBlockHistoryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsBlockHistory$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsBlockHistory' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsAction$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsAction);
/** @internal */
export const GetProjectsResponseBodyProjectsInterstitialHistory$inboundSchema = z.object({
    action: GetProjectsResponseBodyProjectsResponse200ApplicationJson3ProjectsAction$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 getProjectsResponseBodyProjectsInterstitialHistoryFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsInterstitialHistory$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsInterstitialHistory' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsAbuse$inboundSchema = z.object({
    scanner: types.optional(types.string()),
    history: z.array(z.lazy(() => GetProjectsResponseBodyProjectsHistory$inboundSchema)),
    updatedAt: types.number(),
    block: types.optional(z.lazy(() => GetProjectsResponseBodyProjectsBlock$inboundSchema)),
    blockHistory: types.optional(z.array(z.union([
        z.lazy(() => GetProjectsBlockHistoryProjectsResponse1$inboundSchema),
        z.lazy(() => GetProjectsBlockHistoryProjectsResponse2$inboundSchema),
        z.lazy(() => GetProjectsBlockHistoryProjectsResponse3$inboundSchema),
        z.lazy(() => GetProjectsBlockHistoryProjectsResponse4$inboundSchema),
    ]))),
    interstitial: types.optional(types.boolean()),
    interstitialHistory: types.optional(z.array(z.lazy(() => GetProjectsResponseBodyProjectsInterstitialHistory$inboundSchema))),
});
export function getProjectsResponseBodyProjectsAbuseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsAbuse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsAbuse' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema = z.object({
    eq: types.string(),
});
export function getProjectsHasProjectsResponse200ApplicationJSONResponseBodyValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONResponseBodyValue' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse2$inboundSchema = z.object({
    type: types.literal("host"),
    value: z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema),
});
export function getProjectsHasProjectsResponse2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse2' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponseKey$inboundSchema = z.nativeEnum(GetProjectsHasProjectsResponseKey);
/** @internal */
export const GetProjectsHasProjectsResponse200ApplicationJSONValue$inboundSchema = z.object({
    eq: types.string(),
});
export function getProjectsHasProjectsResponse200ApplicationJSONValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse200ApplicationJSONValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse200ApplicationJSONValue' from JSON`);
}
/** @internal */
export const GetProjectsHasProjectsResponse1$inboundSchema = z.object({
    type: types.literal("header"),
    key: GetProjectsHasProjectsResponseKey$inboundSchema,
    value: z.lazy(() => GetProjectsHasProjectsResponse200ApplicationJSONValue$inboundSchema),
});
export function getProjectsHasProjectsResponse1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsHasProjectsResponse1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsHasProjectsResponse1' from JSON`);
}
/** @internal */
export const GetProjectsInternalRoutesProjectsResponseHas$inboundSchema = z.union([
    z.lazy(() => GetProjectsHasProjectsResponse1$inboundSchema),
    z.lazy(() => GetProjectsHasProjectsResponse2$inboundSchema),
]);
export function getProjectsInternalRoutesProjectsResponseHasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsInternalRoutesProjectsResponseHas$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsInternalRoutesProjectsResponseHas' from JSON`);
}
/** @internal */
export const GetProjectsInternalRoutesProjectsResponseAction$inboundSchema = z
    .nativeEnum(GetProjectsInternalRoutesProjectsResponseAction);
/** @internal */
export const GetProjectsInternalRoutesProjectsResponseMitigate$inboundSchema = z.object({
    action: GetProjectsInternalRoutesProjectsResponseAction$inboundSchema,
});
export function getProjectsInternalRoutesProjectsResponseMitigateFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsInternalRoutesProjectsResponseMitigate$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsInternalRoutesProjectsResponseMitigate' from JSON`);
}
/** @internal */
export const GetProjectsInternalRoutesProjectsResponse2$inboundSchema = z.object({
    has: z.array(z.union([
        z.lazy(() => GetProjectsHasProjectsResponse1$inboundSchema),
        z.lazy(() => GetProjectsHasProjectsResponse2$inboundSchema),
    ])),
    mitigate: z.lazy(() => GetProjectsInternalRoutesProjectsResponseMitigate$inboundSchema),
    src: types.optional(types.string()),
});
export function getProjectsInternalRoutesProjectsResponse2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsInternalRoutesProjectsResponse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsInternalRoutesProjectsResponse2' from JSON`);
}
/** @internal */
export const GetProjectsInternalRoutesProjectsResponse1$inboundSchema = z.object({
    src: types.string(),
    status: types.number(),
});
export function getProjectsInternalRoutesProjectsResponse1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsInternalRoutesProjectsResponse1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsInternalRoutesProjectsResponse1' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsInternalRoutes$inboundSchema = smartUnion([
    z.lazy(() => GetProjectsInternalRoutesProjectsResponse1$inboundSchema),
    z.lazy(() => GetProjectsInternalRoutesProjectsResponse2$inboundSchema),
]);
export function getProjectsResponseBodyProjectsInternalRoutesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsInternalRoutes$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsInternalRoutes' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsAction$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsAction);
/** @internal */
export const GetProjectsValuePreviousValue$inboundSchema = smartUnion([types.string(), types.number(), types.boolean()]);
export function getProjectsValuePreviousValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsValuePreviousValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsValuePreviousValue' from JSON`);
}
/** @internal */
export const GetProjectsValueCurrentValue$inboundSchema = smartUnion([types.string(), types.number(), types.boolean()]);
export function getProjectsValueCurrentValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsValueCurrentValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsValueCurrentValue' from JSON`);
}
/** @internal */
export const GetProjectsValue3$inboundSchema = z.object({
    previousValue: smartUnion([types.string(), types.number(), types.boolean()]),
    currentValue: smartUnion([types.string(), types.number(), types.boolean()]),
});
export function getProjectsValue3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsValue3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsValue3' from JSON`);
}
/** @internal */
export const ResponseBodyValue$inboundSchema = smartUnion([
    z.lazy(() => GetProjectsValue3$inboundSchema),
    types.string(),
    types.number(),
    types.boolean(),
]);
export function responseBodyValueFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyValue' from JSON`);
}
/** @internal */
export const ResponseBodyDismissedToasts$inboundSchema = z.object({
    key: types.string(),
    dismissedAt: types.number(),
    action: GetProjectsResponseBodyProjectsAction$inboundSchema,
    value: types.nullable(smartUnion([
        z.lazy(() => GetProjectsValue3$inboundSchema),
        types.string(),
        types.number(),
        types.boolean(),
    ])),
});
export function responseBodyDismissedToastsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyDismissedToasts$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyDismissedToasts' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponseEnv$inboundSchema = z
    .nativeEnum(GetProjectsResponseBodyProjectsResponseEnv);
/** @internal */
export const ResponseBodySamplingRules$inboundSchema = z.object({
    rate: types.number(),
    env: types.optional(GetProjectsResponseBodyProjectsResponseEnv$inboundSchema),
    requestPath: types.optional(types.string()),
});
export function responseBodySamplingRulesFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodySamplingRules$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodySamplingRules' from JSON`);
}
/** @internal */
export const ResponseBodyTracing$inboundSchema = z.object({
    domains: types.optional(types.string()),
    ignorePaths: types.optional(z.array(types.string())),
    samplingRules: types.optional(z.array(z.lazy(() => ResponseBodySamplingRules$inboundSchema))),
});
export function responseBodyTracingFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyTracing$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyTracing' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjects$inboundSchema = z.object({
    accountId: types.string(),
    analytics: types.optional(GetProjectsResponseBodyProjectsAnalytics$inboundSchema),
    appliedCve55182Migration: types.optional(types.boolean()),
    speedInsights: types.optional(GetProjectsResponseBodyProjectsSpeedInsights$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(ResponseBodyConnectConfigurations$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(GetProjectsResponseBodyCrons$inboundSchema),
    dataCache: types.optional(ResponseBodyDataCache$inboundSchema),
    deploymentExpiration: GetProjectsResponseBodyProjectsDeploymentExpiration$inboundSchema,
    expiration: types.optional(ResponseBodyExpiration$inboundSchema),
    devCommand: z.nullable(types.string()).optional(),
    directoryListing: types.boolean(),
    installCommand: z.nullable(types.string()).optional(),
    env: types.optional(z.array(GetProjectsResponseBodyProjectsEnv$inboundSchema)),
    customEnvironments: types.optional(z.array(ResponseBodyCustomEnvironments$inboundSchema)),
    framework: z.nullable(GetProjectsResponseBodyProjectsFramework$inboundSchema)
        .optional(),
    services: types.optional(z.array(ResponseBodyServices$inboundSchema)),
    gitForkProtection: types.optional(types.boolean()),
    gitLFS: types.optional(types.boolean()),
    id: types.string(),
    ipBuckets: types.optional(z.array(GetProjectsResponseBodyProjectsIpBuckets$inboundSchema)),
    jobs: types.optional(ResponseBodyJobs$inboundSchema),
    latestDeployments: types.optional(z.array(GetProjectsResponseBodyProjectsLatestDeployments$inboundSchema)),
    link: types.optional(GetProjectsResponseBodyProjectsLink$inboundSchema),
    microfrontends: types.optional(GetProjectsResponseBodyMicrofrontends$inboundSchema),
    name: types.string(),
    nodeVersion: GetProjectsResponseBodyProjectsResponseNodeVersion$inboundSchema,
    optionsAllowlist: z.nullable(ResponseBodyOptionsAllowlist$inboundSchema)
        .optional(),
    outputDirectory: z.nullable(types.string()).optional(),
    passwordProtection: z.nullable(GetProjectsResponseBodyProjectsPasswordProtection$inboundSchema).optional(),
    passport: z.nullable(GetProjectsResponseBodyProjectsPassport$inboundSchema)
        .optional(),
    protectionConfig: types.optional(ResponseBodyProtectionConfig$inboundSchema),
    productionDeploymentsFastLane: types.optional(types.boolean()),
    resourceConfig: GetProjectsResponseBodyProjectsResourceConfig$inboundSchema,
    rollbackDescription: types.optional(ResponseBodyRollbackDescription$inboundSchema),
    rollingRelease: z.nullable(GetProjectsResponseBodyProjectsRollingRelease$inboundSchema).optional(),
    defaultResourceConfig: ResponseBodyDefaultResourceConfig$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(ResponseBodyStaticIps$inboundSchema),
    sourceFilesOutsideRootDirectory: types.optional(types.boolean()),
    enableAffectedProjectsDeployments: types.optional(types.boolean()),
    enableExternalRewriteCaching: types.optional(types.boolean()),
    ssoProtection: z.nullable(GetProjectsResponseBodyProjectsSsoProtection$inboundSchema).optional(),
    targets: types.optional(z.record(types.nullable(GetProjectsResponseBodyProjectsTargets$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(ResponseBodyPermissions$inboundSchema),
    lastRollbackTarget: z.nullable(ResponseBodyLastRollbackTarget$inboundSchema)
        .optional(),
    lastAliasRequest: z.nullable(ResponseBodyLastAliasRequest$inboundSchema)
        .optional(),
    protectionBypass: types.optional(z.record(ResponseBodyProtectionBypass$inboundSchema)),
    hasActiveBranches: types.optional(types.boolean()),
    trustedIps: z.nullable(ResponseBodyTrustedIps$inboundSchema).optional(),
    trustedSources: z.nullable(GetProjectsResponseBodyProjectsTrustedSources$inboundSchema).optional(),
    gitComments: types.optional(GetProjectsResponseBodyProjectsGitComments$inboundSchema),
    gitProviderOptions: types.optional(GetProjectsResponseBodyProjectsGitProviderOptions$inboundSchema),
    paused: types.optional(types.boolean()),
    concurrencyBucketName: types.optional(types.string()),
    webAnalytics: types.optional(z.lazy(() => GetProjectsResponseBodyProjectsWebAnalytics$inboundSchema)),
    security: types.optional(z.lazy(() => GetProjectsResponseBodyProjectsSecurity$inboundSchema)),
    oidcTokenConfig: types.optional(z.lazy(() => GetProjectsResponseBodyProjectsOidcTokenConfig$inboundSchema)),
    deploymentPolicy: z.nullable(z.lazy(() => ResponseBodyDeploymentPolicy$inboundSchema)).optional(),
    tier: types.optional(types.string()),
    flatRateTier: types.optional(ResponseBodyFlatRateTier$inboundSchema),
    usageStatus: types.optional(z.lazy(() => ResponseBodyUsageStatus$inboundSchema)),
    features: types.optional(z.lazy(() => ResponseBodyFeatures$inboundSchema)),
    v0: types.optional(types.boolean()),
    v0Created: types.optional(types.boolean()),
    abuse: types.optional(z.lazy(() => GetProjectsResponseBodyProjectsAbuse$inboundSchema)),
    internalRoutes: types.optional(z.array(smartUnion([
        z.lazy(() => GetProjectsInternalRoutesProjectsResponse1$inboundSchema),
        z.lazy(() => GetProjectsInternalRoutesProjectsResponse2$inboundSchema),
    ]))),
    hasDeployments: types.optional(types.boolean()),
    dismissedToasts: types.optional(z.array(z.lazy(() => ResponseBodyDismissedToasts$inboundSchema))),
    protectedSourcemaps: types.optional(types.boolean()),
    tracing: types.optional(z.lazy(() => ResponseBodyTracing$inboundSchema)),
    avatar: z.nullable(types.string()).optional(),
});
export function getProjectsResponseBodyProjectsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjects$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjects' from JSON`);
}
/** @internal */
export const GetProjectsPagination1$inboundSchema = z.object({
    count: types.number(),
    next: types.nullable(types.string()),
});
export function getProjectsPagination1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsPagination1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsPagination1' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsPagination$inboundSchema = smartUnion([
    Pagination$inboundSchema,
    z.lazy(() => GetProjectsPagination1$inboundSchema),
]);
export function getProjectsResponseBodyProjectsPaginationFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsPagination$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsPagination' from JSON`);
}
/** @internal */
export const GetProjectsResponseBody3$inboundSchema = z.object({
    projects: z.array(z.lazy(() => GetProjectsResponseBodyProjects$inboundSchema)),
    pagination: smartUnion([
        Pagination$inboundSchema,
        z.lazy(() => GetProjectsPagination1$inboundSchema),
    ]),
});
export function getProjectsResponseBody3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBody3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBody3' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyConfiguredBy$inboundSchema = z.nativeEnum(GetProjectsResponseBodyConfiguredBy);
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson2AliasAssigned$inboundSchema = smartUnion([types.number(), types.boolean()]);
export function getProjectsResponseBodyProjectsResponse200ApplicationJSON2AliasAssignedFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponse200ApplicationJson2AliasAssigned$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponse200ApplicationJson2AliasAssigned' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson2Builds$inboundSchema = z.object({
    use: types.string(),
    src: types.optional(types.string()),
    dest: types.optional(types.string()),
});
export function getProjectsResponseBodyProjectsResponse200ApplicationJSON2BuildsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponse200ApplicationJson2Builds$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponse200ApplicationJson2Builds' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson2Creator$inboundSchema = z.object({
    email: types.string(),
    githubLogin: types.optional(types.string()),
    gitlabLogin: types.optional(types.string()),
    uid: types.string(),
    username: types.string(),
});
export function getProjectsResponseBodyProjectsResponse200ApplicationJSON2CreatorFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponse200ApplicationJson2Creator$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponse200ApplicationJson2Creator' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyDeployment$inboundSchema = z.object({
    alias: types.optional(z.array(types.string())),
    aliasAssigned: z.nullable(smartUnion([types.number(), types.boolean()]))
        .optional(),
    builds: types.optional(z.array(z.lazy(() => GetProjectsResponseBodyProjectsResponse200ApplicationJson2Builds$inboundSchema))),
    createdAt: types.number(),
    createdIn: types.string(),
    creator: types.nullable(z.lazy(() => GetProjectsResponseBodyProjectsResponse200ApplicationJson2Creator$inboundSchema)),
    deploymentHostname: types.string(),
    name: types.string(),
    forced: types.optional(types.boolean()),
    id: types.string(),
    meta: types.optional(z.record(types.string())),
    plan: types.string(),
    private: types.boolean(),
    readyState: types.string(),
    requestedAt: types.optional(types.number()),
    target: z.nullable(types.string()).optional(),
    teamId: z.nullable(types.string()).optional(),
    type: types.string(),
    url: types.string(),
    userId: types.string(),
    withCache: types.optional(types.boolean()),
});
export function getProjectsResponseBodyDeploymentFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyDeployment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyDeployment' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyEnvironment$inboundSchema = z.nativeEnum(GetProjectsResponseBodyEnvironment);
/** @internal */
export const GetProjectsResponseBodyProjectsResponseTarget$inboundSchema = z
    .nativeEnum(GetProjectsResponseBodyProjectsResponseTarget);
/** @internal */
export const ResponseBodyAlias$inboundSchema = z.object({
    configuredBy: z.nullable(GetProjectsResponseBodyConfiguredBy$inboundSchema)
        .optional(),
    configuredChangedAt: z.nullable(types.number()).optional(),
    createdAt: z.nullable(types.number()).optional(),
    deployment: types.nullable(z.lazy(() => GetProjectsResponseBodyDeployment$inboundSchema)),
    domain: types.string(),
    environment: GetProjectsResponseBodyEnvironment$inboundSchema,
    gitBranch: z.nullable(types.string()).optional(),
    redirect: z.nullable(types.string()).optional(),
    redirectStatusCode: z.nullable(types.number()).optional(),
    target: GetProjectsResponseBodyProjectsResponseTarget$inboundSchema,
});
export function responseBodyAliasFromJSON(jsonString) {
    return safeParse(jsonString, (x) => ResponseBodyAlias$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ResponseBodyAlias' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyAnalytics$inboundSchema = z.object({
    id: types.string(),
    canceledAt: z.nullable(types.number()).optional(),
    disabledAt: types.number(),
    enabledAt: types.number(),
    paidAt: types.optional(types.number()),
    sampleRatePercent: z.nullable(types.number()).optional(),
    spendLimitInDollars: z.nullable(types.number()).optional(),
});
export function getProjectsResponseBodyAnalyticsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyAnalytics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyAnalytics' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyDeploymentExpiration$inboundSchema = z.object({
    expirationDays: types.optional(types.number()),
    expirationDaysProduction: types.optional(types.number()),
    expirationDaysCanceled: types.optional(types.number()),
    expirationDaysErrored: types.optional(types.number()),
    deploymentsToKeep: types.optional(types.number()),
});
export function getProjectsResponseBodyDeploymentExpirationFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyDeploymentExpiration$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyDeploymentExpiration' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyIpBuckets$inboundSchema = z.object({
    bucket: types.string(),
    default: types.optional(types.boolean()),
    supportUntil: types.optional(types.number()),
});
export function getProjectsResponseBodyIpBucketsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyIpBuckets$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyIpBuckets' from JSON`);
}
/** @internal */
export const GetProjectsTargetProjects2$inboundSchema = z.nativeEnum(GetProjectsTargetProjects2);
/** @internal */
export const GetProjectsTargetProjects1$inboundSchema = z.nativeEnum(GetProjectsTargetProjects1);
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200Target$inboundSchema = smartUnion([
    z.array(GetProjectsTargetProjects1$inboundSchema),
    GetProjectsTargetProjects2$inboundSchema,
]);
export function getProjectsResponseBodyProjectsResponse200TargetFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponse200Target$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponse200Target' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponseType$inboundSchema = z
    .nativeEnum(GetProjectsResponseBodyProjectsResponseType);
/** @internal */
export const GetProjectsContentHintProjects17$inboundSchema = z.object({
    type: types.literal("flags-connection-string"),
    projectId: types.string(),
});
export function getProjectsContentHintProjects17FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects17$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects17' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects16$inboundSchema = z.object({
    type: types.literal("integration-store-secret"),
    storeId: types.string(),
    integrationId: types.string(),
    integrationProductId: types.string(),
    integrationConfigurationId: types.string(),
});
export function getProjectsContentHintProjects16FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects16$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects16' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects15$inboundSchema = z.object({
    type: types.literal("postgres-url-no-ssl"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects15FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects15$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects15' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects14$inboundSchema = z.object({
    type: types.literal("postgres-database"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects14FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects14$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects14' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects13$inboundSchema = z.object({
    type: types.literal("postgres-password"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects13FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects13$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects13' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects12$inboundSchema = z.object({
    type: types.literal("postgres-host"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects12FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects12$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects12' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects11$inboundSchema = z.object({
    type: types.literal("postgres-user"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects11FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects11$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects11' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects10$inboundSchema = z.object({
    type: types.literal("postgres-prisma-url"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects10FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects10$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects10' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects9$inboundSchema = z.object({
    type: types.literal("postgres-url-non-pooling"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects9FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects9$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects9' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects8$inboundSchema = z.object({
    type: types.literal("postgres-url"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects8FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects8$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects8' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects7$inboundSchema = z.object({
    type: types.literal("blob-webhook-public-key"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects7FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects7$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects7' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects6$inboundSchema = z.object({
    type: types.literal("blob-store-id"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects6FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects6$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects6' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects5$inboundSchema = z.object({
    type: types.literal("blob-read-write-token"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects5FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects5$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects5' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects4$inboundSchema = z.object({
    type: types.literal("redis-rest-api-read-only-token"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects4FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects4' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects3$inboundSchema = z.object({
    type: types.literal("redis-rest-api-token"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects3' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects2$inboundSchema = z.object({
    type: types.literal("redis-rest-api-url"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects2' from JSON`);
}
/** @internal */
export const GetProjectsContentHintProjects1$inboundSchema = z.object({
    type: types.literal("redis-url"),
    storeId: types.string(),
});
export function getProjectsContentHintProjects1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsContentHintProjects1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsContentHintProjects1' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponseContentHint$inboundSchema = z.union([
    z.lazy(() => GetProjectsContentHintProjects1$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects2$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects3$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects4$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects5$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects6$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects7$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects8$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects9$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects10$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects11$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects12$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects13$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects14$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects15$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects16$inboundSchema),
    z.lazy(() => GetProjectsContentHintProjects17$inboundSchema),
]);
export function getProjectsResponseBodyProjectsResponseContentHintFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponseContentHint$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponseContentHint' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200ApplicationJson2Type$inboundSchema = z.nativeEnum(GetProjectsResponseBodyProjectsResponse200ApplicationJson2Type);
/** @internal */
export const GetProjectsResponseBodyProjectsResponseInternalContentHint$inboundSchema = z.object({
    type: GetProjectsResponseBodyProjectsResponse200ApplicationJson2Type$inboundSchema,
    encryptedValue: types.string(),
});
export function getProjectsResponseBodyProjectsResponseInternalContentHintFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponseInternalContentHint$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponseInternalContentHint' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyEnv$inboundSchema = z.object({
    target: types.optional(smartUnion([
        z.array(GetProjectsTargetProjects1$inboundSchema),
        GetProjectsTargetProjects2$inboundSchema,
    ])),
    type: GetProjectsResponseBodyProjectsResponseType$inboundSchema,
    sunsetSecretId: types.optional(types.string()),
    legacyValue: types.optional(types.string()),
    decrypted: types.optional(types.boolean()),
    value: types.string(),
    vsmValue: types.optional(types.string()),
    id: types.optional(types.string()),
    key: types.string(),
    configurationId: z.nullable(types.string()).optional(),
    createdAt: types.optional(types.number()),
    updatedAt: types.optional(types.number()),
    createdBy: z.nullable(types.string()).optional(),
    updatedBy: z.nullable(types.string()).optional(),
    gitBranch: types.optional(types.string()),
    edgeConfigId: z.nullable(types.string()).optional(),
    edgeConfigTokenId: z.nullable(types.string()).optional(),
    contentHint: z.nullable(z.union([
        z.lazy(() => GetProjectsContentHintProjects1$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects2$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects3$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects4$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects5$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects6$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects7$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects8$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects9$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects10$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects11$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects12$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects13$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects14$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects15$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects16$inboundSchema),
        z.lazy(() => GetProjectsContentHintProjects17$inboundSchema),
    ])).optional(),
    internalContentHint: z.nullable(z.lazy(() => GetProjectsResponseBodyProjectsResponseInternalContentHint$inboundSchema)).optional(),
    comment: types.optional(types.string()),
    customEnvironmentIds: types.optional(z.array(types.string())),
});
export function getProjectsResponseBodyEnvFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyEnv$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyEnv' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyFramework$inboundSchema = z.nativeEnum(GetProjectsResponseBodyFramework);
/** @internal */
export const GetProjectsResponseBodyProjectsResponseAliasAssigned$inboundSchema = smartUnion([types.number(), types.boolean()]);
export function getProjectsResponseBodyProjectsResponseAliasAssignedFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponseAliasAssigned$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponseAliasAssigned' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200Builds$inboundSchema = z.object({
    use: types.string(),
    src: types.optional(types.string()),
    dest: types.optional(types.string()),
});
export function getProjectsResponseBodyProjectsResponse200BuildsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponse200Builds$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponse200Builds' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsResponse200Creator$inboundSchema = z.object({
    email: types.string(),
    githubLogin: types.optional(types.string()),
    gitlabLogin: types.optional(types.string()),
    uid: types.string(),
    username: types.string(),
});
export function getProjectsResponseBodyProjectsResponse200CreatorFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyProjectsResponse200Creator$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyProjectsResponse200Creator' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyLatestDeployments$inboundSchema = z.object({
    alias: types.optional(z.array(types.string())),
    aliasAssigned: z.nullable(smartUnion([types.number(), types.boolean()]))
        .optional(),
    builds: types.optional(z.array(z.lazy(() => GetProjectsResponseBodyProjectsResponse200Builds$inboundSchema))),
    createdAt: types.number(),
    createdIn: types.string(),
    creator: types.nullable(z.lazy(() => GetProjectsResponseBodyProjectsResponse200Creator$inboundSchema)),
    deploymentHostname: types.string(),
    name: types.string(),
    forced: types.optional(types.boolean()),
    id: types.string(),
    meta: types.optional(z.record(types.string())),
    plan: types.string(),
    private: types.boolean(),
    readyState: types.string(),
    requestedAt: types.optional(types.number()),
    target: z.nullable(types.string()).optional(),
    teamId: z.nullable(types.string()).optional(),
    type: types.string(),
    url: types.string(),
    userId: types.string(),
    withCache: types.optional(types.boolean()),
});
export function getProjectsResponseBodyLatestDeploymentsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyLatestDeployments$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyLatestDeployments' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects6DeployHooks$inboundSchema = z.object({
    createdAt: types.optional(types.number()),
    id: types.string(),
    name: types.string(),
    ref: types.string(),
    url: types.string(),
});
export function getProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects6DeployHooksFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects6DeployHooks$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects6DeployHooks' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjects6$inboundSchema = z.object({
    org: types.string(),
    repo: types.string(),
    type: types.literal("vercel"),
    createdAt: types.optional(types.number()),
    deployHooks: z.array(z.lazy(() => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects6DeployHooks$inboundSchema)),
    gitCredentialId: types.string(),
    updatedAt: types.optional(types.number()),
    sourceless: types.optional(types.boolean()),
    productionBranch: types.string(),
});
export function getProjectsLinkProjects6FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjects6$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjects6' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects5DeployHooks$inboundSchema = z.object({
    createdAt: types.optional(types.number()),
    id: types.string(),
    name: types.string(),
    ref: types.string(),
    url: types.string(),
});
export function getProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects5DeployHooksFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects5DeployHooks$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects5DeployHooks' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjects5$inboundSchema = z.object({
    name: types.string(),
    slug: types.string(),
    owner: types.string(),
    type: types.literal("bitbucket"),
    uuid: types.string(),
    workspaceUuid: types.string(),
    createdAt: types.optional(types.number()),
    deployHooks: z.array(z.lazy(() => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects5DeployHooks$inboundSchema)),
    gitCredentialId: types.string(),
    updatedAt: types.optional(types.number()),
    sourceless: types.optional(types.boolean()),
    productionBranch: types.string(),
});
export function getProjectsLinkProjects5FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjects5$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjects5' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects4DeployHooks$inboundSchema = z.object({
    createdAt: types.optional(types.number()),
    id: types.string(),
    name: types.string(),
    ref: types.string(),
    url: types.string(),
});
export function getProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects4DeployHooksFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects4DeployHooks$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects4DeployHooks' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjects4$inboundSchema = z.object({
    projectId: types.string(),
    projectName: types.string(),
    projectNameWithNamespace: types.string(),
    projectNamespace: types.string(),
    projectOwnerId: types.optional(types.number()),
    projectUrl: types.string(),
    type: types.literal("gitlab"),
    createdAt: types.optional(types.number()),
    deployHooks: z.array(z.lazy(() => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects4DeployHooks$inboundSchema)),
    gitCredentialId: types.string(),
    updatedAt: types.optional(types.number()),
    sourceless: types.optional(types.boolean()),
    productionBranch: types.string(),
});
export function getProjectsLinkProjects4FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjects4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjects4' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects3DeployHooks$inboundSchema = z.object({
    createdAt: types.optional(types.number()),
    id: types.string(),
    name: types.string(),
    ref: types.string(),
    url: types.string(),
});
export function getProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects3DeployHooksFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects3DeployHooks$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects3DeployHooks' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjects3$inboundSchema = z.object({
    org: types.string(),
    repoOwnerId: types.optional(types.number()),
    repo: types.optional(types.string()),
    repoId: types.optional(types.number()),
    type: types.literal("github-custom-host"),
    host: types.string(),
    createdAt: types.optional(types.number()),
    deployHooks: z.array(z.lazy(() => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2Projects3DeployHooks$inboundSchema)),
    gitCredentialId: types.string(),
    updatedAt: types.optional(types.number()),
    sourceless: types.optional(types.boolean()),
    productionBranch: types.string(),
});
export function getProjectsLinkProjects3FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjects3$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjects3' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2ProjectsDeployHooks$inboundSchema = z.object({
    createdAt: types.optional(types.number()),
    id: types.string(),
    name: types.string(),
    ref: types.string(),
    url: types.string(),
});
export function getProjectsLinkProjectsResponse200ApplicationJSONResponseBody2ProjectsDeployHooksFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2ProjectsDeployHooks$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2ProjectsDeployHooks' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjects2$inboundSchema = z.object({
    type: types.literal("github-limited"),
    repo: types.optional(types.string()),
    repoId: types.optional(types.number()),
    createdAt: types.optional(types.number()),
    updatedAt: types.optional(types.number()),
    org: types.string(),
    repoOwnerId: types.optional(types.number()),
    deployHooks: z.array(z.lazy(() => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2ProjectsDeployHooks$inboundSchema)),
    gitCredentialId: types.string(),
    sourceless: types.optional(types.boolean()),
    productionBranch: types.string(),
});
export function getProjectsLinkProjects2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjects2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjects2' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2DeployHooks$inboundSchema = z.object({
    createdAt: types.optional(types.number()),
    id: types.string(),
    name: types.string(),
    ref: types.string(),
    url: types.string(),
});
export function getProjectsLinkProjectsResponse200ApplicationJSONResponseBody2DeployHooksFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2DeployHooks$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2DeployHooks' from JSON`);
}
/** @internal */
export const GetProjectsLinkProjects1$inboundSchema = z.object({
    org: types.string(),
    repoOwnerId: types.optional(types.number()),
    repo: types.optional(types.string()),
    repoId: types.optional(types.number()),
    type: types.literal("github"),
    createdAt: types.optional(types.number()),
    deployHooks: z.array(z.lazy(() => GetProjectsLinkProjectsResponse200ApplicationJSONResponseBody2DeployHooks$inboundSchema)),
    gitCredentialId: types.string(),
    updatedAt: types.optional(types.number()),
    sourceless: types.optional(types.boolean()),
    productionBranch: types.string(),
});
export function getProjectsLinkProjects1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsLinkProjects1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsLinkProjects1' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyLink$inboundSchema = z.union([
    z.lazy(() => GetProjectsLinkProjects1$inboundSchema),
    z.lazy(() => GetProjectsLinkProjects2$inboundSchema),
    z.lazy(() => GetProjectsLinkProjects3$inboundSchema),
    z.lazy(() => GetProjectsLinkProjects4$inboundSchema),
    z.lazy(() => GetProjectsLinkProjects5$inboundSchema),
    z.lazy(() => GetProjectsLinkProjects6$inboundSchema),
]);
export function getProjectsResponseBodyLinkFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetProjectsResponseBodyLink$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetProjectsResponseBodyLink' from JSON`);
}
/** @internal */
export const GetProjectsResponseBodyProjectsNodeVersion$inboundSchema = z
    .nativeEnum(GetProjectsResponseBodyProjectsNodeVersion);
//# sourceMappingURL=getprojectsresponsebodyprojectsnodeversion.js.map