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>

4,707 lines 167 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 { ClosedEnum } from "../types/enums.js";
import { Result as SafeParseResult } from "../types/fp.js";
import * as types from "../types/primitives.js";
import { smartUnion } from "../types/smartUnion.js";
import { ACLAction, ACLAction$inboundSchema } from "./aclaction.js";
import { SDKValidationError } from "./sdkvalidationerror.js";
import {
  UpdateMicrofrontendsProjectsFunctionDefaultMemoryType,
  UpdateMicrofrontendsProjectsFunctionDefaultMemoryType$inboundSchema,
} from "./updatemicrofrontendsprojectsfunctiondefaultmemorytype.js";

export const UpdateMicrofrontendsProjectsBuildMachineType = {
  Basic: "basic",
  Enhanced: "enhanced",
  Standard: "standard",
  Turbo: "turbo",
} as const;
export type UpdateMicrofrontendsProjectsBuildMachineType = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsBuildMachineType
>;

export const UpdateMicrofrontendsProjectsBuildMachineSelection = {
  Elastic: "elastic",
  Fixed: "fixed",
} as const;
export type UpdateMicrofrontendsProjectsBuildMachineSelection = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsBuildMachineSelection
>;

export const UpdateMicrofrontendsProjectsBuildMachineElasticReason = {
  BasicFloor: "basic-floor",
  BuildTimeoutFailure: "build-timeout-failure",
  EnospcFailure: "enospc-failure",
  EnterpriseFloor: "enterprise-floor",
  HighPeakDisk: "high-peak-disk",
  HighPeakMemory: "high-peak-memory",
  LongBuildDuration: "long-build-duration",
  OomFailure: "oom-failure",
  ShortBuildDuration: "short-build-duration",
  SustainedHighCpu: "sustained-high-cpu",
} as const;
export type UpdateMicrofrontendsProjectsBuildMachineElasticReason = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsBuildMachineElasticReason
>;

export const UpdateMicrofrontendsProjectsConfiguration = {
  SkipNamespaceQueue: "SKIP_NAMESPACE_QUEUE",
  WaitForNamespaceQueue: "WAIT_FOR_NAMESPACE_QUEUE",
} as const;
export type UpdateMicrofrontendsProjectsConfiguration = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsConfiguration
>;

export type UpdateMicrofrontendsProjectsBuildQueue = {
  configuration?: UpdateMicrofrontendsProjectsConfiguration | undefined;
};

export type UpdateMicrofrontendsDefaultResourceConfig = {
  elasticConcurrencyEnabled?: boolean | undefined;
  fluid?: boolean | undefined;
  functionDefaultRegions: Array<string>;
  functionDefaultTimeout?: number | undefined;
  functionDefaultMemoryType?:
    | UpdateMicrofrontendsProjectsFunctionDefaultMemoryType
    | undefined;
  functionZeroConfigFailover?: boolean | undefined;
  buildMachineType?: UpdateMicrofrontendsProjectsBuildMachineType | undefined;
  buildMachineSelection?:
    | UpdateMicrofrontendsProjectsBuildMachineSelection
    | undefined;
  buildMachineElasticLastUpdated?: number | undefined;
  buildMachineElasticReason?:
    | UpdateMicrofrontendsProjectsBuildMachineElasticReason
    | undefined;
  isNSNBDisabled?: boolean | undefined;
  buildQueue?: UpdateMicrofrontendsProjectsBuildQueue | undefined;
  enableFunctionsBeta?: boolean | undefined;
};

export type UpdateMicrofrontendsStaticIps = {
  builds: boolean;
  enabled: boolean;
  regions: Array<string>;
};

export const UpdateMicrofrontendsProjectsDeploymentType = {
  All: "all",
  AllExceptCustomDomains: "all_except_custom_domains",
  Preview: "preview",
  ProdDeploymentUrlsAndAllPreviews: "prod_deployment_urls_and_all_previews",
} as const;
export type UpdateMicrofrontendsProjectsDeploymentType = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsDeploymentType
>;

export const UpdateMicrofrontendsCve55182MigrationAppliedFrom = {
  All: "all",
  AllExceptCustomDomains: "all_except_custom_domains",
  Preview: "preview",
  ProdDeploymentUrlsAndAllPreviews: "prod_deployment_urls_and_all_previews",
} as const;
export type UpdateMicrofrontendsCve55182MigrationAppliedFrom = ClosedEnum<
  typeof UpdateMicrofrontendsCve55182MigrationAppliedFrom
>;

export const UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom =
  {
    All: "all",
    AllExceptCustomDomains: "all_except_custom_domains",
    Preview: "preview",
    ProdDeploymentUrlsAndAllPreviews: "prod_deployment_urls_and_all_previews",
  } as const;
export type UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom =
  ClosedEnum<
    typeof UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom
  >;

export type UpdateMicrofrontendsSsoProtection = {
  deploymentType: UpdateMicrofrontendsProjectsDeploymentType;
  cve55182MigrationAppliedFrom?:
    | UpdateMicrofrontendsCve55182MigrationAppliedFrom
    | null
    | undefined;
  april2026SecurityIncidentMigrationAppliedFrom?:
    | UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom
    | null
    | undefined;
};

export type UpdateMicrofrontendsProjectsAliasAssigned = number | boolean;

export type UpdateMicrofrontendsProjectsAliasError = {
  code: string;
  message: string;
};

/**
 * The type of matching to perform
 */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType =
  {
    EndsWith: "endsWith",
    Equals: "equals",
    StartsWith: "startsWith",
  } as const;
/**
 * The type of matching to perform
 */
export type UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType =
  ClosedEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType
  >;

export type UpdateMicrofrontendsProjectsResponseBranchMatcher = {
  /**
   * The type of matching to perform
   */
  type:
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType;
  /**
   * The pattern to match against branch names
   */
  pattern: string;
};

export type UpdateMicrofrontendsProjectsBuilds = {
  use: string;
  src?: string | undefined;
  dest?: string | undefined;
};

export const UpdateMicrofrontendsProjectsChecksConclusion = {
  Canceled: "canceled",
  Failed: "failed",
  Skipped: "skipped",
  Succeeded: "succeeded",
} as const;
export type UpdateMicrofrontendsProjectsChecksConclusion = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsChecksConclusion
>;

export const UpdateMicrofrontendsProjectsChecksState = {
  Completed: "completed",
  Registered: "registered",
  Running: "running",
} as const;
export type UpdateMicrofrontendsProjectsChecksState = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsChecksState
>;

export type UpdateMicrofrontendsProjectsResponseCreator = {
  email: string;
  githubLogin?: string | undefined;
  gitlabLogin?: string | undefined;
  uid: string;
  username: string;
};

export type UpdateMicrofrontendsProjectsOidcTokenClaims = {
  iss: string;
  sub: string;
  scope: string;
  aud: string;
  owner: string;
  ownerId: string;
  project: string;
  projectId: string;
  environment: string;
  customEnvironmentId?: string | undefined;
  mfeGroupIds?: Array<string> | undefined;
  plan?: string | undefined;
};

export const UpdateMicrofrontendsProjectsPlan = {
  Enterprise: "enterprise",
  Hobby: "hobby",
  Pro: "pro",
} as const;
export type UpdateMicrofrontendsProjectsPlan = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsPlan
>;

export const UpdateMicrofrontendsProjectsReadyState = {
  Blocked: "BLOCKED",
  Building: "BUILDING",
  Canceled: "CANCELED",
  Error: "ERROR",
  Initializing: "INITIALIZING",
  Queued: "QUEUED",
  Ready: "READY",
} as const;
export type UpdateMicrofrontendsProjectsReadyState = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsReadyState
>;

export const UpdateMicrofrontendsProjectsReadySubstate = {
  Promoted: "PROMOTED",
  Rolling: "ROLLING",
  Staged: "STAGED",
} as const;
export type UpdateMicrofrontendsProjectsReadySubstate = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsReadySubstate
>;

export const UpdateMicrofrontendsProjectsResponse200Type = {
  Lambdas: "LAMBDAS",
} as const;
export type UpdateMicrofrontendsProjectsResponse200Type = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsResponse200Type
>;

export type UpdateMicrofrontendsTargets = {
  id: string;
  alias?: Array<string> | undefined;
  aliasAssigned?: number | boolean | null | undefined;
  aliasError?: UpdateMicrofrontendsProjectsAliasError | null | undefined;
  aliasFinal?: string | null | undefined;
  automaticAliases?: Array<string> | undefined;
  branchMatcher?: UpdateMicrofrontendsProjectsResponseBranchMatcher | undefined;
  buildingAt?: number | undefined;
  builds?: Array<UpdateMicrofrontendsProjectsBuilds> | undefined;
  checksConclusion?: UpdateMicrofrontendsProjectsChecksConclusion | undefined;
  checksState?: UpdateMicrofrontendsProjectsChecksState | undefined;
  connectBuildsEnabled?: boolean | undefined;
  connectConfigurationId?: string | undefined;
  createdAt: number;
  createdIn: string;
  creator: UpdateMicrofrontendsProjectsResponseCreator | null;
  deletedAt?: number | undefined;
  deploymentHostname: string;
  forced?: boolean | undefined;
  name: string;
  meta?: { [k: string]: string } | undefined;
  monorepoManager?: string | null | undefined;
  oidcTokenClaims?: UpdateMicrofrontendsProjectsOidcTokenClaims | undefined;
  plan: UpdateMicrofrontendsProjectsPlan;
  /**
   * Whether or not preview comments are enabled for the deployment
   */
  previewCommentsEnabled?: boolean | undefined;
  private: boolean;
  readyAt?: number | undefined;
  readyState: UpdateMicrofrontendsProjectsReadyState;
  readySubstate?: UpdateMicrofrontendsProjectsReadySubstate | undefined;
  requestedAt?: number | undefined;
  target?: string | null | undefined;
  teamId?: string | null | undefined;
  type: UpdateMicrofrontendsProjectsResponse200Type;
  url: string;
  /**
   * Present for user creators; omitted for app/integration/system creators.
   */
  userId?: string | undefined;
  withCache?: boolean | undefined;
};

