svix 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +71 -8
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +89 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/autoconfig.test.ts +7 -1
- package/src/autoconfig.ts +3 -1
- package/src/models/index.ts +3 -0
- package/src/models/postgresConfigIn.ts +44 -0
- package/src/models/postgresConfigOut.ts +25 -0
- package/src/models/postgresConfigPatch.ts +28 -0
- package/src/models/s3ConfigIn.ts +15 -3
- package/src/models/s3ConfigOut.ts +7 -1
- package/src/models/s3ConfigPatch.ts +6 -0
- package/src/models/streamSinkIn.ts +12 -0
- package/src/models/streamSinkOut.ts +12 -0
- package/src/models/streamSinkPatch.ts +15 -0
- package/src/request.ts +1 -1
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["Endpoint","StdWh","InternalEndpoint","InternalEndpoint","InternalMessagePollerv2","Endpoint"],"sources":["../src/models/applicationIn.ts","../src/models/applicationOut.ts","../src/models/applicationPatch.ts","../src/models/listResponseApplicationOut.ts","../src/util.ts","../src/request.ts","../src/api/application.ts","../src/models/apiTokenOut.ts","../src/models/appPortalCapability.ts","../src/models/appPortalAccessIn.ts","../src/models/appPortalAccessOut.ts","../src/models/applicationTokenExpireIn.ts","../src/models/rotatePollerTokenIn.ts","../src/models/streamPortalAccessIn.ts","../src/models/streamTokenExpireIn.ts","../src/api/authentication.ts","../src/models/backgroundTaskStatus.ts","../src/models/backgroundTaskType.ts","../src/models/backgroundTaskOut.ts","../src/models/listResponseBackgroundTaskOut.ts","../src/api/backgroundTask.ts","../src/models/connectorKind.ts","../src/models/connectorProduct.ts","../src/models/connectorIn.ts","../src/models/connectorOut.ts","../src/models/connectorPatch.ts","../src/models/connectorUpsertIn.ts","../src/models/listResponseConnectorOut.ts","../src/api/connector.ts","../src/models/messageStatus.ts","../src/models/statusCodeClass.ts","../src/models/bulkReplayIn.ts","../src/models/endpointHeadersIn.ts","../src/models/endpointHeadersOut.ts","../src/models/endpointHeadersPatchIn.ts","../src/models/endpointIn.ts","../src/models/endpointOut.ts","../src/models/endpointPatch.ts","../src/models/endpointSecretOut.ts","../src/models/endpointSecretRotateIn.ts","../src/models/endpointStats.ts","../src/models/endpointTransformationIn.ts","../src/models/endpointUpsertIn.ts","../src/models/eventExampleIn.ts","../src/models/listResponseEndpointOut.ts","../src/models/messageOut.ts","../src/models/recoverIn.ts","../src/models/recoverOut.ts","../src/models/replayIn.ts","../src/models/replayOut.ts","../src/models/endpointTransformationOut.ts","../src/models/endpointTransformationPatch.ts","../src/api/endpointTransformation.ts","../src/api/endpoint.ts","../src/models/eventTypeIn.ts","../src/models/environmentIn.ts","../src/models/eventTypeOut.ts","../src/models/environmentOut.ts","../src/api/environment.ts","../src/models/eventTypeImportOpenApiIn.ts","../src/models/eventTypeFromOpenApi.ts","../src/models/eventTypeImportOpenApiOutData.ts","../src/models/eventTypeImportOpenApiOut.ts","../src/models/eventTypePatch.ts","../src/models/eventTypeUpsertIn.ts","../src/models/listResponseEventTypeOut.ts","../src/api/eventType.ts","../src/api/health.ts","../src/models/ingestSourceConsumerPortalAccessIn.ts","../src/api/ingestAuthentication.ts","../src/models/ingestEndpointHeadersIn.ts","../src/models/ingestEndpointHeadersOut.ts","../src/models/ingestEndpointIn.ts","../src/models/ingestEndpointOut.ts","../src/models/ingestEndpointSecretIn.ts","../src/models/ingestEndpointSecretOut.ts","../src/models/ingestEndpointUpsertIn.ts","../src/models/listResponseIngestEndpointOut.ts","../src/models/ingestEndpointTransformationOut.ts","../src/models/ingestEndpointTransformationPatch.ts","../src/api/ingestEndpointTransformation.ts","../src/api/ingestEndpoint.ts","../src/models/adobeSignConfig.ts","../src/models/airwallexConfig.ts","../src/models/checkbookConfig.ts","../src/models/cronConfig.ts","../src/models/docusignConfig.ts","../src/models/easypostConfig.ts","../src/models/githubConfig.ts","../src/models/hubspotConfig.ts","../src/models/metaConfig.ts","../src/models/nangoConfig.ts","../src/models/openClawConfig.ts","../src/models/orumIoConfig.ts","../src/models/pandaDocConfig.ts","../src/models/portIoConfig.ts","../src/models/rutterConfig.ts","../src/models/segmentConfig.ts","../src/models/shopifyConfig.ts","../src/models/slackConfig.ts","../src/models/stripeConfig.ts","../src/models/svixConfig.ts","../src/models/tailscaleConfig.ts","../src/models/telnyxConfig.ts","../src/models/vapiConfig.ts","../src/models/veriffConfig.ts","../src/models/vgsConfig.ts","../src/models/zoomConfig.ts","../src/models/ingestSourceIn.ts","../src/models/adobeSignConfigOut.ts","../src/models/airwallexConfigOut.ts","../src/models/checkbookConfigOut.ts","../src/models/docusignConfigOut.ts","../src/models/easypostConfigOut.ts","../src/models/githubConfigOut.ts","../src/models/hubspotConfigOut.ts","../src/models/metaConfigOut.ts","../src/models/nangoConfigOut.ts","../src/models/openClawConfigOut.ts","../src/models/orumIoConfigOut.ts","../src/models/pandaDocConfigOut.ts","../src/models/portIoConfigOut.ts","../src/models/rutterConfigOut.ts","../src/models/segmentConfigOut.ts","../src/models/shopifyConfigOut.ts","../src/models/slackConfigOut.ts","../src/models/stripeConfigOut.ts","../src/models/svixConfigOut.ts","../src/models/tailscaleConfigOut.ts","../src/models/telnyxConfigOut.ts","../src/models/vapiConfigOut.ts","../src/models/veriffConfigOut.ts","../src/models/vgsConfigOut.ts","../src/models/zoomConfigOut.ts","../src/models/ingestSourceOut.ts","../src/models/listResponseIngestSourceOut.ts","../src/models/rotateTokenOut.ts","../src/api/ingestSource.ts","../src/api/ingest.ts","../src/models/integrationIn.ts","../src/models/integrationKeyOut.ts","../src/models/integrationOut.ts","../src/models/integrationUpdate.ts","../src/models/listResponseIntegrationOut.ts","../src/api/integration.ts","../src/models/bulkExpungeContentsIn.ts","../src/models/bulkExpungeStatus.ts","../src/models/bulkExpungeContentsOut.ts","../src/models/expungeAllContentsOut.ts","../src/models/listResponseMessageOut.ts","../src/models/messagePrecheckIn.ts","../src/models/messagePrecheckOut.ts","../src/models/pollingEndpointConsumerSeekIn.ts","../src/models/pollingEndpointConsumerSeekOut.ts","../src/models/pollingEndpointMessageOut.ts","../src/models/pollingEndpointOut.ts","../src/api/messagePoller.ts","../src/models/messageIn.ts","../src/api/message.ts","../src/models/emptyResponse.ts","../src/models/messageStatusText.ts","../src/models/endpointMessageOut.ts","../src/models/listResponseEndpointMessageOut.ts","../src/models/messageAttemptTriggerType.ts","../src/models/messageAttemptOut.ts","../src/models/listResponseMessageAttemptOut.ts","../src/models/messageEndpointOut.ts","../src/models/listResponseMessageEndpointOut.ts","../src/api/messageAttempt.ts","../src/models/operationalWebhookEndpointOut.ts","../src/models/listResponseOperationalWebhookEndpointOut.ts","../src/models/operationalWebhookEndpointHeadersIn.ts","../src/models/operationalWebhookEndpointHeadersOut.ts","../src/models/operationalWebhookEndpointIn.ts","../src/models/operationalWebhookEndpointSecretIn.ts","../src/models/operationalWebhookEndpointSecretOut.ts","../src/models/operationalWebhookEndpointUpsertIn.ts","../src/api/operationalWebhookEndpoint.ts","../src/api/operationalWebhook.ts","../src/models/aggregateEventTypesOut.ts","../src/models/appUsageStatsIn.ts","../src/models/appUsageStatsOut.ts","../src/api/statistics.ts","../src/models/httpSinkHeadersPatchIn.ts","../src/models/streamEventTypeOut.ts","../src/models/listResponseStreamEventTypeOut.ts","../src/models/streamEventTypeIn.ts","../src/models/streamEventTypePatch.ts","../src/api/streamingEventType.ts","../src/models/eventIn.ts","../src/models/streamIn.ts","../src/models/createStreamEventsIn.ts","../src/models/createStreamEventsOut.ts","../src/models/eventOut.ts","../src/models/eventStreamOut.ts","../src/api/streamingEvents.ts","../src/models/azureBlobStorageConfigOut.ts","../src/models/bigQueryConfigOut.ts","../src/models/clickhouseConfigOut.ts","../src/models/eventBridgeConfigOut.ts","../src/models/googleCloudPubSubConfigOut.ts","../src/models/googleCloudStorageConfigOut.ts","../src/models/otelTracingConfigOut.ts","../src/models/rabbitMqConfigOut.ts","../src/models/redshiftConfigOut.ts","../src/models/s3ConfigOut.ts","../src/models/sinkHttpConfigOut.ts","../src/models/sinkStatus.ts","../src/models/snowflakeConfigOut.ts","../src/models/snsConfigOut.ts","../src/models/sqsConfigOut.ts","../src/models/streamSinkOut.ts","../src/models/listResponseStreamSinkOut.ts","../src/models/sinkSecretOut.ts","../src/models/azureBlobStorageConfigIn.ts","../src/models/bigQueryConfigIn.ts","../src/models/clickhouseConfigIn.ts","../src/models/eventBridgeConfigIn.ts","../src/models/googleCloudPubSubConfigIn.ts","../src/models/googleCloudStorageConfigIn.ts","../src/models/otelTracingConfigIn.ts","../src/models/rabbitMqConfigIn.ts","../src/models/redshiftConfigIn.ts","../src/models/s3ConfigIn.ts","../src/models/sinkHttpConfigIn.ts","../src/models/sinkStatusIn.ts","../src/models/snowflakeConfigIn.ts","../src/models/snsConfigIn.ts","../src/models/sqsConfigIn.ts","../src/models/streamSinkIn.ts","../src/models/azureBlobStorageConfigPatch.ts","../src/models/bigQueryConfigPatch.ts","../src/models/clickhouseConfigPatch.ts","../src/models/eventBridgeConfigPatch.ts","../src/models/googleCloudPubSubConfigPatch.ts","../src/models/googleCloudStorageConfigPatch.ts","../src/models/otelTracingConfigPatch.ts","../src/models/rabbitMqConfigPatch.ts","../src/models/redshiftConfigPatch.ts","../src/models/s3ConfigPatch.ts","../src/models/sinkHttpConfigPatch.ts","../src/models/snowflakeConfigPatch.ts","../src/models/snsConfigPatch.ts","../src/models/sqsConfigPatch.ts","../src/models/streamSinkPatch.ts","../src/models/sinkTransformIn.ts","../src/models/sinkTransformationOut.ts","../src/api/streamingSinkTransformation.ts","../src/api/streamingSink.ts","../src/models/streamOut.ts","../src/models/listResponseStreamOut.ts","../src/models/streamPatch.ts","../src/api/streamingStream.ts","../src/api/streaming.ts","../src/HttpErrors.ts","../src/webhook.ts","../src/models/ordering.ts","../src/api_internal/index.ts","../src/models/sinkInCommon.ts","../src/models/autoConfigSinkType.ts","../src/models/subscribeIn.ts","../src/api_internal/endpointAutoConfig.ts","../src/api_internal/endpoint.ts","../src/autoconfig.ts","../src/models/pollerV2CommitIn.ts","../src/models/pollerV2MessageOut.ts","../src/models/pollerV2PollOut.ts","../src/api_internal/messagePollerv2.ts","../src/autoconfigConsumer.ts","../src/index.ts"],"sourcesContent":["// this file is @generated\n\nexport interface ApplicationIn {\n /** Application name for human consumption. */\n name: string;\n /**\n * Maximum messages per second to send to this application.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the application. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const ApplicationInSerializer = {\n _fromJsonObject(object: any): ApplicationIn {\n return {\n name: object[\"name\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: ApplicationIn): any {\n return {\n name: self.name,\n throttleRate: self.throttleRate,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface ApplicationOut {\n /** Optional unique identifier for the application. */\n uid?: string | null;\n /** Application name for human consumption. */\n name: string;\n /**\n * Maximum messages per second to send to this application.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** The Application's ID. */\n id: string;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const ApplicationOutSerializer = {\n _fromJsonObject(object: any): ApplicationOut {\n return {\n uid: object[\"uid\"],\n name: object[\"name\"],\n throttleRate: object[\"throttleRate\"],\n id: object[\"id\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: ApplicationOut): any {\n return {\n uid: self.uid,\n name: self.name,\n throttleRate: self.throttleRate,\n id: self.id,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface ApplicationPatch {\n name?: string;\n /**\n * Maximum messages per second to send to this application.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** The Application's UID. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const ApplicationPatchSerializer = {\n _fromJsonObject(object: any): ApplicationPatch {\n return {\n name: object[\"name\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: ApplicationPatch): any {\n return {\n name: self.name,\n throttleRate: self.throttleRate,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type ApplicationOut, ApplicationOutSerializer } from \"./applicationOut\";\n\nexport interface ListResponseApplicationOut {\n data: ApplicationOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseApplicationOutSerializer = {\n _fromJsonObject(object: any): ListResponseApplicationOut {\n return {\n data: object[\"data\"].map((item: ApplicationOut) =>\n ApplicationOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseApplicationOut): any {\n return {\n data: self.data.map((item) => ApplicationOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","export interface PostOptions {\n idempotencyKey?: string;\n}\n\nexport class ApiException<T> extends Error {\n public headers: Record<string, string> = {};\n\n public constructor(\n public code: number,\n public body: T,\n headers: Headers\n ) {\n super(`HTTP-Code: ${code}\\nHeaders: ${JSON.stringify(headers)}`);\n\n headers.forEach((value: string, name: string) => {\n this.headers[name] = value;\n });\n }\n}\n\nexport type XOR<T, U> =\n | (T & { [K in keyof U]?: never })\n | (U & { [K in keyof T]?: never });\n","import { ApiException, type XOR } from \"./util\";\nimport type { HttpErrorOut, HTTPValidationError } from \"./HttpErrors\";\n\nexport const LIB_VERSION = \"2.2.0\";\n\nfunction getUserAgent() {\n var fields = [`svix-libs/${LIB_VERSION}/javascript`];\n // `typeof`, not a bare reference: outside their own runtime these are\n // undeclared, and reading an undeclared binding throws a ReferenceError.\n if (typeof process !== \"undefined\") {\n if (process.version !== undefined) {\n fields.push(`node/${process.version}`);\n }\n if (process.platform !== undefined && process.arch !== undefined) {\n fields.push(`${process.platform}/${process.arch}`);\n }\n } else if (typeof navigator !== \"undefined\" && navigator.userAgent !== undefined) {\n fields.push(navigator.userAgent);\n }\n return fields.join(\" \");\n}\n\nexport enum HttpMethod {\n GET = \"GET\",\n HEAD = \"HEAD\",\n POST = \"POST\",\n PUT = \"PUT\",\n DELETE = \"DELETE\",\n CONNECT = \"CONNECT\",\n OPTIONS = \"OPTIONS\",\n TRACE = \"TRACE\",\n PATCH = \"PATCH\",\n}\n\nexport type SvixRequestContext = {\n /** The API base URL, like \"https://api.svix.com\" */\n baseUrl: string;\n /** The 'bearer' scheme access token */\n token: string;\n /** Time in milliseconds to wait for requests to get a response. */\n timeout?: number;\n /**\n * Custom fetch implementation to use for HTTP requests.\n * Useful for testing, adding custom middleware, or running in non-standard environments.\n */\n fetch?: typeof fetch;\n} & XOR<\n {\n /** List of delays (in milliseconds) to wait before each retry attempt.*/\n retryScheduleInMs?: number[];\n },\n {\n /** The number of times the client will retry if a server-side error\n * or timeout is received.\n * Default: 2\n */\n numRetries?: number;\n }\n>;\n\nexport type SvixRequestContextOptions = {\n serverUrl?: string;\n requestTimeout?: number;\n fetch?: typeof fetch;\n} & XOR<\n {\n retryScheduleInMs?: number[];\n },\n {\n numRetries?: number;\n }\n>;\n\nconst REGIONS = [\n { region: \"us\", url: \"https://api.us.svix.com\" },\n { region: \"eu\", url: \"https://api.eu.svix.com\" },\n { region: \"in\", url: \"https://api.in.svix.com\" },\n { region: \"ca\", url: \"https://api.ca.svix.com\" },\n { region: \"au\", url: \"https://api.au.svix.com\" },\n];\n\n/** Shared by `Svix` and `api_internal` so the latter need not import the package barrel. */\nexport function createSvixRequestContext(\n token: string,\n options: SvixRequestContextOptions = {}\n): SvixRequestContext {\n const regionalUrl = REGIONS.find((x) => x.region === token.split(\".\")[1])?.url;\n const baseUrl: string =\n options.serverUrl?.replace(/\\/+$/, \"\") ?? regionalUrl ?? \"https://api.svix.com\";\n\n if (options.retryScheduleInMs) {\n return {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n retryScheduleInMs: options.retryScheduleInMs,\n fetch: options.fetch,\n };\n }\n if (options.numRetries) {\n return {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n numRetries: options.numRetries,\n fetch: options.fetch,\n };\n }\n return {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n fetch: options.fetch,\n };\n}\n\ntype QueryParameter = string | boolean | number | Date | string[] | null | undefined;\n\nexport class SvixRequest {\n constructor(\n private readonly method: HttpMethod,\n private path: string\n ) {}\n\n private body?: string;\n private queryParams: Record<string, string> = {};\n private headerParams: Record<string, string> = {};\n\n public setPathParam(name: string, value: string) {\n const newPath = this.path.replace(`{${name}}`, encodeURIComponent(value));\n if (this.path === newPath) {\n throw new Error(`path parameter ${name} not found`);\n }\n this.path = newPath;\n }\n\n public setQueryParams(params: { [name: string]: QueryParameter }) {\n for (const [name, value] of Object.entries(params)) {\n this.setQueryParam(name, value);\n }\n }\n\n public setQueryParam(name: string, value: QueryParameter) {\n if (value === undefined || value === null) {\n return;\n }\n\n if (typeof value === \"string\") {\n this.queryParams[name] = value;\n } else if (typeof value === \"boolean\" || typeof value === \"number\") {\n this.queryParams[name] = value.toString();\n } else if (value instanceof Date) {\n this.queryParams[name] = value.toISOString();\n } else if (Array.isArray(value)) {\n if (value.length > 0) {\n this.queryParams[name] = value.join(\",\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _assert_unreachable: never = value;\n throw new Error(`query parameter ${name} has unsupported type`);\n }\n }\n\n public setHeaderParam(name: string, value?: string) {\n if (value === undefined) {\n return;\n }\n\n this.headerParams[name] = value;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setBody(value: any) {\n this.body = JSON.stringify(value);\n }\n\n /**\n * Send this request, returning the request body as a caller-specified type.\n *\n * If the server returns a 422 error, an `ApiException<HTTPValidationError>` is thrown.\n * If the server returns another 4xx error, an `ApiException<HttpErrorOut>` is thrown.\n *\n * If the server returns a 5xx error, the request is retried up to two times with exponential backoff.\n * If retries are exhausted, an `ApiException<HttpErrorOut>` is thrown.\n */\n public async send<R>(\n ctx: SvixRequestContext,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseResponseBody: (jsonObject: any) => R\n ): Promise<R> {\n const response = await this.sendInner(ctx);\n if (response.status === 204) {\n return <R>null;\n }\n const responseBody = await response.text();\n return parseResponseBody(JSON.parse(responseBody));\n }\n\n /** Same as `send`, but the response body is discarded, not parsed. */\n public async sendNoResponseBody(ctx: SvixRequestContext): Promise<void> {\n await this.sendInner(ctx);\n }\n\n private async sendInner(ctx: SvixRequestContext): Promise<Response> {\n const url = new URL(ctx.baseUrl + this.path);\n for (const [name, value] of Object.entries(this.queryParams)) {\n url.searchParams.set(name, value);\n }\n\n if (\n this.headerParams[\"idempotency-key\"] === undefined &&\n this.method.toUpperCase() === \"POST\"\n ) {\n this.headerParams[\"idempotency-key\"] = `auto_${crypto.randomUUID()}`;\n }\n\n const randomId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);\n\n if (this.body != null) {\n this.headerParams[\"content-type\"] = \"application/json\";\n }\n // Cloudflare Workers fail if the credentials option is used in a fetch call.\n // This work around that. Source:\n // https://github.com/cloudflare/workers-sdk/issues/2514#issuecomment-21.90.0014\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n\n const response = await sendWithRetry(\n url,\n {\n method: this.method.toString(),\n body: this.body,\n headers: {\n accept: \"application/json, */*;q=0.8\",\n authorization: `Bearer ${ctx.token}`,\n \"user-agent\": getUserAgent(),\n \"svix-req-id\": randomId.toString(),\n ...this.headerParams,\n },\n credentials: isCredentialsSupported ? \"same-origin\" : undefined,\n signal: ctx.timeout !== undefined ? AbortSignal.timeout(ctx.timeout) : undefined,\n },\n ctx.retryScheduleInMs,\n ctx.retryScheduleInMs?.[0],\n ctx.retryScheduleInMs?.length ?? ctx.numRetries,\n ctx.fetch\n );\n return filterResponseForErrors(response);\n }\n}\n\nasync function filterResponseForErrors(response: Response): Promise<Response> {\n if (response.status < 300) {\n return response;\n }\n\n const responseBody = await response.text();\n\n if (response.status === 422) {\n throw new ApiException<HTTPValidationError>(\n response.status,\n JSON.parse(responseBody) as HTTPValidationError,\n response.headers\n );\n }\n\n if (response.status >= 400 && response.status <= 499) {\n throw new ApiException<HttpErrorOut>(\n response.status,\n JSON.parse(responseBody) as HttpErrorOut,\n response.headers\n );\n }\n throw new ApiException(response.status, responseBody, response.headers);\n}\n\ntype SvixRequestInit = RequestInit & {\n headers: Record<string, string>;\n};\n\nasync function sendWithRetry(\n url: URL,\n init: SvixRequestInit,\n retryScheduleInMs?: number[],\n nextInterval = 50,\n triesLeft = 2,\n fetchImpl: typeof fetch = fetch,\n retryCount = 1\n): Promise<Response> {\n const sleep = (interval: number) =>\n new Promise((resolve) => setTimeout(resolve, interval));\n\n try {\n const response = await fetchImpl(url, init);\n if (triesLeft <= 0 || response.status < 500) {\n return response;\n }\n } catch (e) {\n if (triesLeft <= 0) {\n throw e;\n }\n }\n\n await sleep(nextInterval);\n init.headers[\"svix-retry-count\"] = retryCount.toString();\n nextInterval = retryScheduleInMs?.[retryCount] ?? nextInterval * 2;\n return await sendWithRetry(\n url,\n init,\n retryScheduleInMs,\n nextInterval,\n --triesLeft,\n fetchImpl,\n ++retryCount\n );\n}\n","// this file is @generated\n\nimport { type ApplicationIn, ApplicationInSerializer } from \"../models/applicationIn\";\nimport { type ApplicationOut, ApplicationOutSerializer } from \"../models/applicationOut\";\nimport {\n type ApplicationPatch,\n ApplicationPatchSerializer,\n} from \"../models/applicationPatch\";\nimport {\n type ListResponseApplicationOut,\n ListResponseApplicationOutSerializer,\n} from \"../models/listResponseApplicationOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface ApplicationListOptions {\n /** Exclude applications that have no endpoints. Default is false. */\n excludeAppsWithNoEndpoints?: boolean;\n /** Exclude applications that have only disabled endpoints. Default is false. */\n excludeAppsWithDisabledEndpoints?: boolean;\n /** Exclude applications that only have Svix Play endpoints. Default is false. */\n excludeAppsWithSvixPlayEndpoints?: boolean;\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface ApplicationCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class Application {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's applications. */\n public async list(\n options?: ApplicationListOptions\n ): Promise<ListResponseApplicationOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app\");\n\n request.setQueryParams({\n exclude_apps_with_no_endpoints: options?.excludeAppsWithNoEndpoints,\n exclude_apps_with_disabled_endpoints: options?.excludeAppsWithDisabledEndpoints,\n exclude_apps_with_svix_play_endpoints: options?.excludeAppsWithSvixPlayEndpoints,\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseApplicationOutSerializer._fromJsonObject\n );\n }\n\n /** Create a new application. */\n public async create(\n applicationIn: ApplicationIn,\n options?: ApplicationCreateOptions\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ApplicationInSerializer._toJsonObject(applicationIn));\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Get the application with the UID from `applicationIn`, or create it if it doesn't exist yet. */\n public getOrCreate(\n applicationIn: ApplicationIn,\n options?: ApplicationCreateOptions\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app\");\n\n request.setQueryParam(\"get_if_exists\", true);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ApplicationInSerializer._toJsonObject(applicationIn));\n\n return request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Get an application. */\n public async get(appId: string): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Create or update an application. */\n public async upsert(\n appId: string,\n applicationIn: ApplicationIn\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n request.setBody(ApplicationInSerializer._toJsonObject(applicationIn));\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Delete an application. */\n public async delete(appId: string): Promise<void> {\n const request = new SvixRequest(HttpMethod.DELETE, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update an application. */\n public async patch(\n appId: string,\n applicationPatch: ApplicationPatch\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n request.setBody(ApplicationPatchSerializer._toJsonObject(applicationPatch));\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport interface ApiTokenOut {\n token: string;\n id: string;\n name?: string | null;\n createdAt: Date;\n expiresAt?: Date | null;\n scopes?: string[] | null;\n}\n\nexport const ApiTokenOutSerializer = {\n _fromJsonObject(object: any): ApiTokenOut {\n return {\n token: object[\"token\"],\n id: object[\"id\"],\n name: object[\"name\"],\n createdAt: new Date(object[\"createdAt\"]),\n expiresAt: object[\"expiresAt\"] ? new Date(object[\"expiresAt\"]) : null,\n scopes: object[\"scopes\"],\n };\n },\n\n _toJsonObject(self: ApiTokenOut): any {\n return {\n token: self.token,\n id: self.id,\n name: self.name,\n createdAt: self.createdAt,\n expiresAt: self.expiresAt,\n scopes: self.scopes,\n };\n },\n};\n","// this file is @generated\n\nexport enum AppPortalCapability {\n ViewBase = \"ViewBase\",\n ViewEndpointSecret = \"ViewEndpointSecret\",\n ManageEndpointSecret = \"ManageEndpointSecret\",\n ManageTransformations = \"ManageTransformations\",\n CreateAttempts = \"CreateAttempts\",\n ManageEndpoint = \"ManageEndpoint\",\n}\n\nexport const AppPortalCapabilitySerializer = {\n _fromJsonObject(object: any): AppPortalCapability {\n return object;\n },\n\n _toJsonObject(self: AppPortalCapability): any {\n return self;\n },\n};\n","// this file is @generated\nimport {\n type AppPortalCapability,\n AppPortalCapabilitySerializer,\n} from \"./appPortalCapability\";\nimport { type ApplicationIn, ApplicationInSerializer } from \"./applicationIn\";\n\nexport interface AppPortalAccessIn {\n /**\n * Optionally creates a new application while generating the access link.\n *\n * If the application id or uid that is used in the path already exists, this argument is ignored.\n */\n application?: ApplicationIn | null;\n /**\n * Whether the app portal should be in read-only mode.\n *\n * @deprecated\n */\n readOnly?: boolean | null;\n /**\n * Custom capabilities attached to the token, You can combine as many capabilities as necessary.\n *\n * The `ViewBase` capability is always required\n *\n * - `ViewBase`: Basic read only permissions, does not allow the user to see the endpoint secret.\n *\n * - `ViewEndpointSecret`: Allows user to view the endpoint secret.\n *\n * - `ManageEndpointSecret`: Allows user to rotate and view the endpoint secret.\n *\n * - `ManageTransformations`: Allows user to modify the endpoint transformations.\n *\n * - `CreateAttempts`: Allows user to replay missing messages and send example messages.\n *\n * - `ManageEndpoint`: Allows user to read/modify any field or configuration of an endpoint (including secrets)\n *\n * By default, the token will get all capabilities if the capabilities are not explicitly specified.\n */\n capabilities?: AppPortalCapability[] | null;\n /** The set of feature flags the created token will have access to. */\n featureFlags?: string[];\n /**\n * How long the token will be valid for, in seconds.\n *\n * Valid values are between 1 hour and 7 days. The default is 7 days.\n */\n expiry?: number | null;\n /**\n * An optional session ID to attach to the token.\n *\n * When expiring tokens with \"Expire All\", you can include the session ID to only expire tokens that were created with that session ID.\n */\n sessionId?: string | null;\n}\n\nexport const AppPortalAccessInSerializer = {\n _fromJsonObject(object: any): AppPortalAccessIn {\n return {\n application:\n object[\"application\"] != null\n ? ApplicationInSerializer._fromJsonObject(object[\"application\"])\n : undefined,\n readOnly: object[\"readOnly\"],\n capabilities: object[\"capabilities\"]?.map((item: AppPortalCapability) =>\n AppPortalCapabilitySerializer._fromJsonObject(item)\n ),\n featureFlags: object[\"featureFlags\"],\n expiry: object[\"expiry\"],\n sessionId: object[\"sessionId\"],\n };\n },\n\n _toJsonObject(self: AppPortalAccessIn): any {\n return {\n application:\n self.application != null\n ? ApplicationInSerializer._toJsonObject(self.application)\n : undefined,\n readOnly: self.readOnly,\n capabilities: self.capabilities?.map((item) =>\n AppPortalCapabilitySerializer._toJsonObject(item)\n ),\n featureFlags: self.featureFlags,\n expiry: self.expiry,\n sessionId: self.sessionId,\n };\n },\n};\n","// this file is @generated\n\nexport interface AppPortalAccessOut {\n url: string;\n token: string;\n}\n\nexport const AppPortalAccessOutSerializer = {\n _fromJsonObject(object: any): AppPortalAccessOut {\n return {\n url: object[\"url\"],\n token: object[\"token\"],\n };\n },\n\n _toJsonObject(self: AppPortalAccessOut): any {\n return {\n url: self.url,\n token: self.token,\n };\n },\n};\n","// this file is @generated\n\nexport interface ApplicationTokenExpireIn {\n /** How many seconds until the old key is expired. */\n expiry?: number | null;\n /**\n * An optional list of session ids.\n *\n * If any session ids are specified, only Application tokens created with that session id will be expired.\n */\n sessionIds?: string[];\n}\n\nexport const ApplicationTokenExpireInSerializer = {\n _fromJsonObject(object: any): ApplicationTokenExpireIn {\n return {\n expiry: object[\"expiry\"],\n sessionIds: object[\"sessionIds\"],\n };\n },\n\n _toJsonObject(self: ApplicationTokenExpireIn): any {\n return {\n expiry: self.expiry,\n sessionIds: self.sessionIds,\n };\n },\n};\n","// this file is @generated\n\nexport interface RotatePollerTokenIn {\n /** How long the token will be valid for, in seconds. Can be up to 31,536,000 seconds (1 year). */\n expiry?: number | null;\n /**\n * Updates the previous token's expiration, in seconds.\n *\n * If set to 0, the old token will immediately be revoked. Must be between 0 and 86,400 seconds (1 day).\n *\n * Defaults to 300 seconds (5 minutes).\n */\n oldTokenExpiry?: number;\n}\n\nexport const RotatePollerTokenInSerializer = {\n _fromJsonObject(object: any): RotatePollerTokenIn {\n return {\n expiry: object[\"expiry\"],\n oldTokenExpiry: object[\"oldTokenExpiry\"],\n };\n },\n\n _toJsonObject(self: RotatePollerTokenIn): any {\n return {\n expiry: self.expiry,\n oldTokenExpiry: self.oldTokenExpiry,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamPortalAccessIn {\n /** The set of feature flags the created token will have access to. */\n featureFlags?: string[];\n /**\n * How long the token will be valid for, in seconds.\n *\n * Valid values are between 1 hour and 7 days. The default is 7 days.\n */\n expiry?: number | null;\n /**\n * An optional session ID to attach to the token.\n *\n * When expiring tokens with \"Expire All\", you can include the session ID to only expire tokens that were created with that session ID.\n */\n sessionId?: string | null;\n}\n\nexport const StreamPortalAccessInSerializer = {\n _fromJsonObject(object: any): StreamPortalAccessIn {\n return {\n featureFlags: object[\"featureFlags\"],\n expiry: object[\"expiry\"],\n sessionId: object[\"sessionId\"],\n };\n },\n\n _toJsonObject(self: StreamPortalAccessIn): any {\n return {\n featureFlags: self.featureFlags,\n expiry: self.expiry,\n sessionId: self.sessionId,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamTokenExpireIn {\n /** How many seconds until the old key is expired. */\n expiry?: number | null;\n /**\n * An optional list of session ids.\n *\n * If any session ids are specified, only Stream tokens created with that session id will be expired.\n */\n sessionIds?: string[];\n}\n\nexport const StreamTokenExpireInSerializer = {\n _fromJsonObject(object: any): StreamTokenExpireIn {\n return {\n expiry: object[\"expiry\"],\n sessionIds: object[\"sessionIds\"],\n };\n },\n\n _toJsonObject(self: StreamTokenExpireIn): any {\n return {\n expiry: self.expiry,\n sessionIds: self.sessionIds,\n };\n },\n};\n","// this file is @generated\n\nimport { type ApiTokenOut, ApiTokenOutSerializer } from \"../models/apiTokenOut\";\nimport {\n type AppPortalAccessIn,\n AppPortalAccessInSerializer,\n} from \"../models/appPortalAccessIn\";\nimport {\n type AppPortalAccessOut,\n AppPortalAccessOutSerializer,\n} from \"../models/appPortalAccessOut\";\nimport {\n type ApplicationTokenExpireIn,\n ApplicationTokenExpireInSerializer,\n} from \"../models/applicationTokenExpireIn\";\nimport {\n type RotatePollerTokenIn,\n RotatePollerTokenInSerializer,\n} from \"../models/rotatePollerTokenIn\";\nimport {\n type StreamPortalAccessIn,\n StreamPortalAccessInSerializer,\n} from \"../models/streamPortalAccessIn\";\nimport {\n type StreamTokenExpireIn,\n StreamTokenExpireInSerializer,\n} from \"../models/streamTokenExpireIn\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface AuthenticationAppPortalAccessOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationLogoutOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationExpireAllOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationStreamPortalAccessOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationStreamLogoutOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationStreamExpireAllOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationRotateStreamPollerTokenOptions {\n idempotencyKey?: string;\n}\n\nexport class Authentication {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Use this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal. */\n public async appPortalAccess(\n appId: string,\n appPortalAccessIn: AppPortalAccessIn = {},\n options?: AuthenticationAppPortalAccessOptions\n ): Promise<AppPortalAccessOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/app-portal-access/{app_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(AppPortalAccessInSerializer._toJsonObject(appPortalAccessIn));\n\n return await request.send(\n this.requestCtx,\n AppPortalAccessOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Logout an app token.\n *\n * Trying to log out other tokens will fail.\n */\n public async logout(options?: AuthenticationLogoutOptions): Promise<void> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/auth/logout\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Expire all of the tokens associated with a specific application. */\n public async expireAll(\n appId: string,\n applicationTokenExpireIn: ApplicationTokenExpireIn = {},\n options?: AuthenticationExpireAllOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/app/{app_id}/expire-all\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n ApplicationTokenExpireInSerializer._toJsonObject(applicationTokenExpireIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Use this function to get magic links (and authentication codes) for connecting your users to the Stream Consumer Portal. */\n public async streamPortalAccess(\n streamId: string,\n streamPortalAccessIn: StreamPortalAccessIn = {},\n options?: AuthenticationStreamPortalAccessOptions\n ): Promise<AppPortalAccessOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/stream-portal-access/{stream_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamPortalAccessInSerializer._toJsonObject(streamPortalAccessIn));\n\n return await request.send(\n this.requestCtx,\n AppPortalAccessOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Logout a stream token.\n *\n * Trying to log out other tokens will fail.\n */\n public async streamLogout(options?: AuthenticationStreamLogoutOptions): Promise<void> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/auth/stream-logout\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Expire all of the tokens associated with a specific stream. */\n public async streamExpireAll(\n streamId: string,\n streamTokenExpireIn: StreamTokenExpireIn = {},\n options?: AuthenticationStreamExpireAllOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/stream/{stream_id}/expire-all\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamTokenExpireInSerializer._toJsonObject(streamTokenExpireIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Create a new auth token for the stream poller API. */\n public async rotateStreamPollerToken(\n streamId: string,\n sinkId: string,\n rotatePollerTokenIn: RotatePollerTokenIn = {},\n options?: AuthenticationRotateStreamPollerTokenOptions\n ): Promise<ApiTokenOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(RotatePollerTokenInSerializer._toJsonObject(rotatePollerTokenIn));\n\n return await request.send(this.requestCtx, ApiTokenOutSerializer._fromJsonObject);\n }\n\n /** Get the current auth token for the stream poller. */\n public async getStreamPollerToken(\n streamId: string,\n sinkId: string\n ): Promise<ApiTokenOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(this.requestCtx, ApiTokenOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport enum BackgroundTaskStatus {\n Running = \"running\",\n Finished = \"finished\",\n Failed = \"failed\",\n}\n\nexport const BackgroundTaskStatusSerializer = {\n _fromJsonObject(object: any): BackgroundTaskStatus {\n return object;\n },\n\n _toJsonObject(self: BackgroundTaskStatus): any {\n return self;\n },\n};\n","// this file is @generated\n\nexport enum BackgroundTaskType {\n EndpointReplay = \"endpoint.replay\",\n EndpointRecover = \"endpoint.recover\",\n ApplicationStats = \"application.stats\",\n MessageBroadcast = \"message.broadcast\",\n SdkGenerate = \"sdk.generate\",\n EventTypeAggregate = \"event-type.aggregate\",\n ApplicationPurgeContent = \"application.purge_content\",\n EndpointBulkReplay = \"endpoint.bulk-replay\",\n}\n\nexport const BackgroundTaskTypeSerializer = {\n _fromJsonObject(object: any): BackgroundTaskType {\n return object;\n },\n\n _toJsonObject(self: BackgroundTaskType): any {\n return self;\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface BackgroundTaskOut {\n data: any;\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const BackgroundTaskOutSerializer = {\n _fromJsonObject(object: any): BackgroundTaskOut {\n return {\n data: object[\"data\"],\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: BackgroundTaskOut): any {\n return {\n data: self.data,\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\nimport { type BackgroundTaskOut, BackgroundTaskOutSerializer } from \"./backgroundTaskOut\";\n\nexport interface ListResponseBackgroundTaskOut {\n data: BackgroundTaskOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseBackgroundTaskOutSerializer = {\n _fromJsonObject(object: any): ListResponseBackgroundTaskOut {\n return {\n data: object[\"data\"].map((item: BackgroundTaskOut) =>\n BackgroundTaskOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseBackgroundTaskOut): any {\n return {\n data: self.data.map((item) => BackgroundTaskOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type BackgroundTaskOut,\n BackgroundTaskOutSerializer,\n} from \"../models/backgroundTaskOut\";\nimport type { BackgroundTaskStatus } from \"../models/backgroundTaskStatus\";\nimport type { BackgroundTaskType } from \"../models/backgroundTaskType\";\nimport {\n type ListResponseBackgroundTaskOut,\n ListResponseBackgroundTaskOutSerializer,\n} from \"../models/listResponseBackgroundTaskOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface BackgroundTaskListOptions {\n /** Filter the response based on the status. */\n status?: BackgroundTaskStatus;\n /** Filter the response based on the type. */\n task?: BackgroundTaskType;\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport class BackgroundTask {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List background tasks executed in the past 90 days. */\n public async list(\n options?: BackgroundTaskListOptions\n ): Promise<ListResponseBackgroundTaskOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/background-task\");\n\n request.setQueryParams({\n status: options?.status,\n task: options?.task,\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseBackgroundTaskOutSerializer._fromJsonObject\n );\n }\n\n /** Get a background task by ID. */\n public async get(taskId: string): Promise<BackgroundTaskOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/background-task/{task_id}\");\n\n request.setPathParam(\"task_id\", taskId);\n\n return await request.send(\n this.requestCtx,\n BackgroundTaskOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport enum ConnectorKind {\n Custom = \"Custom\",\n AgenticCommerceProtocol = \"AgenticCommerceProtocol\",\n CloseCrm = \"CloseCRM\",\n CustomerIo = \"CustomerIO\",\n Discord = \"Discord\",\n Hubspot = \"Hubspot\",\n Inngest = \"Inngest\",\n Loops = \"Loops\",\n Otel = \"Otel\",\n Resend = \"Resend\",\n Salesforce = \"Salesforce\",\n Segment = \"Segment\",\n Sendgrid = \"Sendgrid\",\n Slack = \"Slack\",\n Teams = \"Teams\",\n TriggerDev = \"TriggerDev\",\n Windmill = \"Windmill\",\n Zapier = \"Zapier\",\n}\n\nexport const ConnectorKindSerializer = {\n _fromJsonObject(object: any): ConnectorKind {\n return object;\n },\n\n _toJsonObject(self: ConnectorKind): any {\n return self;\n },\n};\n","// this file is @generated\n\nexport enum ConnectorProduct {\n Dispatch = \"Dispatch\",\n Stream = \"Stream\",\n}\n\nexport const ConnectorProductSerializer = {\n _fromJsonObject(object: any): ConnectorProduct {\n return object;\n },\n\n _toJsonObject(self: ConnectorProduct): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\nimport { type ConnectorProduct, ConnectorProductSerializer } from \"./connectorProduct\";\n\nexport interface ConnectorIn {\n name: string;\n /** The Connector's UID. */\n uid?: string | null;\n logo?: string | null;\n description?: string;\n kind?: ConnectorKind;\n instructions?: string;\n allowedEventTypes?: string[] | null;\n transformation: string;\n featureFlags?: string[] | null;\n productType?: ConnectorProduct | null;\n}\n\nexport const ConnectorInSerializer = {\n _fromJsonObject(object: any): ConnectorIn {\n return {\n name: object[\"name\"],\n uid: object[\"uid\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n kind:\n object[\"kind\"] != null\n ? ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n featureFlags: object[\"featureFlags\"],\n productType:\n object[\"productType\"] != null\n ? ConnectorProductSerializer._fromJsonObject(object[\"productType\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: ConnectorIn): any {\n return {\n name: self.name,\n uid: self.uid,\n logo: self.logo,\n description: self.description,\n kind:\n self.kind != null ? ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n featureFlags: self.featureFlags,\n productType:\n self.productType != null\n ? ConnectorProductSerializer._toJsonObject(self.productType)\n : undefined,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\nimport { type ConnectorProduct, ConnectorProductSerializer } from \"./connectorProduct\";\n\nexport interface ConnectorOut {\n /** The Connector's ID. */\n id: string;\n /** The Environment's ID. */\n orgId: string;\n /** The Connector's UID. */\n uid?: string | null;\n kind: ConnectorKind;\n name: string;\n logo?: string | null;\n description: string;\n instructions: string;\n allowedEventTypes?: string[] | null;\n transformation: string;\n createdAt: Date;\n updatedAt: Date;\n transformationUpdatedAt: Date;\n featureFlags?: string[] | null;\n productType: ConnectorProduct;\n}\n\nexport const ConnectorOutSerializer = {\n _fromJsonObject(object: any): ConnectorOut {\n return {\n id: object[\"id\"],\n orgId: object[\"orgId\"],\n uid: object[\"uid\"],\n kind: ConnectorKindSerializer._fromJsonObject(object[\"kind\"]),\n name: object[\"name\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n transformationUpdatedAt: new Date(object[\"transformationUpdatedAt\"]),\n featureFlags: object[\"featureFlags\"],\n productType: ConnectorProductSerializer._fromJsonObject(object[\"productType\"]),\n };\n },\n\n _toJsonObject(self: ConnectorOut): any {\n return {\n id: self.id,\n orgId: self.orgId,\n uid: self.uid,\n kind: ConnectorKindSerializer._toJsonObject(self.kind),\n name: self.name,\n logo: self.logo,\n description: self.description,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n transformationUpdatedAt: self.transformationUpdatedAt,\n featureFlags: self.featureFlags,\n productType: ConnectorProductSerializer._toJsonObject(self.productType),\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\n\nexport interface ConnectorPatch {\n name?: string;\n logo?: string | null;\n description?: string;\n kind?: ConnectorKind;\n instructions?: string;\n allowedEventTypes?: string[] | null;\n transformation?: string;\n featureFlags?: string[] | null;\n}\n\nexport const ConnectorPatchSerializer = {\n _fromJsonObject(object: any): ConnectorPatch {\n return {\n name: object[\"name\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n kind:\n object[\"kind\"] != null\n ? ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: ConnectorPatch): any {\n return {\n name: self.name,\n logo: self.logo,\n description: self.description,\n kind:\n self.kind != null ? ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\n\nexport interface ConnectorUpsertIn {\n name?: string;\n logo?: string | null;\n description?: string;\n kind?: ConnectorKind;\n instructions?: string;\n allowedEventTypes?: string[] | null;\n transformation: string;\n featureFlags?: string[] | null;\n}\n\nexport const ConnectorUpsertInSerializer = {\n _fromJsonObject(object: any): ConnectorUpsertIn {\n return {\n name: object[\"name\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n kind:\n object[\"kind\"] != null\n ? ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: ConnectorUpsertIn): any {\n return {\n name: self.name,\n logo: self.logo,\n description: self.description,\n kind:\n self.kind != null ? ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorOut, ConnectorOutSerializer } from \"./connectorOut\";\n\nexport interface ListResponseConnectorOut {\n data: ConnectorOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseConnectorOutSerializer = {\n _fromJsonObject(object: any): ListResponseConnectorOut {\n return {\n data: object[\"data\"].map((item: ConnectorOut) =>\n ConnectorOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseConnectorOut): any {\n return {\n data: self.data.map((item) => ConnectorOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport { type ConnectorIn, ConnectorInSerializer } from \"../models/connectorIn\";\nimport { type ConnectorOut, ConnectorOutSerializer } from \"../models/connectorOut\";\nimport { type ConnectorPatch, ConnectorPatchSerializer } from \"../models/connectorPatch\";\nimport type { ConnectorProduct } from \"../models/connectorProduct\";\nimport {\n type ConnectorUpsertIn,\n ConnectorUpsertInSerializer,\n} from \"../models/connectorUpsertIn\";\nimport {\n type ListResponseConnectorOut,\n ListResponseConnectorOutSerializer,\n} from \"../models/listResponseConnectorOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface ConnectorListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n productType?: ConnectorProduct;\n}\n\nexport interface ConnectorCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class Connector {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List all connectors for an application. */\n public async list(options?: ConnectorListOptions): Promise<ListResponseConnectorOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/connector\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n product_type: options?.productType,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseConnectorOutSerializer._fromJsonObject\n );\n }\n\n /** Create a new connector. */\n public async create(\n connectorIn: ConnectorIn,\n options?: ConnectorCreateOptions\n ): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/connector\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ConnectorInSerializer._toJsonObject(connectorIn));\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n\n /** Get a connector. */\n public async get(connectorId: string): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/connector/{connector_id}\");\n\n request.setPathParam(\"connector_id\", connectorId);\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n\n /** Create or update a connector. */\n public async upsert(\n connectorId: string,\n connectorUpsertIn: ConnectorUpsertIn\n ): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/connector/{connector_id}\");\n\n request.setPathParam(\"connector_id\", connectorId);\n request.setBody(ConnectorUpsertInSerializer._toJsonObject(connectorUpsertIn));\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n\n /** Delete a connector. */\n public async delete(connectorId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/connector/{connector_id}\"\n );\n\n request.setPathParam(\"connector_id\", connectorId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update a connector. */\n public async patch(\n connectorId: string,\n connectorPatch: ConnectorPatch\n ): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/connector/{connector_id}\");\n\n request.setPathParam(\"connector_id\", connectorId);\n request.setBody(ConnectorPatchSerializer._toJsonObject(connectorPatch));\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n/**\n * The sending status of the message:\n *\n * - Success = 0\n * - Pending = 1\n * - Fail = 2\n * - Sending = 3\n * - Canceled = 4\n */\nexport enum MessageStatus {\n Success = 0,\n Pending = 1,\n Fail = 2,\n Sending = 3,\n Canceled = 4,\n}\n\nexport const MessageStatusSerializer = {\n _fromJsonObject(object: any): MessageStatus {\n return object;\n },\n\n _toJsonObject(self: MessageStatus): any {\n return self;\n },\n};\n","// this file is @generated\n/**\n * The different classes of HTTP status codes:\n *\n * - CodeNone = 0\n * - Code1xx = 100\n * - Code2xx = 200\n * - Code3xx = 300\n * - Code4xx = 400\n * - Code5xx = 500\n */\nexport enum StatusCodeClass {\n CodeNone = 0,\n Code1xx = 100,\n Code2xx = 200,\n Code3xx = 300,\n Code4xx = 400,\n Code5xx = 500,\n}\n\nexport const StatusCodeClassSerializer = {\n _fromJsonObject(object: any): StatusCodeClass {\n return object;\n },\n\n _toJsonObject(self: StatusCodeClass): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type StatusCodeClass, StatusCodeClassSerializer } from \"./statusCodeClass\";\n\nexport interface BulkReplayIn {\n since: Date;\n until?: Date | null;\n eventTypes?: string[] | null;\n channel?: string | null;\n tag?: string | null;\n status?: MessageStatus | null;\n statusCodeClass?: StatusCodeClass | null;\n}\n\nexport const BulkReplayInSerializer = {\n _fromJsonObject(object: any): BulkReplayIn {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n eventTypes: object[\"eventTypes\"],\n channel: object[\"channel\"],\n tag: object[\"tag\"],\n status:\n object[\"status\"] != null\n ? MessageStatusSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n statusCodeClass:\n object[\"statusCodeClass\"] != null\n ? StatusCodeClassSerializer._fromJsonObject(object[\"statusCodeClass\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: BulkReplayIn): any {\n return {\n since: self.since,\n until: self.until,\n eventTypes: self.eventTypes,\n channel: self.channel,\n tag: self.tag,\n status:\n self.status != null\n ? MessageStatusSerializer._toJsonObject(self.status)\n : undefined,\n statusCodeClass:\n self.statusCodeClass != null\n ? StatusCodeClassSerializer._toJsonObject(self.statusCodeClass)\n : undefined,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointHeadersIn {\n headers: { [key: string]: string };\n}\n\nexport const EndpointHeadersInSerializer = {\n _fromJsonObject(object: any): EndpointHeadersIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: EndpointHeadersIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\n/**\n * The value of the headers is returned in the `headers` field.\n *\n * Sensitive headers that have been redacted are returned in the sensitive field.\n */\nexport interface EndpointHeadersOut {\n headers: { [key: string]: string };\n sensitive: string[];\n}\n\nexport const EndpointHeadersOutSerializer = {\n _fromJsonObject(object: any): EndpointHeadersOut {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n\n _toJsonObject(self: EndpointHeadersOut): any {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointHeadersPatchIn {\n headers: { [key: string]: string };\n /** A list of headers be be removed */\n deleteHeaders?: string[];\n}\n\nexport const EndpointHeadersPatchInSerializer = {\n _fromJsonObject(object: any): EndpointHeadersPatchIn {\n return {\n headers: object[\"headers\"],\n deleteHeaders: object[\"deleteHeaders\"],\n };\n },\n\n _toJsonObject(self: EndpointHeadersPatchIn): any {\n return {\n headers: self.headers,\n deleteHeaders: self.deleteHeaders,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n metadata?: { [key: string]: string };\n headers?: { [key: string]: string } | null;\n}\n\nexport const EndpointInSerializer = {\n _fromJsonObject(object: any): EndpointIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n secret: object[\"secret\"],\n metadata: object[\"metadata\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: EndpointIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n secret: self.secret,\n metadata: self.metadata,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointOut {\n /** The Endpoint's ID. */\n id: string;\n metadata: { [key: string]: string };\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport const EndpointOutSerializer = {\n _fromJsonObject(object: any): EndpointOut {\n return {\n id: object[\"id\"],\n metadata: object[\"metadata\"],\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: EndpointOut): any {\n return {\n id: self.id,\n metadata: self.metadata,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointPatch {\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** The Endpoint's UID. */\n uid?: string | null;\n url?: string;\n disabled?: boolean;\n eventTypes?: string[] | null;\n channels?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const EndpointPatchSerializer = {\n _fromJsonObject(object: any): EndpointPatch {\n return {\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: EndpointPatch): any {\n return {\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n url: self.url,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key: string;\n}\n\nexport const EndpointSecretOutSerializer = {\n _fromJsonObject(object: any): EndpointSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: EndpointSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointSecretRotateIn {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n /**\n * How long the old secret will be valid for, in seconds.\n *\n * Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.\n */\n gracePeriodSeconds?: number | null;\n}\n\nexport const EndpointSecretRotateInSerializer = {\n _fromJsonObject(object: any): EndpointSecretRotateIn {\n return {\n key: object[\"key\"],\n gracePeriodSeconds: object[\"gracePeriodSeconds\"],\n };\n },\n\n _toJsonObject(self: EndpointSecretRotateIn): any {\n return {\n key: self.key,\n gracePeriodSeconds: self.gracePeriodSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointStats {\n success: number;\n pending: number;\n sending: number;\n fail: number;\n canceled: number;\n}\n\nexport const EndpointStatsSerializer = {\n _fromJsonObject(object: any): EndpointStats {\n return {\n success: object[\"success\"],\n pending: object[\"pending\"],\n sending: object[\"sending\"],\n fail: object[\"fail\"],\n canceled: object[\"canceled\"],\n };\n },\n\n _toJsonObject(self: EndpointStats): any {\n return {\n success: self.success,\n pending: self.pending,\n sending: self.sending,\n fail: self.fail,\n canceled: self.canceled,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointTransformationIn {\n code?: string | null;\n enabled?: boolean;\n}\n\nexport const EndpointTransformationInSerializer = {\n _fromJsonObject(object: any): EndpointTransformationIn {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n\n _toJsonObject(self: EndpointTransformationIn): any {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointUpsertIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const EndpointUpsertInSerializer = {\n _fromJsonObject(object: any): EndpointUpsertIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: EndpointUpsertIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventExampleIn {\n /** The event type's name */\n eventType: string;\n /**\n * If the event type schema contains an array of examples, chooses which one to send.\n *\n * Defaults to the first example. Ignored if the schema doesn't contain an array of examples.\n */\n exampleIndex?: number;\n}\n\nexport const EventExampleInSerializer = {\n _fromJsonObject(object: any): EventExampleIn {\n return {\n eventType: object[\"eventType\"],\n exampleIndex: object[\"exampleIndex\"],\n };\n },\n\n _toJsonObject(self: EventExampleIn): any {\n return {\n eventType: self.eventType,\n exampleIndex: self.exampleIndex,\n };\n },\n};\n","// this file is @generated\nimport { type EndpointOut, EndpointOutSerializer } from \"./endpointOut\";\n\nexport interface ListResponseEndpointOut {\n data: EndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseEndpointOut {\n return {\n data: object[\"data\"].map((item: EndpointOut) =>\n EndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseEndpointOut): any {\n return {\n data: self.data.map((item) => EndpointOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface MessageOut {\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const MessageOutSerializer = {\n _fromJsonObject(object: any): MessageOut {\n return {\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: MessageOut): any {\n return {\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface RecoverIn {\n since: Date;\n until?: Date | null;\n}\n\nexport const RecoverInSerializer = {\n _fromJsonObject(object: any): RecoverIn {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n };\n },\n\n _toJsonObject(self: RecoverIn): any {\n return {\n since: self.since,\n until: self.until,\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface RecoverOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const RecoverOutSerializer = {\n _fromJsonObject(object: any): RecoverOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: RecoverOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface ReplayIn {\n since: Date;\n until?: Date | null;\n}\n\nexport const ReplayInSerializer = {\n _fromJsonObject(object: any): ReplayIn {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n };\n },\n\n _toJsonObject(self: ReplayIn): any {\n return {\n since: self.since,\n until: self.until,\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface ReplayOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const ReplayOutSerializer = {\n _fromJsonObject(object: any): ReplayOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: ReplayOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointTransformationOut {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n updatedAt?: Date | null;\n}\n\nexport const EndpointTransformationOutSerializer = {\n _fromJsonObject(object: any): EndpointTransformationOut {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n updatedAt: object[\"updatedAt\"] ? new Date(object[\"updatedAt\"]) : null,\n };\n },\n\n _toJsonObject(self: EndpointTransformationOut): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointTransformationPatch {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n}\n\nexport const EndpointTransformationPatchSerializer = {\n _fromJsonObject(object: any): EndpointTransformationPatch {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n };\n },\n\n _toJsonObject(self: EndpointTransformationPatch): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type EndpointTransformationOut,\n EndpointTransformationOutSerializer,\n} from \"../models/endpointTransformationOut\";\nimport {\n type EndpointTransformationPatch,\n EndpointTransformationPatchSerializer,\n} from \"../models/endpointTransformationPatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class EndpointTransformation {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get the transformation code associated with this endpoint. */\n public async get(\n appId: string,\n endpointId: string\n ): Promise<EndpointTransformationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n EndpointTransformationOutSerializer._fromJsonObject\n );\n }\n\n /** Set or unset the transformation code associated with this endpoint. */\n public async patch(\n appId: string,\n endpointId: string,\n endpointTransformationPatch: EndpointTransformationPatch\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointTransformationPatchSerializer._toJsonObject(endpointTransformationPatch)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nimport { type BulkReplayIn, BulkReplayInSerializer } from \"../models/bulkReplayIn\";\nimport {\n type EndpointHeadersIn,\n EndpointHeadersInSerializer,\n} from \"../models/endpointHeadersIn\";\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"../models/endpointHeadersOut\";\nimport {\n type EndpointHeadersPatchIn,\n EndpointHeadersPatchInSerializer,\n} from \"../models/endpointHeadersPatchIn\";\nimport { type EndpointIn, EndpointInSerializer } from \"../models/endpointIn\";\nimport { type EndpointOut, EndpointOutSerializer } from \"../models/endpointOut\";\nimport { type EndpointPatch, EndpointPatchSerializer } from \"../models/endpointPatch\";\nimport {\n type EndpointSecretOut,\n EndpointSecretOutSerializer,\n} from \"../models/endpointSecretOut\";\nimport {\n type EndpointSecretRotateIn,\n EndpointSecretRotateInSerializer,\n} from \"../models/endpointSecretRotateIn\";\nimport { type EndpointStats, EndpointStatsSerializer } from \"../models/endpointStats\";\nimport {\n type EndpointTransformationIn,\n EndpointTransformationInSerializer,\n} from \"../models/endpointTransformationIn\";\nimport {\n type EndpointUpsertIn,\n EndpointUpsertInSerializer,\n} from \"../models/endpointUpsertIn\";\nimport { type EventExampleIn, EventExampleInSerializer } from \"../models/eventExampleIn\";\nimport {\n type ListResponseEndpointOut,\n ListResponseEndpointOutSerializer,\n} from \"../models/listResponseEndpointOut\";\nimport { type MessageOut, MessageOutSerializer } from \"../models/messageOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type RecoverIn, RecoverInSerializer } from \"../models/recoverIn\";\nimport { type RecoverOut, RecoverOutSerializer } from \"../models/recoverOut\";\nimport { type ReplayIn, ReplayInSerializer } from \"../models/replayIn\";\nimport { type ReplayOut, ReplayOutSerializer } from \"../models/replayOut\";\nimport { EndpointTransformation } from \"./endpointTransformation\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface EndpointListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface EndpointCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointReplayMissingOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointBulkReplayOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointGetStatsOptions {\n /** Filter the range to data starting from this date. */\n since?: Date | null;\n /** Filter the range to data ending by this date. */\n until?: Date | null;\n}\n\nexport interface EndpointRecoverOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointSendExampleOptions {\n idempotencyKey?: string;\n}\n\nexport class Endpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get transformation() {\n return new EndpointTransformation(this.requestCtx);\n }\n\n /** List the application's endpoints. */\n public async list(\n appId: string,\n options?: EndpointListOptions\n ): Promise<ListResponseEndpointOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseEndpointOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Create a new endpoint for the application.\n *\n * When `secret` is `null` the secret is automatically generated (recommended).\n */\n public async create(\n appId: string,\n endpointIn: EndpointIn,\n options?: EndpointCreateOptions\n ): Promise<EndpointOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint\");\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EndpointInSerializer._toJsonObject(endpointIn));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /** Get an endpoint. */\n public async get(appId: string, endpointId: string): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /** Create or update an endpoint. */\n public async upsert(\n appId: string,\n endpointId: string,\n endpointUpsertIn: EndpointUpsertIn\n ): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(EndpointUpsertInSerializer._toJsonObject(endpointUpsertIn));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /** Delete an endpoint. */\n public async delete(appId: string, endpointId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update an endpoint. */\n public async patch(\n appId: string,\n endpointId: string,\n endpointPatch: EndpointPatch\n ): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(EndpointPatchSerializer._toJsonObject(endpointPatch));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /**\n * Get the endpoint's signing secret.\n *\n * This is used to verify the authenticity of the webhook.\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(appId: string, endpointId: string): Promise<EndpointSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n EndpointSecretOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Rotates the endpoint's signing secret.\n *\n * The previous secret will remain valid for the specified grace period (default 24 hours).\n */\n public async rotateSecret(\n appId: string,\n endpointId: string,\n endpointSecretRotateIn: EndpointSecretRotateIn = {},\n options?: EndpointRotateSecretOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n EndpointSecretRotateInSerializer._toJsonObject(endpointSecretRotateIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Get the additional headers to be sent with the webhook. */\n public async getHeaders(\n appId: string,\n endpointId: string\n ): Promise<EndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n EndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /** Set the additional headers to be sent with the webhook. */\n public async setHeaders(\n appId: string,\n endpointId: string,\n endpointHeadersIn: EndpointHeadersIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(EndpointHeadersInSerializer._toJsonObject(endpointHeadersIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially set the additional headers to be sent with the webhook. */\n public async patchHeaders(\n appId: string,\n endpointId: string,\n endpointHeadersPatchIn: EndpointHeadersPatchIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointHeadersPatchInSerializer._toJsonObject(endpointHeadersPatchIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Replays messages to the endpoint.\n *\n * Only messages that were created after `since` will be sent.\n * Messages that were previously sent to the endpoint are not resent.\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"endpoint.replay\",\n * \"data\": {\n * \"messagesSent\": 2\n * }\n * }\n * ```\n */\n public async replayMissing(\n appId: string,\n endpointId: string,\n replayIn: ReplayIn,\n options?: EndpointReplayMissingOptions\n ): Promise<ReplayOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/replay-missing\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ReplayInSerializer._toJsonObject(replayIn));\n\n return await request.send(this.requestCtx, ReplayOutSerializer._fromJsonObject);\n }\n\n /**\n * Bulk replay messages sent to the endpoint.\n *\n * Only messages that were created after `since` will be sent.\n * This will replay both successful, and failed messages\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"endpoint.bulk-replay\",\n * \"data\": {\n * \"messagesSent\": 2\n * }\n * }\n * ```\n */\n public async bulkReplay(\n appId: string,\n endpointId: string,\n bulkReplayIn: BulkReplayIn,\n options?: EndpointBulkReplayOptions\n ): Promise<ReplayOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/bulk-replay\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(BulkReplayInSerializer._toJsonObject(bulkReplayIn));\n\n return await request.send(this.requestCtx, ReplayOutSerializer._fromJsonObject);\n }\n\n /** Get basic statistics for the endpoint. */\n public async getStats(\n appId: string,\n endpointId: string,\n options?: EndpointGetStatsOptions\n ): Promise<EndpointStats> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/stats\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n since: options?.since,\n until: options?.until,\n });\n\n return await request.send(this.requestCtx, EndpointStatsSerializer._fromJsonObject);\n }\n\n /**\n * Resend all failed messages since a given time.\n *\n * Messages that were sent successfully, even if failed initially, are not resent.\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"endpoint.recover\",\n * \"data\": {\n * \"messagesSent\": 2\n * }\n * }\n * ```\n */\n public async recover(\n appId: string,\n endpointId: string,\n recoverIn: RecoverIn,\n options?: EndpointRecoverOptions\n ): Promise<RecoverOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/recover\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(RecoverInSerializer._toJsonObject(recoverIn));\n\n return await request.send(this.requestCtx, RecoverOutSerializer._fromJsonObject);\n }\n\n /** Send an example message for an event. */\n public async sendExample(\n appId: string,\n endpointId: string,\n eventExampleIn: EventExampleIn,\n options?: EndpointSendExampleOptions\n ): Promise<MessageOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EventExampleInSerializer._toJsonObject(eventExampleIn));\n\n return await request.send(this.requestCtx, MessageOutSerializer._fromJsonObject);\n }\n\n /**\n * This operation was renamed to `set-transformation`.\n *\n * @deprecated\n */\n public async transformationPartialUpdate(\n appId: string,\n endpointId: string,\n endpointTransformationIn: EndpointTransformationIn = {}\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointTransformationInSerializer._toJsonObject(endpointTransformationIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface EventTypeIn {\n /** The event type's name */\n name: string;\n description: string;\n archived?: boolean;\n deprecated?: boolean;\n /** The schema for the event type for a specific version as a JSON schema. */\n schemas?: any | null;\n /** The event type group's name */\n groupName?: string | null;\n featureFlags?: string[] | null;\n}\n\nexport const EventTypeInSerializer = {\n _fromJsonObject(object: any): EventTypeIn {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n groupName: object[\"groupName\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: EventTypeIn): any {\n return {\n name: self.name,\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n groupName: self.groupName,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorIn, ConnectorInSerializer } from \"./connectorIn\";\nimport { type EventTypeIn, EventTypeInSerializer } from \"./eventTypeIn\";\n\nexport interface EnvironmentIn {\n eventTypes?: EventTypeIn[] | null;\n settings?: any | null;\n connectors?: ConnectorIn[] | null;\n}\n\nexport const EnvironmentInSerializer = {\n _fromJsonObject(object: any): EnvironmentIn {\n return {\n eventTypes: object[\"eventTypes\"]?.map((item: EventTypeIn) =>\n EventTypeInSerializer._fromJsonObject(item)\n ),\n settings: object[\"settings\"],\n connectors: object[\"connectors\"]?.map((item: ConnectorIn) =>\n ConnectorInSerializer._fromJsonObject(item)\n ),\n };\n },\n\n _toJsonObject(self: EnvironmentIn): any {\n return {\n eventTypes: self.eventTypes?.map((item) =>\n EventTypeInSerializer._toJsonObject(item)\n ),\n settings: self.settings,\n connectors: self.connectors?.map((item) =>\n ConnectorInSerializer._toJsonObject(item)\n ),\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypeOut {\n /** The event type's name */\n name: string;\n description: string;\n archived?: boolean;\n deprecated: boolean;\n /** The schema for the event type for a specific version as a JSON schema. */\n schemas?: any | null;\n createdAt: Date;\n updatedAt: Date;\n /** The event type group's name */\n groupName?: string | null;\n featureFlags?: string[] | null;\n featureFlag?: string | null;\n}\n\nexport const EventTypeOutSerializer = {\n _fromJsonObject(object: any): EventTypeOut {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n groupName: object[\"groupName\"],\n featureFlags: object[\"featureFlags\"],\n featureFlag: object[\"featureFlag\"],\n };\n },\n\n _toJsonObject(self: EventTypeOut): any {\n return {\n name: self.name,\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n groupName: self.groupName,\n featureFlags: self.featureFlags,\n featureFlag: self.featureFlag,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorOut, ConnectorOutSerializer } from \"./connectorOut\";\nimport { type EventTypeOut, EventTypeOutSerializer } from \"./eventTypeOut\";\n\nexport interface EnvironmentOut {\n version?: number;\n createdAt: Date;\n eventTypes: EventTypeOut[];\n settings: any | null;\n connectors: ConnectorOut[];\n}\n\nexport const EnvironmentOutSerializer = {\n _fromJsonObject(object: any): EnvironmentOut {\n return {\n version: object[\"version\"],\n createdAt: new Date(object[\"createdAt\"]),\n eventTypes: object[\"eventTypes\"].map((item: EventTypeOut) =>\n EventTypeOutSerializer._fromJsonObject(item)\n ),\n settings: object[\"settings\"],\n connectors: object[\"connectors\"].map((item: ConnectorOut) =>\n ConnectorOutSerializer._fromJsonObject(item)\n ),\n };\n },\n\n _toJsonObject(self: EnvironmentOut): any {\n return {\n version: self.version,\n createdAt: self.createdAt,\n eventTypes: self.eventTypes.map((item) =>\n EventTypeOutSerializer._toJsonObject(item)\n ),\n settings: self.settings,\n connectors: self.connectors.map((item) =>\n ConnectorOutSerializer._toJsonObject(item)\n ),\n };\n },\n};\n","// this file is @generated\n\nimport { type EnvironmentIn, EnvironmentInSerializer } from \"../models/environmentIn\";\nimport { type EnvironmentOut, EnvironmentOutSerializer } from \"../models/environmentOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface EnvironmentExportOptions {\n idempotencyKey?: string;\n}\n\nexport interface EnvironmentImportOptions {\n idempotencyKey?: string;\n}\n\nexport class Environment {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * Download a JSON file containing all org-settings and event types.\n *\n * Note that the schema for [`EnvironmentOut`] is subject to change. The fields\n * herein are provided for convenience but should be treated as JSON blobs.\n */\n public async export(options?: EnvironmentExportOptions): Promise<EnvironmentOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/environment/export\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(this.requestCtx, EnvironmentOutSerializer._fromJsonObject);\n }\n\n /**\n * Import a configuration into the active organization.\n *\n * It doesn't delete anything, only adds / updates what was passed to it.\n *\n * Note that the schema for [`EnvironmentIn`] is subject to change. The fields\n * herein are provided for convenience but should be treated as JSON blobs.\n */\n public async import(\n environmentIn: EnvironmentIn = {},\n options?: EnvironmentImportOptions\n ): Promise<void> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/environment/import\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EnvironmentInSerializer._toJsonObject(environmentIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\n/**\n * Import a list of event types from webhooks defined in an OpenAPI spec.\n *\n * The OpenAPI spec can be specified as either `spec` given the spec as a JSON object, or as `specRaw` (a `string`) which will be parsed as YAML or JSON by the server. Sending neither or both is invalid, resulting in a `400` **Bad Request**.\n */\nexport interface EventTypeImportOpenApiIn {\n /** If `true`, return the event types that would be modified without actually modifying them. */\n dryRun?: boolean;\n /** If `true`, all existing event types that are not in the spec will be archived. */\n replaceAll?: boolean;\n /** A pre-parsed JSON spec. */\n spec?: any | null;\n /** A string, parsed by the server as YAML or JSON. */\n specRaw?: string | null;\n}\n\nexport const EventTypeImportOpenApiInSerializer = {\n _fromJsonObject(object: any): EventTypeImportOpenApiIn {\n return {\n dryRun: object[\"dryRun\"],\n replaceAll: object[\"replaceAll\"],\n spec: object[\"spec\"],\n specRaw: object[\"specRaw\"],\n };\n },\n\n _toJsonObject(self: EventTypeImportOpenApiIn): any {\n return {\n dryRun: self.dryRun,\n replaceAll: self.replaceAll,\n spec: self.spec,\n specRaw: self.specRaw,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypeFromOpenApi {\n /** The event type's name */\n name: string;\n description: string;\n schemas?: any | null;\n deprecated: boolean;\n /** The event type group's name */\n groupName?: string | null;\n featureFlags?: string[] | null;\n}\n\nexport const EventTypeFromOpenApiSerializer = {\n _fromJsonObject(object: any): EventTypeFromOpenApi {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n schemas: object[\"schemas\"],\n deprecated: object[\"deprecated\"],\n groupName: object[\"groupName\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: EventTypeFromOpenApi): any {\n return {\n name: self.name,\n description: self.description,\n schemas: self.schemas,\n deprecated: self.deprecated,\n groupName: self.groupName,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport {\n type EventTypeFromOpenApi,\n EventTypeFromOpenApiSerializer,\n} from \"./eventTypeFromOpenApi\";\n\nexport interface EventTypeImportOpenApiOutData {\n modified: string[];\n toModify?: EventTypeFromOpenApi[] | null;\n}\n\nexport const EventTypeImportOpenApiOutDataSerializer = {\n _fromJsonObject(object: any): EventTypeImportOpenApiOutData {\n return {\n modified: object[\"modified\"],\n toModify: object[\"to_modify\"]?.map((item: EventTypeFromOpenApi) =>\n EventTypeFromOpenApiSerializer._fromJsonObject(item)\n ),\n };\n },\n\n _toJsonObject(self: EventTypeImportOpenApiOutData): any {\n return {\n modified: self.modified,\n to_modify: self.toModify?.map((item) =>\n EventTypeFromOpenApiSerializer._toJsonObject(item)\n ),\n };\n },\n};\n","// this file is @generated\nimport {\n type EventTypeImportOpenApiOutData,\n EventTypeImportOpenApiOutDataSerializer,\n} from \"./eventTypeImportOpenApiOutData\";\n\nexport interface EventTypeImportOpenApiOut {\n data: EventTypeImportOpenApiOutData;\n}\n\nexport const EventTypeImportOpenApiOutSerializer = {\n _fromJsonObject(object: any): EventTypeImportOpenApiOut {\n return {\n data: EventTypeImportOpenApiOutDataSerializer._fromJsonObject(object[\"data\"]),\n };\n },\n\n _toJsonObject(self: EventTypeImportOpenApiOut): any {\n return {\n data: EventTypeImportOpenApiOutDataSerializer._toJsonObject(self.data),\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypePatch {\n description?: string;\n archived?: boolean;\n deprecated?: boolean;\n schemas?: any | null;\n featureFlags?: string[] | null;\n /** The event type group's name */\n groupName?: string | null;\n}\n\nexport const EventTypePatchSerializer = {\n _fromJsonObject(object: any): EventTypePatch {\n return {\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n };\n },\n\n _toJsonObject(self: EventTypePatch): any {\n return {\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypeUpsertIn {\n description: string;\n archived?: boolean;\n deprecated?: boolean;\n /** The schema for the event type for a specific version as a JSON schema. */\n schemas?: any | null;\n featureFlags?: string[] | null;\n /** The event type group's name */\n groupName?: string | null;\n}\n\nexport const EventTypeUpsertInSerializer = {\n _fromJsonObject(object: any): EventTypeUpsertIn {\n return {\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n };\n },\n\n _toJsonObject(self: EventTypeUpsertIn): any {\n return {\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n };\n },\n};\n","// this file is @generated\nimport { type EventTypeOut, EventTypeOutSerializer } from \"./eventTypeOut\";\n\nexport interface ListResponseEventTypeOut {\n data: EventTypeOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseEventTypeOutSerializer = {\n _fromJsonObject(object: any): ListResponseEventTypeOut {\n return {\n data: object[\"data\"].map((item: EventTypeOut) =>\n EventTypeOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseEventTypeOut): any {\n return {\n data: self.data.map((item) => EventTypeOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type EventTypeImportOpenApiIn,\n EventTypeImportOpenApiInSerializer,\n} from \"../models/eventTypeImportOpenApiIn\";\nimport {\n type EventTypeImportOpenApiOut,\n EventTypeImportOpenApiOutSerializer,\n} from \"../models/eventTypeImportOpenApiOut\";\nimport { type EventTypeIn, EventTypeInSerializer } from \"../models/eventTypeIn\";\nimport { type EventTypeOut, EventTypeOutSerializer } from \"../models/eventTypeOut\";\nimport { type EventTypePatch, EventTypePatchSerializer } from \"../models/eventTypePatch\";\nimport {\n type EventTypeUpsertIn,\n EventTypeUpsertInSerializer,\n} from \"../models/eventTypeUpsertIn\";\nimport {\n type ListResponseEventTypeOut,\n ListResponseEventTypeOutSerializer,\n} from \"../models/listResponseEventTypeOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface EventTypeListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n /** When `true` archived (deleted but not expunged) items are included in the response. */\n includeArchived?: boolean;\n /** When `true` the full item (including the schema) is included in the response. */\n withContent?: boolean;\n}\n\nexport interface EventTypeCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface EventTypeImportOpenapiOptions {\n idempotencyKey?: string;\n}\n\nexport interface EventTypeDeleteOptions {\n /** By default event types are archived when \"deleted\". Passing this to `true` deletes them entirely. */\n expunge?: boolean;\n}\n\nexport class EventType {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Return the list of event types. */\n public async list(options?: EventTypeListOptions): Promise<ListResponseEventTypeOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/event-type\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n include_archived: options?.includeArchived,\n with_content: options?.withContent ?? false,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Create new or unarchive existing event type.\n *\n * Unarchiving an event type will allow endpoints to filter on it and messages to be sent with it.\n * Endpoints filtering on the event type before archival will continue to filter on it.\n * This operation does not preserve the description and schemas.\n */\n public async create(\n eventTypeIn: EventTypeIn,\n options?: EventTypeCreateOptions\n ): Promise<EventTypeOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/event-type\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EventTypeInSerializer._toJsonObject(eventTypeIn));\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n\n /**\n * Given an OpenAPI spec, create new or update existing event types.\n *\n * If an existing `archived` event type is updated, it will be unarchived.\n * The importer will convert all webhooks found in the either the `webhooks` or `x-webhooks`\n * top-level.\n */\n public async importOpenapi(\n eventTypeImportOpenApiIn: EventTypeImportOpenApiIn = {},\n options?: EventTypeImportOpenapiOptions\n ): Promise<EventTypeImportOpenApiOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/event-type/import/openapi\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n EventTypeImportOpenApiInSerializer._toJsonObject(eventTypeImportOpenApiIn)\n );\n\n return await request.send(\n this.requestCtx,\n EventTypeImportOpenApiOutSerializer._fromJsonObject\n );\n }\n\n /** Get an event type. */\n public async get(eventTypeName: string): Promise<EventTypeOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n\n /** Create or update an event type. */\n public async upsert(\n eventTypeName: string,\n eventTypeUpsertIn: EventTypeUpsertIn\n ): Promise<EventTypeOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setBody(EventTypeUpsertInSerializer._toJsonObject(eventTypeUpsertIn));\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n\n /**\n * Archive an event type.\n *\n * Endpoints already configured to filter on an event type will continue to do so after archival.\n * However, new messages can not be sent with it and endpoints can not filter on it.\n * An event type can be unarchived with the\n * [create operation](#operation/create_event_type_api_v1_event_type__post).\n */\n public async delete(\n eventTypeName: string,\n options?: EventTypeDeleteOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setQueryParams({\n expunge: options?.expunge,\n });\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update an event type. */\n public async patch(\n eventTypeName: string,\n eventTypePatch: EventTypePatch\n ): Promise<EventTypeOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setBody(EventTypePatchSerializer._toJsonObject(eventTypePatch));\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class Health {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Verify the API server is up and running. */\n public async get(): Promise<void> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/health\");\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface IngestSourceConsumerPortalAccessIn {\n /**\n * How long the token will be valid for, in seconds.\n *\n * Valid values are between 1 hour and 7 days. The default is 7 days.\n */\n expiry?: number | null;\n /** Whether the app portal should be in read-only mode. */\n readOnly?: boolean | null;\n}\n\nexport const IngestSourceConsumerPortalAccessInSerializer = {\n _fromJsonObject(object: any): IngestSourceConsumerPortalAccessIn {\n return {\n expiry: object[\"expiry\"],\n readOnly: object[\"readOnly\"],\n };\n },\n\n _toJsonObject(self: IngestSourceConsumerPortalAccessIn): any {\n return {\n expiry: self.expiry,\n readOnly: self.readOnly,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type AppPortalAccessOut,\n AppPortalAccessOutSerializer,\n} from \"../models/appPortalAccessOut\";\nimport {\n type IngestSourceConsumerPortalAccessIn,\n IngestSourceConsumerPortalAccessInSerializer,\n} from \"../models/ingestSourceConsumerPortalAccessIn\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IngestAuthenticationConsumerPortalAccessOptions {\n idempotencyKey?: string;\n}\n\nexport class IngestAuthentication {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get access to the Ingest Source Consumer Portal. */\n public async consumerPortalAccess(\n sourceId: string,\n ingestSourceConsumerPortalAccessIn: IngestSourceConsumerPortalAccessIn = {},\n options?: IngestAuthenticationConsumerPortalAccessOptions\n ): Promise<AppPortalAccessOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/dashboard\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n IngestSourceConsumerPortalAccessInSerializer._toJsonObject(\n ingestSourceConsumerPortalAccessIn\n )\n );\n\n return await request.send(\n this.requestCtx,\n AppPortalAccessOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface IngestEndpointHeadersIn {\n headers: { [key: string]: string };\n}\n\nexport const IngestEndpointHeadersInSerializer = {\n _fromJsonObject(object: any): IngestEndpointHeadersIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointHeadersIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointHeadersOut {\n headers: { [key: string]: string };\n sensitive: string[];\n}\n\nexport const IngestEndpointHeadersOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointHeadersOut {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointHeadersOut): any {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n metadata?: { [key: string]: string };\n headers?: { [key: string]: string } | null;\n}\n\nexport const IngestEndpointInSerializer = {\n _fromJsonObject(object: any): IngestEndpointIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n secret: object[\"secret\"],\n metadata: object[\"metadata\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n secret: self.secret,\n metadata: self.metadata,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointOut {\n /** The Endpoint's ID. */\n id: string;\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const IngestEndpointOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointOut {\n return {\n id: object[\"id\"],\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointOut): any {\n return {\n id: self.id,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointSecretIn {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n /**\n * How long the old secret will be valid for, in seconds.\n *\n * Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.\n */\n gracePeriodSeconds?: number | null;\n}\n\nexport const IngestEndpointSecretInSerializer = {\n _fromJsonObject(object: any): IngestEndpointSecretIn {\n return {\n key: object[\"key\"],\n gracePeriodSeconds: object[\"gracePeriodSeconds\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointSecretIn): any {\n return {\n key: self.key,\n gracePeriodSeconds: self.gracePeriodSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key: string;\n}\n\nexport const IngestEndpointSecretOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointUpsertIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n metadata?: { [key: string]: string };\n}\n\nexport const IngestEndpointUpsertInSerializer = {\n _fromJsonObject(object: any): IngestEndpointUpsertIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointUpsertIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type IngestEndpointOut, IngestEndpointOutSerializer } from \"./ingestEndpointOut\";\n\nexport interface ListResponseIngestEndpointOut {\n data: IngestEndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseIngestEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseIngestEndpointOut {\n return {\n data: object[\"data\"].map((item: IngestEndpointOut) =>\n IngestEndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseIngestEndpointOut): any {\n return {\n data: self.data.map((item) => IngestEndpointOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointTransformationOut {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n}\n\nexport const IngestEndpointTransformationOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointTransformationOut {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointTransformationOut): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointTransformationPatch {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n}\n\nexport const IngestEndpointTransformationPatchSerializer = {\n _fromJsonObject(object: any): IngestEndpointTransformationPatch {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointTransformationPatch): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type IngestEndpointTransformationOut,\n IngestEndpointTransformationOutSerializer,\n} from \"../models/ingestEndpointTransformationOut\";\nimport {\n type IngestEndpointTransformationPatch,\n IngestEndpointTransformationPatchSerializer,\n} from \"../models/ingestEndpointTransformationPatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class IngestEndpointTransformation {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get the transformation code associated with this ingest endpoint. */\n public async get(\n sourceId: string,\n endpointId: string\n ): Promise<IngestEndpointTransformationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointTransformationOutSerializer._fromJsonObject\n );\n }\n\n /** Set or unset the transformation code associated with this ingest endpoint. */\n public async patch(\n sourceId: string,\n endpointId: string,\n ingestEndpointTransformationPatch: IngestEndpointTransformationPatch\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n IngestEndpointTransformationPatchSerializer._toJsonObject(\n ingestEndpointTransformationPatch\n )\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nimport {\n type IngestEndpointHeadersIn,\n IngestEndpointHeadersInSerializer,\n} from \"../models/ingestEndpointHeadersIn\";\nimport {\n type IngestEndpointHeadersOut,\n IngestEndpointHeadersOutSerializer,\n} from \"../models/ingestEndpointHeadersOut\";\nimport {\n type IngestEndpointIn,\n IngestEndpointInSerializer,\n} from \"../models/ingestEndpointIn\";\nimport {\n type IngestEndpointOut,\n IngestEndpointOutSerializer,\n} from \"../models/ingestEndpointOut\";\nimport {\n type IngestEndpointSecretIn,\n IngestEndpointSecretInSerializer,\n} from \"../models/ingestEndpointSecretIn\";\nimport {\n type IngestEndpointSecretOut,\n IngestEndpointSecretOutSerializer,\n} from \"../models/ingestEndpointSecretOut\";\nimport {\n type IngestEndpointUpsertIn,\n IngestEndpointUpsertInSerializer,\n} from \"../models/ingestEndpointUpsertIn\";\nimport {\n type ListResponseIngestEndpointOut,\n ListResponseIngestEndpointOutSerializer,\n} from \"../models/listResponseIngestEndpointOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { IngestEndpointTransformation } from \"./ingestEndpointTransformation\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IngestEndpointListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface IngestEndpointCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface IngestEndpointRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport class IngestEndpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get transformation() {\n return new IngestEndpointTransformation(this.requestCtx);\n }\n\n /** List ingest endpoints. */\n public async list(\n sourceId: string,\n options?: IngestEndpointListOptions\n ): Promise<ListResponseIngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseIngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create an ingest endpoint. */\n public async create(\n sourceId: string,\n ingestEndpointIn: IngestEndpointIn,\n options?: IngestEndpointCreateOptions\n ): Promise<IngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/endpoint\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(IngestEndpointInSerializer._toJsonObject(ingestEndpointIn));\n\n return await request.send(\n this.requestCtx,\n IngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Get an ingest endpoint. */\n public async get(sourceId: string, endpointId: string): Promise<IngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create or update an ingest endpoint. */\n public async upsert(\n sourceId: string,\n endpointId: string,\n ingestEndpointUpsertIn: IngestEndpointUpsertIn\n ): Promise<IngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n IngestEndpointUpsertInSerializer._toJsonObject(ingestEndpointUpsertIn)\n );\n\n return await request.send(\n this.requestCtx,\n IngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Delete an ingest endpoint. */\n public async delete(sourceId: string, endpointId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Get an ingest endpoint's signing secret.\n *\n * This is used to verify the authenticity of the webhook.\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(\n sourceId: string,\n endpointId: string\n ): Promise<IngestEndpointSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointSecretOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Rotates an ingest endpoint's signing secret.\n *\n * The previous secret will remain valid for the specified grace period (default 24 hours).\n */\n public async rotateSecret(\n sourceId: string,\n endpointId: string,\n ingestEndpointSecretIn: IngestEndpointSecretIn = {},\n options?: IngestEndpointRotateSecretOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret/rotate\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n IngestEndpointSecretInSerializer._toJsonObject(ingestEndpointSecretIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Get the additional headers to be sent with the ingest. */\n public async getHeaders(\n sourceId: string,\n endpointId: string\n ): Promise<IngestEndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /** Set the additional headers to be sent to the endpoint. */\n public async setHeaders(\n sourceId: string,\n endpointId: string,\n ingestEndpointHeadersIn: IngestEndpointHeadersIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n IngestEndpointHeadersInSerializer._toJsonObject(ingestEndpointHeadersIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface AdobeSignConfig {\n clientId: string;\n}\n\nexport const AdobeSignConfigSerializer = {\n _fromJsonObject(object: any): AdobeSignConfig {\n return {\n clientId: object[\"clientId\"],\n };\n },\n\n _toJsonObject(self: AdobeSignConfig): any {\n return {\n clientId: self.clientId,\n };\n },\n};\n","// this file is @generated\n\nexport interface AirwallexConfig {\n secret: string;\n}\n\nexport const AirwallexConfigSerializer = {\n _fromJsonObject(object: any): AirwallexConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: AirwallexConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface CheckbookConfig {\n secret: string;\n}\n\nexport const CheckbookConfigSerializer = {\n _fromJsonObject(object: any): CheckbookConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: CheckbookConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface CronConfig {\n schedule: string;\n payload: string;\n /**\n * Override the default content-type.\n *\n * Recommended if the payload is not JSON.\n */\n contentType?: string | null;\n}\n\nexport const CronConfigSerializer = {\n _fromJsonObject(object: any): CronConfig {\n return {\n schedule: object[\"schedule\"],\n payload: object[\"payload\"],\n contentType: object[\"contentType\"],\n };\n },\n\n _toJsonObject(self: CronConfig): any {\n return {\n schedule: self.schedule,\n payload: self.payload,\n contentType: self.contentType,\n };\n },\n};\n","// this file is @generated\n\nexport interface DocusignConfig {\n secret?: string | null;\n}\n\nexport const DocusignConfigSerializer = {\n _fromJsonObject(object: any): DocusignConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: DocusignConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface EasypostConfig {\n secret?: string | null;\n}\n\nexport const EasypostConfigSerializer = {\n _fromJsonObject(object: any): EasypostConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: EasypostConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface GithubConfig {\n secret?: string | null;\n}\n\nexport const GithubConfigSerializer = {\n _fromJsonObject(object: any): GithubConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: GithubConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface HubspotConfig {\n secret?: string | null;\n}\n\nexport const HubspotConfigSerializer = {\n _fromJsonObject(object: any): HubspotConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: HubspotConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface MetaConfig {\n secret: string;\n verifyToken: string;\n}\n\nexport const MetaConfigSerializer = {\n _fromJsonObject(object: any): MetaConfig {\n return {\n secret: object[\"secret\"],\n verifyToken: object[\"verifyToken\"],\n };\n },\n\n _toJsonObject(self: MetaConfig): any {\n return {\n secret: self.secret,\n verifyToken: self.verifyToken,\n };\n },\n};\n","// this file is @generated\n\nexport interface NangoConfig {\n secret: string;\n}\n\nexport const NangoConfigSerializer = {\n _fromJsonObject(object: any): NangoConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: NangoConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface OpenClawConfig {\n secret: string;\n}\n\nexport const OpenClawConfigSerializer = {\n _fromJsonObject(object: any): OpenClawConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: OpenClawConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface OrumIoConfig {\n publicKey: string;\n}\n\nexport const OrumIoConfigSerializer = {\n _fromJsonObject(object: any): OrumIoConfig {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: OrumIoConfig): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface PandaDocConfig {\n secret: string;\n}\n\nexport const PandaDocConfigSerializer = {\n _fromJsonObject(object: any): PandaDocConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: PandaDocConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface PortIoConfig {\n secret: string;\n}\n\nexport const PortIoConfigSerializer = {\n _fromJsonObject(object: any): PortIoConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: PortIoConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface RutterConfig {\n secret: string;\n}\n\nexport const RutterConfigSerializer = {\n _fromJsonObject(object: any): RutterConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: RutterConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface SegmentConfig {\n secret?: string | null;\n}\n\nexport const SegmentConfigSerializer = {\n _fromJsonObject(object: any): SegmentConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: SegmentConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface ShopifyConfig {\n secret: string;\n}\n\nexport const ShopifyConfigSerializer = {\n _fromJsonObject(object: any): ShopifyConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: ShopifyConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface SlackConfig {\n secret: string;\n}\n\nexport const SlackConfigSerializer = {\n _fromJsonObject(object: any): SlackConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: SlackConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface StripeConfig {\n secret: string;\n}\n\nexport const StripeConfigSerializer = {\n _fromJsonObject(object: any): StripeConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: StripeConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface SvixConfig {\n secret: string;\n}\n\nexport const SvixConfigSerializer = {\n _fromJsonObject(object: any): SvixConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: SvixConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface TailscaleConfig {\n /** Shared secret for Tailscale Webhooks */\n secret: string;\n /**\n * Grace period (in seconds) for the timestamp.\n *\n * If not passed, timestamp age will not be checked.\n */\n timestampGraceSeconds?: number | null;\n}\n\nexport const TailscaleConfigSerializer = {\n _fromJsonObject(object: any): TailscaleConfig {\n return {\n secret: object[\"secret\"],\n timestampGraceSeconds: object[\"timestampGraceSeconds\"],\n };\n },\n\n _toJsonObject(self: TailscaleConfig): any {\n return {\n secret: self.secret,\n timestampGraceSeconds: self.timestampGraceSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface TelnyxConfig {\n publicKey: string;\n}\n\nexport const TelnyxConfigSerializer = {\n _fromJsonObject(object: any): TelnyxConfig {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: TelnyxConfig): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface VapiConfig {\n secret: string;\n}\n\nexport const VapiConfigSerializer = {\n _fromJsonObject(object: any): VapiConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: VapiConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface VeriffConfig {\n secret: string;\n}\n\nexport const VeriffConfigSerializer = {\n _fromJsonObject(object: any): VeriffConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: VeriffConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface VgsConfig {\n secret: string;\n}\n\nexport const VgsConfigSerializer = {\n _fromJsonObject(object: any): VgsConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: VgsConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface ZoomConfig {\n secret: string;\n}\n\nexport const ZoomConfigSerializer = {\n _fromJsonObject(object: any): ZoomConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: ZoomConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\nimport { type AdobeSignConfig, AdobeSignConfigSerializer } from \"./adobeSignConfig\";\nimport { type AirwallexConfig, AirwallexConfigSerializer } from \"./airwallexConfig\";\nimport { type CheckbookConfig, CheckbookConfigSerializer } from \"./checkbookConfig\";\nimport { type CronConfig, CronConfigSerializer } from \"./cronConfig\";\nimport { type DocusignConfig, DocusignConfigSerializer } from \"./docusignConfig\";\nimport { type EasypostConfig, EasypostConfigSerializer } from \"./easypostConfig\";\nimport { type GithubConfig, GithubConfigSerializer } from \"./githubConfig\";\nimport { type HubspotConfig, HubspotConfigSerializer } from \"./hubspotConfig\";\nimport { type MetaConfig, MetaConfigSerializer } from \"./metaConfig\";\nimport { type NangoConfig, NangoConfigSerializer } from \"./nangoConfig\";\nimport { type OpenClawConfig, OpenClawConfigSerializer } from \"./openClawConfig\";\nimport { type OrumIoConfig, OrumIoConfigSerializer } from \"./orumIoConfig\";\nimport { type PandaDocConfig, PandaDocConfigSerializer } from \"./pandaDocConfig\";\nimport { type PortIoConfig, PortIoConfigSerializer } from \"./portIoConfig\";\nimport { type RutterConfig, RutterConfigSerializer } from \"./rutterConfig\";\nimport { type SegmentConfig, SegmentConfigSerializer } from \"./segmentConfig\";\nimport { type ShopifyConfig, ShopifyConfigSerializer } from \"./shopifyConfig\";\nimport { type SlackConfig, SlackConfigSerializer } from \"./slackConfig\";\nimport { type StripeConfig, StripeConfigSerializer } from \"./stripeConfig\";\nimport { type SvixConfig, SvixConfigSerializer } from \"./svixConfig\";\nimport { type TailscaleConfig, TailscaleConfigSerializer } from \"./tailscaleConfig\";\nimport { type TelnyxConfig, TelnyxConfigSerializer } from \"./telnyxConfig\";\nimport { type VapiConfig, VapiConfigSerializer } from \"./vapiConfig\";\nimport { type VeriffConfig, VeriffConfigSerializer } from \"./veriffConfig\";\nimport { type VgsConfig, VgsConfigSerializer } from \"./vgsConfig\";\nimport { type ZoomConfig, ZoomConfigSerializer } from \"./zoomConfig\";\n\ninterface _IngestSourceInFields {\n name: string;\n /** The Source's UID. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface IngestSourceInGenericWebhookConfig {}\n\ninterface IngestSourceInGenericWebhook {\n type: \"generic-webhook\";\n config?: IngestSourceInGenericWebhookConfig;\n}\n\ninterface IngestSourceInCron {\n type: \"cron\";\n config: CronConfig;\n}\n\ninterface IngestSourceInAdobeSign {\n type: \"adobe-sign\";\n config: AdobeSignConfig;\n}\n\ninterface IngestSourceInBeehiiv {\n type: \"beehiiv\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInBrex {\n type: \"brex\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInCheckbook {\n type: \"checkbook\";\n config: CheckbookConfig;\n}\n\ninterface IngestSourceInClerk {\n type: \"clerk\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInDocusign {\n type: \"docusign\";\n config: DocusignConfig;\n}\n\ninterface IngestSourceInEasypost {\n type: \"easypost\";\n config: EasypostConfig;\n}\n\ninterface IngestSourceInGithub {\n type: \"github\";\n config: GithubConfig;\n}\n\ninterface IngestSourceInGuesty {\n type: \"guesty\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInHubspot {\n type: \"hubspot\";\n config: HubspotConfig;\n}\n\ninterface IngestSourceInIncidentIo {\n type: \"incident-io\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInLithic {\n type: \"lithic\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInMeta {\n type: \"meta\";\n config: MetaConfig;\n}\n\ninterface IngestSourceInNango {\n type: \"nango\";\n config: NangoConfig;\n}\n\ninterface IngestSourceInNash {\n type: \"nash\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInOpenclaw {\n type: \"openclaw\";\n config: OpenClawConfig;\n}\n\ninterface IngestSourceInOrumIo {\n type: \"orum-io\";\n config: OrumIoConfig;\n}\n\ninterface IngestSourceInPandaDoc {\n type: \"panda-doc\";\n config: PandaDocConfig;\n}\n\ninterface IngestSourceInPortIo {\n type: \"port-io\";\n config: PortIoConfig;\n}\n\ninterface IngestSourceInPleo {\n type: \"pleo\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInPsiFi {\n type: \"psi-fi\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInReplicate {\n type: \"replicate\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInResend {\n type: \"resend\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInRutter {\n type: \"rutter\";\n config: RutterConfig;\n}\n\ninterface IngestSourceInSafebase {\n type: \"safebase\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInSardine {\n type: \"sardine\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInSegment {\n type: \"segment\";\n config: SegmentConfig;\n}\n\ninterface IngestSourceInShopify {\n type: \"shopify\";\n config: ShopifyConfig;\n}\n\ninterface IngestSourceInSlack {\n type: \"slack\";\n config: SlackConfig;\n}\n\ninterface IngestSourceInStripe {\n type: \"stripe\";\n config: StripeConfig;\n}\n\ninterface IngestSourceInStych {\n type: \"stych\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInSvix {\n type: \"svix\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInZoom {\n type: \"zoom\";\n config: ZoomConfig;\n}\n\ninterface IngestSourceInTailscale {\n type: \"tailscale\";\n config: TailscaleConfig;\n}\n\ninterface IngestSourceInTelnyx {\n type: \"telnyx\";\n config: TelnyxConfig;\n}\n\ninterface IngestSourceInVapi {\n type: \"vapi\";\n config: VapiConfig;\n}\n\ninterface IngestSourceInOpenAi {\n type: \"open-ai\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInRender {\n type: \"render\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInVeriff {\n type: \"veriff\";\n config: VeriffConfig;\n}\n\ninterface IngestSourceInAirwallex {\n type: \"airwallex\";\n config: AirwallexConfig;\n}\n\ninterface IngestSourceInVgs {\n type: \"vgs\";\n config: VgsConfig;\n}\n\nexport type IngestSourceIn = _IngestSourceInFields &\n (\n | IngestSourceInGenericWebhook\n | IngestSourceInCron\n | IngestSourceInAdobeSign\n | IngestSourceInBeehiiv\n | IngestSourceInBrex\n | IngestSourceInCheckbook\n | IngestSourceInClerk\n | IngestSourceInDocusign\n | IngestSourceInEasypost\n | IngestSourceInGithub\n | IngestSourceInGuesty\n | IngestSourceInHubspot\n | IngestSourceInIncidentIo\n | IngestSourceInLithic\n | IngestSourceInMeta\n | IngestSourceInNango\n | IngestSourceInNash\n | IngestSourceInOpenclaw\n | IngestSourceInOrumIo\n | IngestSourceInPandaDoc\n | IngestSourceInPortIo\n | IngestSourceInPleo\n | IngestSourceInPsiFi\n | IngestSourceInReplicate\n | IngestSourceInResend\n | IngestSourceInRutter\n | IngestSourceInSafebase\n | IngestSourceInSardine\n | IngestSourceInSegment\n | IngestSourceInShopify\n | IngestSourceInSlack\n | IngestSourceInStripe\n | IngestSourceInStych\n | IngestSourceInSvix\n | IngestSourceInZoom\n | IngestSourceInTailscale\n | IngestSourceInTelnyx\n | IngestSourceInVapi\n | IngestSourceInOpenAi\n | IngestSourceInRender\n | IngestSourceInVeriff\n | IngestSourceInAirwallex\n | IngestSourceInVgs\n );\n\nexport const IngestSourceInSerializer = {\n _fromJsonObject(object: any): IngestSourceIn {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"generic-webhook\":\n return {};\n case \"cron\":\n return CronConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"adobe-sign\":\n return AdobeSignConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"beehiiv\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"brex\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"checkbook\":\n return CheckbookConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"clerk\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"docusign\":\n return DocusignConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"easypost\":\n return EasypostConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"github\":\n return GithubConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"guesty\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"hubspot\":\n return HubspotConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"incident-io\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"lithic\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"meta\":\n return MetaConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"nango\":\n return NangoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"nash\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"openclaw\":\n return OpenClawConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"orum-io\":\n return OrumIoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"panda-doc\":\n return PandaDocConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"port-io\":\n return PortIoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"pleo\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"psi-fi\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"replicate\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"resend\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"rutter\":\n return RutterConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"safebase\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"sardine\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"segment\":\n return SegmentConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"shopify\":\n return ShopifyConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"slack\":\n return SlackConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"stripe\":\n return StripeConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"stych\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"svix\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"zoom\":\n return ZoomConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"tailscale\":\n return TailscaleConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"telnyx\":\n return TelnyxConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"vapi\":\n return VapiConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"open-ai\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"render\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"veriff\":\n return VeriffConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"airwallex\":\n return AirwallexConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"vgs\":\n return VgsConfigSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n name: object[\"name\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestSourceIn): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"generic-webhook\":\n config = {};\n break;\n case \"cron\":\n config = CronConfigSerializer._toJsonObject(self.config);\n break;\n case \"adobe-sign\":\n config = AdobeSignConfigSerializer._toJsonObject(self.config);\n break;\n case \"beehiiv\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"brex\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"checkbook\":\n config = CheckbookConfigSerializer._toJsonObject(self.config);\n break;\n case \"clerk\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"docusign\":\n config = DocusignConfigSerializer._toJsonObject(self.config);\n break;\n case \"easypost\":\n config = EasypostConfigSerializer._toJsonObject(self.config);\n break;\n case \"github\":\n config = GithubConfigSerializer._toJsonObject(self.config);\n break;\n case \"guesty\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"hubspot\":\n config = HubspotConfigSerializer._toJsonObject(self.config);\n break;\n case \"incident-io\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"lithic\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"meta\":\n config = MetaConfigSerializer._toJsonObject(self.config);\n break;\n case \"nango\":\n config = NangoConfigSerializer._toJsonObject(self.config);\n break;\n case \"nash\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"openclaw\":\n config = OpenClawConfigSerializer._toJsonObject(self.config);\n break;\n case \"orum-io\":\n config = OrumIoConfigSerializer._toJsonObject(self.config);\n break;\n case \"panda-doc\":\n config = PandaDocConfigSerializer._toJsonObject(self.config);\n break;\n case \"port-io\":\n config = PortIoConfigSerializer._toJsonObject(self.config);\n break;\n case \"pleo\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"psi-fi\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"replicate\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"resend\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"rutter\":\n config = RutterConfigSerializer._toJsonObject(self.config);\n break;\n case \"safebase\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"sardine\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"segment\":\n config = SegmentConfigSerializer._toJsonObject(self.config);\n break;\n case \"shopify\":\n config = ShopifyConfigSerializer._toJsonObject(self.config);\n break;\n case \"slack\":\n config = SlackConfigSerializer._toJsonObject(self.config);\n break;\n case \"stripe\":\n config = StripeConfigSerializer._toJsonObject(self.config);\n break;\n case \"stych\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"svix\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"zoom\":\n config = ZoomConfigSerializer._toJsonObject(self.config);\n break;\n case \"tailscale\":\n config = TailscaleConfigSerializer._toJsonObject(self.config);\n break;\n case \"telnyx\":\n config = TelnyxConfigSerializer._toJsonObject(self.config);\n break;\n case \"vapi\":\n config = VapiConfigSerializer._toJsonObject(self.config);\n break;\n case \"open-ai\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"render\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"veriff\":\n config = VeriffConfigSerializer._toJsonObject(self.config);\n break;\n case \"airwallex\":\n config = AirwallexConfigSerializer._toJsonObject(self.config);\n break;\n case \"vgs\":\n config = VgsConfigSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n name: self.name,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface AdobeSignConfigOut {}\n\nexport const AdobeSignConfigOutSerializer = {\n _fromJsonObject(_object: any): AdobeSignConfigOut {\n return {};\n },\n\n _toJsonObject(_self: AdobeSignConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface AirwallexConfigOut {}\n\nexport const AirwallexConfigOutSerializer = {\n _fromJsonObject(_object: any): AirwallexConfigOut {\n return {};\n },\n\n _toJsonObject(_self: AirwallexConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface CheckbookConfigOut {}\n\nexport const CheckbookConfigOutSerializer = {\n _fromJsonObject(_object: any): CheckbookConfigOut {\n return {};\n },\n\n _toJsonObject(_self: CheckbookConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface DocusignConfigOut {}\n\nexport const DocusignConfigOutSerializer = {\n _fromJsonObject(_object: any): DocusignConfigOut {\n return {};\n },\n\n _toJsonObject(_self: DocusignConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface EasypostConfigOut {}\n\nexport const EasypostConfigOutSerializer = {\n _fromJsonObject(_object: any): EasypostConfigOut {\n return {};\n },\n\n _toJsonObject(_self: EasypostConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface GithubConfigOut {}\n\nexport const GithubConfigOutSerializer = {\n _fromJsonObject(_object: any): GithubConfigOut {\n return {};\n },\n\n _toJsonObject(_self: GithubConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface HubspotConfigOut {}\n\nexport const HubspotConfigOutSerializer = {\n _fromJsonObject(_object: any): HubspotConfigOut {\n return {};\n },\n\n _toJsonObject(_self: HubspotConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface MetaConfigOut {}\n\nexport const MetaConfigOutSerializer = {\n _fromJsonObject(_object: any): MetaConfigOut {\n return {};\n },\n\n _toJsonObject(_self: MetaConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface NangoConfigOut {}\n\nexport const NangoConfigOutSerializer = {\n _fromJsonObject(_object: any): NangoConfigOut {\n return {};\n },\n\n _toJsonObject(_self: NangoConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface OpenClawConfigOut {}\n\nexport const OpenClawConfigOutSerializer = {\n _fromJsonObject(_object: any): OpenClawConfigOut {\n return {};\n },\n\n _toJsonObject(_self: OpenClawConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport interface OrumIoConfigOut {\n publicKey: string;\n}\n\nexport const OrumIoConfigOutSerializer = {\n _fromJsonObject(object: any): OrumIoConfigOut {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: OrumIoConfigOut): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface PandaDocConfigOut {}\n\nexport const PandaDocConfigOutSerializer = {\n _fromJsonObject(_object: any): PandaDocConfigOut {\n return {};\n },\n\n _toJsonObject(_self: PandaDocConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface PortIoConfigOut {}\n\nexport const PortIoConfigOutSerializer = {\n _fromJsonObject(_object: any): PortIoConfigOut {\n return {};\n },\n\n _toJsonObject(_self: PortIoConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface RutterConfigOut {}\n\nexport const RutterConfigOutSerializer = {\n _fromJsonObject(_object: any): RutterConfigOut {\n return {};\n },\n\n _toJsonObject(_self: RutterConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface SegmentConfigOut {}\n\nexport const SegmentConfigOutSerializer = {\n _fromJsonObject(_object: any): SegmentConfigOut {\n return {};\n },\n\n _toJsonObject(_self: SegmentConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface ShopifyConfigOut {}\n\nexport const ShopifyConfigOutSerializer = {\n _fromJsonObject(_object: any): ShopifyConfigOut {\n return {};\n },\n\n _toJsonObject(_self: ShopifyConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface SlackConfigOut {}\n\nexport const SlackConfigOutSerializer = {\n _fromJsonObject(_object: any): SlackConfigOut {\n return {};\n },\n\n _toJsonObject(_self: SlackConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface StripeConfigOut {}\n\nexport const StripeConfigOutSerializer = {\n _fromJsonObject(_object: any): StripeConfigOut {\n return {};\n },\n\n _toJsonObject(_self: StripeConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface SvixConfigOut {}\n\nexport const SvixConfigOutSerializer = {\n _fromJsonObject(_object: any): SvixConfigOut {\n return {};\n },\n\n _toJsonObject(_self: SvixConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface TailscaleConfigOut {}\n\nexport const TailscaleConfigOutSerializer = {\n _fromJsonObject(_object: any): TailscaleConfigOut {\n return {};\n },\n\n _toJsonObject(_self: TailscaleConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport interface TelnyxConfigOut {\n publicKey: string;\n}\n\nexport const TelnyxConfigOutSerializer = {\n _fromJsonObject(object: any): TelnyxConfigOut {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: TelnyxConfigOut): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface VapiConfigOut {}\n\nexport const VapiConfigOutSerializer = {\n _fromJsonObject(_object: any): VapiConfigOut {\n return {};\n },\n\n _toJsonObject(_self: VapiConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface VeriffConfigOut {}\n\nexport const VeriffConfigOutSerializer = {\n _fromJsonObject(_object: any): VeriffConfigOut {\n return {};\n },\n\n _toJsonObject(_self: VeriffConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface VgsConfigOut {}\n\nexport const VgsConfigOutSerializer = {\n _fromJsonObject(_object: any): VgsConfigOut {\n return {};\n },\n\n _toJsonObject(_self: VgsConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface ZoomConfigOut {}\n\nexport const ZoomConfigOutSerializer = {\n _fromJsonObject(_object: any): ZoomConfigOut {\n return {};\n },\n\n _toJsonObject(_self: ZoomConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\nimport {\n type AdobeSignConfigOut,\n AdobeSignConfigOutSerializer,\n} from \"./adobeSignConfigOut\";\nimport {\n type AirwallexConfigOut,\n AirwallexConfigOutSerializer,\n} from \"./airwallexConfigOut\";\nimport {\n type CheckbookConfigOut,\n CheckbookConfigOutSerializer,\n} from \"./checkbookConfigOut\";\nimport { type CronConfig, CronConfigSerializer } from \"./cronConfig\";\nimport { type DocusignConfigOut, DocusignConfigOutSerializer } from \"./docusignConfigOut\";\nimport { type EasypostConfigOut, EasypostConfigOutSerializer } from \"./easypostConfigOut\";\nimport { type GithubConfigOut, GithubConfigOutSerializer } from \"./githubConfigOut\";\nimport { type HubspotConfigOut, HubspotConfigOutSerializer } from \"./hubspotConfigOut\";\nimport { type MetaConfigOut, MetaConfigOutSerializer } from \"./metaConfigOut\";\nimport { type NangoConfigOut, NangoConfigOutSerializer } from \"./nangoConfigOut\";\nimport { type OpenClawConfigOut, OpenClawConfigOutSerializer } from \"./openClawConfigOut\";\nimport { type OrumIoConfigOut, OrumIoConfigOutSerializer } from \"./orumIoConfigOut\";\nimport { type PandaDocConfigOut, PandaDocConfigOutSerializer } from \"./pandaDocConfigOut\";\nimport { type PortIoConfigOut, PortIoConfigOutSerializer } from \"./portIoConfigOut\";\nimport { type RutterConfigOut, RutterConfigOutSerializer } from \"./rutterConfigOut\";\nimport { type SegmentConfigOut, SegmentConfigOutSerializer } from \"./segmentConfigOut\";\nimport { type ShopifyConfigOut, ShopifyConfigOutSerializer } from \"./shopifyConfigOut\";\nimport { type SlackConfigOut, SlackConfigOutSerializer } from \"./slackConfigOut\";\nimport { type StripeConfigOut, StripeConfigOutSerializer } from \"./stripeConfigOut\";\nimport { type SvixConfigOut, SvixConfigOutSerializer } from \"./svixConfigOut\";\nimport {\n type TailscaleConfigOut,\n TailscaleConfigOutSerializer,\n} from \"./tailscaleConfigOut\";\nimport { type TelnyxConfigOut, TelnyxConfigOutSerializer } from \"./telnyxConfigOut\";\nimport { type VapiConfigOut, VapiConfigOutSerializer } from \"./vapiConfigOut\";\nimport { type VeriffConfigOut, VeriffConfigOutSerializer } from \"./veriffConfigOut\";\nimport { type VgsConfigOut, VgsConfigOutSerializer } from \"./vgsConfigOut\";\nimport { type ZoomConfigOut, ZoomConfigOutSerializer } from \"./zoomConfigOut\";\n\ninterface _IngestSourceOutFields {\n /** The Source's ID. */\n id: string;\n /** The Source's UID. */\n uid?: string | null;\n name: string;\n ingestUrl?: string | null;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface IngestSourceOutGenericWebhookConfig {}\n\ninterface IngestSourceOutGenericWebhook {\n type: \"generic-webhook\";\n config?: IngestSourceOutGenericWebhookConfig;\n}\n\ninterface IngestSourceOutCron {\n type: \"cron\";\n config: CronConfig;\n}\n\ninterface IngestSourceOutAdobeSign {\n type: \"adobe-sign\";\n config: AdobeSignConfigOut;\n}\n\ninterface IngestSourceOutBeehiiv {\n type: \"beehiiv\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutBrex {\n type: \"brex\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutCheckbook {\n type: \"checkbook\";\n config: CheckbookConfigOut;\n}\n\ninterface IngestSourceOutClerk {\n type: \"clerk\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutDocusign {\n type: \"docusign\";\n config: DocusignConfigOut;\n}\n\ninterface IngestSourceOutEasypost {\n type: \"easypost\";\n config: EasypostConfigOut;\n}\n\ninterface IngestSourceOutGithub {\n type: \"github\";\n config: GithubConfigOut;\n}\n\ninterface IngestSourceOutGuesty {\n type: \"guesty\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutHubspot {\n type: \"hubspot\";\n config: HubspotConfigOut;\n}\n\ninterface IngestSourceOutIncidentIo {\n type: \"incident-io\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutLithic {\n type: \"lithic\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutMeta {\n type: \"meta\";\n config: MetaConfigOut;\n}\n\ninterface IngestSourceOutNango {\n type: \"nango\";\n config: NangoConfigOut;\n}\n\ninterface IngestSourceOutNash {\n type: \"nash\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutOpenclaw {\n type: \"openclaw\";\n config: OpenClawConfigOut;\n}\n\ninterface IngestSourceOutOrumIo {\n type: \"orum-io\";\n config: OrumIoConfigOut;\n}\n\ninterface IngestSourceOutPandaDoc {\n type: \"panda-doc\";\n config: PandaDocConfigOut;\n}\n\ninterface IngestSourceOutPortIo {\n type: \"port-io\";\n config: PortIoConfigOut;\n}\n\ninterface IngestSourceOutPsiFi {\n type: \"psi-fi\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutPleo {\n type: \"pleo\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutReplicate {\n type: \"replicate\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutResend {\n type: \"resend\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutRutter {\n type: \"rutter\";\n config: RutterConfigOut;\n}\n\ninterface IngestSourceOutSafebase {\n type: \"safebase\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutSardine {\n type: \"sardine\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutSegment {\n type: \"segment\";\n config: SegmentConfigOut;\n}\n\ninterface IngestSourceOutShopify {\n type: \"shopify\";\n config: ShopifyConfigOut;\n}\n\ninterface IngestSourceOutSlack {\n type: \"slack\";\n config: SlackConfigOut;\n}\n\ninterface IngestSourceOutStripe {\n type: \"stripe\";\n config: StripeConfigOut;\n}\n\ninterface IngestSourceOutStych {\n type: \"stych\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutSvix {\n type: \"svix\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutZoom {\n type: \"zoom\";\n config: ZoomConfigOut;\n}\n\ninterface IngestSourceOutTailscale {\n type: \"tailscale\";\n config: TailscaleConfigOut;\n}\n\ninterface IngestSourceOutTelnyx {\n type: \"telnyx\";\n config: TelnyxConfigOut;\n}\n\ninterface IngestSourceOutVapi {\n type: \"vapi\";\n config: VapiConfigOut;\n}\n\ninterface IngestSourceOutOpenAi {\n type: \"open-ai\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutRender {\n type: \"render\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutVeriff {\n type: \"veriff\";\n config: VeriffConfigOut;\n}\n\ninterface IngestSourceOutAirwallex {\n type: \"airwallex\";\n config: AirwallexConfigOut;\n}\n\ninterface IngestSourceOutVgs {\n type: \"vgs\";\n config: VgsConfigOut;\n}\n\nexport type IngestSourceOut = _IngestSourceOutFields &\n (\n | IngestSourceOutGenericWebhook\n | IngestSourceOutCron\n | IngestSourceOutAdobeSign\n | IngestSourceOutBeehiiv\n | IngestSourceOutBrex\n | IngestSourceOutCheckbook\n | IngestSourceOutClerk\n | IngestSourceOutDocusign\n | IngestSourceOutEasypost\n | IngestSourceOutGithub\n | IngestSourceOutGuesty\n | IngestSourceOutHubspot\n | IngestSourceOutIncidentIo\n | IngestSourceOutLithic\n | IngestSourceOutMeta\n | IngestSourceOutNango\n | IngestSourceOutNash\n | IngestSourceOutOpenclaw\n | IngestSourceOutOrumIo\n | IngestSourceOutPandaDoc\n | IngestSourceOutPortIo\n | IngestSourceOutPsiFi\n | IngestSourceOutPleo\n | IngestSourceOutReplicate\n | IngestSourceOutResend\n | IngestSourceOutRutter\n | IngestSourceOutSafebase\n | IngestSourceOutSardine\n | IngestSourceOutSegment\n | IngestSourceOutShopify\n | IngestSourceOutSlack\n | IngestSourceOutStripe\n | IngestSourceOutStych\n | IngestSourceOutSvix\n | IngestSourceOutZoom\n | IngestSourceOutTailscale\n | IngestSourceOutTelnyx\n | IngestSourceOutVapi\n | IngestSourceOutOpenAi\n | IngestSourceOutRender\n | IngestSourceOutVeriff\n | IngestSourceOutAirwallex\n | IngestSourceOutVgs\n );\n\nexport const IngestSourceOutSerializer = {\n _fromJsonObject(object: any): IngestSourceOut {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"generic-webhook\":\n return {};\n case \"cron\":\n return CronConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"adobe-sign\":\n return AdobeSignConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"beehiiv\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"brex\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"checkbook\":\n return CheckbookConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"clerk\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"docusign\":\n return DocusignConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"easypost\":\n return EasypostConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"github\":\n return GithubConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"guesty\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"hubspot\":\n return HubspotConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"incident-io\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"lithic\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"meta\":\n return MetaConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"nango\":\n return NangoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"nash\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"openclaw\":\n return OpenClawConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"orum-io\":\n return OrumIoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"panda-doc\":\n return PandaDocConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"port-io\":\n return PortIoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"psi-fi\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"pleo\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"replicate\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"resend\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"rutter\":\n return RutterConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"safebase\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"sardine\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"segment\":\n return SegmentConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"shopify\":\n return ShopifyConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"slack\":\n return SlackConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"stripe\":\n return StripeConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"stych\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"svix\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"zoom\":\n return ZoomConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"tailscale\":\n return TailscaleConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"telnyx\":\n return TelnyxConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"vapi\":\n return VapiConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"open-ai\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"render\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"veriff\":\n return VeriffConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"airwallex\":\n return AirwallexConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"vgs\":\n return VgsConfigOutSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n id: object[\"id\"],\n uid: object[\"uid\"],\n name: object[\"name\"],\n ingestUrl: object[\"ingestUrl\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestSourceOut): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"generic-webhook\":\n config = {};\n break;\n case \"cron\":\n config = CronConfigSerializer._toJsonObject(self.config);\n break;\n case \"adobe-sign\":\n config = AdobeSignConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"beehiiv\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"brex\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"checkbook\":\n config = CheckbookConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"clerk\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"docusign\":\n config = DocusignConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"easypost\":\n config = EasypostConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"github\":\n config = GithubConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"guesty\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"hubspot\":\n config = HubspotConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"incident-io\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"lithic\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"meta\":\n config = MetaConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"nango\":\n config = NangoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"nash\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"openclaw\":\n config = OpenClawConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"orum-io\":\n config = OrumIoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"panda-doc\":\n config = PandaDocConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"port-io\":\n config = PortIoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"psi-fi\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"pleo\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"replicate\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"resend\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"rutter\":\n config = RutterConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"safebase\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"sardine\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"segment\":\n config = SegmentConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"shopify\":\n config = ShopifyConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"slack\":\n config = SlackConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"stripe\":\n config = StripeConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"stych\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"svix\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"zoom\":\n config = ZoomConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"tailscale\":\n config = TailscaleConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"telnyx\":\n config = TelnyxConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"vapi\":\n config = VapiConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"open-ai\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"render\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"veriff\":\n config = VeriffConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"airwallex\":\n config = AirwallexConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"vgs\":\n config = VgsConfigOutSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n id: self.id,\n uid: self.uid,\n name: self.name,\n ingestUrl: self.ingestUrl,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type IngestSourceOut, IngestSourceOutSerializer } from \"./ingestSourceOut\";\n\nexport interface ListResponseIngestSourceOut {\n data: IngestSourceOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseIngestSourceOutSerializer = {\n _fromJsonObject(object: any): ListResponseIngestSourceOut {\n return {\n data: object[\"data\"].map((item: IngestSourceOut) =>\n IngestSourceOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseIngestSourceOut): any {\n return {\n data: self.data.map((item) => IngestSourceOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface RotateTokenOut {\n ingestUrl: string;\n}\n\nexport const RotateTokenOutSerializer = {\n _fromJsonObject(object: any): RotateTokenOut {\n return {\n ingestUrl: object[\"ingestUrl\"],\n };\n },\n\n _toJsonObject(self: RotateTokenOut): any {\n return {\n ingestUrl: self.ingestUrl,\n };\n },\n};\n","// this file is @generated\n\nimport { type IngestSourceIn, IngestSourceInSerializer } from \"../models/ingestSourceIn\";\nimport {\n type IngestSourceOut,\n IngestSourceOutSerializer,\n} from \"../models/ingestSourceOut\";\nimport {\n type ListResponseIngestSourceOut,\n ListResponseIngestSourceOutSerializer,\n} from \"../models/listResponseIngestSourceOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type RotateTokenOut, RotateTokenOutSerializer } from \"../models/rotateTokenOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IngestSourceListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface IngestSourceCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface IngestSourceRotateTokenOptions {\n idempotencyKey?: string;\n}\n\nexport class IngestSource {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's Ingest Sources. */\n public async list(\n options?: IngestSourceListOptions\n ): Promise<ListResponseIngestSourceOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/ingest/api/v1/source\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseIngestSourceOutSerializer._fromJsonObject\n );\n }\n\n /** Create Ingest Source. */\n public async create(\n ingestSourceIn: IngestSourceIn,\n options?: IngestSourceCreateOptions\n ): Promise<IngestSourceOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/ingest/api/v1/source\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(IngestSourceInSerializer._toJsonObject(ingestSourceIn));\n\n return await request.send(this.requestCtx, IngestSourceOutSerializer._fromJsonObject);\n }\n\n /** Get an Ingest Source by id or uid. */\n public async get(sourceId: string): Promise<IngestSourceOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/ingest/api/v1/source/{source_id}\");\n\n request.setPathParam(\"source_id\", sourceId);\n\n return await request.send(this.requestCtx, IngestSourceOutSerializer._fromJsonObject);\n }\n\n /** Create or update an Ingest Source. */\n public async upsert(\n sourceId: string,\n ingestSourceIn: IngestSourceIn\n ): Promise<IngestSourceOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/ingest/api/v1/source/{source_id}\");\n\n request.setPathParam(\"source_id\", sourceId);\n request.setBody(IngestSourceInSerializer._toJsonObject(ingestSourceIn));\n\n return await request.send(this.requestCtx, IngestSourceOutSerializer._fromJsonObject);\n }\n\n /** Delete an Ingest Source. */\n public async delete(sourceId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/ingest/api/v1/source/{source_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Rotate the Ingest Source's Url Token.\n *\n * This will rotate the ingest source's token, which is used to\n * construct the unique `ingestUrl` for the source. Previous tokens\n * will remain valid for 48 hours after rotation. The token can be\n * rotated a maximum of three times within the 48-hour period.\n */\n public async rotateToken(\n sourceId: string,\n options?: IngestSourceRotateTokenOptions\n ): Promise<RotateTokenOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/token/rotate\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(this.requestCtx, RotateTokenOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport { IngestAuthentication } from \"./ingestAuthentication\";\nimport { IngestEndpoint } from \"./ingestEndpoint\";\nimport { IngestSource } from \"./ingestSource\";\nimport type { SvixRequestContext } from \"../request\";\n\nexport class Ingest {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get authentication() {\n return new IngestAuthentication(this.requestCtx);\n }\n\n public get endpoint() {\n return new IngestEndpoint(this.requestCtx);\n }\n\n public get source() {\n return new IngestSource(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface IntegrationIn {\n name: string;\n /** The set of feature flags the integration will have access to. */\n featureFlags?: string[];\n}\n\nexport const IntegrationInSerializer = {\n _fromJsonObject(object: any): IntegrationIn {\n return {\n name: object[\"name\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: IntegrationIn): any {\n return {\n name: self.name,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\n\nexport interface IntegrationKeyOut {\n key: string;\n}\n\nexport const IntegrationKeyOutSerializer = {\n _fromJsonObject(object: any): IntegrationKeyOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: IntegrationKeyOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface IntegrationOut {\n name: string;\n /** The Integration's ID. */\n id: string;\n createdAt: Date;\n updatedAt: Date;\n /** The set of feature flags the integration has access to. */\n featureFlags?: string[];\n}\n\nexport const IntegrationOutSerializer = {\n _fromJsonObject(object: any): IntegrationOut {\n return {\n name: object[\"name\"],\n id: object[\"id\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: IntegrationOut): any {\n return {\n name: self.name,\n id: self.id,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\n\nexport interface IntegrationUpdate {\n name: string;\n /** The set of feature flags the integration will have access to. */\n featureFlags?: string[];\n}\n\nexport const IntegrationUpdateSerializer = {\n _fromJsonObject(object: any): IntegrationUpdate {\n return {\n name: object[\"name\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: IntegrationUpdate): any {\n return {\n name: self.name,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type IntegrationOut, IntegrationOutSerializer } from \"./integrationOut\";\n\nexport interface ListResponseIntegrationOut {\n data: IntegrationOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseIntegrationOutSerializer = {\n _fromJsonObject(object: any): ListResponseIntegrationOut {\n return {\n data: object[\"data\"].map((item: IntegrationOut) =>\n IntegrationOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseIntegrationOut): any {\n return {\n data: self.data.map((item) => IntegrationOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport { type IntegrationIn, IntegrationInSerializer } from \"../models/integrationIn\";\nimport {\n type IntegrationKeyOut,\n IntegrationKeyOutSerializer,\n} from \"../models/integrationKeyOut\";\nimport { type IntegrationOut, IntegrationOutSerializer } from \"../models/integrationOut\";\nimport {\n type IntegrationUpdate,\n IntegrationUpdateSerializer,\n} from \"../models/integrationUpdate\";\nimport {\n type ListResponseIntegrationOut,\n ListResponseIntegrationOutSerializer,\n} from \"../models/listResponseIntegrationOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IntegrationListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface IntegrationCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface IntegrationRotateKeyOptions {\n idempotencyKey?: string;\n}\n\nexport class Integration {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List the application's integrations. */\n public async list(\n appId: string,\n options?: IntegrationListOptions\n ): Promise<ListResponseIntegrationOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/integration\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseIntegrationOutSerializer._fromJsonObject\n );\n }\n\n /** Create an integration. */\n public async create(\n appId: string,\n integrationIn: IntegrationIn,\n options?: IntegrationCreateOptions\n ): Promise<IntegrationOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app/{app_id}/integration\");\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(IntegrationInSerializer._toJsonObject(integrationIn));\n\n return await request.send(this.requestCtx, IntegrationOutSerializer._fromJsonObject);\n }\n\n /** Get an integration. */\n public async get(appId: string, integId: string): Promise<IntegrationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/integration/{integ_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n\n return await request.send(this.requestCtx, IntegrationOutSerializer._fromJsonObject);\n }\n\n /** Update an integration. */\n public async update(\n appId: string,\n integId: string,\n integrationUpdate: IntegrationUpdate\n ): Promise<IntegrationOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/integration/{integ_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n request.setBody(IntegrationUpdateSerializer._toJsonObject(integrationUpdate));\n\n return await request.send(this.requestCtx, IntegrationOutSerializer._fromJsonObject);\n }\n\n /** Delete an integration. */\n public async delete(appId: string, integId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/integration/{integ_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Rotate the integration's key. The previous key will be immediately revoked. */\n public async rotateKey(\n appId: string,\n integId: string,\n options?: IntegrationRotateKeyOptions\n ): Promise<IntegrationKeyOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/integration/{integ_id}/key/rotate\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(\n this.requestCtx,\n IntegrationKeyOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface BulkExpungeContentsIn {\n /** Message ID or UID to delete */\n ids?: string[];\n}\n\nexport const BulkExpungeContentsInSerializer = {\n _fromJsonObject(object: any): BulkExpungeContentsIn {\n return {\n ids: object[\"ids\"],\n };\n },\n\n _toJsonObject(self: BulkExpungeContentsIn): any {\n return {\n ids: self.ids,\n };\n },\n};\n","// this file is @generated\n\nexport enum BulkExpungeStatus {\n Expunged = \"expunged\",\n NotFound = \"not-found\",\n}\n\nexport const BulkExpungeStatusSerializer = {\n _fromJsonObject(object: any): BulkExpungeStatus {\n return object;\n },\n\n _toJsonObject(self: BulkExpungeStatus): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type BulkExpungeStatus, BulkExpungeStatusSerializer } from \"./bulkExpungeStatus\";\n\nexport interface BulkExpungeContentsOut {\n /** Results of expunging (by ID) */\n results: { [key: string]: BulkExpungeStatus };\n}\n\nexport const BulkExpungeContentsOutSerializer = {\n _fromJsonObject(object: any): BulkExpungeContentsOut {\n return {\n results: Object.fromEntries(\n Object.entries<BulkExpungeStatus>(object[\"results\"]).map(\n (item: [string, BulkExpungeStatus]) => [\n item[0],\n BulkExpungeStatusSerializer._fromJsonObject(item[1]),\n ]\n )\n ),\n };\n },\n\n _toJsonObject(self: BulkExpungeContentsOut): any {\n return {\n results: Object.fromEntries(\n Object.entries(self.results).map((item) => [\n item[0],\n BulkExpungeStatusSerializer._toJsonObject(item[1]),\n ])\n ),\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface ExpungeAllContentsOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const ExpungeAllContentsOutSerializer = {\n _fromJsonObject(object: any): ExpungeAllContentsOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: ExpungeAllContentsOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\nimport { type MessageOut, MessageOutSerializer } from \"./messageOut\";\n\nexport interface ListResponseMessageOut {\n data: MessageOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseMessageOutSerializer = {\n _fromJsonObject(object: any): ListResponseMessageOut {\n return {\n data: object[\"data\"].map((item: MessageOut) =>\n MessageOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseMessageOut): any {\n return {\n data: self.data.map((item) => MessageOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface MessagePrecheckIn {\n /** The event type's name */\n eventType: string;\n channels?: string[] | null;\n}\n\nexport const MessagePrecheckInSerializer = {\n _fromJsonObject(object: any): MessagePrecheckIn {\n return {\n eventType: object[\"eventType\"],\n channels: object[\"channels\"],\n };\n },\n\n _toJsonObject(self: MessagePrecheckIn): any {\n return {\n eventType: self.eventType,\n channels: self.channels,\n };\n },\n};\n","// this file is @generated\n\nexport interface MessagePrecheckOut {\n /** Whether there are any active endpoint that would get sent such a message. */\n active: boolean;\n}\n\nexport const MessagePrecheckOutSerializer = {\n _fromJsonObject(object: any): MessagePrecheckOut {\n return {\n active: object[\"active\"],\n };\n },\n\n _toJsonObject(self: MessagePrecheckOut): any {\n return {\n active: self.active,\n };\n },\n};\n","// this file is @generated\n\nexport interface PollingEndpointConsumerSeekIn {\n after: Date;\n}\n\nexport const PollingEndpointConsumerSeekInSerializer = {\n _fromJsonObject(object: any): PollingEndpointConsumerSeekIn {\n return {\n after: new Date(object[\"after\"]),\n };\n },\n\n _toJsonObject(self: PollingEndpointConsumerSeekIn): any {\n return {\n after: self.after,\n };\n },\n};\n","// this file is @generated\n\nexport interface PollingEndpointConsumerSeekOut {\n iterator: string;\n}\n\nexport const PollingEndpointConsumerSeekOutSerializer = {\n _fromJsonObject(object: any): PollingEndpointConsumerSeekOut {\n return {\n iterator: object[\"iterator\"],\n };\n },\n\n _toJsonObject(self: PollingEndpointConsumerSeekOut): any {\n return {\n iterator: self.iterator,\n };\n },\n};\n","// this file is @generated\n\n/** The MessageOut equivalent of polling endpoint */\nexport interface PollingEndpointMessageOut {\n headers?: { [key: string]: string } | null;\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const PollingEndpointMessageOutSerializer = {\n _fromJsonObject(object: any): PollingEndpointMessageOut {\n return {\n headers: object[\"headers\"],\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: PollingEndpointMessageOut): any {\n return {\n headers: self.headers,\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type PollingEndpointMessageOut,\n PollingEndpointMessageOutSerializer,\n} from \"./pollingEndpointMessageOut\";\n\nexport interface PollingEndpointOut {\n data: PollingEndpointMessageOut[];\n iterator: string;\n done: boolean;\n}\n\nexport const PollingEndpointOutSerializer = {\n _fromJsonObject(object: any): PollingEndpointOut {\n return {\n data: object[\"data\"].map((item: PollingEndpointMessageOut) =>\n PollingEndpointMessageOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: PollingEndpointOut): any {\n return {\n data: self.data.map((item) =>\n PollingEndpointMessageOutSerializer._toJsonObject(item)\n ),\n iterator: self.iterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type PollingEndpointConsumerSeekIn,\n PollingEndpointConsumerSeekInSerializer,\n} from \"../models/pollingEndpointConsumerSeekIn\";\nimport {\n type PollingEndpointConsumerSeekOut,\n PollingEndpointConsumerSeekOutSerializer,\n} from \"../models/pollingEndpointConsumerSeekOut\";\nimport {\n type PollingEndpointOut,\n PollingEndpointOutSerializer,\n} from \"../models/pollingEndpointOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface MessagePollerPollOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filters messages sent with this event type (optional). */\n eventType?: string;\n /** Filters messages sent with this channel (optional). */\n channel?: string;\n after?: Date | null;\n}\n\nexport interface MessagePollerConsumerSeekOptions {\n idempotencyKey?: string;\n}\n\nexport interface MessagePollerConsumerPollOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n}\n\nexport class MessagePoller {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Reads the stream of created messages for an application, filtered on the Sink's event types and Channels. */\n public async poll(\n appId: string,\n sinkId: string,\n options?: MessagePollerPollOptions\n ): Promise<PollingEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/poller/{sink_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n event_type: options?.eventType,\n channel: options?.channel,\n after: options?.after,\n });\n\n return await request.send(\n this.requestCtx,\n PollingEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Sets the starting offset for the consumer of a polling endpoint. */\n public async consumerSeek(\n appId: string,\n sinkId: string,\n consumerId: string,\n pollingEndpointConsumerSeekIn: PollingEndpointConsumerSeekIn,\n options?: MessagePollerConsumerSeekOptions\n ): Promise<PollingEndpointConsumerSeekOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}/seek\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n PollingEndpointConsumerSeekInSerializer._toJsonObject(pollingEndpointConsumerSeekIn)\n );\n\n return await request.send(\n this.requestCtx,\n PollingEndpointConsumerSeekOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Reads the stream of created messages for an application, filtered on the Sink's event types and\n * Channels, using server-managed iterator tracking.\n */\n public async consumerPoll(\n appId: string,\n sinkId: string,\n consumerId: string,\n options?: MessagePollerConsumerPollOptions\n ): Promise<PollingEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n });\n\n return await request.send(\n this.requestCtx,\n PollingEndpointOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\nimport { type ApplicationIn, ApplicationInSerializer } from \"./applicationIn\";\n\nexport interface MessageIn {\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n /**\n * JSON payload to send as the request body of the webhook.\n *\n * We also support sending non-JSON payloads. Please contact us for more information.\n */\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /**\n * Optionally creates a new application alongside the message.\n *\n * If the application id or uid that is used in the path already exists, this argument is ignored.\n */\n application?: ApplicationIn | null;\n /** List of free-form tags that can be filtered by when listing messages */\n tags?: string[] | null;\n /** Extra parameters to pass to Transformations (for future use) */\n transformationsParams?: any | null;\n /**\n * The date and time at which the message will be delivered.\n *\n * Note that this time is best-effort-only. Must be at least one minute and no more than 24 hours in the future.\n */\n deliverAt?: Date | null;\n /** Optional number of days to retain the message payload. Defaults to 90. Note that this is mutually exclusive with `payloadRetentionHours`. */\n payloadRetentionPeriod?: number | null;\n /** Optional number of hours to retain the message payload. Note that this is mutually exclusive with `payloadRetentionPeriod`. */\n payloadRetentionHours?: number | null;\n}\n\nexport const MessageInSerializer = {\n _fromJsonObject(object: any): MessageIn {\n return {\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n application:\n object[\"application\"] != null\n ? ApplicationInSerializer._fromJsonObject(object[\"application\"])\n : undefined,\n tags: object[\"tags\"],\n transformationsParams: object[\"transformationsParams\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n payloadRetentionPeriod: object[\"payloadRetentionPeriod\"],\n payloadRetentionHours: object[\"payloadRetentionHours\"],\n };\n },\n\n _toJsonObject(self: MessageIn): any {\n return {\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n application:\n self.application != null\n ? ApplicationInSerializer._toJsonObject(self.application)\n : undefined,\n tags: self.tags,\n transformationsParams: self.transformationsParams,\n deliverAt: self.deliverAt,\n payloadRetentionPeriod: self.payloadRetentionPeriod,\n payloadRetentionHours: self.payloadRetentionHours,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type BulkExpungeContentsIn,\n BulkExpungeContentsInSerializer,\n} from \"../models/bulkExpungeContentsIn\";\nimport {\n type BulkExpungeContentsOut,\n BulkExpungeContentsOutSerializer,\n} from \"../models/bulkExpungeContentsOut\";\nimport {\n type ExpungeAllContentsOut,\n ExpungeAllContentsOutSerializer,\n} from \"../models/expungeAllContentsOut\";\nimport {\n type ListResponseMessageOut,\n ListResponseMessageOutSerializer,\n} from \"../models/listResponseMessageOut\";\nimport { type MessageOut, MessageOutSerializer } from \"../models/messageOut\";\nimport {\n type MessagePrecheckIn,\n MessagePrecheckInSerializer,\n} from \"../models/messagePrecheckIn\";\nimport {\n type MessagePrecheckOut,\n MessagePrecheckOutSerializer,\n} from \"../models/messagePrecheckOut\";\nimport { MessagePoller } from \"./messagePoller\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\nimport { type MessageIn, MessageInSerializer } from \"../models/messageIn\";\n\nexport interface MessageListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the channel. */\n channel?: string;\n /** Only include items created before a certain date. */\n before?: Date | null;\n /** Only include items created after a certain date. */\n after?: Date | null;\n /**\n * When `true` message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /** Filter messages matching the provided tag. */\n tag?: string;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageCreateOptions {\n /**\n * When `true`, message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n idempotencyKey?: string;\n}\n\nexport interface MessagePrecheckOptions {\n idempotencyKey?: string;\n}\n\nexport interface MessageGetOptions {\n /**\n * When `true` message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n}\n\nexport interface MessageBulkExpungeContentOptions {\n idempotencyKey?: string;\n}\n\nexport interface MessageExpungeAllContentsOptions {\n idempotencyKey?: string;\n}\n\nexport class Message {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get poller() {\n return new MessagePoller(this.requestCtx);\n }\n\n /**\n * List all of the application's messages.\n *\n * The `before` and `after` parameters let you filter all items created before or after a certain date. These can be\n * used alongside an iterator to paginate over results within a certain window.\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async list(\n appId: string,\n options?: MessageListOptions\n ): Promise<ListResponseMessageOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/msg\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n channel: options?.channel,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n tag: options?.tag,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Creates a new message and dispatches it to all of the application's endpoints.\n *\n * The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made.\n * If a message with the same `eventId` already exists for the application, a 409 conflict error will be returned.\n *\n * The `eventType` indicates the type and schema of the event. All messages of a certain `eventType` are expected to have the same schema. Endpoints can choose to only listen to specific event types.\n * Messages can also have `channels`, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema.\n *\n * The `payload` property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to 1MiB, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.\n */\n public async create(\n appId: string,\n messageIn: MessageIn,\n options?: MessageCreateOptions\n ): Promise<MessageOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app/{app_id}/msg\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n with_content: options?.withContent ?? false,\n });\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(MessageInSerializer._toJsonObject(messageIn));\n\n return await request.send(this.requestCtx, MessageOutSerializer._fromJsonObject);\n }\n\n /**\n * A pre-check call for `message.create` that checks whether any active endpoints are\n * listening to this message.\n *\n * Note: most people shouldn't be using this API. Svix doesn't bill you for\n * messages not actually sent, so using this API doesn't save money.\n * If unsure, please ask Svix support before using this API.\n */\n public async precheck(\n appId: string,\n messagePrecheckIn: MessagePrecheckIn,\n options?: MessagePrecheckOptions\n ): Promise<MessagePrecheckOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/precheck/active\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(MessagePrecheckInSerializer._toJsonObject(messagePrecheckIn));\n\n return await request.send(\n this.requestCtx,\n MessagePrecheckOutSerializer._fromJsonObject\n );\n }\n\n /** Get a message by its ID or eventID. */\n public async get(\n appId: string,\n msgId: string,\n options?: MessageGetOptions\n ): Promise<MessageOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/msg/{msg_id}\");\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n with_content: options?.withContent ?? false,\n });\n\n return await request.send(this.requestCtx, MessageOutSerializer._fromJsonObject);\n }\n\n /**\n * Delete the given message's payload.\n *\n * Useful in cases when a message was accidentally sent with sensitive content.\n * The message can't be replayed or resent once its payload has been deleted\n * (or has expired).\n */\n public async expungeContent(appId: string, msgId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/msg/{msg_id}/content\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Delete the payloads from the given messages under the current application\n *\n * Useful in cases when a message was accidentally sent with sensitive content.\n * A message can't be replayed or resent once its payload has been deleted\n * (or has expired).\n */\n public async bulkExpungeContent(\n appId: string,\n bulkExpungeContentsIn: BulkExpungeContentsIn = {},\n options?: MessageBulkExpungeContentOptions\n ): Promise<BulkExpungeContentsOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/bulk-expunge\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(BulkExpungeContentsInSerializer._toJsonObject(bulkExpungeContentsIn));\n\n return await request.send(\n this.requestCtx,\n BulkExpungeContentsOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Delete all message payloads for the application.\n *\n * This operation is only available in the <a href=\"https://svix.com/pricing\" target=\"_blank\">Enterprise</a> plan.\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"application.purge_content\",\n * \"data\": {\n * \"messagesPurged\": 150\n * }\n * }\n * ```\n */\n public async expungeAllContents(\n appId: string,\n options?: MessageExpungeAllContentsOptions\n ): Promise<ExpungeAllContentsOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/expunge-all-contents\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(\n this.requestCtx,\n ExpungeAllContentsOutSerializer._fromJsonObject\n );\n }\n}\n\n/**\n * Creates a `MessageIn` with a raw string payload.\n *\n * The payload is not normalized on the server. Normally, payloads are\n * required to be JSON, and Svix will minify the payload before sending the\n * webhooks (for example, by removing extraneous whitespace or unnecessarily\n * escaped characters in strings). With this function, the payload will be\n * sent \"as is\", without any minification or other processing.\n *\n * @param payload Serialized message payload\n * @param contentType The value to use for the Content-Type header of the webhook sent by Svix, overwriting the default of `application/json` if specified\n *\n * See the class documentation for details about the other parameters.\n */\nexport function messageInRaw(\n eventType: string,\n payload: string,\n contentType?: string\n): MessageIn {\n const headers = contentType ? { \"content-type\": contentType } : undefined;\n\n return {\n eventType,\n payload: {},\n transformationsParams: {\n rawPayload: payload,\n headers,\n },\n };\n}\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface EmptyResponse {}\n\nexport const EmptyResponseSerializer = {\n _fromJsonObject(_object: any): EmptyResponse {\n return {};\n },\n\n _toJsonObject(_self: EmptyResponse): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport enum MessageStatusText {\n Success = \"success\",\n Pending = \"pending\",\n Fail = \"fail\",\n Sending = \"sending\",\n Canceled = \"canceled\",\n}\n\nexport const MessageStatusTextSerializer = {\n _fromJsonObject(object: any): MessageStatusText {\n return object;\n },\n\n _toJsonObject(self: MessageStatusText): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type MessageStatusText, MessageStatusTextSerializer } from \"./messageStatusText\";\n\n/** A model containing information on a given message plus additional fields on the last attempt for that message. */\nexport interface EndpointMessageOut {\n status: MessageStatus;\n statusText: MessageStatusText;\n nextAttempt?: Date | null;\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const EndpointMessageOutSerializer = {\n _fromJsonObject(object: any): EndpointMessageOut {\n return {\n status: MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n nextAttempt: object[\"nextAttempt\"] ? new Date(object[\"nextAttempt\"]) : null,\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: EndpointMessageOut): any {\n return {\n status: MessageStatusSerializer._toJsonObject(self.status),\n statusText: MessageStatusTextSerializer._toJsonObject(self.statusText),\n nextAttempt: self.nextAttempt,\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type EndpointMessageOut,\n EndpointMessageOutSerializer,\n} from \"./endpointMessageOut\";\n\nexport interface ListResponseEndpointMessageOut {\n data: EndpointMessageOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseEndpointMessageOutSerializer = {\n _fromJsonObject(object: any): ListResponseEndpointMessageOut {\n return {\n data: object[\"data\"].map((item: EndpointMessageOut) =>\n EndpointMessageOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseEndpointMessageOut): any {\n return {\n data: self.data.map((item) => EndpointMessageOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n/**\n * The reason an attempt was made:\n *\n * - Scheduled = 0\n * - Manual = 1\n */\nexport enum MessageAttemptTriggerType {\n Scheduled = 0,\n Manual = 1,\n}\n\nexport const MessageAttemptTriggerTypeSerializer = {\n _fromJsonObject(object: any): MessageAttemptTriggerType {\n return object;\n },\n\n _toJsonObject(self: MessageAttemptTriggerType): any {\n return self;\n },\n};\n","// this file is @generated\nimport {\n type MessageAttemptTriggerType,\n MessageAttemptTriggerTypeSerializer,\n} from \"./messageAttemptTriggerType\";\nimport { type MessageOut, MessageOutSerializer } from \"./messageOut\";\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type MessageStatusText, MessageStatusTextSerializer } from \"./messageStatusText\";\n\nexport interface MessageAttemptOut {\n url: string;\n response: string;\n responseStatusCode: number;\n /** Response duration in milliseconds. */\n responseDurationMs: number;\n status: MessageStatus;\n statusText: MessageStatusText;\n triggerType: MessageAttemptTriggerType;\n /** The Message's ID. */\n msgId: string;\n /** The Endpoint's ID. */\n endpointId: string;\n /** The MessageAttempt's ID. */\n id: string;\n timestamp: Date;\n msg?: MessageOut | null;\n}\n\nexport const MessageAttemptOutSerializer = {\n _fromJsonObject(object: any): MessageAttemptOut {\n return {\n url: object[\"url\"],\n response: object[\"response\"],\n responseStatusCode: object[\"responseStatusCode\"],\n responseDurationMs: object[\"responseDurationMs\"],\n status: MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n triggerType: MessageAttemptTriggerTypeSerializer._fromJsonObject(\n object[\"triggerType\"]\n ),\n msgId: object[\"msgId\"],\n endpointId: object[\"endpointId\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n msg:\n object[\"msg\"] != null\n ? MessageOutSerializer._fromJsonObject(object[\"msg\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: MessageAttemptOut): any {\n return {\n url: self.url,\n response: self.response,\n responseStatusCode: self.responseStatusCode,\n responseDurationMs: self.responseDurationMs,\n status: MessageStatusSerializer._toJsonObject(self.status),\n statusText: MessageStatusTextSerializer._toJsonObject(self.statusText),\n triggerType: MessageAttemptTriggerTypeSerializer._toJsonObject(self.triggerType),\n msgId: self.msgId,\n endpointId: self.endpointId,\n id: self.id,\n timestamp: self.timestamp,\n msg: self.msg != null ? MessageOutSerializer._toJsonObject(self.msg) : undefined,\n };\n },\n};\n","// this file is @generated\nimport { type MessageAttemptOut, MessageAttemptOutSerializer } from \"./messageAttemptOut\";\n\nexport interface ListResponseMessageAttemptOut {\n data: MessageAttemptOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseMessageAttemptOutSerializer = {\n _fromJsonObject(object: any): ListResponseMessageAttemptOut {\n return {\n data: object[\"data\"].map((item: MessageAttemptOut) =>\n MessageAttemptOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseMessageAttemptOut): any {\n return {\n data: self.data.map((item) => MessageAttemptOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type MessageStatusText, MessageStatusTextSerializer } from \"./messageStatusText\";\n\nexport interface MessageEndpointOut {\n /** The Endpoint's ID. */\n id: string;\n status: MessageStatus;\n statusText: MessageStatusText;\n nextAttempt?: Date | null;\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport const MessageEndpointOutSerializer = {\n _fromJsonObject(object: any): MessageEndpointOut {\n return {\n id: object[\"id\"],\n status: MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n nextAttempt: object[\"nextAttempt\"] ? new Date(object[\"nextAttempt\"]) : null,\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: MessageEndpointOut): any {\n return {\n id: self.id,\n status: MessageStatusSerializer._toJsonObject(self.status),\n statusText: MessageStatusTextSerializer._toJsonObject(self.statusText),\n nextAttempt: self.nextAttempt,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type MessageEndpointOut,\n MessageEndpointOutSerializer,\n} from \"./messageEndpointOut\";\n\nexport interface ListResponseMessageEndpointOut {\n data: MessageEndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseMessageEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseMessageEndpointOut {\n return {\n data: object[\"data\"].map((item: MessageEndpointOut) =>\n MessageEndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseMessageEndpointOut): any {\n return {\n data: self.data.map((item) => MessageEndpointOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport { type EmptyResponse, EmptyResponseSerializer } from \"../models/emptyResponse\";\nimport {\n type ListResponseEndpointMessageOut,\n ListResponseEndpointMessageOutSerializer,\n} from \"../models/listResponseEndpointMessageOut\";\nimport {\n type ListResponseMessageAttemptOut,\n ListResponseMessageAttemptOutSerializer,\n} from \"../models/listResponseMessageAttemptOut\";\nimport {\n type ListResponseMessageEndpointOut,\n ListResponseMessageEndpointOutSerializer,\n} from \"../models/listResponseMessageEndpointOut\";\nimport {\n type MessageAttemptOut,\n MessageAttemptOutSerializer,\n} from \"../models/messageAttemptOut\";\nimport type { MessageStatus } from \"../models/messageStatus\";\nimport type { StatusCodeClass } from \"../models/statusCodeClass\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface MessageAttemptListByEndpointOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4) */\n status?: MessageStatus;\n /** Filter response based on the HTTP status code */\n statusCodeClass?: StatusCodeClass;\n /** Filter response based on the channel */\n channel?: string;\n /** Filter response based on the tag */\n tag?: string;\n /** Only include items created before a certain date */\n before?: Date | null;\n /** Only include items created after a certain date */\n after?: Date | null;\n /**\n * When `true` attempt content is included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /**\n * When `true`, the message information is included in the response\n *\n * Note that message payloads are never included in the response, regardless of this flag.\n */\n withMsg?: boolean;\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageAttemptListByMsgOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4) */\n status?: MessageStatus;\n /** Filter response based on the HTTP status code */\n statusCodeClass?: StatusCodeClass;\n /** Filter response based on the channel */\n channel?: string;\n /** Filter response based on the tag */\n tag?: string;\n /** Filter the attempts based on the attempted endpoint */\n endpointId?: string;\n /** Only include items created before a certain date */\n before?: Date | null;\n /** Only include items created after a certain date */\n after?: Date | null;\n /**\n * When `true` attempt content is included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageAttemptListAttemptedMessagesOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the channel */\n channel?: string;\n /** Filter response based on the message tags */\n tag?: string;\n /** Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4) */\n status?: MessageStatus;\n /** Only include items created before a certain date */\n before?: Date | null;\n /** Only include items created after a certain date */\n after?: Date | null;\n /**\n * When `true` message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageAttemptListAttemptedDestinationsOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n}\n\nexport interface MessageAttemptGetOptions {\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n}\n\nexport interface MessageAttemptResendOptions {\n idempotencyKey?: string;\n}\n\nexport class MessageAttempt {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * List attempts by endpoint id\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async listByEndpoint(\n appId: string,\n endpointId: string,\n options?: MessageAttemptListByEndpointOptions\n ): Promise<ListResponseMessageAttemptOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n status: options?.status,\n status_code_class: options?.statusCodeClass,\n channel: options?.channel,\n tag: options?.tag,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n with_msg: options?.withMsg,\n expanded_statuses: options?.expandedStatuses ?? true,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageAttemptOutSerializer._fromJsonObject\n );\n }\n\n /**\n * List attempts by message ID.\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async listByMsg(\n appId: string,\n msgId: string,\n options?: MessageAttemptListByMsgOptions\n ): Promise<ListResponseMessageAttemptOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/attempt/msg/{msg_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n status: options?.status,\n status_code_class: options?.statusCodeClass,\n channel: options?.channel,\n tag: options?.tag,\n endpoint_id: options?.endpointId,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n expanded_statuses: options?.expandedStatuses ?? true,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageAttemptOutSerializer._fromJsonObject\n );\n }\n\n /**\n * List messages for a particular endpoint.\n *\n * Additionally includes metadata about the latest message attempt.\n * The `before` parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async listAttemptedMessages(\n appId: string,\n endpointId: string,\n options?: MessageAttemptListAttemptedMessagesOptions\n ): Promise<ListResponseEndpointMessageOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n channel: options?.channel,\n tag: options?.tag,\n status: options?.status,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n expanded_statuses: options?.expandedStatuses ?? true,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseEndpointMessageOutSerializer._fromJsonObject\n );\n }\n\n /**\n * List endpoints attempted by a given message.\n *\n * Additionally includes metadata about the latest message attempt.\n * By default, endpoints are listed in ascending order by ID.\n */\n public async listAttemptedDestinations(\n appId: string,\n msgId: string,\n options?: MessageAttemptListAttemptedDestinationsOptions\n ): Promise<ListResponseMessageEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/msg/{msg_id}/endpoint\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** `msg_id`: Use a message id or a message `eventId` */\n public async get(\n appId: string,\n msgId: string,\n attemptId: string,\n options?: MessageAttemptGetOptions\n ): Promise<MessageAttemptOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"attempt_id\", attemptId);\n request.setQueryParams({\n expanded_statuses: options?.expandedStatuses ?? true,\n });\n\n return await request.send(\n this.requestCtx,\n MessageAttemptOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Deletes the given attempt's response body.\n *\n * Useful when an endpoint accidentally returned sensitive content.\n * The message can't be replayed or resent once its payload has been deleted or expired.\n */\n public async expungeContent(\n appId: string,\n msgId: string,\n attemptId: string\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"attempt_id\", attemptId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Resend a message to the specified endpoint. */\n public async resend(\n appId: string,\n msgId: string,\n endpointId: string,\n options?: MessageAttemptResendOptions\n ): Promise<EmptyResponse> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(this.requestCtx, EmptyResponseSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointOut {\n /** The Endpoint's ID. */\n id: string;\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const OperationalWebhookEndpointOutSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointOut {\n return {\n id: object[\"id\"],\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointOut): any {\n return {\n id: self.id,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport {\n type OperationalWebhookEndpointOut,\n OperationalWebhookEndpointOutSerializer,\n} from \"./operationalWebhookEndpointOut\";\n\nexport interface ListResponseOperationalWebhookEndpointOut {\n data: OperationalWebhookEndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseOperationalWebhookEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseOperationalWebhookEndpointOut {\n return {\n data: object[\"data\"].map((item: OperationalWebhookEndpointOut) =>\n OperationalWebhookEndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseOperationalWebhookEndpointOut): any {\n return {\n data: self.data.map((item) =>\n OperationalWebhookEndpointOutSerializer._toJsonObject(item)\n ),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointHeadersIn {\n headers: { [key: string]: string };\n}\n\nexport const OperationalWebhookEndpointHeadersInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointHeadersIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointHeadersIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointHeadersOut {\n headers: { [key: string]: string };\n sensitive: string[];\n}\n\nexport const OperationalWebhookEndpointHeadersOutSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointHeadersOut {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointHeadersOut): any {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n metadata?: { [key: string]: string };\n headers?: { [key: string]: string } | null;\n}\n\nexport const OperationalWebhookEndpointInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n secret: object[\"secret\"],\n metadata: object[\"metadata\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n secret: self.secret,\n metadata: self.metadata,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointSecretIn {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n /**\n * How long the old secret will be valid for, in seconds.\n *\n * Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.\n */\n gracePeriodSeconds?: number | null;\n}\n\nexport const OperationalWebhookEndpointSecretInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointSecretIn {\n return {\n key: object[\"key\"],\n gracePeriodSeconds: object[\"gracePeriodSeconds\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointSecretIn): any {\n return {\n key: self.key,\n gracePeriodSeconds: self.gracePeriodSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key: string;\n}\n\nexport const OperationalWebhookEndpointSecretOutSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointUpsertIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const OperationalWebhookEndpointUpsertInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointUpsertIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointUpsertIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type ListResponseOperationalWebhookEndpointOut,\n ListResponseOperationalWebhookEndpointOutSerializer,\n} from \"../models/listResponseOperationalWebhookEndpointOut\";\nimport {\n type OperationalWebhookEndpointHeadersIn,\n OperationalWebhookEndpointHeadersInSerializer,\n} from \"../models/operationalWebhookEndpointHeadersIn\";\nimport {\n type OperationalWebhookEndpointHeadersOut,\n OperationalWebhookEndpointHeadersOutSerializer,\n} from \"../models/operationalWebhookEndpointHeadersOut\";\nimport {\n type OperationalWebhookEndpointIn,\n OperationalWebhookEndpointInSerializer,\n} from \"../models/operationalWebhookEndpointIn\";\nimport {\n type OperationalWebhookEndpointOut,\n OperationalWebhookEndpointOutSerializer,\n} from \"../models/operationalWebhookEndpointOut\";\nimport {\n type OperationalWebhookEndpointSecretIn,\n OperationalWebhookEndpointSecretInSerializer,\n} from \"../models/operationalWebhookEndpointSecretIn\";\nimport {\n type OperationalWebhookEndpointSecretOut,\n OperationalWebhookEndpointSecretOutSerializer,\n} from \"../models/operationalWebhookEndpointSecretOut\";\nimport {\n type OperationalWebhookEndpointUpsertIn,\n OperationalWebhookEndpointUpsertInSerializer,\n} from \"../models/operationalWebhookEndpointUpsertIn\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface OperationalWebhookEndpointListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface OperationalWebhookEndpointCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface OperationalWebhookEndpointRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport class OperationalWebhookEndpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List operational webhook endpoints. */\n public async list(\n options?: OperationalWebhookEndpointListOptions\n ): Promise<ListResponseOperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint\"\n );\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseOperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create an operational webhook endpoint. */\n public async create(\n operationalWebhookEndpointIn: OperationalWebhookEndpointIn,\n options?: OperationalWebhookEndpointCreateOptions\n ): Promise<OperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/operational-webhook/endpoint\"\n );\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n OperationalWebhookEndpointInSerializer._toJsonObject(operationalWebhookEndpointIn)\n );\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Get an operational webhook endpoint. */\n public async get(endpointId: string): Promise<OperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create or update an operational webhook endpoint. */\n public async upsert(\n endpointId: string,\n operationalWebhookEndpointUpsertIn: OperationalWebhookEndpointUpsertIn\n ): Promise<OperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n OperationalWebhookEndpointUpsertInSerializer._toJsonObject(\n operationalWebhookEndpointUpsertIn\n )\n );\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Delete an operational webhook endpoint. */\n public async delete(endpointId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Get an operational webhook endpoint's signing secret.\n *\n * This is used to verify the authenticity of the webhook.\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(\n endpointId: string\n ): Promise<OperationalWebhookEndpointSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/secret\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointSecretOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Rotates an operational webhook endpoint's signing secret.\n *\n * The previous secret will remain valid for the specified grace period (default 24 hours).\n */\n public async rotateSecret(\n endpointId: string,\n operationalWebhookEndpointSecretIn: OperationalWebhookEndpointSecretIn = {},\n options?: OperationalWebhookEndpointRotateSecretOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/secret/rotate\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n OperationalWebhookEndpointSecretInSerializer._toJsonObject(\n operationalWebhookEndpointSecretIn\n )\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Get the additional headers to be sent with the operational webhook. */\n public async getHeaders(\n endpointId: string\n ): Promise<OperationalWebhookEndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /** Set the additional headers to be sent with the operational webhook. */\n public async setHeaders(\n endpointId: string,\n operationalWebhookEndpointHeadersIn: OperationalWebhookEndpointHeadersIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n OperationalWebhookEndpointHeadersInSerializer._toJsonObject(\n operationalWebhookEndpointHeadersIn\n )\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nimport { OperationalWebhookEndpoint } from \"./operationalWebhookEndpoint\";\nimport type { SvixRequestContext } from \"../request\";\n\nexport class OperationalWebhook {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get endpoint() {\n return new OperationalWebhookEndpoint(this.requestCtx);\n }\n}\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface AggregateEventTypesOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const AggregateEventTypesOutSerializer = {\n _fromJsonObject(object: any): AggregateEventTypesOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: AggregateEventTypesOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface AppUsageStatsIn {\n since: Date;\n until: Date;\n /**\n * Specific app IDs or UIDs to aggregate stats for.\n *\n * Note that if none of the given IDs or UIDs are resolved, a 422 response will be given.\n */\n appIds?: string[] | null;\n}\n\nexport const AppUsageStatsInSerializer = {\n _fromJsonObject(object: any): AppUsageStatsIn {\n return {\n since: new Date(object[\"since\"]),\n until: new Date(object[\"until\"]),\n appIds: object[\"appIds\"],\n };\n },\n\n _toJsonObject(self: AppUsageStatsIn): any {\n return {\n since: self.since,\n until: self.until,\n appIds: self.appIds,\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface AppUsageStatsOut {\n /**\n * Any app IDs or UIDs received in the request that weren't found.\n *\n * Stats will be produced for all the others.\n */\n unresolvedAppIds: string[];\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const AppUsageStatsOutSerializer = {\n _fromJsonObject(object: any): AppUsageStatsOut {\n return {\n unresolvedAppIds: object[\"unresolvedAppIds\"],\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: AppUsageStatsOut): any {\n return {\n unresolvedAppIds: self.unresolvedAppIds,\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type AggregateEventTypesOut,\n AggregateEventTypesOutSerializer,\n} from \"../models/aggregateEventTypesOut\";\nimport {\n type AppUsageStatsIn,\n AppUsageStatsInSerializer,\n} from \"../models/appUsageStatsIn\";\nimport {\n type AppUsageStatsOut,\n AppUsageStatsOutSerializer,\n} from \"../models/appUsageStatsOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StatisticsAggregateAppStatsOptions {\n idempotencyKey?: string;\n}\n\nexport class Statistics {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * Creates a background task to calculate the listed event types for all apps in the organization.\n *\n * Note that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to\n * retrieve the results of the operation.\n *\n * The completed background task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT\",\n * \"status\": \"finished\",\n * \"task\": \"event-type.aggregate\",\n * \"data\": {\n * \"event_types\": [\n * {\n * \"appId\": \"app_33W1An2Zz5cO9SWbhHsYyDmVC6m\",\n * \"explicitlySubscribedEventTypes\": [\"user.signup\", \"user.deleted\"],\n * \"hasCatchAllEndpoint\": false\n * }\n * ]\n * }\n * }\n * ```\n */\n public async aggregateEventTypes(): Promise<AggregateEventTypesOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/stats/usage/event-types\");\n\n return await request.send(\n this.requestCtx,\n AggregateEventTypesOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Creates a background task to calculate the number of message attempts (`messageDestinations`) made for all applications in the environment.\n *\n * Note that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to\n * retrieve the results of the operation.\n *\n * The completed background task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT\",\n * \"status\": \"finished\",\n * \"task\": \"application.stats\",\n * \"data\": {\n * \"appStats\": [\n * {\n * \"messageDestinations\": 2,\n * \"appId\": \"app_33W1An2Zz5cO9SWbhHsYyDmVC6m\",\n * \"appUid\": null\n * }\n * ]\n * }\n * }\n * ```\n */\n public async aggregateAppStats(\n appUsageStatsIn: AppUsageStatsIn,\n options?: StatisticsAggregateAppStatsOptions\n ): Promise<AppUsageStatsOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stats/usage/app\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(AppUsageStatsInSerializer._toJsonObject(appUsageStatsIn));\n\n return await request.send(\n this.requestCtx,\n AppUsageStatsOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface HttpSinkHeadersPatchIn {\n headers: { [key: string]: string };\n}\n\nexport const HttpSinkHeadersPatchInSerializer = {\n _fromJsonObject(object: any): HttpSinkHeadersPatchIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: HttpSinkHeadersPatchIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamEventTypeOut {\n /** The event type's name */\n name: string;\n description?: string | null;\n createdAt: Date;\n updatedAt: Date;\n deprecated: boolean;\n archived: boolean;\n featureFlags?: string[] | null;\n}\n\nexport const StreamEventTypeOutSerializer = {\n _fromJsonObject(object: any): StreamEventTypeOut {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n deprecated: object[\"deprecated\"],\n archived: object[\"archived\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: StreamEventTypeOut): any {\n return {\n name: self.name,\n description: self.description,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n deprecated: self.deprecated,\n archived: self.archived,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport {\n type StreamEventTypeOut,\n StreamEventTypeOutSerializer,\n} from \"./streamEventTypeOut\";\n\nexport interface ListResponseStreamEventTypeOut {\n data: StreamEventTypeOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseStreamEventTypeOutSerializer = {\n _fromJsonObject(object: any): ListResponseStreamEventTypeOut {\n return {\n data: object[\"data\"].map((item: StreamEventTypeOut) =>\n StreamEventTypeOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseStreamEventTypeOut): any {\n return {\n data: self.data.map((item) => StreamEventTypeOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamEventTypeIn {\n /** The event type's name */\n name: string;\n description?: string | null;\n featureFlags?: string[] | null;\n deprecated?: boolean;\n archived?: boolean;\n}\n\nexport const StreamEventTypeInSerializer = {\n _fromJsonObject(object: any): StreamEventTypeIn {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n deprecated: object[\"deprecated\"],\n archived: object[\"archived\"],\n };\n },\n\n _toJsonObject(self: StreamEventTypeIn): any {\n return {\n name: self.name,\n description: self.description,\n featureFlags: self.featureFlags,\n deprecated: self.deprecated,\n archived: self.archived,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamEventTypePatch {\n description?: string | null;\n featureFlags?: string[] | null;\n deprecated?: boolean;\n archived?: boolean;\n}\n\nexport const StreamEventTypePatchSerializer = {\n _fromJsonObject(object: any): StreamEventTypePatch {\n return {\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n deprecated: object[\"deprecated\"],\n archived: object[\"archived\"],\n };\n },\n\n _toJsonObject(self: StreamEventTypePatch): any {\n return {\n description: self.description,\n featureFlags: self.featureFlags,\n deprecated: self.deprecated,\n archived: self.archived,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type ListResponseStreamEventTypeOut,\n ListResponseStreamEventTypeOutSerializer,\n} from \"../models/listResponseStreamEventTypeOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport {\n type StreamEventTypeIn,\n StreamEventTypeInSerializer,\n} from \"../models/streamEventTypeIn\";\nimport {\n type StreamEventTypeOut,\n StreamEventTypeOutSerializer,\n} from \"../models/streamEventTypeOut\";\nimport {\n type StreamEventTypePatch,\n StreamEventTypePatchSerializer,\n} from \"../models/streamEventTypePatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingEventTypeListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n /** Include archived (deleted but not expunged) items in the response. */\n includeArchived?: boolean;\n}\n\nexport interface StreamingEventTypeCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface StreamingEventTypeDeleteOptions {\n /** By default, event types are archived when \"deleted\". With this flag, they are deleted entirely. */\n expunge?: boolean;\n}\n\nexport class StreamingEventType {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's event types for streaming. */\n public async list(\n options?: StreamingEventTypeListOptions\n ): Promise<ListResponseStreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/event-type\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n include_archived: options?.includeArchived,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseStreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Create an event type for Streams. */\n public async create(\n streamEventTypeIn: StreamEventTypeIn,\n options?: StreamingEventTypeCreateOptions\n ): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream/event-type\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamEventTypeInSerializer._toJsonObject(streamEventTypeIn));\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Get an event type. */\n public async get(name: string): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/event-type/{name}\");\n\n request.setPathParam(\"name\", name);\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Create or update or create a event type for Streams. */\n public async upsert(\n name: string,\n streamEventTypeIn: StreamEventTypeIn\n ): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/stream/event-type/{name}\");\n\n request.setPathParam(\"name\", name);\n request.setBody(StreamEventTypeInSerializer._toJsonObject(streamEventTypeIn));\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Delete an event type. */\n public async delete(\n name: string,\n options?: StreamingEventTypeDeleteOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/stream/event-type/{name}\"\n );\n\n request.setPathParam(\"name\", name);\n request.setQueryParams({\n expunge: options?.expunge,\n });\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Patch an event type for Streams. */\n public async patch(\n name: string,\n streamEventTypePatch: StreamEventTypePatch\n ): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/stream/event-type/{name}\");\n\n request.setPathParam(\"name\", name);\n request.setBody(StreamEventTypePatchSerializer._toJsonObject(streamEventTypePatch));\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface EventIn {\n /** The event type's name */\n eventType: string;\n payload: string;\n}\n\nexport const EventInSerializer = {\n _fromJsonObject(object: any): EventIn {\n return {\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n };\n },\n\n _toJsonObject(self: EventIn): any {\n return {\n eventType: self.eventType,\n payload: self.payload,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamIn {\n /** The stream's name. */\n name: string;\n /** An optional unique identifier for the stream. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const StreamInSerializer = {\n _fromJsonObject(object: any): StreamIn {\n return {\n name: object[\"name\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamIn): any {\n return {\n name: self.name,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type EventIn, EventInSerializer } from \"./eventIn\";\nimport { type StreamIn, StreamInSerializer } from \"./streamIn\";\n\nexport interface CreateStreamEventsIn {\n events: EventIn[];\n /**\n * Optionally creates a new Stream alongside the events.\n *\n * If the stream id or uid that is used in the path already exists, this argument is ignored.\n */\n stream?: StreamIn | null;\n}\n\nexport const CreateStreamEventsInSerializer = {\n _fromJsonObject(object: any): CreateStreamEventsIn {\n return {\n events: object[\"events\"].map((item: EventIn) =>\n EventInSerializer._fromJsonObject(item)\n ),\n stream:\n object[\"stream\"] != null\n ? StreamInSerializer._fromJsonObject(object[\"stream\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: CreateStreamEventsIn): any {\n return {\n events: self.events.map((item) => EventInSerializer._toJsonObject(item)),\n stream:\n self.stream != null ? StreamInSerializer._toJsonObject(self.stream) : undefined,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface CreateStreamEventsOut {}\n\nexport const CreateStreamEventsOutSerializer = {\n _fromJsonObject(_object: any): CreateStreamEventsOut {\n return {};\n },\n\n _toJsonObject(_self: CreateStreamEventsOut): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport interface EventOut {\n /** The event type's name */\n eventType: string;\n payload: string;\n timestamp: Date;\n}\n\nexport const EventOutSerializer = {\n _fromJsonObject(object: any): EventOut {\n return {\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n timestamp: new Date(object[\"timestamp\"]),\n };\n },\n\n _toJsonObject(self: EventOut): any {\n return {\n eventType: self.eventType,\n payload: self.payload,\n timestamp: self.timestamp,\n };\n },\n};\n","// this file is @generated\nimport { type EventOut, EventOutSerializer } from \"./eventOut\";\n\nexport interface EventStreamOut {\n data: EventOut[];\n iterator: string;\n done: boolean;\n}\n\nexport const EventStreamOutSerializer = {\n _fromJsonObject(object: any): EventStreamOut {\n return {\n data: object[\"data\"].map((item: EventOut) =>\n EventOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: EventStreamOut): any {\n return {\n data: self.data.map((item) => EventOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type CreateStreamEventsIn,\n CreateStreamEventsInSerializer,\n} from \"../models/createStreamEventsIn\";\nimport {\n type CreateStreamEventsOut,\n CreateStreamEventsOutSerializer,\n} from \"../models/createStreamEventsOut\";\nimport { type EventStreamOut, EventStreamOutSerializer } from \"../models/eventStreamOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingEventsGetOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n after?: Date | null;\n}\n\nexport interface StreamingEventsCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class StreamingEvents {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * Iterate over a stream of events.\n *\n * The sink must be of type `poller` to use the poller endpoint.\n */\n public async get(\n streamId: string,\n sinkId: string,\n options?: StreamingEventsGetOptions\n ): Promise<EventStreamOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/events\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n after: options?.after,\n });\n\n return await request.send(this.requestCtx, EventStreamOutSerializer._fromJsonObject);\n }\n\n /** Creates events on the Stream. */\n public async create(\n streamId: string,\n createStreamEventsIn: CreateStreamEventsIn,\n options?: StreamingEventsCreateOptions\n ): Promise<CreateStreamEventsOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream/{stream_id}/events\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(CreateStreamEventsInSerializer._toJsonObject(createStreamEventsIn));\n\n return await request.send(\n this.requestCtx,\n CreateStreamEventsOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface AzureBlobStorageConfigOut {\n container: string;\n account: string;\n}\n\nexport const AzureBlobStorageConfigOutSerializer = {\n _fromJsonObject(object: any): AzureBlobStorageConfigOut {\n return {\n container: object[\"container\"],\n account: object[\"account\"],\n };\n },\n\n _toJsonObject(self: AzureBlobStorageConfigOut): any {\n return {\n container: self.container,\n account: self.account,\n };\n },\n};\n","// this file is @generated\n\nexport interface BigQueryConfigOut {\n projectId: string;\n datasetId: string;\n tableId: string;\n}\n\nexport const BigQueryConfigOutSerializer = {\n _fromJsonObject(object: any): BigQueryConfigOut {\n return {\n projectId: object[\"projectId\"],\n datasetId: object[\"datasetId\"],\n tableId: object[\"tableId\"],\n };\n },\n\n _toJsonObject(self: BigQueryConfigOut): any {\n return {\n projectId: self.projectId,\n datasetId: self.datasetId,\n tableId: self.tableId,\n };\n },\n};\n","// this file is @generated\n\nexport interface ClickhouseConfigOut {\n url: string;\n username: string;\n database: string;\n tableName: string;\n}\n\nexport const ClickhouseConfigOutSerializer = {\n _fromJsonObject(object: any): ClickhouseConfigOut {\n return {\n url: object[\"url\"],\n username: object[\"username\"],\n database: object[\"database\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: ClickhouseConfigOut): any {\n return {\n url: self.url,\n username: self.username,\n database: self.database,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventBridgeConfigOut {\n eventBusName: string;\n detailType: string;\n accessKeyId: string;\n region: string;\n}\n\nexport const EventBridgeConfigOutSerializer = {\n _fromJsonObject(object: any): EventBridgeConfigOut {\n return {\n eventBusName: object[\"eventBusName\"],\n detailType: object[\"detailType\"],\n accessKeyId: object[\"accessKeyId\"],\n region: object[\"region\"],\n };\n },\n\n _toJsonObject(self: EventBridgeConfigOut): any {\n return {\n eventBusName: self.eventBusName,\n detailType: self.detailType,\n accessKeyId: self.accessKeyId,\n region: self.region,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudPubSubConfigOut {\n projectId: string;\n topicId: string;\n}\n\nexport const GoogleCloudPubSubConfigOutSerializer = {\n _fromJsonObject(object: any): GoogleCloudPubSubConfigOut {\n return {\n projectId: object[\"projectId\"],\n topicId: object[\"topicId\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudPubSubConfigOut): any {\n return {\n projectId: self.projectId,\n topicId: self.topicId,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudStorageConfigOut {\n bucket: string;\n}\n\nexport const GoogleCloudStorageConfigOutSerializer = {\n _fromJsonObject(object: any): GoogleCloudStorageConfigOut {\n return {\n bucket: object[\"bucket\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudStorageConfigOut): any {\n return {\n bucket: self.bucket,\n };\n },\n};\n","// this file is @generated\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"./endpointHeadersOut\";\n\nexport interface OtelTracingConfigOut {\n url: string;\n headers: EndpointHeadersOut;\n}\n\nexport const OtelTracingConfigOutSerializer = {\n _fromJsonObject(object: any): OtelTracingConfigOut {\n return {\n url: object[\"url\"],\n headers: EndpointHeadersOutSerializer._fromJsonObject(object[\"headers\"]),\n };\n },\n\n _toJsonObject(self: OtelTracingConfigOut): any {\n return {\n url: self.url,\n headers: EndpointHeadersOutSerializer._toJsonObject(self.headers),\n };\n },\n};\n","// this file is @generated\n\nexport interface RabbitMqConfigOut {\n routingKey: string;\n}\n\nexport const RabbitMqConfigOutSerializer = {\n _fromJsonObject(object: any): RabbitMqConfigOut {\n return {\n routingKey: object[\"routingKey\"],\n };\n },\n\n _toJsonObject(self: RabbitMqConfigOut): any {\n return {\n routingKey: self.routingKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface RedshiftConfigOut {\n accessKeyId: string;\n region: string;\n clusterIdentifier?: string | null;\n dbUser?: string | null;\n workgroupName?: string | null;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only used if not using transformations.\n */\n schemaName?: string | null;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const RedshiftConfigOutSerializer = {\n _fromJsonObject(object: any): RedshiftConfigOut {\n return {\n accessKeyId: object[\"accessKeyId\"],\n region: object[\"region\"],\n clusterIdentifier: object[\"clusterIdentifier\"],\n dbUser: object[\"dbUser\"],\n workgroupName: object[\"workgroupName\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: RedshiftConfigOut): any {\n return {\n accessKeyId: self.accessKeyId,\n region: self.region,\n clusterIdentifier: self.clusterIdentifier,\n dbUser: self.dbUser,\n workgroupName: self.workgroupName,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface S3ConfigOut {\n bucket: string;\n accessKeyId: string;\n region: string;\n endpointUrl?: string | null;\n}\n\nexport const S3ConfigOutSerializer = {\n _fromJsonObject(object: any): S3ConfigOut {\n return {\n bucket: object[\"bucket\"],\n accessKeyId: object[\"accessKeyId\"],\n region: object[\"region\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: S3ConfigOut): any {\n return {\n bucket: self.bucket,\n accessKeyId: self.accessKeyId,\n region: self.region,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"./endpointHeadersOut\";\n\nexport interface SinkHttpConfigOut {\n url: string;\n headers: EndpointHeadersOut;\n}\n\nexport const SinkHttpConfigOutSerializer = {\n _fromJsonObject(object: any): SinkHttpConfigOut {\n return {\n url: object[\"url\"],\n headers: EndpointHeadersOutSerializer._fromJsonObject(object[\"headers\"]),\n };\n },\n\n _toJsonObject(self: SinkHttpConfigOut): any {\n return {\n url: self.url,\n headers: EndpointHeadersOutSerializer._toJsonObject(self.headers),\n };\n },\n};\n","// this file is @generated\n\nexport enum SinkStatus {\n Enabled = \"enabled\",\n Paused = \"paused\",\n Disabled = \"disabled\",\n Retrying = \"retrying\",\n}\n\nexport const SinkStatusSerializer = {\n _fromJsonObject(object: any): SinkStatus {\n return object;\n },\n\n _toJsonObject(self: SinkStatus): any {\n return self;\n },\n};\n","// this file is @generated\n\nexport interface SnowflakeConfigOut {\n accountIdentifier: string;\n userId: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only required if not using transformations.\n */\n schemaName?: string;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const SnowflakeConfigOutSerializer = {\n _fromJsonObject(object: any): SnowflakeConfigOut {\n return {\n accountIdentifier: object[\"accountIdentifier\"],\n userId: object[\"userId\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: SnowflakeConfigOut): any {\n return {\n accountIdentifier: self.accountIdentifier,\n userId: self.userId,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface SnsConfigOut {\n topicArn: string;\n region: string;\n accessKeyId: string;\n}\n\nexport const SnsConfigOutSerializer = {\n _fromJsonObject(object: any): SnsConfigOut {\n return {\n topicArn: object[\"topicArn\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n };\n },\n\n _toJsonObject(self: SnsConfigOut): any {\n return {\n topicArn: self.topicArn,\n region: self.region,\n accessKeyId: self.accessKeyId,\n };\n },\n};\n","// this file is @generated\n\nexport interface SqsConfigOut {\n queueUrl: string;\n region: string;\n accessKeyId: string;\n endpointUrl?: string | null;\n}\n\nexport const SqsConfigOutSerializer = {\n _fromJsonObject(object: any): SqsConfigOut {\n return {\n queueUrl: object[\"queueUrl\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SqsConfigOut): any {\n return {\n queueUrl: self.queueUrl,\n region: self.region,\n accessKeyId: self.accessKeyId,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\nimport {\n type AzureBlobStorageConfigOut,\n AzureBlobStorageConfigOutSerializer,\n} from \"./azureBlobStorageConfigOut\";\nimport { type BigQueryConfigOut, BigQueryConfigOutSerializer } from \"./bigQueryConfigOut\";\nimport {\n type ClickhouseConfigOut,\n ClickhouseConfigOutSerializer,\n} from \"./clickhouseConfigOut\";\nimport {\n type EventBridgeConfigOut,\n EventBridgeConfigOutSerializer,\n} from \"./eventBridgeConfigOut\";\nimport {\n type GoogleCloudPubSubConfigOut,\n GoogleCloudPubSubConfigOutSerializer,\n} from \"./googleCloudPubSubConfigOut\";\nimport {\n type GoogleCloudStorageConfigOut,\n GoogleCloudStorageConfigOutSerializer,\n} from \"./googleCloudStorageConfigOut\";\nimport {\n type OtelTracingConfigOut,\n OtelTracingConfigOutSerializer,\n} from \"./otelTracingConfigOut\";\nimport { type RabbitMqConfigOut, RabbitMqConfigOutSerializer } from \"./rabbitMqConfigOut\";\nimport { type RedshiftConfigOut, RedshiftConfigOutSerializer } from \"./redshiftConfigOut\";\nimport { type S3ConfigOut, S3ConfigOutSerializer } from \"./s3ConfigOut\";\nimport { type SinkHttpConfigOut, SinkHttpConfigOutSerializer } from \"./sinkHttpConfigOut\";\nimport { type SinkStatus, SinkStatusSerializer } from \"./sinkStatus\";\nimport {\n type SnowflakeConfigOut,\n SnowflakeConfigOutSerializer,\n} from \"./snowflakeConfigOut\";\nimport { type SnsConfigOut, SnsConfigOutSerializer } from \"./snsConfigOut\";\nimport { type SqsConfigOut, SqsConfigOutSerializer } from \"./sqsConfigOut\";\n\ninterface _StreamSinkOutFields {\n /** The sink's ID. */\n id: string;\n /** The sink's UID. */\n uid?: string | null;\n status: SinkStatus;\n currentIterator: string;\n failureReason?: string | null;\n createdAt: Date;\n updatedAt: Date;\n batchSize: number;\n maxWaitSecs: number;\n eventTypes?: string[];\n channels?: string[];\n nextRetryAt?: Date | null;\n metadata: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface StreamSinkOutPollerConfig {}\n\ninterface StreamSinkOutPoller {\n type: \"poller\";\n config?: StreamSinkOutPollerConfig;\n}\n\ninterface StreamSinkOutAzureBlobStorage {\n type: \"azureBlobStorage\";\n config: AzureBlobStorageConfigOut;\n}\n\ninterface StreamSinkOutOtelTracing {\n type: \"otelTracing\";\n config: OtelTracingConfigOut;\n}\n\ninterface StreamSinkOutHttp {\n type: \"http\";\n config: SinkHttpConfigOut;\n}\n\ninterface StreamSinkOutAmazonS3 {\n type: \"amazonS3\";\n config: S3ConfigOut;\n}\n\ninterface StreamSinkOutSnowflake {\n type: \"snowflake\";\n config: SnowflakeConfigOut;\n}\n\ninterface StreamSinkOutGoogleCloudStorage {\n type: \"googleCloudStorage\";\n config: GoogleCloudStorageConfigOut;\n}\n\ninterface StreamSinkOutGoogleCloudPubSub {\n type: \"googleCloudPubSub\";\n config: GoogleCloudPubSubConfigOut;\n}\n\ninterface StreamSinkOutRedshift {\n type: \"redshift\";\n config: RedshiftConfigOut;\n}\n\ninterface StreamSinkOutBigQuery {\n type: \"bigQuery\";\n config: BigQueryConfigOut;\n}\n\ninterface StreamSinkOutClickhouse {\n type: \"clickhouse\";\n config: ClickhouseConfigOut;\n}\n\ninterface StreamSinkOutRabbitMq {\n type: \"rabbitMq\";\n config: RabbitMqConfigOut;\n}\n\ninterface StreamSinkOutSqs {\n type: \"sqs\";\n config: SqsConfigOut;\n}\n\ninterface StreamSinkOutEventBridge {\n type: \"eventBridge\";\n config: EventBridgeConfigOut;\n}\n\ninterface StreamSinkOutSns {\n type: \"sns\";\n config: SnsConfigOut;\n}\n\nexport type StreamSinkOut = _StreamSinkOutFields &\n (\n | StreamSinkOutPoller\n | StreamSinkOutAzureBlobStorage\n | StreamSinkOutOtelTracing\n | StreamSinkOutHttp\n | StreamSinkOutAmazonS3\n | StreamSinkOutSnowflake\n | StreamSinkOutGoogleCloudStorage\n | StreamSinkOutGoogleCloudPubSub\n | StreamSinkOutRedshift\n | StreamSinkOutBigQuery\n | StreamSinkOutClickhouse\n | StreamSinkOutRabbitMq\n | StreamSinkOutSqs\n | StreamSinkOutEventBridge\n | StreamSinkOutSns\n );\n\nexport const StreamSinkOutSerializer = {\n _fromJsonObject(object: any): StreamSinkOut {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return AzureBlobStorageConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return OtelTracingConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return SinkHttpConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return S3ConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"snowflake\":\n return SnowflakeConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return GoogleCloudStorageConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudPubSub\":\n return GoogleCloudPubSubConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"redshift\":\n return RedshiftConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"bigQuery\":\n return BigQueryConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"clickhouse\":\n return ClickhouseConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"rabbitMq\":\n return RabbitMqConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"sqs\":\n return SqsConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"eventBridge\":\n return EventBridgeConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"sns\":\n return SnsConfigOutSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n id: object[\"id\"],\n uid: object[\"uid\"],\n status: SinkStatusSerializer._fromJsonObject(object[\"status\"]),\n currentIterator: object[\"currentIterator\"],\n failureReason: object[\"failureReason\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n batchSize: object[\"batchSize\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n nextRetryAt: object[\"nextRetryAt\"] ? new Date(object[\"nextRetryAt\"]) : null,\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamSinkOut): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = AzureBlobStorageConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = OtelTracingConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = SinkHttpConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = S3ConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"snowflake\":\n config = SnowflakeConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = GoogleCloudStorageConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudPubSub\":\n config = GoogleCloudPubSubConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"redshift\":\n config = RedshiftConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"bigQuery\":\n config = BigQueryConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"clickhouse\":\n config = ClickhouseConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"rabbitMq\":\n config = RabbitMqConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"sqs\":\n config = SqsConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"eventBridge\":\n config = EventBridgeConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"sns\":\n config = SnsConfigOutSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n id: self.id,\n uid: self.uid,\n status: SinkStatusSerializer._toJsonObject(self.status),\n currentIterator: self.currentIterator,\n failureReason: self.failureReason,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n batchSize: self.batchSize,\n maxWaitSecs: self.maxWaitSecs,\n eventTypes: self.eventTypes,\n channels: self.channels,\n nextRetryAt: self.nextRetryAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type StreamSinkOut, StreamSinkOutSerializer } from \"./streamSinkOut\";\n\nexport interface ListResponseStreamSinkOut {\n data: StreamSinkOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseStreamSinkOutSerializer = {\n _fromJsonObject(object: any): ListResponseStreamSinkOut {\n return {\n data: object[\"data\"].map((item: StreamSinkOut) =>\n StreamSinkOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseStreamSinkOut): any {\n return {\n data: self.data.map((item) => StreamSinkOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n}\n\nexport const SinkSecretOutSerializer = {\n _fromJsonObject(object: any): SinkSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: SinkSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface AzureBlobStorageConfigIn {\n container: string;\n account: string;\n /**\n * Access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKey?: string | null;\n}\n\nexport const AzureBlobStorageConfigInSerializer = {\n _fromJsonObject(object: any): AzureBlobStorageConfigIn {\n return {\n container: object[\"container\"],\n account: object[\"account\"],\n accessKey: object[\"accessKey\"],\n };\n },\n\n _toJsonObject(self: AzureBlobStorageConfigIn): any {\n return {\n container: self.container,\n account: self.account,\n accessKey: self.accessKey,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for a Google Cloud BigQuery sink. */\nexport interface BigQueryConfigIn {\n projectId: string;\n datasetId: string;\n tableId: string;\n /** Google Cloud Credentials JSON Object as a string. */\n credentials: string;\n}\n\nexport const BigQueryConfigInSerializer = {\n _fromJsonObject(object: any): BigQueryConfigIn {\n return {\n projectId: object[\"projectId\"],\n datasetId: object[\"datasetId\"],\n tableId: object[\"tableId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: BigQueryConfigIn): any {\n return {\n projectId: self.projectId,\n datasetId: self.datasetId,\n tableId: self.tableId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface ClickhouseConfigIn {\n /** The HTTP URL of the ClickHouse server (e.g. `https://my_clickhouse:8443`). */\n url: string;\n /**\n * Username to access Clickhouse.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n username?: string | null;\n /**\n * Password to access Clickhouse.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n password?: string | null;\n /** The Clickhouse database to connect to. */\n database?: string;\n /** The Clickhouse table to write to. */\n tableName: string;\n}\n\nexport const ClickhouseConfigInSerializer = {\n _fromJsonObject(object: any): ClickhouseConfigIn {\n return {\n url: object[\"url\"],\n username: object[\"username\"],\n password: object[\"password\"],\n database: object[\"database\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: ClickhouseConfigIn): any {\n return {\n url: self.url,\n username: self.username,\n password: self.password,\n database: self.database,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventBridgeConfigIn {\n /** The name or ARN of the event bus to receive the event */\n eventBusName: string;\n /** Free-form string, with a maximum of 128 characters */\n detailType?: string;\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n /**\n * The region of the EventBridge bus.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n}\n\nexport const EventBridgeConfigInSerializer = {\n _fromJsonObject(object: any): EventBridgeConfigIn {\n return {\n eventBusName: object[\"eventBusName\"],\n detailType: object[\"detailType\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n };\n },\n\n _toJsonObject(self: EventBridgeConfigIn): any {\n return {\n eventBusName: self.eventBusName,\n detailType: self.detailType,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudPubSubConfigIn {\n projectId: string;\n topicId: string;\n /** Google Cloud Credentials JSON Object as a string. */\n credentials: string;\n}\n\nexport const GoogleCloudPubSubConfigInSerializer = {\n _fromJsonObject(object: any): GoogleCloudPubSubConfigIn {\n return {\n projectId: object[\"projectId\"],\n topicId: object[\"topicId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudPubSubConfigIn): any {\n return {\n projectId: self.projectId,\n topicId: self.topicId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\n/**\n * Configuration for a Google Cloud Storage sink.\n *\n * Write stream events into the named bucket using the supplied Google Cloud credentials.\n */\nexport interface GoogleCloudStorageConfigIn {\n bucket: string;\n /** Google Cloud Credentials JSON Object as a string. */\n credentials: string;\n}\n\nexport const GoogleCloudStorageConfigInSerializer = {\n _fromJsonObject(object: any): GoogleCloudStorageConfigIn {\n return {\n bucket: object[\"bucket\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudStorageConfigIn): any {\n return {\n bucket: self.bucket,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface OtelTracingConfigIn {\n url: string;\n headers?: { [key: string]: string };\n}\n\nexport const OtelTracingConfigInSerializer = {\n _fromJsonObject(object: any): OtelTracingConfigIn {\n return {\n url: object[\"url\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: OtelTracingConfigIn): any {\n return {\n url: self.url,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for a RabbitMq sink. */\nexport interface RabbitMqConfigIn {\n uri: string;\n routingKey: string;\n}\n\nexport const RabbitMqConfigInSerializer = {\n _fromJsonObject(object: any): RabbitMqConfigIn {\n return {\n uri: object[\"uri\"],\n routingKey: object[\"routingKey\"],\n };\n },\n\n _toJsonObject(self: RabbitMqConfigIn): any {\n return {\n uri: self.uri,\n routingKey: self.routingKey,\n };\n },\n};\n","// this file is @generated\n\n/**\n * Configuration parameters for defining a Redshift sink.\n *\n * For provisioned clusters, set `cluster_identifier` and `db_user`. For Redshift Serverless, set `workgroup_name`.\n */\nexport interface RedshiftConfigIn {\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n /**\n * The region of the Redshift DB.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n /** Required for provisioned clusters. */\n clusterIdentifier?: string | null;\n /** Required for provisioned clusters. */\n dbUser?: string | null;\n /** Required for Redshift Serverless. */\n workgroupName?: string | null;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only used if not using transformations.\n */\n schemaName?: string | null;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const RedshiftConfigInSerializer = {\n _fromJsonObject(object: any): RedshiftConfigIn {\n return {\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n clusterIdentifier: object[\"clusterIdentifier\"],\n dbUser: object[\"dbUser\"],\n workgroupName: object[\"workgroupName\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: RedshiftConfigIn): any {\n return {\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n clusterIdentifier: self.clusterIdentifier,\n dbUser: self.dbUser,\n workgroupName: self.workgroupName,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface S3ConfigIn {\n bucket: string;\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n /**\n * The region of the EventBridge bus.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n endpointUrl?: string | null;\n}\n\nexport const S3ConfigInSerializer = {\n _fromJsonObject(object: any): S3ConfigIn {\n return {\n bucket: object[\"bucket\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: S3ConfigIn): any {\n return {\n bucket: self.bucket,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkHttpConfigIn {\n url: string;\n headers?: { [key: string]: string };\n key?: string | null;\n}\n\nexport const SinkHttpConfigInSerializer = {\n _fromJsonObject(object: any): SinkHttpConfigIn {\n return {\n url: object[\"url\"],\n headers: object[\"headers\"],\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: SinkHttpConfigIn): any {\n return {\n url: self.url,\n headers: self.headers,\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport enum SinkStatusIn {\n Enabled = \"enabled\",\n Disabled = \"disabled\",\n}\n\nexport const SinkStatusInSerializer = {\n _fromJsonObject(object: any): SinkStatusIn {\n return object;\n },\n\n _toJsonObject(self: SinkStatusIn): any {\n return self;\n },\n};\n","// this file is @generated\n\n/** Configuration parameters for defining a Snowflake sink. */\nexport interface SnowflakeConfigIn {\n /**\n * PEM-encoded private key used for signing token-based requests to the Snowflake API.\n *\n * Beginning/end delimiters are not required.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n privateKey?: string | null;\n /** Snowflake account identifier, which includes both the organization and account IDs separated by a hyphen. */\n accountIdentifier: string;\n /** The Snowflake user id. */\n userId: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only required if not using transformations.\n */\n schemaName?: string;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const SnowflakeConfigInSerializer = {\n _fromJsonObject(object: any): SnowflakeConfigIn {\n return {\n privateKey: object[\"privateKey\"],\n accountIdentifier: object[\"accountIdentifier\"],\n userId: object[\"userId\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: SnowflakeConfigIn): any {\n return {\n privateKey: self.privateKey,\n accountIdentifier: self.accountIdentifier,\n userId: self.userId,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for a SNS sink. */\nexport interface SnsConfigIn {\n topicArn: string;\n /**\n * The region of the SNS instance.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n endpointUrl?: string | null;\n}\n\nexport const SnsConfigInSerializer = {\n _fromJsonObject(object: any): SnsConfigIn {\n return {\n topicArn: object[\"topicArn\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SnsConfigIn): any {\n return {\n topicArn: self.topicArn,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for an SQS sink. */\nexport interface SqsConfigIn {\n queueUrl: string;\n /**\n * The region of the SQS queue.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n endpointUrl?: string | null;\n}\n\nexport const SqsConfigInSerializer = {\n _fromJsonObject(object: any): SqsConfigIn {\n return {\n queueUrl: object[\"queueUrl\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SqsConfigIn): any {\n return {\n queueUrl: self.queueUrl,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\nimport {\n type AzureBlobStorageConfigIn,\n AzureBlobStorageConfigInSerializer,\n} from \"./azureBlobStorageConfigIn\";\nimport { type BigQueryConfigIn, BigQueryConfigInSerializer } from \"./bigQueryConfigIn\";\nimport {\n type ClickhouseConfigIn,\n ClickhouseConfigInSerializer,\n} from \"./clickhouseConfigIn\";\nimport {\n type EventBridgeConfigIn,\n EventBridgeConfigInSerializer,\n} from \"./eventBridgeConfigIn\";\nimport {\n type GoogleCloudPubSubConfigIn,\n GoogleCloudPubSubConfigInSerializer,\n} from \"./googleCloudPubSubConfigIn\";\nimport {\n type GoogleCloudStorageConfigIn,\n GoogleCloudStorageConfigInSerializer,\n} from \"./googleCloudStorageConfigIn\";\nimport {\n type OtelTracingConfigIn,\n OtelTracingConfigInSerializer,\n} from \"./otelTracingConfigIn\";\nimport { type RabbitMqConfigIn, RabbitMqConfigInSerializer } from \"./rabbitMqConfigIn\";\nimport { type RedshiftConfigIn, RedshiftConfigInSerializer } from \"./redshiftConfigIn\";\nimport { type S3ConfigIn, S3ConfigInSerializer } from \"./s3ConfigIn\";\nimport { type SinkHttpConfigIn, SinkHttpConfigInSerializer } from \"./sinkHttpConfigIn\";\nimport { type SinkStatusIn, SinkStatusInSerializer } from \"./sinkStatusIn\";\nimport { type SnowflakeConfigIn, SnowflakeConfigInSerializer } from \"./snowflakeConfigIn\";\nimport { type SnsConfigIn, SnsConfigInSerializer } from \"./snsConfigIn\";\nimport { type SqsConfigIn, SqsConfigInSerializer } from \"./sqsConfigIn\";\n\ninterface _StreamSinkInFields {\n /** An optional unique identifier for the sink. */\n uid?: string | null;\n /**\n * Whether the sink will receive events.\n *\n * If the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n *\n * If the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.\n */\n status?: SinkStatusIn;\n /** How many events will be batched in a request to the Sink. */\n batchSize?: number;\n /**\n * How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n *\n * For example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n *\n * Note that we will never send an empty batch of events to the Sink.\n */\n maxWaitSecs?: number;\n /** A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events. */\n eventTypes?: string[];\n channels?: string[];\n metadata?: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface StreamSinkInPollerConfig {}\n\ninterface StreamSinkInPoller {\n type: \"poller\";\n config?: StreamSinkInPollerConfig;\n}\n\ninterface StreamSinkInAzureBlobStorage {\n type: \"azureBlobStorage\";\n config: AzureBlobStorageConfigIn;\n}\n\ninterface StreamSinkInOtelTracing {\n type: \"otelTracing\";\n config: OtelTracingConfigIn;\n}\n\ninterface StreamSinkInHttp {\n type: \"http\";\n config: SinkHttpConfigIn;\n}\n\ninterface StreamSinkInAmazonS3 {\n type: \"amazonS3\";\n config: S3ConfigIn;\n}\n\ninterface StreamSinkInGoogleCloudStorage {\n type: \"googleCloudStorage\";\n config: GoogleCloudStorageConfigIn;\n}\n\ninterface StreamSinkInGoogleCloudPubSub {\n type: \"googleCloudPubSub\";\n config: GoogleCloudPubSubConfigIn;\n}\n\ninterface StreamSinkInSqs {\n type: \"sqs\";\n config: SqsConfigIn;\n}\n\ninterface StreamSinkInSns {\n type: \"sns\";\n config: SnsConfigIn;\n}\n\ninterface StreamSinkInBigQuery {\n type: \"bigQuery\";\n config: BigQueryConfigIn;\n}\n\ninterface StreamSinkInClickhouse {\n type: \"clickhouse\";\n config: ClickhouseConfigIn;\n}\n\ninterface StreamSinkInEventBridge {\n type: \"eventBridge\";\n config: EventBridgeConfigIn;\n}\n\ninterface StreamSinkInSnowflake {\n type: \"snowflake\";\n config: SnowflakeConfigIn;\n}\n\ninterface StreamSinkInRabbitMq {\n type: \"rabbitMq\";\n config: RabbitMqConfigIn;\n}\n\ninterface StreamSinkInRedshift {\n type: \"redshift\";\n config: RedshiftConfigIn;\n}\n\nexport type StreamSinkIn = _StreamSinkInFields &\n (\n | StreamSinkInPoller\n | StreamSinkInAzureBlobStorage\n | StreamSinkInOtelTracing\n | StreamSinkInHttp\n | StreamSinkInAmazonS3\n | StreamSinkInGoogleCloudStorage\n | StreamSinkInGoogleCloudPubSub\n | StreamSinkInSqs\n | StreamSinkInSns\n | StreamSinkInBigQuery\n | StreamSinkInClickhouse\n | StreamSinkInEventBridge\n | StreamSinkInSnowflake\n | StreamSinkInRabbitMq\n | StreamSinkInRedshift\n );\n\nexport const StreamSinkInSerializer = {\n _fromJsonObject(object: any): StreamSinkIn {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return AzureBlobStorageConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return OtelTracingConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return SinkHttpConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return S3ConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return GoogleCloudStorageConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudPubSub\":\n return GoogleCloudPubSubConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"sqs\":\n return SqsConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"sns\":\n return SnsConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"bigQuery\":\n return BigQueryConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"clickhouse\":\n return ClickhouseConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"eventBridge\":\n return EventBridgeConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"snowflake\":\n return SnowflakeConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"rabbitMq\":\n return RabbitMqConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"redshift\":\n return RedshiftConfigInSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n uid: object[\"uid\"],\n status:\n object[\"status\"] != null\n ? SinkStatusInSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n batchSize: object[\"batchSize\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamSinkIn): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = AzureBlobStorageConfigInSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = OtelTracingConfigInSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = SinkHttpConfigInSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = S3ConfigInSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = GoogleCloudStorageConfigInSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudPubSub\":\n config = GoogleCloudPubSubConfigInSerializer._toJsonObject(self.config);\n break;\n case \"sqs\":\n config = SqsConfigInSerializer._toJsonObject(self.config);\n break;\n case \"sns\":\n config = SnsConfigInSerializer._toJsonObject(self.config);\n break;\n case \"bigQuery\":\n config = BigQueryConfigInSerializer._toJsonObject(self.config);\n break;\n case \"clickhouse\":\n config = ClickhouseConfigInSerializer._toJsonObject(self.config);\n break;\n case \"eventBridge\":\n config = EventBridgeConfigInSerializer._toJsonObject(self.config);\n break;\n case \"snowflake\":\n config = SnowflakeConfigInSerializer._toJsonObject(self.config);\n break;\n case \"rabbitMq\":\n config = RabbitMqConfigInSerializer._toJsonObject(self.config);\n break;\n case \"redshift\":\n config = RedshiftConfigInSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n uid: self.uid,\n status:\n self.status != null\n ? SinkStatusInSerializer._toJsonObject(self.status)\n : undefined,\n batchSize: self.batchSize,\n maxWaitSecs: self.maxWaitSecs,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface AzureBlobStorageConfigPatch {\n container?: string;\n account?: string;\n accessKey?: string;\n}\n\nexport const AzureBlobStorageConfigPatchSerializer = {\n _fromJsonObject(object: any): AzureBlobStorageConfigPatch {\n return {\n container: object[\"container\"],\n account: object[\"account\"],\n accessKey: object[\"accessKey\"],\n };\n },\n\n _toJsonObject(self: AzureBlobStorageConfigPatch): any {\n return {\n container: self.container,\n account: self.account,\n accessKey: self.accessKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface BigQueryConfigPatch {\n projectId?: string;\n datasetId?: string;\n tableId?: string;\n credentials?: string;\n}\n\nexport const BigQueryConfigPatchSerializer = {\n _fromJsonObject(object: any): BigQueryConfigPatch {\n return {\n projectId: object[\"projectId\"],\n datasetId: object[\"datasetId\"],\n tableId: object[\"tableId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: BigQueryConfigPatch): any {\n return {\n projectId: self.projectId,\n datasetId: self.datasetId,\n tableId: self.tableId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface ClickhouseConfigPatch {\n url?: string;\n username?: string;\n password?: string;\n database?: string;\n tableName?: string;\n}\n\nexport const ClickhouseConfigPatchSerializer = {\n _fromJsonObject(object: any): ClickhouseConfigPatch {\n return {\n url: object[\"url\"],\n username: object[\"username\"],\n password: object[\"password\"],\n database: object[\"database\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: ClickhouseConfigPatch): any {\n return {\n url: self.url,\n username: self.username,\n password: self.password,\n database: self.database,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventBridgeConfigPatch {\n eventBusName?: string;\n detailType?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n region?: string;\n}\n\nexport const EventBridgeConfigPatchSerializer = {\n _fromJsonObject(object: any): EventBridgeConfigPatch {\n return {\n eventBusName: object[\"eventBusName\"],\n detailType: object[\"detailType\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n };\n },\n\n _toJsonObject(self: EventBridgeConfigPatch): any {\n return {\n eventBusName: self.eventBusName,\n detailType: self.detailType,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudPubSubConfigPatch {\n projectId?: string;\n topicId?: string;\n credentials?: string;\n}\n\nexport const GoogleCloudPubSubConfigPatchSerializer = {\n _fromJsonObject(object: any): GoogleCloudPubSubConfigPatch {\n return {\n projectId: object[\"projectId\"],\n topicId: object[\"topicId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudPubSubConfigPatch): any {\n return {\n projectId: self.projectId,\n topicId: self.topicId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudStorageConfigPatch {\n bucket?: string;\n credentials?: string;\n}\n\nexport const GoogleCloudStorageConfigPatchSerializer = {\n _fromJsonObject(object: any): GoogleCloudStorageConfigPatch {\n return {\n bucket: object[\"bucket\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudStorageConfigPatch): any {\n return {\n bucket: self.bucket,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface OtelTracingConfigPatch {\n url?: string;\n}\n\nexport const OtelTracingConfigPatchSerializer = {\n _fromJsonObject(object: any): OtelTracingConfigPatch {\n return {\n url: object[\"url\"],\n };\n },\n\n _toJsonObject(self: OtelTracingConfigPatch): any {\n return {\n url: self.url,\n };\n },\n};\n","// this file is @generated\n\nexport interface RabbitMqConfigPatch {\n routingKey?: string;\n uri?: string;\n}\n\nexport const RabbitMqConfigPatchSerializer = {\n _fromJsonObject(object: any): RabbitMqConfigPatch {\n return {\n routingKey: object[\"routingKey\"],\n uri: object[\"uri\"],\n };\n },\n\n _toJsonObject(self: RabbitMqConfigPatch): any {\n return {\n routingKey: self.routingKey,\n uri: self.uri,\n };\n },\n};\n","// this file is @generated\n\nexport interface RedshiftConfigPatch {\n accessKeyId?: string;\n secretAccessKey?: string;\n region?: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only used if not using transformations.\n */\n schemaName?: string | null;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const RedshiftConfigPatchSerializer = {\n _fromJsonObject(object: any): RedshiftConfigPatch {\n return {\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: RedshiftConfigPatch): any {\n return {\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface S3ConfigPatch {\n bucket?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n region?: string;\n endpointUrl?: string;\n}\n\nexport const S3ConfigPatchSerializer = {\n _fromJsonObject(object: any): S3ConfigPatch {\n return {\n bucket: object[\"bucket\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: S3ConfigPatch): any {\n return {\n bucket: self.bucket,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkHttpConfigPatch {\n url?: string;\n}\n\nexport const SinkHttpConfigPatchSerializer = {\n _fromJsonObject(object: any): SinkHttpConfigPatch {\n return {\n url: object[\"url\"],\n };\n },\n\n _toJsonObject(self: SinkHttpConfigPatch): any {\n return {\n url: self.url,\n };\n },\n};\n","// this file is @generated\n\nexport interface SnowflakeConfigPatch {\n privateKey?: string;\n accountIdentifier?: string;\n userId?: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only required if not using transformations.\n */\n schemaName?: string;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const SnowflakeConfigPatchSerializer = {\n _fromJsonObject(object: any): SnowflakeConfigPatch {\n return {\n privateKey: object[\"privateKey\"],\n accountIdentifier: object[\"accountIdentifier\"],\n userId: object[\"userId\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: SnowflakeConfigPatch): any {\n return {\n privateKey: self.privateKey,\n accountIdentifier: self.accountIdentifier,\n userId: self.userId,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface SnsConfigPatch {\n topicArn?: string;\n region?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n endpointUrl?: string | null;\n}\n\nexport const SnsConfigPatchSerializer = {\n _fromJsonObject(object: any): SnsConfigPatch {\n return {\n topicArn: object[\"topicArn\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SnsConfigPatch): any {\n return {\n topicArn: self.topicArn,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\n\nexport interface SqsConfigPatch {\n queueUrl?: string;\n region?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n endpointUrl?: string | null;\n}\n\nexport const SqsConfigPatchSerializer = {\n _fromJsonObject(object: any): SqsConfigPatch {\n return {\n queueUrl: object[\"queueUrl\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SqsConfigPatch): any {\n return {\n queueUrl: self.queueUrl,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\nimport {\n type AzureBlobStorageConfigPatch,\n AzureBlobStorageConfigPatchSerializer,\n} from \"./azureBlobStorageConfigPatch\";\nimport {\n type BigQueryConfigPatch,\n BigQueryConfigPatchSerializer,\n} from \"./bigQueryConfigPatch\";\nimport {\n type ClickhouseConfigPatch,\n ClickhouseConfigPatchSerializer,\n} from \"./clickhouseConfigPatch\";\nimport {\n type EventBridgeConfigPatch,\n EventBridgeConfigPatchSerializer,\n} from \"./eventBridgeConfigPatch\";\nimport {\n type GoogleCloudPubSubConfigPatch,\n GoogleCloudPubSubConfigPatchSerializer,\n} from \"./googleCloudPubSubConfigPatch\";\nimport {\n type GoogleCloudStorageConfigPatch,\n GoogleCloudStorageConfigPatchSerializer,\n} from \"./googleCloudStorageConfigPatch\";\nimport {\n type OtelTracingConfigPatch,\n OtelTracingConfigPatchSerializer,\n} from \"./otelTracingConfigPatch\";\nimport {\n type RabbitMqConfigPatch,\n RabbitMqConfigPatchSerializer,\n} from \"./rabbitMqConfigPatch\";\nimport {\n type RedshiftConfigPatch,\n RedshiftConfigPatchSerializer,\n} from \"./redshiftConfigPatch\";\nimport { type S3ConfigPatch, S3ConfigPatchSerializer } from \"./s3ConfigPatch\";\nimport {\n type SinkHttpConfigPatch,\n SinkHttpConfigPatchSerializer,\n} from \"./sinkHttpConfigPatch\";\nimport { type SinkStatusIn, SinkStatusInSerializer } from \"./sinkStatusIn\";\nimport {\n type SnowflakeConfigPatch,\n SnowflakeConfigPatchSerializer,\n} from \"./snowflakeConfigPatch\";\nimport { type SnsConfigPatch, SnsConfigPatchSerializer } from \"./snsConfigPatch\";\nimport { type SqsConfigPatch, SqsConfigPatchSerializer } from \"./sqsConfigPatch\";\n\ninterface _StreamSinkPatchFields {\n /** The StreamSink's UID. */\n uid?: string | null;\n status?: SinkStatusIn | null;\n batchSize?: number | null;\n maxWaitSecs?: number | null;\n eventTypes?: string[];\n channels?: string[];\n metadata?: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface StreamSinkPatchPollerConfig {}\n\ninterface StreamSinkPatchPoller {\n type: \"poller\";\n config?: StreamSinkPatchPollerConfig;\n}\n\ninterface StreamSinkPatchAzureBlobStorage {\n type: \"azureBlobStorage\";\n config: AzureBlobStorageConfigPatch;\n}\n\ninterface StreamSinkPatchOtelTracing {\n type: \"otelTracing\";\n config: OtelTracingConfigPatch;\n}\n\ninterface StreamSinkPatchHttp {\n type: \"http\";\n config: SinkHttpConfigPatch;\n}\n\ninterface StreamSinkPatchAmazonS3 {\n type: \"amazonS3\";\n config: S3ConfigPatch;\n}\n\ninterface StreamSinkPatchGoogleCloudStorage {\n type: \"googleCloudStorage\";\n config: GoogleCloudStorageConfigPatch;\n}\n\ninterface StreamSinkPatchGoogleCloudPubSub {\n type: \"googleCloudPubSub\";\n config: GoogleCloudPubSubConfigPatch;\n}\n\ninterface StreamSinkPatchSqs {\n type: \"sqs\";\n config: SqsConfigPatch;\n}\n\ninterface StreamSinkPatchSns {\n type: \"sns\";\n config: SnsConfigPatch;\n}\n\ninterface StreamSinkPatchBigQuery {\n type: \"bigQuery\";\n config: BigQueryConfigPatch;\n}\n\ninterface StreamSinkPatchClickhouse {\n type: \"clickhouse\";\n config: ClickhouseConfigPatch;\n}\n\ninterface StreamSinkPatchEventBridge {\n type: \"eventBridge\";\n config: EventBridgeConfigPatch;\n}\n\ninterface StreamSinkPatchSnowflake {\n type: \"snowflake\";\n config: SnowflakeConfigPatch;\n}\n\ninterface StreamSinkPatchRabbitMq {\n type: \"rabbitMq\";\n config: RabbitMqConfigPatch;\n}\n\ninterface StreamSinkPatchRedshift {\n type: \"redshift\";\n config: RedshiftConfigPatch;\n}\n\nexport type StreamSinkPatch = _StreamSinkPatchFields &\n (\n | StreamSinkPatchPoller\n | StreamSinkPatchAzureBlobStorage\n | StreamSinkPatchOtelTracing\n | StreamSinkPatchHttp\n | StreamSinkPatchAmazonS3\n | StreamSinkPatchGoogleCloudStorage\n | StreamSinkPatchGoogleCloudPubSub\n | StreamSinkPatchSqs\n | StreamSinkPatchSns\n | StreamSinkPatchBigQuery\n | StreamSinkPatchClickhouse\n | StreamSinkPatchEventBridge\n | StreamSinkPatchSnowflake\n | StreamSinkPatchRabbitMq\n | StreamSinkPatchRedshift\n );\n\nexport const StreamSinkPatchSerializer = {\n _fromJsonObject(object: any): StreamSinkPatch {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return AzureBlobStorageConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return OtelTracingConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return SinkHttpConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return S3ConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return GoogleCloudStorageConfigPatchSerializer._fromJsonObject(\n object[\"config\"]\n );\n case \"googleCloudPubSub\":\n return GoogleCloudPubSubConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"sqs\":\n return SqsConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"sns\":\n return SnsConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"bigQuery\":\n return BigQueryConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"clickhouse\":\n return ClickhouseConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"eventBridge\":\n return EventBridgeConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"snowflake\":\n return SnowflakeConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"rabbitMq\":\n return RabbitMqConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"redshift\":\n return RedshiftConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n uid: object[\"uid\"],\n status:\n object[\"status\"] != null\n ? SinkStatusInSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n batchSize: object[\"batchSize\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamSinkPatch): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = AzureBlobStorageConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = OtelTracingConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = SinkHttpConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = S3ConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = GoogleCloudStorageConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudPubSub\":\n config = GoogleCloudPubSubConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"sqs\":\n config = SqsConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"sns\":\n config = SnsConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"bigQuery\":\n config = BigQueryConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"clickhouse\":\n config = ClickhouseConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"eventBridge\":\n config = EventBridgeConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"snowflake\":\n config = SnowflakeConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"rabbitMq\":\n config = RabbitMqConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"redshift\":\n config = RedshiftConfigPatchSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n uid: self.uid,\n status:\n self.status != null\n ? SinkStatusInSerializer._toJsonObject(self.status)\n : undefined,\n batchSize: self.batchSize,\n maxWaitSecs: self.maxWaitSecs,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkTransformIn {\n code?: string | null;\n}\n\nexport const SinkTransformInSerializer = {\n _fromJsonObject(object: any): SinkTransformIn {\n return {\n code: object[\"code\"],\n };\n },\n\n _toJsonObject(self: SinkTransformIn): any {\n return {\n code: self.code,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkTransformationOut {\n code?: string | null;\n enabled: boolean;\n}\n\nexport const SinkTransformationOutSerializer = {\n _fromJsonObject(object: any): SinkTransformationOut {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n\n _toJsonObject(self: SinkTransformationOut): any {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n","// this file is @generated\n\nimport { type EmptyResponse, EmptyResponseSerializer } from \"../models/emptyResponse\";\nimport {\n type SinkTransformIn,\n SinkTransformInSerializer,\n} from \"../models/sinkTransformIn\";\nimport {\n type SinkTransformationOut,\n SinkTransformationOutSerializer,\n} from \"../models/sinkTransformationOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class StreamingSinkTransformation {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get the transformation code associated with this sink. */\n public async get(streamId: string, sinkId: string): Promise<SinkTransformationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/transformation\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(\n this.requestCtx,\n SinkTransformationOutSerializer._fromJsonObject\n );\n }\n\n /** Set or unset the transformation code associated with this sink. */\n public async patch(\n streamId: string,\n sinkId: string,\n sinkTransformIn: SinkTransformIn = {}\n ): Promise<EmptyResponse> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/transformation\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(SinkTransformInSerializer._toJsonObject(sinkTransformIn));\n\n return await request.send(this.requestCtx, EmptyResponseSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport { type EmptyResponse, EmptyResponseSerializer } from \"../models/emptyResponse\";\nimport {\n type EndpointSecretRotateIn,\n EndpointSecretRotateInSerializer,\n} from \"../models/endpointSecretRotateIn\";\nimport {\n type ListResponseStreamSinkOut,\n ListResponseStreamSinkOutSerializer,\n} from \"../models/listResponseStreamSinkOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type SinkSecretOut, SinkSecretOutSerializer } from \"../models/sinkSecretOut\";\nimport { type StreamSinkIn, StreamSinkInSerializer } from \"../models/streamSinkIn\";\nimport { type StreamSinkOut, StreamSinkOutSerializer } from \"../models/streamSinkOut\";\nimport {\n type StreamSinkPatch,\n StreamSinkPatchSerializer,\n} from \"../models/streamSinkPatch\";\nimport { StreamingSinkTransformation } from \"./streamingSinkTransformation\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingSinkListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface StreamingSinkCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface StreamingSinkRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport class StreamingSink {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get transformation() {\n return new StreamingSinkTransformation(this.requestCtx);\n }\n\n /** List of all the stream's sinks. */\n public async list(\n streamId: string,\n options?: StreamingSinkListOptions\n ): Promise<ListResponseStreamSinkOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseStreamSinkOutSerializer._fromJsonObject\n );\n }\n\n /** Creates a new sink. */\n public async create(\n streamId: string,\n streamSinkIn: StreamSinkIn,\n options?: StreamingSinkCreateOptions\n ): Promise<StreamSinkOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream/{stream_id}/sink\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamSinkInSerializer._toJsonObject(streamSinkIn));\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /** Get a sink by id or uid. */\n public async get(streamId: string, sinkId: string): Promise<StreamSinkOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /** Create or update a sink. */\n public async upsert(\n streamId: string,\n sinkId: string,\n streamSinkIn: StreamSinkIn\n ): Promise<StreamSinkOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(StreamSinkInSerializer._toJsonObject(streamSinkIn));\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /** Delete a sink. */\n public async delete(streamId: string, sinkId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update a sink. */\n public async patch(\n streamId: string,\n sinkId: string,\n streamSinkPatch: StreamSinkPatch\n ): Promise<StreamSinkOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(StreamSinkPatchSerializer._toJsonObject(streamSinkPatch));\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /**\n * Get the sink's signing secret (only supported for http sinks)\n *\n * This is used to verify the authenticity of the delivery.\n *\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(streamId: string, sinkId: string): Promise<SinkSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/secret\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(this.requestCtx, SinkSecretOutSerializer._fromJsonObject);\n }\n\n /** Rotates the signing secret (only supported for http sinks). */\n public async rotateSecret(\n streamId: string,\n sinkId: string,\n endpointSecretRotateIn: EndpointSecretRotateIn = {},\n options?: StreamingSinkRotateSecretOptions\n ): Promise<EmptyResponse> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/secret/rotate\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n EndpointSecretRotateInSerializer._toJsonObject(endpointSecretRotateIn)\n );\n\n return await request.send(this.requestCtx, EmptyResponseSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport interface StreamOut {\n /** The stream's ID. */\n id: string;\n /** The stream's UID. */\n uid?: string | null;\n /** The stream's name. */\n name?: string | null;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const StreamOutSerializer = {\n _fromJsonObject(object: any): StreamOut {\n return {\n id: object[\"id\"],\n uid: object[\"uid\"],\n name: object[\"name\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamOut): any {\n return {\n id: self.id,\n uid: self.uid,\n name: self.name,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type StreamOut, StreamOutSerializer } from \"./streamOut\";\n\nexport interface ListResponseStreamOut {\n data: StreamOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseStreamOutSerializer = {\n _fromJsonObject(object: any): ListResponseStreamOut {\n return {\n data: object[\"data\"].map((item: StreamOut) =>\n StreamOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseStreamOut): any {\n return {\n data: self.data.map((item) => StreamOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamPatch {\n /** The Stream's description. */\n description?: string;\n /** An optional unique identifier for the stream. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const StreamPatchSerializer = {\n _fromJsonObject(object: any): StreamPatch {\n return {\n description: object[\"description\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamPatch): any {\n return {\n description: self.description,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type ListResponseStreamOut,\n ListResponseStreamOutSerializer,\n} from \"../models/listResponseStreamOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type StreamIn, StreamInSerializer } from \"../models/streamIn\";\nimport { type StreamOut, StreamOutSerializer } from \"../models/streamOut\";\nimport { type StreamPatch, StreamPatchSerializer } from \"../models/streamPatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingStreamListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface StreamingStreamCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class StreamingStream {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's streams. */\n public async list(\n options?: StreamingStreamListOptions\n ): Promise<ListResponseStreamOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseStreamOutSerializer._fromJsonObject\n );\n }\n\n /** Creates a new stream. */\n public async create(\n streamIn: StreamIn,\n options?: StreamingStreamCreateOptions\n ): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamInSerializer._toJsonObject(streamIn));\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n\n /** Get a stream by id or uid. */\n public async get(streamId: string): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n\n /** Create or update a stream. */\n public async upsert(streamId: string, streamIn: StreamIn): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setBody(StreamInSerializer._toJsonObject(streamIn));\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n\n /** Delete a stream. */\n public async delete(streamId: string): Promise<void> {\n const request = new SvixRequest(HttpMethod.DELETE, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update a stream. */\n public async patch(streamId: string, streamPatch: StreamPatch): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setBody(StreamPatchSerializer._toJsonObject(streamPatch));\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"../models/endpointHeadersOut\";\nimport {\n type HttpSinkHeadersPatchIn,\n HttpSinkHeadersPatchInSerializer,\n} from \"../models/httpSinkHeadersPatchIn\";\nimport { StreamingEventType } from \"./streamingEventType\";\nimport { StreamingEvents } from \"./streamingEvents\";\nimport { StreamingSink } from \"./streamingSink\";\nimport { StreamingStream } from \"./streamingStream\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class Streaming {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get eventType() {\n return new StreamingEventType(this.requestCtx);\n }\n\n public get events() {\n return new StreamingEvents(this.requestCtx);\n }\n\n public get sink() {\n return new StreamingSink(this.requestCtx);\n }\n\n public get stream() {\n return new StreamingStream(this.requestCtx);\n }\n\n /**\n * Get the HTTP sink headers.\n *\n * Only valid for `http` or `otelTracing` sinks.\n */\n public async sinkHeadersGet(\n streamId: string,\n sinkId: string\n ): Promise<EndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/headers\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(\n this.requestCtx,\n EndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Updates the Sink's headers.\n *\n * Only valid for `http` or `otelTracing` sinks.\n */\n public async sinkHeadersPatch(\n streamId: string,\n sinkId: string,\n httpSinkHeadersPatchIn: HttpSinkHeadersPatchIn\n ): Promise<EndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/headers\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(\n HttpSinkHeadersPatchInSerializer._toJsonObject(httpSinkHeadersPatchIn)\n );\n\n return await request.send(\n this.requestCtx,\n EndpointHeadersOutSerializer._fromJsonObject\n );\n }\n}\n","export class HttpErrorOut {\n code!: string;\n detail!: string;\n\n static readonly discriminator: string | undefined = undefined;\n\n static readonly mapping: { [index: string]: string } | undefined = undefined;\n\n static readonly attributeTypeMap: Array<{\n name: string;\n baseName: string;\n type: string;\n format: string;\n }> = [\n {\n name: \"code\",\n baseName: \"code\",\n type: \"string\",\n format: \"\",\n },\n {\n name: \"detail\",\n baseName: \"detail\",\n type: \"string\",\n format: \"\",\n },\n ];\n\n static getAttributeTypeMap() {\n return HttpErrorOut.attributeTypeMap;\n }\n}\n\n/**\n * Validation errors have their own schema to provide context for invalid requests eg. mismatched types and out of bounds values. There may be any number of these per 422 UNPROCESSABLE ENTITY error.\n */\nexport class ValidationError {\n /**\n * The location as a [`Vec`] of [`String`]s -- often in the form `[\\\"body\\\", \\\"field_name\\\"]`, `[\\\"query\\\", \\\"field_name\\\"]`, etc. They may, however, be arbitrarily deep.\n */\n loc!: Array<string>;\n /**\n * The message accompanying the validation error item.\n */\n msg!: string;\n /**\n * The type of error, often \\\"type_error\\\" or \\\"value_error\\\", but sometimes with more context like as \\\"value_error.number.not_ge\\\"\n */\n type!: string;\n\n static readonly discriminator: string | undefined = undefined;\n\n static readonly mapping: { [index: string]: string } | undefined = undefined;\n\n static readonly attributeTypeMap: Array<{\n name: string;\n baseName: string;\n type: string;\n format: string;\n }> = [\n {\n name: \"loc\",\n baseName: \"loc\",\n type: \"Array<string>\",\n format: \"\",\n },\n {\n name: \"msg\",\n baseName: \"msg\",\n type: \"string\",\n format: \"\",\n },\n {\n name: \"type\",\n baseName: \"type\",\n type: \"string\",\n format: \"\",\n },\n ];\n\n static getAttributeTypeMap() {\n return ValidationError.attributeTypeMap;\n }\n}\n\nexport class HTTPValidationError {\n detail!: Array<ValidationError>;\n\n static readonly discriminator: string | undefined = undefined;\n\n static readonly mapping: { [index: string]: string } | undefined = undefined;\n\n static readonly attributeTypeMap: Array<{\n name: string;\n baseName: string;\n type: string;\n format: string;\n }> = [\n {\n name: \"detail\",\n baseName: \"detail\",\n type: \"Array<ValidationError>\",\n format: \"\",\n },\n ];\n\n static getAttributeTypeMap() {\n return HTTPValidationError.attributeTypeMap;\n }\n}\n","import { Webhook as StdWh } from \"standardwebhooks\";\nexport { WebhookVerificationError } from \"standardwebhooks\";\n\nexport interface WebhookRequiredHeaders {\n \"svix-id\": string;\n \"svix-timestamp\": string;\n \"svix-signature\": string;\n}\n\nexport interface WebhookUnbrandedRequiredHeaders {\n \"webhook-id\": string;\n \"webhook-timestamp\": string;\n \"webhook-signature\": string;\n}\n\nexport interface WebhookOptions {\n format?: \"raw\";\n}\n\nexport class Webhook {\n private readonly inner: StdWh;\n\n constructor(secret: string | Uint8Array, options?: WebhookOptions) {\n this.inner = new StdWh(secret, options);\n }\n\n public verify(\n payload: string | Buffer,\n headers_:\n | WebhookRequiredHeaders\n | WebhookUnbrandedRequiredHeaders\n | Record<string, string>\n ): undefined {\n const headers: Record<string, string> = {};\n for (const key of Object.keys(headers_)) {\n headers[key.toLowerCase()] = (headers_ as Record<string, string>)[key];\n }\n\n headers[\"webhook-id\"] = headers[\"svix-id\"] ?? headers[\"webhook-id\"] ?? \"\";\n headers[\"webhook-signature\"] =\n headers[\"svix-signature\"] ?? headers[\"webhook-signature\"] ?? \"\";\n headers[\"webhook-timestamp\"] =\n headers[\"svix-timestamp\"] ?? headers[\"webhook-timestamp\"] ?? \"\";\n\n this.inner.verify(payload, headers, { jsonParse: false });\n }\n\n public sign(msgId: string, timestamp: Date, payload: string | Buffer): string {\n return this.inner.sign(msgId, timestamp, payload);\n }\n}\n","// this file is @generated\n/** Defines the ordering in a listing of results. */\nexport enum Ordering {\n Ascending = \"ascending\",\n Descending = \"descending\",\n}\n\nexport const OrderingSerializer = {\n _fromJsonObject(object: any): Ordering {\n return object;\n },\n\n _toJsonObject(self: Ordering): any {\n return self;\n },\n};\n","import {\n createSvixRequestContext,\n type SvixRequestContext,\n type SvixRequestContextOptions,\n} from \"../request\";\n\nexport class SvixInternal {\n private readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, options: SvixRequestContextOptions = {}) {\n this.requestCtx = createSvixRequestContext(token, options);\n }\n\n public getRequestCtx(): SvixRequestContext {\n return this.requestCtx;\n }\n}\n","// this file is @generated\n\nexport interface SinkInCommon {\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the sink. */\n uid?: string | null;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this sink listens to (omit for all). */\n channels?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const SinkInCommonSerializer = {\n _fromJsonObject(object: any): SinkInCommon {\n return {\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n secret: object[\"secret\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: SinkInCommon): any {\n return {\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n secret: self.secret,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type EndpointIn, EndpointInSerializer } from \"./endpointIn\";\nimport { type SinkInCommon, SinkInCommonSerializer } from \"./sinkInCommon\";\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface _AutoConfigSinkTypeFields {}\n\ninterface AutoConfigSinkTypePoller {\n type: \"poller\";\n config: SinkInCommon;\n}\n\ninterface AutoConfigSinkTypeHttp {\n type: \"http\";\n config: EndpointIn;\n}\n\nexport type AutoConfigSinkType = _AutoConfigSinkTypeFields &\n (AutoConfigSinkTypePoller | AutoConfigSinkTypeHttp);\n\nexport const AutoConfigSinkTypeSerializer = {\n _fromJsonObject(object: any): AutoConfigSinkType {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return SinkInCommonSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return EndpointInSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n };\n },\n\n _toJsonObject(self: AutoConfigSinkType): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = SinkInCommonSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = EndpointInSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n };\n },\n};\n","// this file is @generated\nimport {\n type AutoConfigSinkType,\n AutoConfigSinkTypeSerializer,\n} from \"./autoConfigSinkType\";\nimport { type EndpointIn, EndpointInSerializer } from \"./endpointIn\";\n\nexport interface SubscribeIn {\n endpoint?: EndpointIn | null;\n sink?: AutoConfigSinkType | null;\n}\n\nexport const SubscribeInSerializer = {\n _fromJsonObject(object: any): SubscribeIn {\n return {\n endpoint:\n object[\"endpoint\"] != null\n ? EndpointInSerializer._fromJsonObject(object[\"endpoint\"])\n : undefined,\n sink:\n object[\"sink\"] != null\n ? AutoConfigSinkTypeSerializer._fromJsonObject(object[\"sink\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: SubscribeIn): any {\n return {\n endpoint:\n self.endpoint != null\n ? EndpointInSerializer._toJsonObject(self.endpoint)\n : undefined,\n sink:\n self.sink != null\n ? AutoConfigSinkTypeSerializer._toJsonObject(self.sink)\n : undefined,\n };\n },\n};\n","// this file is @generated\n\nimport { type EndpointOut, EndpointOutSerializer } from \"../models/endpointOut\";\nimport { type SubscribeIn, SubscribeInSerializer } from \"../models/subscribeIn\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class EndpointAutoConfig {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Update an auto-config endpoint by providing endpoint details. */\n public async update(\n appId: string,\n endpointId: string,\n subscribeIn: SubscribeIn = {}\n ): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/auto-config\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(SubscribeInSerializer._toJsonObject(subscribeIn));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport {\n type EndpointTransformationIn,\n EndpointTransformationInSerializer,\n} from \"../models/endpointTransformationIn\";\nimport { EndpointAutoConfig } from \"./endpointAutoConfig\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class Endpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get autoConfig() {\n return new EndpointAutoConfig(this.requestCtx);\n }\n\n /**\n * This operation was renamed to `set-transformation`.\n *\n * @deprecated\n */\n public async transformationPartialUpdate(\n appId: string,\n endpointId: string,\n endpointTransformationIn: EndpointTransformationIn = {}\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointTransformationInSerializer._toJsonObject(endpointTransformationIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","import { SvixInternal } from \"./api_internal\";\nimport { Endpoint as InternalEndpoint } from \"./api_internal/endpoint\";\nimport type { EndpointIn } from \"./models/endpointIn\";\nimport type { EndpointOut } from \"./models/endpointOut\";\nimport type { SvixRequestContext } from \"./request\";\nimport {\n Webhook,\n type WebhookRequiredHeaders,\n type WebhookUnbrandedRequiredHeaders,\n} from \"./webhook\";\n\nconst AUTOCONFIG_TOKEN_PREFIX_V1 = \"auto_v1_\";\n\nexport interface AutoConfigTokenContentV1 {\n aid: string;\n eid: string;\n surl: string;\n esec: string;\n tok: string;\n}\n\nexport class AutoConfigError extends Error {\n public constructor(message = \"invalid token\") {\n super(message);\n this.name = \"AutoConfigError\";\n }\n}\n\nexport function isAutoConfigTokenContentV1(\n value: unknown\n): value is AutoConfigTokenContentV1 {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n\n const { aid, eid, surl, esec, tok } = value as AutoConfigTokenContentV1;\n return (\n typeof aid === \"string\" &&\n typeof eid === \"string\" &&\n typeof surl === \"string\" &&\n typeof esec === \"string\" &&\n typeof tok === \"string\"\n );\n}\n\nexport function decodeAutoconfigTokenV1(token: string): AutoConfigTokenContentV1 {\n if (!token.startsWith(AUTOCONFIG_TOKEN_PREFIX_V1)) {\n throw new AutoConfigError();\n }\n const b64 = token.slice(AUTOCONFIG_TOKEN_PREFIX_V1.length);\n let json: string;\n\n try {\n json = Buffer.from(b64, \"base64\").toString(\"utf8\");\n } catch {\n throw new AutoConfigError();\n }\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch {\n throw new AutoConfigError();\n }\n\n if (!isAutoConfigTokenContentV1(parsed)) {\n throw new AutoConfigError();\n }\n\n return parsed;\n}\n\nexport class AutoConfig {\n private readonly appId: string;\n private readonly endpointId: string;\n private readonly endpointIn: EndpointIn;\n private readonly webhook: Webhook;\n private readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, endpoint: EndpointIn) {\n const content = decodeAutoconfigTokenV1(token);\n let webhook: Webhook;\n try {\n webhook = new Webhook(content.esec);\n } catch {\n throw new AutoConfigError();\n }\n\n this.appId = content.aid;\n this.endpointId = content.eid;\n this.endpointIn = endpoint;\n this.webhook = webhook;\n\n const svix = new SvixInternal(content.tok, { serverUrl: content.surl });\n this.requestCtx = svix.getRequestCtx();\n }\n\n public subscribe(): Promise<EndpointOut> {\n return new InternalEndpoint(this.requestCtx).autoConfig.update(\n this.appId,\n this.endpointId,\n {\n endpoint: this.endpointIn,\n }\n );\n }\n\n public verify(\n payload: string | Buffer,\n headers:\n | WebhookRequiredHeaders\n | WebhookUnbrandedRequiredHeaders\n | Record<string, string>\n ): unknown {\n return this.webhook.verify(payload, headers);\n }\n}\n","// this file is @generated\n\nexport interface PollerV2CommitIn {\n offset: number;\n}\n\nexport const PollerV2CommitInSerializer = {\n _fromJsonObject(object: any): PollerV2CommitIn {\n return {\n offset: object[\"offset\"],\n };\n },\n\n _toJsonObject(self: PollerV2CommitIn): any {\n return {\n offset: self.offset,\n };\n },\n};\n","// this file is @generated\n\n/** The MessageOut equivalent of polling endpoint */\nexport interface PollerV2MessageOut {\n offset: number;\n headers?: { [key: string]: string } | null;\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const PollerV2MessageOutSerializer = {\n _fromJsonObject(object: any): PollerV2MessageOut {\n return {\n offset: object[\"offset\"],\n headers: object[\"headers\"],\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: PollerV2MessageOut): any {\n return {\n offset: self.offset,\n headers: self.headers,\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type PollerV2MessageOut,\n PollerV2MessageOutSerializer,\n} from \"./pollerV2MessageOut\";\n\nexport interface PollerV2PollOut {\n data: PollerV2MessageOut[];\n done: boolean;\n}\n\nexport const PollerV2PollOutSerializer = {\n _fromJsonObject(object: any): PollerV2PollOut {\n return {\n data: object[\"data\"].map((item: PollerV2MessageOut) =>\n PollerV2MessageOutSerializer._fromJsonObject(item)\n ),\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: PollerV2PollOut): any {\n return {\n data: self.data.map((item) => PollerV2MessageOutSerializer._toJsonObject(item)),\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type PollerV2CommitIn,\n PollerV2CommitInSerializer,\n} from \"../models/pollerV2CommitIn\";\nimport {\n type PollerV2PollOut,\n PollerV2PollOutSerializer,\n} from \"../models/pollerV2PollOut\";\nimport type { StartingPosition } from \"../models/startingPosition\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface MessagePollerv2ConsumerPollOptions {\n limit?: number;\n /** Lease duration in milliseconds. */\n leaseDurationMs?: number;\n startingPosition?: StartingPosition;\n}\n\nexport interface MessagePollerv2ConsumerCommitOptions {\n idempotencyKey?: string;\n}\n\nexport class MessagePollerv2 {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Poll messages from a sink. */\n public async consumerPoll(\n appId: string,\n sinkId: string,\n consumerId: string,\n options?: MessagePollerv2ConsumerPollOptions\n ): Promise<PollerV2PollOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/polling-endpoint/{sink_id}/consumer/{consumer_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setQueryParams({\n limit: options?.limit,\n lease_duration_ms: options?.leaseDurationMs,\n starting_position: options?.startingPosition,\n });\n\n return await request.send(this.requestCtx, PollerV2PollOutSerializer._fromJsonObject);\n }\n\n /** Ack a message offset for a sink's consumer. */\n public async consumerCommit(\n appId: string,\n sinkId: string,\n consumerId: string,\n pollerV2CommitIn: PollerV2CommitIn,\n options?: MessagePollerv2ConsumerCommitOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/polling-endpoint/{sink_id}/consumer/{consumer_id}/commit\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(PollerV2CommitInSerializer._toJsonObject(pollerV2CommitIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","import { SvixInternal } from \"./api_internal\";\nimport { Endpoint as InternalEndpoint } from \"./api_internal/endpoint\";\nimport {\n MessagePollerv2 as InternalMessagePollerv2,\n type MessagePollerv2ConsumerCommitOptions,\n type MessagePollerv2ConsumerPollOptions,\n} from \"./api_internal/messagePollerv2\";\nimport { decodeAutoconfigTokenV1 } from \"./autoconfig\";\nimport type { EndpointOut } from \"./models/endpointOut\";\nimport type { PollerV2PollOut } from \"./models/pollerV2PollOut\";\nimport type { SinkInCommon } from \"./models/sinkInCommon\";\nimport type { SvixRequestContext } from \"./request\";\n\nexport class AutoConfigConsumer {\n private readonly appId: string;\n private readonly sinkId: string;\n private readonly sinkIn: SinkInCommon;\n private readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, sinkIn: SinkInCommon) {\n const content = decodeAutoconfigTokenV1(token);\n\n this.appId = content.aid;\n this.sinkId = content.eid;\n this.sinkIn = sinkIn;\n\n const svix = new SvixInternal(content.tok, { serverUrl: content.surl });\n this.requestCtx = svix.getRequestCtx();\n }\n\n public subscribe(): Promise<EndpointOut> {\n return new InternalEndpoint(this.requestCtx).autoConfig.update(\n this.appId,\n this.sinkId,\n {\n sink: {\n type: \"poller\",\n config: this.sinkIn,\n },\n }\n );\n }\n\n public receive(\n consumerId: string,\n options?: MessagePollerv2ConsumerPollOptions\n ): Promise<PollerV2PollOut> {\n return new InternalMessagePollerv2(this.requestCtx).consumerPoll(\n this.appId,\n this.sinkId,\n consumerId,\n options\n );\n }\n\n public commit(\n consumerId: string,\n offset: number,\n options?: MessagePollerv2ConsumerCommitOptions\n ): Promise<void> {\n return new InternalMessagePollerv2(this.requestCtx).consumerCommit(\n this.appId,\n this.sinkId,\n consumerId,\n {\n offset,\n },\n options\n );\n }\n}\n","// this file is @generated\nimport { Application } from \"./api/application\";\nimport { Authentication } from \"./api/authentication\";\nimport { BackgroundTask } from \"./api/backgroundTask\";\nimport { Connector } from \"./api/connector\";\nimport { Endpoint } from \"./api/endpoint\";\nimport { Environment } from \"./api/environment\";\nimport { EventType } from \"./api/eventType\";\nimport { Health } from \"./api/health\";\nimport { Ingest } from \"./api/ingest\";\nimport { Integration } from \"./api/integration\";\nimport { Message } from \"./api/message\";\nimport { MessageAttempt } from \"./api/messageAttempt\";\nimport { OperationalWebhook } from \"./api/operationalWebhook\";\nimport { Statistics } from \"./api/statistics\";\nimport { Streaming } from \"./api/streaming\";\nimport { createSvixRequestContext, type SvixRequestContext } from \"./request\";\n\nexport { type PostOptions, ApiException } from \"./util\";\nexport { HTTPValidationError, HttpErrorOut, ValidationError } from \"./HttpErrors\";\nexport * from \"./webhook\";\nexport * from \"./models/index\";\nimport type { XOR } from \"./util\";\n\nexport type { ApplicationListOptions } from \"./api/application\";\nexport type { BackgroundTaskListOptions } from \"./api/backgroundTask\";\nexport type { EndpointListOptions, EndpointGetStatsOptions } from \"./api/endpoint\";\nexport type { EventTypeListOptions } from \"./api/eventType\";\nexport type { IntegrationListOptions } from \"./api/integration\";\nexport { type MessageListOptions, messageInRaw } from \"./api/message\";\nexport type { MessageAttemptListByEndpointOptions } from \"./api/messageAttempt\";\n\nexport type SvixOptions = {\n debug?: boolean;\n serverUrl?: string;\n /** Time in milliseconds to wait for requests to get a response. */\n requestTimeout?: number;\n /**\n * Custom fetch implementation to use for HTTP requests.\n * Useful for testing, adding custom middleware, or running in non-standard environments.\n */\n fetch?: typeof fetch;\n} & XOR<\n {\n /** List of delays (in milliseconds) to wait before each retry attempt.*/\n retryScheduleInMs?: number[];\n },\n {\n /** The number of times the client will retry if a server-side error\n * or timeout is received.\n * Default: 2\n */\n numRetries?: number;\n }\n>;\n\nexport class Svix {\n protected readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, options: SvixOptions = {}) {\n this.requestCtx = createSvixRequestContext(token, options);\n }\n\n public get application() {\n return new Application(this.requestCtx);\n }\n\n public get authentication() {\n return new Authentication(this.requestCtx);\n }\n\n public get backgroundTask() {\n return new BackgroundTask(this.requestCtx);\n }\n\n public get connector() {\n return new Connector(this.requestCtx);\n }\n\n public get endpoint() {\n return new Endpoint(this.requestCtx);\n }\n\n public get environment() {\n return new Environment(this.requestCtx);\n }\n\n public get eventType() {\n return new EventType(this.requestCtx);\n }\n\n public get health() {\n return new Health(this.requestCtx);\n }\n\n public get ingest() {\n return new Ingest(this.requestCtx);\n }\n\n public get integration() {\n return new Integration(this.requestCtx);\n }\n\n public get message() {\n return new Message(this.requestCtx);\n }\n\n public get messageAttempt() {\n return new MessageAttempt(this.requestCtx);\n }\n\n public get operationalWebhook() {\n return new OperationalWebhook(this.requestCtx);\n }\n\n public get statistics() {\n return new Statistics(this.requestCtx);\n }\n\n public get streaming() {\n return new Streaming(this.requestCtx);\n }\n}\n\n// Last to avoid circular dependency\nexport { AutoConfig, AutoConfigError } from \"./autoconfig\";\nexport { AutoConfigConsumer } from \"./autoconfigConsumer\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["Endpoint","StdWh","InternalEndpoint","InternalEndpoint","InternalMessagePollerv2","Endpoint"],"sources":["../src/models/applicationIn.ts","../src/models/applicationOut.ts","../src/models/applicationPatch.ts","../src/models/listResponseApplicationOut.ts","../src/util.ts","../src/request.ts","../src/api/application.ts","../src/models/apiTokenOut.ts","../src/models/appPortalCapability.ts","../src/models/appPortalAccessIn.ts","../src/models/appPortalAccessOut.ts","../src/models/applicationTokenExpireIn.ts","../src/models/rotatePollerTokenIn.ts","../src/models/streamPortalAccessIn.ts","../src/models/streamTokenExpireIn.ts","../src/api/authentication.ts","../src/models/backgroundTaskStatus.ts","../src/models/backgroundTaskType.ts","../src/models/backgroundTaskOut.ts","../src/models/listResponseBackgroundTaskOut.ts","../src/api/backgroundTask.ts","../src/models/connectorKind.ts","../src/models/connectorProduct.ts","../src/models/connectorIn.ts","../src/models/connectorOut.ts","../src/models/connectorPatch.ts","../src/models/connectorUpsertIn.ts","../src/models/listResponseConnectorOut.ts","../src/api/connector.ts","../src/models/messageStatus.ts","../src/models/statusCodeClass.ts","../src/models/bulkReplayIn.ts","../src/models/endpointHeadersIn.ts","../src/models/endpointHeadersOut.ts","../src/models/endpointHeadersPatchIn.ts","../src/models/endpointIn.ts","../src/models/endpointOut.ts","../src/models/endpointPatch.ts","../src/models/endpointSecretOut.ts","../src/models/endpointSecretRotateIn.ts","../src/models/endpointStats.ts","../src/models/endpointTransformationIn.ts","../src/models/endpointUpsertIn.ts","../src/models/eventExampleIn.ts","../src/models/listResponseEndpointOut.ts","../src/models/messageOut.ts","../src/models/recoverIn.ts","../src/models/recoverOut.ts","../src/models/replayIn.ts","../src/models/replayOut.ts","../src/models/endpointTransformationOut.ts","../src/models/endpointTransformationPatch.ts","../src/api/endpointTransformation.ts","../src/api/endpoint.ts","../src/models/eventTypeIn.ts","../src/models/environmentIn.ts","../src/models/eventTypeOut.ts","../src/models/environmentOut.ts","../src/api/environment.ts","../src/models/eventTypeImportOpenApiIn.ts","../src/models/eventTypeFromOpenApi.ts","../src/models/eventTypeImportOpenApiOutData.ts","../src/models/eventTypeImportOpenApiOut.ts","../src/models/eventTypePatch.ts","../src/models/eventTypeUpsertIn.ts","../src/models/listResponseEventTypeOut.ts","../src/api/eventType.ts","../src/api/health.ts","../src/models/ingestSourceConsumerPortalAccessIn.ts","../src/api/ingestAuthentication.ts","../src/models/ingestEndpointHeadersIn.ts","../src/models/ingestEndpointHeadersOut.ts","../src/models/ingestEndpointIn.ts","../src/models/ingestEndpointOut.ts","../src/models/ingestEndpointSecretIn.ts","../src/models/ingestEndpointSecretOut.ts","../src/models/ingestEndpointUpsertIn.ts","../src/models/listResponseIngestEndpointOut.ts","../src/models/ingestEndpointTransformationOut.ts","../src/models/ingestEndpointTransformationPatch.ts","../src/api/ingestEndpointTransformation.ts","../src/api/ingestEndpoint.ts","../src/models/adobeSignConfig.ts","../src/models/airwallexConfig.ts","../src/models/checkbookConfig.ts","../src/models/cronConfig.ts","../src/models/docusignConfig.ts","../src/models/easypostConfig.ts","../src/models/githubConfig.ts","../src/models/hubspotConfig.ts","../src/models/metaConfig.ts","../src/models/nangoConfig.ts","../src/models/openClawConfig.ts","../src/models/orumIoConfig.ts","../src/models/pandaDocConfig.ts","../src/models/portIoConfig.ts","../src/models/rutterConfig.ts","../src/models/segmentConfig.ts","../src/models/shopifyConfig.ts","../src/models/slackConfig.ts","../src/models/stripeConfig.ts","../src/models/svixConfig.ts","../src/models/tailscaleConfig.ts","../src/models/telnyxConfig.ts","../src/models/vapiConfig.ts","../src/models/veriffConfig.ts","../src/models/vgsConfig.ts","../src/models/zoomConfig.ts","../src/models/ingestSourceIn.ts","../src/models/adobeSignConfigOut.ts","../src/models/airwallexConfigOut.ts","../src/models/checkbookConfigOut.ts","../src/models/docusignConfigOut.ts","../src/models/easypostConfigOut.ts","../src/models/githubConfigOut.ts","../src/models/hubspotConfigOut.ts","../src/models/metaConfigOut.ts","../src/models/nangoConfigOut.ts","../src/models/openClawConfigOut.ts","../src/models/orumIoConfigOut.ts","../src/models/pandaDocConfigOut.ts","../src/models/portIoConfigOut.ts","../src/models/rutterConfigOut.ts","../src/models/segmentConfigOut.ts","../src/models/shopifyConfigOut.ts","../src/models/slackConfigOut.ts","../src/models/stripeConfigOut.ts","../src/models/svixConfigOut.ts","../src/models/tailscaleConfigOut.ts","../src/models/telnyxConfigOut.ts","../src/models/vapiConfigOut.ts","../src/models/veriffConfigOut.ts","../src/models/vgsConfigOut.ts","../src/models/zoomConfigOut.ts","../src/models/ingestSourceOut.ts","../src/models/listResponseIngestSourceOut.ts","../src/models/rotateTokenOut.ts","../src/api/ingestSource.ts","../src/api/ingest.ts","../src/models/integrationIn.ts","../src/models/integrationKeyOut.ts","../src/models/integrationOut.ts","../src/models/integrationUpdate.ts","../src/models/listResponseIntegrationOut.ts","../src/api/integration.ts","../src/models/bulkExpungeContentsIn.ts","../src/models/bulkExpungeStatus.ts","../src/models/bulkExpungeContentsOut.ts","../src/models/expungeAllContentsOut.ts","../src/models/listResponseMessageOut.ts","../src/models/messagePrecheckIn.ts","../src/models/messagePrecheckOut.ts","../src/models/pollingEndpointConsumerSeekIn.ts","../src/models/pollingEndpointConsumerSeekOut.ts","../src/models/pollingEndpointMessageOut.ts","../src/models/pollingEndpointOut.ts","../src/api/messagePoller.ts","../src/models/messageIn.ts","../src/api/message.ts","../src/models/emptyResponse.ts","../src/models/messageStatusText.ts","../src/models/endpointMessageOut.ts","../src/models/listResponseEndpointMessageOut.ts","../src/models/messageAttemptTriggerType.ts","../src/models/messageAttemptOut.ts","../src/models/listResponseMessageAttemptOut.ts","../src/models/messageEndpointOut.ts","../src/models/listResponseMessageEndpointOut.ts","../src/api/messageAttempt.ts","../src/models/operationalWebhookEndpointOut.ts","../src/models/listResponseOperationalWebhookEndpointOut.ts","../src/models/operationalWebhookEndpointHeadersIn.ts","../src/models/operationalWebhookEndpointHeadersOut.ts","../src/models/operationalWebhookEndpointIn.ts","../src/models/operationalWebhookEndpointSecretIn.ts","../src/models/operationalWebhookEndpointSecretOut.ts","../src/models/operationalWebhookEndpointUpsertIn.ts","../src/api/operationalWebhookEndpoint.ts","../src/api/operationalWebhook.ts","../src/models/aggregateEventTypesOut.ts","../src/models/appUsageStatsIn.ts","../src/models/appUsageStatsOut.ts","../src/api/statistics.ts","../src/models/httpSinkHeadersPatchIn.ts","../src/models/streamEventTypeOut.ts","../src/models/listResponseStreamEventTypeOut.ts","../src/models/streamEventTypeIn.ts","../src/models/streamEventTypePatch.ts","../src/api/streamingEventType.ts","../src/models/eventIn.ts","../src/models/streamIn.ts","../src/models/createStreamEventsIn.ts","../src/models/createStreamEventsOut.ts","../src/models/eventOut.ts","../src/models/eventStreamOut.ts","../src/api/streamingEvents.ts","../src/models/azureBlobStorageConfigOut.ts","../src/models/bigQueryConfigOut.ts","../src/models/clickhouseConfigOut.ts","../src/models/eventBridgeConfigOut.ts","../src/models/googleCloudPubSubConfigOut.ts","../src/models/googleCloudStorageConfigOut.ts","../src/models/otelTracingConfigOut.ts","../src/models/postgresConfigOut.ts","../src/models/rabbitMqConfigOut.ts","../src/models/redshiftConfigOut.ts","../src/models/s3ConfigOut.ts","../src/models/sinkHttpConfigOut.ts","../src/models/sinkStatus.ts","../src/models/snowflakeConfigOut.ts","../src/models/snsConfigOut.ts","../src/models/sqsConfigOut.ts","../src/models/streamSinkOut.ts","../src/models/listResponseStreamSinkOut.ts","../src/models/sinkSecretOut.ts","../src/models/azureBlobStorageConfigIn.ts","../src/models/bigQueryConfigIn.ts","../src/models/clickhouseConfigIn.ts","../src/models/eventBridgeConfigIn.ts","../src/models/googleCloudPubSubConfigIn.ts","../src/models/googleCloudStorageConfigIn.ts","../src/models/otelTracingConfigIn.ts","../src/models/postgresConfigIn.ts","../src/models/rabbitMqConfigIn.ts","../src/models/redshiftConfigIn.ts","../src/models/s3ConfigIn.ts","../src/models/sinkHttpConfigIn.ts","../src/models/sinkStatusIn.ts","../src/models/snowflakeConfigIn.ts","../src/models/snsConfigIn.ts","../src/models/sqsConfigIn.ts","../src/models/streamSinkIn.ts","../src/models/azureBlobStorageConfigPatch.ts","../src/models/bigQueryConfigPatch.ts","../src/models/clickhouseConfigPatch.ts","../src/models/eventBridgeConfigPatch.ts","../src/models/googleCloudPubSubConfigPatch.ts","../src/models/googleCloudStorageConfigPatch.ts","../src/models/otelTracingConfigPatch.ts","../src/models/postgresConfigPatch.ts","../src/models/rabbitMqConfigPatch.ts","../src/models/redshiftConfigPatch.ts","../src/models/s3ConfigPatch.ts","../src/models/sinkHttpConfigPatch.ts","../src/models/snowflakeConfigPatch.ts","../src/models/snsConfigPatch.ts","../src/models/sqsConfigPatch.ts","../src/models/streamSinkPatch.ts","../src/models/sinkTransformIn.ts","../src/models/sinkTransformationOut.ts","../src/api/streamingSinkTransformation.ts","../src/api/streamingSink.ts","../src/models/streamOut.ts","../src/models/listResponseStreamOut.ts","../src/models/streamPatch.ts","../src/api/streamingStream.ts","../src/api/streaming.ts","../src/HttpErrors.ts","../src/webhook.ts","../src/models/ordering.ts","../src/api_internal/index.ts","../src/models/sinkInCommon.ts","../src/models/autoConfigSinkType.ts","../src/models/subscribeIn.ts","../src/api_internal/endpointAutoConfig.ts","../src/api_internal/endpoint.ts","../src/autoconfig.ts","../src/models/pollerV2CommitIn.ts","../src/models/pollerV2MessageOut.ts","../src/models/pollerV2PollOut.ts","../src/api_internal/messagePollerv2.ts","../src/autoconfigConsumer.ts","../src/index.ts"],"sourcesContent":["// this file is @generated\n\nexport interface ApplicationIn {\n /** Application name for human consumption. */\n name: string;\n /**\n * Maximum messages per second to send to this application.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the application. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const ApplicationInSerializer = {\n _fromJsonObject(object: any): ApplicationIn {\n return {\n name: object[\"name\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: ApplicationIn): any {\n return {\n name: self.name,\n throttleRate: self.throttleRate,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface ApplicationOut {\n /** Optional unique identifier for the application. */\n uid?: string | null;\n /** Application name for human consumption. */\n name: string;\n /**\n * Maximum messages per second to send to this application.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** The Application's ID. */\n id: string;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const ApplicationOutSerializer = {\n _fromJsonObject(object: any): ApplicationOut {\n return {\n uid: object[\"uid\"],\n name: object[\"name\"],\n throttleRate: object[\"throttleRate\"],\n id: object[\"id\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: ApplicationOut): any {\n return {\n uid: self.uid,\n name: self.name,\n throttleRate: self.throttleRate,\n id: self.id,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface ApplicationPatch {\n name?: string;\n /**\n * Maximum messages per second to send to this application.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** The Application's UID. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const ApplicationPatchSerializer = {\n _fromJsonObject(object: any): ApplicationPatch {\n return {\n name: object[\"name\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: ApplicationPatch): any {\n return {\n name: self.name,\n throttleRate: self.throttleRate,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type ApplicationOut, ApplicationOutSerializer } from \"./applicationOut\";\n\nexport interface ListResponseApplicationOut {\n data: ApplicationOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseApplicationOutSerializer = {\n _fromJsonObject(object: any): ListResponseApplicationOut {\n return {\n data: object[\"data\"].map((item: ApplicationOut) =>\n ApplicationOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseApplicationOut): any {\n return {\n data: self.data.map((item) => ApplicationOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","export interface PostOptions {\n idempotencyKey?: string;\n}\n\nexport class ApiException<T> extends Error {\n public headers: Record<string, string> = {};\n\n public constructor(\n public code: number,\n public body: T,\n headers: Headers\n ) {\n super(`HTTP-Code: ${code}\\nHeaders: ${JSON.stringify(headers)}`);\n\n headers.forEach((value: string, name: string) => {\n this.headers[name] = value;\n });\n }\n}\n\nexport type XOR<T, U> =\n | (T & { [K in keyof U]?: never })\n | (U & { [K in keyof T]?: never });\n","import { ApiException, type XOR } from \"./util\";\nimport type { HttpErrorOut, HTTPValidationError } from \"./HttpErrors\";\n\nexport const LIB_VERSION = \"2.3.0\";\n\nfunction getUserAgent() {\n var fields = [`svix-libs/${LIB_VERSION}/javascript`];\n // `typeof`, not a bare reference: outside their own runtime these are\n // undeclared, and reading an undeclared binding throws a ReferenceError.\n if (typeof process !== \"undefined\") {\n if (process.version !== undefined) {\n fields.push(`node/${process.version}`);\n }\n if (process.platform !== undefined && process.arch !== undefined) {\n fields.push(`${process.platform}/${process.arch}`);\n }\n } else if (typeof navigator !== \"undefined\" && navigator.userAgent !== undefined) {\n fields.push(navigator.userAgent);\n }\n return fields.join(\" \");\n}\n\nexport enum HttpMethod {\n GET = \"GET\",\n HEAD = \"HEAD\",\n POST = \"POST\",\n PUT = \"PUT\",\n DELETE = \"DELETE\",\n CONNECT = \"CONNECT\",\n OPTIONS = \"OPTIONS\",\n TRACE = \"TRACE\",\n PATCH = \"PATCH\",\n}\n\nexport type SvixRequestContext = {\n /** The API base URL, like \"https://api.svix.com\" */\n baseUrl: string;\n /** The 'bearer' scheme access token */\n token: string;\n /** Time in milliseconds to wait for requests to get a response. */\n timeout?: number;\n /**\n * Custom fetch implementation to use for HTTP requests.\n * Useful for testing, adding custom middleware, or running in non-standard environments.\n */\n fetch?: typeof fetch;\n} & XOR<\n {\n /** List of delays (in milliseconds) to wait before each retry attempt.*/\n retryScheduleInMs?: number[];\n },\n {\n /** The number of times the client will retry if a server-side error\n * or timeout is received.\n * Default: 2\n */\n numRetries?: number;\n }\n>;\n\nexport type SvixRequestContextOptions = {\n serverUrl?: string;\n requestTimeout?: number;\n fetch?: typeof fetch;\n} & XOR<\n {\n retryScheduleInMs?: number[];\n },\n {\n numRetries?: number;\n }\n>;\n\nconst REGIONS = [\n { region: \"us\", url: \"https://api.us.svix.com\" },\n { region: \"eu\", url: \"https://api.eu.svix.com\" },\n { region: \"in\", url: \"https://api.in.svix.com\" },\n { region: \"ca\", url: \"https://api.ca.svix.com\" },\n { region: \"au\", url: \"https://api.au.svix.com\" },\n];\n\n/** Shared by `Svix` and `api_internal` so the latter need not import the package barrel. */\nexport function createSvixRequestContext(\n token: string,\n options: SvixRequestContextOptions = {}\n): SvixRequestContext {\n const regionalUrl = REGIONS.find((x) => x.region === token.split(\".\")[1])?.url;\n const baseUrl: string =\n options.serverUrl?.replace(/\\/+$/, \"\") ?? regionalUrl ?? \"https://api.svix.com\";\n\n if (options.retryScheduleInMs) {\n return {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n retryScheduleInMs: options.retryScheduleInMs,\n fetch: options.fetch,\n };\n }\n if (options.numRetries) {\n return {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n numRetries: options.numRetries,\n fetch: options.fetch,\n };\n }\n return {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n fetch: options.fetch,\n };\n}\n\ntype QueryParameter = string | boolean | number | Date | string[] | null | undefined;\n\nexport class SvixRequest {\n constructor(\n private readonly method: HttpMethod,\n private path: string\n ) {}\n\n private body?: string;\n private queryParams: Record<string, string> = {};\n private headerParams: Record<string, string> = {};\n\n public setPathParam(name: string, value: string) {\n const newPath = this.path.replace(`{${name}}`, encodeURIComponent(value));\n if (this.path === newPath) {\n throw new Error(`path parameter ${name} not found`);\n }\n this.path = newPath;\n }\n\n public setQueryParams(params: { [name: string]: QueryParameter }) {\n for (const [name, value] of Object.entries(params)) {\n this.setQueryParam(name, value);\n }\n }\n\n public setQueryParam(name: string, value: QueryParameter) {\n if (value === undefined || value === null) {\n return;\n }\n\n if (typeof value === \"string\") {\n this.queryParams[name] = value;\n } else if (typeof value === \"boolean\" || typeof value === \"number\") {\n this.queryParams[name] = value.toString();\n } else if (value instanceof Date) {\n this.queryParams[name] = value.toISOString();\n } else if (Array.isArray(value)) {\n if (value.length > 0) {\n this.queryParams[name] = value.join(\",\");\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _assert_unreachable: never = value;\n throw new Error(`query parameter ${name} has unsupported type`);\n }\n }\n\n public setHeaderParam(name: string, value?: string) {\n if (value === undefined) {\n return;\n }\n\n this.headerParams[name] = value;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setBody(value: any) {\n this.body = JSON.stringify(value);\n }\n\n /**\n * Send this request, returning the request body as a caller-specified type.\n *\n * If the server returns a 422 error, an `ApiException<HTTPValidationError>` is thrown.\n * If the server returns another 4xx error, an `ApiException<HttpErrorOut>` is thrown.\n *\n * If the server returns a 5xx error, the request is retried up to two times with exponential backoff.\n * If retries are exhausted, an `ApiException<HttpErrorOut>` is thrown.\n */\n public async send<R>(\n ctx: SvixRequestContext,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parseResponseBody: (jsonObject: any) => R\n ): Promise<R> {\n const response = await this.sendInner(ctx);\n if (response.status === 204) {\n return <R>null;\n }\n const responseBody = await response.text();\n return parseResponseBody(JSON.parse(responseBody));\n }\n\n /** Same as `send`, but the response body is discarded, not parsed. */\n public async sendNoResponseBody(ctx: SvixRequestContext): Promise<void> {\n await this.sendInner(ctx);\n }\n\n private async sendInner(ctx: SvixRequestContext): Promise<Response> {\n const url = new URL(ctx.baseUrl + this.path);\n for (const [name, value] of Object.entries(this.queryParams)) {\n url.searchParams.set(name, value);\n }\n\n if (\n this.headerParams[\"idempotency-key\"] === undefined &&\n this.method.toUpperCase() === \"POST\"\n ) {\n this.headerParams[\"idempotency-key\"] = `auto_${crypto.randomUUID()}`;\n }\n\n const randomId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);\n\n if (this.body != null) {\n this.headerParams[\"content-type\"] = \"application/json\";\n }\n // Cloudflare Workers fail if the credentials option is used in a fetch call.\n // This work around that. Source:\n // https://github.com/cloudflare/workers-sdk/issues/2514#issuecomment-21.90.0014\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n\n const response = await sendWithRetry(\n url,\n {\n method: this.method.toString(),\n body: this.body,\n headers: {\n accept: \"application/json, */*;q=0.8\",\n authorization: `Bearer ${ctx.token}`,\n \"user-agent\": getUserAgent(),\n \"svix-req-id\": randomId.toString(),\n ...this.headerParams,\n },\n credentials: isCredentialsSupported ? \"same-origin\" : undefined,\n signal: ctx.timeout !== undefined ? AbortSignal.timeout(ctx.timeout) : undefined,\n },\n ctx.retryScheduleInMs,\n ctx.retryScheduleInMs?.[0],\n ctx.retryScheduleInMs?.length ?? ctx.numRetries,\n ctx.fetch\n );\n return filterResponseForErrors(response);\n }\n}\n\nasync function filterResponseForErrors(response: Response): Promise<Response> {\n if (response.status < 300) {\n return response;\n }\n\n const responseBody = await response.text();\n\n if (response.status === 422) {\n throw new ApiException<HTTPValidationError>(\n response.status,\n JSON.parse(responseBody) as HTTPValidationError,\n response.headers\n );\n }\n\n if (response.status >= 400 && response.status <= 499) {\n throw new ApiException<HttpErrorOut>(\n response.status,\n JSON.parse(responseBody) as HttpErrorOut,\n response.headers\n );\n }\n throw new ApiException(response.status, responseBody, response.headers);\n}\n\ntype SvixRequestInit = RequestInit & {\n headers: Record<string, string>;\n};\n\nasync function sendWithRetry(\n url: URL,\n init: SvixRequestInit,\n retryScheduleInMs?: number[],\n nextInterval = 50,\n triesLeft = 2,\n fetchImpl: typeof fetch = fetch,\n retryCount = 1\n): Promise<Response> {\n const sleep = (interval: number) =>\n new Promise((resolve) => setTimeout(resolve, interval));\n\n try {\n const response = await fetchImpl(url, init);\n if (triesLeft <= 0 || response.status < 500) {\n return response;\n }\n } catch (e) {\n if (triesLeft <= 0) {\n throw e;\n }\n }\n\n await sleep(nextInterval);\n init.headers[\"svix-retry-count\"] = retryCount.toString();\n nextInterval = retryScheduleInMs?.[retryCount] ?? nextInterval * 2;\n return await sendWithRetry(\n url,\n init,\n retryScheduleInMs,\n nextInterval,\n --triesLeft,\n fetchImpl,\n ++retryCount\n );\n}\n","// this file is @generated\n\nimport { type ApplicationIn, ApplicationInSerializer } from \"../models/applicationIn\";\nimport { type ApplicationOut, ApplicationOutSerializer } from \"../models/applicationOut\";\nimport {\n type ApplicationPatch,\n ApplicationPatchSerializer,\n} from \"../models/applicationPatch\";\nimport {\n type ListResponseApplicationOut,\n ListResponseApplicationOutSerializer,\n} from \"../models/listResponseApplicationOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface ApplicationListOptions {\n /** Exclude applications that have no endpoints. Default is false. */\n excludeAppsWithNoEndpoints?: boolean;\n /** Exclude applications that have only disabled endpoints. Default is false. */\n excludeAppsWithDisabledEndpoints?: boolean;\n /** Exclude applications that only have Svix Play endpoints. Default is false. */\n excludeAppsWithSvixPlayEndpoints?: boolean;\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface ApplicationCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class Application {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's applications. */\n public async list(\n options?: ApplicationListOptions\n ): Promise<ListResponseApplicationOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app\");\n\n request.setQueryParams({\n exclude_apps_with_no_endpoints: options?.excludeAppsWithNoEndpoints,\n exclude_apps_with_disabled_endpoints: options?.excludeAppsWithDisabledEndpoints,\n exclude_apps_with_svix_play_endpoints: options?.excludeAppsWithSvixPlayEndpoints,\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseApplicationOutSerializer._fromJsonObject\n );\n }\n\n /** Create a new application. */\n public async create(\n applicationIn: ApplicationIn,\n options?: ApplicationCreateOptions\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ApplicationInSerializer._toJsonObject(applicationIn));\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Get the application with the UID from `applicationIn`, or create it if it doesn't exist yet. */\n public getOrCreate(\n applicationIn: ApplicationIn,\n options?: ApplicationCreateOptions\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app\");\n\n request.setQueryParam(\"get_if_exists\", true);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ApplicationInSerializer._toJsonObject(applicationIn));\n\n return request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Get an application. */\n public async get(appId: string): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Create or update an application. */\n public async upsert(\n appId: string,\n applicationIn: ApplicationIn\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n request.setBody(ApplicationInSerializer._toJsonObject(applicationIn));\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n\n /** Delete an application. */\n public async delete(appId: string): Promise<void> {\n const request = new SvixRequest(HttpMethod.DELETE, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update an application. */\n public async patch(\n appId: string,\n applicationPatch: ApplicationPatch\n ): Promise<ApplicationOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/app/{app_id}\");\n\n request.setPathParam(\"app_id\", appId);\n request.setBody(ApplicationPatchSerializer._toJsonObject(applicationPatch));\n\n return await request.send(this.requestCtx, ApplicationOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport interface ApiTokenOut {\n token: string;\n id: string;\n name?: string | null;\n createdAt: Date;\n expiresAt?: Date | null;\n scopes?: string[] | null;\n}\n\nexport const ApiTokenOutSerializer = {\n _fromJsonObject(object: any): ApiTokenOut {\n return {\n token: object[\"token\"],\n id: object[\"id\"],\n name: object[\"name\"],\n createdAt: new Date(object[\"createdAt\"]),\n expiresAt: object[\"expiresAt\"] ? new Date(object[\"expiresAt\"]) : null,\n scopes: object[\"scopes\"],\n };\n },\n\n _toJsonObject(self: ApiTokenOut): any {\n return {\n token: self.token,\n id: self.id,\n name: self.name,\n createdAt: self.createdAt,\n expiresAt: self.expiresAt,\n scopes: self.scopes,\n };\n },\n};\n","// this file is @generated\n\nexport enum AppPortalCapability {\n ViewBase = \"ViewBase\",\n ViewEndpointSecret = \"ViewEndpointSecret\",\n ManageEndpointSecret = \"ManageEndpointSecret\",\n ManageTransformations = \"ManageTransformations\",\n CreateAttempts = \"CreateAttempts\",\n ManageEndpoint = \"ManageEndpoint\",\n}\n\nexport const AppPortalCapabilitySerializer = {\n _fromJsonObject(object: any): AppPortalCapability {\n return object;\n },\n\n _toJsonObject(self: AppPortalCapability): any {\n return self;\n },\n};\n","// this file is @generated\nimport {\n type AppPortalCapability,\n AppPortalCapabilitySerializer,\n} from \"./appPortalCapability\";\nimport { type ApplicationIn, ApplicationInSerializer } from \"./applicationIn\";\n\nexport interface AppPortalAccessIn {\n /**\n * Optionally creates a new application while generating the access link.\n *\n * If the application id or uid that is used in the path already exists, this argument is ignored.\n */\n application?: ApplicationIn | null;\n /**\n * Whether the app portal should be in read-only mode.\n *\n * @deprecated\n */\n readOnly?: boolean | null;\n /**\n * Custom capabilities attached to the token, You can combine as many capabilities as necessary.\n *\n * The `ViewBase` capability is always required\n *\n * - `ViewBase`: Basic read only permissions, does not allow the user to see the endpoint secret.\n *\n * - `ViewEndpointSecret`: Allows user to view the endpoint secret.\n *\n * - `ManageEndpointSecret`: Allows user to rotate and view the endpoint secret.\n *\n * - `ManageTransformations`: Allows user to modify the endpoint transformations.\n *\n * - `CreateAttempts`: Allows user to replay missing messages and send example messages.\n *\n * - `ManageEndpoint`: Allows user to read/modify any field or configuration of an endpoint (including secrets)\n *\n * By default, the token will get all capabilities if the capabilities are not explicitly specified.\n */\n capabilities?: AppPortalCapability[] | null;\n /** The set of feature flags the created token will have access to. */\n featureFlags?: string[];\n /**\n * How long the token will be valid for, in seconds.\n *\n * Valid values are between 1 hour and 7 days. The default is 7 days.\n */\n expiry?: number | null;\n /**\n * An optional session ID to attach to the token.\n *\n * When expiring tokens with \"Expire All\", you can include the session ID to only expire tokens that were created with that session ID.\n */\n sessionId?: string | null;\n}\n\nexport const AppPortalAccessInSerializer = {\n _fromJsonObject(object: any): AppPortalAccessIn {\n return {\n application:\n object[\"application\"] != null\n ? ApplicationInSerializer._fromJsonObject(object[\"application\"])\n : undefined,\n readOnly: object[\"readOnly\"],\n capabilities: object[\"capabilities\"]?.map((item: AppPortalCapability) =>\n AppPortalCapabilitySerializer._fromJsonObject(item)\n ),\n featureFlags: object[\"featureFlags\"],\n expiry: object[\"expiry\"],\n sessionId: object[\"sessionId\"],\n };\n },\n\n _toJsonObject(self: AppPortalAccessIn): any {\n return {\n application:\n self.application != null\n ? ApplicationInSerializer._toJsonObject(self.application)\n : undefined,\n readOnly: self.readOnly,\n capabilities: self.capabilities?.map((item) =>\n AppPortalCapabilitySerializer._toJsonObject(item)\n ),\n featureFlags: self.featureFlags,\n expiry: self.expiry,\n sessionId: self.sessionId,\n };\n },\n};\n","// this file is @generated\n\nexport interface AppPortalAccessOut {\n url: string;\n token: string;\n}\n\nexport const AppPortalAccessOutSerializer = {\n _fromJsonObject(object: any): AppPortalAccessOut {\n return {\n url: object[\"url\"],\n token: object[\"token\"],\n };\n },\n\n _toJsonObject(self: AppPortalAccessOut): any {\n return {\n url: self.url,\n token: self.token,\n };\n },\n};\n","// this file is @generated\n\nexport interface ApplicationTokenExpireIn {\n /** How many seconds until the old key is expired. */\n expiry?: number | null;\n /**\n * An optional list of session ids.\n *\n * If any session ids are specified, only Application tokens created with that session id will be expired.\n */\n sessionIds?: string[];\n}\n\nexport const ApplicationTokenExpireInSerializer = {\n _fromJsonObject(object: any): ApplicationTokenExpireIn {\n return {\n expiry: object[\"expiry\"],\n sessionIds: object[\"sessionIds\"],\n };\n },\n\n _toJsonObject(self: ApplicationTokenExpireIn): any {\n return {\n expiry: self.expiry,\n sessionIds: self.sessionIds,\n };\n },\n};\n","// this file is @generated\n\nexport interface RotatePollerTokenIn {\n /** How long the token will be valid for, in seconds. Can be up to 31,536,000 seconds (1 year). */\n expiry?: number | null;\n /**\n * Updates the previous token's expiration, in seconds.\n *\n * If set to 0, the old token will immediately be revoked. Must be between 0 and 86,400 seconds (1 day).\n *\n * Defaults to 300 seconds (5 minutes).\n */\n oldTokenExpiry?: number;\n}\n\nexport const RotatePollerTokenInSerializer = {\n _fromJsonObject(object: any): RotatePollerTokenIn {\n return {\n expiry: object[\"expiry\"],\n oldTokenExpiry: object[\"oldTokenExpiry\"],\n };\n },\n\n _toJsonObject(self: RotatePollerTokenIn): any {\n return {\n expiry: self.expiry,\n oldTokenExpiry: self.oldTokenExpiry,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamPortalAccessIn {\n /** The set of feature flags the created token will have access to. */\n featureFlags?: string[];\n /**\n * How long the token will be valid for, in seconds.\n *\n * Valid values are between 1 hour and 7 days. The default is 7 days.\n */\n expiry?: number | null;\n /**\n * An optional session ID to attach to the token.\n *\n * When expiring tokens with \"Expire All\", you can include the session ID to only expire tokens that were created with that session ID.\n */\n sessionId?: string | null;\n}\n\nexport const StreamPortalAccessInSerializer = {\n _fromJsonObject(object: any): StreamPortalAccessIn {\n return {\n featureFlags: object[\"featureFlags\"],\n expiry: object[\"expiry\"],\n sessionId: object[\"sessionId\"],\n };\n },\n\n _toJsonObject(self: StreamPortalAccessIn): any {\n return {\n featureFlags: self.featureFlags,\n expiry: self.expiry,\n sessionId: self.sessionId,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamTokenExpireIn {\n /** How many seconds until the old key is expired. */\n expiry?: number | null;\n /**\n * An optional list of session ids.\n *\n * If any session ids are specified, only Stream tokens created with that session id will be expired.\n */\n sessionIds?: string[];\n}\n\nexport const StreamTokenExpireInSerializer = {\n _fromJsonObject(object: any): StreamTokenExpireIn {\n return {\n expiry: object[\"expiry\"],\n sessionIds: object[\"sessionIds\"],\n };\n },\n\n _toJsonObject(self: StreamTokenExpireIn): any {\n return {\n expiry: self.expiry,\n sessionIds: self.sessionIds,\n };\n },\n};\n","// this file is @generated\n\nimport { type ApiTokenOut, ApiTokenOutSerializer } from \"../models/apiTokenOut\";\nimport {\n type AppPortalAccessIn,\n AppPortalAccessInSerializer,\n} from \"../models/appPortalAccessIn\";\nimport {\n type AppPortalAccessOut,\n AppPortalAccessOutSerializer,\n} from \"../models/appPortalAccessOut\";\nimport {\n type ApplicationTokenExpireIn,\n ApplicationTokenExpireInSerializer,\n} from \"../models/applicationTokenExpireIn\";\nimport {\n type RotatePollerTokenIn,\n RotatePollerTokenInSerializer,\n} from \"../models/rotatePollerTokenIn\";\nimport {\n type StreamPortalAccessIn,\n StreamPortalAccessInSerializer,\n} from \"../models/streamPortalAccessIn\";\nimport {\n type StreamTokenExpireIn,\n StreamTokenExpireInSerializer,\n} from \"../models/streamTokenExpireIn\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface AuthenticationAppPortalAccessOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationLogoutOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationExpireAllOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationStreamPortalAccessOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationStreamLogoutOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationStreamExpireAllOptions {\n idempotencyKey?: string;\n}\n\nexport interface AuthenticationRotateStreamPollerTokenOptions {\n idempotencyKey?: string;\n}\n\nexport class Authentication {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Use this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal. */\n public async appPortalAccess(\n appId: string,\n appPortalAccessIn: AppPortalAccessIn = {},\n options?: AuthenticationAppPortalAccessOptions\n ): Promise<AppPortalAccessOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/app-portal-access/{app_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(AppPortalAccessInSerializer._toJsonObject(appPortalAccessIn));\n\n return await request.send(\n this.requestCtx,\n AppPortalAccessOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Logout an app token.\n *\n * Trying to log out other tokens will fail.\n */\n public async logout(options?: AuthenticationLogoutOptions): Promise<void> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/auth/logout\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Expire all of the tokens associated with a specific application. */\n public async expireAll(\n appId: string,\n applicationTokenExpireIn: ApplicationTokenExpireIn = {},\n options?: AuthenticationExpireAllOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/app/{app_id}/expire-all\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n ApplicationTokenExpireInSerializer._toJsonObject(applicationTokenExpireIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Use this function to get magic links (and authentication codes) for connecting your users to the Stream Consumer Portal. */\n public async streamPortalAccess(\n streamId: string,\n streamPortalAccessIn: StreamPortalAccessIn = {},\n options?: AuthenticationStreamPortalAccessOptions\n ): Promise<AppPortalAccessOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/stream-portal-access/{stream_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamPortalAccessInSerializer._toJsonObject(streamPortalAccessIn));\n\n return await request.send(\n this.requestCtx,\n AppPortalAccessOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Logout a stream token.\n *\n * Trying to log out other tokens will fail.\n */\n public async streamLogout(options?: AuthenticationStreamLogoutOptions): Promise<void> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/auth/stream-logout\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Expire all of the tokens associated with a specific stream. */\n public async streamExpireAll(\n streamId: string,\n streamTokenExpireIn: StreamTokenExpireIn = {},\n options?: AuthenticationStreamExpireAllOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/stream/{stream_id}/expire-all\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamTokenExpireInSerializer._toJsonObject(streamTokenExpireIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Create a new auth token for the stream poller API. */\n public async rotateStreamPollerToken(\n streamId: string,\n sinkId: string,\n rotatePollerTokenIn: RotatePollerTokenIn = {},\n options?: AuthenticationRotateStreamPollerTokenOptions\n ): Promise<ApiTokenOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(RotatePollerTokenInSerializer._toJsonObject(rotatePollerTokenIn));\n\n return await request.send(this.requestCtx, ApiTokenOutSerializer._fromJsonObject);\n }\n\n /** Get the current auth token for the stream poller. */\n public async getStreamPollerToken(\n streamId: string,\n sinkId: string\n ): Promise<ApiTokenOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(this.requestCtx, ApiTokenOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport enum BackgroundTaskStatus {\n Running = \"running\",\n Finished = \"finished\",\n Failed = \"failed\",\n}\n\nexport const BackgroundTaskStatusSerializer = {\n _fromJsonObject(object: any): BackgroundTaskStatus {\n return object;\n },\n\n _toJsonObject(self: BackgroundTaskStatus): any {\n return self;\n },\n};\n","// this file is @generated\n\nexport enum BackgroundTaskType {\n EndpointReplay = \"endpoint.replay\",\n EndpointRecover = \"endpoint.recover\",\n ApplicationStats = \"application.stats\",\n MessageBroadcast = \"message.broadcast\",\n SdkGenerate = \"sdk.generate\",\n EventTypeAggregate = \"event-type.aggregate\",\n ApplicationPurgeContent = \"application.purge_content\",\n EndpointBulkReplay = \"endpoint.bulk-replay\",\n}\n\nexport const BackgroundTaskTypeSerializer = {\n _fromJsonObject(object: any): BackgroundTaskType {\n return object;\n },\n\n _toJsonObject(self: BackgroundTaskType): any {\n return self;\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface BackgroundTaskOut {\n data: any;\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const BackgroundTaskOutSerializer = {\n _fromJsonObject(object: any): BackgroundTaskOut {\n return {\n data: object[\"data\"],\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: BackgroundTaskOut): any {\n return {\n data: self.data,\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\nimport { type BackgroundTaskOut, BackgroundTaskOutSerializer } from \"./backgroundTaskOut\";\n\nexport interface ListResponseBackgroundTaskOut {\n data: BackgroundTaskOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseBackgroundTaskOutSerializer = {\n _fromJsonObject(object: any): ListResponseBackgroundTaskOut {\n return {\n data: object[\"data\"].map((item: BackgroundTaskOut) =>\n BackgroundTaskOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseBackgroundTaskOut): any {\n return {\n data: self.data.map((item) => BackgroundTaskOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type BackgroundTaskOut,\n BackgroundTaskOutSerializer,\n} from \"../models/backgroundTaskOut\";\nimport type { BackgroundTaskStatus } from \"../models/backgroundTaskStatus\";\nimport type { BackgroundTaskType } from \"../models/backgroundTaskType\";\nimport {\n type ListResponseBackgroundTaskOut,\n ListResponseBackgroundTaskOutSerializer,\n} from \"../models/listResponseBackgroundTaskOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface BackgroundTaskListOptions {\n /** Filter the response based on the status. */\n status?: BackgroundTaskStatus;\n /** Filter the response based on the type. */\n task?: BackgroundTaskType;\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport class BackgroundTask {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List background tasks executed in the past 90 days. */\n public async list(\n options?: BackgroundTaskListOptions\n ): Promise<ListResponseBackgroundTaskOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/background-task\");\n\n request.setQueryParams({\n status: options?.status,\n task: options?.task,\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseBackgroundTaskOutSerializer._fromJsonObject\n );\n }\n\n /** Get a background task by ID. */\n public async get(taskId: string): Promise<BackgroundTaskOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/background-task/{task_id}\");\n\n request.setPathParam(\"task_id\", taskId);\n\n return await request.send(\n this.requestCtx,\n BackgroundTaskOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport enum ConnectorKind {\n Custom = \"Custom\",\n AgenticCommerceProtocol = \"AgenticCommerceProtocol\",\n CloseCrm = \"CloseCRM\",\n CustomerIo = \"CustomerIO\",\n Discord = \"Discord\",\n Hubspot = \"Hubspot\",\n Inngest = \"Inngest\",\n Loops = \"Loops\",\n Otel = \"Otel\",\n Resend = \"Resend\",\n Salesforce = \"Salesforce\",\n Segment = \"Segment\",\n Sendgrid = \"Sendgrid\",\n Slack = \"Slack\",\n Teams = \"Teams\",\n TriggerDev = \"TriggerDev\",\n Windmill = \"Windmill\",\n Zapier = \"Zapier\",\n}\n\nexport const ConnectorKindSerializer = {\n _fromJsonObject(object: any): ConnectorKind {\n return object;\n },\n\n _toJsonObject(self: ConnectorKind): any {\n return self;\n },\n};\n","// this file is @generated\n\nexport enum ConnectorProduct {\n Dispatch = \"Dispatch\",\n Stream = \"Stream\",\n}\n\nexport const ConnectorProductSerializer = {\n _fromJsonObject(object: any): ConnectorProduct {\n return object;\n },\n\n _toJsonObject(self: ConnectorProduct): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\nimport { type ConnectorProduct, ConnectorProductSerializer } from \"./connectorProduct\";\n\nexport interface ConnectorIn {\n name: string;\n /** The Connector's UID. */\n uid?: string | null;\n logo?: string | null;\n description?: string;\n kind?: ConnectorKind;\n instructions?: string;\n allowedEventTypes?: string[] | null;\n transformation: string;\n featureFlags?: string[] | null;\n productType?: ConnectorProduct | null;\n}\n\nexport const ConnectorInSerializer = {\n _fromJsonObject(object: any): ConnectorIn {\n return {\n name: object[\"name\"],\n uid: object[\"uid\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n kind:\n object[\"kind\"] != null\n ? ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n featureFlags: object[\"featureFlags\"],\n productType:\n object[\"productType\"] != null\n ? ConnectorProductSerializer._fromJsonObject(object[\"productType\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: ConnectorIn): any {\n return {\n name: self.name,\n uid: self.uid,\n logo: self.logo,\n description: self.description,\n kind:\n self.kind != null ? ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n featureFlags: self.featureFlags,\n productType:\n self.productType != null\n ? ConnectorProductSerializer._toJsonObject(self.productType)\n : undefined,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\nimport { type ConnectorProduct, ConnectorProductSerializer } from \"./connectorProduct\";\n\nexport interface ConnectorOut {\n /** The Connector's ID. */\n id: string;\n /** The Environment's ID. */\n orgId: string;\n /** The Connector's UID. */\n uid?: string | null;\n kind: ConnectorKind;\n name: string;\n logo?: string | null;\n description: string;\n instructions: string;\n allowedEventTypes?: string[] | null;\n transformation: string;\n createdAt: Date;\n updatedAt: Date;\n transformationUpdatedAt: Date;\n featureFlags?: string[] | null;\n productType: ConnectorProduct;\n}\n\nexport const ConnectorOutSerializer = {\n _fromJsonObject(object: any): ConnectorOut {\n return {\n id: object[\"id\"],\n orgId: object[\"orgId\"],\n uid: object[\"uid\"],\n kind: ConnectorKindSerializer._fromJsonObject(object[\"kind\"]),\n name: object[\"name\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n transformationUpdatedAt: new Date(object[\"transformationUpdatedAt\"]),\n featureFlags: object[\"featureFlags\"],\n productType: ConnectorProductSerializer._fromJsonObject(object[\"productType\"]),\n };\n },\n\n _toJsonObject(self: ConnectorOut): any {\n return {\n id: self.id,\n orgId: self.orgId,\n uid: self.uid,\n kind: ConnectorKindSerializer._toJsonObject(self.kind),\n name: self.name,\n logo: self.logo,\n description: self.description,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n transformationUpdatedAt: self.transformationUpdatedAt,\n featureFlags: self.featureFlags,\n productType: ConnectorProductSerializer._toJsonObject(self.productType),\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\n\nexport interface ConnectorPatch {\n name?: string;\n logo?: string | null;\n description?: string;\n kind?: ConnectorKind;\n instructions?: string;\n allowedEventTypes?: string[] | null;\n transformation?: string;\n featureFlags?: string[] | null;\n}\n\nexport const ConnectorPatchSerializer = {\n _fromJsonObject(object: any): ConnectorPatch {\n return {\n name: object[\"name\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n kind:\n object[\"kind\"] != null\n ? ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: ConnectorPatch): any {\n return {\n name: self.name,\n logo: self.logo,\n description: self.description,\n kind:\n self.kind != null ? ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorKind, ConnectorKindSerializer } from \"./connectorKind\";\n\nexport interface ConnectorUpsertIn {\n name?: string;\n logo?: string | null;\n description?: string;\n kind?: ConnectorKind;\n instructions?: string;\n allowedEventTypes?: string[] | null;\n transformation: string;\n featureFlags?: string[] | null;\n}\n\nexport const ConnectorUpsertInSerializer = {\n _fromJsonObject(object: any): ConnectorUpsertIn {\n return {\n name: object[\"name\"],\n logo: object[\"logo\"],\n description: object[\"description\"],\n kind:\n object[\"kind\"] != null\n ? ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n instructions: object[\"instructions\"],\n allowedEventTypes: object[\"allowedEventTypes\"],\n transformation: object[\"transformation\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: ConnectorUpsertIn): any {\n return {\n name: self.name,\n logo: self.logo,\n description: self.description,\n kind:\n self.kind != null ? ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n instructions: self.instructions,\n allowedEventTypes: self.allowedEventTypes,\n transformation: self.transformation,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorOut, ConnectorOutSerializer } from \"./connectorOut\";\n\nexport interface ListResponseConnectorOut {\n data: ConnectorOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseConnectorOutSerializer = {\n _fromJsonObject(object: any): ListResponseConnectorOut {\n return {\n data: object[\"data\"].map((item: ConnectorOut) =>\n ConnectorOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseConnectorOut): any {\n return {\n data: self.data.map((item) => ConnectorOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport { type ConnectorIn, ConnectorInSerializer } from \"../models/connectorIn\";\nimport { type ConnectorOut, ConnectorOutSerializer } from \"../models/connectorOut\";\nimport { type ConnectorPatch, ConnectorPatchSerializer } from \"../models/connectorPatch\";\nimport type { ConnectorProduct } from \"../models/connectorProduct\";\nimport {\n type ConnectorUpsertIn,\n ConnectorUpsertInSerializer,\n} from \"../models/connectorUpsertIn\";\nimport {\n type ListResponseConnectorOut,\n ListResponseConnectorOutSerializer,\n} from \"../models/listResponseConnectorOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface ConnectorListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n productType?: ConnectorProduct;\n}\n\nexport interface ConnectorCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class Connector {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List all connectors for an application. */\n public async list(options?: ConnectorListOptions): Promise<ListResponseConnectorOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/connector\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n product_type: options?.productType,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseConnectorOutSerializer._fromJsonObject\n );\n }\n\n /** Create a new connector. */\n public async create(\n connectorIn: ConnectorIn,\n options?: ConnectorCreateOptions\n ): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/connector\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ConnectorInSerializer._toJsonObject(connectorIn));\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n\n /** Get a connector. */\n public async get(connectorId: string): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/connector/{connector_id}\");\n\n request.setPathParam(\"connector_id\", connectorId);\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n\n /** Create or update a connector. */\n public async upsert(\n connectorId: string,\n connectorUpsertIn: ConnectorUpsertIn\n ): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/connector/{connector_id}\");\n\n request.setPathParam(\"connector_id\", connectorId);\n request.setBody(ConnectorUpsertInSerializer._toJsonObject(connectorUpsertIn));\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n\n /** Delete a connector. */\n public async delete(connectorId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/connector/{connector_id}\"\n );\n\n request.setPathParam(\"connector_id\", connectorId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update a connector. */\n public async patch(\n connectorId: string,\n connectorPatch: ConnectorPatch\n ): Promise<ConnectorOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/connector/{connector_id}\");\n\n request.setPathParam(\"connector_id\", connectorId);\n request.setBody(ConnectorPatchSerializer._toJsonObject(connectorPatch));\n\n return await request.send(this.requestCtx, ConnectorOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n/**\n * The sending status of the message:\n *\n * - Success = 0\n * - Pending = 1\n * - Fail = 2\n * - Sending = 3\n * - Canceled = 4\n */\nexport enum MessageStatus {\n Success = 0,\n Pending = 1,\n Fail = 2,\n Sending = 3,\n Canceled = 4,\n}\n\nexport const MessageStatusSerializer = {\n _fromJsonObject(object: any): MessageStatus {\n return object;\n },\n\n _toJsonObject(self: MessageStatus): any {\n return self;\n },\n};\n","// this file is @generated\n/**\n * The different classes of HTTP status codes:\n *\n * - CodeNone = 0\n * - Code1xx = 100\n * - Code2xx = 200\n * - Code3xx = 300\n * - Code4xx = 400\n * - Code5xx = 500\n */\nexport enum StatusCodeClass {\n CodeNone = 0,\n Code1xx = 100,\n Code2xx = 200,\n Code3xx = 300,\n Code4xx = 400,\n Code5xx = 500,\n}\n\nexport const StatusCodeClassSerializer = {\n _fromJsonObject(object: any): StatusCodeClass {\n return object;\n },\n\n _toJsonObject(self: StatusCodeClass): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type StatusCodeClass, StatusCodeClassSerializer } from \"./statusCodeClass\";\n\nexport interface BulkReplayIn {\n since: Date;\n until?: Date | null;\n eventTypes?: string[] | null;\n channel?: string | null;\n tag?: string | null;\n status?: MessageStatus | null;\n statusCodeClass?: StatusCodeClass | null;\n}\n\nexport const BulkReplayInSerializer = {\n _fromJsonObject(object: any): BulkReplayIn {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n eventTypes: object[\"eventTypes\"],\n channel: object[\"channel\"],\n tag: object[\"tag\"],\n status:\n object[\"status\"] != null\n ? MessageStatusSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n statusCodeClass:\n object[\"statusCodeClass\"] != null\n ? StatusCodeClassSerializer._fromJsonObject(object[\"statusCodeClass\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: BulkReplayIn): any {\n return {\n since: self.since,\n until: self.until,\n eventTypes: self.eventTypes,\n channel: self.channel,\n tag: self.tag,\n status:\n self.status != null\n ? MessageStatusSerializer._toJsonObject(self.status)\n : undefined,\n statusCodeClass:\n self.statusCodeClass != null\n ? StatusCodeClassSerializer._toJsonObject(self.statusCodeClass)\n : undefined,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointHeadersIn {\n headers: { [key: string]: string };\n}\n\nexport const EndpointHeadersInSerializer = {\n _fromJsonObject(object: any): EndpointHeadersIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: EndpointHeadersIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\n/**\n * The value of the headers is returned in the `headers` field.\n *\n * Sensitive headers that have been redacted are returned in the sensitive field.\n */\nexport interface EndpointHeadersOut {\n headers: { [key: string]: string };\n sensitive: string[];\n}\n\nexport const EndpointHeadersOutSerializer = {\n _fromJsonObject(object: any): EndpointHeadersOut {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n\n _toJsonObject(self: EndpointHeadersOut): any {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointHeadersPatchIn {\n headers: { [key: string]: string };\n /** A list of headers be be removed */\n deleteHeaders?: string[];\n}\n\nexport const EndpointHeadersPatchInSerializer = {\n _fromJsonObject(object: any): EndpointHeadersPatchIn {\n return {\n headers: object[\"headers\"],\n deleteHeaders: object[\"deleteHeaders\"],\n };\n },\n\n _toJsonObject(self: EndpointHeadersPatchIn): any {\n return {\n headers: self.headers,\n deleteHeaders: self.deleteHeaders,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n metadata?: { [key: string]: string };\n headers?: { [key: string]: string } | null;\n}\n\nexport const EndpointInSerializer = {\n _fromJsonObject(object: any): EndpointIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n secret: object[\"secret\"],\n metadata: object[\"metadata\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: EndpointIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n secret: self.secret,\n metadata: self.metadata,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointOut {\n /** The Endpoint's ID. */\n id: string;\n metadata: { [key: string]: string };\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport const EndpointOutSerializer = {\n _fromJsonObject(object: any): EndpointOut {\n return {\n id: object[\"id\"],\n metadata: object[\"metadata\"],\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: EndpointOut): any {\n return {\n id: self.id,\n metadata: self.metadata,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointPatch {\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** The Endpoint's UID. */\n uid?: string | null;\n url?: string;\n disabled?: boolean;\n eventTypes?: string[] | null;\n channels?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const EndpointPatchSerializer = {\n _fromJsonObject(object: any): EndpointPatch {\n return {\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: EndpointPatch): any {\n return {\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n url: self.url,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key: string;\n}\n\nexport const EndpointSecretOutSerializer = {\n _fromJsonObject(object: any): EndpointSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: EndpointSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointSecretRotateIn {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n /**\n * How long the old secret will be valid for, in seconds.\n *\n * Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.\n */\n gracePeriodSeconds?: number | null;\n}\n\nexport const EndpointSecretRotateInSerializer = {\n _fromJsonObject(object: any): EndpointSecretRotateIn {\n return {\n key: object[\"key\"],\n gracePeriodSeconds: object[\"gracePeriodSeconds\"],\n };\n },\n\n _toJsonObject(self: EndpointSecretRotateIn): any {\n return {\n key: self.key,\n gracePeriodSeconds: self.gracePeriodSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointStats {\n success: number;\n pending: number;\n sending: number;\n fail: number;\n canceled: number;\n}\n\nexport const EndpointStatsSerializer = {\n _fromJsonObject(object: any): EndpointStats {\n return {\n success: object[\"success\"],\n pending: object[\"pending\"],\n sending: object[\"sending\"],\n fail: object[\"fail\"],\n canceled: object[\"canceled\"],\n };\n },\n\n _toJsonObject(self: EndpointStats): any {\n return {\n success: self.success,\n pending: self.pending,\n sending: self.sending,\n fail: self.fail,\n canceled: self.canceled,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointTransformationIn {\n code?: string | null;\n enabled?: boolean;\n}\n\nexport const EndpointTransformationInSerializer = {\n _fromJsonObject(object: any): EndpointTransformationIn {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n\n _toJsonObject(self: EndpointTransformationIn): any {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointUpsertIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const EndpointUpsertInSerializer = {\n _fromJsonObject(object: any): EndpointUpsertIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: EndpointUpsertIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventExampleIn {\n /** The event type's name */\n eventType: string;\n /**\n * If the event type schema contains an array of examples, chooses which one to send.\n *\n * Defaults to the first example. Ignored if the schema doesn't contain an array of examples.\n */\n exampleIndex?: number;\n}\n\nexport const EventExampleInSerializer = {\n _fromJsonObject(object: any): EventExampleIn {\n return {\n eventType: object[\"eventType\"],\n exampleIndex: object[\"exampleIndex\"],\n };\n },\n\n _toJsonObject(self: EventExampleIn): any {\n return {\n eventType: self.eventType,\n exampleIndex: self.exampleIndex,\n };\n },\n};\n","// this file is @generated\nimport { type EndpointOut, EndpointOutSerializer } from \"./endpointOut\";\n\nexport interface ListResponseEndpointOut {\n data: EndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseEndpointOut {\n return {\n data: object[\"data\"].map((item: EndpointOut) =>\n EndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseEndpointOut): any {\n return {\n data: self.data.map((item) => EndpointOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface MessageOut {\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const MessageOutSerializer = {\n _fromJsonObject(object: any): MessageOut {\n return {\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: MessageOut): any {\n return {\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface RecoverIn {\n since: Date;\n until?: Date | null;\n}\n\nexport const RecoverInSerializer = {\n _fromJsonObject(object: any): RecoverIn {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n };\n },\n\n _toJsonObject(self: RecoverIn): any {\n return {\n since: self.since,\n until: self.until,\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface RecoverOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const RecoverOutSerializer = {\n _fromJsonObject(object: any): RecoverOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: RecoverOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface ReplayIn {\n since: Date;\n until?: Date | null;\n}\n\nexport const ReplayInSerializer = {\n _fromJsonObject(object: any): ReplayIn {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n };\n },\n\n _toJsonObject(self: ReplayIn): any {\n return {\n since: self.since,\n until: self.until,\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface ReplayOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const ReplayOutSerializer = {\n _fromJsonObject(object: any): ReplayOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: ReplayOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointTransformationOut {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n updatedAt?: Date | null;\n}\n\nexport const EndpointTransformationOutSerializer = {\n _fromJsonObject(object: any): EndpointTransformationOut {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n updatedAt: object[\"updatedAt\"] ? new Date(object[\"updatedAt\"]) : null,\n };\n },\n\n _toJsonObject(self: EndpointTransformationOut): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface EndpointTransformationPatch {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n}\n\nexport const EndpointTransformationPatchSerializer = {\n _fromJsonObject(object: any): EndpointTransformationPatch {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n };\n },\n\n _toJsonObject(self: EndpointTransformationPatch): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type EndpointTransformationOut,\n EndpointTransformationOutSerializer,\n} from \"../models/endpointTransformationOut\";\nimport {\n type EndpointTransformationPatch,\n EndpointTransformationPatchSerializer,\n} from \"../models/endpointTransformationPatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class EndpointTransformation {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get the transformation code associated with this endpoint. */\n public async get(\n appId: string,\n endpointId: string\n ): Promise<EndpointTransformationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n EndpointTransformationOutSerializer._fromJsonObject\n );\n }\n\n /** Set or unset the transformation code associated with this endpoint. */\n public async patch(\n appId: string,\n endpointId: string,\n endpointTransformationPatch: EndpointTransformationPatch\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointTransformationPatchSerializer._toJsonObject(endpointTransformationPatch)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nimport { type BulkReplayIn, BulkReplayInSerializer } from \"../models/bulkReplayIn\";\nimport {\n type EndpointHeadersIn,\n EndpointHeadersInSerializer,\n} from \"../models/endpointHeadersIn\";\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"../models/endpointHeadersOut\";\nimport {\n type EndpointHeadersPatchIn,\n EndpointHeadersPatchInSerializer,\n} from \"../models/endpointHeadersPatchIn\";\nimport { type EndpointIn, EndpointInSerializer } from \"../models/endpointIn\";\nimport { type EndpointOut, EndpointOutSerializer } from \"../models/endpointOut\";\nimport { type EndpointPatch, EndpointPatchSerializer } from \"../models/endpointPatch\";\nimport {\n type EndpointSecretOut,\n EndpointSecretOutSerializer,\n} from \"../models/endpointSecretOut\";\nimport {\n type EndpointSecretRotateIn,\n EndpointSecretRotateInSerializer,\n} from \"../models/endpointSecretRotateIn\";\nimport { type EndpointStats, EndpointStatsSerializer } from \"../models/endpointStats\";\nimport {\n type EndpointTransformationIn,\n EndpointTransformationInSerializer,\n} from \"../models/endpointTransformationIn\";\nimport {\n type EndpointUpsertIn,\n EndpointUpsertInSerializer,\n} from \"../models/endpointUpsertIn\";\nimport { type EventExampleIn, EventExampleInSerializer } from \"../models/eventExampleIn\";\nimport {\n type ListResponseEndpointOut,\n ListResponseEndpointOutSerializer,\n} from \"../models/listResponseEndpointOut\";\nimport { type MessageOut, MessageOutSerializer } from \"../models/messageOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type RecoverIn, RecoverInSerializer } from \"../models/recoverIn\";\nimport { type RecoverOut, RecoverOutSerializer } from \"../models/recoverOut\";\nimport { type ReplayIn, ReplayInSerializer } from \"../models/replayIn\";\nimport { type ReplayOut, ReplayOutSerializer } from \"../models/replayOut\";\nimport { EndpointTransformation } from \"./endpointTransformation\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface EndpointListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface EndpointCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointReplayMissingOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointBulkReplayOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointGetStatsOptions {\n /** Filter the range to data starting from this date. */\n since?: Date | null;\n /** Filter the range to data ending by this date. */\n until?: Date | null;\n}\n\nexport interface EndpointRecoverOptions {\n idempotencyKey?: string;\n}\n\nexport interface EndpointSendExampleOptions {\n idempotencyKey?: string;\n}\n\nexport class Endpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get transformation() {\n return new EndpointTransformation(this.requestCtx);\n }\n\n /** List the application's endpoints. */\n public async list(\n appId: string,\n options?: EndpointListOptions\n ): Promise<ListResponseEndpointOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseEndpointOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Create a new endpoint for the application.\n *\n * When `secret` is `null` the secret is automatically generated (recommended).\n */\n public async create(\n appId: string,\n endpointIn: EndpointIn,\n options?: EndpointCreateOptions\n ): Promise<EndpointOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint\");\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EndpointInSerializer._toJsonObject(endpointIn));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /** Get an endpoint. */\n public async get(appId: string, endpointId: string): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /** Create or update an endpoint. */\n public async upsert(\n appId: string,\n endpointId: string,\n endpointUpsertIn: EndpointUpsertIn\n ): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(EndpointUpsertInSerializer._toJsonObject(endpointUpsertIn));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /** Delete an endpoint. */\n public async delete(appId: string, endpointId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update an endpoint. */\n public async patch(\n appId: string,\n endpointId: string,\n endpointPatch: EndpointPatch\n ): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(EndpointPatchSerializer._toJsonObject(endpointPatch));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n\n /**\n * Get the endpoint's signing secret.\n *\n * This is used to verify the authenticity of the webhook.\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(appId: string, endpointId: string): Promise<EndpointSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n EndpointSecretOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Rotates the endpoint's signing secret.\n *\n * The previous secret will remain valid for the specified grace period (default 24 hours).\n */\n public async rotateSecret(\n appId: string,\n endpointId: string,\n endpointSecretRotateIn: EndpointSecretRotateIn = {},\n options?: EndpointRotateSecretOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n EndpointSecretRotateInSerializer._toJsonObject(endpointSecretRotateIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Get the additional headers to be sent with the webhook. */\n public async getHeaders(\n appId: string,\n endpointId: string\n ): Promise<EndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n EndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /** Set the additional headers to be sent with the webhook. */\n public async setHeaders(\n appId: string,\n endpointId: string,\n endpointHeadersIn: EndpointHeadersIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(EndpointHeadersInSerializer._toJsonObject(endpointHeadersIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially set the additional headers to be sent with the webhook. */\n public async patchHeaders(\n appId: string,\n endpointId: string,\n endpointHeadersPatchIn: EndpointHeadersPatchIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointHeadersPatchInSerializer._toJsonObject(endpointHeadersPatchIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Replays messages to the endpoint.\n *\n * Only messages that were created after `since` will be sent.\n * Messages that were previously sent to the endpoint are not resent.\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"endpoint.replay\",\n * \"data\": {\n * \"messagesSent\": 2\n * }\n * }\n * ```\n */\n public async replayMissing(\n appId: string,\n endpointId: string,\n replayIn: ReplayIn,\n options?: EndpointReplayMissingOptions\n ): Promise<ReplayOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/replay-missing\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(ReplayInSerializer._toJsonObject(replayIn));\n\n return await request.send(this.requestCtx, ReplayOutSerializer._fromJsonObject);\n }\n\n /**\n * Bulk replay messages sent to the endpoint.\n *\n * Only messages that were created after `since` will be sent.\n * This will replay both successful, and failed messages\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"endpoint.bulk-replay\",\n * \"data\": {\n * \"messagesSent\": 2\n * }\n * }\n * ```\n */\n public async bulkReplay(\n appId: string,\n endpointId: string,\n bulkReplayIn: BulkReplayIn,\n options?: EndpointBulkReplayOptions\n ): Promise<ReplayOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/bulk-replay\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(BulkReplayInSerializer._toJsonObject(bulkReplayIn));\n\n return await request.send(this.requestCtx, ReplayOutSerializer._fromJsonObject);\n }\n\n /** Get basic statistics for the endpoint. */\n public async getStats(\n appId: string,\n endpointId: string,\n options?: EndpointGetStatsOptions\n ): Promise<EndpointStats> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/stats\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n since: options?.since,\n until: options?.until,\n });\n\n return await request.send(this.requestCtx, EndpointStatsSerializer._fromJsonObject);\n }\n\n /**\n * Resend all failed messages since a given time.\n *\n * Messages that were sent successfully, even if failed initially, are not resent.\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"endpoint.recover\",\n * \"data\": {\n * \"messagesSent\": 2\n * }\n * }\n * ```\n */\n public async recover(\n appId: string,\n endpointId: string,\n recoverIn: RecoverIn,\n options?: EndpointRecoverOptions\n ): Promise<RecoverOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/recover\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(RecoverInSerializer._toJsonObject(recoverIn));\n\n return await request.send(this.requestCtx, RecoverOutSerializer._fromJsonObject);\n }\n\n /** Send an example message for an event. */\n public async sendExample(\n appId: string,\n endpointId: string,\n eventExampleIn: EventExampleIn,\n options?: EndpointSendExampleOptions\n ): Promise<MessageOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EventExampleInSerializer._toJsonObject(eventExampleIn));\n\n return await request.send(this.requestCtx, MessageOutSerializer._fromJsonObject);\n }\n\n /**\n * This operation was renamed to `set-transformation`.\n *\n * @deprecated\n */\n public async transformationPartialUpdate(\n appId: string,\n endpointId: string,\n endpointTransformationIn: EndpointTransformationIn = {}\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointTransformationInSerializer._toJsonObject(endpointTransformationIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface EventTypeIn {\n /** The event type's name */\n name: string;\n description: string;\n archived?: boolean;\n deprecated?: boolean;\n /** The schema for the event type for a specific version as a JSON schema. */\n schemas?: any | null;\n /** The event type group's name */\n groupName?: string | null;\n featureFlags?: string[] | null;\n}\n\nexport const EventTypeInSerializer = {\n _fromJsonObject(object: any): EventTypeIn {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n groupName: object[\"groupName\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: EventTypeIn): any {\n return {\n name: self.name,\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n groupName: self.groupName,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorIn, ConnectorInSerializer } from \"./connectorIn\";\nimport { type EventTypeIn, EventTypeInSerializer } from \"./eventTypeIn\";\n\nexport interface EnvironmentIn {\n eventTypes?: EventTypeIn[] | null;\n settings?: any | null;\n connectors?: ConnectorIn[] | null;\n}\n\nexport const EnvironmentInSerializer = {\n _fromJsonObject(object: any): EnvironmentIn {\n return {\n eventTypes: object[\"eventTypes\"]?.map((item: EventTypeIn) =>\n EventTypeInSerializer._fromJsonObject(item)\n ),\n settings: object[\"settings\"],\n connectors: object[\"connectors\"]?.map((item: ConnectorIn) =>\n ConnectorInSerializer._fromJsonObject(item)\n ),\n };\n },\n\n _toJsonObject(self: EnvironmentIn): any {\n return {\n eventTypes: self.eventTypes?.map((item) =>\n EventTypeInSerializer._toJsonObject(item)\n ),\n settings: self.settings,\n connectors: self.connectors?.map((item) =>\n ConnectorInSerializer._toJsonObject(item)\n ),\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypeOut {\n /** The event type's name */\n name: string;\n description: string;\n archived?: boolean;\n deprecated: boolean;\n /** The schema for the event type for a specific version as a JSON schema. */\n schemas?: any | null;\n createdAt: Date;\n updatedAt: Date;\n /** The event type group's name */\n groupName?: string | null;\n featureFlags?: string[] | null;\n featureFlag?: string | null;\n}\n\nexport const EventTypeOutSerializer = {\n _fromJsonObject(object: any): EventTypeOut {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n groupName: object[\"groupName\"],\n featureFlags: object[\"featureFlags\"],\n featureFlag: object[\"featureFlag\"],\n };\n },\n\n _toJsonObject(self: EventTypeOut): any {\n return {\n name: self.name,\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n groupName: self.groupName,\n featureFlags: self.featureFlags,\n featureFlag: self.featureFlag,\n };\n },\n};\n","// this file is @generated\nimport { type ConnectorOut, ConnectorOutSerializer } from \"./connectorOut\";\nimport { type EventTypeOut, EventTypeOutSerializer } from \"./eventTypeOut\";\n\nexport interface EnvironmentOut {\n version?: number;\n createdAt: Date;\n eventTypes: EventTypeOut[];\n settings: any | null;\n connectors: ConnectorOut[];\n}\n\nexport const EnvironmentOutSerializer = {\n _fromJsonObject(object: any): EnvironmentOut {\n return {\n version: object[\"version\"],\n createdAt: new Date(object[\"createdAt\"]),\n eventTypes: object[\"eventTypes\"].map((item: EventTypeOut) =>\n EventTypeOutSerializer._fromJsonObject(item)\n ),\n settings: object[\"settings\"],\n connectors: object[\"connectors\"].map((item: ConnectorOut) =>\n ConnectorOutSerializer._fromJsonObject(item)\n ),\n };\n },\n\n _toJsonObject(self: EnvironmentOut): any {\n return {\n version: self.version,\n createdAt: self.createdAt,\n eventTypes: self.eventTypes.map((item) =>\n EventTypeOutSerializer._toJsonObject(item)\n ),\n settings: self.settings,\n connectors: self.connectors.map((item) =>\n ConnectorOutSerializer._toJsonObject(item)\n ),\n };\n },\n};\n","// this file is @generated\n\nimport { type EnvironmentIn, EnvironmentInSerializer } from \"../models/environmentIn\";\nimport { type EnvironmentOut, EnvironmentOutSerializer } from \"../models/environmentOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface EnvironmentExportOptions {\n idempotencyKey?: string;\n}\n\nexport interface EnvironmentImportOptions {\n idempotencyKey?: string;\n}\n\nexport class Environment {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * Download a JSON file containing all org-settings and event types.\n *\n * Note that the schema for [`EnvironmentOut`] is subject to change. The fields\n * herein are provided for convenience but should be treated as JSON blobs.\n */\n public async export(options?: EnvironmentExportOptions): Promise<EnvironmentOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/environment/export\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(this.requestCtx, EnvironmentOutSerializer._fromJsonObject);\n }\n\n /**\n * Import a configuration into the active organization.\n *\n * It doesn't delete anything, only adds / updates what was passed to it.\n *\n * Note that the schema for [`EnvironmentIn`] is subject to change. The fields\n * herein are provided for convenience but should be treated as JSON blobs.\n */\n public async import(\n environmentIn: EnvironmentIn = {},\n options?: EnvironmentImportOptions\n ): Promise<void> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/environment/import\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EnvironmentInSerializer._toJsonObject(environmentIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\n/**\n * Import a list of event types from webhooks defined in an OpenAPI spec.\n *\n * The OpenAPI spec can be specified as either `spec` given the spec as a JSON object, or as `specRaw` (a `string`) which will be parsed as YAML or JSON by the server. Sending neither or both is invalid, resulting in a `400` **Bad Request**.\n */\nexport interface EventTypeImportOpenApiIn {\n /** If `true`, return the event types that would be modified without actually modifying them. */\n dryRun?: boolean;\n /** If `true`, all existing event types that are not in the spec will be archived. */\n replaceAll?: boolean;\n /** A pre-parsed JSON spec. */\n spec?: any | null;\n /** A string, parsed by the server as YAML or JSON. */\n specRaw?: string | null;\n}\n\nexport const EventTypeImportOpenApiInSerializer = {\n _fromJsonObject(object: any): EventTypeImportOpenApiIn {\n return {\n dryRun: object[\"dryRun\"],\n replaceAll: object[\"replaceAll\"],\n spec: object[\"spec\"],\n specRaw: object[\"specRaw\"],\n };\n },\n\n _toJsonObject(self: EventTypeImportOpenApiIn): any {\n return {\n dryRun: self.dryRun,\n replaceAll: self.replaceAll,\n spec: self.spec,\n specRaw: self.specRaw,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypeFromOpenApi {\n /** The event type's name */\n name: string;\n description: string;\n schemas?: any | null;\n deprecated: boolean;\n /** The event type group's name */\n groupName?: string | null;\n featureFlags?: string[] | null;\n}\n\nexport const EventTypeFromOpenApiSerializer = {\n _fromJsonObject(object: any): EventTypeFromOpenApi {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n schemas: object[\"schemas\"],\n deprecated: object[\"deprecated\"],\n groupName: object[\"groupName\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: EventTypeFromOpenApi): any {\n return {\n name: self.name,\n description: self.description,\n schemas: self.schemas,\n deprecated: self.deprecated,\n groupName: self.groupName,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport {\n type EventTypeFromOpenApi,\n EventTypeFromOpenApiSerializer,\n} from \"./eventTypeFromOpenApi\";\n\nexport interface EventTypeImportOpenApiOutData {\n modified: string[];\n toModify?: EventTypeFromOpenApi[] | null;\n}\n\nexport const EventTypeImportOpenApiOutDataSerializer = {\n _fromJsonObject(object: any): EventTypeImportOpenApiOutData {\n return {\n modified: object[\"modified\"],\n toModify: object[\"to_modify\"]?.map((item: EventTypeFromOpenApi) =>\n EventTypeFromOpenApiSerializer._fromJsonObject(item)\n ),\n };\n },\n\n _toJsonObject(self: EventTypeImportOpenApiOutData): any {\n return {\n modified: self.modified,\n to_modify: self.toModify?.map((item) =>\n EventTypeFromOpenApiSerializer._toJsonObject(item)\n ),\n };\n },\n};\n","// this file is @generated\nimport {\n type EventTypeImportOpenApiOutData,\n EventTypeImportOpenApiOutDataSerializer,\n} from \"./eventTypeImportOpenApiOutData\";\n\nexport interface EventTypeImportOpenApiOut {\n data: EventTypeImportOpenApiOutData;\n}\n\nexport const EventTypeImportOpenApiOutSerializer = {\n _fromJsonObject(object: any): EventTypeImportOpenApiOut {\n return {\n data: EventTypeImportOpenApiOutDataSerializer._fromJsonObject(object[\"data\"]),\n };\n },\n\n _toJsonObject(self: EventTypeImportOpenApiOut): any {\n return {\n data: EventTypeImportOpenApiOutDataSerializer._toJsonObject(self.data),\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypePatch {\n description?: string;\n archived?: boolean;\n deprecated?: boolean;\n schemas?: any | null;\n featureFlags?: string[] | null;\n /** The event type group's name */\n groupName?: string | null;\n}\n\nexport const EventTypePatchSerializer = {\n _fromJsonObject(object: any): EventTypePatch {\n return {\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n };\n },\n\n _toJsonObject(self: EventTypePatch): any {\n return {\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventTypeUpsertIn {\n description: string;\n archived?: boolean;\n deprecated?: boolean;\n /** The schema for the event type for a specific version as a JSON schema. */\n schemas?: any | null;\n featureFlags?: string[] | null;\n /** The event type group's name */\n groupName?: string | null;\n}\n\nexport const EventTypeUpsertInSerializer = {\n _fromJsonObject(object: any): EventTypeUpsertIn {\n return {\n description: object[\"description\"],\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n schemas: object[\"schemas\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n };\n },\n\n _toJsonObject(self: EventTypeUpsertIn): any {\n return {\n description: self.description,\n archived: self.archived,\n deprecated: self.deprecated,\n schemas: self.schemas,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n };\n },\n};\n","// this file is @generated\nimport { type EventTypeOut, EventTypeOutSerializer } from \"./eventTypeOut\";\n\nexport interface ListResponseEventTypeOut {\n data: EventTypeOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseEventTypeOutSerializer = {\n _fromJsonObject(object: any): ListResponseEventTypeOut {\n return {\n data: object[\"data\"].map((item: EventTypeOut) =>\n EventTypeOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseEventTypeOut): any {\n return {\n data: self.data.map((item) => EventTypeOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type EventTypeImportOpenApiIn,\n EventTypeImportOpenApiInSerializer,\n} from \"../models/eventTypeImportOpenApiIn\";\nimport {\n type EventTypeImportOpenApiOut,\n EventTypeImportOpenApiOutSerializer,\n} from \"../models/eventTypeImportOpenApiOut\";\nimport { type EventTypeIn, EventTypeInSerializer } from \"../models/eventTypeIn\";\nimport { type EventTypeOut, EventTypeOutSerializer } from \"../models/eventTypeOut\";\nimport { type EventTypePatch, EventTypePatchSerializer } from \"../models/eventTypePatch\";\nimport {\n type EventTypeUpsertIn,\n EventTypeUpsertInSerializer,\n} from \"../models/eventTypeUpsertIn\";\nimport {\n type ListResponseEventTypeOut,\n ListResponseEventTypeOutSerializer,\n} from \"../models/listResponseEventTypeOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface EventTypeListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n /** When `true` archived (deleted but not expunged) items are included in the response. */\n includeArchived?: boolean;\n /** When `true` the full item (including the schema) is included in the response. */\n withContent?: boolean;\n}\n\nexport interface EventTypeCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface EventTypeImportOpenapiOptions {\n idempotencyKey?: string;\n}\n\nexport interface EventTypeDeleteOptions {\n /** By default event types are archived when \"deleted\". Passing this to `true` deletes them entirely. */\n expunge?: boolean;\n}\n\nexport class EventType {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Return the list of event types. */\n public async list(options?: EventTypeListOptions): Promise<ListResponseEventTypeOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/event-type\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n include_archived: options?.includeArchived,\n with_content: options?.withContent ?? false,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Create new or unarchive existing event type.\n *\n * Unarchiving an event type will allow endpoints to filter on it and messages to be sent with it.\n * Endpoints filtering on the event type before archival will continue to filter on it.\n * This operation does not preserve the description and schemas.\n */\n public async create(\n eventTypeIn: EventTypeIn,\n options?: EventTypeCreateOptions\n ): Promise<EventTypeOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/event-type\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(EventTypeInSerializer._toJsonObject(eventTypeIn));\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n\n /**\n * Given an OpenAPI spec, create new or update existing event types.\n *\n * If an existing `archived` event type is updated, it will be unarchived.\n * The importer will convert all webhooks found in the either the `webhooks` or `x-webhooks`\n * top-level.\n */\n public async importOpenapi(\n eventTypeImportOpenApiIn: EventTypeImportOpenApiIn = {},\n options?: EventTypeImportOpenapiOptions\n ): Promise<EventTypeImportOpenApiOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/event-type/import/openapi\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n EventTypeImportOpenApiInSerializer._toJsonObject(eventTypeImportOpenApiIn)\n );\n\n return await request.send(\n this.requestCtx,\n EventTypeImportOpenApiOutSerializer._fromJsonObject\n );\n }\n\n /** Get an event type. */\n public async get(eventTypeName: string): Promise<EventTypeOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n\n /** Create or update an event type. */\n public async upsert(\n eventTypeName: string,\n eventTypeUpsertIn: EventTypeUpsertIn\n ): Promise<EventTypeOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setBody(EventTypeUpsertInSerializer._toJsonObject(eventTypeUpsertIn));\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n\n /**\n * Archive an event type.\n *\n * Endpoints already configured to filter on an event type will continue to do so after archival.\n * However, new messages can not be sent with it and endpoints can not filter on it.\n * An event type can be unarchived with the\n * [create operation](#operation/create_event_type_api_v1_event_type__post).\n */\n public async delete(\n eventTypeName: string,\n options?: EventTypeDeleteOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setQueryParams({\n expunge: options?.expunge,\n });\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update an event type. */\n public async patch(\n eventTypeName: string,\n eventTypePatch: EventTypePatch\n ): Promise<EventTypeOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/event-type/{event_type_name}\"\n );\n\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setBody(EventTypePatchSerializer._toJsonObject(eventTypePatch));\n\n return await request.send(this.requestCtx, EventTypeOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class Health {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Verify the API server is up and running. */\n public async get(): Promise<void> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/health\");\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface IngestSourceConsumerPortalAccessIn {\n /**\n * How long the token will be valid for, in seconds.\n *\n * Valid values are between 1 hour and 7 days. The default is 7 days.\n */\n expiry?: number | null;\n /** Whether the app portal should be in read-only mode. */\n readOnly?: boolean | null;\n}\n\nexport const IngestSourceConsumerPortalAccessInSerializer = {\n _fromJsonObject(object: any): IngestSourceConsumerPortalAccessIn {\n return {\n expiry: object[\"expiry\"],\n readOnly: object[\"readOnly\"],\n };\n },\n\n _toJsonObject(self: IngestSourceConsumerPortalAccessIn): any {\n return {\n expiry: self.expiry,\n readOnly: self.readOnly,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type AppPortalAccessOut,\n AppPortalAccessOutSerializer,\n} from \"../models/appPortalAccessOut\";\nimport {\n type IngestSourceConsumerPortalAccessIn,\n IngestSourceConsumerPortalAccessInSerializer,\n} from \"../models/ingestSourceConsumerPortalAccessIn\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IngestAuthenticationConsumerPortalAccessOptions {\n idempotencyKey?: string;\n}\n\nexport class IngestAuthentication {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get access to the Ingest Source Consumer Portal. */\n public async consumerPortalAccess(\n sourceId: string,\n ingestSourceConsumerPortalAccessIn: IngestSourceConsumerPortalAccessIn = {},\n options?: IngestAuthenticationConsumerPortalAccessOptions\n ): Promise<AppPortalAccessOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/dashboard\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n IngestSourceConsumerPortalAccessInSerializer._toJsonObject(\n ingestSourceConsumerPortalAccessIn\n )\n );\n\n return await request.send(\n this.requestCtx,\n AppPortalAccessOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface IngestEndpointHeadersIn {\n headers: { [key: string]: string };\n}\n\nexport const IngestEndpointHeadersInSerializer = {\n _fromJsonObject(object: any): IngestEndpointHeadersIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointHeadersIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointHeadersOut {\n headers: { [key: string]: string };\n sensitive: string[];\n}\n\nexport const IngestEndpointHeadersOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointHeadersOut {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointHeadersOut): any {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n metadata?: { [key: string]: string };\n headers?: { [key: string]: string } | null;\n}\n\nexport const IngestEndpointInSerializer = {\n _fromJsonObject(object: any): IngestEndpointIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n secret: object[\"secret\"],\n metadata: object[\"metadata\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n secret: self.secret,\n metadata: self.metadata,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointOut {\n /** The Endpoint's ID. */\n id: string;\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const IngestEndpointOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointOut {\n return {\n id: object[\"id\"],\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointOut): any {\n return {\n id: self.id,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointSecretIn {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n /**\n * How long the old secret will be valid for, in seconds.\n *\n * Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.\n */\n gracePeriodSeconds?: number | null;\n}\n\nexport const IngestEndpointSecretInSerializer = {\n _fromJsonObject(object: any): IngestEndpointSecretIn {\n return {\n key: object[\"key\"],\n gracePeriodSeconds: object[\"gracePeriodSeconds\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointSecretIn): any {\n return {\n key: self.key,\n gracePeriodSeconds: self.gracePeriodSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key: string;\n}\n\nexport const IngestEndpointSecretOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointUpsertIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n metadata?: { [key: string]: string };\n}\n\nexport const IngestEndpointUpsertInSerializer = {\n _fromJsonObject(object: any): IngestEndpointUpsertIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointUpsertIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type IngestEndpointOut, IngestEndpointOutSerializer } from \"./ingestEndpointOut\";\n\nexport interface ListResponseIngestEndpointOut {\n data: IngestEndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseIngestEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseIngestEndpointOut {\n return {\n data: object[\"data\"].map((item: IngestEndpointOut) =>\n IngestEndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseIngestEndpointOut): any {\n return {\n data: self.data.map((item) => IngestEndpointOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointTransformationOut {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n}\n\nexport const IngestEndpointTransformationOutSerializer = {\n _fromJsonObject(object: any): IngestEndpointTransformationOut {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointTransformationOut): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n };\n },\n};\n","// this file is @generated\n\nexport interface IngestEndpointTransformationPatch {\n code?: string | null;\n enabled?: boolean;\n variables?: { [key: string]: string } | null;\n}\n\nexport const IngestEndpointTransformationPatchSerializer = {\n _fromJsonObject(object: any): IngestEndpointTransformationPatch {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n variables: object[\"variables\"],\n };\n },\n\n _toJsonObject(self: IngestEndpointTransformationPatch): any {\n return {\n code: self.code,\n enabled: self.enabled,\n variables: self.variables,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type IngestEndpointTransformationOut,\n IngestEndpointTransformationOutSerializer,\n} from \"../models/ingestEndpointTransformationOut\";\nimport {\n type IngestEndpointTransformationPatch,\n IngestEndpointTransformationPatchSerializer,\n} from \"../models/ingestEndpointTransformationPatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class IngestEndpointTransformation {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get the transformation code associated with this ingest endpoint. */\n public async get(\n sourceId: string,\n endpointId: string\n ): Promise<IngestEndpointTransformationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointTransformationOutSerializer._fromJsonObject\n );\n }\n\n /** Set or unset the transformation code associated with this ingest endpoint. */\n public async patch(\n sourceId: string,\n endpointId: string,\n ingestEndpointTransformationPatch: IngestEndpointTransformationPatch\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n IngestEndpointTransformationPatchSerializer._toJsonObject(\n ingestEndpointTransformationPatch\n )\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nimport {\n type IngestEndpointHeadersIn,\n IngestEndpointHeadersInSerializer,\n} from \"../models/ingestEndpointHeadersIn\";\nimport {\n type IngestEndpointHeadersOut,\n IngestEndpointHeadersOutSerializer,\n} from \"../models/ingestEndpointHeadersOut\";\nimport {\n type IngestEndpointIn,\n IngestEndpointInSerializer,\n} from \"../models/ingestEndpointIn\";\nimport {\n type IngestEndpointOut,\n IngestEndpointOutSerializer,\n} from \"../models/ingestEndpointOut\";\nimport {\n type IngestEndpointSecretIn,\n IngestEndpointSecretInSerializer,\n} from \"../models/ingestEndpointSecretIn\";\nimport {\n type IngestEndpointSecretOut,\n IngestEndpointSecretOutSerializer,\n} from \"../models/ingestEndpointSecretOut\";\nimport {\n type IngestEndpointUpsertIn,\n IngestEndpointUpsertInSerializer,\n} from \"../models/ingestEndpointUpsertIn\";\nimport {\n type ListResponseIngestEndpointOut,\n ListResponseIngestEndpointOutSerializer,\n} from \"../models/listResponseIngestEndpointOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { IngestEndpointTransformation } from \"./ingestEndpointTransformation\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IngestEndpointListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface IngestEndpointCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface IngestEndpointRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport class IngestEndpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get transformation() {\n return new IngestEndpointTransformation(this.requestCtx);\n }\n\n /** List ingest endpoints. */\n public async list(\n sourceId: string,\n options?: IngestEndpointListOptions\n ): Promise<ListResponseIngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseIngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create an ingest endpoint. */\n public async create(\n sourceId: string,\n ingestEndpointIn: IngestEndpointIn,\n options?: IngestEndpointCreateOptions\n ): Promise<IngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/endpoint\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(IngestEndpointInSerializer._toJsonObject(ingestEndpointIn));\n\n return await request.send(\n this.requestCtx,\n IngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Get an ingest endpoint. */\n public async get(sourceId: string, endpointId: string): Promise<IngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create or update an ingest endpoint. */\n public async upsert(\n sourceId: string,\n endpointId: string,\n ingestEndpointUpsertIn: IngestEndpointUpsertIn\n ): Promise<IngestEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n IngestEndpointUpsertInSerializer._toJsonObject(ingestEndpointUpsertIn)\n );\n\n return await request.send(\n this.requestCtx,\n IngestEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Delete an ingest endpoint. */\n public async delete(sourceId: string, endpointId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Get an ingest endpoint's signing secret.\n *\n * This is used to verify the authenticity of the webhook.\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(\n sourceId: string,\n endpointId: string\n ): Promise<IngestEndpointSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointSecretOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Rotates an ingest endpoint's signing secret.\n *\n * The previous secret will remain valid for the specified grace period (default 24 hours).\n */\n public async rotateSecret(\n sourceId: string,\n endpointId: string,\n ingestEndpointSecretIn: IngestEndpointSecretIn = {},\n options?: IngestEndpointRotateSecretOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret/rotate\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n IngestEndpointSecretInSerializer._toJsonObject(ingestEndpointSecretIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Get the additional headers to be sent with the ingest. */\n public async getHeaders(\n sourceId: string,\n endpointId: string\n ): Promise<IngestEndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n IngestEndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /** Set the additional headers to be sent to the endpoint. */\n public async setHeaders(\n sourceId: string,\n endpointId: string,\n ingestEndpointHeadersIn: IngestEndpointHeadersIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n IngestEndpointHeadersInSerializer._toJsonObject(ingestEndpointHeadersIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface AdobeSignConfig {\n clientId: string;\n}\n\nexport const AdobeSignConfigSerializer = {\n _fromJsonObject(object: any): AdobeSignConfig {\n return {\n clientId: object[\"clientId\"],\n };\n },\n\n _toJsonObject(self: AdobeSignConfig): any {\n return {\n clientId: self.clientId,\n };\n },\n};\n","// this file is @generated\n\nexport interface AirwallexConfig {\n secret: string;\n}\n\nexport const AirwallexConfigSerializer = {\n _fromJsonObject(object: any): AirwallexConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: AirwallexConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface CheckbookConfig {\n secret: string;\n}\n\nexport const CheckbookConfigSerializer = {\n _fromJsonObject(object: any): CheckbookConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: CheckbookConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface CronConfig {\n schedule: string;\n payload: string;\n /**\n * Override the default content-type.\n *\n * Recommended if the payload is not JSON.\n */\n contentType?: string | null;\n}\n\nexport const CronConfigSerializer = {\n _fromJsonObject(object: any): CronConfig {\n return {\n schedule: object[\"schedule\"],\n payload: object[\"payload\"],\n contentType: object[\"contentType\"],\n };\n },\n\n _toJsonObject(self: CronConfig): any {\n return {\n schedule: self.schedule,\n payload: self.payload,\n contentType: self.contentType,\n };\n },\n};\n","// this file is @generated\n\nexport interface DocusignConfig {\n secret?: string | null;\n}\n\nexport const DocusignConfigSerializer = {\n _fromJsonObject(object: any): DocusignConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: DocusignConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface EasypostConfig {\n secret?: string | null;\n}\n\nexport const EasypostConfigSerializer = {\n _fromJsonObject(object: any): EasypostConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: EasypostConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface GithubConfig {\n secret?: string | null;\n}\n\nexport const GithubConfigSerializer = {\n _fromJsonObject(object: any): GithubConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: GithubConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface HubspotConfig {\n secret?: string | null;\n}\n\nexport const HubspotConfigSerializer = {\n _fromJsonObject(object: any): HubspotConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: HubspotConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface MetaConfig {\n secret: string;\n verifyToken: string;\n}\n\nexport const MetaConfigSerializer = {\n _fromJsonObject(object: any): MetaConfig {\n return {\n secret: object[\"secret\"],\n verifyToken: object[\"verifyToken\"],\n };\n },\n\n _toJsonObject(self: MetaConfig): any {\n return {\n secret: self.secret,\n verifyToken: self.verifyToken,\n };\n },\n};\n","// this file is @generated\n\nexport interface NangoConfig {\n secret: string;\n}\n\nexport const NangoConfigSerializer = {\n _fromJsonObject(object: any): NangoConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: NangoConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface OpenClawConfig {\n secret: string;\n}\n\nexport const OpenClawConfigSerializer = {\n _fromJsonObject(object: any): OpenClawConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: OpenClawConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface OrumIoConfig {\n publicKey: string;\n}\n\nexport const OrumIoConfigSerializer = {\n _fromJsonObject(object: any): OrumIoConfig {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: OrumIoConfig): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface PandaDocConfig {\n secret: string;\n}\n\nexport const PandaDocConfigSerializer = {\n _fromJsonObject(object: any): PandaDocConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: PandaDocConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface PortIoConfig {\n secret: string;\n}\n\nexport const PortIoConfigSerializer = {\n _fromJsonObject(object: any): PortIoConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: PortIoConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface RutterConfig {\n secret: string;\n}\n\nexport const RutterConfigSerializer = {\n _fromJsonObject(object: any): RutterConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: RutterConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface SegmentConfig {\n secret?: string | null;\n}\n\nexport const SegmentConfigSerializer = {\n _fromJsonObject(object: any): SegmentConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: SegmentConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface ShopifyConfig {\n secret: string;\n}\n\nexport const ShopifyConfigSerializer = {\n _fromJsonObject(object: any): ShopifyConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: ShopifyConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface SlackConfig {\n secret: string;\n}\n\nexport const SlackConfigSerializer = {\n _fromJsonObject(object: any): SlackConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: SlackConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface StripeConfig {\n secret: string;\n}\n\nexport const StripeConfigSerializer = {\n _fromJsonObject(object: any): StripeConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: StripeConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface SvixConfig {\n secret: string;\n}\n\nexport const SvixConfigSerializer = {\n _fromJsonObject(object: any): SvixConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: SvixConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface TailscaleConfig {\n /** Shared secret for Tailscale Webhooks */\n secret: string;\n /**\n * Grace period (in seconds) for the timestamp.\n *\n * If not passed, timestamp age will not be checked.\n */\n timestampGraceSeconds?: number | null;\n}\n\nexport const TailscaleConfigSerializer = {\n _fromJsonObject(object: any): TailscaleConfig {\n return {\n secret: object[\"secret\"],\n timestampGraceSeconds: object[\"timestampGraceSeconds\"],\n };\n },\n\n _toJsonObject(self: TailscaleConfig): any {\n return {\n secret: self.secret,\n timestampGraceSeconds: self.timestampGraceSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface TelnyxConfig {\n publicKey: string;\n}\n\nexport const TelnyxConfigSerializer = {\n _fromJsonObject(object: any): TelnyxConfig {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: TelnyxConfig): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface VapiConfig {\n secret: string;\n}\n\nexport const VapiConfigSerializer = {\n _fromJsonObject(object: any): VapiConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: VapiConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface VeriffConfig {\n secret: string;\n}\n\nexport const VeriffConfigSerializer = {\n _fromJsonObject(object: any): VeriffConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: VeriffConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface VgsConfig {\n secret: string;\n}\n\nexport const VgsConfigSerializer = {\n _fromJsonObject(object: any): VgsConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: VgsConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\n\nexport interface ZoomConfig {\n secret: string;\n}\n\nexport const ZoomConfigSerializer = {\n _fromJsonObject(object: any): ZoomConfig {\n return {\n secret: object[\"secret\"],\n };\n },\n\n _toJsonObject(self: ZoomConfig): any {\n return {\n secret: self.secret,\n };\n },\n};\n","// this file is @generated\nimport { type AdobeSignConfig, AdobeSignConfigSerializer } from \"./adobeSignConfig\";\nimport { type AirwallexConfig, AirwallexConfigSerializer } from \"./airwallexConfig\";\nimport { type CheckbookConfig, CheckbookConfigSerializer } from \"./checkbookConfig\";\nimport { type CronConfig, CronConfigSerializer } from \"./cronConfig\";\nimport { type DocusignConfig, DocusignConfigSerializer } from \"./docusignConfig\";\nimport { type EasypostConfig, EasypostConfigSerializer } from \"./easypostConfig\";\nimport { type GithubConfig, GithubConfigSerializer } from \"./githubConfig\";\nimport { type HubspotConfig, HubspotConfigSerializer } from \"./hubspotConfig\";\nimport { type MetaConfig, MetaConfigSerializer } from \"./metaConfig\";\nimport { type NangoConfig, NangoConfigSerializer } from \"./nangoConfig\";\nimport { type OpenClawConfig, OpenClawConfigSerializer } from \"./openClawConfig\";\nimport { type OrumIoConfig, OrumIoConfigSerializer } from \"./orumIoConfig\";\nimport { type PandaDocConfig, PandaDocConfigSerializer } from \"./pandaDocConfig\";\nimport { type PortIoConfig, PortIoConfigSerializer } from \"./portIoConfig\";\nimport { type RutterConfig, RutterConfigSerializer } from \"./rutterConfig\";\nimport { type SegmentConfig, SegmentConfigSerializer } from \"./segmentConfig\";\nimport { type ShopifyConfig, ShopifyConfigSerializer } from \"./shopifyConfig\";\nimport { type SlackConfig, SlackConfigSerializer } from \"./slackConfig\";\nimport { type StripeConfig, StripeConfigSerializer } from \"./stripeConfig\";\nimport { type SvixConfig, SvixConfigSerializer } from \"./svixConfig\";\nimport { type TailscaleConfig, TailscaleConfigSerializer } from \"./tailscaleConfig\";\nimport { type TelnyxConfig, TelnyxConfigSerializer } from \"./telnyxConfig\";\nimport { type VapiConfig, VapiConfigSerializer } from \"./vapiConfig\";\nimport { type VeriffConfig, VeriffConfigSerializer } from \"./veriffConfig\";\nimport { type VgsConfig, VgsConfigSerializer } from \"./vgsConfig\";\nimport { type ZoomConfig, ZoomConfigSerializer } from \"./zoomConfig\";\n\ninterface _IngestSourceInFields {\n name: string;\n /** The Source's UID. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface IngestSourceInGenericWebhookConfig {}\n\ninterface IngestSourceInGenericWebhook {\n type: \"generic-webhook\";\n config?: IngestSourceInGenericWebhookConfig;\n}\n\ninterface IngestSourceInCron {\n type: \"cron\";\n config: CronConfig;\n}\n\ninterface IngestSourceInAdobeSign {\n type: \"adobe-sign\";\n config: AdobeSignConfig;\n}\n\ninterface IngestSourceInBeehiiv {\n type: \"beehiiv\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInBrex {\n type: \"brex\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInCheckbook {\n type: \"checkbook\";\n config: CheckbookConfig;\n}\n\ninterface IngestSourceInClerk {\n type: \"clerk\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInDocusign {\n type: \"docusign\";\n config: DocusignConfig;\n}\n\ninterface IngestSourceInEasypost {\n type: \"easypost\";\n config: EasypostConfig;\n}\n\ninterface IngestSourceInGithub {\n type: \"github\";\n config: GithubConfig;\n}\n\ninterface IngestSourceInGuesty {\n type: \"guesty\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInHubspot {\n type: \"hubspot\";\n config: HubspotConfig;\n}\n\ninterface IngestSourceInIncidentIo {\n type: \"incident-io\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInLithic {\n type: \"lithic\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInMeta {\n type: \"meta\";\n config: MetaConfig;\n}\n\ninterface IngestSourceInNango {\n type: \"nango\";\n config: NangoConfig;\n}\n\ninterface IngestSourceInNash {\n type: \"nash\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInOpenclaw {\n type: \"openclaw\";\n config: OpenClawConfig;\n}\n\ninterface IngestSourceInOrumIo {\n type: \"orum-io\";\n config: OrumIoConfig;\n}\n\ninterface IngestSourceInPandaDoc {\n type: \"panda-doc\";\n config: PandaDocConfig;\n}\n\ninterface IngestSourceInPortIo {\n type: \"port-io\";\n config: PortIoConfig;\n}\n\ninterface IngestSourceInPleo {\n type: \"pleo\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInPsiFi {\n type: \"psi-fi\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInReplicate {\n type: \"replicate\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInResend {\n type: \"resend\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInRutter {\n type: \"rutter\";\n config: RutterConfig;\n}\n\ninterface IngestSourceInSafebase {\n type: \"safebase\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInSardine {\n type: \"sardine\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInSegment {\n type: \"segment\";\n config: SegmentConfig;\n}\n\ninterface IngestSourceInShopify {\n type: \"shopify\";\n config: ShopifyConfig;\n}\n\ninterface IngestSourceInSlack {\n type: \"slack\";\n config: SlackConfig;\n}\n\ninterface IngestSourceInStripe {\n type: \"stripe\";\n config: StripeConfig;\n}\n\ninterface IngestSourceInStych {\n type: \"stych\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInSvix {\n type: \"svix\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInZoom {\n type: \"zoom\";\n config: ZoomConfig;\n}\n\ninterface IngestSourceInTailscale {\n type: \"tailscale\";\n config: TailscaleConfig;\n}\n\ninterface IngestSourceInTelnyx {\n type: \"telnyx\";\n config: TelnyxConfig;\n}\n\ninterface IngestSourceInVapi {\n type: \"vapi\";\n config: VapiConfig;\n}\n\ninterface IngestSourceInOpenAi {\n type: \"open-ai\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInRender {\n type: \"render\";\n config: SvixConfig;\n}\n\ninterface IngestSourceInVeriff {\n type: \"veriff\";\n config: VeriffConfig;\n}\n\ninterface IngestSourceInAirwallex {\n type: \"airwallex\";\n config: AirwallexConfig;\n}\n\ninterface IngestSourceInVgs {\n type: \"vgs\";\n config: VgsConfig;\n}\n\nexport type IngestSourceIn = _IngestSourceInFields &\n (\n | IngestSourceInGenericWebhook\n | IngestSourceInCron\n | IngestSourceInAdobeSign\n | IngestSourceInBeehiiv\n | IngestSourceInBrex\n | IngestSourceInCheckbook\n | IngestSourceInClerk\n | IngestSourceInDocusign\n | IngestSourceInEasypost\n | IngestSourceInGithub\n | IngestSourceInGuesty\n | IngestSourceInHubspot\n | IngestSourceInIncidentIo\n | IngestSourceInLithic\n | IngestSourceInMeta\n | IngestSourceInNango\n | IngestSourceInNash\n | IngestSourceInOpenclaw\n | IngestSourceInOrumIo\n | IngestSourceInPandaDoc\n | IngestSourceInPortIo\n | IngestSourceInPleo\n | IngestSourceInPsiFi\n | IngestSourceInReplicate\n | IngestSourceInResend\n | IngestSourceInRutter\n | IngestSourceInSafebase\n | IngestSourceInSardine\n | IngestSourceInSegment\n | IngestSourceInShopify\n | IngestSourceInSlack\n | IngestSourceInStripe\n | IngestSourceInStych\n | IngestSourceInSvix\n | IngestSourceInZoom\n | IngestSourceInTailscale\n | IngestSourceInTelnyx\n | IngestSourceInVapi\n | IngestSourceInOpenAi\n | IngestSourceInRender\n | IngestSourceInVeriff\n | IngestSourceInAirwallex\n | IngestSourceInVgs\n );\n\nexport const IngestSourceInSerializer = {\n _fromJsonObject(object: any): IngestSourceIn {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"generic-webhook\":\n return {};\n case \"cron\":\n return CronConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"adobe-sign\":\n return AdobeSignConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"beehiiv\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"brex\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"checkbook\":\n return CheckbookConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"clerk\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"docusign\":\n return DocusignConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"easypost\":\n return EasypostConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"github\":\n return GithubConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"guesty\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"hubspot\":\n return HubspotConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"incident-io\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"lithic\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"meta\":\n return MetaConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"nango\":\n return NangoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"nash\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"openclaw\":\n return OpenClawConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"orum-io\":\n return OrumIoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"panda-doc\":\n return PandaDocConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"port-io\":\n return PortIoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"pleo\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"psi-fi\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"replicate\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"resend\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"rutter\":\n return RutterConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"safebase\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"sardine\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"segment\":\n return SegmentConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"shopify\":\n return ShopifyConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"slack\":\n return SlackConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"stripe\":\n return StripeConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"stych\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"svix\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"zoom\":\n return ZoomConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"tailscale\":\n return TailscaleConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"telnyx\":\n return TelnyxConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"vapi\":\n return VapiConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"open-ai\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"render\":\n return SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"veriff\":\n return VeriffConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"airwallex\":\n return AirwallexConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"vgs\":\n return VgsConfigSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n name: object[\"name\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestSourceIn): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"generic-webhook\":\n config = {};\n break;\n case \"cron\":\n config = CronConfigSerializer._toJsonObject(self.config);\n break;\n case \"adobe-sign\":\n config = AdobeSignConfigSerializer._toJsonObject(self.config);\n break;\n case \"beehiiv\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"brex\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"checkbook\":\n config = CheckbookConfigSerializer._toJsonObject(self.config);\n break;\n case \"clerk\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"docusign\":\n config = DocusignConfigSerializer._toJsonObject(self.config);\n break;\n case \"easypost\":\n config = EasypostConfigSerializer._toJsonObject(self.config);\n break;\n case \"github\":\n config = GithubConfigSerializer._toJsonObject(self.config);\n break;\n case \"guesty\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"hubspot\":\n config = HubspotConfigSerializer._toJsonObject(self.config);\n break;\n case \"incident-io\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"lithic\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"meta\":\n config = MetaConfigSerializer._toJsonObject(self.config);\n break;\n case \"nango\":\n config = NangoConfigSerializer._toJsonObject(self.config);\n break;\n case \"nash\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"openclaw\":\n config = OpenClawConfigSerializer._toJsonObject(self.config);\n break;\n case \"orum-io\":\n config = OrumIoConfigSerializer._toJsonObject(self.config);\n break;\n case \"panda-doc\":\n config = PandaDocConfigSerializer._toJsonObject(self.config);\n break;\n case \"port-io\":\n config = PortIoConfigSerializer._toJsonObject(self.config);\n break;\n case \"pleo\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"psi-fi\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"replicate\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"resend\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"rutter\":\n config = RutterConfigSerializer._toJsonObject(self.config);\n break;\n case \"safebase\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"sardine\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"segment\":\n config = SegmentConfigSerializer._toJsonObject(self.config);\n break;\n case \"shopify\":\n config = ShopifyConfigSerializer._toJsonObject(self.config);\n break;\n case \"slack\":\n config = SlackConfigSerializer._toJsonObject(self.config);\n break;\n case \"stripe\":\n config = StripeConfigSerializer._toJsonObject(self.config);\n break;\n case \"stych\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"svix\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"zoom\":\n config = ZoomConfigSerializer._toJsonObject(self.config);\n break;\n case \"tailscale\":\n config = TailscaleConfigSerializer._toJsonObject(self.config);\n break;\n case \"telnyx\":\n config = TelnyxConfigSerializer._toJsonObject(self.config);\n break;\n case \"vapi\":\n config = VapiConfigSerializer._toJsonObject(self.config);\n break;\n case \"open-ai\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"render\":\n config = SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"veriff\":\n config = VeriffConfigSerializer._toJsonObject(self.config);\n break;\n case \"airwallex\":\n config = AirwallexConfigSerializer._toJsonObject(self.config);\n break;\n case \"vgs\":\n config = VgsConfigSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n name: self.name,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface AdobeSignConfigOut {}\n\nexport const AdobeSignConfigOutSerializer = {\n _fromJsonObject(_object: any): AdobeSignConfigOut {\n return {};\n },\n\n _toJsonObject(_self: AdobeSignConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface AirwallexConfigOut {}\n\nexport const AirwallexConfigOutSerializer = {\n _fromJsonObject(_object: any): AirwallexConfigOut {\n return {};\n },\n\n _toJsonObject(_self: AirwallexConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface CheckbookConfigOut {}\n\nexport const CheckbookConfigOutSerializer = {\n _fromJsonObject(_object: any): CheckbookConfigOut {\n return {};\n },\n\n _toJsonObject(_self: CheckbookConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface DocusignConfigOut {}\n\nexport const DocusignConfigOutSerializer = {\n _fromJsonObject(_object: any): DocusignConfigOut {\n return {};\n },\n\n _toJsonObject(_self: DocusignConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface EasypostConfigOut {}\n\nexport const EasypostConfigOutSerializer = {\n _fromJsonObject(_object: any): EasypostConfigOut {\n return {};\n },\n\n _toJsonObject(_self: EasypostConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface GithubConfigOut {}\n\nexport const GithubConfigOutSerializer = {\n _fromJsonObject(_object: any): GithubConfigOut {\n return {};\n },\n\n _toJsonObject(_self: GithubConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface HubspotConfigOut {}\n\nexport const HubspotConfigOutSerializer = {\n _fromJsonObject(_object: any): HubspotConfigOut {\n return {};\n },\n\n _toJsonObject(_self: HubspotConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface MetaConfigOut {}\n\nexport const MetaConfigOutSerializer = {\n _fromJsonObject(_object: any): MetaConfigOut {\n return {};\n },\n\n _toJsonObject(_self: MetaConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface NangoConfigOut {}\n\nexport const NangoConfigOutSerializer = {\n _fromJsonObject(_object: any): NangoConfigOut {\n return {};\n },\n\n _toJsonObject(_self: NangoConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface OpenClawConfigOut {}\n\nexport const OpenClawConfigOutSerializer = {\n _fromJsonObject(_object: any): OpenClawConfigOut {\n return {};\n },\n\n _toJsonObject(_self: OpenClawConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport interface OrumIoConfigOut {\n publicKey: string;\n}\n\nexport const OrumIoConfigOutSerializer = {\n _fromJsonObject(object: any): OrumIoConfigOut {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: OrumIoConfigOut): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface PandaDocConfigOut {}\n\nexport const PandaDocConfigOutSerializer = {\n _fromJsonObject(_object: any): PandaDocConfigOut {\n return {};\n },\n\n _toJsonObject(_self: PandaDocConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface PortIoConfigOut {}\n\nexport const PortIoConfigOutSerializer = {\n _fromJsonObject(_object: any): PortIoConfigOut {\n return {};\n },\n\n _toJsonObject(_self: PortIoConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface RutterConfigOut {}\n\nexport const RutterConfigOutSerializer = {\n _fromJsonObject(_object: any): RutterConfigOut {\n return {};\n },\n\n _toJsonObject(_self: RutterConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface SegmentConfigOut {}\n\nexport const SegmentConfigOutSerializer = {\n _fromJsonObject(_object: any): SegmentConfigOut {\n return {};\n },\n\n _toJsonObject(_self: SegmentConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface ShopifyConfigOut {}\n\nexport const ShopifyConfigOutSerializer = {\n _fromJsonObject(_object: any): ShopifyConfigOut {\n return {};\n },\n\n _toJsonObject(_self: ShopifyConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface SlackConfigOut {}\n\nexport const SlackConfigOutSerializer = {\n _fromJsonObject(_object: any): SlackConfigOut {\n return {};\n },\n\n _toJsonObject(_self: SlackConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface StripeConfigOut {}\n\nexport const StripeConfigOutSerializer = {\n _fromJsonObject(_object: any): StripeConfigOut {\n return {};\n },\n\n _toJsonObject(_self: StripeConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface SvixConfigOut {}\n\nexport const SvixConfigOutSerializer = {\n _fromJsonObject(_object: any): SvixConfigOut {\n return {};\n },\n\n _toJsonObject(_self: SvixConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface TailscaleConfigOut {}\n\nexport const TailscaleConfigOutSerializer = {\n _fromJsonObject(_object: any): TailscaleConfigOut {\n return {};\n },\n\n _toJsonObject(_self: TailscaleConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport interface TelnyxConfigOut {\n publicKey: string;\n}\n\nexport const TelnyxConfigOutSerializer = {\n _fromJsonObject(object: any): TelnyxConfigOut {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n\n _toJsonObject(self: TelnyxConfigOut): any {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface VapiConfigOut {}\n\nexport const VapiConfigOutSerializer = {\n _fromJsonObject(_object: any): VapiConfigOut {\n return {};\n },\n\n _toJsonObject(_self: VapiConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface VeriffConfigOut {}\n\nexport const VeriffConfigOutSerializer = {\n _fromJsonObject(_object: any): VeriffConfigOut {\n return {};\n },\n\n _toJsonObject(_self: VeriffConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface VgsConfigOut {}\n\nexport const VgsConfigOutSerializer = {\n _fromJsonObject(_object: any): VgsConfigOut {\n return {};\n },\n\n _toJsonObject(_self: VgsConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface ZoomConfigOut {}\n\nexport const ZoomConfigOutSerializer = {\n _fromJsonObject(_object: any): ZoomConfigOut {\n return {};\n },\n\n _toJsonObject(_self: ZoomConfigOut): any {\n return {};\n },\n};\n","// this file is @generated\nimport {\n type AdobeSignConfigOut,\n AdobeSignConfigOutSerializer,\n} from \"./adobeSignConfigOut\";\nimport {\n type AirwallexConfigOut,\n AirwallexConfigOutSerializer,\n} from \"./airwallexConfigOut\";\nimport {\n type CheckbookConfigOut,\n CheckbookConfigOutSerializer,\n} from \"./checkbookConfigOut\";\nimport { type CronConfig, CronConfigSerializer } from \"./cronConfig\";\nimport { type DocusignConfigOut, DocusignConfigOutSerializer } from \"./docusignConfigOut\";\nimport { type EasypostConfigOut, EasypostConfigOutSerializer } from \"./easypostConfigOut\";\nimport { type GithubConfigOut, GithubConfigOutSerializer } from \"./githubConfigOut\";\nimport { type HubspotConfigOut, HubspotConfigOutSerializer } from \"./hubspotConfigOut\";\nimport { type MetaConfigOut, MetaConfigOutSerializer } from \"./metaConfigOut\";\nimport { type NangoConfigOut, NangoConfigOutSerializer } from \"./nangoConfigOut\";\nimport { type OpenClawConfigOut, OpenClawConfigOutSerializer } from \"./openClawConfigOut\";\nimport { type OrumIoConfigOut, OrumIoConfigOutSerializer } from \"./orumIoConfigOut\";\nimport { type PandaDocConfigOut, PandaDocConfigOutSerializer } from \"./pandaDocConfigOut\";\nimport { type PortIoConfigOut, PortIoConfigOutSerializer } from \"./portIoConfigOut\";\nimport { type RutterConfigOut, RutterConfigOutSerializer } from \"./rutterConfigOut\";\nimport { type SegmentConfigOut, SegmentConfigOutSerializer } from \"./segmentConfigOut\";\nimport { type ShopifyConfigOut, ShopifyConfigOutSerializer } from \"./shopifyConfigOut\";\nimport { type SlackConfigOut, SlackConfigOutSerializer } from \"./slackConfigOut\";\nimport { type StripeConfigOut, StripeConfigOutSerializer } from \"./stripeConfigOut\";\nimport { type SvixConfigOut, SvixConfigOutSerializer } from \"./svixConfigOut\";\nimport {\n type TailscaleConfigOut,\n TailscaleConfigOutSerializer,\n} from \"./tailscaleConfigOut\";\nimport { type TelnyxConfigOut, TelnyxConfigOutSerializer } from \"./telnyxConfigOut\";\nimport { type VapiConfigOut, VapiConfigOutSerializer } from \"./vapiConfigOut\";\nimport { type VeriffConfigOut, VeriffConfigOutSerializer } from \"./veriffConfigOut\";\nimport { type VgsConfigOut, VgsConfigOutSerializer } from \"./vgsConfigOut\";\nimport { type ZoomConfigOut, ZoomConfigOutSerializer } from \"./zoomConfigOut\";\n\ninterface _IngestSourceOutFields {\n /** The Source's ID. */\n id: string;\n /** The Source's UID. */\n uid?: string | null;\n name: string;\n ingestUrl?: string | null;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface IngestSourceOutGenericWebhookConfig {}\n\ninterface IngestSourceOutGenericWebhook {\n type: \"generic-webhook\";\n config?: IngestSourceOutGenericWebhookConfig;\n}\n\ninterface IngestSourceOutCron {\n type: \"cron\";\n config: CronConfig;\n}\n\ninterface IngestSourceOutAdobeSign {\n type: \"adobe-sign\";\n config: AdobeSignConfigOut;\n}\n\ninterface IngestSourceOutBeehiiv {\n type: \"beehiiv\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutBrex {\n type: \"brex\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutCheckbook {\n type: \"checkbook\";\n config: CheckbookConfigOut;\n}\n\ninterface IngestSourceOutClerk {\n type: \"clerk\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutDocusign {\n type: \"docusign\";\n config: DocusignConfigOut;\n}\n\ninterface IngestSourceOutEasypost {\n type: \"easypost\";\n config: EasypostConfigOut;\n}\n\ninterface IngestSourceOutGithub {\n type: \"github\";\n config: GithubConfigOut;\n}\n\ninterface IngestSourceOutGuesty {\n type: \"guesty\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutHubspot {\n type: \"hubspot\";\n config: HubspotConfigOut;\n}\n\ninterface IngestSourceOutIncidentIo {\n type: \"incident-io\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutLithic {\n type: \"lithic\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutMeta {\n type: \"meta\";\n config: MetaConfigOut;\n}\n\ninterface IngestSourceOutNango {\n type: \"nango\";\n config: NangoConfigOut;\n}\n\ninterface IngestSourceOutNash {\n type: \"nash\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutOpenclaw {\n type: \"openclaw\";\n config: OpenClawConfigOut;\n}\n\ninterface IngestSourceOutOrumIo {\n type: \"orum-io\";\n config: OrumIoConfigOut;\n}\n\ninterface IngestSourceOutPandaDoc {\n type: \"panda-doc\";\n config: PandaDocConfigOut;\n}\n\ninterface IngestSourceOutPortIo {\n type: \"port-io\";\n config: PortIoConfigOut;\n}\n\ninterface IngestSourceOutPsiFi {\n type: \"psi-fi\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutPleo {\n type: \"pleo\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutReplicate {\n type: \"replicate\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutResend {\n type: \"resend\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutRutter {\n type: \"rutter\";\n config: RutterConfigOut;\n}\n\ninterface IngestSourceOutSafebase {\n type: \"safebase\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutSardine {\n type: \"sardine\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutSegment {\n type: \"segment\";\n config: SegmentConfigOut;\n}\n\ninterface IngestSourceOutShopify {\n type: \"shopify\";\n config: ShopifyConfigOut;\n}\n\ninterface IngestSourceOutSlack {\n type: \"slack\";\n config: SlackConfigOut;\n}\n\ninterface IngestSourceOutStripe {\n type: \"stripe\";\n config: StripeConfigOut;\n}\n\ninterface IngestSourceOutStych {\n type: \"stych\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutSvix {\n type: \"svix\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutZoom {\n type: \"zoom\";\n config: ZoomConfigOut;\n}\n\ninterface IngestSourceOutTailscale {\n type: \"tailscale\";\n config: TailscaleConfigOut;\n}\n\ninterface IngestSourceOutTelnyx {\n type: \"telnyx\";\n config: TelnyxConfigOut;\n}\n\ninterface IngestSourceOutVapi {\n type: \"vapi\";\n config: VapiConfigOut;\n}\n\ninterface IngestSourceOutOpenAi {\n type: \"open-ai\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutRender {\n type: \"render\";\n config: SvixConfigOut;\n}\n\ninterface IngestSourceOutVeriff {\n type: \"veriff\";\n config: VeriffConfigOut;\n}\n\ninterface IngestSourceOutAirwallex {\n type: \"airwallex\";\n config: AirwallexConfigOut;\n}\n\ninterface IngestSourceOutVgs {\n type: \"vgs\";\n config: VgsConfigOut;\n}\n\nexport type IngestSourceOut = _IngestSourceOutFields &\n (\n | IngestSourceOutGenericWebhook\n | IngestSourceOutCron\n | IngestSourceOutAdobeSign\n | IngestSourceOutBeehiiv\n | IngestSourceOutBrex\n | IngestSourceOutCheckbook\n | IngestSourceOutClerk\n | IngestSourceOutDocusign\n | IngestSourceOutEasypost\n | IngestSourceOutGithub\n | IngestSourceOutGuesty\n | IngestSourceOutHubspot\n | IngestSourceOutIncidentIo\n | IngestSourceOutLithic\n | IngestSourceOutMeta\n | IngestSourceOutNango\n | IngestSourceOutNash\n | IngestSourceOutOpenclaw\n | IngestSourceOutOrumIo\n | IngestSourceOutPandaDoc\n | IngestSourceOutPortIo\n | IngestSourceOutPsiFi\n | IngestSourceOutPleo\n | IngestSourceOutReplicate\n | IngestSourceOutResend\n | IngestSourceOutRutter\n | IngestSourceOutSafebase\n | IngestSourceOutSardine\n | IngestSourceOutSegment\n | IngestSourceOutShopify\n | IngestSourceOutSlack\n | IngestSourceOutStripe\n | IngestSourceOutStych\n | IngestSourceOutSvix\n | IngestSourceOutZoom\n | IngestSourceOutTailscale\n | IngestSourceOutTelnyx\n | IngestSourceOutVapi\n | IngestSourceOutOpenAi\n | IngestSourceOutRender\n | IngestSourceOutVeriff\n | IngestSourceOutAirwallex\n | IngestSourceOutVgs\n );\n\nexport const IngestSourceOutSerializer = {\n _fromJsonObject(object: any): IngestSourceOut {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"generic-webhook\":\n return {};\n case \"cron\":\n return CronConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"adobe-sign\":\n return AdobeSignConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"beehiiv\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"brex\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"checkbook\":\n return CheckbookConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"clerk\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"docusign\":\n return DocusignConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"easypost\":\n return EasypostConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"github\":\n return GithubConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"guesty\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"hubspot\":\n return HubspotConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"incident-io\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"lithic\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"meta\":\n return MetaConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"nango\":\n return NangoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"nash\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"openclaw\":\n return OpenClawConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"orum-io\":\n return OrumIoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"panda-doc\":\n return PandaDocConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"port-io\":\n return PortIoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"psi-fi\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"pleo\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"replicate\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"resend\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"rutter\":\n return RutterConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"safebase\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"sardine\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"segment\":\n return SegmentConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"shopify\":\n return ShopifyConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"slack\":\n return SlackConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"stripe\":\n return StripeConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"stych\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"svix\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"zoom\":\n return ZoomConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"tailscale\":\n return TailscaleConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"telnyx\":\n return TelnyxConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"vapi\":\n return VapiConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"open-ai\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"render\":\n return SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"veriff\":\n return VeriffConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"airwallex\":\n return AirwallexConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"vgs\":\n return VgsConfigOutSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n id: object[\"id\"],\n uid: object[\"uid\"],\n name: object[\"name\"],\n ingestUrl: object[\"ingestUrl\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: IngestSourceOut): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"generic-webhook\":\n config = {};\n break;\n case \"cron\":\n config = CronConfigSerializer._toJsonObject(self.config);\n break;\n case \"adobe-sign\":\n config = AdobeSignConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"beehiiv\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"brex\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"checkbook\":\n config = CheckbookConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"clerk\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"docusign\":\n config = DocusignConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"easypost\":\n config = EasypostConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"github\":\n config = GithubConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"guesty\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"hubspot\":\n config = HubspotConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"incident-io\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"lithic\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"meta\":\n config = MetaConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"nango\":\n config = NangoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"nash\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"openclaw\":\n config = OpenClawConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"orum-io\":\n config = OrumIoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"panda-doc\":\n config = PandaDocConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"port-io\":\n config = PortIoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"psi-fi\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"pleo\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"replicate\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"resend\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"rutter\":\n config = RutterConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"safebase\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"sardine\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"segment\":\n config = SegmentConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"shopify\":\n config = ShopifyConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"slack\":\n config = SlackConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"stripe\":\n config = StripeConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"stych\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"svix\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"zoom\":\n config = ZoomConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"tailscale\":\n config = TailscaleConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"telnyx\":\n config = TelnyxConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"vapi\":\n config = VapiConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"open-ai\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"render\":\n config = SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"veriff\":\n config = VeriffConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"airwallex\":\n config = AirwallexConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"vgs\":\n config = VgsConfigOutSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n id: self.id,\n uid: self.uid,\n name: self.name,\n ingestUrl: self.ingestUrl,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type IngestSourceOut, IngestSourceOutSerializer } from \"./ingestSourceOut\";\n\nexport interface ListResponseIngestSourceOut {\n data: IngestSourceOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseIngestSourceOutSerializer = {\n _fromJsonObject(object: any): ListResponseIngestSourceOut {\n return {\n data: object[\"data\"].map((item: IngestSourceOut) =>\n IngestSourceOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseIngestSourceOut): any {\n return {\n data: self.data.map((item) => IngestSourceOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface RotateTokenOut {\n ingestUrl: string;\n}\n\nexport const RotateTokenOutSerializer = {\n _fromJsonObject(object: any): RotateTokenOut {\n return {\n ingestUrl: object[\"ingestUrl\"],\n };\n },\n\n _toJsonObject(self: RotateTokenOut): any {\n return {\n ingestUrl: self.ingestUrl,\n };\n },\n};\n","// this file is @generated\n\nimport { type IngestSourceIn, IngestSourceInSerializer } from \"../models/ingestSourceIn\";\nimport {\n type IngestSourceOut,\n IngestSourceOutSerializer,\n} from \"../models/ingestSourceOut\";\nimport {\n type ListResponseIngestSourceOut,\n ListResponseIngestSourceOutSerializer,\n} from \"../models/listResponseIngestSourceOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type RotateTokenOut, RotateTokenOutSerializer } from \"../models/rotateTokenOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IngestSourceListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface IngestSourceCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface IngestSourceRotateTokenOptions {\n idempotencyKey?: string;\n}\n\nexport class IngestSource {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's Ingest Sources. */\n public async list(\n options?: IngestSourceListOptions\n ): Promise<ListResponseIngestSourceOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/ingest/api/v1/source\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseIngestSourceOutSerializer._fromJsonObject\n );\n }\n\n /** Create Ingest Source. */\n public async create(\n ingestSourceIn: IngestSourceIn,\n options?: IngestSourceCreateOptions\n ): Promise<IngestSourceOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/ingest/api/v1/source\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(IngestSourceInSerializer._toJsonObject(ingestSourceIn));\n\n return await request.send(this.requestCtx, IngestSourceOutSerializer._fromJsonObject);\n }\n\n /** Get an Ingest Source by id or uid. */\n public async get(sourceId: string): Promise<IngestSourceOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/ingest/api/v1/source/{source_id}\");\n\n request.setPathParam(\"source_id\", sourceId);\n\n return await request.send(this.requestCtx, IngestSourceOutSerializer._fromJsonObject);\n }\n\n /** Create or update an Ingest Source. */\n public async upsert(\n sourceId: string,\n ingestSourceIn: IngestSourceIn\n ): Promise<IngestSourceOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/ingest/api/v1/source/{source_id}\");\n\n request.setPathParam(\"source_id\", sourceId);\n request.setBody(IngestSourceInSerializer._toJsonObject(ingestSourceIn));\n\n return await request.send(this.requestCtx, IngestSourceOutSerializer._fromJsonObject);\n }\n\n /** Delete an Ingest Source. */\n public async delete(sourceId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/ingest/api/v1/source/{source_id}\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Rotate the Ingest Source's Url Token.\n *\n * This will rotate the ingest source's token, which is used to\n * construct the unique `ingestUrl` for the source. Previous tokens\n * will remain valid for 48 hours after rotation. The token can be\n * rotated a maximum of three times within the 48-hour period.\n */\n public async rotateToken(\n sourceId: string,\n options?: IngestSourceRotateTokenOptions\n ): Promise<RotateTokenOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/ingest/api/v1/source/{source_id}/token/rotate\"\n );\n\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(this.requestCtx, RotateTokenOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport { IngestAuthentication } from \"./ingestAuthentication\";\nimport { IngestEndpoint } from \"./ingestEndpoint\";\nimport { IngestSource } from \"./ingestSource\";\nimport type { SvixRequestContext } from \"../request\";\n\nexport class Ingest {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get authentication() {\n return new IngestAuthentication(this.requestCtx);\n }\n\n public get endpoint() {\n return new IngestEndpoint(this.requestCtx);\n }\n\n public get source() {\n return new IngestSource(this.requestCtx);\n }\n}\n","// this file is @generated\n\nexport interface IntegrationIn {\n name: string;\n /** The set of feature flags the integration will have access to. */\n featureFlags?: string[];\n}\n\nexport const IntegrationInSerializer = {\n _fromJsonObject(object: any): IntegrationIn {\n return {\n name: object[\"name\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: IntegrationIn): any {\n return {\n name: self.name,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\n\nexport interface IntegrationKeyOut {\n key: string;\n}\n\nexport const IntegrationKeyOutSerializer = {\n _fromJsonObject(object: any): IntegrationKeyOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: IntegrationKeyOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface IntegrationOut {\n name: string;\n /** The Integration's ID. */\n id: string;\n createdAt: Date;\n updatedAt: Date;\n /** The set of feature flags the integration has access to. */\n featureFlags?: string[];\n}\n\nexport const IntegrationOutSerializer = {\n _fromJsonObject(object: any): IntegrationOut {\n return {\n name: object[\"name\"],\n id: object[\"id\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: IntegrationOut): any {\n return {\n name: self.name,\n id: self.id,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\n\nexport interface IntegrationUpdate {\n name: string;\n /** The set of feature flags the integration will have access to. */\n featureFlags?: string[];\n}\n\nexport const IntegrationUpdateSerializer = {\n _fromJsonObject(object: any): IntegrationUpdate {\n return {\n name: object[\"name\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: IntegrationUpdate): any {\n return {\n name: self.name,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport { type IntegrationOut, IntegrationOutSerializer } from \"./integrationOut\";\n\nexport interface ListResponseIntegrationOut {\n data: IntegrationOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseIntegrationOutSerializer = {\n _fromJsonObject(object: any): ListResponseIntegrationOut {\n return {\n data: object[\"data\"].map((item: IntegrationOut) =>\n IntegrationOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseIntegrationOut): any {\n return {\n data: self.data.map((item) => IntegrationOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport { type IntegrationIn, IntegrationInSerializer } from \"../models/integrationIn\";\nimport {\n type IntegrationKeyOut,\n IntegrationKeyOutSerializer,\n} from \"../models/integrationKeyOut\";\nimport { type IntegrationOut, IntegrationOutSerializer } from \"../models/integrationOut\";\nimport {\n type IntegrationUpdate,\n IntegrationUpdateSerializer,\n} from \"../models/integrationUpdate\";\nimport {\n type ListResponseIntegrationOut,\n ListResponseIntegrationOutSerializer,\n} from \"../models/listResponseIntegrationOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface IntegrationListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface IntegrationCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface IntegrationRotateKeyOptions {\n idempotencyKey?: string;\n}\n\nexport class Integration {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List the application's integrations. */\n public async list(\n appId: string,\n options?: IntegrationListOptions\n ): Promise<ListResponseIntegrationOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/integration\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseIntegrationOutSerializer._fromJsonObject\n );\n }\n\n /** Create an integration. */\n public async create(\n appId: string,\n integrationIn: IntegrationIn,\n options?: IntegrationCreateOptions\n ): Promise<IntegrationOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app/{app_id}/integration\");\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(IntegrationInSerializer._toJsonObject(integrationIn));\n\n return await request.send(this.requestCtx, IntegrationOutSerializer._fromJsonObject);\n }\n\n /** Get an integration. */\n public async get(appId: string, integId: string): Promise<IntegrationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/integration/{integ_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n\n return await request.send(this.requestCtx, IntegrationOutSerializer._fromJsonObject);\n }\n\n /** Update an integration. */\n public async update(\n appId: string,\n integId: string,\n integrationUpdate: IntegrationUpdate\n ): Promise<IntegrationOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/integration/{integ_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n request.setBody(IntegrationUpdateSerializer._toJsonObject(integrationUpdate));\n\n return await request.send(this.requestCtx, IntegrationOutSerializer._fromJsonObject);\n }\n\n /** Delete an integration. */\n public async delete(appId: string, integId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/integration/{integ_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Rotate the integration's key. The previous key will be immediately revoked. */\n public async rotateKey(\n appId: string,\n integId: string,\n options?: IntegrationRotateKeyOptions\n ): Promise<IntegrationKeyOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/integration/{integ_id}/key/rotate\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(\n this.requestCtx,\n IntegrationKeyOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface BulkExpungeContentsIn {\n /** Message ID or UID to delete */\n ids?: string[];\n}\n\nexport const BulkExpungeContentsInSerializer = {\n _fromJsonObject(object: any): BulkExpungeContentsIn {\n return {\n ids: object[\"ids\"],\n };\n },\n\n _toJsonObject(self: BulkExpungeContentsIn): any {\n return {\n ids: self.ids,\n };\n },\n};\n","// this file is @generated\n\nexport enum BulkExpungeStatus {\n Expunged = \"expunged\",\n NotFound = \"not-found\",\n}\n\nexport const BulkExpungeStatusSerializer = {\n _fromJsonObject(object: any): BulkExpungeStatus {\n return object;\n },\n\n _toJsonObject(self: BulkExpungeStatus): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type BulkExpungeStatus, BulkExpungeStatusSerializer } from \"./bulkExpungeStatus\";\n\nexport interface BulkExpungeContentsOut {\n /** Results of expunging (by ID) */\n results: { [key: string]: BulkExpungeStatus };\n}\n\nexport const BulkExpungeContentsOutSerializer = {\n _fromJsonObject(object: any): BulkExpungeContentsOut {\n return {\n results: Object.fromEntries(\n Object.entries<BulkExpungeStatus>(object[\"results\"]).map(\n (item: [string, BulkExpungeStatus]) => [\n item[0],\n BulkExpungeStatusSerializer._fromJsonObject(item[1]),\n ]\n )\n ),\n };\n },\n\n _toJsonObject(self: BulkExpungeContentsOut): any {\n return {\n results: Object.fromEntries(\n Object.entries(self.results).map((item) => [\n item[0],\n BulkExpungeStatusSerializer._toJsonObject(item[1]),\n ])\n ),\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface ExpungeAllContentsOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const ExpungeAllContentsOutSerializer = {\n _fromJsonObject(object: any): ExpungeAllContentsOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: ExpungeAllContentsOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\nimport { type MessageOut, MessageOutSerializer } from \"./messageOut\";\n\nexport interface ListResponseMessageOut {\n data: MessageOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseMessageOutSerializer = {\n _fromJsonObject(object: any): ListResponseMessageOut {\n return {\n data: object[\"data\"].map((item: MessageOut) =>\n MessageOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseMessageOut): any {\n return {\n data: self.data.map((item) => MessageOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface MessagePrecheckIn {\n /** The event type's name */\n eventType: string;\n channels?: string[] | null;\n}\n\nexport const MessagePrecheckInSerializer = {\n _fromJsonObject(object: any): MessagePrecheckIn {\n return {\n eventType: object[\"eventType\"],\n channels: object[\"channels\"],\n };\n },\n\n _toJsonObject(self: MessagePrecheckIn): any {\n return {\n eventType: self.eventType,\n channels: self.channels,\n };\n },\n};\n","// this file is @generated\n\nexport interface MessagePrecheckOut {\n /** Whether there are any active endpoint that would get sent such a message. */\n active: boolean;\n}\n\nexport const MessagePrecheckOutSerializer = {\n _fromJsonObject(object: any): MessagePrecheckOut {\n return {\n active: object[\"active\"],\n };\n },\n\n _toJsonObject(self: MessagePrecheckOut): any {\n return {\n active: self.active,\n };\n },\n};\n","// this file is @generated\n\nexport interface PollingEndpointConsumerSeekIn {\n after: Date;\n}\n\nexport const PollingEndpointConsumerSeekInSerializer = {\n _fromJsonObject(object: any): PollingEndpointConsumerSeekIn {\n return {\n after: new Date(object[\"after\"]),\n };\n },\n\n _toJsonObject(self: PollingEndpointConsumerSeekIn): any {\n return {\n after: self.after,\n };\n },\n};\n","// this file is @generated\n\nexport interface PollingEndpointConsumerSeekOut {\n iterator: string;\n}\n\nexport const PollingEndpointConsumerSeekOutSerializer = {\n _fromJsonObject(object: any): PollingEndpointConsumerSeekOut {\n return {\n iterator: object[\"iterator\"],\n };\n },\n\n _toJsonObject(self: PollingEndpointConsumerSeekOut): any {\n return {\n iterator: self.iterator,\n };\n },\n};\n","// this file is @generated\n\n/** The MessageOut equivalent of polling endpoint */\nexport interface PollingEndpointMessageOut {\n headers?: { [key: string]: string } | null;\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const PollingEndpointMessageOutSerializer = {\n _fromJsonObject(object: any): PollingEndpointMessageOut {\n return {\n headers: object[\"headers\"],\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: PollingEndpointMessageOut): any {\n return {\n headers: self.headers,\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type PollingEndpointMessageOut,\n PollingEndpointMessageOutSerializer,\n} from \"./pollingEndpointMessageOut\";\n\nexport interface PollingEndpointOut {\n data: PollingEndpointMessageOut[];\n iterator: string;\n done: boolean;\n}\n\nexport const PollingEndpointOutSerializer = {\n _fromJsonObject(object: any): PollingEndpointOut {\n return {\n data: object[\"data\"].map((item: PollingEndpointMessageOut) =>\n PollingEndpointMessageOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: PollingEndpointOut): any {\n return {\n data: self.data.map((item) =>\n PollingEndpointMessageOutSerializer._toJsonObject(item)\n ),\n iterator: self.iterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type PollingEndpointConsumerSeekIn,\n PollingEndpointConsumerSeekInSerializer,\n} from \"../models/pollingEndpointConsumerSeekIn\";\nimport {\n type PollingEndpointConsumerSeekOut,\n PollingEndpointConsumerSeekOutSerializer,\n} from \"../models/pollingEndpointConsumerSeekOut\";\nimport {\n type PollingEndpointOut,\n PollingEndpointOutSerializer,\n} from \"../models/pollingEndpointOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface MessagePollerPollOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filters messages sent with this event type (optional). */\n eventType?: string;\n /** Filters messages sent with this channel (optional). */\n channel?: string;\n after?: Date | null;\n}\n\nexport interface MessagePollerConsumerSeekOptions {\n idempotencyKey?: string;\n}\n\nexport interface MessagePollerConsumerPollOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n}\n\nexport class MessagePoller {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Reads the stream of created messages for an application, filtered on the Sink's event types and Channels. */\n public async poll(\n appId: string,\n sinkId: string,\n options?: MessagePollerPollOptions\n ): Promise<PollingEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/poller/{sink_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n event_type: options?.eventType,\n channel: options?.channel,\n after: options?.after,\n });\n\n return await request.send(\n this.requestCtx,\n PollingEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Sets the starting offset for the consumer of a polling endpoint. */\n public async consumerSeek(\n appId: string,\n sinkId: string,\n consumerId: string,\n pollingEndpointConsumerSeekIn: PollingEndpointConsumerSeekIn,\n options?: MessagePollerConsumerSeekOptions\n ): Promise<PollingEndpointConsumerSeekOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}/seek\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n PollingEndpointConsumerSeekInSerializer._toJsonObject(pollingEndpointConsumerSeekIn)\n );\n\n return await request.send(\n this.requestCtx,\n PollingEndpointConsumerSeekOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Reads the stream of created messages for an application, filtered on the Sink's event types and\n * Channels, using server-managed iterator tracking.\n */\n public async consumerPoll(\n appId: string,\n sinkId: string,\n consumerId: string,\n options?: MessagePollerConsumerPollOptions\n ): Promise<PollingEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n });\n\n return await request.send(\n this.requestCtx,\n PollingEndpointOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\nimport { type ApplicationIn, ApplicationInSerializer } from \"./applicationIn\";\n\nexport interface MessageIn {\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n /**\n * JSON payload to send as the request body of the webhook.\n *\n * We also support sending non-JSON payloads. Please contact us for more information.\n */\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /**\n * Optionally creates a new application alongside the message.\n *\n * If the application id or uid that is used in the path already exists, this argument is ignored.\n */\n application?: ApplicationIn | null;\n /** List of free-form tags that can be filtered by when listing messages */\n tags?: string[] | null;\n /** Extra parameters to pass to Transformations (for future use) */\n transformationsParams?: any | null;\n /**\n * The date and time at which the message will be delivered.\n *\n * Note that this time is best-effort-only. Must be at least one minute and no more than 24 hours in the future.\n */\n deliverAt?: Date | null;\n /** Optional number of days to retain the message payload. Defaults to 90. Note that this is mutually exclusive with `payloadRetentionHours`. */\n payloadRetentionPeriod?: number | null;\n /** Optional number of hours to retain the message payload. Note that this is mutually exclusive with `payloadRetentionPeriod`. */\n payloadRetentionHours?: number | null;\n}\n\nexport const MessageInSerializer = {\n _fromJsonObject(object: any): MessageIn {\n return {\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n application:\n object[\"application\"] != null\n ? ApplicationInSerializer._fromJsonObject(object[\"application\"])\n : undefined,\n tags: object[\"tags\"],\n transformationsParams: object[\"transformationsParams\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n payloadRetentionPeriod: object[\"payloadRetentionPeriod\"],\n payloadRetentionHours: object[\"payloadRetentionHours\"],\n };\n },\n\n _toJsonObject(self: MessageIn): any {\n return {\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n application:\n self.application != null\n ? ApplicationInSerializer._toJsonObject(self.application)\n : undefined,\n tags: self.tags,\n transformationsParams: self.transformationsParams,\n deliverAt: self.deliverAt,\n payloadRetentionPeriod: self.payloadRetentionPeriod,\n payloadRetentionHours: self.payloadRetentionHours,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type BulkExpungeContentsIn,\n BulkExpungeContentsInSerializer,\n} from \"../models/bulkExpungeContentsIn\";\nimport {\n type BulkExpungeContentsOut,\n BulkExpungeContentsOutSerializer,\n} from \"../models/bulkExpungeContentsOut\";\nimport {\n type ExpungeAllContentsOut,\n ExpungeAllContentsOutSerializer,\n} from \"../models/expungeAllContentsOut\";\nimport {\n type ListResponseMessageOut,\n ListResponseMessageOutSerializer,\n} from \"../models/listResponseMessageOut\";\nimport { type MessageOut, MessageOutSerializer } from \"../models/messageOut\";\nimport {\n type MessagePrecheckIn,\n MessagePrecheckInSerializer,\n} from \"../models/messagePrecheckIn\";\nimport {\n type MessagePrecheckOut,\n MessagePrecheckOutSerializer,\n} from \"../models/messagePrecheckOut\";\nimport { MessagePoller } from \"./messagePoller\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\nimport { type MessageIn, MessageInSerializer } from \"../models/messageIn\";\n\nexport interface MessageListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the channel. */\n channel?: string;\n /** Only include items created before a certain date. */\n before?: Date | null;\n /** Only include items created after a certain date. */\n after?: Date | null;\n /**\n * When `true` message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /** Filter messages matching the provided tag. */\n tag?: string;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageCreateOptions {\n /**\n * When `true`, message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n idempotencyKey?: string;\n}\n\nexport interface MessagePrecheckOptions {\n idempotencyKey?: string;\n}\n\nexport interface MessageGetOptions {\n /**\n * When `true` message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n}\n\nexport interface MessageBulkExpungeContentOptions {\n idempotencyKey?: string;\n}\n\nexport interface MessageExpungeAllContentsOptions {\n idempotencyKey?: string;\n}\n\nexport class Message {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get poller() {\n return new MessagePoller(this.requestCtx);\n }\n\n /**\n * List all of the application's messages.\n *\n * The `before` and `after` parameters let you filter all items created before or after a certain date. These can be\n * used alongside an iterator to paginate over results within a certain window.\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async list(\n appId: string,\n options?: MessageListOptions\n ): Promise<ListResponseMessageOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/msg\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n channel: options?.channel,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n tag: options?.tag,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Creates a new message and dispatches it to all of the application's endpoints.\n *\n * The `eventId` is an optional custom unique ID. It's verified to be unique only up to a day, after that no verification will be made.\n * If a message with the same `eventId` already exists for the application, a 409 conflict error will be returned.\n *\n * The `eventType` indicates the type and schema of the event. All messages of a certain `eventType` are expected to have the same schema. Endpoints can choose to only listen to specific event types.\n * Messages can also have `channels`, which similar to event types let endpoints filter by them. Unlike event types, messages can have multiple channels, and channels don't imply a specific message content or schema.\n *\n * The `payload` property is the webhook's body (the actual webhook message). Svix supports payload sizes of up to 1MiB, though it's generally a good idea to keep webhook payloads small, probably no larger than 40kb.\n */\n public async create(\n appId: string,\n messageIn: MessageIn,\n options?: MessageCreateOptions\n ): Promise<MessageOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/app/{app_id}/msg\");\n\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n with_content: options?.withContent ?? false,\n });\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(MessageInSerializer._toJsonObject(messageIn));\n\n return await request.send(this.requestCtx, MessageOutSerializer._fromJsonObject);\n }\n\n /**\n * A pre-check call for `message.create` that checks whether any active endpoints are\n * listening to this message.\n *\n * Note: most people shouldn't be using this API. Svix doesn't bill you for\n * messages not actually sent, so using this API doesn't save money.\n * If unsure, please ask Svix support before using this API.\n */\n public async precheck(\n appId: string,\n messagePrecheckIn: MessagePrecheckIn,\n options?: MessagePrecheckOptions\n ): Promise<MessagePrecheckOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/precheck/active\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(MessagePrecheckInSerializer._toJsonObject(messagePrecheckIn));\n\n return await request.send(\n this.requestCtx,\n MessagePrecheckOutSerializer._fromJsonObject\n );\n }\n\n /** Get a message by its ID or eventID. */\n public async get(\n appId: string,\n msgId: string,\n options?: MessageGetOptions\n ): Promise<MessageOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/app/{app_id}/msg/{msg_id}\");\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n with_content: options?.withContent ?? false,\n });\n\n return await request.send(this.requestCtx, MessageOutSerializer._fromJsonObject);\n }\n\n /**\n * Delete the given message's payload.\n *\n * Useful in cases when a message was accidentally sent with sensitive content.\n * The message can't be replayed or resent once its payload has been deleted\n * (or has expired).\n */\n public async expungeContent(appId: string, msgId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/msg/{msg_id}/content\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Delete the payloads from the given messages under the current application\n *\n * Useful in cases when a message was accidentally sent with sensitive content.\n * A message can't be replayed or resent once its payload has been deleted\n * (or has expired).\n */\n public async bulkExpungeContent(\n appId: string,\n bulkExpungeContentsIn: BulkExpungeContentsIn = {},\n options?: MessageBulkExpungeContentOptions\n ): Promise<BulkExpungeContentsOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/bulk-expunge\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(BulkExpungeContentsInSerializer._toJsonObject(bulkExpungeContentsIn));\n\n return await request.send(\n this.requestCtx,\n BulkExpungeContentsOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Delete all message payloads for the application.\n *\n * This operation is only available in the <a href=\"https://svix.com/pricing\" target=\"_blank\">Enterprise</a> plan.\n *\n * A completed task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qen93MNuelBAq1T9G7eHLJRsF\",\n * \"status\": \"finished\",\n * \"task\": \"application.purge_content\",\n * \"data\": {\n * \"messagesPurged\": 150\n * }\n * }\n * ```\n */\n public async expungeAllContents(\n appId: string,\n options?: MessageExpungeAllContentsOptions\n ): Promise<ExpungeAllContentsOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/expunge-all-contents\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(\n this.requestCtx,\n ExpungeAllContentsOutSerializer._fromJsonObject\n );\n }\n}\n\n/**\n * Creates a `MessageIn` with a raw string payload.\n *\n * The payload is not normalized on the server. Normally, payloads are\n * required to be JSON, and Svix will minify the payload before sending the\n * webhooks (for example, by removing extraneous whitespace or unnecessarily\n * escaped characters in strings). With this function, the payload will be\n * sent \"as is\", without any minification or other processing.\n *\n * @param payload Serialized message payload\n * @param contentType The value to use for the Content-Type header of the webhook sent by Svix, overwriting the default of `application/json` if specified\n *\n * See the class documentation for details about the other parameters.\n */\nexport function messageInRaw(\n eventType: string,\n payload: string,\n contentType?: string\n): MessageIn {\n const headers = contentType ? { \"content-type\": contentType } : undefined;\n\n return {\n eventType,\n payload: {},\n transformationsParams: {\n rawPayload: payload,\n headers,\n },\n };\n}\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface EmptyResponse {}\n\nexport const EmptyResponseSerializer = {\n _fromJsonObject(_object: any): EmptyResponse {\n return {};\n },\n\n _toJsonObject(_self: EmptyResponse): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport enum MessageStatusText {\n Success = \"success\",\n Pending = \"pending\",\n Fail = \"fail\",\n Sending = \"sending\",\n Canceled = \"canceled\",\n}\n\nexport const MessageStatusTextSerializer = {\n _fromJsonObject(object: any): MessageStatusText {\n return object;\n },\n\n _toJsonObject(self: MessageStatusText): any {\n return self;\n },\n};\n","// this file is @generated\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type MessageStatusText, MessageStatusTextSerializer } from \"./messageStatusText\";\n\n/** A model containing information on a given message plus additional fields on the last attempt for that message. */\nexport interface EndpointMessageOut {\n status: MessageStatus;\n statusText: MessageStatusText;\n nextAttempt?: Date | null;\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const EndpointMessageOutSerializer = {\n _fromJsonObject(object: any): EndpointMessageOut {\n return {\n status: MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n nextAttempt: object[\"nextAttempt\"] ? new Date(object[\"nextAttempt\"]) : null,\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: EndpointMessageOut): any {\n return {\n status: MessageStatusSerializer._toJsonObject(self.status),\n statusText: MessageStatusTextSerializer._toJsonObject(self.statusText),\n nextAttempt: self.nextAttempt,\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type EndpointMessageOut,\n EndpointMessageOutSerializer,\n} from \"./endpointMessageOut\";\n\nexport interface ListResponseEndpointMessageOut {\n data: EndpointMessageOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseEndpointMessageOutSerializer = {\n _fromJsonObject(object: any): ListResponseEndpointMessageOut {\n return {\n data: object[\"data\"].map((item: EndpointMessageOut) =>\n EndpointMessageOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseEndpointMessageOut): any {\n return {\n data: self.data.map((item) => EndpointMessageOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n/**\n * The reason an attempt was made:\n *\n * - Scheduled = 0\n * - Manual = 1\n */\nexport enum MessageAttemptTriggerType {\n Scheduled = 0,\n Manual = 1,\n}\n\nexport const MessageAttemptTriggerTypeSerializer = {\n _fromJsonObject(object: any): MessageAttemptTriggerType {\n return object;\n },\n\n _toJsonObject(self: MessageAttemptTriggerType): any {\n return self;\n },\n};\n","// this file is @generated\nimport {\n type MessageAttemptTriggerType,\n MessageAttemptTriggerTypeSerializer,\n} from \"./messageAttemptTriggerType\";\nimport { type MessageOut, MessageOutSerializer } from \"./messageOut\";\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type MessageStatusText, MessageStatusTextSerializer } from \"./messageStatusText\";\n\nexport interface MessageAttemptOut {\n url: string;\n response: string;\n responseStatusCode: number;\n /** Response duration in milliseconds. */\n responseDurationMs: number;\n status: MessageStatus;\n statusText: MessageStatusText;\n triggerType: MessageAttemptTriggerType;\n /** The Message's ID. */\n msgId: string;\n /** The Endpoint's ID. */\n endpointId: string;\n /** The MessageAttempt's ID. */\n id: string;\n timestamp: Date;\n msg?: MessageOut | null;\n}\n\nexport const MessageAttemptOutSerializer = {\n _fromJsonObject(object: any): MessageAttemptOut {\n return {\n url: object[\"url\"],\n response: object[\"response\"],\n responseStatusCode: object[\"responseStatusCode\"],\n responseDurationMs: object[\"responseDurationMs\"],\n status: MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n triggerType: MessageAttemptTriggerTypeSerializer._fromJsonObject(\n object[\"triggerType\"]\n ),\n msgId: object[\"msgId\"],\n endpointId: object[\"endpointId\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n msg:\n object[\"msg\"] != null\n ? MessageOutSerializer._fromJsonObject(object[\"msg\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: MessageAttemptOut): any {\n return {\n url: self.url,\n response: self.response,\n responseStatusCode: self.responseStatusCode,\n responseDurationMs: self.responseDurationMs,\n status: MessageStatusSerializer._toJsonObject(self.status),\n statusText: MessageStatusTextSerializer._toJsonObject(self.statusText),\n triggerType: MessageAttemptTriggerTypeSerializer._toJsonObject(self.triggerType),\n msgId: self.msgId,\n endpointId: self.endpointId,\n id: self.id,\n timestamp: self.timestamp,\n msg: self.msg != null ? MessageOutSerializer._toJsonObject(self.msg) : undefined,\n };\n },\n};\n","// this file is @generated\nimport { type MessageAttemptOut, MessageAttemptOutSerializer } from \"./messageAttemptOut\";\n\nexport interface ListResponseMessageAttemptOut {\n data: MessageAttemptOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseMessageAttemptOutSerializer = {\n _fromJsonObject(object: any): ListResponseMessageAttemptOut {\n return {\n data: object[\"data\"].map((item: MessageAttemptOut) =>\n MessageAttemptOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseMessageAttemptOut): any {\n return {\n data: self.data.map((item) => MessageAttemptOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\nimport { type MessageStatus, MessageStatusSerializer } from \"./messageStatus\";\nimport { type MessageStatusText, MessageStatusTextSerializer } from \"./messageStatusText\";\n\nexport interface MessageEndpointOut {\n /** The Endpoint's ID. */\n id: string;\n status: MessageStatus;\n statusText: MessageStatusText;\n nextAttempt?: Date | null;\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this endpoint listens to (omit for all). */\n channels?: string[] | null;\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport const MessageEndpointOutSerializer = {\n _fromJsonObject(object: any): MessageEndpointOut {\n return {\n id: object[\"id\"],\n status: MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n nextAttempt: object[\"nextAttempt\"] ? new Date(object[\"nextAttempt\"]) : null,\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: MessageEndpointOut): any {\n return {\n id: self.id,\n status: MessageStatusSerializer._toJsonObject(self.status),\n statusText: MessageStatusTextSerializer._toJsonObject(self.statusText),\n nextAttempt: self.nextAttempt,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type MessageEndpointOut,\n MessageEndpointOutSerializer,\n} from \"./messageEndpointOut\";\n\nexport interface ListResponseMessageEndpointOut {\n data: MessageEndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseMessageEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseMessageEndpointOut {\n return {\n data: object[\"data\"].map((item: MessageEndpointOut) =>\n MessageEndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseMessageEndpointOut): any {\n return {\n data: self.data.map((item) => MessageEndpointOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport { type EmptyResponse, EmptyResponseSerializer } from \"../models/emptyResponse\";\nimport {\n type ListResponseEndpointMessageOut,\n ListResponseEndpointMessageOutSerializer,\n} from \"../models/listResponseEndpointMessageOut\";\nimport {\n type ListResponseMessageAttemptOut,\n ListResponseMessageAttemptOutSerializer,\n} from \"../models/listResponseMessageAttemptOut\";\nimport {\n type ListResponseMessageEndpointOut,\n ListResponseMessageEndpointOutSerializer,\n} from \"../models/listResponseMessageEndpointOut\";\nimport {\n type MessageAttemptOut,\n MessageAttemptOutSerializer,\n} from \"../models/messageAttemptOut\";\nimport type { MessageStatus } from \"../models/messageStatus\";\nimport type { StatusCodeClass } from \"../models/statusCodeClass\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface MessageAttemptListByEndpointOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4) */\n status?: MessageStatus;\n /** Filter response based on the HTTP status code */\n statusCodeClass?: StatusCodeClass;\n /** Filter response based on the channel */\n channel?: string;\n /** Filter response based on the tag */\n tag?: string;\n /** Only include items created before a certain date */\n before?: Date | null;\n /** Only include items created after a certain date */\n after?: Date | null;\n /**\n * When `true` attempt content is included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /**\n * When `true`, the message information is included in the response\n *\n * Note that message payloads are never included in the response, regardless of this flag.\n */\n withMsg?: boolean;\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageAttemptListByMsgOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4) */\n status?: MessageStatus;\n /** Filter response based on the HTTP status code */\n statusCodeClass?: StatusCodeClass;\n /** Filter response based on the channel */\n channel?: string;\n /** Filter response based on the tag */\n tag?: string;\n /** Filter the attempts based on the attempted endpoint */\n endpointId?: string;\n /** Only include items created before a certain date */\n before?: Date | null;\n /** Only include items created after a certain date */\n after?: Date | null;\n /**\n * When `true` attempt content is included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageAttemptListAttemptedMessagesOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** Filter response based on the channel */\n channel?: string;\n /** Filter response based on the message tags */\n tag?: string;\n /** Filter response based on the status of the attempt: Success (0), Pending (1), Failed (2), Sending (3), or Canceled (4) */\n status?: MessageStatus;\n /** Only include items created before a certain date */\n before?: Date | null;\n /** Only include items created after a certain date */\n after?: Date | null;\n /**\n * When `true` message payloads are included in the response.\n *\n * Defaults to `false` in v2+ of the Svix SDKs, `true` in v1 or when manually making a request without specifying this parameter.\n */\n withContent?: boolean;\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n /** Filter response based on the event type */\n eventTypes?: string[];\n}\n\nexport interface MessageAttemptListAttemptedDestinationsOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n}\n\nexport interface MessageAttemptGetOptions {\n /**\n * When `true`, return the Canceled (4) status in attempts.\n *\n * If `false`, canceled attempts are returned as Success (0) for backwards compatibility.\n */\n expandedStatuses?: boolean;\n}\n\nexport interface MessageAttemptResendOptions {\n idempotencyKey?: string;\n}\n\nexport class MessageAttempt {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * List attempts by endpoint id\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async listByEndpoint(\n appId: string,\n endpointId: string,\n options?: MessageAttemptListByEndpointOptions\n ): Promise<ListResponseMessageAttemptOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n status: options?.status,\n status_code_class: options?.statusCodeClass,\n channel: options?.channel,\n tag: options?.tag,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n with_msg: options?.withMsg,\n expanded_statuses: options?.expandedStatuses ?? true,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageAttemptOutSerializer._fromJsonObject\n );\n }\n\n /**\n * List attempts by message ID.\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async listByMsg(\n appId: string,\n msgId: string,\n options?: MessageAttemptListByMsgOptions\n ): Promise<ListResponseMessageAttemptOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/attempt/msg/{msg_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n status: options?.status,\n status_code_class: options?.statusCodeClass,\n channel: options?.channel,\n tag: options?.tag,\n endpoint_id: options?.endpointId,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n expanded_statuses: options?.expandedStatuses ?? true,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageAttemptOutSerializer._fromJsonObject\n );\n }\n\n /**\n * List messages for a particular endpoint.\n *\n * Additionally includes metadata about the latest message attempt.\n * The `before` parameter lets you filter all items created before a certain date and is ignored if an iterator is passed.\n *\n * Note that by default this endpoint is limited to retrieving 90 days' worth of data\n * relative to now or, if an iterator is provided, 90 days before/after the time indicated\n * by the iterator ID. If you require data beyond those time ranges, you will need to explicitly\n * set the `before` or `after` parameter as appropriate.\n */\n public async listAttemptedMessages(\n appId: string,\n endpointId: string,\n options?: MessageAttemptListAttemptedMessagesOptions\n ): Promise<ListResponseEndpointMessageOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n channel: options?.channel,\n tag: options?.tag,\n status: options?.status,\n before: options?.before,\n after: options?.after,\n with_content: options?.withContent ?? false,\n expanded_statuses: options?.expandedStatuses ?? true,\n event_types: options?.eventTypes,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseEndpointMessageOutSerializer._fromJsonObject\n );\n }\n\n /**\n * List endpoints attempted by a given message.\n *\n * Additionally includes metadata about the latest message attempt.\n * By default, endpoints are listed in ascending order by ID.\n */\n public async listAttemptedDestinations(\n appId: string,\n msgId: string,\n options?: MessageAttemptListAttemptedDestinationsOptions\n ): Promise<ListResponseMessageEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/msg/{msg_id}/endpoint\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseMessageEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** `msg_id`: Use a message id or a message `eventId` */\n public async get(\n appId: string,\n msgId: string,\n attemptId: string,\n options?: MessageAttemptGetOptions\n ): Promise<MessageAttemptOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"attempt_id\", attemptId);\n request.setQueryParams({\n expanded_statuses: options?.expandedStatuses ?? true,\n });\n\n return await request.send(\n this.requestCtx,\n MessageAttemptOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Deletes the given attempt's response body.\n *\n * Useful when an endpoint accidentally returned sensitive content.\n * The message can't be replayed or resent once its payload has been deleted or expired.\n */\n public async expungeContent(\n appId: string,\n msgId: string,\n attemptId: string\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"attempt_id\", attemptId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Resend a message to the specified endpoint. */\n public async resend(\n appId: string,\n msgId: string,\n endpointId: string,\n options?: MessageAttemptResendOptions\n ): Promise<EmptyResponse> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n\n return await request.send(this.requestCtx, EmptyResponseSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointOut {\n /** The Endpoint's ID. */\n id: string;\n url: string;\n description: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const OperationalWebhookEndpointOutSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointOut {\n return {\n id: object[\"id\"],\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointOut): any {\n return {\n id: self.id,\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport {\n type OperationalWebhookEndpointOut,\n OperationalWebhookEndpointOutSerializer,\n} from \"./operationalWebhookEndpointOut\";\n\nexport interface ListResponseOperationalWebhookEndpointOut {\n data: OperationalWebhookEndpointOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseOperationalWebhookEndpointOutSerializer = {\n _fromJsonObject(object: any): ListResponseOperationalWebhookEndpointOut {\n return {\n data: object[\"data\"].map((item: OperationalWebhookEndpointOut) =>\n OperationalWebhookEndpointOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseOperationalWebhookEndpointOut): any {\n return {\n data: self.data.map((item) =>\n OperationalWebhookEndpointOutSerializer._toJsonObject(item)\n ),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointHeadersIn {\n headers: { [key: string]: string };\n}\n\nexport const OperationalWebhookEndpointHeadersInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointHeadersIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointHeadersIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointHeadersOut {\n headers: { [key: string]: string };\n sensitive: string[];\n}\n\nexport const OperationalWebhookEndpointHeadersOutSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointHeadersOut {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointHeadersOut): any {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n metadata?: { [key: string]: string };\n headers?: { [key: string]: string } | null;\n}\n\nexport const OperationalWebhookEndpointInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n secret: object[\"secret\"],\n metadata: object[\"metadata\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n secret: self.secret,\n metadata: self.metadata,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointSecretIn {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n /**\n * How long the old secret will be valid for, in seconds.\n *\n * Valid values are between 0 (immediate expiry) and 7 days. The default is 24 hours.\n */\n gracePeriodSeconds?: number | null;\n}\n\nexport const OperationalWebhookEndpointSecretInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointSecretIn {\n return {\n key: object[\"key\"],\n gracePeriodSeconds: object[\"gracePeriodSeconds\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointSecretIn): any {\n return {\n key: self.key,\n gracePeriodSeconds: self.gracePeriodSeconds,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key: string;\n}\n\nexport const OperationalWebhookEndpointSecretOutSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface OperationalWebhookEndpointUpsertIn {\n url: string;\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the endpoint. */\n uid?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const OperationalWebhookEndpointUpsertInSerializer = {\n _fromJsonObject(object: any): OperationalWebhookEndpointUpsertIn {\n return {\n url: object[\"url\"],\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: OperationalWebhookEndpointUpsertIn): any {\n return {\n url: self.url,\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type ListResponseOperationalWebhookEndpointOut,\n ListResponseOperationalWebhookEndpointOutSerializer,\n} from \"../models/listResponseOperationalWebhookEndpointOut\";\nimport {\n type OperationalWebhookEndpointHeadersIn,\n OperationalWebhookEndpointHeadersInSerializer,\n} from \"../models/operationalWebhookEndpointHeadersIn\";\nimport {\n type OperationalWebhookEndpointHeadersOut,\n OperationalWebhookEndpointHeadersOutSerializer,\n} from \"../models/operationalWebhookEndpointHeadersOut\";\nimport {\n type OperationalWebhookEndpointIn,\n OperationalWebhookEndpointInSerializer,\n} from \"../models/operationalWebhookEndpointIn\";\nimport {\n type OperationalWebhookEndpointOut,\n OperationalWebhookEndpointOutSerializer,\n} from \"../models/operationalWebhookEndpointOut\";\nimport {\n type OperationalWebhookEndpointSecretIn,\n OperationalWebhookEndpointSecretInSerializer,\n} from \"../models/operationalWebhookEndpointSecretIn\";\nimport {\n type OperationalWebhookEndpointSecretOut,\n OperationalWebhookEndpointSecretOutSerializer,\n} from \"../models/operationalWebhookEndpointSecretOut\";\nimport {\n type OperationalWebhookEndpointUpsertIn,\n OperationalWebhookEndpointUpsertInSerializer,\n} from \"../models/operationalWebhookEndpointUpsertIn\";\nimport type { Ordering } from \"../models/ordering\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface OperationalWebhookEndpointListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface OperationalWebhookEndpointCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface OperationalWebhookEndpointRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport class OperationalWebhookEndpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List operational webhook endpoints. */\n public async list(\n options?: OperationalWebhookEndpointListOptions\n ): Promise<ListResponseOperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint\"\n );\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseOperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create an operational webhook endpoint. */\n public async create(\n operationalWebhookEndpointIn: OperationalWebhookEndpointIn,\n options?: OperationalWebhookEndpointCreateOptions\n ): Promise<OperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/operational-webhook/endpoint\"\n );\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n OperationalWebhookEndpointInSerializer._toJsonObject(operationalWebhookEndpointIn)\n );\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Get an operational webhook endpoint. */\n public async get(endpointId: string): Promise<OperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Create or update an operational webhook endpoint. */\n public async upsert(\n endpointId: string,\n operationalWebhookEndpointUpsertIn: OperationalWebhookEndpointUpsertIn\n ): Promise<OperationalWebhookEndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n OperationalWebhookEndpointUpsertInSerializer._toJsonObject(\n operationalWebhookEndpointUpsertIn\n )\n );\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointOutSerializer._fromJsonObject\n );\n }\n\n /** Delete an operational webhook endpoint. */\n public async delete(endpointId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /**\n * Get an operational webhook endpoint's signing secret.\n *\n * This is used to verify the authenticity of the webhook.\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(\n endpointId: string\n ): Promise<OperationalWebhookEndpointSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/secret\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointSecretOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Rotates an operational webhook endpoint's signing secret.\n *\n * The previous secret will remain valid for the specified grace period (default 24 hours).\n */\n public async rotateSecret(\n endpointId: string,\n operationalWebhookEndpointSecretIn: OperationalWebhookEndpointSecretIn = {},\n options?: OperationalWebhookEndpointRotateSecretOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/secret/rotate\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n OperationalWebhookEndpointSecretInSerializer._toJsonObject(\n operationalWebhookEndpointSecretIn\n )\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Get the additional headers to be sent with the operational webhook. */\n public async getHeaders(\n endpointId: string\n ): Promise<OperationalWebhookEndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n\n return await request.send(\n this.requestCtx,\n OperationalWebhookEndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /** Set the additional headers to be sent with the operational webhook. */\n public async setHeaders(\n endpointId: string,\n operationalWebhookEndpointHeadersIn: OperationalWebhookEndpointHeadersIn\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/operational-webhook/endpoint/{endpoint_id}/headers\"\n );\n\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n OperationalWebhookEndpointHeadersInSerializer._toJsonObject(\n operationalWebhookEndpointHeadersIn\n )\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","// this file is @generated\n\nimport { OperationalWebhookEndpoint } from \"./operationalWebhookEndpoint\";\nimport type { SvixRequestContext } from \"../request\";\n\nexport class OperationalWebhook {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get endpoint() {\n return new OperationalWebhookEndpoint(this.requestCtx);\n }\n}\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface AggregateEventTypesOut {\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const AggregateEventTypesOutSerializer = {\n _fromJsonObject(object: any): AggregateEventTypesOut {\n return {\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: AggregateEventTypesOut): any {\n return {\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nexport interface AppUsageStatsIn {\n since: Date;\n until: Date;\n /**\n * Specific app IDs or UIDs to aggregate stats for.\n *\n * Note that if none of the given IDs or UIDs are resolved, a 422 response will be given.\n */\n appIds?: string[] | null;\n}\n\nexport const AppUsageStatsInSerializer = {\n _fromJsonObject(object: any): AppUsageStatsIn {\n return {\n since: new Date(object[\"since\"]),\n until: new Date(object[\"until\"]),\n appIds: object[\"appIds\"],\n };\n },\n\n _toJsonObject(self: AppUsageStatsIn): any {\n return {\n since: self.since,\n until: self.until,\n appIds: self.appIds,\n };\n },\n};\n","// this file is @generated\nimport {\n type BackgroundTaskStatus,\n BackgroundTaskStatusSerializer,\n} from \"./backgroundTaskStatus\";\nimport {\n type BackgroundTaskType,\n BackgroundTaskTypeSerializer,\n} from \"./backgroundTaskType\";\n\nexport interface AppUsageStatsOut {\n /**\n * Any app IDs or UIDs received in the request that weren't found.\n *\n * Stats will be produced for all the others.\n */\n unresolvedAppIds: string[];\n /** The QueueBackgroundTask's ID. */\n id: string;\n status: BackgroundTaskStatus;\n task: BackgroundTaskType;\n updatedAt: Date;\n}\n\nexport const AppUsageStatsOutSerializer = {\n _fromJsonObject(object: any): AppUsageStatsOut {\n return {\n unresolvedAppIds: object[\"unresolvedAppIds\"],\n id: object[\"id\"],\n status: BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n\n _toJsonObject(self: AppUsageStatsOut): any {\n return {\n unresolvedAppIds: self.unresolvedAppIds,\n id: self.id,\n status: BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type AggregateEventTypesOut,\n AggregateEventTypesOutSerializer,\n} from \"../models/aggregateEventTypesOut\";\nimport {\n type AppUsageStatsIn,\n AppUsageStatsInSerializer,\n} from \"../models/appUsageStatsIn\";\nimport {\n type AppUsageStatsOut,\n AppUsageStatsOutSerializer,\n} from \"../models/appUsageStatsOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StatisticsAggregateAppStatsOptions {\n idempotencyKey?: string;\n}\n\nexport class Statistics {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * Creates a background task to calculate the listed event types for all apps in the organization.\n *\n * Note that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to\n * retrieve the results of the operation.\n *\n * The completed background task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT\",\n * \"status\": \"finished\",\n * \"task\": \"event-type.aggregate\",\n * \"data\": {\n * \"event_types\": [\n * {\n * \"appId\": \"app_33W1An2Zz5cO9SWbhHsYyDmVC6m\",\n * \"explicitlySubscribedEventTypes\": [\"user.signup\", \"user.deleted\"],\n * \"hasCatchAllEndpoint\": false\n * }\n * ]\n * }\n * }\n * ```\n */\n public async aggregateEventTypes(): Promise<AggregateEventTypesOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/stats/usage/event-types\");\n\n return await request.send(\n this.requestCtx,\n AggregateEventTypesOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Creates a background task to calculate the number of message attempts (`messageDestinations`) made for all applications in the environment.\n *\n * Note that this endpoint is asynchronous. You will need to poll the `Get Background Task` endpoint to\n * retrieve the results of the operation.\n *\n * The completed background task will return a payload like the following:\n * ```json\n * {\n * \"id\": \"qtask_33qe39Stble9Rn3ZxFrqL5ZSsjT\",\n * \"status\": \"finished\",\n * \"task\": \"application.stats\",\n * \"data\": {\n * \"appStats\": [\n * {\n * \"messageDestinations\": 2,\n * \"appId\": \"app_33W1An2Zz5cO9SWbhHsYyDmVC6m\",\n * \"appUid\": null\n * }\n * ]\n * }\n * }\n * ```\n */\n public async aggregateAppStats(\n appUsageStatsIn: AppUsageStatsIn,\n options?: StatisticsAggregateAppStatsOptions\n ): Promise<AppUsageStatsOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stats/usage/app\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(AppUsageStatsInSerializer._toJsonObject(appUsageStatsIn));\n\n return await request.send(\n this.requestCtx,\n AppUsageStatsOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface HttpSinkHeadersPatchIn {\n headers: { [key: string]: string };\n}\n\nexport const HttpSinkHeadersPatchInSerializer = {\n _fromJsonObject(object: any): HttpSinkHeadersPatchIn {\n return {\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: HttpSinkHeadersPatchIn): any {\n return {\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamEventTypeOut {\n /** The event type's name */\n name: string;\n description?: string | null;\n createdAt: Date;\n updatedAt: Date;\n deprecated: boolean;\n archived: boolean;\n featureFlags?: string[] | null;\n}\n\nexport const StreamEventTypeOutSerializer = {\n _fromJsonObject(object: any): StreamEventTypeOut {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n deprecated: object[\"deprecated\"],\n archived: object[\"archived\"],\n featureFlags: object[\"featureFlags\"],\n };\n },\n\n _toJsonObject(self: StreamEventTypeOut): any {\n return {\n name: self.name,\n description: self.description,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n deprecated: self.deprecated,\n archived: self.archived,\n featureFlags: self.featureFlags,\n };\n },\n};\n","// this file is @generated\nimport {\n type StreamEventTypeOut,\n StreamEventTypeOutSerializer,\n} from \"./streamEventTypeOut\";\n\nexport interface ListResponseStreamEventTypeOut {\n data: StreamEventTypeOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseStreamEventTypeOutSerializer = {\n _fromJsonObject(object: any): ListResponseStreamEventTypeOut {\n return {\n data: object[\"data\"].map((item: StreamEventTypeOut) =>\n StreamEventTypeOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseStreamEventTypeOut): any {\n return {\n data: self.data.map((item) => StreamEventTypeOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamEventTypeIn {\n /** The event type's name */\n name: string;\n description?: string | null;\n featureFlags?: string[] | null;\n deprecated?: boolean;\n archived?: boolean;\n}\n\nexport const StreamEventTypeInSerializer = {\n _fromJsonObject(object: any): StreamEventTypeIn {\n return {\n name: object[\"name\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n deprecated: object[\"deprecated\"],\n archived: object[\"archived\"],\n };\n },\n\n _toJsonObject(self: StreamEventTypeIn): any {\n return {\n name: self.name,\n description: self.description,\n featureFlags: self.featureFlags,\n deprecated: self.deprecated,\n archived: self.archived,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamEventTypePatch {\n description?: string | null;\n featureFlags?: string[] | null;\n deprecated?: boolean;\n archived?: boolean;\n}\n\nexport const StreamEventTypePatchSerializer = {\n _fromJsonObject(object: any): StreamEventTypePatch {\n return {\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n deprecated: object[\"deprecated\"],\n archived: object[\"archived\"],\n };\n },\n\n _toJsonObject(self: StreamEventTypePatch): any {\n return {\n description: self.description,\n featureFlags: self.featureFlags,\n deprecated: self.deprecated,\n archived: self.archived,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type ListResponseStreamEventTypeOut,\n ListResponseStreamEventTypeOutSerializer,\n} from \"../models/listResponseStreamEventTypeOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport {\n type StreamEventTypeIn,\n StreamEventTypeInSerializer,\n} from \"../models/streamEventTypeIn\";\nimport {\n type StreamEventTypeOut,\n StreamEventTypeOutSerializer,\n} from \"../models/streamEventTypeOut\";\nimport {\n type StreamEventTypePatch,\n StreamEventTypePatchSerializer,\n} from \"../models/streamEventTypePatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingEventTypeListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n /** Include archived (deleted but not expunged) items in the response. */\n includeArchived?: boolean;\n}\n\nexport interface StreamingEventTypeCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface StreamingEventTypeDeleteOptions {\n /** By default, event types are archived when \"deleted\". With this flag, they are deleted entirely. */\n expunge?: boolean;\n}\n\nexport class StreamingEventType {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's event types for streaming. */\n public async list(\n options?: StreamingEventTypeListOptions\n ): Promise<ListResponseStreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/event-type\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n include_archived: options?.includeArchived,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseStreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Create an event type for Streams. */\n public async create(\n streamEventTypeIn: StreamEventTypeIn,\n options?: StreamingEventTypeCreateOptions\n ): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream/event-type\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamEventTypeInSerializer._toJsonObject(streamEventTypeIn));\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Get an event type. */\n public async get(name: string): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/event-type/{name}\");\n\n request.setPathParam(\"name\", name);\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Create or update or create a event type for Streams. */\n public async upsert(\n name: string,\n streamEventTypeIn: StreamEventTypeIn\n ): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/stream/event-type/{name}\");\n\n request.setPathParam(\"name\", name);\n request.setBody(StreamEventTypeInSerializer._toJsonObject(streamEventTypeIn));\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n\n /** Delete an event type. */\n public async delete(\n name: string,\n options?: StreamingEventTypeDeleteOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/stream/event-type/{name}\"\n );\n\n request.setPathParam(\"name\", name);\n request.setQueryParams({\n expunge: options?.expunge,\n });\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Patch an event type for Streams. */\n public async patch(\n name: string,\n streamEventTypePatch: StreamEventTypePatch\n ): Promise<StreamEventTypeOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/stream/event-type/{name}\");\n\n request.setPathParam(\"name\", name);\n request.setBody(StreamEventTypePatchSerializer._toJsonObject(streamEventTypePatch));\n\n return await request.send(\n this.requestCtx,\n StreamEventTypeOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface EventIn {\n /** The event type's name */\n eventType: string;\n payload: string;\n}\n\nexport const EventInSerializer = {\n _fromJsonObject(object: any): EventIn {\n return {\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n };\n },\n\n _toJsonObject(self: EventIn): any {\n return {\n eventType: self.eventType,\n payload: self.payload,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamIn {\n /** The stream's name. */\n name: string;\n /** An optional unique identifier for the stream. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const StreamInSerializer = {\n _fromJsonObject(object: any): StreamIn {\n return {\n name: object[\"name\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamIn): any {\n return {\n name: self.name,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type EventIn, EventInSerializer } from \"./eventIn\";\nimport { type StreamIn, StreamInSerializer } from \"./streamIn\";\n\nexport interface CreateStreamEventsIn {\n events: EventIn[];\n /**\n * Optionally creates a new Stream alongside the events.\n *\n * If the stream id or uid that is used in the path already exists, this argument is ignored.\n */\n stream?: StreamIn | null;\n}\n\nexport const CreateStreamEventsInSerializer = {\n _fromJsonObject(object: any): CreateStreamEventsIn {\n return {\n events: object[\"events\"].map((item: EventIn) =>\n EventInSerializer._fromJsonObject(item)\n ),\n stream:\n object[\"stream\"] != null\n ? StreamInSerializer._fromJsonObject(object[\"stream\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: CreateStreamEventsIn): any {\n return {\n events: self.events.map((item) => EventInSerializer._toJsonObject(item)),\n stream:\n self.stream != null ? StreamInSerializer._toJsonObject(self.stream) : undefined,\n };\n },\n};\n","// this file is @generated\n\n// biome-ignore-all lint/suspicious/noEmptyInterface: backwards compat\n\nexport interface CreateStreamEventsOut {}\n\nexport const CreateStreamEventsOutSerializer = {\n _fromJsonObject(_object: any): CreateStreamEventsOut {\n return {};\n },\n\n _toJsonObject(_self: CreateStreamEventsOut): any {\n return {};\n },\n};\n","// this file is @generated\n\nexport interface EventOut {\n /** The event type's name */\n eventType: string;\n payload: string;\n timestamp: Date;\n}\n\nexport const EventOutSerializer = {\n _fromJsonObject(object: any): EventOut {\n return {\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n timestamp: new Date(object[\"timestamp\"]),\n };\n },\n\n _toJsonObject(self: EventOut): any {\n return {\n eventType: self.eventType,\n payload: self.payload,\n timestamp: self.timestamp,\n };\n },\n};\n","// this file is @generated\nimport { type EventOut, EventOutSerializer } from \"./eventOut\";\n\nexport interface EventStreamOut {\n data: EventOut[];\n iterator: string;\n done: boolean;\n}\n\nexport const EventStreamOutSerializer = {\n _fromJsonObject(object: any): EventStreamOut {\n return {\n data: object[\"data\"].map((item: EventOut) =>\n EventOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: EventStreamOut): any {\n return {\n data: self.data.map((item) => EventOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type CreateStreamEventsIn,\n CreateStreamEventsInSerializer,\n} from \"../models/createStreamEventsIn\";\nimport {\n type CreateStreamEventsOut,\n CreateStreamEventsOutSerializer,\n} from \"../models/createStreamEventsOut\";\nimport { type EventStreamOut, EventStreamOutSerializer } from \"../models/eventStreamOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingEventsGetOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n after?: Date | null;\n}\n\nexport interface StreamingEventsCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class StreamingEvents {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /**\n * Iterate over a stream of events.\n *\n * The sink must be of type `poller` to use the poller endpoint.\n */\n public async get(\n streamId: string,\n sinkId: string,\n options?: StreamingEventsGetOptions\n ): Promise<EventStreamOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/events\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n after: options?.after,\n });\n\n return await request.send(this.requestCtx, EventStreamOutSerializer._fromJsonObject);\n }\n\n /** Creates events on the Stream. */\n public async create(\n streamId: string,\n createStreamEventsIn: CreateStreamEventsIn,\n options?: StreamingEventsCreateOptions\n ): Promise<CreateStreamEventsOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream/{stream_id}/events\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(CreateStreamEventsInSerializer._toJsonObject(createStreamEventsIn));\n\n return await request.send(\n this.requestCtx,\n CreateStreamEventsOutSerializer._fromJsonObject\n );\n }\n}\n","// this file is @generated\n\nexport interface AzureBlobStorageConfigOut {\n container: string;\n account: string;\n}\n\nexport const AzureBlobStorageConfigOutSerializer = {\n _fromJsonObject(object: any): AzureBlobStorageConfigOut {\n return {\n container: object[\"container\"],\n account: object[\"account\"],\n };\n },\n\n _toJsonObject(self: AzureBlobStorageConfigOut): any {\n return {\n container: self.container,\n account: self.account,\n };\n },\n};\n","// this file is @generated\n\nexport interface BigQueryConfigOut {\n projectId: string;\n datasetId: string;\n tableId: string;\n}\n\nexport const BigQueryConfigOutSerializer = {\n _fromJsonObject(object: any): BigQueryConfigOut {\n return {\n projectId: object[\"projectId\"],\n datasetId: object[\"datasetId\"],\n tableId: object[\"tableId\"],\n };\n },\n\n _toJsonObject(self: BigQueryConfigOut): any {\n return {\n projectId: self.projectId,\n datasetId: self.datasetId,\n tableId: self.tableId,\n };\n },\n};\n","// this file is @generated\n\nexport interface ClickhouseConfigOut {\n url: string;\n username: string;\n database: string;\n tableName: string;\n}\n\nexport const ClickhouseConfigOutSerializer = {\n _fromJsonObject(object: any): ClickhouseConfigOut {\n return {\n url: object[\"url\"],\n username: object[\"username\"],\n database: object[\"database\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: ClickhouseConfigOut): any {\n return {\n url: self.url,\n username: self.username,\n database: self.database,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventBridgeConfigOut {\n eventBusName: string;\n detailType: string;\n accessKeyId: string;\n region: string;\n}\n\nexport const EventBridgeConfigOutSerializer = {\n _fromJsonObject(object: any): EventBridgeConfigOut {\n return {\n eventBusName: object[\"eventBusName\"],\n detailType: object[\"detailType\"],\n accessKeyId: object[\"accessKeyId\"],\n region: object[\"region\"],\n };\n },\n\n _toJsonObject(self: EventBridgeConfigOut): any {\n return {\n eventBusName: self.eventBusName,\n detailType: self.detailType,\n accessKeyId: self.accessKeyId,\n region: self.region,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudPubSubConfigOut {\n projectId: string;\n topicId: string;\n}\n\nexport const GoogleCloudPubSubConfigOutSerializer = {\n _fromJsonObject(object: any): GoogleCloudPubSubConfigOut {\n return {\n projectId: object[\"projectId\"],\n topicId: object[\"topicId\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudPubSubConfigOut): any {\n return {\n projectId: self.projectId,\n topicId: self.topicId,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudStorageConfigOut {\n bucket: string;\n}\n\nexport const GoogleCloudStorageConfigOutSerializer = {\n _fromJsonObject(object: any): GoogleCloudStorageConfigOut {\n return {\n bucket: object[\"bucket\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudStorageConfigOut): any {\n return {\n bucket: self.bucket,\n };\n },\n};\n","// this file is @generated\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"./endpointHeadersOut\";\n\nexport interface OtelTracingConfigOut {\n url: string;\n headers: EndpointHeadersOut;\n}\n\nexport const OtelTracingConfigOutSerializer = {\n _fromJsonObject(object: any): OtelTracingConfigOut {\n return {\n url: object[\"url\"],\n headers: EndpointHeadersOutSerializer._fromJsonObject(object[\"headers\"]),\n };\n },\n\n _toJsonObject(self: OtelTracingConfigOut): any {\n return {\n url: self.url,\n headers: EndpointHeadersOutSerializer._toJsonObject(self.headers),\n };\n },\n};\n","// this file is @generated\n\nexport interface PostgresConfigOut {\n url: string;\n tableName: string;\n sslRootCert?: string | null;\n}\n\nexport const PostgresConfigOutSerializer = {\n _fromJsonObject(object: any): PostgresConfigOut {\n return {\n url: object[\"url\"],\n tableName: object[\"tableName\"],\n sslRootCert: object[\"sslRootCert\"],\n };\n },\n\n _toJsonObject(self: PostgresConfigOut): any {\n return {\n url: self.url,\n tableName: self.tableName,\n sslRootCert: self.sslRootCert,\n };\n },\n};\n","// this file is @generated\n\nexport interface RabbitMqConfigOut {\n routingKey: string;\n}\n\nexport const RabbitMqConfigOutSerializer = {\n _fromJsonObject(object: any): RabbitMqConfigOut {\n return {\n routingKey: object[\"routingKey\"],\n };\n },\n\n _toJsonObject(self: RabbitMqConfigOut): any {\n return {\n routingKey: self.routingKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface RedshiftConfigOut {\n accessKeyId: string;\n region: string;\n clusterIdentifier?: string | null;\n dbUser?: string | null;\n workgroupName?: string | null;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only used if not using transformations.\n */\n schemaName?: string | null;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const RedshiftConfigOutSerializer = {\n _fromJsonObject(object: any): RedshiftConfigOut {\n return {\n accessKeyId: object[\"accessKeyId\"],\n region: object[\"region\"],\n clusterIdentifier: object[\"clusterIdentifier\"],\n dbUser: object[\"dbUser\"],\n workgroupName: object[\"workgroupName\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: RedshiftConfigOut): any {\n return {\n accessKeyId: self.accessKeyId,\n region: self.region,\n clusterIdentifier: self.clusterIdentifier,\n dbUser: self.dbUser,\n workgroupName: self.workgroupName,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface S3ConfigOut {\n bucket: string;\n accessKeyId?: string | null;\n region: string;\n endpointUrl?: string | null;\n roleArn?: string | null;\n externalId?: string | null;\n}\n\nexport const S3ConfigOutSerializer = {\n _fromJsonObject(object: any): S3ConfigOut {\n return {\n bucket: object[\"bucket\"],\n accessKeyId: object[\"accessKeyId\"],\n region: object[\"region\"],\n endpointUrl: object[\"endpointUrl\"],\n roleArn: object[\"roleArn\"],\n externalId: object[\"externalId\"],\n };\n },\n\n _toJsonObject(self: S3ConfigOut): any {\n return {\n bucket: self.bucket,\n accessKeyId: self.accessKeyId,\n region: self.region,\n endpointUrl: self.endpointUrl,\n roleArn: self.roleArn,\n externalId: self.externalId,\n };\n },\n};\n","// this file is @generated\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"./endpointHeadersOut\";\n\nexport interface SinkHttpConfigOut {\n url: string;\n headers: EndpointHeadersOut;\n}\n\nexport const SinkHttpConfigOutSerializer = {\n _fromJsonObject(object: any): SinkHttpConfigOut {\n return {\n url: object[\"url\"],\n headers: EndpointHeadersOutSerializer._fromJsonObject(object[\"headers\"]),\n };\n },\n\n _toJsonObject(self: SinkHttpConfigOut): any {\n return {\n url: self.url,\n headers: EndpointHeadersOutSerializer._toJsonObject(self.headers),\n };\n },\n};\n","// this file is @generated\n\nexport enum SinkStatus {\n Enabled = \"enabled\",\n Paused = \"paused\",\n Disabled = \"disabled\",\n Retrying = \"retrying\",\n}\n\nexport const SinkStatusSerializer = {\n _fromJsonObject(object: any): SinkStatus {\n return object;\n },\n\n _toJsonObject(self: SinkStatus): any {\n return self;\n },\n};\n","// this file is @generated\n\nexport interface SnowflakeConfigOut {\n accountIdentifier: string;\n userId: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only required if not using transformations.\n */\n schemaName?: string;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const SnowflakeConfigOutSerializer = {\n _fromJsonObject(object: any): SnowflakeConfigOut {\n return {\n accountIdentifier: object[\"accountIdentifier\"],\n userId: object[\"userId\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: SnowflakeConfigOut): any {\n return {\n accountIdentifier: self.accountIdentifier,\n userId: self.userId,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface SnsConfigOut {\n topicArn: string;\n region: string;\n accessKeyId: string;\n}\n\nexport const SnsConfigOutSerializer = {\n _fromJsonObject(object: any): SnsConfigOut {\n return {\n topicArn: object[\"topicArn\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n };\n },\n\n _toJsonObject(self: SnsConfigOut): any {\n return {\n topicArn: self.topicArn,\n region: self.region,\n accessKeyId: self.accessKeyId,\n };\n },\n};\n","// this file is @generated\n\nexport interface SqsConfigOut {\n queueUrl: string;\n region: string;\n accessKeyId: string;\n endpointUrl?: string | null;\n}\n\nexport const SqsConfigOutSerializer = {\n _fromJsonObject(object: any): SqsConfigOut {\n return {\n queueUrl: object[\"queueUrl\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SqsConfigOut): any {\n return {\n queueUrl: self.queueUrl,\n region: self.region,\n accessKeyId: self.accessKeyId,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\nimport {\n type AzureBlobStorageConfigOut,\n AzureBlobStorageConfigOutSerializer,\n} from \"./azureBlobStorageConfigOut\";\nimport { type BigQueryConfigOut, BigQueryConfigOutSerializer } from \"./bigQueryConfigOut\";\nimport {\n type ClickhouseConfigOut,\n ClickhouseConfigOutSerializer,\n} from \"./clickhouseConfigOut\";\nimport {\n type EventBridgeConfigOut,\n EventBridgeConfigOutSerializer,\n} from \"./eventBridgeConfigOut\";\nimport {\n type GoogleCloudPubSubConfigOut,\n GoogleCloudPubSubConfigOutSerializer,\n} from \"./googleCloudPubSubConfigOut\";\nimport {\n type GoogleCloudStorageConfigOut,\n GoogleCloudStorageConfigOutSerializer,\n} from \"./googleCloudStorageConfigOut\";\nimport {\n type OtelTracingConfigOut,\n OtelTracingConfigOutSerializer,\n} from \"./otelTracingConfigOut\";\nimport { type PostgresConfigOut, PostgresConfigOutSerializer } from \"./postgresConfigOut\";\nimport { type RabbitMqConfigOut, RabbitMqConfigOutSerializer } from \"./rabbitMqConfigOut\";\nimport { type RedshiftConfigOut, RedshiftConfigOutSerializer } from \"./redshiftConfigOut\";\nimport { type S3ConfigOut, S3ConfigOutSerializer } from \"./s3ConfigOut\";\nimport { type SinkHttpConfigOut, SinkHttpConfigOutSerializer } from \"./sinkHttpConfigOut\";\nimport { type SinkStatus, SinkStatusSerializer } from \"./sinkStatus\";\nimport {\n type SnowflakeConfigOut,\n SnowflakeConfigOutSerializer,\n} from \"./snowflakeConfigOut\";\nimport { type SnsConfigOut, SnsConfigOutSerializer } from \"./snsConfigOut\";\nimport { type SqsConfigOut, SqsConfigOutSerializer } from \"./sqsConfigOut\";\n\ninterface _StreamSinkOutFields {\n /** The sink's ID. */\n id: string;\n /** The sink's UID. */\n uid?: string | null;\n status: SinkStatus;\n currentIterator: string;\n failureReason?: string | null;\n createdAt: Date;\n updatedAt: Date;\n batchSize: number;\n maxWaitSecs: number;\n eventTypes?: string[];\n channels?: string[];\n nextRetryAt?: Date | null;\n metadata: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface StreamSinkOutPollerConfig {}\n\ninterface StreamSinkOutPoller {\n type: \"poller\";\n config?: StreamSinkOutPollerConfig;\n}\n\ninterface StreamSinkOutAzureBlobStorage {\n type: \"azureBlobStorage\";\n config: AzureBlobStorageConfigOut;\n}\n\ninterface StreamSinkOutOtelTracing {\n type: \"otelTracing\";\n config: OtelTracingConfigOut;\n}\n\ninterface StreamSinkOutHttp {\n type: \"http\";\n config: SinkHttpConfigOut;\n}\n\ninterface StreamSinkOutAmazonS3 {\n type: \"amazonS3\";\n config: S3ConfigOut;\n}\n\ninterface StreamSinkOutSnowflake {\n type: \"snowflake\";\n config: SnowflakeConfigOut;\n}\n\ninterface StreamSinkOutGoogleCloudStorage {\n type: \"googleCloudStorage\";\n config: GoogleCloudStorageConfigOut;\n}\n\ninterface StreamSinkOutGoogleCloudPubSub {\n type: \"googleCloudPubSub\";\n config: GoogleCloudPubSubConfigOut;\n}\n\ninterface StreamSinkOutRedshift {\n type: \"redshift\";\n config: RedshiftConfigOut;\n}\n\ninterface StreamSinkOutBigQuery {\n type: \"bigQuery\";\n config: BigQueryConfigOut;\n}\n\ninterface StreamSinkOutClickhouse {\n type: \"clickhouse\";\n config: ClickhouseConfigOut;\n}\n\ninterface StreamSinkOutRabbitMq {\n type: \"rabbitMq\";\n config: RabbitMqConfigOut;\n}\n\ninterface StreamSinkOutSqs {\n type: \"sqs\";\n config: SqsConfigOut;\n}\n\ninterface StreamSinkOutEventBridge {\n type: \"eventBridge\";\n config: EventBridgeConfigOut;\n}\n\ninterface StreamSinkOutSns {\n type: \"sns\";\n config: SnsConfigOut;\n}\n\ninterface StreamSinkOutPostgres {\n type: \"postgres\";\n config: PostgresConfigOut;\n}\n\nexport type StreamSinkOut = _StreamSinkOutFields &\n (\n | StreamSinkOutPoller\n | StreamSinkOutAzureBlobStorage\n | StreamSinkOutOtelTracing\n | StreamSinkOutHttp\n | StreamSinkOutAmazonS3\n | StreamSinkOutSnowflake\n | StreamSinkOutGoogleCloudStorage\n | StreamSinkOutGoogleCloudPubSub\n | StreamSinkOutRedshift\n | StreamSinkOutBigQuery\n | StreamSinkOutClickhouse\n | StreamSinkOutRabbitMq\n | StreamSinkOutSqs\n | StreamSinkOutEventBridge\n | StreamSinkOutSns\n | StreamSinkOutPostgres\n );\n\nexport const StreamSinkOutSerializer = {\n _fromJsonObject(object: any): StreamSinkOut {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return AzureBlobStorageConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return OtelTracingConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return SinkHttpConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return S3ConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"snowflake\":\n return SnowflakeConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return GoogleCloudStorageConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudPubSub\":\n return GoogleCloudPubSubConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"redshift\":\n return RedshiftConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"bigQuery\":\n return BigQueryConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"clickhouse\":\n return ClickhouseConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"rabbitMq\":\n return RabbitMqConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"sqs\":\n return SqsConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"eventBridge\":\n return EventBridgeConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"sns\":\n return SnsConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"postgres\":\n return PostgresConfigOutSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n id: object[\"id\"],\n uid: object[\"uid\"],\n status: SinkStatusSerializer._fromJsonObject(object[\"status\"]),\n currentIterator: object[\"currentIterator\"],\n failureReason: object[\"failureReason\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n batchSize: object[\"batchSize\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n nextRetryAt: object[\"nextRetryAt\"] ? new Date(object[\"nextRetryAt\"]) : null,\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamSinkOut): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = AzureBlobStorageConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = OtelTracingConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = SinkHttpConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = S3ConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"snowflake\":\n config = SnowflakeConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = GoogleCloudStorageConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudPubSub\":\n config = GoogleCloudPubSubConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"redshift\":\n config = RedshiftConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"bigQuery\":\n config = BigQueryConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"clickhouse\":\n config = ClickhouseConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"rabbitMq\":\n config = RabbitMqConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"sqs\":\n config = SqsConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"eventBridge\":\n config = EventBridgeConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"sns\":\n config = SnsConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"postgres\":\n config = PostgresConfigOutSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n id: self.id,\n uid: self.uid,\n status: SinkStatusSerializer._toJsonObject(self.status),\n currentIterator: self.currentIterator,\n failureReason: self.failureReason,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n batchSize: self.batchSize,\n maxWaitSecs: self.maxWaitSecs,\n eventTypes: self.eventTypes,\n channels: self.channels,\n nextRetryAt: self.nextRetryAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type StreamSinkOut, StreamSinkOutSerializer } from \"./streamSinkOut\";\n\nexport interface ListResponseStreamSinkOut {\n data: StreamSinkOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseStreamSinkOutSerializer = {\n _fromJsonObject(object: any): ListResponseStreamSinkOut {\n return {\n data: object[\"data\"].map((item: StreamSinkOut) =>\n StreamSinkOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseStreamSinkOut): any {\n return {\n data: self.data.map((item) => StreamSinkOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkSecretOut {\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n key?: string | null;\n}\n\nexport const SinkSecretOutSerializer = {\n _fromJsonObject(object: any): SinkSecretOut {\n return {\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: SinkSecretOut): any {\n return {\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport interface AzureBlobStorageConfigIn {\n container: string;\n account: string;\n /**\n * Access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKey?: string | null;\n}\n\nexport const AzureBlobStorageConfigInSerializer = {\n _fromJsonObject(object: any): AzureBlobStorageConfigIn {\n return {\n container: object[\"container\"],\n account: object[\"account\"],\n accessKey: object[\"accessKey\"],\n };\n },\n\n _toJsonObject(self: AzureBlobStorageConfigIn): any {\n return {\n container: self.container,\n account: self.account,\n accessKey: self.accessKey,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for a Google Cloud BigQuery sink. */\nexport interface BigQueryConfigIn {\n projectId: string;\n datasetId: string;\n tableId: string;\n /** Google Cloud Credentials JSON Object as a string. */\n credentials: string;\n}\n\nexport const BigQueryConfigInSerializer = {\n _fromJsonObject(object: any): BigQueryConfigIn {\n return {\n projectId: object[\"projectId\"],\n datasetId: object[\"datasetId\"],\n tableId: object[\"tableId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: BigQueryConfigIn): any {\n return {\n projectId: self.projectId,\n datasetId: self.datasetId,\n tableId: self.tableId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface ClickhouseConfigIn {\n /** The HTTP URL of the ClickHouse server (e.g. `https://my_clickhouse:8443`). */\n url: string;\n /**\n * Username to access Clickhouse.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n username?: string | null;\n /**\n * Password to access Clickhouse.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n password?: string | null;\n /** The Clickhouse database to connect to. */\n database?: string;\n /** The Clickhouse table to write to. */\n tableName: string;\n}\n\nexport const ClickhouseConfigInSerializer = {\n _fromJsonObject(object: any): ClickhouseConfigIn {\n return {\n url: object[\"url\"],\n username: object[\"username\"],\n password: object[\"password\"],\n database: object[\"database\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: ClickhouseConfigIn): any {\n return {\n url: self.url,\n username: self.username,\n password: self.password,\n database: self.database,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventBridgeConfigIn {\n /** The name or ARN of the event bus to receive the event */\n eventBusName: string;\n /** Free-form string, with a maximum of 128 characters */\n detailType?: string;\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n /**\n * The region of the EventBridge bus.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n}\n\nexport const EventBridgeConfigInSerializer = {\n _fromJsonObject(object: any): EventBridgeConfigIn {\n return {\n eventBusName: object[\"eventBusName\"],\n detailType: object[\"detailType\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n };\n },\n\n _toJsonObject(self: EventBridgeConfigIn): any {\n return {\n eventBusName: self.eventBusName,\n detailType: self.detailType,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudPubSubConfigIn {\n projectId: string;\n topicId: string;\n /** Google Cloud Credentials JSON Object as a string. */\n credentials: string;\n}\n\nexport const GoogleCloudPubSubConfigInSerializer = {\n _fromJsonObject(object: any): GoogleCloudPubSubConfigIn {\n return {\n projectId: object[\"projectId\"],\n topicId: object[\"topicId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudPubSubConfigIn): any {\n return {\n projectId: self.projectId,\n topicId: self.topicId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\n/**\n * Configuration for a Google Cloud Storage sink.\n *\n * Write stream events into the named bucket using the supplied Google Cloud credentials.\n */\nexport interface GoogleCloudStorageConfigIn {\n bucket: string;\n /** Google Cloud Credentials JSON Object as a string. */\n credentials: string;\n}\n\nexport const GoogleCloudStorageConfigInSerializer = {\n _fromJsonObject(object: any): GoogleCloudStorageConfigIn {\n return {\n bucket: object[\"bucket\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudStorageConfigIn): any {\n return {\n bucket: self.bucket,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface OtelTracingConfigIn {\n url: string;\n headers?: { [key: string]: string };\n}\n\nexport const OtelTracingConfigInSerializer = {\n _fromJsonObject(object: any): OtelTracingConfigIn {\n return {\n url: object[\"url\"],\n headers: object[\"headers\"],\n };\n },\n\n _toJsonObject(self: OtelTracingConfigIn): any {\n return {\n url: self.url,\n headers: self.headers,\n };\n },\n};\n","// this file is @generated\n\nexport interface PostgresConfigIn {\n /**\n * PostgreSQL connection URL, e.g. `postgres://user@host:5432/dbname?sslmode=require`.\n *\n * Do NOT embed a password here; use the `password` field instead.\n */\n url: string;\n /** Password for the connection. */\n password?: string | null;\n /**\n * Table to insert into. May be schema-qualified (e.g. `public.events`).\n *\n * Quote characters are not supported. Each dot-separated segment is automatically double-quoted when the query is built, so `public.events` becomes `\"public\".\"events\"`.\n */\n tableName: string;\n /**\n * PEM-encoded CA certificate used to verify the Postgres server's TLS certificate.\n *\n * Supply this to trust a private or self-signed CA when connecting with `sslmode=verify-ca` or `sslmode=verify-full`. Without it, only the built-in public roots are trusted.\n */\n sslRootCert?: string | null;\n}\n\nexport const PostgresConfigInSerializer = {\n _fromJsonObject(object: any): PostgresConfigIn {\n return {\n url: object[\"url\"],\n password: object[\"password\"],\n tableName: object[\"tableName\"],\n sslRootCert: object[\"sslRootCert\"],\n };\n },\n\n _toJsonObject(self: PostgresConfigIn): any {\n return {\n url: self.url,\n password: self.password,\n tableName: self.tableName,\n sslRootCert: self.sslRootCert,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for a RabbitMq sink. */\nexport interface RabbitMqConfigIn {\n uri: string;\n routingKey: string;\n}\n\nexport const RabbitMqConfigInSerializer = {\n _fromJsonObject(object: any): RabbitMqConfigIn {\n return {\n uri: object[\"uri\"],\n routingKey: object[\"routingKey\"],\n };\n },\n\n _toJsonObject(self: RabbitMqConfigIn): any {\n return {\n uri: self.uri,\n routingKey: self.routingKey,\n };\n },\n};\n","// this file is @generated\n\n/**\n * Configuration parameters for defining a Redshift sink.\n *\n * For provisioned clusters, set `cluster_identifier` and `db_user`. For Redshift Serverless, set `workgroup_name`.\n */\nexport interface RedshiftConfigIn {\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n /**\n * The region of the Redshift DB.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n /** Required for provisioned clusters. */\n clusterIdentifier?: string | null;\n /** Required for provisioned clusters. */\n dbUser?: string | null;\n /** Required for Redshift Serverless. */\n workgroupName?: string | null;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only used if not using transformations.\n */\n schemaName?: string | null;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const RedshiftConfigInSerializer = {\n _fromJsonObject(object: any): RedshiftConfigIn {\n return {\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n clusterIdentifier: object[\"clusterIdentifier\"],\n dbUser: object[\"dbUser\"],\n workgroupName: object[\"workgroupName\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: RedshiftConfigIn): any {\n return {\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n clusterIdentifier: self.clusterIdentifier,\n dbUser: self.dbUser,\n workgroupName: self.workgroupName,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface S3ConfigIn {\n bucket: string;\n /**\n * Access key ID.\n *\n * Required (along with `secret_access_key`) if `role_arn` is null\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Required (along with `access_key_id`) if `role_arn` is null\n */\n secretAccessKey?: string | null;\n /**\n * The region of the S3 bucket\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n endpointUrl?: string | null;\n /** Role ARN for delegated authentication */\n roleArn?: string | null;\n /**\n * Shared secret passed as the STS ExternalId.\n *\n * Required if `role_arn` is not null.\n */\n externalId?: string | null;\n}\n\nexport const S3ConfigInSerializer = {\n _fromJsonObject(object: any): S3ConfigIn {\n return {\n bucket: object[\"bucket\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n endpointUrl: object[\"endpointUrl\"],\n roleArn: object[\"roleArn\"],\n externalId: object[\"externalId\"],\n };\n },\n\n _toJsonObject(self: S3ConfigIn): any {\n return {\n bucket: self.bucket,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n endpointUrl: self.endpointUrl,\n roleArn: self.roleArn,\n externalId: self.externalId,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkHttpConfigIn {\n url: string;\n headers?: { [key: string]: string };\n key?: string | null;\n}\n\nexport const SinkHttpConfigInSerializer = {\n _fromJsonObject(object: any): SinkHttpConfigIn {\n return {\n url: object[\"url\"],\n headers: object[\"headers\"],\n key: object[\"key\"],\n };\n },\n\n _toJsonObject(self: SinkHttpConfigIn): any {\n return {\n url: self.url,\n headers: self.headers,\n key: self.key,\n };\n },\n};\n","// this file is @generated\n\nexport enum SinkStatusIn {\n Enabled = \"enabled\",\n Disabled = \"disabled\",\n}\n\nexport const SinkStatusInSerializer = {\n _fromJsonObject(object: any): SinkStatusIn {\n return object;\n },\n\n _toJsonObject(self: SinkStatusIn): any {\n return self;\n },\n};\n","// this file is @generated\n\n/** Configuration parameters for defining a Snowflake sink. */\nexport interface SnowflakeConfigIn {\n /**\n * PEM-encoded private key used for signing token-based requests to the Snowflake API.\n *\n * Beginning/end delimiters are not required.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n privateKey?: string | null;\n /** Snowflake account identifier, which includes both the organization and account IDs separated by a hyphen. */\n accountIdentifier: string;\n /** The Snowflake user id. */\n userId: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only required if not using transformations.\n */\n schemaName?: string;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const SnowflakeConfigInSerializer = {\n _fromJsonObject(object: any): SnowflakeConfigIn {\n return {\n privateKey: object[\"privateKey\"],\n accountIdentifier: object[\"accountIdentifier\"],\n userId: object[\"userId\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: SnowflakeConfigIn): any {\n return {\n privateKey: self.privateKey,\n accountIdentifier: self.accountIdentifier,\n userId: self.userId,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for a SNS sink. */\nexport interface SnsConfigIn {\n topicArn: string;\n /**\n * The region of the SNS instance.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n endpointUrl?: string | null;\n}\n\nexport const SnsConfigInSerializer = {\n _fromJsonObject(object: any): SnsConfigIn {\n return {\n topicArn: object[\"topicArn\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SnsConfigIn): any {\n return {\n topicArn: self.topicArn,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\n\n/** Configuration for an SQS sink. */\nexport interface SqsConfigIn {\n queueUrl: string;\n /**\n * The region of the SQS queue.\n *\n * Currently a required field, but marked as optional because we may infer it from other fields in the future.\n */\n region?: string | null;\n /**\n * Access key ID.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n accessKeyId?: string | null;\n /**\n * Secret access key.\n *\n * Currently a required field, but marked as optional because we may add different authentication in the future.\n */\n secretAccessKey?: string | null;\n endpointUrl?: string | null;\n}\n\nexport const SqsConfigInSerializer = {\n _fromJsonObject(object: any): SqsConfigIn {\n return {\n queueUrl: object[\"queueUrl\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SqsConfigIn): any {\n return {\n queueUrl: self.queueUrl,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\nimport {\n type AzureBlobStorageConfigIn,\n AzureBlobStorageConfigInSerializer,\n} from \"./azureBlobStorageConfigIn\";\nimport { type BigQueryConfigIn, BigQueryConfigInSerializer } from \"./bigQueryConfigIn\";\nimport {\n type ClickhouseConfigIn,\n ClickhouseConfigInSerializer,\n} from \"./clickhouseConfigIn\";\nimport {\n type EventBridgeConfigIn,\n EventBridgeConfigInSerializer,\n} from \"./eventBridgeConfigIn\";\nimport {\n type GoogleCloudPubSubConfigIn,\n GoogleCloudPubSubConfigInSerializer,\n} from \"./googleCloudPubSubConfigIn\";\nimport {\n type GoogleCloudStorageConfigIn,\n GoogleCloudStorageConfigInSerializer,\n} from \"./googleCloudStorageConfigIn\";\nimport {\n type OtelTracingConfigIn,\n OtelTracingConfigInSerializer,\n} from \"./otelTracingConfigIn\";\nimport { type PostgresConfigIn, PostgresConfigInSerializer } from \"./postgresConfigIn\";\nimport { type RabbitMqConfigIn, RabbitMqConfigInSerializer } from \"./rabbitMqConfigIn\";\nimport { type RedshiftConfigIn, RedshiftConfigInSerializer } from \"./redshiftConfigIn\";\nimport { type S3ConfigIn, S3ConfigInSerializer } from \"./s3ConfigIn\";\nimport { type SinkHttpConfigIn, SinkHttpConfigInSerializer } from \"./sinkHttpConfigIn\";\nimport { type SinkStatusIn, SinkStatusInSerializer } from \"./sinkStatusIn\";\nimport { type SnowflakeConfigIn, SnowflakeConfigInSerializer } from \"./snowflakeConfigIn\";\nimport { type SnsConfigIn, SnsConfigInSerializer } from \"./snsConfigIn\";\nimport { type SqsConfigIn, SqsConfigInSerializer } from \"./sqsConfigIn\";\n\ninterface _StreamSinkInFields {\n /** An optional unique identifier for the sink. */\n uid?: string | null;\n /**\n * Whether the sink will receive events.\n *\n * If the sink is `enabled`, any events posted to the stream will be dispatched to the Sink in the same order that events were posted to the stream.\n *\n * If the sink is `disabled`, events will not be dispatched to the sink until the sink is reenabled.\n */\n status?: SinkStatusIn;\n /** How many events will be batched in a request to the Sink. */\n batchSize?: number;\n /**\n * How long to wait before a batch of events is sent, if the `batchSize` is not reached.\n *\n * For example, with a `batchSize` of 100 and `maxWaitSecs` of 10, we will send a request after 10 seconds or 100 events, whichever comes first.\n *\n * Note that we will never send an empty batch of events to the Sink.\n */\n maxWaitSecs?: number;\n /** A list of event types that filter which events are dispatched to the Sink. An empty list (or null) will not filter out any events. */\n eventTypes?: string[];\n channels?: string[];\n metadata?: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface StreamSinkInPollerConfig {}\n\ninterface StreamSinkInPoller {\n type: \"poller\";\n config?: StreamSinkInPollerConfig;\n}\n\ninterface StreamSinkInAzureBlobStorage {\n type: \"azureBlobStorage\";\n config: AzureBlobStorageConfigIn;\n}\n\ninterface StreamSinkInOtelTracing {\n type: \"otelTracing\";\n config: OtelTracingConfigIn;\n}\n\ninterface StreamSinkInHttp {\n type: \"http\";\n config: SinkHttpConfigIn;\n}\n\ninterface StreamSinkInAmazonS3 {\n type: \"amazonS3\";\n config: S3ConfigIn;\n}\n\ninterface StreamSinkInGoogleCloudStorage {\n type: \"googleCloudStorage\";\n config: GoogleCloudStorageConfigIn;\n}\n\ninterface StreamSinkInGoogleCloudPubSub {\n type: \"googleCloudPubSub\";\n config: GoogleCloudPubSubConfigIn;\n}\n\ninterface StreamSinkInSqs {\n type: \"sqs\";\n config: SqsConfigIn;\n}\n\ninterface StreamSinkInSns {\n type: \"sns\";\n config: SnsConfigIn;\n}\n\ninterface StreamSinkInBigQuery {\n type: \"bigQuery\";\n config: BigQueryConfigIn;\n}\n\ninterface StreamSinkInClickhouse {\n type: \"clickhouse\";\n config: ClickhouseConfigIn;\n}\n\ninterface StreamSinkInEventBridge {\n type: \"eventBridge\";\n config: EventBridgeConfigIn;\n}\n\ninterface StreamSinkInSnowflake {\n type: \"snowflake\";\n config: SnowflakeConfigIn;\n}\n\ninterface StreamSinkInRabbitMq {\n type: \"rabbitMq\";\n config: RabbitMqConfigIn;\n}\n\ninterface StreamSinkInRedshift {\n type: \"redshift\";\n config: RedshiftConfigIn;\n}\n\ninterface StreamSinkInPostgres {\n type: \"postgres\";\n config: PostgresConfigIn;\n}\n\nexport type StreamSinkIn = _StreamSinkInFields &\n (\n | StreamSinkInPoller\n | StreamSinkInAzureBlobStorage\n | StreamSinkInOtelTracing\n | StreamSinkInHttp\n | StreamSinkInAmazonS3\n | StreamSinkInGoogleCloudStorage\n | StreamSinkInGoogleCloudPubSub\n | StreamSinkInSqs\n | StreamSinkInSns\n | StreamSinkInBigQuery\n | StreamSinkInClickhouse\n | StreamSinkInEventBridge\n | StreamSinkInSnowflake\n | StreamSinkInRabbitMq\n | StreamSinkInRedshift\n | StreamSinkInPostgres\n );\n\nexport const StreamSinkInSerializer = {\n _fromJsonObject(object: any): StreamSinkIn {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return AzureBlobStorageConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return OtelTracingConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return SinkHttpConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return S3ConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return GoogleCloudStorageConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudPubSub\":\n return GoogleCloudPubSubConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"sqs\":\n return SqsConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"sns\":\n return SnsConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"bigQuery\":\n return BigQueryConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"clickhouse\":\n return ClickhouseConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"eventBridge\":\n return EventBridgeConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"snowflake\":\n return SnowflakeConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"rabbitMq\":\n return RabbitMqConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"redshift\":\n return RedshiftConfigInSerializer._fromJsonObject(object[\"config\"]);\n case \"postgres\":\n return PostgresConfigInSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n uid: object[\"uid\"],\n status:\n object[\"status\"] != null\n ? SinkStatusInSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n batchSize: object[\"batchSize\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamSinkIn): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = AzureBlobStorageConfigInSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = OtelTracingConfigInSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = SinkHttpConfigInSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = S3ConfigInSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = GoogleCloudStorageConfigInSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudPubSub\":\n config = GoogleCloudPubSubConfigInSerializer._toJsonObject(self.config);\n break;\n case \"sqs\":\n config = SqsConfigInSerializer._toJsonObject(self.config);\n break;\n case \"sns\":\n config = SnsConfigInSerializer._toJsonObject(self.config);\n break;\n case \"bigQuery\":\n config = BigQueryConfigInSerializer._toJsonObject(self.config);\n break;\n case \"clickhouse\":\n config = ClickhouseConfigInSerializer._toJsonObject(self.config);\n break;\n case \"eventBridge\":\n config = EventBridgeConfigInSerializer._toJsonObject(self.config);\n break;\n case \"snowflake\":\n config = SnowflakeConfigInSerializer._toJsonObject(self.config);\n break;\n case \"rabbitMq\":\n config = RabbitMqConfigInSerializer._toJsonObject(self.config);\n break;\n case \"redshift\":\n config = RedshiftConfigInSerializer._toJsonObject(self.config);\n break;\n case \"postgres\":\n config = PostgresConfigInSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n uid: self.uid,\n status:\n self.status != null\n ? SinkStatusInSerializer._toJsonObject(self.status)\n : undefined,\n batchSize: self.batchSize,\n maxWaitSecs: self.maxWaitSecs,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface AzureBlobStorageConfigPatch {\n container?: string;\n account?: string;\n accessKey?: string;\n}\n\nexport const AzureBlobStorageConfigPatchSerializer = {\n _fromJsonObject(object: any): AzureBlobStorageConfigPatch {\n return {\n container: object[\"container\"],\n account: object[\"account\"],\n accessKey: object[\"accessKey\"],\n };\n },\n\n _toJsonObject(self: AzureBlobStorageConfigPatch): any {\n return {\n container: self.container,\n account: self.account,\n accessKey: self.accessKey,\n };\n },\n};\n","// this file is @generated\n\nexport interface BigQueryConfigPatch {\n projectId?: string;\n datasetId?: string;\n tableId?: string;\n credentials?: string;\n}\n\nexport const BigQueryConfigPatchSerializer = {\n _fromJsonObject(object: any): BigQueryConfigPatch {\n return {\n projectId: object[\"projectId\"],\n datasetId: object[\"datasetId\"],\n tableId: object[\"tableId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: BigQueryConfigPatch): any {\n return {\n projectId: self.projectId,\n datasetId: self.datasetId,\n tableId: self.tableId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface ClickhouseConfigPatch {\n url?: string;\n username?: string;\n password?: string;\n database?: string;\n tableName?: string;\n}\n\nexport const ClickhouseConfigPatchSerializer = {\n _fromJsonObject(object: any): ClickhouseConfigPatch {\n return {\n url: object[\"url\"],\n username: object[\"username\"],\n password: object[\"password\"],\n database: object[\"database\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: ClickhouseConfigPatch): any {\n return {\n url: self.url,\n username: self.username,\n password: self.password,\n database: self.database,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface EventBridgeConfigPatch {\n eventBusName?: string;\n detailType?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n region?: string;\n}\n\nexport const EventBridgeConfigPatchSerializer = {\n _fromJsonObject(object: any): EventBridgeConfigPatch {\n return {\n eventBusName: object[\"eventBusName\"],\n detailType: object[\"detailType\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n };\n },\n\n _toJsonObject(self: EventBridgeConfigPatch): any {\n return {\n eventBusName: self.eventBusName,\n detailType: self.detailType,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudPubSubConfigPatch {\n projectId?: string;\n topicId?: string;\n credentials?: string;\n}\n\nexport const GoogleCloudPubSubConfigPatchSerializer = {\n _fromJsonObject(object: any): GoogleCloudPubSubConfigPatch {\n return {\n projectId: object[\"projectId\"],\n topicId: object[\"topicId\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudPubSubConfigPatch): any {\n return {\n projectId: self.projectId,\n topicId: self.topicId,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface GoogleCloudStorageConfigPatch {\n bucket?: string;\n credentials?: string;\n}\n\nexport const GoogleCloudStorageConfigPatchSerializer = {\n _fromJsonObject(object: any): GoogleCloudStorageConfigPatch {\n return {\n bucket: object[\"bucket\"],\n credentials: object[\"credentials\"],\n };\n },\n\n _toJsonObject(self: GoogleCloudStorageConfigPatch): any {\n return {\n bucket: self.bucket,\n credentials: self.credentials,\n };\n },\n};\n","// this file is @generated\n\nexport interface OtelTracingConfigPatch {\n url?: string;\n}\n\nexport const OtelTracingConfigPatchSerializer = {\n _fromJsonObject(object: any): OtelTracingConfigPatch {\n return {\n url: object[\"url\"],\n };\n },\n\n _toJsonObject(self: OtelTracingConfigPatch): any {\n return {\n url: self.url,\n };\n },\n};\n","// this file is @generated\n\nexport interface PostgresConfigPatch {\n url?: string;\n password?: string;\n tableName?: string;\n sslRootCert?: string;\n}\n\nexport const PostgresConfigPatchSerializer = {\n _fromJsonObject(object: any): PostgresConfigPatch {\n return {\n url: object[\"url\"],\n password: object[\"password\"],\n tableName: object[\"tableName\"],\n sslRootCert: object[\"sslRootCert\"],\n };\n },\n\n _toJsonObject(self: PostgresConfigPatch): any {\n return {\n url: self.url,\n password: self.password,\n tableName: self.tableName,\n sslRootCert: self.sslRootCert,\n };\n },\n};\n","// this file is @generated\n\nexport interface RabbitMqConfigPatch {\n routingKey?: string;\n uri?: string;\n}\n\nexport const RabbitMqConfigPatchSerializer = {\n _fromJsonObject(object: any): RabbitMqConfigPatch {\n return {\n routingKey: object[\"routingKey\"],\n uri: object[\"uri\"],\n };\n },\n\n _toJsonObject(self: RabbitMqConfigPatch): any {\n return {\n routingKey: self.routingKey,\n uri: self.uri,\n };\n },\n};\n","// this file is @generated\n\nexport interface RedshiftConfigPatch {\n accessKeyId?: string;\n secretAccessKey?: string;\n region?: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only used if not using transformations.\n */\n schemaName?: string | null;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const RedshiftConfigPatchSerializer = {\n _fromJsonObject(object: any): RedshiftConfigPatch {\n return {\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n region: object[\"region\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: RedshiftConfigPatch): any {\n return {\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n region: self.region,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface S3ConfigPatch {\n bucket?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n roleArn?: string;\n externalId?: string;\n region?: string;\n endpointUrl?: string;\n}\n\nexport const S3ConfigPatchSerializer = {\n _fromJsonObject(object: any): S3ConfigPatch {\n return {\n bucket: object[\"bucket\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n roleArn: object[\"roleArn\"],\n externalId: object[\"externalId\"],\n region: object[\"region\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: S3ConfigPatch): any {\n return {\n bucket: self.bucket,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n roleArn: self.roleArn,\n externalId: self.externalId,\n region: self.region,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkHttpConfigPatch {\n url?: string;\n}\n\nexport const SinkHttpConfigPatchSerializer = {\n _fromJsonObject(object: any): SinkHttpConfigPatch {\n return {\n url: object[\"url\"],\n };\n },\n\n _toJsonObject(self: SinkHttpConfigPatch): any {\n return {\n url: self.url,\n };\n },\n};\n","// this file is @generated\n\nexport interface SnowflakeConfigPatch {\n privateKey?: string;\n accountIdentifier?: string;\n userId?: string;\n /**\n * Database name.\n *\n * Only required if not using transformations.\n */\n dbName?: string;\n /**\n * Schema name.\n *\n * Only required if not using transformations.\n */\n schemaName?: string;\n /**\n * Table name.\n *\n * Only required if not using transformations.\n */\n tableName?: string;\n}\n\nexport const SnowflakeConfigPatchSerializer = {\n _fromJsonObject(object: any): SnowflakeConfigPatch {\n return {\n privateKey: object[\"privateKey\"],\n accountIdentifier: object[\"accountIdentifier\"],\n userId: object[\"userId\"],\n dbName: object[\"dbName\"],\n schemaName: object[\"schemaName\"],\n tableName: object[\"tableName\"],\n };\n },\n\n _toJsonObject(self: SnowflakeConfigPatch): any {\n return {\n privateKey: self.privateKey,\n accountIdentifier: self.accountIdentifier,\n userId: self.userId,\n dbName: self.dbName,\n schemaName: self.schemaName,\n tableName: self.tableName,\n };\n },\n};\n","// this file is @generated\n\nexport interface SnsConfigPatch {\n topicArn?: string;\n region?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n endpointUrl?: string | null;\n}\n\nexport const SnsConfigPatchSerializer = {\n _fromJsonObject(object: any): SnsConfigPatch {\n return {\n topicArn: object[\"topicArn\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SnsConfigPatch): any {\n return {\n topicArn: self.topicArn,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\n\nexport interface SqsConfigPatch {\n queueUrl?: string;\n region?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n endpointUrl?: string | null;\n}\n\nexport const SqsConfigPatchSerializer = {\n _fromJsonObject(object: any): SqsConfigPatch {\n return {\n queueUrl: object[\"queueUrl\"],\n region: object[\"region\"],\n accessKeyId: object[\"accessKeyId\"],\n secretAccessKey: object[\"secretAccessKey\"],\n endpointUrl: object[\"endpointUrl\"],\n };\n },\n\n _toJsonObject(self: SqsConfigPatch): any {\n return {\n queueUrl: self.queueUrl,\n region: self.region,\n accessKeyId: self.accessKeyId,\n secretAccessKey: self.secretAccessKey,\n endpointUrl: self.endpointUrl,\n };\n },\n};\n","// this file is @generated\nimport {\n type AzureBlobStorageConfigPatch,\n AzureBlobStorageConfigPatchSerializer,\n} from \"./azureBlobStorageConfigPatch\";\nimport {\n type BigQueryConfigPatch,\n BigQueryConfigPatchSerializer,\n} from \"./bigQueryConfigPatch\";\nimport {\n type ClickhouseConfigPatch,\n ClickhouseConfigPatchSerializer,\n} from \"./clickhouseConfigPatch\";\nimport {\n type EventBridgeConfigPatch,\n EventBridgeConfigPatchSerializer,\n} from \"./eventBridgeConfigPatch\";\nimport {\n type GoogleCloudPubSubConfigPatch,\n GoogleCloudPubSubConfigPatchSerializer,\n} from \"./googleCloudPubSubConfigPatch\";\nimport {\n type GoogleCloudStorageConfigPatch,\n GoogleCloudStorageConfigPatchSerializer,\n} from \"./googleCloudStorageConfigPatch\";\nimport {\n type OtelTracingConfigPatch,\n OtelTracingConfigPatchSerializer,\n} from \"./otelTracingConfigPatch\";\nimport {\n type PostgresConfigPatch,\n PostgresConfigPatchSerializer,\n} from \"./postgresConfigPatch\";\nimport {\n type RabbitMqConfigPatch,\n RabbitMqConfigPatchSerializer,\n} from \"./rabbitMqConfigPatch\";\nimport {\n type RedshiftConfigPatch,\n RedshiftConfigPatchSerializer,\n} from \"./redshiftConfigPatch\";\nimport { type S3ConfigPatch, S3ConfigPatchSerializer } from \"./s3ConfigPatch\";\nimport {\n type SinkHttpConfigPatch,\n SinkHttpConfigPatchSerializer,\n} from \"./sinkHttpConfigPatch\";\nimport { type SinkStatusIn, SinkStatusInSerializer } from \"./sinkStatusIn\";\nimport {\n type SnowflakeConfigPatch,\n SnowflakeConfigPatchSerializer,\n} from \"./snowflakeConfigPatch\";\nimport { type SnsConfigPatch, SnsConfigPatchSerializer } from \"./snsConfigPatch\";\nimport { type SqsConfigPatch, SqsConfigPatchSerializer } from \"./sqsConfigPatch\";\n\ninterface _StreamSinkPatchFields {\n /** The StreamSink's UID. */\n uid?: string | null;\n status?: SinkStatusIn | null;\n batchSize?: number | null;\n maxWaitSecs?: number | null;\n eventTypes?: string[];\n channels?: string[];\n metadata?: { [key: string]: string };\n}\n\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface StreamSinkPatchPollerConfig {}\n\ninterface StreamSinkPatchPoller {\n type: \"poller\";\n config?: StreamSinkPatchPollerConfig;\n}\n\ninterface StreamSinkPatchAzureBlobStorage {\n type: \"azureBlobStorage\";\n config: AzureBlobStorageConfigPatch;\n}\n\ninterface StreamSinkPatchOtelTracing {\n type: \"otelTracing\";\n config: OtelTracingConfigPatch;\n}\n\ninterface StreamSinkPatchHttp {\n type: \"http\";\n config: SinkHttpConfigPatch;\n}\n\ninterface StreamSinkPatchAmazonS3 {\n type: \"amazonS3\";\n config: S3ConfigPatch;\n}\n\ninterface StreamSinkPatchGoogleCloudStorage {\n type: \"googleCloudStorage\";\n config: GoogleCloudStorageConfigPatch;\n}\n\ninterface StreamSinkPatchGoogleCloudPubSub {\n type: \"googleCloudPubSub\";\n config: GoogleCloudPubSubConfigPatch;\n}\n\ninterface StreamSinkPatchSqs {\n type: \"sqs\";\n config: SqsConfigPatch;\n}\n\ninterface StreamSinkPatchSns {\n type: \"sns\";\n config: SnsConfigPatch;\n}\n\ninterface StreamSinkPatchBigQuery {\n type: \"bigQuery\";\n config: BigQueryConfigPatch;\n}\n\ninterface StreamSinkPatchClickhouse {\n type: \"clickhouse\";\n config: ClickhouseConfigPatch;\n}\n\ninterface StreamSinkPatchEventBridge {\n type: \"eventBridge\";\n config: EventBridgeConfigPatch;\n}\n\ninterface StreamSinkPatchSnowflake {\n type: \"snowflake\";\n config: SnowflakeConfigPatch;\n}\n\ninterface StreamSinkPatchRabbitMq {\n type: \"rabbitMq\";\n config: RabbitMqConfigPatch;\n}\n\ninterface StreamSinkPatchRedshift {\n type: \"redshift\";\n config: RedshiftConfigPatch;\n}\n\ninterface StreamSinkPatchPostgres {\n type: \"postgres\";\n config: PostgresConfigPatch;\n}\n\nexport type StreamSinkPatch = _StreamSinkPatchFields &\n (\n | StreamSinkPatchPoller\n | StreamSinkPatchAzureBlobStorage\n | StreamSinkPatchOtelTracing\n | StreamSinkPatchHttp\n | StreamSinkPatchAmazonS3\n | StreamSinkPatchGoogleCloudStorage\n | StreamSinkPatchGoogleCloudPubSub\n | StreamSinkPatchSqs\n | StreamSinkPatchSns\n | StreamSinkPatchBigQuery\n | StreamSinkPatchClickhouse\n | StreamSinkPatchEventBridge\n | StreamSinkPatchSnowflake\n | StreamSinkPatchRabbitMq\n | StreamSinkPatchRedshift\n | StreamSinkPatchPostgres\n );\n\nexport const StreamSinkPatchSerializer = {\n _fromJsonObject(object: any): StreamSinkPatch {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return AzureBlobStorageConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return OtelTracingConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return SinkHttpConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return S3ConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return GoogleCloudStorageConfigPatchSerializer._fromJsonObject(\n object[\"config\"]\n );\n case \"googleCloudPubSub\":\n return GoogleCloudPubSubConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"sqs\":\n return SqsConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"sns\":\n return SnsConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"bigQuery\":\n return BigQueryConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"clickhouse\":\n return ClickhouseConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"eventBridge\":\n return EventBridgeConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"snowflake\":\n return SnowflakeConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"rabbitMq\":\n return RabbitMqConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"redshift\":\n return RedshiftConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n case \"postgres\":\n return PostgresConfigPatchSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n uid: object[\"uid\"],\n status:\n object[\"status\"] != null\n ? SinkStatusInSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n batchSize: object[\"batchSize\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamSinkPatch): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = AzureBlobStorageConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = OtelTracingConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = SinkHttpConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = S3ConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = GoogleCloudStorageConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudPubSub\":\n config = GoogleCloudPubSubConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"sqs\":\n config = SqsConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"sns\":\n config = SnsConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"bigQuery\":\n config = BigQueryConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"clickhouse\":\n config = ClickhouseConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"eventBridge\":\n config = EventBridgeConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"snowflake\":\n config = SnowflakeConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"rabbitMq\":\n config = RabbitMqConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"redshift\":\n config = RedshiftConfigPatchSerializer._toJsonObject(self.config);\n break;\n case \"postgres\":\n config = PostgresConfigPatchSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n uid: self.uid,\n status:\n self.status != null\n ? SinkStatusInSerializer._toJsonObject(self.status)\n : undefined,\n batchSize: self.batchSize,\n maxWaitSecs: self.maxWaitSecs,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkTransformIn {\n code?: string | null;\n}\n\nexport const SinkTransformInSerializer = {\n _fromJsonObject(object: any): SinkTransformIn {\n return {\n code: object[\"code\"],\n };\n },\n\n _toJsonObject(self: SinkTransformIn): any {\n return {\n code: self.code,\n };\n },\n};\n","// this file is @generated\n\nexport interface SinkTransformationOut {\n code?: string | null;\n enabled: boolean;\n}\n\nexport const SinkTransformationOutSerializer = {\n _fromJsonObject(object: any): SinkTransformationOut {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n\n _toJsonObject(self: SinkTransformationOut): any {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n","// this file is @generated\n\nimport { type EmptyResponse, EmptyResponseSerializer } from \"../models/emptyResponse\";\nimport {\n type SinkTransformIn,\n SinkTransformInSerializer,\n} from \"../models/sinkTransformIn\";\nimport {\n type SinkTransformationOut,\n SinkTransformationOutSerializer,\n} from \"../models/sinkTransformationOut\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class StreamingSinkTransformation {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Get the transformation code associated with this sink. */\n public async get(streamId: string, sinkId: string): Promise<SinkTransformationOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/transformation\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(\n this.requestCtx,\n SinkTransformationOutSerializer._fromJsonObject\n );\n }\n\n /** Set or unset the transformation code associated with this sink. */\n public async patch(\n streamId: string,\n sinkId: string,\n sinkTransformIn: SinkTransformIn = {}\n ): Promise<EmptyResponse> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/transformation\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(SinkTransformInSerializer._toJsonObject(sinkTransformIn));\n\n return await request.send(this.requestCtx, EmptyResponseSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport { type EmptyResponse, EmptyResponseSerializer } from \"../models/emptyResponse\";\nimport {\n type EndpointSecretRotateIn,\n EndpointSecretRotateInSerializer,\n} from \"../models/endpointSecretRotateIn\";\nimport {\n type ListResponseStreamSinkOut,\n ListResponseStreamSinkOutSerializer,\n} from \"../models/listResponseStreamSinkOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type SinkSecretOut, SinkSecretOutSerializer } from \"../models/sinkSecretOut\";\nimport { type StreamSinkIn, StreamSinkInSerializer } from \"../models/streamSinkIn\";\nimport { type StreamSinkOut, StreamSinkOutSerializer } from \"../models/streamSinkOut\";\nimport {\n type StreamSinkPatch,\n StreamSinkPatchSerializer,\n} from \"../models/streamSinkPatch\";\nimport { StreamingSinkTransformation } from \"./streamingSinkTransformation\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingSinkListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface StreamingSinkCreateOptions {\n idempotencyKey?: string;\n}\n\nexport interface StreamingSinkRotateSecretOptions {\n idempotencyKey?: string;\n}\n\nexport class StreamingSink {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get transformation() {\n return new StreamingSinkTransformation(this.requestCtx);\n }\n\n /** List of all the stream's sinks. */\n public async list(\n streamId: string,\n options?: StreamingSinkListOptions\n ): Promise<ListResponseStreamSinkOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseStreamSinkOutSerializer._fromJsonObject\n );\n }\n\n /** Creates a new sink. */\n public async create(\n streamId: string,\n streamSinkIn: StreamSinkIn,\n options?: StreamingSinkCreateOptions\n ): Promise<StreamSinkOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream/{stream_id}/sink\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamSinkInSerializer._toJsonObject(streamSinkIn));\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /** Get a sink by id or uid. */\n public async get(streamId: string, sinkId: string): Promise<StreamSinkOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /** Create or update a sink. */\n public async upsert(\n streamId: string,\n sinkId: string,\n streamSinkIn: StreamSinkIn\n ): Promise<StreamSinkOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(StreamSinkInSerializer._toJsonObject(streamSinkIn));\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /** Delete a sink. */\n public async delete(streamId: string, sinkId: string): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.DELETE,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update a sink. */\n public async patch(\n streamId: string,\n sinkId: string,\n streamSinkPatch: StreamSinkPatch\n ): Promise<StreamSinkOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(StreamSinkPatchSerializer._toJsonObject(streamSinkPatch));\n\n return await request.send(this.requestCtx, StreamSinkOutSerializer._fromJsonObject);\n }\n\n /**\n * Get the sink's signing secret (only supported for http sinks)\n *\n * This is used to verify the authenticity of the delivery.\n *\n * For more information please refer to [the consuming webhooks docs](https://docs.svix.com/consuming-webhooks/).\n */\n public async getSecret(streamId: string, sinkId: string): Promise<SinkSecretOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/secret\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(this.requestCtx, SinkSecretOutSerializer._fromJsonObject);\n }\n\n /** Rotates the signing secret (only supported for http sinks). */\n public async rotateSecret(\n streamId: string,\n sinkId: string,\n endpointSecretRotateIn: EndpointSecretRotateIn = {},\n options?: StreamingSinkRotateSecretOptions\n ): Promise<EmptyResponse> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/secret/rotate\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(\n EndpointSecretRotateInSerializer._toJsonObject(endpointSecretRotateIn)\n );\n\n return await request.send(this.requestCtx, EmptyResponseSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nexport interface StreamOut {\n /** The stream's ID. */\n id: string;\n /** The stream's UID. */\n uid?: string | null;\n /** The stream's name. */\n name?: string | null;\n createdAt: Date;\n updatedAt: Date;\n metadata: { [key: string]: string };\n}\n\nexport const StreamOutSerializer = {\n _fromJsonObject(object: any): StreamOut {\n return {\n id: object[\"id\"],\n uid: object[\"uid\"],\n name: object[\"name\"],\n createdAt: new Date(object[\"createdAt\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamOut): any {\n return {\n id: self.id,\n uid: self.uid,\n name: self.name,\n createdAt: self.createdAt,\n updatedAt: self.updatedAt,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type StreamOut, StreamOutSerializer } from \"./streamOut\";\n\nexport interface ListResponseStreamOut {\n data: StreamOut[];\n iterator: string | null;\n prevIterator?: string | null;\n done: boolean;\n}\n\nexport const ListResponseStreamOutSerializer = {\n _fromJsonObject(object: any): ListResponseStreamOut {\n return {\n data: object[\"data\"].map((item: StreamOut) =>\n StreamOutSerializer._fromJsonObject(item)\n ),\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: ListResponseStreamOut): any {\n return {\n data: self.data.map((item) => StreamOutSerializer._toJsonObject(item)),\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nexport interface StreamPatch {\n /** The Stream's description. */\n description?: string;\n /** An optional unique identifier for the stream. */\n uid?: string | null;\n metadata?: { [key: string]: string };\n}\n\nexport const StreamPatchSerializer = {\n _fromJsonObject(object: any): StreamPatch {\n return {\n description: object[\"description\"],\n uid: object[\"uid\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: StreamPatch): any {\n return {\n description: self.description,\n uid: self.uid,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type ListResponseStreamOut,\n ListResponseStreamOutSerializer,\n} from \"../models/listResponseStreamOut\";\nimport type { Ordering } from \"../models/ordering\";\nimport { type StreamIn, StreamInSerializer } from \"../models/streamIn\";\nimport { type StreamOut, StreamOutSerializer } from \"../models/streamOut\";\nimport { type StreamPatch, StreamPatchSerializer } from \"../models/streamPatch\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface StreamingStreamListOptions {\n /** Limit the number of returned items */\n limit?: number;\n /** The iterator returned from a prior invocation */\n iterator?: string | null;\n /** The sorting order of the returned items */\n order?: Ordering;\n}\n\nexport interface StreamingStreamCreateOptions {\n idempotencyKey?: string;\n}\n\nexport class StreamingStream {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** List of all the organization's streams. */\n public async list(\n options?: StreamingStreamListOptions\n ): Promise<ListResponseStreamOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream\");\n\n request.setQueryParams({\n limit: options?.limit,\n iterator: options?.iterator,\n order: options?.order,\n });\n\n return await request.send(\n this.requestCtx,\n ListResponseStreamOutSerializer._fromJsonObject\n );\n }\n\n /** Creates a new stream. */\n public async create(\n streamIn: StreamIn,\n options?: StreamingStreamCreateOptions\n ): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.POST, \"/api/v1/stream\");\n\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(StreamInSerializer._toJsonObject(streamIn));\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n\n /** Get a stream by id or uid. */\n public async get(streamId: string): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.GET, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n\n /** Create or update a stream. */\n public async upsert(streamId: string, streamIn: StreamIn): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.PUT, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setBody(StreamInSerializer._toJsonObject(streamIn));\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n\n /** Delete a stream. */\n public async delete(streamId: string): Promise<void> {\n const request = new SvixRequest(HttpMethod.DELETE, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n\n /** Partially update a stream. */\n public async patch(streamId: string, streamPatch: StreamPatch): Promise<StreamOut> {\n const request = new SvixRequest(HttpMethod.PATCH, \"/api/v1/stream/{stream_id}\");\n\n request.setPathParam(\"stream_id\", streamId);\n request.setBody(StreamPatchSerializer._toJsonObject(streamPatch));\n\n return await request.send(this.requestCtx, StreamOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport {\n type EndpointHeadersOut,\n EndpointHeadersOutSerializer,\n} from \"../models/endpointHeadersOut\";\nimport {\n type HttpSinkHeadersPatchIn,\n HttpSinkHeadersPatchInSerializer,\n} from \"../models/httpSinkHeadersPatchIn\";\nimport { StreamingEventType } from \"./streamingEventType\";\nimport { StreamingEvents } from \"./streamingEvents\";\nimport { StreamingSink } from \"./streamingSink\";\nimport { StreamingStream } from \"./streamingStream\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class Streaming {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get eventType() {\n return new StreamingEventType(this.requestCtx);\n }\n\n public get events() {\n return new StreamingEvents(this.requestCtx);\n }\n\n public get sink() {\n return new StreamingSink(this.requestCtx);\n }\n\n public get stream() {\n return new StreamingStream(this.requestCtx);\n }\n\n /**\n * Get the HTTP sink headers.\n *\n * Only valid for `http` or `otelTracing` sinks.\n */\n public async sinkHeadersGet(\n streamId: string,\n sinkId: string\n ): Promise<EndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/headers\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n\n return await request.send(\n this.requestCtx,\n EndpointHeadersOutSerializer._fromJsonObject\n );\n }\n\n /**\n * Updates the Sink's headers.\n *\n * Only valid for `http` or `otelTracing` sinks.\n */\n public async sinkHeadersPatch(\n streamId: string,\n sinkId: string,\n httpSinkHeadersPatchIn: HttpSinkHeadersPatchIn\n ): Promise<EndpointHeadersOut> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/stream/{stream_id}/sink/{sink_id}/headers\"\n );\n\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(\n HttpSinkHeadersPatchInSerializer._toJsonObject(httpSinkHeadersPatchIn)\n );\n\n return await request.send(\n this.requestCtx,\n EndpointHeadersOutSerializer._fromJsonObject\n );\n }\n}\n","export class HttpErrorOut {\n code!: string;\n detail!: string;\n\n static readonly discriminator: string | undefined = undefined;\n\n static readonly mapping: { [index: string]: string } | undefined = undefined;\n\n static readonly attributeTypeMap: Array<{\n name: string;\n baseName: string;\n type: string;\n format: string;\n }> = [\n {\n name: \"code\",\n baseName: \"code\",\n type: \"string\",\n format: \"\",\n },\n {\n name: \"detail\",\n baseName: \"detail\",\n type: \"string\",\n format: \"\",\n },\n ];\n\n static getAttributeTypeMap() {\n return HttpErrorOut.attributeTypeMap;\n }\n}\n\n/**\n * Validation errors have their own schema to provide context for invalid requests eg. mismatched types and out of bounds values. There may be any number of these per 422 UNPROCESSABLE ENTITY error.\n */\nexport class ValidationError {\n /**\n * The location as a [`Vec`] of [`String`]s -- often in the form `[\\\"body\\\", \\\"field_name\\\"]`, `[\\\"query\\\", \\\"field_name\\\"]`, etc. They may, however, be arbitrarily deep.\n */\n loc!: Array<string>;\n /**\n * The message accompanying the validation error item.\n */\n msg!: string;\n /**\n * The type of error, often \\\"type_error\\\" or \\\"value_error\\\", but sometimes with more context like as \\\"value_error.number.not_ge\\\"\n */\n type!: string;\n\n static readonly discriminator: string | undefined = undefined;\n\n static readonly mapping: { [index: string]: string } | undefined = undefined;\n\n static readonly attributeTypeMap: Array<{\n name: string;\n baseName: string;\n type: string;\n format: string;\n }> = [\n {\n name: \"loc\",\n baseName: \"loc\",\n type: \"Array<string>\",\n format: \"\",\n },\n {\n name: \"msg\",\n baseName: \"msg\",\n type: \"string\",\n format: \"\",\n },\n {\n name: \"type\",\n baseName: \"type\",\n type: \"string\",\n format: \"\",\n },\n ];\n\n static getAttributeTypeMap() {\n return ValidationError.attributeTypeMap;\n }\n}\n\nexport class HTTPValidationError {\n detail!: Array<ValidationError>;\n\n static readonly discriminator: string | undefined = undefined;\n\n static readonly mapping: { [index: string]: string } | undefined = undefined;\n\n static readonly attributeTypeMap: Array<{\n name: string;\n baseName: string;\n type: string;\n format: string;\n }> = [\n {\n name: \"detail\",\n baseName: \"detail\",\n type: \"Array<ValidationError>\",\n format: \"\",\n },\n ];\n\n static getAttributeTypeMap() {\n return HTTPValidationError.attributeTypeMap;\n }\n}\n","import { Webhook as StdWh } from \"standardwebhooks\";\nexport { WebhookVerificationError } from \"standardwebhooks\";\n\nexport interface WebhookRequiredHeaders {\n \"svix-id\": string;\n \"svix-timestamp\": string;\n \"svix-signature\": string;\n}\n\nexport interface WebhookUnbrandedRequiredHeaders {\n \"webhook-id\": string;\n \"webhook-timestamp\": string;\n \"webhook-signature\": string;\n}\n\nexport interface WebhookOptions {\n format?: \"raw\";\n}\n\nexport class Webhook {\n private readonly inner: StdWh;\n\n constructor(secret: string | Uint8Array, options?: WebhookOptions) {\n this.inner = new StdWh(secret, options);\n }\n\n public verify(\n payload: string | Buffer,\n headers_:\n | WebhookRequiredHeaders\n | WebhookUnbrandedRequiredHeaders\n | Record<string, string>\n ): undefined {\n const headers: Record<string, string> = {};\n for (const key of Object.keys(headers_)) {\n headers[key.toLowerCase()] = (headers_ as Record<string, string>)[key];\n }\n\n headers[\"webhook-id\"] = headers[\"svix-id\"] ?? headers[\"webhook-id\"] ?? \"\";\n headers[\"webhook-signature\"] =\n headers[\"svix-signature\"] ?? headers[\"webhook-signature\"] ?? \"\";\n headers[\"webhook-timestamp\"] =\n headers[\"svix-timestamp\"] ?? headers[\"webhook-timestamp\"] ?? \"\";\n\n this.inner.verify(payload, headers, { jsonParse: false });\n }\n\n public sign(msgId: string, timestamp: Date, payload: string | Buffer): string {\n return this.inner.sign(msgId, timestamp, payload);\n }\n}\n","// this file is @generated\n/** Defines the ordering in a listing of results. */\nexport enum Ordering {\n Ascending = \"ascending\",\n Descending = \"descending\",\n}\n\nexport const OrderingSerializer = {\n _fromJsonObject(object: any): Ordering {\n return object;\n },\n\n _toJsonObject(self: Ordering): any {\n return self;\n },\n};\n","import {\n createSvixRequestContext,\n type SvixRequestContext,\n type SvixRequestContextOptions,\n} from \"../request\";\n\nexport class SvixInternal {\n private readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, options: SvixRequestContextOptions = {}) {\n this.requestCtx = createSvixRequestContext(token, options);\n }\n\n public getRequestCtx(): SvixRequestContext {\n return this.requestCtx;\n }\n}\n","// this file is @generated\n\nexport interface SinkInCommon {\n description?: string;\n /**\n * Maximum messages per second to send to this endpoint.\n *\n * Outgoing messages will be throttled to this rate.\n */\n throttleRate?: number | null;\n /** Optional unique identifier for the sink. */\n uid?: string | null;\n /**\n * The endpoint's verification secret.\n *\n * Format: `base64` encoded random bytes optionally prefixed with `whsec_`.\n * It is recommended to not set this and let the server generate the secret.\n */\n secret?: string | null;\n disabled?: boolean;\n eventTypes?: string[] | null;\n /** List of message channels this sink listens to (omit for all). */\n channels?: string[] | null;\n metadata?: { [key: string]: string };\n}\n\nexport const SinkInCommonSerializer = {\n _fromJsonObject(object: any): SinkInCommon {\n return {\n description: object[\"description\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n secret: object[\"secret\"],\n disabled: object[\"disabled\"],\n eventTypes: object[\"eventTypes\"],\n channels: object[\"channels\"],\n metadata: object[\"metadata\"],\n };\n },\n\n _toJsonObject(self: SinkInCommon): any {\n return {\n description: self.description,\n throttleRate: self.throttleRate,\n uid: self.uid,\n secret: self.secret,\n disabled: self.disabled,\n eventTypes: self.eventTypes,\n channels: self.channels,\n metadata: self.metadata,\n };\n },\n};\n","// this file is @generated\nimport { type EndpointIn, EndpointInSerializer } from \"./endpointIn\";\nimport { type SinkInCommon, SinkInCommonSerializer } from \"./sinkInCommon\";\n// biome-ignore lint/suspicious/noEmptyInterface: backwards compat\ninterface _AutoConfigSinkTypeFields {}\n\ninterface AutoConfigSinkTypePoller {\n type: \"poller\";\n config: SinkInCommon;\n}\n\ninterface AutoConfigSinkTypeHttp {\n type: \"http\";\n config: EndpointIn;\n}\n\nexport type AutoConfigSinkType = _AutoConfigSinkTypeFields &\n (AutoConfigSinkTypePoller | AutoConfigSinkTypeHttp);\n\nexport const AutoConfigSinkTypeSerializer = {\n _fromJsonObject(object: any): AutoConfigSinkType {\n const type = object[\"type\"];\n\n function getConfig(type: string): any {\n switch (type) {\n case \"poller\":\n return SinkInCommonSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return EndpointInSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n return {\n type,\n config: getConfig(type),\n };\n },\n\n _toJsonObject(self: AutoConfigSinkType): any {\n // biome-ignore lint/suspicious/noImplicitAnyLet: the return type needs to be any\n let config;\n switch (self.type) {\n case \"poller\":\n config = SinkInCommonSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = EndpointInSerializer._toJsonObject(self.config);\n break;\n }\n\n return {\n type: self.type,\n config: config,\n };\n },\n};\n","// this file is @generated\nimport {\n type AutoConfigSinkType,\n AutoConfigSinkTypeSerializer,\n} from \"./autoConfigSinkType\";\nimport { type EndpointIn, EndpointInSerializer } from \"./endpointIn\";\n\nexport interface SubscribeIn {\n endpoint?: EndpointIn | null;\n sink?: AutoConfigSinkType | null;\n}\n\nexport const SubscribeInSerializer = {\n _fromJsonObject(object: any): SubscribeIn {\n return {\n endpoint:\n object[\"endpoint\"] != null\n ? EndpointInSerializer._fromJsonObject(object[\"endpoint\"])\n : undefined,\n sink:\n object[\"sink\"] != null\n ? AutoConfigSinkTypeSerializer._fromJsonObject(object[\"sink\"])\n : undefined,\n };\n },\n\n _toJsonObject(self: SubscribeIn): any {\n return {\n endpoint:\n self.endpoint != null\n ? EndpointInSerializer._toJsonObject(self.endpoint)\n : undefined,\n sink:\n self.sink != null\n ? AutoConfigSinkTypeSerializer._toJsonObject(self.sink)\n : undefined,\n };\n },\n};\n","// this file is @generated\n\nimport { type EndpointOut, EndpointOutSerializer } from \"../models/endpointOut\";\nimport { type SubscribeIn, SubscribeInSerializer } from \"../models/subscribeIn\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class EndpointAutoConfig {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Update an auto-config endpoint by providing endpoint details. */\n public async update(\n appId: string,\n endpointId: string,\n subscribeIn: SubscribeIn = {}\n ): Promise<EndpointOut> {\n const request = new SvixRequest(\n HttpMethod.PUT,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/auto-config\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(SubscribeInSerializer._toJsonObject(subscribeIn));\n\n return await request.send(this.requestCtx, EndpointOutSerializer._fromJsonObject);\n }\n}\n","// this file is @generated\n\nimport {\n type EndpointTransformationIn,\n EndpointTransformationInSerializer,\n} from \"../models/endpointTransformationIn\";\nimport { EndpointAutoConfig } from \"./endpointAutoConfig\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport class Endpoint {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n public get autoConfig() {\n return new EndpointAutoConfig(this.requestCtx);\n }\n\n /**\n * This operation was renamed to `set-transformation`.\n *\n * @deprecated\n */\n public async transformationPartialUpdate(\n appId: string,\n endpointId: string,\n endpointTransformationIn: EndpointTransformationIn = {}\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.PATCH,\n \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(\n EndpointTransformationInSerializer._toJsonObject(endpointTransformationIn)\n );\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","import { SvixInternal } from \"./api_internal\";\nimport { Endpoint as InternalEndpoint } from \"./api_internal/endpoint\";\nimport type { EndpointIn } from \"./models/endpointIn\";\nimport type { EndpointOut } from \"./models/endpointOut\";\nimport type { SvixRequestContext } from \"./request\";\nimport {\n Webhook,\n type WebhookRequiredHeaders,\n type WebhookUnbrandedRequiredHeaders,\n} from \"./webhook\";\n\nconst AUTOCONFIG_TOKEN_PREFIX_V1 = \"auto_v1_\";\nconst UNSUPPORTED_TOKEN_VERSION =\n \"Unsupported token version. You might need to update the Svix SDK to use this token\";\n\nexport interface AutoConfigTokenContentV1 {\n aid: string;\n eid: string;\n surl: string;\n esec: string;\n tok: string;\n}\n\nexport class AutoConfigError extends Error {\n public constructor(message = \"invalid token\") {\n super(message);\n this.name = \"AutoConfigError\";\n }\n}\n\nexport function isAutoConfigTokenContentV1(\n value: unknown\n): value is AutoConfigTokenContentV1 {\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n\n const { aid, eid, surl, esec, tok } = value as AutoConfigTokenContentV1;\n return (\n typeof aid === \"string\" &&\n typeof eid === \"string\" &&\n typeof surl === \"string\" &&\n typeof esec === \"string\" &&\n typeof tok === \"string\"\n );\n}\n\nexport function decodeAutoconfigTokenV1(token: string): AutoConfigTokenContentV1 {\n if (!token.startsWith(AUTOCONFIG_TOKEN_PREFIX_V1)) {\n throw new AutoConfigError(UNSUPPORTED_TOKEN_VERSION);\n }\n const b64 = token.slice(AUTOCONFIG_TOKEN_PREFIX_V1.length);\n let json: string;\n\n try {\n json = Buffer.from(b64, \"base64\").toString(\"utf8\");\n } catch {\n throw new AutoConfigError();\n }\n\n let parsed: unknown;\n try {\n parsed = JSON.parse(json);\n } catch {\n throw new AutoConfigError();\n }\n\n if (!isAutoConfigTokenContentV1(parsed)) {\n throw new AutoConfigError();\n }\n\n return parsed;\n}\n\nexport class AutoConfig {\n private readonly appId: string;\n private readonly endpointId: string;\n private readonly endpointIn: EndpointIn;\n private readonly webhook: Webhook;\n private readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, endpoint: EndpointIn) {\n const content = decodeAutoconfigTokenV1(token);\n let webhook: Webhook;\n try {\n webhook = new Webhook(content.esec);\n } catch {\n throw new AutoConfigError();\n }\n\n this.appId = content.aid;\n this.endpointId = content.eid;\n this.endpointIn = endpoint;\n this.webhook = webhook;\n\n const svix = new SvixInternal(content.tok, { serverUrl: content.surl });\n this.requestCtx = svix.getRequestCtx();\n }\n\n public subscribe(): Promise<EndpointOut> {\n return new InternalEndpoint(this.requestCtx).autoConfig.update(\n this.appId,\n this.endpointId,\n {\n endpoint: this.endpointIn,\n }\n );\n }\n\n public verify(\n payload: string | Buffer,\n headers:\n | WebhookRequiredHeaders\n | WebhookUnbrandedRequiredHeaders\n | Record<string, string>\n ): unknown {\n return this.webhook.verify(payload, headers);\n }\n}\n","// this file is @generated\n\nexport interface PollerV2CommitIn {\n offset: number;\n}\n\nexport const PollerV2CommitInSerializer = {\n _fromJsonObject(object: any): PollerV2CommitIn {\n return {\n offset: object[\"offset\"],\n };\n },\n\n _toJsonObject(self: PollerV2CommitIn): any {\n return {\n offset: self.offset,\n };\n },\n};\n","// this file is @generated\n\n/** The MessageOut equivalent of polling endpoint */\nexport interface PollerV2MessageOut {\n offset: number;\n headers?: { [key: string]: string } | null;\n /** Optional unique identifier for the message */\n eventId?: string | null;\n /** The event type's name */\n eventType: string;\n payload: any;\n /** List of free-form identifiers that endpoints can filter by */\n channels?: string[] | null;\n /** The Message's ID. */\n id: string;\n timestamp: Date;\n tags?: string[] | null;\n deliverAt?: Date | null;\n}\n\nexport const PollerV2MessageOutSerializer = {\n _fromJsonObject(object: any): PollerV2MessageOut {\n return {\n offset: object[\"offset\"],\n headers: object[\"headers\"],\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n channels: object[\"channels\"],\n id: object[\"id\"],\n timestamp: new Date(object[\"timestamp\"]),\n tags: object[\"tags\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n };\n },\n\n _toJsonObject(self: PollerV2MessageOut): any {\n return {\n offset: self.offset,\n headers: self.headers,\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n channels: self.channels,\n id: self.id,\n timestamp: self.timestamp,\n tags: self.tags,\n deliverAt: self.deliverAt,\n };\n },\n};\n","// this file is @generated\nimport {\n type PollerV2MessageOut,\n PollerV2MessageOutSerializer,\n} from \"./pollerV2MessageOut\";\n\nexport interface PollerV2PollOut {\n data: PollerV2MessageOut[];\n done: boolean;\n}\n\nexport const PollerV2PollOutSerializer = {\n _fromJsonObject(object: any): PollerV2PollOut {\n return {\n data: object[\"data\"].map((item: PollerV2MessageOut) =>\n PollerV2MessageOutSerializer._fromJsonObject(item)\n ),\n done: object[\"done\"],\n };\n },\n\n _toJsonObject(self: PollerV2PollOut): any {\n return {\n data: self.data.map((item) => PollerV2MessageOutSerializer._toJsonObject(item)),\n done: self.done,\n };\n },\n};\n","// this file is @generated\n\nimport {\n type PollerV2CommitIn,\n PollerV2CommitInSerializer,\n} from \"../models/pollerV2CommitIn\";\nimport {\n type PollerV2PollOut,\n PollerV2PollOutSerializer,\n} from \"../models/pollerV2PollOut\";\nimport type { StartingPosition } from \"../models/startingPosition\";\nimport { HttpMethod, SvixRequest, type SvixRequestContext } from \"../request\";\n\nexport interface MessagePollerv2ConsumerPollOptions {\n limit?: number;\n /** Lease duration in milliseconds. */\n leaseDurationMs?: number;\n startingPosition?: StartingPosition;\n}\n\nexport interface MessagePollerv2ConsumerCommitOptions {\n idempotencyKey?: string;\n}\n\nexport class MessagePollerv2 {\n public constructor(private readonly requestCtx: SvixRequestContext) {}\n\n /** Poll messages from a sink. */\n public async consumerPoll(\n appId: string,\n sinkId: string,\n consumerId: string,\n options?: MessagePollerv2ConsumerPollOptions\n ): Promise<PollerV2PollOut> {\n const request = new SvixRequest(\n HttpMethod.GET,\n \"/api/v1/app/{app_id}/polling-endpoint/{sink_id}/consumer/{consumer_id}\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setQueryParams({\n limit: options?.limit,\n lease_duration_ms: options?.leaseDurationMs,\n starting_position: options?.startingPosition,\n });\n\n return await request.send(this.requestCtx, PollerV2PollOutSerializer._fromJsonObject);\n }\n\n /** Ack a message offset for a sink's consumer. */\n public async consumerCommit(\n appId: string,\n sinkId: string,\n consumerId: string,\n pollerV2CommitIn: PollerV2CommitIn,\n options?: MessagePollerv2ConsumerCommitOptions\n ): Promise<void> {\n const request = new SvixRequest(\n HttpMethod.POST,\n \"/api/v1/app/{app_id}/polling-endpoint/{sink_id}/consumer/{consumer_id}/commit\"\n );\n\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setHeaderParam(\"idempotency-key\", options?.idempotencyKey);\n request.setBody(PollerV2CommitInSerializer._toJsonObject(pollerV2CommitIn));\n\n return await request.sendNoResponseBody(this.requestCtx);\n }\n}\n","import { SvixInternal } from \"./api_internal\";\nimport { Endpoint as InternalEndpoint } from \"./api_internal/endpoint\";\nimport {\n MessagePollerv2 as InternalMessagePollerv2,\n type MessagePollerv2ConsumerCommitOptions,\n type MessagePollerv2ConsumerPollOptions,\n} from \"./api_internal/messagePollerv2\";\nimport { decodeAutoconfigTokenV1 } from \"./autoconfig\";\nimport type { EndpointOut } from \"./models/endpointOut\";\nimport type { PollerV2PollOut } from \"./models/pollerV2PollOut\";\nimport type { SinkInCommon } from \"./models/sinkInCommon\";\nimport type { SvixRequestContext } from \"./request\";\n\nexport class AutoConfigConsumer {\n private readonly appId: string;\n private readonly sinkId: string;\n private readonly sinkIn: SinkInCommon;\n private readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, sinkIn: SinkInCommon) {\n const content = decodeAutoconfigTokenV1(token);\n\n this.appId = content.aid;\n this.sinkId = content.eid;\n this.sinkIn = sinkIn;\n\n const svix = new SvixInternal(content.tok, { serverUrl: content.surl });\n this.requestCtx = svix.getRequestCtx();\n }\n\n public subscribe(): Promise<EndpointOut> {\n return new InternalEndpoint(this.requestCtx).autoConfig.update(\n this.appId,\n this.sinkId,\n {\n sink: {\n type: \"poller\",\n config: this.sinkIn,\n },\n }\n );\n }\n\n public receive(\n consumerId: string,\n options?: MessagePollerv2ConsumerPollOptions\n ): Promise<PollerV2PollOut> {\n return new InternalMessagePollerv2(this.requestCtx).consumerPoll(\n this.appId,\n this.sinkId,\n consumerId,\n options\n );\n }\n\n public commit(\n consumerId: string,\n offset: number,\n options?: MessagePollerv2ConsumerCommitOptions\n ): Promise<void> {\n return new InternalMessagePollerv2(this.requestCtx).consumerCommit(\n this.appId,\n this.sinkId,\n consumerId,\n {\n offset,\n },\n options\n );\n }\n}\n","// this file is @generated\nimport { Application } from \"./api/application\";\nimport { Authentication } from \"./api/authentication\";\nimport { BackgroundTask } from \"./api/backgroundTask\";\nimport { Connector } from \"./api/connector\";\nimport { Endpoint } from \"./api/endpoint\";\nimport { Environment } from \"./api/environment\";\nimport { EventType } from \"./api/eventType\";\nimport { Health } from \"./api/health\";\nimport { Ingest } from \"./api/ingest\";\nimport { Integration } from \"./api/integration\";\nimport { Message } from \"./api/message\";\nimport { MessageAttempt } from \"./api/messageAttempt\";\nimport { OperationalWebhook } from \"./api/operationalWebhook\";\nimport { Statistics } from \"./api/statistics\";\nimport { Streaming } from \"./api/streaming\";\nimport { createSvixRequestContext, type SvixRequestContext } from \"./request\";\n\nexport { type PostOptions, ApiException } from \"./util\";\nexport { HTTPValidationError, HttpErrorOut, ValidationError } from \"./HttpErrors\";\nexport * from \"./webhook\";\nexport * from \"./models/index\";\nimport type { XOR } from \"./util\";\n\nexport type { ApplicationListOptions } from \"./api/application\";\nexport type { BackgroundTaskListOptions } from \"./api/backgroundTask\";\nexport type { EndpointListOptions, EndpointGetStatsOptions } from \"./api/endpoint\";\nexport type { EventTypeListOptions } from \"./api/eventType\";\nexport type { IntegrationListOptions } from \"./api/integration\";\nexport { type MessageListOptions, messageInRaw } from \"./api/message\";\nexport type { MessageAttemptListByEndpointOptions } from \"./api/messageAttempt\";\n\nexport type SvixOptions = {\n debug?: boolean;\n serverUrl?: string;\n /** Time in milliseconds to wait for requests to get a response. */\n requestTimeout?: number;\n /**\n * Custom fetch implementation to use for HTTP requests.\n * Useful for testing, adding custom middleware, or running in non-standard environments.\n */\n fetch?: typeof fetch;\n} & XOR<\n {\n /** List of delays (in milliseconds) to wait before each retry attempt.*/\n retryScheduleInMs?: number[];\n },\n {\n /** The number of times the client will retry if a server-side error\n * or timeout is received.\n * Default: 2\n */\n numRetries?: number;\n }\n>;\n\nexport class Svix {\n protected readonly requestCtx: SvixRequestContext;\n\n public constructor(token: string, options: SvixOptions = {}) {\n this.requestCtx = createSvixRequestContext(token, options);\n }\n\n public get application() {\n return new Application(this.requestCtx);\n }\n\n public get authentication() {\n return new Authentication(this.requestCtx);\n }\n\n public get backgroundTask() {\n return new BackgroundTask(this.requestCtx);\n }\n\n public get connector() {\n return new Connector(this.requestCtx);\n }\n\n public get endpoint() {\n return new Endpoint(this.requestCtx);\n }\n\n public get environment() {\n return new Environment(this.requestCtx);\n }\n\n public get eventType() {\n return new EventType(this.requestCtx);\n }\n\n public get health() {\n return new Health(this.requestCtx);\n }\n\n public get ingest() {\n return new Ingest(this.requestCtx);\n }\n\n public get integration() {\n return new Integration(this.requestCtx);\n }\n\n public get message() {\n return new Message(this.requestCtx);\n }\n\n public get messageAttempt() {\n return new MessageAttempt(this.requestCtx);\n }\n\n public get operationalWebhook() {\n return new OperationalWebhook(this.requestCtx);\n }\n\n public get statistics() {\n return new Statistics(this.requestCtx);\n }\n\n public get streaming() {\n return new Streaming(this.requestCtx);\n }\n}\n\n// Last to avoid circular dependency\nexport { AutoConfig, AutoConfigError } from \"./autoconfig\";\nexport { AutoConfigConsumer } from \"./autoconfigConsumer\";\n"],"mappings":"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"}
|