@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>
576 lines (552 loc) • 20.6 kB
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
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 { SDKValidationError } from "./sdkvalidationerror.js";
export type GetWebhooksRequest = {
projectId?: string | undefined;
/**
* The Team identifier to perform the request on behalf of.
*/
teamId?: string | undefined;
/**
* The Team slug to perform the request on behalf of.
*/
slug?: string | undefined;
};
/**
* The webhooks events
*/
export const GetWebhooksResponseBodyEvents = {
AiGatewayAutoReloadLimitReached: "ai-gateway.auto-reload.limit-reached",
AiGatewayBalanceDepleted: "ai-gateway.balance-depleted",
AlertsTriggered: "alerts.triggered",
BotidAnomaly: "botid.anomaly",
BudgetReached: "budget.reached",
CommentCreated: "comment.created",
CommentDeleted: "comment.deleted",
CommentMentioned: "comment.mentioned",
CommentReactionAdded: "comment.reaction-added",
CommentReactionRemoved: "comment.reaction-removed",
CommentResolved: "comment.resolved",
CommentUnresolved: "comment.unresolved",
CommentUpdated: "comment.updated",
Deployment: "deployment",
DeploymentCanceledHyphen: "deployment-canceled",
DeploymentCheckRerequestedHyphen: "deployment-check-rerequested",
DeploymentChecksCompleted: "deployment-checks-completed",
DeploymentErrorHyphen: "deployment-error",
DeploymentPreparedHyphen: "deployment-prepared",
DeploymentReadyHyphen: "deployment-ready",
DeploymentBlocked: "deployment.blocked",
DeploymentBuildRequested: "deployment.build-requested",
DeploymentCanceled: "deployment.canceled",
DeploymentCheckRerequested: "deployment.check-rerequested",
DeploymentCheckrunCancel: "deployment.checkrun.cancel",
DeploymentCheckrunStart: "deployment.checkrun.start",
DeploymentChecksFailed: "deployment.checks.failed",
DeploymentChecksSucceeded: "deployment.checks.succeeded",
DeploymentCleanup: "deployment.cleanup",
DeploymentCreated: "deployment.created",
DeploymentError: "deployment.error",
DeploymentIntegrationActionCancel: "deployment.integration.action.cancel",
DeploymentIntegrationActionCleanup: "deployment.integration.action.cleanup",
DeploymentIntegrationActionStart: "deployment.integration.action.start",
DeploymentPromoted: "deployment.promoted",
DeploymentReady: "deployment.ready",
DeploymentRollback: "deployment.rollback",
DeploymentSucceeded: "deployment.succeeded",
DomainCreatedHyphen: "domain-created",
DomainAutoRenewChanged: "domain.auto-renew.changed",
DomainCertificateAdd: "domain.certificate.add",
DomainCertificateAddFailed: "domain.certificate.add.failed",
DomainCertificateDeleted: "domain.certificate.deleted",
DomainCertificateRenew: "domain.certificate.renew",
DomainCertificateRenewFailed: "domain.certificate.renew.failed",
DomainCreated: "domain.created",
DomainDnsRecordsChanged: "domain.dns.records.changed",
DomainRenewal: "domain.renewal",
DomainRenewalFailed: "domain.renewal.failed",
DomainTransferInCompleted: "domain.transfer-in.completed",
DomainTransferInFailed: "domain.transfer-in.failed",
DomainTransferInStarted: "domain.transfer-in.started",
EdgeConfigCreated: "edge-config.created",
EdgeConfigDeleted: "edge-config.deleted",
EdgeConfigItemsUpdated: "edge-config.items.updated",
FirewallAttack: "firewall.attack",
FirewallCustomRuleAnomaly: "firewall.custom-rule-anomaly",
FirewallSystemRuleAnomaly: "firewall.system-rule-anomaly",
FlagCreated: "flag.created",
FlagDeleted: "flag.deleted",
FlagSegmentCreated: "flag.segment.created",
FlagSegmentDeleted: "flag.segment.deleted",
FlagSegmentUpdated: "flag.segment.updated",
FlagUpdated: "flag.updated",
FunctionArchivalRequired: "function.archival-required",
FunctionRemovalRequired: "function.removal-required",
IntegrationConfigurationPermissionUpdatedHyphen:
"integration-configuration-permission-updated",
IntegrationConfigurationRemovedHyphen: "integration-configuration-removed",
IntegrationConfigurationScopeChangeConfirmedHyphen:
"integration-configuration-scope-change-confirmed",
IntegrationConfigurationPermissionUpgraded:
"integration-configuration.permission-upgraded",
IntegrationConfigurationRemoved: "integration-configuration.removed",
IntegrationConfigurationScopeChangeConfirmed:
"integration-configuration.scope-change-confirmed",
IntegrationConfigurationTransferred: "integration-configuration.transferred",
IntegrationResourceProjectConnected: "integration-resource.project-connected",
IntegrationResourceProjectDisconnected:
"integration-resource.project-disconnected",
MarketplaceInvoiceCreated: "marketplace.invoice.created",
MarketplaceInvoiceNotpaid: "marketplace.invoice.notpaid",
MarketplaceInvoiceOverdue: "marketplace.invoice.overdue",
MarketplaceInvoicePaid: "marketplace.invoice.paid",
MarketplaceInvoiceRefunded: "marketplace.invoice.refunded",
MarketplaceMemberChanged: "marketplace.member.changed",
MessageCreated: "message.created",
MessageDeleted: "message.deleted",
MessageMentioned: "message.mentioned",
MessageReactionAdded: "message.reaction-added",
MessageReactionRemoved: "message.reaction-removed",
MessageUpdated: "message.updated",
ObservabilityAnomaly: "observability.anomaly",
ObservabilityAnomalyError: "observability.anomaly-error",
ObservabilityErrorAnomaly: "observability.error-anomaly",
ObservabilityUsageAnomaly: "observability.usage-anomaly",
ProjectCreatedHyphen: "project-created",
ProjectRemovedHyphen: "project-removed",
ProjectCreated: "project.created",
ProjectDomainCreated: "project.domain.created",
ProjectDomainDeleted: "project.domain.deleted",
ProjectDomainMoved: "project.domain.moved",
ProjectDomainUnverified: "project.domain.unverified",
ProjectDomainUpdated: "project.domain.updated",
ProjectDomainVerified: "project.domain.verified",
ProjectEnvVariableCreated: "project.env-variable.created",
ProjectEnvVariableDeleted: "project.env-variable.deleted",
ProjectEnvVariableUpdated: "project.env-variable.updated",
ProjectRemoved: "project.removed",
ProjectRenamed: "project.renamed",
ProjectRollingReleaseAborted: "project.rolling-release.aborted",
ProjectRollingReleaseApproved: "project.rolling-release.approved",
ProjectRollingReleaseCompleted: "project.rolling-release.completed",
ProjectRollingReleaseStarted: "project.rolling-release.started",
TestWebhook: "test-webhook",
ThreadResolved: "thread.resolved",
ThreadUnresolved: "thread.unresolved",
} as const;
/**
* The webhooks events
*/
export type GetWebhooksResponseBodyEvents = ClosedEnum<
typeof GetWebhooksResponseBodyEvents
>;
export type GetWebhooksResponseBody2 = {
/**
* The webhooks events
*/
events: Array<GetWebhooksResponseBodyEvents>;
/**
* The webhook id
*/
id: string;
/**
* A string with the URL of the webhook
*/
url: string;
/**
* The unique ID of the team the webhook belongs to
*/
ownerId: string;
/**
* A number containing the date when the webhook was created in in milliseconds
*/
createdAt: number;
/**
* A number containing the date when the webhook was updated in in milliseconds
*/
updatedAt: number;
/**
* The ID of the projects the webhook is associated with
*/
projectIds?: Array<string> | undefined;
};
export const GetWebhooksResponseBodyFramework = {
ActixWeb: "actix-web",
Angular: "angular",
Ash: "ash",
Astro: "astro",
Axum: "axum",
Blitzjs: "blitzjs",
Brunch: "brunch",
Bun: "bun",
CreateReactApp: "create-react-app",
Django: "django",
Docusaurus: "docusaurus",
Docusaurus2: "docusaurus-2",
Dojo: "dojo",
Eleventy: "eleventy",
Elysia: "elysia",
Ember: "ember",
Eve: "eve",
Express: "express",
Fastapi: "fastapi",
Fasthtml: "fasthtml",
Fastify: "fastify",
Flask: "flask",
Gatsby: "gatsby",
Go: "go",
Gridsome: "gridsome",
H3: "h3",
Hexo: "hexo",
Hono: "hono",
Hugo: "hugo",
Hydrogen: "hydrogen",
IonicAngular: "ionic-angular",
IonicReact: "ionic-react",
Jekyll: "jekyll",
Koa: "koa",
Mastra: "mastra",
Middleman: "middleman",
Nestjs: "nestjs",
Nextjs: "nextjs",
Nitro: "nitro",
Node: "node",
Nuxtjs: "nuxtjs",
Parcel: "parcel",
Polymer: "polymer",
Preact: "preact",
Python: "python",
ReactRouter: "react-router",
Redwoodjs: "redwoodjs",
Remix: "remix",
Ruby: "ruby",
Rust: "rust",
Saber: "saber",
Sanity: "sanity",
SanityV2: "sanity-v2",
Sapper: "sapper",
Scully: "scully",
Services: "services",
Solidstart: "solidstart",
Solidstart1: "solidstart-1",
Stencil: "stencil",
Storybook: "storybook",
Svelte: "svelte",
Sveltekit: "sveltekit",
Sveltekit1: "sveltekit-1",
TanstackStart: "tanstack-start",
Umijs: "umijs",
Vite: "vite",
Vitepress: "vitepress",
Vue: "vue",
Vuepress: "vuepress",
Xmcp: "xmcp",
Zola: "zola",
} as const;
export type GetWebhooksResponseBodyFramework = ClosedEnum<
typeof GetWebhooksResponseBodyFramework
>;
export type GetWebhooksResponseBodyProjectsMetadata = {
id: string;
name: string;
framework?: GetWebhooksResponseBodyFramework | null | undefined;
latestDeployment?: string | undefined;
};
/**
* The webhooks events
*/
export const ResponseBodyEvents = {
AiGatewayAutoReloadLimitReached: "ai-gateway.auto-reload.limit-reached",
AiGatewayBalanceDepleted: "ai-gateway.balance-depleted",
AlertsTriggered: "alerts.triggered",
BotidAnomaly: "botid.anomaly",
BudgetReached: "budget.reached",
CommentCreated: "comment.created",
CommentDeleted: "comment.deleted",
CommentMentioned: "comment.mentioned",
CommentReactionAdded: "comment.reaction-added",
CommentReactionRemoved: "comment.reaction-removed",
CommentResolved: "comment.resolved",
CommentUnresolved: "comment.unresolved",
CommentUpdated: "comment.updated",
Deployment: "deployment",
DeploymentCanceledHyphen: "deployment-canceled",
DeploymentCheckRerequestedHyphen: "deployment-check-rerequested",
DeploymentChecksCompleted: "deployment-checks-completed",
DeploymentErrorHyphen: "deployment-error",
DeploymentPreparedHyphen: "deployment-prepared",
DeploymentReadyHyphen: "deployment-ready",
DeploymentBlocked: "deployment.blocked",
DeploymentBuildRequested: "deployment.build-requested",
DeploymentCanceled: "deployment.canceled",
DeploymentCheckRerequested: "deployment.check-rerequested",
DeploymentCheckrunCancel: "deployment.checkrun.cancel",
DeploymentCheckrunStart: "deployment.checkrun.start",
DeploymentChecksFailed: "deployment.checks.failed",
DeploymentChecksSucceeded: "deployment.checks.succeeded",
DeploymentCleanup: "deployment.cleanup",
DeploymentCreated: "deployment.created",
DeploymentError: "deployment.error",
DeploymentIntegrationActionCancel: "deployment.integration.action.cancel",
DeploymentIntegrationActionCleanup: "deployment.integration.action.cleanup",
DeploymentIntegrationActionStart: "deployment.integration.action.start",
DeploymentPromoted: "deployment.promoted",
DeploymentReady: "deployment.ready",
DeploymentRollback: "deployment.rollback",
DeploymentSucceeded: "deployment.succeeded",
DomainCreatedHyphen: "domain-created",
DomainAutoRenewChanged: "domain.auto-renew.changed",
DomainCertificateAdd: "domain.certificate.add",
DomainCertificateAddFailed: "domain.certificate.add.failed",
DomainCertificateDeleted: "domain.certificate.deleted",
DomainCertificateRenew: "domain.certificate.renew",
DomainCertificateRenewFailed: "domain.certificate.renew.failed",
DomainCreated: "domain.created",
DomainDnsRecordsChanged: "domain.dns.records.changed",
DomainRenewal: "domain.renewal",
DomainRenewalFailed: "domain.renewal.failed",
DomainTransferInCompleted: "domain.transfer-in.completed",
DomainTransferInFailed: "domain.transfer-in.failed",
DomainTransferInStarted: "domain.transfer-in.started",
EdgeConfigCreated: "edge-config.created",
EdgeConfigDeleted: "edge-config.deleted",
EdgeConfigItemsUpdated: "edge-config.items.updated",
FirewallAttack: "firewall.attack",
FirewallCustomRuleAnomaly: "firewall.custom-rule-anomaly",
FirewallSystemRuleAnomaly: "firewall.system-rule-anomaly",
FlagCreated: "flag.created",
FlagDeleted: "flag.deleted",
FlagSegmentCreated: "flag.segment.created",
FlagSegmentDeleted: "flag.segment.deleted",
FlagSegmentUpdated: "flag.segment.updated",
FlagUpdated: "flag.updated",
FunctionArchivalRequired: "function.archival-required",
FunctionRemovalRequired: "function.removal-required",
IntegrationConfigurationPermissionUpdatedHyphen:
"integration-configuration-permission-updated",
IntegrationConfigurationRemovedHyphen: "integration-configuration-removed",
IntegrationConfigurationScopeChangeConfirmedHyphen:
"integration-configuration-scope-change-confirmed",
IntegrationConfigurationPermissionUpgraded:
"integration-configuration.permission-upgraded",
IntegrationConfigurationRemoved: "integration-configuration.removed",
IntegrationConfigurationScopeChangeConfirmed:
"integration-configuration.scope-change-confirmed",
IntegrationConfigurationTransferred: "integration-configuration.transferred",
IntegrationResourceProjectConnected: "integration-resource.project-connected",
IntegrationResourceProjectDisconnected:
"integration-resource.project-disconnected",
MarketplaceInvoiceCreated: "marketplace.invoice.created",
MarketplaceInvoiceNotpaid: "marketplace.invoice.notpaid",
MarketplaceInvoiceOverdue: "marketplace.invoice.overdue",
MarketplaceInvoicePaid: "marketplace.invoice.paid",
MarketplaceInvoiceRefunded: "marketplace.invoice.refunded",
MarketplaceMemberChanged: "marketplace.member.changed",
MessageCreated: "message.created",
MessageDeleted: "message.deleted",
MessageMentioned: "message.mentioned",
MessageReactionAdded: "message.reaction-added",
MessageReactionRemoved: "message.reaction-removed",
MessageUpdated: "message.updated",
ObservabilityAnomaly: "observability.anomaly",
ObservabilityAnomalyError: "observability.anomaly-error",
ObservabilityErrorAnomaly: "observability.error-anomaly",
ObservabilityUsageAnomaly: "observability.usage-anomaly",
ProjectCreatedHyphen: "project-created",
ProjectRemovedHyphen: "project-removed",
ProjectCreated: "project.created",
ProjectDomainCreated: "project.domain.created",
ProjectDomainDeleted: "project.domain.deleted",
ProjectDomainMoved: "project.domain.moved",
ProjectDomainUnverified: "project.domain.unverified",
ProjectDomainUpdated: "project.domain.updated",
ProjectDomainVerified: "project.domain.verified",
ProjectEnvVariableCreated: "project.env-variable.created",
ProjectEnvVariableDeleted: "project.env-variable.deleted",
ProjectEnvVariableUpdated: "project.env-variable.updated",
ProjectRemoved: "project.removed",
ProjectRenamed: "project.renamed",
ProjectRollingReleaseAborted: "project.rolling-release.aborted",
ProjectRollingReleaseApproved: "project.rolling-release.approved",
ProjectRollingReleaseCompleted: "project.rolling-release.completed",
ProjectRollingReleaseStarted: "project.rolling-release.started",
TestWebhook: "test-webhook",
ThreadResolved: "thread.resolved",
ThreadUnresolved: "thread.unresolved",
} as const;
/**
* The webhooks events
*/
export type ResponseBodyEvents = ClosedEnum<typeof ResponseBodyEvents>;
export type GetWebhooksResponseBody1 = {
projectsMetadata: Array<GetWebhooksResponseBodyProjectsMetadata> | null;
/**
* The webhooks events
*/
events: Array<ResponseBodyEvents>;
/**
* The webhook id
*/
id: string;
/**
* A string with the URL of the webhook
*/
url: string;
/**
* The unique ID of the team the webhook belongs to
*/
ownerId: string;
/**
* A number containing the date when the webhook was created in in milliseconds
*/
createdAt: number;
/**
* A number containing the date when the webhook was updated in in milliseconds
*/
updatedAt: number;
/**
* The ID of the projects the webhook is associated with
*/
projectIds?: Array<string> | undefined;
};
export type GetWebhooksResponseBody =
| Array<GetWebhooksResponseBody1>
| Array<GetWebhooksResponseBody2>;
/** @internal */
export type GetWebhooksRequest$Outbound = {
projectId?: string | undefined;
teamId?: string | undefined;
slug?: string | undefined;
};
/** @internal */
export const GetWebhooksRequest$outboundSchema: z.ZodType<
GetWebhooksRequest$Outbound,
z.ZodTypeDef,
GetWebhooksRequest
> = z.object({
projectId: z.string().optional(),
teamId: z.string().optional(),
slug: z.string().optional(),
});
export function getWebhooksRequestToJSON(
getWebhooksRequest: GetWebhooksRequest,
): string {
return JSON.stringify(
GetWebhooksRequest$outboundSchema.parse(getWebhooksRequest),
);
}
/** @internal */
export const GetWebhooksResponseBodyEvents$inboundSchema: z.ZodNativeEnum<
typeof GetWebhooksResponseBodyEvents
> = z.nativeEnum(GetWebhooksResponseBodyEvents);
/** @internal */
export const GetWebhooksResponseBody2$inboundSchema: z.ZodType<
GetWebhooksResponseBody2,
z.ZodTypeDef,
unknown
> = z.object({
events: z.array(GetWebhooksResponseBodyEvents$inboundSchema),
id: types.string(),
url: types.string(),
ownerId: types.string(),
createdAt: types.number(),
updatedAt: types.number(),
projectIds: types.optional(z.array(types.string())),
});
export function getWebhooksResponseBody2FromJSON(
jsonString: string,
): SafeParseResult<GetWebhooksResponseBody2, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetWebhooksResponseBody2$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetWebhooksResponseBody2' from JSON`,
);
}
/** @internal */
export const GetWebhooksResponseBodyFramework$inboundSchema: z.ZodNativeEnum<
typeof GetWebhooksResponseBodyFramework
> = z.nativeEnum(GetWebhooksResponseBodyFramework);
/** @internal */
export const GetWebhooksResponseBodyProjectsMetadata$inboundSchema: z.ZodType<
GetWebhooksResponseBodyProjectsMetadata,
z.ZodTypeDef,
unknown
> = z.object({
id: types.string(),
name: types.string(),
framework: z.nullable(GetWebhooksResponseBodyFramework$inboundSchema)
.optional(),
latestDeployment: types.optional(types.string()),
});
export function getWebhooksResponseBodyProjectsMetadataFromJSON(
jsonString: string,
): SafeParseResult<
GetWebhooksResponseBodyProjectsMetadata,
SDKValidationError
> {
return safeParse(
jsonString,
(x) =>
GetWebhooksResponseBodyProjectsMetadata$inboundSchema.parse(
JSON.parse(x),
),
`Failed to parse 'GetWebhooksResponseBodyProjectsMetadata' from JSON`,
);
}
/** @internal */
export const ResponseBodyEvents$inboundSchema: z.ZodNativeEnum<
typeof ResponseBodyEvents
> = z.nativeEnum(ResponseBodyEvents);
/** @internal */
export const GetWebhooksResponseBody1$inboundSchema: z.ZodType<
GetWebhooksResponseBody1,
z.ZodTypeDef,
unknown
> = z.object({
projectsMetadata: types.nullable(
z.array(
z.lazy(() => GetWebhooksResponseBodyProjectsMetadata$inboundSchema),
),
),
events: z.array(ResponseBodyEvents$inboundSchema),
id: types.string(),
url: types.string(),
ownerId: types.string(),
createdAt: types.number(),
updatedAt: types.number(),
projectIds: types.optional(z.array(types.string())),
});
export function getWebhooksResponseBody1FromJSON(
jsonString: string,
): SafeParseResult<GetWebhooksResponseBody1, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetWebhooksResponseBody1$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetWebhooksResponseBody1' from JSON`,
);
}
/** @internal */
export const GetWebhooksResponseBody$inboundSchema: z.ZodType<
GetWebhooksResponseBody,
z.ZodTypeDef,
unknown
> = smartUnion([
z.array(z.lazy(() => GetWebhooksResponseBody1$inboundSchema)),
z.array(z.lazy(() => GetWebhooksResponseBody2$inboundSchema)),
]);
export function getWebhooksResponseBodyFromJSON(
jsonString: string,
): SafeParseResult<GetWebhooksResponseBody, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetWebhooksResponseBody$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetWebhooksResponseBody' from JSON`,
);
}