export type UpdateMicrofrontendsPermissions = {
  oauth2Connection?: Array<ACLAction> | undefined;
  user?: Array<ACLAction> | undefined;
  userConnection?: Array<ACLAction> | undefined;
  userMfaConfiguration?: Array<ACLAction> | undefined;
  userPreference?: Array<ACLAction> | undefined;
  userSudo?: Array<ACLAction> | undefined;
  webAuthn?: Array<ACLAction> | undefined;
  accessGroup?: Array<ACLAction> | undefined;
  agent?: Array<ACLAction> | undefined;
  aiGatewayApiKey?: Array<ACLAction> | undefined;
  aiGatewayApiKeyBypassAll?: Array<ACLAction> | undefined;
  aiGatewayApiKeyOwnedBySelf?: Array<ACLAction> | undefined;
  aiGatewayApiKeySpendAttribution?: Array<ACLAction> | undefined;
  aiGatewayApiKeyZdrExemption?: Array<ACLAction> | undefined;
  aiGatewayBudget?: Array<ACLAction> | undefined;
  aiGatewayCredits?: Array<ACLAction> | undefined;
  aiGatewayPrivateModels?: Array<ACLAction> | undefined;
  aiGatewayGuardrails?: Array<ACLAction> | undefined;
  aiGatewayRules?: Array<ACLAction> | undefined;
  aiGatewaySettings?: Array<ACLAction> | undefined;
  aiGatewayTranscripts?: Array<ACLAction> | undefined;
  aiGatewayTranscriptsSettings?: Array<ACLAction> | undefined;
  aiGatewayUsage?: Array<ACLAction> | undefined;
  aiGatewayVirtualModelConfigs?: Array<ACLAction> | undefined;
  alerts?: Array<ACLAction> | undefined;
  alertRules?: Array<ACLAction> | undefined;
  aliasGlobal?: Array<ACLAction> | undefined;
  analyticsSampling?: Array<ACLAction> | undefined;
  analyticsUsage?: Array<ACLAction> | undefined;
  apiKey?: Array<ACLAction> | undefined;
  apiKeyAiGateway?: Array<ACLAction> | undefined;
  apiKeyOwnedBySelf?: Array<ACLAction> | undefined;
  oauth2Application?: Array<ACLAction> | undefined;
  vercelAppInstallation?: Array<ACLAction> | undefined;
  vercelAppInstallationRequest?: Array<ACLAction> | undefined;
  auditLog?: Array<ACLAction> | undefined;
  automation?: Array<ACLAction> | undefined;
  billingAddress?: Array<ACLAction> | undefined;
  billingInformation?: Array<ACLAction> | undefined;
  billingInvoice?: Array<ACLAction> | undefined;
  billingInvoiceEmailRecipient?: Array<ACLAction> | undefined;
  billingInvoiceLanguage?: Array<ACLAction> | undefined;
  billingPlan?: Array<ACLAction> | undefined;
  billingPurchaseOrder?: Array<ACLAction> | undefined;
  billingRefund?: Array<ACLAction> | undefined;
  billingTaxId?: Array<ACLAction> | undefined;
  blob?: Array<ACLAction> | undefined;
  blobStoreTokenSet?: Array<ACLAction> | undefined;
  budget?: Array<ACLAction> | undefined;
  cacheArtifact?: Array<ACLAction> | undefined;
  cacheArtifactUsageEvent?: Array<ACLAction> | undefined;
  codeChecks?: Array<ACLAction> | undefined;
  codeOwners?: Array<ACLAction> | undefined;
  ciInvocations?: Array<ACLAction> | undefined;
  ciLogs?: Array<ACLAction> | undefined;
  concurrentBuilds?: Array<ACLAction> | undefined;
  connect?: Array<ACLAction> | undefined;
  connectConfiguration?: Array<ACLAction> | undefined;
  connectLogs?: Array<ACLAction> | undefined;
  connexClient?: Array<ACLAction> | undefined;
  connexClientProject?: Array<ACLAction> | undefined;
  connexContact?: Array<ACLAction> | undefined;
  connexInstallation?: Array<ACLAction> | undefined;
  connexToken?: Array<ACLAction> | undefined;
  buildMachineDefault?: Array<ACLAction> | undefined;
  cursorOriginInstallation?: Array<ACLAction> | undefined;
  dataCacheBillingSettings?: Array<ACLAction> | undefined;
  defaultDeploymentProtection?: Array<ACLAction> | undefined;
  deploymentPolicy?: Array<ACLAction> | undefined;
  domain?: Array<ACLAction> | undefined;
  domainAcceptDelegation?: Array<ACLAction> | undefined;
  domainAuthCodes?: Array<ACLAction> | undefined;
  domainCertificate?: Array<ACLAction> | undefined;
  domainCheckConfig?: Array<ACLAction> | undefined;
  domainMove?: Array<ACLAction> | undefined;
  domainPurchase?: Array<ACLAction> | undefined;
  domainRecord?: Array<ACLAction> | undefined;
  domainTransferIn?: Array<ACLAction> | undefined;
  drain?: Array<ACLAction> | undefined;
  edgeConfig?: Array<ACLAction> | undefined;
  edgeConfigItem?: Array<ACLAction> | undefined;
  edgeConfigSchema?: Array<ACLAction> | undefined;
  edgeConfigToken?: Array<ACLAction> | undefined;
  endpointVerification?: Array<ACLAction> | undefined;
  event?: Array<ACLAction> | undefined;
  fileUpload?: Array<ACLAction> | undefined;
  flagsExplorerSubscription?: Array<ACLAction> | undefined;
  gitRepository?: Array<ACLAction> | undefined;
  imageOptimizationNewPrice?: Array<ACLAction> | undefined;
  integration?: Array<ACLAction> | undefined;
  integrationAccount?: Array<ACLAction> | undefined;
  integrationConfiguration?: Array<ACLAction> | undefined;
  integrationConfigurationProjects?: Array<ACLAction> | undefined;
  integrationConfigurationRole?: Array<ACLAction> | undefined;
  integrationConfigurationTransfer?: Array<ACLAction> | undefined;
  integrationDeploymentAction?: Array<ACLAction> | undefined;
  integrationEvent?: Array<ACLAction> | undefined;
  integrationLog?: Array<ACLAction> | undefined;
  integrationResource?: Array<ACLAction> | undefined;
  integrationResourceData?: Array<ACLAction> | undefined;
  integrationResourceReplCommand?: Array<ACLAction> | undefined;
  integrationResourceSecrets?: Array<ACLAction> | undefined;
  integrationSSOSession?: Array<ACLAction> | undefined;
  integrationStrict?: Array<ACLAction> | undefined;
  integrationStoreTokenSet?: Array<ACLAction> | undefined;
  integrationVercelConfigurationOverride?: Array<ACLAction> | undefined;
  integrationPullRequest?: Array<ACLAction> | undefined;
  ipBlocking?: Array<ACLAction> | undefined;
  jobGlobal?: Array<ACLAction> | undefined;
  kmsIssuer?: Array<ACLAction> | undefined;
  kmsProjectGrant?: Array<ACLAction> | undefined;
  logDrain?: Array<ACLAction> | undefined;
  marketplaceBillingData?: Array<ACLAction> | undefined;
  marketplaceExperimentationEdgeConfigData?: Array<ACLAction> | undefined;
  marketplaceExperimentationItem?: Array<ACLAction> | undefined;
  marketplaceFlexCommit?: Array<ACLAction> | undefined;
  marketplaceInstallationMember?: Array<ACLAction> | undefined;
  marketplaceInvoice?: Array<ACLAction> | undefined;
  marketplaceSettings?: Array<ACLAction> | undefined;
  monitoring?: Array<ACLAction> | undefined;
  monitoringAlert?: Array<ACLAction> | undefined;
  monitoringChart?: Array<ACLAction> | undefined;
  monitoringQuery?: Array<ACLAction> | undefined;
  monitoringSettings?: Array<ACLAction> | undefined;
  notificationCustomerBudget?: Array<ACLAction> | undefined;
  notificationDeploymentFailed?: Array<ACLAction> | undefined;
  notificationDomainConfiguration?: Array<ACLAction> | undefined;
  notificationDomainExpire?: Array<ACLAction> | undefined;
  notificationDomainMoved?: Array<ACLAction> | undefined;
  notificationDomainPurchase?: Array<ACLAction> | undefined;
  notificationDomainRenewal?: Array<ACLAction> | undefined;
  notificationDomainTransfer?: Array<ACLAction> | undefined;
  notificationDomainUnverified?: Array<ACLAction> | undefined;
  notificationMonitoringAlert?: Array<ACLAction> | undefined;
  notificationPaymentFailed?: Array<ACLAction> | undefined;
  notificationPreferences?: Array<ACLAction> | undefined;
  notificationStatementOfReasons?: Array<ACLAction> | undefined;
  notificationUsageAlert?: Array<ACLAction> | undefined;
  oidcFederationPolicy?: Array<ACLAction> | undefined;
  observabilityConfiguration?: Array<ACLAction> | undefined;
  observabilityFunnel?: Array<ACLAction> | undefined;
  observabilityNotebook?: Array<ACLAction> | undefined;
  openTelemetryEndpoint?: Array<ACLAction> | undefined;
  ownEvent?: Array<ACLAction> | undefined;
  organization?: Array<ACLAction> | undefined;
  organizationDomain?: Array<ACLAction> | undefined;
  organizationTeam?: Array<ACLAction> | undefined;
  passwordProtectionInvoiceItem?: Array<ACLAction> | undefined;
  paymentMethod?: Array<ACLAction> | undefined;
  permissions?: Array<ACLAction> | undefined;
  postgres?: Array<ACLAction> | undefined;
  postgresStoreTokenSet?: Array<ACLAction> | undefined;
  previewDeploymentSuffix?: Array<ACLAction> | undefined;
  privateCloudAccount?: Array<ACLAction> | undefined;
  projectTransferIn?: Array<ACLAction> | undefined;
  projectTransferRequest?: Array<ACLAction> | undefined;
  proTrialOnboarding?: Array<ACLAction> | undefined;
  rateLimit?: Array<ACLAction> | undefined;
  redis?: Array<ACLAction> | undefined;
  redisStoreTokenSet?: Array<ACLAction> | undefined;
  remoteCaching?: Array<ACLAction> | undefined;
  repository?: Array<ACLAction> | undefined;
  samlConfig?: Array<ACLAction> | undefined;
  secret?: Array<ACLAction> | undefined;
  securityConfig?: Array<ACLAction> | undefined;
  sensitiveEnvironmentVariablePolicy?: Array<ACLAction> | undefined;
  sharedEnvVars?: Array<ACLAction> | undefined;
  sharedEnvVarsProduction?: Array<ACLAction> | undefined;
  space?: Array<ACLAction> | undefined;
  spaceRun?: Array<ACLAction> | undefined;
  storeIsLocked?: Array<ACLAction> | undefined;
  storeTokenSetSensitive?: Array<ACLAction> | undefined;
  storeTransfer?: Array<ACLAction> | undefined;
  supportCase?: Array<ACLAction> | undefined;
  supportCaseComment?: Array<ACLAction> | undefined;
  team?: Array<ACLAction> | undefined;
  teamAccessRequest?: Array<ACLAction> | undefined;
  teamFellowMembership?: Array<ACLAction> | undefined;
  teamGitExclusivity?: Array<ACLAction> | undefined;
  teamInvite?: Array<ACLAction> | undefined;
  teamInviteCode?: Array<ACLAction> | undefined;
  teamInviteLink?: Array<ACLAction> | undefined;
  teamJoin?: Array<ACLAction> | undefined;
  teamMemberMfaStatus?: Array<ACLAction> | undefined;
  teamMicrofrontends?: Array<ACLAction> | undefined;
  teamOwnMembership?: Array<ACLAction> | undefined;
  teamOwnMembershipDisconnectSAML?: Array<ACLAction> | undefined;
  teamSudo?: Array<ACLAction> | undefined;
  teamTokenInvalidation?: Array<ACLAction> | undefined;
  token?: Array<ACLAction> | undefined;
  toolbarComment?: Array<ACLAction> | undefined;
  usage?: Array<ACLAction> | undefined;
  usageCycle?: Array<ACLAction> | undefined;
  vcrRepository?: Array<ACLAction> | undefined;
  vpcPeeringConnection?: Array<ACLAction> | undefined;
  webAnalyticsPlan?: Array<ACLAction> | undefined;
  webhook?: Array<ACLAction> | undefined;
  webhookEvent?: Array<ACLAction> | undefined;
  aliasProject?: Array<ACLAction> | undefined;
  aliasProtectionBypass?: Array<ACLAction> | undefined;
  bulkRedirects?: Array<ACLAction> | undefined;
  buildMachine?: Array<ACLAction> | undefined;
  connectConfigurationLink?: Array<ACLAction> | undefined;
  dataCacheNamespace?: Array<ACLAction> | undefined;
  deployment?: Array<ACLAction> | undefined;
  deploymentBuildLogs?: Array<ACLAction> | undefined;
  deploymentCheck?: Array<ACLAction> | undefined;
  deploymentCheckPreview?: Array<ACLAction> | undefined;
  deploymentCheckReRunFromProductionBranch?: Array<ACLAction> | undefined;
  deploymentProductionGit?: Array<ACLAction> | undefined;
  deploymentV0?: Array<ACLAction> | undefined;
  deploymentPreview?: Array<ACLAction> | undefined;
  deploymentPrivate?: Array<ACLAction> | undefined;
  deploymentPromote?: Array<ACLAction> | undefined;
  deploymentRollback?: Array<ACLAction> | undefined;
  edgeCacheNamespace?: Array<ACLAction> | undefined;
  environments?: Array<ACLAction> | undefined;
  job?: Array<ACLAction> | undefined;
  logs?: Array<ACLAction> | undefined;
  logsPreset?: Array<ACLAction> | undefined;
  observabilityData?: Array<ACLAction> | undefined;
  onDemandBuild?: Array<ACLAction> | undefined;
  onDemandConcurrency?: Array<ACLAction> | undefined;
  optionsAllowlist?: Array<ACLAction> | undefined;
  passwordProtection?: Array<ACLAction> | undefined;
  privateLinkEndpoint?: Array<ACLAction> | undefined;
  productionAliasProtectionBypass?: Array<ACLAction> | undefined;
  productionShareableLink?: Array<ACLAction> | undefined;
  project?: Array<ACLAction> | undefined;
  projectAccessGroup?: Array<ACLAction> | undefined;
  projectAnalyticsSampling?: Array<ACLAction> | undefined;
  projectAnalyticsUsage?: Array<ACLAction> | undefined;
  projectCheck?: Array<ACLAction> | undefined;
  projectCheckRun?: Array<ACLAction> | undefined;
  projectDeploymentExpiration?: Array<ACLAction> | undefined;
  projectDeploymentHook?: Array<ACLAction> | undefined;
  projectDeploymentProtectionStrict?: Array<ACLAction> | undefined;
  projectDomain?: Array<ACLAction> | undefined;
  projectDomainCheckConfig?: Array<ACLAction> | undefined;
  projectDomainMove?: Array<ACLAction> | undefined;
  projectDomainVerify?: Array<ACLAction> | undefined;
  projectEvent?: Array<ACLAction> | undefined;
  projectEnvVars?: Array<ACLAction> | undefined;
  projectEnvVarsProduction?: Array<ACLAction> | undefined;
  projectEnvVarsUnownedByIntegration?: Array<ACLAction> | undefined;
  projectFlags?: Array<ACLAction> | undefined;
  projectFlagsProduction?: Array<ACLAction> | undefined;
  projectFlagsSDKKey?: Array<ACLAction> | undefined;
  projectFromV0?: Array<ACLAction> | undefined;
  projectId?: Array<ACLAction> | undefined;
  projectIntegrationConfiguration?: Array<ACLAction> | undefined;
  projectLink?: Array<ACLAction> | undefined;
  projectMember?: Array<ACLAction> | undefined;
  projectMonitoring?: Array<ACLAction> | undefined;
  projectOIDCToken?: Array<ACLAction> | undefined;
  projectPermissions?: Array<ACLAction> | undefined;
  projectProductionBranch?: Array<ACLAction> | undefined;
  projectProtectionBypass?: Array<ACLAction> | undefined;
  projectRollingRelease?: Array<ACLAction> | undefined;
  projectRoutes?: Array<ACLAction> | undefined;
  projectSupportCase?: Array<ACLAction> | undefined;
  projectSupportCaseComment?: Array<ACLAction> | undefined;
  projectTier?: Array<ACLAction> | undefined;
  projectTransfer?: Array<ACLAction> | undefined;
  projectTransferOut?: Array<ACLAction> | undefined;
  projectUsage?: Array<ACLAction> | undefined;
  pageIntegrity?: Array<ACLAction> | undefined;
  seawallConfig?: Array<ACLAction> | undefined;
  securityPlusConfiguration?: Array<ACLAction> | undefined;
  shareableLink?: Array<ACLAction> | undefined;
  shareableLinkStrict?: Array<ACLAction> | undefined;
  sharedEnvVarConnection?: Array<ACLAction> | undefined;
  skewProtection?: Array<ACLAction> | undefined;
  analytics?: Array<ACLAction> | undefined;
  trustedIps?: Array<ACLAction> | undefined;
  trustedSources?: Array<ACLAction> | undefined;
  v0Chat?: Array<ACLAction> | undefined;
  vercelAuth?: Array<ACLAction> | undefined;
  vercelRun?: Array<ACLAction> | undefined;
  webAnalytics?: Array<ACLAction> | undefined;
  workflowRunData?: Array<ACLAction> | undefined;
};

export type UpdateMicrofrontendsLastRollbackTarget = {};

export const UpdateMicrofrontendsJobStatus = {
  Failed: "failed",
  InProgress: "in-progress",
  Pending: "pending",
  Skipped: "skipped",
  Succeeded: "succeeded",
} as const;
export type UpdateMicrofrontendsJobStatus = ClosedEnum<
  typeof UpdateMicrofrontendsJobStatus
>;

export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONType = {
  Promote: "promote",
  Rollback: "rollback",
} as const;
export type UpdateMicrofrontendsProjectsResponse200ApplicationJSONType =
  ClosedEnum<typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONType>;

export type UpdateMicrofrontendsLastAliasRequest = {
  fromDeploymentId: string | null;
  toDeploymentId: string;
  /**
   * If rolling back from a rolling release, fromDeploymentId captures the "base" of that rolling release, and fromRollingReleaseId captures the "target" of that rolling release.
   */
  fromRollingReleaseId?: string | undefined;
  jobStatus: UpdateMicrofrontendsJobStatus;
  requestedAt: number;
  type: UpdateMicrofrontendsProjectsResponse200ApplicationJSONType;
};

export type UpdateMicrofrontendsProtectionBypass2 = {
  createdAt: number;
  createdBy: string;
  scope: "automation-bypass";
  /**
   * When there was only one bypass, it was automatically set as an env var on deployments. With multiple bypasses, there is always one bypass that is selected as the default, and gets set as an env var on deployments. As this is a new field, undefined means that the bypass is the env var. If there are any automation bypasses, exactly one must be the env var.
   */
  isEnvVar?: boolean | undefined;
  /**
   * Optional note about the bypass to be displayed in the UI
   */
  note?: string | undefined;
};

export type UpdateMicrofrontendsProtectionBypass1 = {
  createdAt: number;
  createdBy: string;
  scope: "integration-automation-bypass";
  integrationId: string;
  configurationId: string;
};

export type UpdateMicrofrontendsProtectionBypass =
  | UpdateMicrofrontendsProtectionBypass1
  | UpdateMicrofrontendsProtectionBypass2;

export const UpdateMicrofrontendsTrustedIpsProjectsDeploymentType = {
  All: "all",
  AllExceptCustomDomains: "all_except_custom_domains",
  Preview: "preview",
  ProdDeploymentUrlsAndAllPreviews: "prod_deployment_urls_and_all_previews",
  Production: "production",
} as const;
export type UpdateMicrofrontendsTrustedIpsProjectsDeploymentType = ClosedEnum<
  typeof UpdateMicrofrontendsTrustedIpsProjectsDeploymentType
>;

export type UpdateMicrofrontendsTrustedIps2 = {
  deploymentType: UpdateMicrofrontendsTrustedIpsProjectsDeploymentType;
};

export const UpdateMicrofrontendsTrustedIpsDeploymentType = {
  All: "all",
  AllExceptCustomDomains: "all_except_custom_domains",
  Preview: "preview",
  ProdDeploymentUrlsAndAllPreviews: "prod_deployment_urls_and_all_previews",
  Production: "production",
} as const;
export type UpdateMicrofrontendsTrustedIpsDeploymentType = ClosedEnum<
  typeof UpdateMicrofrontendsTrustedIpsDeploymentType
>;

export type UpdateMicrofrontendsTrustedIpsAddresses = {
  value: string;
  note?: string | undefined;
};

export const UpdateMicrofrontendsTrustedIpsProtectionMode = {
  Additional: "additional",
  Exclusive: "exclusive",
} as const;
export type UpdateMicrofrontendsTrustedIpsProtectionMode = ClosedEnum<
  typeof UpdateMicrofrontendsTrustedIpsProtectionMode
>;

export type UpdateMicrofrontendsTrustedIps1 = {
  deploymentType: UpdateMicrofrontendsTrustedIpsDeploymentType;
  addresses: Array<UpdateMicrofrontendsTrustedIpsAddresses>;
  protectionMode: UpdateMicrofrontendsTrustedIpsProtectionMode;
};

export type UpdateMicrofrontendsTrustedIps =
  | UpdateMicrofrontendsTrustedIps1
  | UpdateMicrofrontendsTrustedIps2;

export const UpdateMicrofrontendsFromProjectsPreset = {
  AllCustom: "all-custom",
} as const;
export type UpdateMicrofrontendsFromProjectsPreset = ClosedEnum<
  typeof UpdateMicrofrontendsFromProjectsPreset
>;

/**
 * The source envs on the trusted project that are allowed to access `to`.
 */
export type UpdateMicrofrontendsFrom2 = {
  /**
   * System environment slugs (`production`, `preview`) and/or custom environment slugs defined on the referenced project.
   */
  slugs?: Array<string> | undefined;
  preset: UpdateMicrofrontendsFromProjectsPreset;
};

export const UpdateMicrofrontendsFromPreset = {
  AllCustom: "all-custom",
} as const;
export type UpdateMicrofrontendsFromPreset = ClosedEnum<
  typeof UpdateMicrofrontendsFromPreset
>;

/**
 * The source envs on the trusted project that are allowed to access `to`.
 */
export type UpdateMicrofrontendsFrom1 = {
  /**
   * System environment slugs (`production`, `preview`) and/or custom environment slugs defined on the referenced project.
   */
  slugs: Array<string>;
  preset?: UpdateMicrofrontendsFromPreset | undefined;
};

export type UpdateMicrofrontendsFrom =
  | UpdateMicrofrontendsFrom1
  | UpdateMicrofrontendsFrom2;

export const UpdateMicrofrontendsToProjectsResponse200Preset = {
  AllCustom: "all-custom",
} as const;
export type UpdateMicrofrontendsToProjectsResponse200Preset = ClosedEnum<
  typeof UpdateMicrofrontendsToProjectsResponse200Preset
>;

/**
 * The target envs on the current project that may be accessed.
 */
export type UpdateMicrofrontendsToProjects2 = {
  /**
   * System environment slugs (`production`, `preview`) and/or custom environment slugs defined on the referenced project.
   */
  slugs?: Array<string> | undefined;
  preset: UpdateMicrofrontendsToProjectsResponse200Preset;
};

export const UpdateMicrofrontendsToProjectsResponsePreset = {
  AllCustom: "all-custom",
} as const;
export type UpdateMicrofrontendsToProjectsResponsePreset = ClosedEnum<
  typeof UpdateMicrofrontendsToProjectsResponsePreset
>;

/**
 * The target envs on the current project that may be accessed.
 */
export type UpdateMicrofrontendsToProjects1 = {
  /**
   * System environment slugs (`production`, `preview`) and/or custom environment slugs defined on the referenced project.
   */
  slugs: Array<string>;
  preset?: UpdateMicrofrontendsToProjectsResponsePreset | undefined;
};

export type UpdateMicrofrontendsProjectsTo =
  | UpdateMicrofrontendsToProjects1
  | UpdateMicrofrontendsToProjects2;

/**
 * Optional overrides for the default same-env-by-slug matching. Provide explicit rules to allow cross-env access or presets.
 */
export type UpdateMicrofrontendsCustomAllow = {
  from: UpdateMicrofrontendsFrom1 | UpdateMicrofrontendsFrom2;
  to: UpdateMicrofrontendsToProjects1 | UpdateMicrofrontendsToProjects2;
};

export type UpdateMicrofrontendsProjects = {
  label?: string | undefined;
  /**
   * Optional overrides for the default same-env-by-slug matching. Provide explicit rules to allow cross-env access or presets.
   */
  customAllow?: Array<UpdateMicrofrontendsCustomAllow> | undefined;
};

export const UpdateMicrofrontendsToProjectsPreset = {
  AllCustom: "all-custom",
} as const;
export type UpdateMicrofrontendsToProjectsPreset = ClosedEnum<
  typeof UpdateMicrofrontendsToProjectsPreset
>;

/**
 * The target envs on the current project that may be accessed.
 */
export type UpdateMicrofrontendsTo2 = {
  /**
   * System environment slugs (`production`, `preview`) and/or custom environment slugs defined on the referenced project.
   */
  slugs?: Array<string> | undefined;
  preset: UpdateMicrofrontendsToProjectsPreset;
};

export const UpdateMicrofrontendsToPreset = {
  AllCustom: "all-custom",
} as const;
export type UpdateMicrofrontendsToPreset = ClosedEnum<
  typeof UpdateMicrofrontendsToPreset
>;

/**
 * The target envs on the current project that may be accessed.
 */
export type UpdateMicrofrontendsTo1 = {
  /**
   * System environment slugs (`production`, `preview`) and/or custom environment slugs defined on the referenced project.
   */
  slugs: Array<string>;
  preset?: UpdateMicrofrontendsToPreset | undefined;
};

export type UpdateMicrofrontendsTo =
  | UpdateMicrofrontendsTo1
  | UpdateMicrofrontendsTo2;

export type UpdateMicrofrontendsOidcProviders = {
  to: UpdateMicrofrontendsTo1 | UpdateMicrofrontendsTo2;
  label?: string | undefined;
  claims: { [k: string]: Array<string> };
};

export type UpdateMicrofrontendsTrustedSources = {
  /**
   * Allow same-team Vercel CI access to preview deployments built from the CI run's repository, using the deployment source rather than the current project repository link. Defaults to enabled when not stored; omitted or null Trusted Sources updates preserve the stored value.
   */
  enableVercelCiSameRepository?: boolean | undefined;
  projects?: { [k: string]: UpdateMicrofrontendsProjects } | undefined;
  oidcProviders?:
    | { [k: string]: Array<UpdateMicrofrontendsOidcProviders> }
    | undefined;
};

export type UpdateMicrofrontendsGitComments = {
  /**
   * Whether the Vercel bot should comment on PRs
   */
  onPullRequest: boolean;
  /**
   * Whether the Vercel bot should comment on commits
   */
  onCommit: boolean;
};

/**
 * Whether the Vercel bot should automatically create GitHub deployments https://docs.github.com/en/rest/deployments/deployments#about-deployments NOTE: repository-dispatch events should be used instead
 */
export const UpdateMicrofrontendsCreateDeployments = {
  Disabled: "disabled",
  Enabled: "enabled",
} as const;
/**
 * Whether the Vercel bot should automatically create GitHub deployments https://docs.github.com/en/rest/deployments/deployments#about-deployments NOTE: repository-dispatch events should be used instead
 */
export type UpdateMicrofrontendsCreateDeployments = ClosedEnum<
  typeof UpdateMicrofrontendsCreateDeployments
>;

/**
 * Configuration for consolidated git commit status reporting. When enabled, Vercel will post a single consolidated commit status instead of individual statuses for each deployment.
 */
export type UpdateMicrofrontendsConsolidatedGitCommitStatus = {
  /**
   * Whether consolidated commit status is enabled.
   */
  enabled: boolean;
  /**
   * Whether to propagate individual deployment failures to the consolidated status.
   */
  propagateFailures: boolean;
};

export type UpdateMicrofrontendsGitProviderOptions = {
  /**
   * Whether the Vercel bot should automatically create GitHub deployments https://docs.github.com/en/rest/deployments/deployments#about-deployments NOTE: repository-dispatch events should be used instead
   */
  createDeployments: UpdateMicrofrontendsCreateDeployments;
  /**
   * Whether the Vercel bot should not automatically create GitHub repository-dispatch events on deployment events. https://vercel.com/docs/git/vercel-for-github#repository-dispatch-events - `true`: disable repository-dispatch events for this project (explicit override of the team setting). - `false`: enable repository-dispatch events for this project (explicit override of the team setting). - absent: inherit from `team.disableRepositoryDispatchEvents`.
   */
  disableRepositoryDispatchEvents?: boolean | undefined;
  /**
   * Whether the project requires commits to be signed & verified before deployments will be created. - `true`: require verified commits for this project (explicit override of the team setting). - `false`: do not require verified commits (explicit override of the team setting). - absent: inherit from `team.requireVerifiedCommits`.
   */
  requireVerifiedCommits?: boolean | undefined;
  /**
   * Whether Vercel should post commit statuses for this project. When omitted, commit statuses remain enabled.
   */
  gitCommitStatus?: boolean | undefined;
  /**
   * Configuration for consolidated git commit status reporting. When enabled, Vercel will post a single consolidated commit status instead of individual statuses for each deployment.
   */
  consolidatedGitCommitStatus?:
    | UpdateMicrofrontendsConsolidatedGitCommitStatus
    | undefined;
};

export type UpdateMicrofrontendsWebAnalytics = {
  id: string;
  disabledAt?: number | undefined;
  canceledAt?: number | undefined;
  enabledAt?: number | undefined;
  hasData?: true | undefined;
};

export const UpdateMicrofrontendsProjectsAction = {
  Allow: "allow",
  Bypass: "bypass",
  Challenge: "challenge",
  Deny: "deny",
  Log: "log",
  RateLimit: "rate_limit",
  Redirect: "redirect",
} as const;
export type UpdateMicrofrontendsProjectsAction = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsAction
>;

export const UpdateMicrofrontendsAlgo = {
  FixedWindow: "fixed_window",
  TokenBucket: "token_bucket",
} as const;
export type UpdateMicrofrontendsAlgo = ClosedEnum<
  typeof UpdateMicrofrontendsAlgo
>;

export type UpdateMicrofrontendsRateLimit = {
  algo: UpdateMicrofrontendsAlgo;
  window: number;
  limit: number;
  keys: Array<string>;
};

export type UpdateMicrofrontendsRedirect = {
  location: string;
  permanent: boolean;
};

export const UpdateMicrofrontendsLogHeadersProjects2 = {
  Wildcard: "*",
} as const;
export type UpdateMicrofrontendsLogHeadersProjects2 = ClosedEnum<
  typeof UpdateMicrofrontendsLogHeadersProjects2
>;

export type UpdateMicrofrontendsProjectsLogHeaders =
  | Array<string>
  | UpdateMicrofrontendsLogHeadersProjects2;

export type UpdateMicrofrontendsRulesets = {
  action: UpdateMicrofrontendsProjectsAction;
  rateLimit?: UpdateMicrofrontendsRateLimit | null | undefined;
  redirect?: UpdateMicrofrontendsRedirect | null | undefined;
  actionDuration?: string | null | undefined;
  bypassSystem?: boolean | null | undefined;
  logHeaders?:
    | Array<string>
    | UpdateMicrofrontendsLogHeadersProjects2
    | undefined;
};

export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction =
  ClosedEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction
  >;

export type UpdateMicrofrontendsVercelRuleset = {
  active: boolean;
  action?:
    | UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction
    | undefined;
};

export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction =
  ClosedEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction
  >;

export type UpdateMicrofrontendsTrafficSources = {
  active: boolean;
  action?:
    | UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction
    | undefined;
};

export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction =
  ClosedEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction
  >;

export type UpdateMicrofrontendsBotFilter = {
  active: boolean;
  action?:
    | UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction
    | undefined;
};

export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction =
  ClosedEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction
  >;

export type UpdateMicrofrontendsAiBots = {
  active: boolean;
  action?:
    | UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction
    | undefined;
};

export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction =
  {
    Challenge: "challenge",
    Deny: "deny",
    Log: "log",
  } as const;
export type UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction =
  ClosedEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction
  >;

export type UpdateMicrofrontendsOwasp = {
  active: boolean;
  action?:
    | UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction
    | undefined;
};

export type UpdateMicrofrontendsManagedRules = {
  vercelRuleset: UpdateMicrofrontendsVercelRuleset;
  trafficSources: UpdateMicrofrontendsTrafficSources;
  botFilter: UpdateMicrofrontendsBotFilter;
  aiBots: UpdateMicrofrontendsAiBots;
  owasp: UpdateMicrofrontendsOwasp;
};

export const UpdateMicrofrontendsLogHeaders2 = {
  Wildcard: "*",
} as const;
export type UpdateMicrofrontendsLogHeaders2 = ClosedEnum<
  typeof UpdateMicrofrontendsLogHeaders2
>;

export type UpdateMicrofrontendsLogHeaders =
  | Array<string>
  | UpdateMicrofrontendsLogHeaders2;

export type UpdateMicrofrontendsSecurityPlusMetadata = {
  updatedAt: number;
  /**
   * Timestamp when the feature was first enabled. Never changes after initial enablement.
   */
  firstEnabledAt?: number | undefined;
};

export type UpdateMicrofrontendsSecurity = {
  attackModeEnabled?: boolean | undefined;
  attackModeUpdatedAt?: number | undefined;
  firewallEnabled?: boolean | undefined;
  firewallUpdatedAt?: number | undefined;
  attackModeActiveUntil?: number | null | undefined;
  firewallConfigVersion?: number | undefined;
  rulesets?: { [k: string]: UpdateMicrofrontendsRulesets } | undefined;
  firewallSeawallEnabled?: boolean | undefined;
  ja3Enabled?: boolean | undefined;
  ja4Enabled?: boolean | undefined;
  firewallBypassIps?: Array<string> | undefined;
  managedRules?: UpdateMicrofrontendsManagedRules | null | undefined;
  botIdEnabled?: boolean | undefined;
  logHeaders?: Array<string> | UpdateMicrofrontendsLogHeaders2 | undefined;
  securityPlus?: boolean | undefined;
  securityPlusMetadata?: UpdateMicrofrontendsSecurityPlusMetadata | undefined;
  /**
   * Whether Page Integrity is enabled for this project. Used by the metadata service to gate DynamoDB lookups against the page-integrity-inventory table.
   */
  pageIntegrityEnabled?: boolean | undefined;
};

/**
 * - team: `https://oidc.vercel.com/[team_slug]` - global: `https://oidc.vercel.com`
 */
export const UpdateMicrofrontendsIssuerMode = {
  Global: "global",
  Team: "team",
} as const;
/**
 * - team: `https://oidc.vercel.com/[team_slug]` - global: `https://oidc.vercel.com`
 */
export type UpdateMicrofrontendsIssuerMode = ClosedEnum<
  typeof UpdateMicrofrontendsIssuerMode
>;

export type UpdateMicrofrontendsOidcTokenConfig = {
  /**
   * Whether or not to generate OpenID Connect JSON Web Tokens.
   */
  enabled?: boolean | undefined;
  /**
   * - team: `https://oidc.vercel.com/[team_slug]` - global: `https://oidc.vercel.com`
   */
  issuerMode?: UpdateMicrofrontendsIssuerMode | undefined;
};

/**
 * Allowlist entry for GitLab, which uses nested groups rather than a flat org/repo. `namespace` is the full group path (e.g. `group` or `group/subgroup`); `project` is the leaf project name. Omit `project` to match any project under the namespace. Namespace is matched case-insensitively.
 */
export type UpdateMicrofrontendsSources2 = {
  provider: "gitlab";
  namespace: string;
  project?: string | undefined;
};

export const UpdateMicrofrontendsSourcesProvider = {
  Bitbucket: "bitbucket",
  Github: "github",
} as const;
export type UpdateMicrofrontendsSourcesProvider = ClosedEnum<
  typeof UpdateMicrofrontendsSourcesProvider
>;

/**
 * Allowlist entry for GitHub and Bitbucket, whose repos are identified by a flat `org`/`repo` (Bitbucket's workspace/owner maps to `org`, its repo slug to `repo`). Omit `repo` to match any repo in the org. Org is matched case-insensitively.
 */
export type UpdateMicrofrontendsSources1 = {
  provider: UpdateMicrofrontendsSourcesProvider;
  org: string;
  repo?: string | undefined;
};

export type UpdateMicrofrontendsSources =
  | (UpdateMicrofrontendsSources1 & { provider: "bitbucket" })
  | (UpdateMicrofrontendsSources1 & { provider: "github" })
  | UpdateMicrofrontendsSources2;

export type UpdateMicrofrontendsEnvironments2 = {
  type: "custom";
  environmentId: string;
};

export const UpdateMicrofrontendsEnvironmentsTarget = {
  Preview: "preview",
  Production: "production",
} as const;
export type UpdateMicrofrontendsEnvironmentsTarget = ClosedEnum<
  typeof UpdateMicrofrontendsEnvironmentsTarget
>;

export type UpdateMicrofrontendsEnvironments1 = {
  type: "system";
  target: UpdateMicrofrontendsEnvironmentsTarget;
};

export type UpdateMicrofrontendsEnvironments =
  | UpdateMicrofrontendsEnvironments1
  | UpdateMicrofrontendsEnvironments2;

/**
 * `enabled: true` with empty `sources` is deny-all.
 */
export type UpdateMicrofrontendsGitSources = {
  sources: Array<
    | (UpdateMicrofrontendsSources1 & { provider: "bitbucket" })
    | (UpdateMicrofrontendsSources1 & { provider: "github" })
    | UpdateMicrofrontendsSources2
  >;
  enabled: boolean;
  environments: Array<
    UpdateMicrofrontendsEnvironments1 | UpdateMicrofrontendsEnvironments2
  >;
};

/**
 * 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 UpdateMicrofrontendsProjectsSources = {
  Cli: "cli",
  DeployHook: "deploy-hook",
  Git: "git",
  Integration: "integration",
  RestApi: "rest-api",
  V0: "v0",
} as const;
/**
 * 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 type UpdateMicrofrontendsProjectsSources = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsSources
>;

export type UpdateMicrofrontendsEnvironmentsProjects2 = {
  type: "custom";
  environmentId: string;
};

export const UpdateMicrofrontendsEnvironmentsProjectsTarget = {
  Preview: "preview",
  Production: "production",
} as const;
export type UpdateMicrofrontendsEnvironmentsProjectsTarget = ClosedEnum<
  typeof UpdateMicrofrontendsEnvironmentsProjectsTarget
>;

export type UpdateMicrofrontendsEnvironmentsProjects1 = {
  type: "system";
  target: UpdateMicrofrontendsEnvironmentsProjectsTarget;
};

export type UpdateMicrofrontendsProjectsEnvironments =
  | UpdateMicrofrontendsEnvironmentsProjects1
  | UpdateMicrofrontendsEnvironmentsProjects2;

/**
 * `enabled: true` with empty `sources` is deny-all.
 */
export type UpdateMicrofrontendsDeploymentSources = {
  sources: Array<UpdateMicrofrontendsProjectsSources>;
  enabled: boolean;
  environments: Array<
    | UpdateMicrofrontendsEnvironmentsProjects1
    | UpdateMicrofrontendsEnvironmentsProjects2
  >;
};

/**
 * Project shape. `null` on a rule list clears the project's override for that rule type (fall back to team for every env); omitting is equivalent. Setting `deploymentPolicy` itself to `null` clears every override at once. Kept structurally distinct from {@link TeamDeploymentPolicy} so the two storage locations don't share a type by accident.
 */
export type UpdateMicrofrontendsDeploymentPolicy = {
  gitSources?: Array<UpdateMicrofrontendsGitSources> | null | undefined;
  deploymentSources?:
    | Array<UpdateMicrofrontendsDeploymentSources>
    | null
    | undefined;
};

export const UpdateMicrofrontendsTier = {
  Advanced: "advanced",
  Critical: "critical",
  Priority: "priority",
} as const;
export type UpdateMicrofrontendsTier = ClosedEnum<
  typeof UpdateMicrofrontendsTier
>;

/**
 * Billing mode. Always 'flat' for flat-rate projects.
 */
export const UpdateMicrofrontendsKind = {
  Flat: "flat",
} as const;
/**
 * Billing mode. Always 'flat' for flat-rate projects.
 */
export type UpdateMicrofrontendsKind = ClosedEnum<
  typeof UpdateMicrofrontendsKind
>;

export type UpdateMicrofrontendsUsageStatus = {
  /**
   * Billing mode. Always 'flat' for flat-rate projects.
   */
  kind: UpdateMicrofrontendsKind;
  /**
   * Timestamp until which the project has exceeded its CDN allowance.
   */
  exceededAllowanceUntil?: number | undefined;
  /**
   * Timestamp until which throttling is bypassed (project pays list rates for overage).
   */
  bypassThrottleUntil?: number | undefined;
  /**
   * Per-project throttle, set explicitly for this project (e.g. via the per-project Flat Rate CDN endpoint).
   */
  throttled?: boolean | undefined;
  /**
   * Synced from `team.billing.usageStatus.throttled`. When `true`, the team has throttled all of its projects regardless of `throttled`. The effective throttle the CDN enforces is `throttled || teamThrottled`.
   */
  teamThrottled?: boolean | undefined;
};

export type UpdateMicrofrontendsFeatures = {
  webAnalytics?: boolean | undefined;
};

export type UpdateMicrofrontendsHistory = {
  scanner: string;
  reason: string;
  by: string;
  byId: string;
  at: number;
};

export const UpdateMicrofrontendsProjectsResponseAction = {
  Blocked: "blocked",
} as const;
export type UpdateMicrofrontendsProjectsResponseAction = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsResponseAction
>;

export type UpdateMicrofrontendsBlock = {
  action: UpdateMicrofrontendsProjectsResponseAction;
  reason: string;
  statusCode: number;
  createdAt: number;
  caseId?: string | undefined;
  actor?: string | undefined;
  comment?: string | undefined;
  ineligibleForAppeal?: boolean | undefined;
  isCascading?: boolean | undefined;
};

export type UpdateMicrofrontendsHasProjectsResponse200Value = {
  eq: string;
};

export type UpdateMicrofrontendsHasProjects2 = {
  type: "host";
  value: UpdateMicrofrontendsHasProjectsResponse200Value;
};

export const UpdateMicrofrontendsHasProjectsKey = {
  XVercelIpCountry: "x-vercel-ip-country",
} as const;
export type UpdateMicrofrontendsHasProjectsKey = ClosedEnum<
  typeof UpdateMicrofrontendsHasProjectsKey
>;

export type UpdateMicrofrontendsHasProjectsResponseValue = {
  eq: string;
};

export type UpdateMicrofrontendsHasProjects1 = {
  type: "header";
  key: UpdateMicrofrontendsHasProjectsKey;
  value: UpdateMicrofrontendsHasProjectsResponseValue;
};

export type UpdateMicrofrontendsRouteProjectsHas =
  | UpdateMicrofrontendsHasProjects1
  | UpdateMicrofrontendsHasProjects2;

export const UpdateMicrofrontendsRouteProjectsAction = {
  BlockLegalCwc: "block_legal_cwc",
} as const;
export type UpdateMicrofrontendsRouteProjectsAction = ClosedEnum<
  typeof UpdateMicrofrontendsRouteProjectsAction
>;

export type UpdateMicrofrontendsRouteProjectsMitigate = {
  action: UpdateMicrofrontendsRouteProjectsAction;
};

export type UpdateMicrofrontendsRouteProjects2 = {
  has: Array<
    UpdateMicrofrontendsHasProjects1 | UpdateMicrofrontendsHasProjects2
  >;
  mitigate: UpdateMicrofrontendsRouteProjectsMitigate;
  src?: string | undefined;
};

export type UpdateMicrofrontendsRouteProjects1 = {
  src: string;
  status: number;
  expiry?: number | undefined;
};

export type UpdateMicrofrontendsBlockHistoryProjectsRoute =
  | UpdateMicrofrontendsRouteProjects1
  | UpdateMicrofrontendsRouteProjects2;

export type UpdateMicrofrontendsBlockHistory4 = {
  action: "route-unblocked";
  route:
    | UpdateMicrofrontendsRouteProjects1
    | UpdateMicrofrontendsRouteProjects2;
  statusCode?: number | undefined;
  createdAt: number;
  caseId?: string | undefined;
  actor?: string | undefined;
  comment?: string | undefined;
  ineligibleForAppeal?: boolean | undefined;
  isCascading?: boolean | undefined;
};

export type UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue =
  {
    eq: string;
  };

export type UpdateMicrofrontendsHasProjectsResponse2 = {
  type: "host";
  value:
    UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue;
};

export const UpdateMicrofrontendsHasProjectsResponseKey = {
  XVercelIpCountry: "x-vercel-ip-country",
} as const;
export type UpdateMicrofrontendsHasProjectsResponseKey = ClosedEnum<
  typeof UpdateMicrofrontendsHasProjectsResponseKey
>;

export type UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue = {
  eq: string;
};

export type UpdateMicrofrontendsHasProjectsResponse1 = {
  type: "header";
  key: UpdateMicrofrontendsHasProjectsResponseKey;
  value: UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue;
};

export type UpdateMicrofrontendsRouteHas =
  | UpdateMicrofrontendsHasProjectsResponse1
  | UpdateMicrofrontendsHasProjectsResponse2;

export const UpdateMicrofrontendsRouteAction = {
  BlockLegalCwc: "block_legal_cwc",
} as const;
export type UpdateMicrofrontendsRouteAction = ClosedEnum<
  typeof UpdateMicrofrontendsRouteAction
>;

export type UpdateMicrofrontendsRouteMitigate = {
  action: UpdateMicrofrontendsRouteAction;
};

export type UpdateMicrofrontendsRoute2 = {
  has: Array<
    | UpdateMicrofrontendsHasProjectsResponse1
    | UpdateMicrofrontendsHasProjectsResponse2
  >;
  mitigate: UpdateMicrofrontendsRouteMitigate;
  src?: string | undefined;
};

export type UpdateMicrofrontendsRoute1 = {
  src: string;
  status: number;
  expiry?: number | undefined;
};

export type UpdateMicrofrontendsBlockHistoryRoute =
  | UpdateMicrofrontendsRoute1
  | UpdateMicrofrontendsRoute2;

export type UpdateMicrofrontendsBlockHistory3 = {
  action: "route-blocked";
  route: UpdateMicrofrontendsRoute1 | UpdateMicrofrontendsRoute2;
  reason: string;
  createdAt: number;
  caseId?: string | undefined;
  actor?: string | undefined;
  comment?: string | undefined;
  ineligibleForAppeal?: boolean | undefined;
  isCascading?: boolean | undefined;
};

export type UpdateMicrofrontendsBlockHistory2 = {
  action: "unblocked";
  createdAt: number;
  caseId?: string | undefined;
  actor?: string | undefined;
  comment?: string | undefined;
  ineligibleForAppeal?: boolean | undefined;
  isCascading?: boolean | undefined;
};

export type UpdateMicrofrontendsBlockHistory1 = {
  action: "blocked";
  reason: string;
  statusCode: number;
  createdAt: number;
  caseId?: string | undefined;
  actor?: string | undefined;
  comment?: string | undefined;
  ineligibleForAppeal?: boolean | undefined;
  isCascading?: boolean | undefined;
};

export type UpdateMicrofrontendsBlockHistory =
  | UpdateMicrofrontendsBlockHistory1
  | UpdateMicrofrontendsBlockHistory2
  | UpdateMicrofrontendsBlockHistory3
  | UpdateMicrofrontendsBlockHistory4;

export const UpdateMicrofrontendsProjectsResponse200Action = {
  AddDeploymentInterstitial: "add-deployment-interstitial",
  AddProjectInterstitial: "add-project-interstitial",
  RemoveDeploymentInterstitial: "remove-deployment-interstitial",
  RemoveProjectInterstitial: "remove-project-interstitial",
} as const;
export type UpdateMicrofrontendsProjectsResponse200Action = ClosedEnum<
  typeof UpdateMicrofrontendsProjectsResponse200Action
>;

export type UpdateMicrofrontendsInterstitialHistory = {
  action: UpdateMicrofrontendsProjectsResponse200Action;
  createdAt: number;
  caseId?: string | undefined;
  reason?: string | undefined;
  actor?: string | undefined;
  comment?: string | undefined;
};

export type UpdateMicrofrontendsAbuse = {
  scanner?: string | undefined;
  history: Array<UpdateMicrofrontendsHistory>;
  updatedAt: number;
  block?: UpdateMicrofrontendsBlock | undefined;
  blockHistory?:
    | Array<
      | UpdateMicrofrontendsBlockHistory1
      | UpdateMicrofrontendsBlockHistory2
      | UpdateMicrofrontendsBlockHistory3
      | UpdateMicrofrontendsBlockHistory4
    >
    | undefined;
  interstitial?: boolean | undefined;
  interstitialHistory?:
    | Array<UpdateMicrofrontendsInterstitialHistory>
    | undefined;
};

export type UpdateMicrofrontendsHasProjectsValue = {
  eq: string;
};

export type UpdateMicrofrontendsHas2 = {
  type: "host";
  value: UpdateMicrofrontendsHasProjectsValue;
};

export const UpdateMicrofrontendsHasKey = {
  XVercelIpCountry: "x-vercel-ip-country",
} as const;
export type UpdateMicrofrontendsHasKey = ClosedEnum<
  typeof UpdateMicrofrontendsHasKey
>;

export type UpdateMicrofrontendsHasValue = {
  eq: string;
};

export type UpdateMicrofrontendsHas1 = {
  type: "header";
  key: UpdateMicrofrontendsHasKey;
  value: UpdateMicrofrontendsHasValue;
};

export type UpdateMicrofrontendsInternalRoutesHas =
  | UpdateMicrofrontendsHas1
  | UpdateMicrofrontendsHas2;

export const UpdateMicrofrontendsInternalRoutesAction = {
  BlockLegalCwc: "block_legal_cwc",
} as const;
export type UpdateMicrofrontendsInternalRoutesAction = ClosedEnum<
  typeof UpdateMicrofrontendsInternalRoutesAction
>;

export type UpdateMicrofrontendsInternalRoutesMitigate = {
  action: UpdateMicrofrontendsInternalRoutesAction;
};

export type UpdateMicrofrontendsInternalRoutes2 = {
  has: Array<UpdateMicrofrontendsHas1 | UpdateMicrofrontendsHas2>;
  mitigate: UpdateMicrofrontendsInternalRoutesMitigate;
  src?: string | undefined;
};

/** @internal */
export const UpdateMicrofrontendsProjectsBuildMachineType$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsBuildMachineType> = z
    .nativeEnum(UpdateMicrofrontendsProjectsBuildMachineType);

/** @internal */
export const UpdateMicrofrontendsProjectsBuildMachineSelection$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsBuildMachineSelection> = z
    .nativeEnum(UpdateMicrofrontendsProjectsBuildMachineSelection);

/** @internal */
export const UpdateMicrofrontendsProjectsBuildMachineElasticReason$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsBuildMachineElasticReason
  > = z.nativeEnum(UpdateMicrofrontendsProjectsBuildMachineElasticReason);

/** @internal */
export const UpdateMicrofrontendsProjectsConfiguration$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsConfiguration> = z
    .nativeEnum(UpdateMicrofrontendsProjectsConfiguration);

/** @internal */
export const UpdateMicrofrontendsProjectsBuildQueue$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjectsBuildQueue,
  z.ZodTypeDef,
  unknown
> = z.object({
  configuration: types.optional(
    UpdateMicrofrontendsProjectsConfiguration$inboundSchema,
  ),
});

export function updateMicrofrontendsProjectsBuildQueueFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProjectsBuildQueue, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsBuildQueue$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProjectsBuildQueue' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsDefaultResourceConfig$inboundSchema: z.ZodType<
  UpdateMicrofrontendsDefaultResourceConfig,
  z.ZodTypeDef,
  unknown
> = z.object({
  elasticConcurrencyEnabled: types.optional(types.boolean()),
  fluid: types.optional(types.boolean()),
  functionDefaultRegions: z.array(types.string()),
  functionDefaultTimeout: types.optional(types.number()),
  functionDefaultMemoryType: types.optional(
    UpdateMicrofrontendsProjectsFunctionDefaultMemoryType$inboundSchema,
  ),
  functionZeroConfigFailover: types.optional(types.boolean()),
  buildMachineType: types.optional(
    UpdateMicrofrontendsProjectsBuildMachineType$inboundSchema,
  ),
  buildMachineSelection: types.optional(
    UpdateMicrofrontendsProjectsBuildMachineSelection$inboundSchema,
  ),
  buildMachineElasticLastUpdated: types.optional(types.number()),
  buildMachineElasticReason: types.optional(
    UpdateMicrofrontendsProjectsBuildMachineElasticReason$inboundSchema,
  ),
  isNSNBDisabled: types.optional(types.boolean()),
  buildQueue: types.optional(
    z.lazy(() => UpdateMicrofrontendsProjectsBuildQueue$inboundSchema),
  ),
  enableFunctionsBeta: types.optional(types.boolean()),
});

export function updateMicrofrontendsDefaultResourceConfigFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsDefaultResourceConfig,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsDefaultResourceConfig$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsDefaultResourceConfig' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsStaticIps$inboundSchema: z.ZodType<
  UpdateMicrofrontendsStaticIps,
  z.ZodTypeDef,
  unknown
> = z.object({
  builds: types.boolean(),
  enabled: types.boolean(),
  regions: z.array(types.string()),
});

export function updateMicrofrontendsStaticIpsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsStaticIps, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsStaticIps$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsStaticIps' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsDeploymentType$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsDeploymentType> = z
    .nativeEnum(UpdateMicrofrontendsProjectsDeploymentType);

/** @internal */
export const UpdateMicrofrontendsCve55182MigrationAppliedFrom$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsCve55182MigrationAppliedFrom> = z
    .nativeEnum(UpdateMicrofrontendsCve55182MigrationAppliedFrom);

/** @internal */
export const UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom
  > = z.nativeEnum(
    UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom,
  );

/** @internal */
export const UpdateMicrofrontendsSsoProtection$inboundSchema: z.ZodType<
  UpdateMicrofrontendsSsoProtection,
  z.ZodTypeDef,
  unknown
> = z.object({
  deploymentType: UpdateMicrofrontendsProjectsDeploymentType$inboundSchema,
  cve55182MigrationAppliedFrom: z.nullable(
    UpdateMicrofrontendsCve55182MigrationAppliedFrom$inboundSchema,
  ).optional(),
  april2026SecurityIncidentMigrationAppliedFrom: z.nullable(
    UpdateMicrofrontendsApril2026SecurityIncidentMigrationAppliedFrom$inboundSchema,
  ).optional(),
});

export function updateMicrofrontendsSsoProtectionFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsSsoProtection, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsSsoProtection$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsSsoProtection' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsAliasAssigned$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjectsAliasAssigned,
  z.ZodTypeDef,
  unknown
> = smartUnion([types.number(), types.boolean()]);

export function updateMicrofrontendsProjectsAliasAssignedFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsProjectsAliasAssigned,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsAliasAssigned$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsProjectsAliasAssigned' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsAliasError$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjectsAliasError,
  z.ZodTypeDef,
  unknown
> = z.object({
  code: types.string(),
  message: types.string(),
});

export function updateMicrofrontendsProjectsAliasErrorFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProjectsAliasError, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsAliasError$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProjectsAliasError' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType
  > = z.nativeEnum(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType,
  );

/** @internal */
export const UpdateMicrofrontendsProjectsResponseBranchMatcher$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsProjectsResponseBranchMatcher,
    z.ZodTypeDef,
    unknown
  > = z.object({
    type:
      UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyTargetsType$inboundSchema,
    pattern: types.string(),
  });

export function updateMicrofrontendsProjectsResponseBranchMatcherFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsProjectsResponseBranchMatcher,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsResponseBranchMatcher$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsProjectsResponseBranchMatcher' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsBuilds$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjectsBuilds,
  z.ZodTypeDef,
  unknown
> = z.object({
  use: types.string(),
  src: types.optional(types.string()),
  dest: types.optional(types.string()),
});

export function updateMicrofrontendsProjectsBuildsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProjectsBuilds, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsBuilds$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProjectsBuilds' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsChecksConclusion$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsChecksConclusion> = z
    .nativeEnum(UpdateMicrofrontendsProjectsChecksConclusion);

/** @internal */
export const UpdateMicrofrontendsProjectsChecksState$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsChecksState> = z
    .nativeEnum(UpdateMicrofrontendsProjectsChecksState);

/** @internal */
export const UpdateMicrofrontendsProjectsResponseCreator$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsProjectsResponseCreator,
    z.ZodTypeDef,
    unknown
  > = z.object({
    email: types.string(),
    githubLogin: types.optional(types.string()),
    gitlabLogin: types.optional(types.string()),
    uid: types.string(),
    username: types.string(),
  });

export function updateMicrofrontendsProjectsResponseCreatorFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsProjectsResponseCreator,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsResponseCreator$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsProjectsResponseCreator' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsOidcTokenClaims$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsProjectsOidcTokenClaims,
    z.ZodTypeDef,
    unknown
  > = z.object({
    iss: types.string(),
    sub: types.string(),
    scope: types.string(),
    aud: types.string(),
    owner: types.string(),
    owner_id: types.string(),
    project: types.string(),
    project_id: types.string(),
    environment: types.string(),
    custom_environment_id: types.optional(types.string()),
    mfe_group_ids: types.optional(z.array(types.string())),
    plan: types.optional(types.string()),
  }).transform((v) => {
    return remap$(v, {
      "owner_id": "ownerId",
      "project_id": "projectId",
      "custom_environment_id": "customEnvironmentId",
      "mfe_group_ids": "mfeGroupIds",
    });
  });

export function updateMicrofrontendsProjectsOidcTokenClaimsFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsProjectsOidcTokenClaims,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsOidcTokenClaims$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsProjectsOidcTokenClaims' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsPlan$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsProjectsPlan
> = z.nativeEnum(UpdateMicrofrontendsProjectsPlan);

/** @internal */
export const UpdateMicrofrontendsProjectsReadyState$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsReadyState> = z.nativeEnum(
    UpdateMicrofrontendsProjectsReadyState,
  );

/** @internal */
export const UpdateMicrofrontendsProjectsReadySubstate$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsReadySubstate> = z
    .nativeEnum(UpdateMicrofrontendsProjectsReadySubstate);

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200Type$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsResponse200Type> = z
    .nativeEnum(UpdateMicrofrontendsProjectsResponse200Type);

/** @internal */
export const UpdateMicrofrontendsTargets$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTargets,
  z.ZodTypeDef,
  unknown
> = z.object({
  id: types.string(),
  alias: types.optional(z.array(types.string())),
  aliasAssigned: z.nullable(smartUnion([types.number(), types.boolean()]))
    .optional(),
  aliasError: z.nullable(
    z.lazy(() => UpdateMicrofrontendsProjectsAliasError$inboundSchema),
  ).optional(),
  aliasFinal: z.nullable(types.string()).optional(),
  automaticAliases: types.optional(z.array(types.string())),
  branchMatcher: types.optional(
    z.lazy(() =>
      UpdateMicrofrontendsProjectsResponseBranchMatcher$inboundSchema
    ),
  ),
  buildingAt: types.optional(types.number()),
  builds: types.optional(
    z.array(z.lazy(() => UpdateMicrofrontendsProjectsBuilds$inboundSchema)),
  ),
  checksConclusion: types.optional(
    UpdateMicrofrontendsProjectsChecksConclusion$inboundSchema,
  ),
  checksState: types.optional(
    UpdateMicrofrontendsProjectsChecksState$inboundSchema,
  ),
  connectBuildsEnabled: types.optional(types.boolean()),
  connectConfigurationId: types.optional(types.string()),
  createdAt: types.number(),
  createdIn: types.string(),
  creator: types.nullable(
    z.lazy(() => UpdateMicrofrontendsProjectsResponseCreator$inboundSchema),
  ),
  deletedAt: types.optional(types.number()),
  deploymentHostname: types.string(),
  forced: types.optional(types.boolean()),
  name: types.string(),
  meta: types.optional(z.record(types.string())),
  monorepoManager: z.nullable(types.string()).optional(),
  oidcTokenClaims: types.optional(
    z.lazy(() => UpdateMicrofrontendsProjectsOidcTokenClaims$inboundSchema),
  ),
  plan: UpdateMicrofrontendsProjectsPlan$inboundSchema,
  previewCommentsEnabled: types.optional(types.boolean()),
  private: types.boolean(),
  readyAt: types.optional(types.number()),
  readyState: UpdateMicrofrontendsProjectsReadyState$inboundSchema,
  readySubstate: types.optional(
    UpdateMicrofrontendsProjectsReadySubstate$inboundSchema,
  ),
  requestedAt: types.optional(types.number()),
  target: z.nullable(types.string()).optional(),
  teamId: z.nullable(types.string()).optional(),
  type: UpdateMicrofrontendsProjectsResponse200Type$inboundSchema,
  url: types.string(),
  userId: types.optional(types.string()),
  withCache: types.optional(types.boolean()),
});

export function updateMicrofrontendsTargetsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTargets, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsTargets$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTargets' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsPermissions$inboundSchema: z.ZodType<
  UpdateMicrofrontendsPermissions,
  z.ZodTypeDef,
  unknown
> = z.object({
  oauth2Connection: types.optional(z.array(ACLAction$inboundSchema)),
  user: types.optional(z.array(ACLAction$inboundSchema)),
  userConnection: types.optional(z.array(ACLAction$inboundSchema)),
  userMfaConfiguration: types.optional(z.array(ACLAction$inboundSchema)),
  userPreference: types.optional(z.array(ACLAction$inboundSchema)),
  userSudo: types.optional(z.array(ACLAction$inboundSchema)),
  webAuthn: types.optional(z.array(ACLAction$inboundSchema)),
  accessGroup: types.optional(z.array(ACLAction$inboundSchema)),
  agent: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayApiKey: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayApiKeyBypassAll: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayApiKeyOwnedBySelf: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayApiKeySpendAttribution: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  aiGatewayApiKeyZdrExemption: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayBudget: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayCredits: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayPrivateModels: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayGuardrails: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayRules: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewaySettings: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayTranscripts: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayTranscriptsSettings: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  aiGatewayUsage: types.optional(z.array(ACLAction$inboundSchema)),
  aiGatewayVirtualModelConfigs: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  alerts: types.optional(z.array(ACLAction$inboundSchema)),
  alertRules: types.optional(z.array(ACLAction$inboundSchema)),
  aliasGlobal: types.optional(z.array(ACLAction$inboundSchema)),
  analyticsSampling: types.optional(z.array(ACLAction$inboundSchema)),
  analyticsUsage: types.optional(z.array(ACLAction$inboundSchema)),
  apiKey: types.optional(z.array(ACLAction$inboundSchema)),
  apiKeyAiGateway: types.optional(z.array(ACLAction$inboundSchema)),
  apiKeyOwnedBySelf: types.optional(z.array(ACLAction$inboundSchema)),
  oauth2Application: types.optional(z.array(ACLAction$inboundSchema)),
  vercelAppInstallation: types.optional(z.array(ACLAction$inboundSchema)),
  vercelAppInstallationRequest: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  auditLog: types.optional(z.array(ACLAction$inboundSchema)),
  automation: types.optional(z.array(ACLAction$inboundSchema)),
  billingAddress: types.optional(z.array(ACLAction$inboundSchema)),
  billingInformation: types.optional(z.array(ACLAction$inboundSchema)),
  billingInvoice: types.optional(z.array(ACLAction$inboundSchema)),
  billingInvoiceEmailRecipient: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  billingInvoiceLanguage: types.optional(z.array(ACLAction$inboundSchema)),
  billingPlan: types.optional(z.array(ACLAction$inboundSchema)),
  billingPurchaseOrder: types.optional(z.array(ACLAction$inboundSchema)),
  billingRefund: types.optional(z.array(ACLAction$inboundSchema)),
  billingTaxId: types.optional(z.array(ACLAction$inboundSchema)),
  blob: types.optional(z.array(ACLAction$inboundSchema)),
  blobStoreTokenSet: types.optional(z.array(ACLAction$inboundSchema)),
  budget: types.optional(z.array(ACLAction$inboundSchema)),
  cacheArtifact: types.optional(z.array(ACLAction$inboundSchema)),
  cacheArtifactUsageEvent: types.optional(z.array(ACLAction$inboundSchema)),
  codeChecks: types.optional(z.array(ACLAction$inboundSchema)),
  codeOwners: types.optional(z.array(ACLAction$inboundSchema)),
  ciInvocations: types.optional(z.array(ACLAction$inboundSchema)),
  ciLogs: types.optional(z.array(ACLAction$inboundSchema)),
  concurrentBuilds: types.optional(z.array(ACLAction$inboundSchema)),
  connect: types.optional(z.array(ACLAction$inboundSchema)),
  connectConfiguration: types.optional(z.array(ACLAction$inboundSchema)),
  connectLogs: types.optional(z.array(ACLAction$inboundSchema)),
  connexClient: types.optional(z.array(ACLAction$inboundSchema)),
  connexClientProject: types.optional(z.array(ACLAction$inboundSchema)),
  connexContact: types.optional(z.array(ACLAction$inboundSchema)),
  connexInstallation: types.optional(z.array(ACLAction$inboundSchema)),
  connexToken: types.optional(z.array(ACLAction$inboundSchema)),
  buildMachineDefault: types.optional(z.array(ACLAction$inboundSchema)),
  cursorOriginInstallation: types.optional(z.array(ACLAction$inboundSchema)),
  dataCacheBillingSettings: types.optional(z.array(ACLAction$inboundSchema)),
  defaultDeploymentProtection: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentPolicy: types.optional(z.array(ACLAction$inboundSchema)),
  domain: types.optional(z.array(ACLAction$inboundSchema)),
  domainAcceptDelegation: types.optional(z.array(ACLAction$inboundSchema)),
  domainAuthCodes: types.optional(z.array(ACLAction$inboundSchema)),
  domainCertificate: types.optional(z.array(ACLAction$inboundSchema)),
  domainCheckConfig: types.optional(z.array(ACLAction$inboundSchema)),
  domainMove: types.optional(z.array(ACLAction$inboundSchema)),
  domainPurchase: types.optional(z.array(ACLAction$inboundSchema)),
  domainRecord: types.optional(z.array(ACLAction$inboundSchema)),
  domainTransferIn: types.optional(z.array(ACLAction$inboundSchema)),
  drain: types.optional(z.array(ACLAction$inboundSchema)),
  edgeConfig: types.optional(z.array(ACLAction$inboundSchema)),
  edgeConfigItem: types.optional(z.array(ACLAction$inboundSchema)),
  edgeConfigSchema: types.optional(z.array(ACLAction$inboundSchema)),
  edgeConfigToken: types.optional(z.array(ACLAction$inboundSchema)),
  endpointVerification: types.optional(z.array(ACLAction$inboundSchema)),
  event: types.optional(z.array(ACLAction$inboundSchema)),
  fileUpload: types.optional(z.array(ACLAction$inboundSchema)),
  flagsExplorerSubscription: types.optional(z.array(ACLAction$inboundSchema)),
  gitRepository: types.optional(z.array(ACLAction$inboundSchema)),
  imageOptimizationNewPrice: types.optional(z.array(ACLAction$inboundSchema)),
  integration: types.optional(z.array(ACLAction$inboundSchema)),
  integrationAccount: types.optional(z.array(ACLAction$inboundSchema)),
  integrationConfiguration: types.optional(z.array(ACLAction$inboundSchema)),
  integrationConfigurationProjects: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  integrationConfigurationRole: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  integrationConfigurationTransfer: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  integrationDeploymentAction: types.optional(z.array(ACLAction$inboundSchema)),
  integrationEvent: types.optional(z.array(ACLAction$inboundSchema)),
  integrationLog: types.optional(z.array(ACLAction$inboundSchema)),
  integrationResource: types.optional(z.array(ACLAction$inboundSchema)),
  integrationResourceData: types.optional(z.array(ACLAction$inboundSchema)),
  integrationResourceReplCommand: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  integrationResourceSecrets: types.optional(z.array(ACLAction$inboundSchema)),
  integrationSSOSession: types.optional(z.array(ACLAction$inboundSchema)),
  integrationStrict: types.optional(z.array(ACLAction$inboundSchema)),
  integrationStoreTokenSet: types.optional(z.array(ACLAction$inboundSchema)),
  integrationVercelConfigurationOverride: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  integrationPullRequest: types.optional(z.array(ACLAction$inboundSchema)),
  ipBlocking: types.optional(z.array(ACLAction$inboundSchema)),
  jobGlobal: types.optional(z.array(ACLAction$inboundSchema)),
  kmsIssuer: types.optional(z.array(ACLAction$inboundSchema)),
  kmsProjectGrant: types.optional(z.array(ACLAction$inboundSchema)),
  logDrain: types.optional(z.array(ACLAction$inboundSchema)),
  marketplaceBillingData: types.optional(z.array(ACLAction$inboundSchema)),
  marketplaceExperimentationEdgeConfigData: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  marketplaceExperimentationItem: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  marketplaceFlexCommit: types.optional(z.array(ACLAction$inboundSchema)),
  marketplaceInstallationMember: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  marketplaceInvoice: types.optional(z.array(ACLAction$inboundSchema)),
  marketplaceSettings: types.optional(z.array(ACLAction$inboundSchema)),
  Monitoring: types.optional(z.array(ACLAction$inboundSchema)),
  monitoringAlert: types.optional(z.array(ACLAction$inboundSchema)),
  monitoringChart: types.optional(z.array(ACLAction$inboundSchema)),
  monitoringQuery: types.optional(z.array(ACLAction$inboundSchema)),
  monitoringSettings: types.optional(z.array(ACLAction$inboundSchema)),
  notificationCustomerBudget: types.optional(z.array(ACLAction$inboundSchema)),
  notificationDeploymentFailed: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  notificationDomainConfiguration: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  notificationDomainExpire: types.optional(z.array(ACLAction$inboundSchema)),
  notificationDomainMoved: types.optional(z.array(ACLAction$inboundSchema)),
  notificationDomainPurchase: types.optional(z.array(ACLAction$inboundSchema)),
  notificationDomainRenewal: types.optional(z.array(ACLAction$inboundSchema)),
  notificationDomainTransfer: types.optional(z.array(ACLAction$inboundSchema)),
  notificationDomainUnverified: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  NotificationMonitoringAlert: types.optional(z.array(ACLAction$inboundSchema)),
  notificationPaymentFailed: types.optional(z.array(ACLAction$inboundSchema)),
  notificationPreferences: types.optional(z.array(ACLAction$inboundSchema)),
  notificationStatementOfReasons: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  notificationUsageAlert: types.optional(z.array(ACLAction$inboundSchema)),
  oidcFederationPolicy: types.optional(z.array(ACLAction$inboundSchema)),
  observabilityConfiguration: types.optional(z.array(ACLAction$inboundSchema)),
  observabilityFunnel: types.optional(z.array(ACLAction$inboundSchema)),
  observabilityNotebook: types.optional(z.array(ACLAction$inboundSchema)),
  openTelemetryEndpoint: types.optional(z.array(ACLAction$inboundSchema)),
  ownEvent: types.optional(z.array(ACLAction$inboundSchema)),
  organization: types.optional(z.array(ACLAction$inboundSchema)),
  organizationDomain: types.optional(z.array(ACLAction$inboundSchema)),
  organizationTeam: types.optional(z.array(ACLAction$inboundSchema)),
  passwordProtectionInvoiceItem: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  paymentMethod: types.optional(z.array(ACLAction$inboundSchema)),
  permissions: types.optional(z.array(ACLAction$inboundSchema)),
  postgres: types.optional(z.array(ACLAction$inboundSchema)),
  postgresStoreTokenSet: types.optional(z.array(ACLAction$inboundSchema)),
  previewDeploymentSuffix: types.optional(z.array(ACLAction$inboundSchema)),
  privateCloudAccount: types.optional(z.array(ACLAction$inboundSchema)),
  projectTransferIn: types.optional(z.array(ACLAction$inboundSchema)),
  projectTransferRequest: types.optional(z.array(ACLAction$inboundSchema)),
  proTrialOnboarding: types.optional(z.array(ACLAction$inboundSchema)),
  rateLimit: types.optional(z.array(ACLAction$inboundSchema)),
  redis: types.optional(z.array(ACLAction$inboundSchema)),
  redisStoreTokenSet: types.optional(z.array(ACLAction$inboundSchema)),
  remoteCaching: types.optional(z.array(ACLAction$inboundSchema)),
  repository: types.optional(z.array(ACLAction$inboundSchema)),
  samlConfig: types.optional(z.array(ACLAction$inboundSchema)),
  secret: types.optional(z.array(ACLAction$inboundSchema)),
  securityConfig: types.optional(z.array(ACLAction$inboundSchema)),
  sensitiveEnvironmentVariablePolicy: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  sharedEnvVars: types.optional(z.array(ACLAction$inboundSchema)),
  sharedEnvVarsProduction: types.optional(z.array(ACLAction$inboundSchema)),
  space: types.optional(z.array(ACLAction$inboundSchema)),
  spaceRun: types.optional(z.array(ACLAction$inboundSchema)),
  storeIsLocked: types.optional(z.array(ACLAction$inboundSchema)),
  storeTokenSetSensitive: types.optional(z.array(ACLAction$inboundSchema)),
  storeTransfer: types.optional(z.array(ACLAction$inboundSchema)),
  supportCase: types.optional(z.array(ACLAction$inboundSchema)),
  supportCaseComment: types.optional(z.array(ACLAction$inboundSchema)),
  team: types.optional(z.array(ACLAction$inboundSchema)),
  teamAccessRequest: types.optional(z.array(ACLAction$inboundSchema)),
  teamFellowMembership: types.optional(z.array(ACLAction$inboundSchema)),
  teamGitExclusivity: types.optional(z.array(ACLAction$inboundSchema)),
  teamInvite: types.optional(z.array(ACLAction$inboundSchema)),
  teamInviteCode: types.optional(z.array(ACLAction$inboundSchema)),
  teamInviteLink: types.optional(z.array(ACLAction$inboundSchema)),
  teamJoin: types.optional(z.array(ACLAction$inboundSchema)),
  teamMemberMfaStatus: types.optional(z.array(ACLAction$inboundSchema)),
  teamMicrofrontends: types.optional(z.array(ACLAction$inboundSchema)),
  teamOwnMembership: types.optional(z.array(ACLAction$inboundSchema)),
  teamOwnMembershipDisconnectSAML: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  teamSudo: types.optional(z.array(ACLAction$inboundSchema)),
  teamTokenInvalidation: types.optional(z.array(ACLAction$inboundSchema)),
  token: types.optional(z.array(ACLAction$inboundSchema)),
  toolbarComment: types.optional(z.array(ACLAction$inboundSchema)),
  usage: types.optional(z.array(ACLAction$inboundSchema)),
  usageCycle: types.optional(z.array(ACLAction$inboundSchema)),
  vcrRepository: types.optional(z.array(ACLAction$inboundSchema)),
  vpcPeeringConnection: types.optional(z.array(ACLAction$inboundSchema)),
  webAnalyticsPlan: types.optional(z.array(ACLAction$inboundSchema)),
  webhook: types.optional(z.array(ACLAction$inboundSchema)),
  "webhook-event": types.optional(z.array(ACLAction$inboundSchema)),
  aliasProject: types.optional(z.array(ACLAction$inboundSchema)),
  aliasProtectionBypass: types.optional(z.array(ACLAction$inboundSchema)),
  bulkRedirects: types.optional(z.array(ACLAction$inboundSchema)),
  buildMachine: types.optional(z.array(ACLAction$inboundSchema)),
  connectConfigurationLink: types.optional(z.array(ACLAction$inboundSchema)),
  dataCacheNamespace: types.optional(z.array(ACLAction$inboundSchema)),
  deployment: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentBuildLogs: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentCheck: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentCheckPreview: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentCheckReRunFromProductionBranch: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  deploymentProductionGit: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentV0: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentPreview: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentPrivate: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentPromote: types.optional(z.array(ACLAction$inboundSchema)),
  deploymentRollback: types.optional(z.array(ACLAction$inboundSchema)),
  edgeCacheNamespace: types.optional(z.array(ACLAction$inboundSchema)),
  environments: types.optional(z.array(ACLAction$inboundSchema)),
  job: types.optional(z.array(ACLAction$inboundSchema)),
  logs: types.optional(z.array(ACLAction$inboundSchema)),
  logsPreset: types.optional(z.array(ACLAction$inboundSchema)),
  observabilityData: types.optional(z.array(ACLAction$inboundSchema)),
  onDemandBuild: types.optional(z.array(ACLAction$inboundSchema)),
  onDemandConcurrency: types.optional(z.array(ACLAction$inboundSchema)),
  optionsAllowlist: types.optional(z.array(ACLAction$inboundSchema)),
  passwordProtection: types.optional(z.array(ACLAction$inboundSchema)),
  privateLinkEndpoint: types.optional(z.array(ACLAction$inboundSchema)),
  productionAliasProtectionBypass: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  productionShareableLink: types.optional(z.array(ACLAction$inboundSchema)),
  project: types.optional(z.array(ACLAction$inboundSchema)),
  projectAccessGroup: types.optional(z.array(ACLAction$inboundSchema)),
  projectAnalyticsSampling: types.optional(z.array(ACLAction$inboundSchema)),
  projectAnalyticsUsage: types.optional(z.array(ACLAction$inboundSchema)),
  projectCheck: types.optional(z.array(ACLAction$inboundSchema)),
  projectCheckRun: types.optional(z.array(ACLAction$inboundSchema)),
  projectDeploymentExpiration: types.optional(z.array(ACLAction$inboundSchema)),
  projectDeploymentHook: types.optional(z.array(ACLAction$inboundSchema)),
  projectDeploymentProtectionStrict: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  projectDomain: types.optional(z.array(ACLAction$inboundSchema)),
  projectDomainCheckConfig: types.optional(z.array(ACLAction$inboundSchema)),
  projectDomainMove: types.optional(z.array(ACLAction$inboundSchema)),
  projectDomainVerify: types.optional(z.array(ACLAction$inboundSchema)),
  projectEvent: types.optional(z.array(ACLAction$inboundSchema)),
  projectEnvVars: types.optional(z.array(ACLAction$inboundSchema)),
  projectEnvVarsProduction: types.optional(z.array(ACLAction$inboundSchema)),
  projectEnvVarsUnownedByIntegration: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  projectFlags: types.optional(z.array(ACLAction$inboundSchema)),
  projectFlagsProduction: types.optional(z.array(ACLAction$inboundSchema)),
  projectFlagsSdkKey: types.optional(z.array(ACLAction$inboundSchema)),
  projectFromV0: types.optional(z.array(ACLAction$inboundSchema)),
  projectId: types.optional(z.array(ACLAction$inboundSchema)),
  projectIntegrationConfiguration: types.optional(
    z.array(ACLAction$inboundSchema),
  ),
  projectLink: types.optional(z.array(ACLAction$inboundSchema)),
  projectMember: types.optional(z.array(ACLAction$inboundSchema)),
  projectMonitoring: types.optional(z.array(ACLAction$inboundSchema)),
  projectOIDCToken: types.optional(z.array(ACLAction$inboundSchema)),
  projectPermissions: types.optional(z.array(ACLAction$inboundSchema)),
  projectProductionBranch: types.optional(z.array(ACLAction$inboundSchema)),
  projectProtectionBypass: types.optional(z.array(ACLAction$inboundSchema)),
  projectRollingRelease: types.optional(z.array(ACLAction$inboundSchema)),
  projectRoutes: types.optional(z.array(ACLAction$inboundSchema)),
  projectSupportCase: types.optional(z.array(ACLAction$inboundSchema)),
  projectSupportCaseComment: types.optional(z.array(ACLAction$inboundSchema)),
  projectTier: types.optional(z.array(ACLAction$inboundSchema)),
  projectTransfer: types.optional(z.array(ACLAction$inboundSchema)),
  projectTransferOut: types.optional(z.array(ACLAction$inboundSchema)),
  projectUsage: types.optional(z.array(ACLAction$inboundSchema)),
  pageIntegrity: types.optional(z.array(ACLAction$inboundSchema)),
  seawallConfig: types.optional(z.array(ACLAction$inboundSchema)),
  securityPlusConfiguration: types.optional(z.array(ACLAction$inboundSchema)),
  shareableLink: types.optional(z.array(ACLAction$inboundSchema)),
  shareableLinkStrict: types.optional(z.array(ACLAction$inboundSchema)),
  sharedEnvVarConnection: types.optional(z.array(ACLAction$inboundSchema)),
  skewProtection: types.optional(z.array(ACLAction$inboundSchema)),
  analytics: types.optional(z.array(ACLAction$inboundSchema)),
  trustedIps: types.optional(z.array(ACLAction$inboundSchema)),
  trustedSources: types.optional(z.array(ACLAction$inboundSchema)),
  v0Chat: types.optional(z.array(ACLAction$inboundSchema)),
  vercelAuth: types.optional(z.array(ACLAction$inboundSchema)),
  vercelRun: types.optional(z.array(ACLAction$inboundSchema)),
  webAnalytics: types.optional(z.array(ACLAction$inboundSchema)),
  workflowRunData: types.optional(z.array(ACLAction$inboundSchema)),
}).transform((v) => {
  return remap$(v, {
    "Monitoring": "monitoring",
    "NotificationMonitoringAlert": "notificationMonitoringAlert",
    "webhook-event": "webhookEvent",
    "projectFlagsSdkKey": "projectFlagsSDKKey",
  });
});

export function updateMicrofrontendsPermissionsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsPermissions, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsPermissions$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsPermissions' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsLastRollbackTarget$inboundSchema: z.ZodType<
  UpdateMicrofrontendsLastRollbackTarget,
  z.ZodTypeDef,
  unknown
> = z.object({});

export function updateMicrofrontendsLastRollbackTargetFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsLastRollbackTarget, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsLastRollbackTarget$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsLastRollbackTarget' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsJobStatus$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsJobStatus
> = z.nativeEnum(UpdateMicrofrontendsJobStatus);

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONType$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONType
  > = z.nativeEnum(UpdateMicrofrontendsProjectsResponse200ApplicationJSONType);

/** @internal */
export const UpdateMicrofrontendsLastAliasRequest$inboundSchema: z.ZodType<
  UpdateMicrofrontendsLastAliasRequest,
  z.ZodTypeDef,
  unknown
> = z.object({
  fromDeploymentId: types.nullable(types.string()),
  toDeploymentId: types.string(),
  fromRollingReleaseId: types.optional(types.string()),
  jobStatus: UpdateMicrofrontendsJobStatus$inboundSchema,
  requestedAt: types.number(),
  type:
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONType$inboundSchema,
});

export function updateMicrofrontendsLastAliasRequestFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsLastAliasRequest, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsLastAliasRequest$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsLastAliasRequest' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProtectionBypass2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProtectionBypass2,
  z.ZodTypeDef,
  unknown
> = z.object({
  createdAt: types.number(),
  createdBy: types.string(),
  scope: types.literal("automation-bypass"),
  isEnvVar: types.optional(types.boolean()),
  note: types.optional(types.string()),
});

export function updateMicrofrontendsProtectionBypass2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProtectionBypass2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProtectionBypass2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProtectionBypass2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProtectionBypass1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProtectionBypass1,
  z.ZodTypeDef,
  unknown
> = z.object({
  createdAt: types.number(),
  createdBy: types.string(),
  scope: types.literal("integration-automation-bypass"),
  integrationId: types.string(),
  configurationId: types.string(),
});

export function updateMicrofrontendsProtectionBypass1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProtectionBypass1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProtectionBypass1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProtectionBypass1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProtectionBypass$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProtectionBypass,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsProtectionBypass1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsProtectionBypass2$inboundSchema),
]);

export function updateMicrofrontendsProtectionBypassFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProtectionBypass, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProtectionBypass$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProtectionBypass' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsTrustedIpsProjectsDeploymentType$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsTrustedIpsProjectsDeploymentType> =
    z.nativeEnum(UpdateMicrofrontendsTrustedIpsProjectsDeploymentType);

/** @internal */
export const UpdateMicrofrontendsTrustedIps2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTrustedIps2,
  z.ZodTypeDef,
  unknown
> = z.object({
  deploymentType:
    UpdateMicrofrontendsTrustedIpsProjectsDeploymentType$inboundSchema,
});

export function updateMicrofrontendsTrustedIps2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTrustedIps2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsTrustedIps2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTrustedIps2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsTrustedIpsDeploymentType$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsTrustedIpsDeploymentType> = z
    .nativeEnum(UpdateMicrofrontendsTrustedIpsDeploymentType);

/** @internal */
export const UpdateMicrofrontendsTrustedIpsAddresses$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTrustedIpsAddresses,
  z.ZodTypeDef,
  unknown
> = z.object({
  value: types.string(),
  note: types.optional(types.string()),
});

export function updateMicrofrontendsTrustedIpsAddressesFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsTrustedIpsAddresses,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsTrustedIpsAddresses$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsTrustedIpsAddresses' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsTrustedIpsProtectionMode$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsTrustedIpsProtectionMode> = z
    .nativeEnum(UpdateMicrofrontendsTrustedIpsProtectionMode);

/** @internal */
export const UpdateMicrofrontendsTrustedIps1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTrustedIps1,
  z.ZodTypeDef,
  unknown
> = z.object({
  deploymentType: UpdateMicrofrontendsTrustedIpsDeploymentType$inboundSchema,
  addresses: z.array(
    z.lazy(() => UpdateMicrofrontendsTrustedIpsAddresses$inboundSchema),
  ),
  protectionMode: UpdateMicrofrontendsTrustedIpsProtectionMode$inboundSchema,
});

export function updateMicrofrontendsTrustedIps1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTrustedIps1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsTrustedIps1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTrustedIps1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsTrustedIps$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTrustedIps,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() => UpdateMicrofrontendsTrustedIps1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsTrustedIps2$inboundSchema),
]);

export function updateMicrofrontendsTrustedIpsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTrustedIps, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsTrustedIps$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTrustedIps' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsFromProjectsPreset$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsFromProjectsPreset> = z.nativeEnum(
    UpdateMicrofrontendsFromProjectsPreset,
  );

/** @internal */
export const UpdateMicrofrontendsFrom2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsFrom2,
  z.ZodTypeDef,
  unknown
> = z.object({
  slugs: types.optional(z.array(types.string())),
  preset: UpdateMicrofrontendsFromProjectsPreset$inboundSchema,
});

export function updateMicrofrontendsFrom2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsFrom2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsFrom2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsFrom2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsFromPreset$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsFromPreset
> = z.nativeEnum(UpdateMicrofrontendsFromPreset);

/** @internal */
export const UpdateMicrofrontendsFrom1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsFrom1,
  z.ZodTypeDef,
  unknown
> = z.object({
  slugs: z.array(types.string()),
  preset: types.optional(UpdateMicrofrontendsFromPreset$inboundSchema),
});

export function updateMicrofrontendsFrom1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsFrom1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsFrom1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsFrom1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsFrom$inboundSchema: z.ZodType<
  UpdateMicrofrontendsFrom,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() => UpdateMicrofrontendsFrom1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsFrom2$inboundSchema),
]);

export function updateMicrofrontendsFromFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsFrom, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsFrom$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsFrom' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsToProjectsResponse200Preset$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsToProjectsResponse200Preset> = z
    .nativeEnum(UpdateMicrofrontendsToProjectsResponse200Preset);

/** @internal */
export const UpdateMicrofrontendsToProjects2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsToProjects2,
  z.ZodTypeDef,
  unknown
> = z.object({
  slugs: types.optional(z.array(types.string())),
  preset: UpdateMicrofrontendsToProjectsResponse200Preset$inboundSchema,
});

export function updateMicrofrontendsToProjects2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsToProjects2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsToProjects2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsToProjects2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsToProjectsResponsePreset$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsToProjectsResponsePreset> = z
    .nativeEnum(UpdateMicrofrontendsToProjectsResponsePreset);

/** @internal */
export const UpdateMicrofrontendsToProjects1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsToProjects1,
  z.ZodTypeDef,
  unknown
> = z.object({
  slugs: z.array(types.string()),
  preset: types.optional(
    UpdateMicrofrontendsToProjectsResponsePreset$inboundSchema,
  ),
});

export function updateMicrofrontendsToProjects1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsToProjects1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsToProjects1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsToProjects1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsTo$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjectsTo,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() => UpdateMicrofrontendsToProjects1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsToProjects2$inboundSchema),
]);

export function updateMicrofrontendsProjectsToFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProjectsTo, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsProjectsTo$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProjectsTo' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsCustomAllow$inboundSchema: z.ZodType<
  UpdateMicrofrontendsCustomAllow,
  z.ZodTypeDef,
  unknown
> = z.object({
  from: smartUnion([
    z.lazy(() => UpdateMicrofrontendsFrom1$inboundSchema),
    z.lazy(() => UpdateMicrofrontendsFrom2$inboundSchema),
  ]),
  to: smartUnion([
    z.lazy(() => UpdateMicrofrontendsToProjects1$inboundSchema),
    z.lazy(() => UpdateMicrofrontendsToProjects2$inboundSchema),
  ]),
});

export function updateMicrofrontendsCustomAllowFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsCustomAllow, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsCustomAllow$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsCustomAllow' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjects$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjects,
  z.ZodTypeDef,
  unknown
> = z.object({
  label: types.optional(types.string()),
  customAllow: types.optional(
    z.array(z.lazy(() => UpdateMicrofrontendsCustomAllow$inboundSchema)),
  ),
});

export function updateMicrofrontendsProjectsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProjects, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsProjects$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProjects' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsToProjectsPreset$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsToProjectsPreset> = z.nativeEnum(
    UpdateMicrofrontendsToProjectsPreset,
  );

/** @internal */
export const UpdateMicrofrontendsTo2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTo2,
  z.ZodTypeDef,
  unknown
> = z.object({
  slugs: types.optional(z.array(types.string())),
  preset: UpdateMicrofrontendsToProjectsPreset$inboundSchema,
});

export function updateMicrofrontendsTo2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTo2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsTo2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTo2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsToPreset$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsToPreset
> = z.nativeEnum(UpdateMicrofrontendsToPreset);

/** @internal */
export const UpdateMicrofrontendsTo1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTo1,
  z.ZodTypeDef,
  unknown
> = z.object({
  slugs: z.array(types.string()),
  preset: types.optional(UpdateMicrofrontendsToPreset$inboundSchema),
});

export function updateMicrofrontendsTo1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTo1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsTo1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTo1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsTo$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTo,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() => UpdateMicrofrontendsTo1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsTo2$inboundSchema),
]);

export function updateMicrofrontendsToFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTo, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsTo$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTo' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsOidcProviders$inboundSchema: z.ZodType<
  UpdateMicrofrontendsOidcProviders,
  z.ZodTypeDef,
  unknown
> = z.object({
  to: smartUnion([
    z.lazy(() => UpdateMicrofrontendsTo1$inboundSchema),
    z.lazy(() => UpdateMicrofrontendsTo2$inboundSchema),
  ]),
  label: types.optional(types.string()),
  claims: z.record(z.array(types.string())),
});

export function updateMicrofrontendsOidcProvidersFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsOidcProviders, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsOidcProviders$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsOidcProviders' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsTrustedSources$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTrustedSources,
  z.ZodTypeDef,
  unknown
> = z.object({
  enableVercelCiSameRepository: types.optional(types.boolean()),
  projects: types.optional(
    z.record(z.lazy(() => UpdateMicrofrontendsProjects$inboundSchema)),
  ),
  oidcProviders: types.optional(
    z.record(z.array(z.lazy(() =>
      UpdateMicrofrontendsOidcProviders$inboundSchema
    ))),
  ),
});

export function updateMicrofrontendsTrustedSourcesFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTrustedSources, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsTrustedSources$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTrustedSources' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsGitComments$inboundSchema: z.ZodType<
  UpdateMicrofrontendsGitComments,
  z.ZodTypeDef,
  unknown
> = z.object({
  onPullRequest: types.boolean(),
  onCommit: types.boolean(),
});

export function updateMicrofrontendsGitCommentsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsGitComments, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsGitComments$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsGitComments' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsCreateDeployments$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsCreateDeployments> = z.nativeEnum(
    UpdateMicrofrontendsCreateDeployments,
  );

/** @internal */
export const UpdateMicrofrontendsConsolidatedGitCommitStatus$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsConsolidatedGitCommitStatus,
    z.ZodTypeDef,
    unknown
  > = z.object({
    enabled: types.boolean(),
    propagateFailures: types.boolean(),
  });

export function updateMicrofrontendsConsolidatedGitCommitStatusFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsConsolidatedGitCommitStatus,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsConsolidatedGitCommitStatus$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsConsolidatedGitCommitStatus' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsGitProviderOptions$inboundSchema: z.ZodType<
  UpdateMicrofrontendsGitProviderOptions,
  z.ZodTypeDef,
  unknown
> = z.object({
  createDeployments: UpdateMicrofrontendsCreateDeployments$inboundSchema,
  disableRepositoryDispatchEvents: types.optional(types.boolean()),
  requireVerifiedCommits: types.optional(types.boolean()),
  gitCommitStatus: types.optional(types.boolean()),
  consolidatedGitCommitStatus: types.optional(
    z.lazy(() => UpdateMicrofrontendsConsolidatedGitCommitStatus$inboundSchema),
  ),
});

export function updateMicrofrontendsGitProviderOptionsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsGitProviderOptions, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsGitProviderOptions$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsGitProviderOptions' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsWebAnalytics$inboundSchema: z.ZodType<
  UpdateMicrofrontendsWebAnalytics,
  z.ZodTypeDef,
  unknown
> = 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 updateMicrofrontendsWebAnalyticsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsWebAnalytics, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsWebAnalytics$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsWebAnalytics' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsAction$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsProjectsAction
> = z.nativeEnum(UpdateMicrofrontendsProjectsAction);

/** @internal */
export const UpdateMicrofrontendsAlgo$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsAlgo
> = z.nativeEnum(UpdateMicrofrontendsAlgo);

/** @internal */
export const UpdateMicrofrontendsRateLimit$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRateLimit,
  z.ZodTypeDef,
  unknown
> = z.object({
  algo: UpdateMicrofrontendsAlgo$inboundSchema,
  window: types.number(),
  limit: types.number(),
  keys: z.array(types.string()),
});

export function updateMicrofrontendsRateLimitFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRateLimit, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsRateLimit$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRateLimit' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRedirect$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRedirect,
  z.ZodTypeDef,
  unknown
> = z.object({
  location: types.string(),
  permanent: types.boolean(),
});

export function updateMicrofrontendsRedirectFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRedirect, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsRedirect$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRedirect' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsLogHeadersProjects2$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsLogHeadersProjects2> = z
    .nativeEnum(UpdateMicrofrontendsLogHeadersProjects2);

/** @internal */
export const UpdateMicrofrontendsProjectsLogHeaders$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjectsLogHeaders,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.array(types.string()),
  UpdateMicrofrontendsLogHeadersProjects2$inboundSchema,
]);

export function updateMicrofrontendsProjectsLogHeadersFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsProjectsLogHeaders, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsLogHeaders$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsProjectsLogHeaders' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRulesets$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRulesets,
  z.ZodTypeDef,
  unknown
> = z.object({
  action: UpdateMicrofrontendsProjectsAction$inboundSchema,
  rateLimit: z.nullable(
    z.lazy(() => UpdateMicrofrontendsRateLimit$inboundSchema),
  ).optional(),
  redirect: z.nullable(z.lazy(() => UpdateMicrofrontendsRedirect$inboundSchema))
    .optional(),
  actionDuration: z.nullable(types.string()).optional(),
  bypassSystem: z.nullable(types.boolean()).optional(),
  logHeaders: types.optional(
    smartUnion([
      z.array(types.string()),
      UpdateMicrofrontendsLogHeadersProjects2$inboundSchema,
    ]),
  ),
});

export function updateMicrofrontendsRulesetsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRulesets, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsRulesets$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRulesets' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction
  > = z.nativeEnum(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction,
  );

/** @internal */
export const UpdateMicrofrontendsVercelRuleset$inboundSchema: z.ZodType<
  UpdateMicrofrontendsVercelRuleset,
  z.ZodTypeDef,
  unknown
> = z.object({
  active: types.boolean(),
  action: types.optional(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesAction$inboundSchema,
  ),
});

export function updateMicrofrontendsVercelRulesetFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsVercelRuleset, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsVercelRuleset$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsVercelRuleset' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction
  > = z.nativeEnum(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction,
  );

/** @internal */
export const UpdateMicrofrontendsTrafficSources$inboundSchema: z.ZodType<
  UpdateMicrofrontendsTrafficSources,
  z.ZodTypeDef,
  unknown
> = z.object({
  active: types.boolean(),
  action: types.optional(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesTrafficSourcesAction$inboundSchema,
  ),
});

export function updateMicrofrontendsTrafficSourcesFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsTrafficSources, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsTrafficSources$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsTrafficSources' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction
  > = z.nativeEnum(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction,
  );

/** @internal */
export const UpdateMicrofrontendsBotFilter$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBotFilter,
  z.ZodTypeDef,
  unknown
> = z.object({
  active: types.boolean(),
  action: types.optional(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityManagedRulesBotFilterAction$inboundSchema,
  ),
});

export function updateMicrofrontendsBotFilterFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBotFilter, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsBotFilter$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBotFilter' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction
  > = z.nativeEnum(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction,
  );

/** @internal */
export const UpdateMicrofrontendsAiBots$inboundSchema: z.ZodType<
  UpdateMicrofrontendsAiBots,
  z.ZodTypeDef,
  unknown
> = z.object({
  active: types.boolean(),
  action: types.optional(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodyAction$inboundSchema,
  ),
});

export function updateMicrofrontendsAiBotsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsAiBots, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsAiBots$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsAiBots' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction$inboundSchema:
  z.ZodNativeEnum<
    typeof UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction
  > = z.nativeEnum(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction,
  );

/** @internal */
export const UpdateMicrofrontendsOwasp$inboundSchema: z.ZodType<
  UpdateMicrofrontendsOwasp,
  z.ZodTypeDef,
  unknown
> = z.object({
  active: types.boolean(),
  action: types.optional(
    UpdateMicrofrontendsProjectsResponse200ApplicationJSONResponseBodySecurityAction$inboundSchema,
  ),
});

export function updateMicrofrontendsOwaspFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsOwasp, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsOwasp$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsOwasp' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsManagedRules$inboundSchema: z.ZodType<
  UpdateMicrofrontendsManagedRules,
  z.ZodTypeDef,
  unknown
> = z.object({
  vercel_ruleset: z.lazy(() => UpdateMicrofrontendsVercelRuleset$inboundSchema),
  traffic_sources: z.lazy(() =>
    UpdateMicrofrontendsTrafficSources$inboundSchema
  ),
  bot_filter: z.lazy(() => UpdateMicrofrontendsBotFilter$inboundSchema),
  ai_bots: z.lazy(() => UpdateMicrofrontendsAiBots$inboundSchema),
  owasp: z.lazy(() => UpdateMicrofrontendsOwasp$inboundSchema),
}).transform((v) => {
  return remap$(v, {
    "vercel_ruleset": "vercelRuleset",
    "traffic_sources": "trafficSources",
    "bot_filter": "botFilter",
    "ai_bots": "aiBots",
  });
});

export function updateMicrofrontendsManagedRulesFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsManagedRules, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsManagedRules$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsManagedRules' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsLogHeaders2$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsLogHeaders2
> = z.nativeEnum(UpdateMicrofrontendsLogHeaders2);

/** @internal */
export const UpdateMicrofrontendsLogHeaders$inboundSchema: z.ZodType<
  UpdateMicrofrontendsLogHeaders,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.array(types.string()),
  UpdateMicrofrontendsLogHeaders2$inboundSchema,
]);

export function updateMicrofrontendsLogHeadersFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsLogHeaders, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsLogHeaders$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsLogHeaders' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsSecurityPlusMetadata$inboundSchema: z.ZodType<
  UpdateMicrofrontendsSecurityPlusMetadata,
  z.ZodTypeDef,
  unknown
> = z.object({
  updatedAt: types.number(),
  firstEnabledAt: types.optional(types.number()),
});

export function updateMicrofrontendsSecurityPlusMetadataFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsSecurityPlusMetadata,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsSecurityPlusMetadata$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsSecurityPlusMetadata' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsSecurity$inboundSchema: z.ZodType<
  UpdateMicrofrontendsSecurity,
  z.ZodTypeDef,
  unknown
> = 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()),
  rulesets: types.optional(
    z.record(z.lazy(() => UpdateMicrofrontendsRulesets$inboundSchema)),
  ),
  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(() => UpdateMicrofrontendsManagedRules$inboundSchema),
  ).optional(),
  botIdEnabled: types.optional(types.boolean()),
  log_headers: types.optional(
    smartUnion([
      z.array(types.string()),
      UpdateMicrofrontendsLogHeaders2$inboundSchema,
    ]),
  ),
  securityPlus: types.optional(types.boolean()),
  securityPlusMetadata: types.optional(
    z.lazy(() => UpdateMicrofrontendsSecurityPlusMetadata$inboundSchema),
  ),
  pageIntegrityEnabled: types.optional(types.boolean()),
}).transform((v) => {
  return remap$(v, {
    "log_headers": "logHeaders",
  });
});

export function updateMicrofrontendsSecurityFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsSecurity, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsSecurity$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsSecurity' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsIssuerMode$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsIssuerMode
> = z.nativeEnum(UpdateMicrofrontendsIssuerMode);

/** @internal */
export const UpdateMicrofrontendsOidcTokenConfig$inboundSchema: z.ZodType<
  UpdateMicrofrontendsOidcTokenConfig,
  z.ZodTypeDef,
  unknown
> = z.object({
  enabled: types.optional(types.boolean()),
  issuerMode: types.optional(UpdateMicrofrontendsIssuerMode$inboundSchema),
});

export function updateMicrofrontendsOidcTokenConfigFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsOidcTokenConfig, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsOidcTokenConfig$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsOidcTokenConfig' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsSources2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsSources2,
  z.ZodTypeDef,
  unknown
> = z.object({
  provider: types.literal("gitlab"),
  namespace: types.string(),
  project: types.optional(types.string()),
});

export function updateMicrofrontendsSources2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsSources2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsSources2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsSources2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsSourcesProvider$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsSourcesProvider
> = z.nativeEnum(UpdateMicrofrontendsSourcesProvider);

/** @internal */
export const UpdateMicrofrontendsSources1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsSources1,
  z.ZodTypeDef,
  unknown
> = z.object({
  provider: UpdateMicrofrontendsSourcesProvider$inboundSchema,
  org: types.string(),
  repo: types.optional(types.string()),
});

export function updateMicrofrontendsSources1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsSources1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsSources1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsSources1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsSources$inboundSchema: z.ZodType<
  UpdateMicrofrontendsSources,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsSources1$inboundSchema).and(
    z.object({ provider: z.literal("bitbucket") }),
  ),
  z.lazy(() => UpdateMicrofrontendsSources1$inboundSchema).and(
    z.object({ provider: z.literal("github") }),
  ),
  z.lazy(() => UpdateMicrofrontendsSources2$inboundSchema),
]);

export function updateMicrofrontendsSourcesFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsSources, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsSources$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsSources' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsEnvironments2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsEnvironments2,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("custom"),
  environmentId: types.string(),
});

export function updateMicrofrontendsEnvironments2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsEnvironments2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsEnvironments2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsEnvironments2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsEnvironmentsTarget$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsEnvironmentsTarget> = z.nativeEnum(
    UpdateMicrofrontendsEnvironmentsTarget,
  );

/** @internal */
export const UpdateMicrofrontendsEnvironments1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsEnvironments1,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("system"),
  target: UpdateMicrofrontendsEnvironmentsTarget$inboundSchema,
});

export function updateMicrofrontendsEnvironments1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsEnvironments1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsEnvironments1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsEnvironments1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsEnvironments$inboundSchema: z.ZodType<
  UpdateMicrofrontendsEnvironments,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsEnvironments1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsEnvironments2$inboundSchema),
]);

export function updateMicrofrontendsEnvironmentsFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsEnvironments, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsEnvironments$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsEnvironments' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsGitSources$inboundSchema: z.ZodType<
  UpdateMicrofrontendsGitSources,
  z.ZodTypeDef,
  unknown
> = z.object({
  sources: z.array(
    z.union([
      z.lazy(() => UpdateMicrofrontendsSources1$inboundSchema).and(
        z.object({ provider: z.literal("bitbucket") }),
      ),
      z.lazy(() => UpdateMicrofrontendsSources1$inboundSchema).and(
        z.object({ provider: z.literal("github") }),
      ),
      z.lazy(() => UpdateMicrofrontendsSources2$inboundSchema),
    ]),
  ),
  enabled: types.boolean(),
  environments: z.array(
    z.union([
      z.lazy(() => UpdateMicrofrontendsEnvironments1$inboundSchema),
      z.lazy(() => UpdateMicrofrontendsEnvironments2$inboundSchema),
    ]),
  ),
});

export function updateMicrofrontendsGitSourcesFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsGitSources, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsGitSources$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsGitSources' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsSources$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsProjectsSources
> = z.nativeEnum(UpdateMicrofrontendsProjectsSources);

/** @internal */
export const UpdateMicrofrontendsEnvironmentsProjects2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsEnvironmentsProjects2,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("custom"),
  environmentId: types.string(),
});

export function updateMicrofrontendsEnvironmentsProjects2FromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsEnvironmentsProjects2,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsEnvironmentsProjects2$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsEnvironmentsProjects2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsEnvironmentsProjectsTarget$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsEnvironmentsProjectsTarget> = z
    .nativeEnum(UpdateMicrofrontendsEnvironmentsProjectsTarget);

/** @internal */
export const UpdateMicrofrontendsEnvironmentsProjects1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsEnvironmentsProjects1,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("system"),
  target: UpdateMicrofrontendsEnvironmentsProjectsTarget$inboundSchema,
});

export function updateMicrofrontendsEnvironmentsProjects1FromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsEnvironmentsProjects1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsEnvironmentsProjects1$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsEnvironmentsProjects1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsEnvironments$inboundSchema: z.ZodType<
  UpdateMicrofrontendsProjectsEnvironments,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsEnvironmentsProjects1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsEnvironmentsProjects2$inboundSchema),
]);

export function updateMicrofrontendsProjectsEnvironmentsFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsProjectsEnvironments,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsProjectsEnvironments$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsProjectsEnvironments' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsDeploymentSources$inboundSchema: z.ZodType<
  UpdateMicrofrontendsDeploymentSources,
  z.ZodTypeDef,
  unknown
> = z.object({
  sources: z.array(UpdateMicrofrontendsProjectsSources$inboundSchema),
  enabled: types.boolean(),
  environments: z.array(
    z.union([
      z.lazy(() => UpdateMicrofrontendsEnvironmentsProjects1$inboundSchema),
      z.lazy(() => UpdateMicrofrontendsEnvironmentsProjects2$inboundSchema),
    ]),
  ),
});

export function updateMicrofrontendsDeploymentSourcesFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsDeploymentSources, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsDeploymentSources$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsDeploymentSources' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsDeploymentPolicy$inboundSchema: z.ZodType<
  UpdateMicrofrontendsDeploymentPolicy,
  z.ZodTypeDef,
  unknown
> = z.object({
  gitSources: z.nullable(
    z.array(z.lazy(() => UpdateMicrofrontendsGitSources$inboundSchema)),
  ).optional(),
  deploymentSources: z.nullable(
    z.array(z.lazy(() => UpdateMicrofrontendsDeploymentSources$inboundSchema)),
  ).optional(),
});

export function updateMicrofrontendsDeploymentPolicyFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsDeploymentPolicy, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsDeploymentPolicy$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsDeploymentPolicy' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsTier$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsTier
> = z.nativeEnum(UpdateMicrofrontendsTier);

/** @internal */
export const UpdateMicrofrontendsKind$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsKind
> = z.nativeEnum(UpdateMicrofrontendsKind);

/** @internal */
export const UpdateMicrofrontendsUsageStatus$inboundSchema: z.ZodType<
  UpdateMicrofrontendsUsageStatus,
  z.ZodTypeDef,
  unknown
> = z.object({
  kind: UpdateMicrofrontendsKind$inboundSchema,
  exceededAllowanceUntil: types.optional(types.number()),
  bypassThrottleUntil: types.optional(types.number()),
  throttled: types.optional(types.boolean()),
  teamThrottled: types.optional(types.boolean()),
});

export function updateMicrofrontendsUsageStatusFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsUsageStatus, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsUsageStatus$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsUsageStatus' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsFeatures$inboundSchema: z.ZodType<
  UpdateMicrofrontendsFeatures,
  z.ZodTypeDef,
  unknown
> = z.object({
  webAnalytics: types.optional(types.boolean()),
});

export function updateMicrofrontendsFeaturesFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsFeatures, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsFeatures$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsFeatures' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHistory$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHistory,
  z.ZodTypeDef,
  unknown
> = z.object({
  scanner: types.string(),
  reason: types.string(),
  by: types.string(),
  byId: types.string(),
  at: types.number(),
});

export function updateMicrofrontendsHistoryFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsHistory, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsHistory$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHistory' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponseAction$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsResponseAction> = z
    .nativeEnum(UpdateMicrofrontendsProjectsResponseAction);

/** @internal */
export const UpdateMicrofrontendsBlock$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBlock,
  z.ZodTypeDef,
  unknown
> = z.object({
  action: UpdateMicrofrontendsProjectsResponseAction$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 updateMicrofrontendsBlockFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBlock, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsBlock$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBlock' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjectsResponse200Value$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsHasProjectsResponse200Value,
    z.ZodTypeDef,
    unknown
  > = z.object({
    eq: types.string(),
  });

export function updateMicrofrontendsHasProjectsResponse200ValueFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsHasProjectsResponse200Value,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsHasProjectsResponse200Value$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsHasProjectsResponse200Value' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjects2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHasProjects2,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("host"),
  value: z.lazy(() =>
    UpdateMicrofrontendsHasProjectsResponse200Value$inboundSchema
  ),
});

export function updateMicrofrontendsHasProjects2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsHasProjects2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsHasProjects2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHasProjects2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjectsKey$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsHasProjectsKey
> = z.nativeEnum(UpdateMicrofrontendsHasProjectsKey);

/** @internal */
export const UpdateMicrofrontendsHasProjectsResponseValue$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsHasProjectsResponseValue,
    z.ZodTypeDef,
    unknown
  > = z.object({
    eq: types.string(),
  });

export function updateMicrofrontendsHasProjectsResponseValueFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsHasProjectsResponseValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsHasProjectsResponseValue$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsHasProjectsResponseValue' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjects1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHasProjects1,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("header"),
  key: UpdateMicrofrontendsHasProjectsKey$inboundSchema,
  value: z.lazy(() =>
    UpdateMicrofrontendsHasProjectsResponseValue$inboundSchema
  ),
});

export function updateMicrofrontendsHasProjects1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsHasProjects1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsHasProjects1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHasProjects1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRouteProjectsHas$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRouteProjectsHas,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsHasProjects1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsHasProjects2$inboundSchema),
]);

export function updateMicrofrontendsRouteProjectsHasFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRouteProjectsHas, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsRouteProjectsHas$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRouteProjectsHas' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRouteProjectsAction$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsRouteProjectsAction> = z
    .nativeEnum(UpdateMicrofrontendsRouteProjectsAction);

/** @internal */
export const UpdateMicrofrontendsRouteProjectsMitigate$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRouteProjectsMitigate,
  z.ZodTypeDef,
  unknown
> = z.object({
  action: UpdateMicrofrontendsRouteProjectsAction$inboundSchema,
});

export function updateMicrofrontendsRouteProjectsMitigateFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsRouteProjectsMitigate,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsRouteProjectsMitigate$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsRouteProjectsMitigate' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRouteProjects2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRouteProjects2,
  z.ZodTypeDef,
  unknown
> = z.object({
  has: z.array(
    z.union([
      z.lazy(() => UpdateMicrofrontendsHasProjects1$inboundSchema),
      z.lazy(() => UpdateMicrofrontendsHasProjects2$inboundSchema),
    ]),
  ),
  mitigate: z.lazy(() =>
    UpdateMicrofrontendsRouteProjectsMitigate$inboundSchema
  ),
  src: types.optional(types.string()),
});

export function updateMicrofrontendsRouteProjects2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRouteProjects2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsRouteProjects2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRouteProjects2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRouteProjects1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRouteProjects1,
  z.ZodTypeDef,
  unknown
> = z.object({
  src: types.string(),
  status: types.number(),
  expiry: types.optional(types.number()),
});

export function updateMicrofrontendsRouteProjects1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRouteProjects1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsRouteProjects1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRouteProjects1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsBlockHistoryProjectsRoute$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsBlockHistoryProjectsRoute,
    z.ZodTypeDef,
    unknown
  > = smartUnion([
    z.lazy(() => UpdateMicrofrontendsRouteProjects1$inboundSchema),
    z.lazy(() => UpdateMicrofrontendsRouteProjects2$inboundSchema),
  ]);

export function updateMicrofrontendsBlockHistoryProjectsRouteFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsBlockHistoryProjectsRoute,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsBlockHistoryProjectsRoute$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsBlockHistoryProjectsRoute' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsBlockHistory4$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBlockHistory4,
  z.ZodTypeDef,
  unknown
> = z.object({
  action: types.literal("route-unblocked"),
  route: smartUnion([
    z.lazy(() => UpdateMicrofrontendsRouteProjects1$inboundSchema),
    z.lazy(() => UpdateMicrofrontendsRouteProjects2$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 updateMicrofrontendsBlockHistory4FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBlockHistory4, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsBlockHistory4$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBlockHistory4' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue,
    z.ZodTypeDef,
    unknown
  > = z.object({
    eq: types.string(),
  });

export function updateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValueFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjectsResponse2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHasProjectsResponse2,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("host"),
  value: z.lazy(() =>
    UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONResponseBodyValue$inboundSchema
  ),
});

export function updateMicrofrontendsHasProjectsResponse2FromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsHasProjectsResponse2,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsHasProjectsResponse2$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsHasProjectsResponse2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjectsResponseKey$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsHasProjectsResponseKey> = z
    .nativeEnum(UpdateMicrofrontendsHasProjectsResponseKey);

/** @internal */
export const UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue$inboundSchema:
  z.ZodType<
    UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue,
    z.ZodTypeDef,
    unknown
  > = z.object({
    eq: types.string(),
  });

export function updateMicrofrontendsHasProjectsResponse200ApplicationJSONValueFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue$inboundSchema
        .parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjectsResponse1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHasProjectsResponse1,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("header"),
  key: UpdateMicrofrontendsHasProjectsResponseKey$inboundSchema,
  value: z.lazy(() =>
    UpdateMicrofrontendsHasProjectsResponse200ApplicationJSONValue$inboundSchema
  ),
});

export function updateMicrofrontendsHasProjectsResponse1FromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsHasProjectsResponse1,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsHasProjectsResponse1$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsHasProjectsResponse1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRouteHas$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRouteHas,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsHasProjectsResponse1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsHasProjectsResponse2$inboundSchema),
]);

export function updateMicrofrontendsRouteHasFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRouteHas, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsRouteHas$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRouteHas' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRouteAction$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsRouteAction
> = z.nativeEnum(UpdateMicrofrontendsRouteAction);

/** @internal */
export const UpdateMicrofrontendsRouteMitigate$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRouteMitigate,
  z.ZodTypeDef,
  unknown
> = z.object({
  action: UpdateMicrofrontendsRouteAction$inboundSchema,
});

export function updateMicrofrontendsRouteMitigateFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRouteMitigate, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsRouteMitigate$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRouteMitigate' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRoute2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRoute2,
  z.ZodTypeDef,
  unknown
> = z.object({
  has: z.array(
    z.union([
      z.lazy(() => UpdateMicrofrontendsHasProjectsResponse1$inboundSchema),
      z.lazy(() => UpdateMicrofrontendsHasProjectsResponse2$inboundSchema),
    ]),
  ),
  mitigate: z.lazy(() => UpdateMicrofrontendsRouteMitigate$inboundSchema),
  src: types.optional(types.string()),
});

export function updateMicrofrontendsRoute2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRoute2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsRoute2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRoute2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsRoute1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsRoute1,
  z.ZodTypeDef,
  unknown
> = z.object({
  src: types.string(),
  status: types.number(),
  expiry: types.optional(types.number()),
});

export function updateMicrofrontendsRoute1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsRoute1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsRoute1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsRoute1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsBlockHistoryRoute$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBlockHistoryRoute,
  z.ZodTypeDef,
  unknown
> = smartUnion([
  z.lazy(() => UpdateMicrofrontendsRoute1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsRoute2$inboundSchema),
]);

export function updateMicrofrontendsBlockHistoryRouteFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBlockHistoryRoute, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsBlockHistoryRoute$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBlockHistoryRoute' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsBlockHistory3$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBlockHistory3,
  z.ZodTypeDef,
  unknown
> = z.object({
  action: types.literal("route-blocked"),
  route: smartUnion([
    z.lazy(() => UpdateMicrofrontendsRoute1$inboundSchema),
    z.lazy(() => UpdateMicrofrontendsRoute2$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 updateMicrofrontendsBlockHistory3FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBlockHistory3, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsBlockHistory3$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBlockHistory3' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsBlockHistory2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBlockHistory2,
  z.ZodTypeDef,
  unknown
> = 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 updateMicrofrontendsBlockHistory2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBlockHistory2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsBlockHistory2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBlockHistory2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsBlockHistory1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBlockHistory1,
  z.ZodTypeDef,
  unknown
> = 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 updateMicrofrontendsBlockHistory1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBlockHistory1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsBlockHistory1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBlockHistory1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsBlockHistory$inboundSchema: z.ZodType<
  UpdateMicrofrontendsBlockHistory,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsBlockHistory1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsBlockHistory2$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsBlockHistory3$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsBlockHistory4$inboundSchema),
]);

export function updateMicrofrontendsBlockHistoryFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsBlockHistory, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsBlockHistory$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsBlockHistory' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsProjectsResponse200Action$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsProjectsResponse200Action> = z
    .nativeEnum(UpdateMicrofrontendsProjectsResponse200Action);

/** @internal */
export const UpdateMicrofrontendsInterstitialHistory$inboundSchema: z.ZodType<
  UpdateMicrofrontendsInterstitialHistory,
  z.ZodTypeDef,
  unknown
> = z.object({
  action: UpdateMicrofrontendsProjectsResponse200Action$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 updateMicrofrontendsInterstitialHistoryFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsInterstitialHistory,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsInterstitialHistory$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsInterstitialHistory' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsAbuse$inboundSchema: z.ZodType<
  UpdateMicrofrontendsAbuse,
  z.ZodTypeDef,
  unknown
> = z.object({
  scanner: types.optional(types.string()),
  history: z.array(z.lazy(() => UpdateMicrofrontendsHistory$inboundSchema)),
  updatedAt: types.number(),
  block: types.optional(z.lazy(() => UpdateMicrofrontendsBlock$inboundSchema)),
  blockHistory: types.optional(
    z.array(z.union([
      z.lazy(() => UpdateMicrofrontendsBlockHistory1$inboundSchema),
      z.lazy(() =>
        UpdateMicrofrontendsBlockHistory2$inboundSchema
      ),
      z.lazy(() => UpdateMicrofrontendsBlockHistory3$inboundSchema),
      z.lazy(() => UpdateMicrofrontendsBlockHistory4$inboundSchema),
    ])),
  ),
  interstitial: types.optional(types.boolean()),
  interstitialHistory: types.optional(
    z.array(
      z.lazy(() => UpdateMicrofrontendsInterstitialHistory$inboundSchema),
    ),
  ),
});

export function updateMicrofrontendsAbuseFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsAbuse, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsAbuse$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsAbuse' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasProjectsValue$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHasProjectsValue,
  z.ZodTypeDef,
  unknown
> = z.object({
  eq: types.string(),
});

export function updateMicrofrontendsHasProjectsValueFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsHasProjectsValue, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsHasProjectsValue$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHasProjectsValue' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHas2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHas2,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("host"),
  value: z.lazy(() => UpdateMicrofrontendsHasProjectsValue$inboundSchema),
});

export function updateMicrofrontendsHas2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsHas2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsHas2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHas2' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHasKey$inboundSchema: z.ZodNativeEnum<
  typeof UpdateMicrofrontendsHasKey
> = z.nativeEnum(UpdateMicrofrontendsHasKey);

/** @internal */
export const UpdateMicrofrontendsHasValue$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHasValue,
  z.ZodTypeDef,
  unknown
> = z.object({
  eq: types.string(),
});

export function updateMicrofrontendsHasValueFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsHasValue, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsHasValue$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHasValue' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsHas1$inboundSchema: z.ZodType<
  UpdateMicrofrontendsHas1,
  z.ZodTypeDef,
  unknown
> = z.object({
  type: types.literal("header"),
  key: UpdateMicrofrontendsHasKey$inboundSchema,
  value: z.lazy(() => UpdateMicrofrontendsHasValue$inboundSchema),
});

export function updateMicrofrontendsHas1FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsHas1, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) => UpdateMicrofrontendsHas1$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsHas1' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsInternalRoutesHas$inboundSchema: z.ZodType<
  UpdateMicrofrontendsInternalRoutesHas,
  z.ZodTypeDef,
  unknown
> = z.union([
  z.lazy(() => UpdateMicrofrontendsHas1$inboundSchema),
  z.lazy(() => UpdateMicrofrontendsHas2$inboundSchema),
]);

export function updateMicrofrontendsInternalRoutesHasFromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsInternalRoutesHas, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsInternalRoutesHas$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsInternalRoutesHas' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsInternalRoutesAction$inboundSchema:
  z.ZodNativeEnum<typeof UpdateMicrofrontendsInternalRoutesAction> = z
    .nativeEnum(UpdateMicrofrontendsInternalRoutesAction);

/** @internal */
export const UpdateMicrofrontendsInternalRoutesMitigate$inboundSchema:
  z.ZodType<UpdateMicrofrontendsInternalRoutesMitigate, z.ZodTypeDef, unknown> =
    z.object({
      action: UpdateMicrofrontendsInternalRoutesAction$inboundSchema,
    });

export function updateMicrofrontendsInternalRoutesMitigateFromJSON(
  jsonString: string,
): SafeParseResult<
  UpdateMicrofrontendsInternalRoutesMitigate,
  SDKValidationError
> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsInternalRoutesMitigate$inboundSchema.parse(
        JSON.parse(x),
      ),
    `Failed to parse 'UpdateMicrofrontendsInternalRoutesMitigate' from JSON`,
  );
}

/** @internal */
export const UpdateMicrofrontendsInternalRoutes2$inboundSchema: z.ZodType<
  UpdateMicrofrontendsInternalRoutes2,
  z.ZodTypeDef,
  unknown
> = z.object({
  has: z.array(
    z.union([
      z.lazy(() => UpdateMicrofrontendsHas1$inboundSchema),
      z.lazy(() => UpdateMicrofrontendsHas2$inboundSchema),
    ]),
  ),
  mitigate: z.lazy(() =>
    UpdateMicrofrontendsInternalRoutesMitigate$inboundSchema
  ),
  src: types.optional(types.string()),
});

export function updateMicrofrontendsInternalRoutes2FromJSON(
  jsonString: string,
): SafeParseResult<UpdateMicrofrontendsInternalRoutes2, SDKValidationError> {
  return safeParse(
    jsonString,
    (x) =>
      UpdateMicrofrontendsInternalRoutes2$inboundSchema.parse(JSON.parse(x)),
    `Failed to parse 'UpdateMicrofrontendsInternalRoutes2' from JSON`,
  );
}