gemi 0.36.0 → 0.36.2
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/chunk-abmx623n.js +61 -0
- package/dist/chunk-abmx623n.js.map +55 -0
- package/dist/chunk-njyeb40r.js +48 -0
- package/dist/chunk-njyeb40r.js.map +409 -0
- package/dist/email/Email.d.ts.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +3 -3
- package/dist/kernel/index.js +1 -1
- package/dist/services/email/drivers/types.d.ts +1 -0
- package/dist/services/email/drivers/types.d.ts.map +1 -1
- package/dist/services/index.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-rat133ng.js +0 -76
- package/dist/chunk-rat133ng.js.map +0 -227
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/applicationIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/applicationOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/applicationPatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseApplicationOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/util.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/request.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/application.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/apiTokenOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/appPortalCapability.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/appPortalAccessIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/appPortalAccessOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/applicationTokenExpireIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/rotatePollerTokenIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamPortalAccessIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamTokenExpireIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/dashboardAccessOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/authentication.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/backgroundTaskStatus.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/backgroundTaskType.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/backgroundTaskOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseBackgroundTaskOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/backgroundTask.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/connectorKind.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/connectorProduct.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/connectorIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/connectorOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/connectorPatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/connectorUpdate.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseConnectorOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/connector.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messageStatus.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/statusCodeClass.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/bulkReplayIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointHeadersIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointHeadersOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointHeadersPatchIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointPatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointSecretOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointSecretRotateIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointStats.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointTransformationIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointTransformationOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointTransformationPatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointUpdate.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventExampleIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messageOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/recoverIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/recoverOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/replayIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/replayOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/endpoint.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypeIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/environmentIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypeOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/environmentOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/environment.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypeImportOpenApiIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypeFromOpenApi.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypeImportOpenApiOutData.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypeImportOpenApiOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypePatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventTypeUpdate.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseEventTypeOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/eventType.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/health.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestSourceConsumerPortalAccessIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointHeadersIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointHeadersOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointSecretIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointSecretOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointTransformationOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointTransformationPatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestEndpointUpdate.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseIngestEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/ingestEndpoint.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/adobeSignConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/airwallexConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/checkbookConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/cronConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/docusignConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/easypostConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/githubConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/hubspotConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/metaConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/orumIoConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/pandaDocConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/portIoConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/rutterConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/segmentConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/shopifyConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/slackConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/stripeConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/svixConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/telnyxConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/vapiConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/veriffConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/zoomConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestSourceIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/adobeSignConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/airwallexConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/checkbookConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/docusignConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/easypostConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/githubConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/hubspotConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/metaConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/orumIoConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/pandaDocConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/portIoConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/rutterConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/segmentConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/shopifyConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/slackConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/stripeConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/svixConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/telnyxConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/vapiConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/veriffConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/zoomConfigOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ingestSourceOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseIngestSourceOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/rotateTokenOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/ingestSource.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/ingest.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/integrationIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/integrationKeyOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/integrationOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/integrationUpdate.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseIntegrationOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/integration.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/expungeAllContentsOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseMessageOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messagePrecheckIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messagePrecheckOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/pollingEndpointConsumerSeekIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/pollingEndpointConsumerSeekOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/pollingEndpointMessageOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/pollingEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/messagePoller.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messageIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/message.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/emptyResponse.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messageStatusText.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointMessageOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseEndpointMessageOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messageAttemptTriggerType.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messageAttemptOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseMessageAttemptOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/messageEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseMessageEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/messageAttempt.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/operationalWebhookEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseOperationalWebhookEndpointOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/operationalWebhookEndpointHeadersIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/operationalWebhookEndpointHeadersOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/operationalWebhookEndpointIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/operationalWebhookEndpointSecretIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/operationalWebhookEndpointSecretOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/operationalWebhookEndpointUpdate.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/operationalWebhookEndpoint.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/operationalWebhook.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/aggregateEventTypesOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/appUsageStatsIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/appUsageStatsOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/statistics.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/httpSinkHeadersPatchIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/sinkTransformationOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamEventTypeOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseStreamEventTypeOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamEventTypeIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamEventTypePatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/streamingEventType.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/createStreamEventsIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/createStreamEventsOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/eventStreamOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/streamingEvents.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/azureBlobStorageConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/googleCloudStorageConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/s3Config.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/sinkHttpConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/sinkOtelV1Config.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/sinkStatus.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamSinkOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseStreamSinkOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/sinkSecretOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/sinkTransformIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/sinkStatusIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamSinkIn.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/amazonS3PatchConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/azureBlobStoragePatchConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/googleCloudStoragePatchConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/httpPatchConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/otelTracingPatchConfig.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamSinkPatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/streamingSink.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/listResponseStreamOut.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/streamPatch.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/streamingStream.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/api/streaming.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/HttpErrors.js", "../../../node_modules/.bun/standardwebhooks@1.0.0/node_modules/standardwebhooks/dist/timing_safe_equal.js", "../../../node_modules/.bun/@stablelib+base64@1.0.1/node_modules/@stablelib/base64/lib/base64.js", "../../../node_modules/.bun/fast-sha256@1.3.0/node_modules/fast-sha256/sha256.js", "../../../node_modules/.bun/standardwebhooks@1.0.0/node_modules/standardwebhooks/dist/index.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/webhook.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/endpointDisabledTrigger.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/ordering.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/models/index.js", "../../../node_modules/.bun/svix@1.92.2/node_modules/svix/dist/index.js", "../services/file-storage/drivers/FileStorageDriver.ts", "../services/file-storage/drivers/FileSystemDriver.ts", "../services/file-storage/FileStorageServiceProvider.ts", "../../../node_modules/.bun/@aws-sdk+middleware-expect-continue@3.972.8/node_modules/@aws-sdk/middleware-expect-continue/dist-es/index.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/constants.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/stringUnionSelector.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsMiddleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumAlgorithmForRequest.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumLocationName.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/hasHeader.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/hasHeaderWithPrefix.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/isStreaming.js", "../../../node_modules/.bun/tslib@2.8.1/node_modules/tslib/modules/index.js", "../../../node_modules/.bun/@smithy+util-buffer-from@2.2.0/node_modules/@smithy/util-buffer-from/dist-es/index.js", "../../../node_modules/.bun/@smithy+util-utf8@2.3.0/node_modules/@smithy/util-utf8/dist-es/fromUtf8.js", "../../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/module/convertToBuffer.js", "../../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/module/isEmptyData.js", "../../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/module/numToUint8.js", "../../../node_modules/.bun/@aws-crypto+util@5.2.0/node_modules/@aws-crypto/util/build/module/uint32ArrayFrom.js", "../../../node_modules/.bun/@aws-crypto+crc32c@5.2.0/node_modules/@aws-crypto/crc32c/build/module/aws_crc32c.js", "../../../node_modules/.bun/@aws-crypto+crc32c@5.2.0/node_modules/@aws-crypto/crc32c/build/module/index.js", "../../../node_modules/.bun/@aws-sdk+crc64-nvme@3.972.5/node_modules/@aws-sdk/crc64-nvme/dist-es/Crc64Nvme.js", "../../../node_modules/.bun/@aws-sdk+crc64-nvme@3.972.5/node_modules/@aws-sdk/crc64-nvme/dist-es/crc64-nvme-crt-container.js", "../../../node_modules/.bun/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/module/aws_crc32.js", "../../../node_modules/.bun/@aws-crypto+crc32@5.2.0/node_modules/@aws-crypto/crc32/build/module/index.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getCrc32ChecksumAlgorithmFunction.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/types.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/selectChecksumAlgorithmFunction.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/stringHasher.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsInputMiddleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsResponseMiddleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksumAlgorithmListForResponse.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/isChecksumWithPartNumber.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/validateChecksumFromResponse.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksum.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getFlexibleChecksumsPlugin.js", "../../../node_modules/.bun/@aws-sdk+middleware-flexible-checksums@3.974.4/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/resolveFlexibleChecksumsConfig.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/S3Client.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-endpoint-middleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-middleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-expires-middleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCache.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCacheEntry.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityProviderImpl.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/SignatureV4S3Express.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/constants.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressMiddleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressHttpSigningMiddleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/signS3Express.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js", "../../../node_modules/.bun/@aws-sdk+util-arn-parser@3.972.3/node_modules/@aws-sdk/util-arn-parser/dist-es/index.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/bucket-endpoint-middleware.js", "../../../node_modules/.bun/@aws-sdk+middleware-sdk-s3@3.972.24/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/validate-bucket-name.js", "../../../node_modules/.bun/@smithy+eventstream-serde-config-resolver@4.3.12/node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthSchemeProvider.js", "../../../node_modules/.bun/@aws-sdk+signature-v4-multi-region@3.996.12/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js", "../../../node_modules/.bun/@aws-sdk+signature-v4-multi-region@3.996.12/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/signature-v4-crt-container.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/endpoint/endpointResolver.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/endpoint/ruleset.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/commands/CreateSessionCommand.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/endpoint/EndpointParameters.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/schemas/schemas_0.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/models/S3ServiceException.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/models/errors.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/runtimeConfig.js", "../../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.25/node_modules/@aws-sdk/credential-provider-node/dist-es/defaultProvider.js", "../../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.25/node_modules/@aws-sdk/credential-provider-node/dist-es/remoteProvider.js", "../../../node_modules/.bun/@aws-sdk+credential-provider-node@3.972.25/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js", "../../../node_modules/.bun/@aws-sdk+middleware-bucket-endpoint@3.972.8/node_modules/@aws-sdk/middleware-bucket-endpoint/dist-es/NodeUseArnRegionConfigOptions.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/Int64.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js", "../../../node_modules/.bun/@smithy+eventstream-codec@4.2.12/node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js", "../../../node_modules/.bun/@smithy+eventstream-serde-universal@4.2.12/node_modules/@smithy/eventstream-serde-universal/dist-es/getChunkedStream.js", "../../../node_modules/.bun/@smithy+eventstream-serde-universal@4.2.12/node_modules/@smithy/eventstream-serde-universal/dist-es/getUnmarshalledStream.js", "../../../node_modules/.bun/@smithy+eventstream-serde-universal@4.2.12/node_modules/@smithy/eventstream-serde-universal/dist-es/EventStreamMarshaller.js", "../../../node_modules/.bun/@smithy+eventstream-serde-node@4.2.12/node_modules/@smithy/eventstream-serde-node/dist-es/EventStreamMarshaller.js", "../../../node_modules/.bun/@smithy+eventstream-serde-node@4.2.12/node_modules/@smithy/eventstream-serde-node/dist-es/utils.js", "../../../node_modules/.bun/@smithy+eventstream-serde-node@4.2.12/node_modules/@smithy/eventstream-serde-node/dist-es/provider.js", "../../../node_modules/.bun/@smithy+hash-stream-node@4.2.12/node_modules/@smithy/hash-stream-node/dist-es/HashCalculator.js", "../../../node_modules/.bun/@smithy+hash-stream-node@4.2.12/node_modules/@smithy/hash-stream-node/dist-es/readableStreamHasher.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/runtimeConfig.shared.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/runtimeExtensions.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/auth/httpAuthExtensionConfiguration.js", "../../../node_modules/.bun/@aws-sdk+middleware-ssec@3.972.8/node_modules/@aws-sdk/middleware-ssec/dist-es/index.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectCommand.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/commands/ListObjectsV2Command.js", "../../../node_modules/.bun/@aws-sdk+client-s3@3.1015.0/node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectCommand.js", "../services/file-storage/drivers/S3Driver.ts", "../services/rate-limiter/drivers/RateLimiterDriver.ts", "../services/rate-limiter/drivers/InMemoryRateLimiterDriver.ts", "../services/rate-limiter/RateLimiterServiceProvider.ts", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/decode-strings.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/pass-through-decoder.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/base64-decoder.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/qp-decoder.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/mime-node.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/html-entities.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/text-format.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/address-parser.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/base64-encoder.js", "../../../node_modules/.bun/postal-mime@2.7.4/node_modules/postal-mime/src/postal-mime.js", "../../../node_modules/.bun/resend@6.12.3/node_modules/resend/dist/index.mjs", "../services/email/drivers/EmailDriver.ts", "../services/email/drivers/ResendDriver.ts", "../services/email/EmailServiceProvider.ts", "../services/pubsub/BroadcastingServiceProvider.ts", "../services/router/ViewRouterServiceProvider.ts", "../services/router/ApiRouterServiceProvider.ts", "../services/logging/LoggingServiceProvider.ts", "../services/queue/QueueServiceProvider.ts", "../services/queue/Job.ts", "../services/image-optimization/drivers/SharpDriver.ts", "../services/image-optimization/drivers/ImageOptimizationDriver.ts", "../services/image-optimization/ImageOptimizationServiceProvider.ts", "../auth/oauth/OAuthProvider.ts", "../auth/oauth/GoogleOAuthProvider.ts", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/globals.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/TwitterPaginator.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/dm.paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/types/v1/tweet.v1.types.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/types/v1/dm.v1.types.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/types/errors.types.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/types/client.types.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/types/plugins/client.plugins.types.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v1/client.v1.write.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/settings.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/helpers.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/stream/TweetStream.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client-mixins/request-handler.helper.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/stream/TweetStreamEventCombiner.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/stream/TweetStreamParser.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/plugins/helpers.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client-mixins/oauth1.helper.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client-mixins/form-data.helper.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client-mixins/request-param.helper.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client-mixins/oauth2.helper.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client-mixins/request-maker.mixin.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client.base.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client.subclient.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/tweet.paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/mutes.paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/followers.paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/friends.paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/user.paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/list.paginator.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v1/client.v1.read.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v1/media-helpers.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v1/client.v1.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v2/includes.v2.helper.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/v2.paginator.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/tweet.paginator.v2.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/user.paginator.v2.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/list.paginator.v2.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v2-labs/client.v2.labs.read.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/paginators/dm.paginator.v2.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v2/client.v2.read.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v2-labs/client.v2.labs.write.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v2/client.v2.write.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v2-labs/client.v2.labs.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/v2/client.v2.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client/readonly.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client/readwrite.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/ads/client.ads.read.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/ads/client.ads.write.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/ads-sandbox/client.ads-sandbox.read.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/ads-sandbox/client.ads-sandbox.write.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/ads-sandbox/client.ads-sandbox.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/ads/client.ads.js", "../../../node_modules/.bun/twitter-api-v2@1.29.0/node_modules/twitter-api-v2/dist/esm/client/index.js", "../auth/oauth/XOAuthProvider.ts", "../services/cron/CronServiceProvider.ts", "../services/cron/CronJob.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationInSerializer = void 0;\nexports.ApplicationInSerializer = {\n _fromJsonObject(object) {\n return {\n metadata: object[\"metadata\"],\n name: object[\"name\"],\n rateLimit: object[\"rateLimit\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n return {\n metadata: self.metadata,\n name: self.name,\n rateLimit: self.rateLimit,\n throttleRate: self.throttleRate,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=applicationIn.js.map",
|
|
6
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationOutSerializer = void 0;\nexports.ApplicationOutSerializer = {\n _fromJsonObject(object) {\n return {\n createdAt: new Date(object[\"createdAt\"]),\n id: object[\"id\"],\n metadata: object[\"metadata\"],\n name: object[\"name\"],\n rateLimit: object[\"rateLimit\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n createdAt: self.createdAt,\n id: self.id,\n metadata: self.metadata,\n name: self.name,\n rateLimit: self.rateLimit,\n throttleRate: self.throttleRate,\n uid: self.uid,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=applicationOut.js.map",
|
|
7
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationPatchSerializer = void 0;\nexports.ApplicationPatchSerializer = {\n _fromJsonObject(object) {\n return {\n metadata: object[\"metadata\"],\n name: object[\"name\"],\n rateLimit: object[\"rateLimit\"],\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n return {\n metadata: self.metadata,\n name: self.name,\n rateLimit: self.rateLimit,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=applicationPatch.js.map",
|
|
8
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseApplicationOutSerializer = void 0;\nconst applicationOut_1 = require(\"./applicationOut\");\nexports.ListResponseApplicationOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => applicationOut_1.ApplicationOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => applicationOut_1.ApplicationOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseApplicationOut.js.map",
|
|
9
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiException = void 0;\nclass ApiException extends Error {\n constructor(code, body, headers) {\n super(`HTTP-Code: ${code}\\nHeaders: ${JSON.stringify(headers)}`);\n this.code = code;\n this.body = body;\n this.headers = {};\n headers.forEach((value, name) => {\n this.headers[name] = value;\n });\n }\n}\nexports.ApiException = ApiException;\n//# sourceMappingURL=util.js.map",
|
|
10
|
+
"\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SvixRequest = exports.HttpMethod = exports.LIB_VERSION = void 0;\nconst util_1 = require(\"./util\");\nexports.LIB_VERSION = \"1.92.2\";\nconst USER_AGENT = `svix-libs/${exports.LIB_VERSION}/javascript`;\nvar HttpMethod;\n(function (HttpMethod) {\n HttpMethod[\"GET\"] = \"GET\";\n HttpMethod[\"HEAD\"] = \"HEAD\";\n HttpMethod[\"POST\"] = \"POST\";\n HttpMethod[\"PUT\"] = \"PUT\";\n HttpMethod[\"DELETE\"] = \"DELETE\";\n HttpMethod[\"CONNECT\"] = \"CONNECT\";\n HttpMethod[\"OPTIONS\"] = \"OPTIONS\";\n HttpMethod[\"TRACE\"] = \"TRACE\";\n HttpMethod[\"PATCH\"] = \"PATCH\";\n})(HttpMethod = exports.HttpMethod || (exports.HttpMethod = {}));\nclass SvixRequest {\n constructor(method, path) {\n this.method = method;\n this.path = path;\n this.queryParams = {};\n this.headerParams = {};\n }\n setPathParam(name, value) {\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 setQueryParams(params) {\n for (const [name, value] of Object.entries(params)) {\n this.setQueryParam(name, value);\n }\n }\n setQueryParam(name, value) {\n if (value === undefined || value === null) {\n return;\n }\n if (typeof value === \"string\") {\n this.queryParams[name] = value;\n }\n else if (typeof value === \"boolean\" || typeof value === \"number\") {\n this.queryParams[name] = value.toString();\n }\n else if (value instanceof Date) {\n this.queryParams[name] = value.toISOString();\n }\n else if (Array.isArray(value)) {\n if (value.length > 0) {\n this.queryParams[name] = value.join(\",\");\n }\n }\n else {\n const _assert_unreachable = value;\n throw new Error(`query parameter ${name} has unsupported type`);\n }\n }\n setHeaderParam(name, value) {\n if (value === undefined) {\n return;\n }\n this.headerParams[name] = value;\n }\n setBody(value) {\n this.body = JSON.stringify(value);\n }\n send(ctx, parseResponseBody) {\n return __awaiter(this, void 0, void 0, function* () {\n const response = yield this.sendInner(ctx);\n if (response.status === 204) {\n return null;\n }\n const responseBody = yield response.text();\n return parseResponseBody(JSON.parse(responseBody));\n });\n }\n sendNoResponseBody(ctx) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.sendInner(ctx);\n });\n }\n sendInner(ctx) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function* () {\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 if (this.headerParams[\"idempotency-key\"] === undefined &&\n this.method.toUpperCase() === \"POST\") {\n this.headerParams[\"idempotency-key\"] = `auto_${crypto.randomUUID()}`;\n }\n const randomId = Math.floor(Math.random() * Number.MAX_SAFE_INTEGER);\n if (this.body != null) {\n this.headerParams[\"content-type\"] = \"application/json\";\n }\n const isCredentialsSupported = \"credentials\" in Request.prototype;\n const response = yield sendWithRetry(url, {\n method: this.method.toString(),\n body: this.body,\n headers: Object.assign({ accept: \"application/json, */*;q=0.8\", authorization: `Bearer ${ctx.token}`, \"user-agent\": USER_AGENT, \"svix-req-id\": randomId.toString() }, this.headerParams),\n credentials: isCredentialsSupported ? \"same-origin\" : undefined,\n signal: ctx.timeout !== undefined ? AbortSignal.timeout(ctx.timeout) : undefined,\n }, ctx.retryScheduleInMs, (_a = ctx.retryScheduleInMs) === null || _a === void 0 ? void 0 : _a[0], ((_b = ctx.retryScheduleInMs) === null || _b === void 0 ? void 0 : _b.length) || ctx.numRetries, ctx.fetch);\n return filterResponseForErrors(response);\n });\n }\n}\nexports.SvixRequest = SvixRequest;\nfunction filterResponseForErrors(response) {\n return __awaiter(this, void 0, void 0, function* () {\n if (response.status < 300) {\n return response;\n }\n const responseBody = yield response.text();\n if (response.status === 422) {\n throw new util_1.ApiException(response.status, JSON.parse(responseBody), response.headers);\n }\n if (response.status >= 400 && response.status <= 499) {\n throw new util_1.ApiException(response.status, JSON.parse(responseBody), response.headers);\n }\n throw new util_1.ApiException(response.status, responseBody, response.headers);\n });\n}\nfunction sendWithRetry(url, init, retryScheduleInMs, nextInterval = 50, triesLeft = 2, fetchImpl = fetch, retryCount = 1) {\n return __awaiter(this, void 0, void 0, function* () {\n const sleep = (interval) => new Promise((resolve) => setTimeout(resolve, interval));\n try {\n const response = yield fetchImpl(url, init);\n if (triesLeft <= 0 || response.status < 500) {\n return response;\n }\n }\n catch (e) {\n if (triesLeft <= 0) {\n throw e;\n }\n }\n yield sleep(nextInterval);\n init.headers[\"svix-retry-count\"] = retryCount.toString();\n nextInterval = (retryScheduleInMs === null || retryScheduleInMs === void 0 ? void 0 : retryScheduleInMs[retryCount]) || nextInterval * 2;\n return yield sendWithRetry(url, init, retryScheduleInMs, nextInterval, --triesLeft, fetchImpl, ++retryCount);\n });\n}\n//# sourceMappingURL=request.js.map",
|
|
11
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Application = void 0;\nconst applicationIn_1 = require(\"../models/applicationIn\");\nconst applicationOut_1 = require(\"../models/applicationOut\");\nconst applicationPatch_1 = require(\"../models/applicationPatch\");\nconst listResponseApplicationOut_1 = require(\"../models/listResponseApplicationOut\");\nconst request_1 = require(\"../request\");\nclass Application {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app\");\n request.setQueryParams({\n exclude_apps_with_no_endpoints: options === null || options === void 0 ? void 0 : options.excludeAppsWithNoEndpoints,\n exclude_apps_with_disabled_endpoints: options === null || options === void 0 ? void 0 : options.excludeAppsWithDisabledEndpoints,\n exclude_apps_with_svix_play_endpoints: options === null || options === void 0 ? void 0 : options.excludeAppsWithSvixPlayEndpoints,\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseApplicationOut_1.ListResponseApplicationOutSerializer._fromJsonObject);\n }\n create(applicationIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(applicationIn_1.ApplicationInSerializer._toJsonObject(applicationIn));\n return request.send(this.requestCtx, applicationOut_1.ApplicationOutSerializer._fromJsonObject);\n }\n getOrCreate(applicationIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app\");\n request.setQueryParam(\"get_if_exists\", true);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(applicationIn_1.ApplicationInSerializer._toJsonObject(applicationIn));\n return request.send(this.requestCtx, applicationOut_1.ApplicationOutSerializer._fromJsonObject);\n }\n get(appId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}\");\n request.setPathParam(\"app_id\", appId);\n return request.send(this.requestCtx, applicationOut_1.ApplicationOutSerializer._fromJsonObject);\n }\n update(appId, applicationIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/app/{app_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setBody(applicationIn_1.ApplicationInSerializer._toJsonObject(applicationIn));\n return request.send(this.requestCtx, applicationOut_1.ApplicationOutSerializer._fromJsonObject);\n }\n delete(appId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/app/{app_id}\");\n request.setPathParam(\"app_id\", appId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n patch(appId, applicationPatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/app/{app_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setBody(applicationPatch_1.ApplicationPatchSerializer._toJsonObject(applicationPatch));\n return request.send(this.requestCtx, applicationOut_1.ApplicationOutSerializer._fromJsonObject);\n }\n}\nexports.Application = Application;\n//# sourceMappingURL=application.js.map",
|
|
12
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApiTokenOutSerializer = void 0;\nexports.ApiTokenOutSerializer = {\n _fromJsonObject(object) {\n return {\n createdAt: new Date(object[\"createdAt\"]),\n expiresAt: object[\"expiresAt\"] ? new Date(object[\"expiresAt\"]) : null,\n id: object[\"id\"],\n name: object[\"name\"],\n scopes: object[\"scopes\"],\n token: object[\"token\"],\n };\n },\n _toJsonObject(self) {\n return {\n createdAt: self.createdAt,\n expiresAt: self.expiresAt,\n id: self.id,\n name: self.name,\n scopes: self.scopes,\n token: self.token,\n };\n },\n};\n//# sourceMappingURL=apiTokenOut.js.map",
|
|
13
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AppPortalCapabilitySerializer = exports.AppPortalCapability = void 0;\nvar AppPortalCapability;\n(function (AppPortalCapability) {\n AppPortalCapability[\"ViewBase\"] = \"ViewBase\";\n AppPortalCapability[\"ViewEndpointSecret\"] = \"ViewEndpointSecret\";\n AppPortalCapability[\"ManageEndpointSecret\"] = \"ManageEndpointSecret\";\n AppPortalCapability[\"ManageTransformations\"] = \"ManageTransformations\";\n AppPortalCapability[\"CreateAttempts\"] = \"CreateAttempts\";\n AppPortalCapability[\"ManageEndpoint\"] = \"ManageEndpoint\";\n})(AppPortalCapability = exports.AppPortalCapability || (exports.AppPortalCapability = {}));\nexports.AppPortalCapabilitySerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=appPortalCapability.js.map",
|
|
14
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AppPortalAccessInSerializer = void 0;\nconst appPortalCapability_1 = require(\"./appPortalCapability\");\nconst applicationIn_1 = require(\"./applicationIn\");\nexports.AppPortalAccessInSerializer = {\n _fromJsonObject(object) {\n var _a;\n return {\n application: object[\"application\"] != null\n ? applicationIn_1.ApplicationInSerializer._fromJsonObject(object[\"application\"])\n : undefined,\n capabilities: (_a = object[\"capabilities\"]) === null || _a === void 0 ? void 0 : _a.map((item) => appPortalCapability_1.AppPortalCapabilitySerializer._fromJsonObject(item)),\n expiry: object[\"expiry\"],\n featureFlags: object[\"featureFlags\"],\n readOnly: object[\"readOnly\"],\n sessionId: object[\"sessionId\"],\n };\n },\n _toJsonObject(self) {\n var _a;\n return {\n application: self.application != null\n ? applicationIn_1.ApplicationInSerializer._toJsonObject(self.application)\n : undefined,\n capabilities: (_a = self.capabilities) === null || _a === void 0 ? void 0 : _a.map((item) => appPortalCapability_1.AppPortalCapabilitySerializer._toJsonObject(item)),\n expiry: self.expiry,\n featureFlags: self.featureFlags,\n readOnly: self.readOnly,\n sessionId: self.sessionId,\n };\n },\n};\n//# sourceMappingURL=appPortalAccessIn.js.map",
|
|
15
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AppPortalAccessOutSerializer = void 0;\nexports.AppPortalAccessOutSerializer = {\n _fromJsonObject(object) {\n return {\n token: object[\"token\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n token: self.token,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=appPortalAccessOut.js.map",
|
|
16
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ApplicationTokenExpireInSerializer = void 0;\nexports.ApplicationTokenExpireInSerializer = {\n _fromJsonObject(object) {\n return {\n expiry: object[\"expiry\"],\n sessionIds: object[\"sessionIds\"],\n };\n },\n _toJsonObject(self) {\n return {\n expiry: self.expiry,\n sessionIds: self.sessionIds,\n };\n },\n};\n//# sourceMappingURL=applicationTokenExpireIn.js.map",
|
|
17
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RotatePollerTokenInSerializer = void 0;\nexports.RotatePollerTokenInSerializer = {\n _fromJsonObject(object) {\n return {\n expiry: object[\"expiry\"],\n oldTokenExpiry: object[\"oldTokenExpiry\"],\n };\n },\n _toJsonObject(self) {\n return {\n expiry: self.expiry,\n oldTokenExpiry: self.oldTokenExpiry,\n };\n },\n};\n//# sourceMappingURL=rotatePollerTokenIn.js.map",
|
|
18
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamPortalAccessInSerializer = void 0;\nexports.StreamPortalAccessInSerializer = {\n _fromJsonObject(object) {\n return {\n expiry: object[\"expiry\"],\n featureFlags: object[\"featureFlags\"],\n sessionId: object[\"sessionId\"],\n };\n },\n _toJsonObject(self) {\n return {\n expiry: self.expiry,\n featureFlags: self.featureFlags,\n sessionId: self.sessionId,\n };\n },\n};\n//# sourceMappingURL=streamPortalAccessIn.js.map",
|
|
19
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamTokenExpireInSerializer = void 0;\nexports.StreamTokenExpireInSerializer = {\n _fromJsonObject(object) {\n return {\n expiry: object[\"expiry\"],\n sessionIds: object[\"sessionIds\"],\n };\n },\n _toJsonObject(self) {\n return {\n expiry: self.expiry,\n sessionIds: self.sessionIds,\n };\n },\n};\n//# sourceMappingURL=streamTokenExpireIn.js.map",
|
|
20
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DashboardAccessOutSerializer = void 0;\nexports.DashboardAccessOutSerializer = {\n _fromJsonObject(object) {\n return {\n token: object[\"token\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n token: self.token,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=dashboardAccessOut.js.map",
|
|
21
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Authentication = void 0;\nconst apiTokenOut_1 = require(\"../models/apiTokenOut\");\nconst appPortalAccessIn_1 = require(\"../models/appPortalAccessIn\");\nconst appPortalAccessOut_1 = require(\"../models/appPortalAccessOut\");\nconst applicationTokenExpireIn_1 = require(\"../models/applicationTokenExpireIn\");\nconst rotatePollerTokenIn_1 = require(\"../models/rotatePollerTokenIn\");\nconst streamPortalAccessIn_1 = require(\"../models/streamPortalAccessIn\");\nconst streamTokenExpireIn_1 = require(\"../models/streamTokenExpireIn\");\nconst dashboardAccessOut_1 = require(\"../models/dashboardAccessOut\");\nconst request_1 = require(\"../request\");\nclass Authentication {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n appPortalAccess(appId, appPortalAccessIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/app-portal-access/{app_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(appPortalAccessIn_1.AppPortalAccessInSerializer._toJsonObject(appPortalAccessIn));\n return request.send(this.requestCtx, appPortalAccessOut_1.AppPortalAccessOutSerializer._fromJsonObject);\n }\n expireAll(appId, applicationTokenExpireIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/app/{app_id}/expire-all\");\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(applicationTokenExpireIn_1.ApplicationTokenExpireInSerializer._toJsonObject(applicationTokenExpireIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n dashboardAccess(appId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/dashboard-access/{app_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.send(this.requestCtx, dashboardAccessOut_1.DashboardAccessOutSerializer._fromJsonObject);\n }\n logout(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/logout\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.sendNoResponseBody(this.requestCtx);\n }\n streamLogout(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/stream-logout\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.sendNoResponseBody(this.requestCtx);\n }\n streamPortalAccess(streamId, streamPortalAccessIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/stream-portal-access/{stream_id}\");\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(streamPortalAccessIn_1.StreamPortalAccessInSerializer._toJsonObject(streamPortalAccessIn));\n return request.send(this.requestCtx, appPortalAccessOut_1.AppPortalAccessOutSerializer._fromJsonObject);\n }\n streamExpireAll(streamId, streamTokenExpireIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/stream/{stream_id}/expire-all\");\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(streamTokenExpireIn_1.StreamTokenExpireInSerializer._toJsonObject(streamTokenExpireIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n getStreamPollerToken(streamId, sinkId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n return request.send(this.requestCtx, apiTokenOut_1.ApiTokenOutSerializer._fromJsonObject);\n }\n rotateStreamPollerToken(streamId, sinkId, rotatePollerTokenIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/auth/stream/{stream_id}/sink/{sink_id}/poller/token/rotate\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(rotatePollerTokenIn_1.RotatePollerTokenInSerializer._toJsonObject(rotatePollerTokenIn));\n return request.send(this.requestCtx, apiTokenOut_1.ApiTokenOutSerializer._fromJsonObject);\n }\n}\nexports.Authentication = Authentication;\n//# sourceMappingURL=authentication.js.map",
|
|
22
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BackgroundTaskStatusSerializer = exports.BackgroundTaskStatus = void 0;\nvar BackgroundTaskStatus;\n(function (BackgroundTaskStatus) {\n BackgroundTaskStatus[\"Running\"] = \"running\";\n BackgroundTaskStatus[\"Finished\"] = \"finished\";\n BackgroundTaskStatus[\"Failed\"] = \"failed\";\n})(BackgroundTaskStatus = exports.BackgroundTaskStatus || (exports.BackgroundTaskStatus = {}));\nexports.BackgroundTaskStatusSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=backgroundTaskStatus.js.map",
|
|
23
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BackgroundTaskTypeSerializer = exports.BackgroundTaskType = void 0;\nvar BackgroundTaskType;\n(function (BackgroundTaskType) {\n BackgroundTaskType[\"EndpointReplay\"] = \"endpoint.replay\";\n BackgroundTaskType[\"EndpointRecover\"] = \"endpoint.recover\";\n BackgroundTaskType[\"ApplicationStats\"] = \"application.stats\";\n BackgroundTaskType[\"MessageBroadcast\"] = \"message.broadcast\";\n BackgroundTaskType[\"SdkGenerate\"] = \"sdk.generate\";\n BackgroundTaskType[\"EventTypeAggregate\"] = \"event-type.aggregate\";\n BackgroundTaskType[\"ApplicationPurgeContent\"] = \"application.purge_content\";\n BackgroundTaskType[\"EndpointBulkReplay\"] = \"endpoint.bulk-replay\";\n})(BackgroundTaskType = exports.BackgroundTaskType || (exports.BackgroundTaskType = {}));\nexports.BackgroundTaskTypeSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=backgroundTaskType.js.map",
|
|
24
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BackgroundTaskOutSerializer = void 0;\nconst backgroundTaskStatus_1 = require(\"./backgroundTaskStatus\");\nconst backgroundTaskType_1 = require(\"./backgroundTaskType\");\nexports.BackgroundTaskOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"],\n id: object[\"id\"],\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data,\n id: self.id,\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=backgroundTaskOut.js.map",
|
|
25
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseBackgroundTaskOutSerializer = void 0;\nconst backgroundTaskOut_1 = require(\"./backgroundTaskOut\");\nexports.ListResponseBackgroundTaskOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => backgroundTaskOut_1.BackgroundTaskOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => backgroundTaskOut_1.BackgroundTaskOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseBackgroundTaskOut.js.map",
|
|
26
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BackgroundTask = void 0;\nconst backgroundTaskOut_1 = require(\"../models/backgroundTaskOut\");\nconst listResponseBackgroundTaskOut_1 = require(\"../models/listResponseBackgroundTaskOut\");\nconst request_1 = require(\"../request\");\nclass BackgroundTask {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/background-task\");\n request.setQueryParams({\n status: options === null || options === void 0 ? void 0 : options.status,\n task: options === null || options === void 0 ? void 0 : options.task,\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseBackgroundTaskOut_1.ListResponseBackgroundTaskOutSerializer._fromJsonObject);\n }\n listByEndpoint(options) {\n return this.list(options);\n }\n get(taskId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/background-task/{task_id}\");\n request.setPathParam(\"task_id\", taskId);\n return request.send(this.requestCtx, backgroundTaskOut_1.BackgroundTaskOutSerializer._fromJsonObject);\n }\n}\nexports.BackgroundTask = BackgroundTask;\n//# sourceMappingURL=backgroundTask.js.map",
|
|
27
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectorKindSerializer = exports.ConnectorKind = void 0;\nvar ConnectorKind;\n(function (ConnectorKind) {\n ConnectorKind[\"Custom\"] = \"Custom\";\n ConnectorKind[\"AgenticCommerceProtocol\"] = \"AgenticCommerceProtocol\";\n ConnectorKind[\"CloseCrm\"] = \"CloseCRM\";\n ConnectorKind[\"CustomerIo\"] = \"CustomerIO\";\n ConnectorKind[\"Discord\"] = \"Discord\";\n ConnectorKind[\"Hubspot\"] = \"Hubspot\";\n ConnectorKind[\"Inngest\"] = \"Inngest\";\n ConnectorKind[\"Loops\"] = \"Loops\";\n ConnectorKind[\"Otel\"] = \"Otel\";\n ConnectorKind[\"Resend\"] = \"Resend\";\n ConnectorKind[\"Salesforce\"] = \"Salesforce\";\n ConnectorKind[\"Segment\"] = \"Segment\";\n ConnectorKind[\"Sendgrid\"] = \"Sendgrid\";\n ConnectorKind[\"Slack\"] = \"Slack\";\n ConnectorKind[\"Teams\"] = \"Teams\";\n ConnectorKind[\"TriggerDev\"] = \"TriggerDev\";\n ConnectorKind[\"Windmill\"] = \"Windmill\";\n ConnectorKind[\"Zapier\"] = \"Zapier\";\n})(ConnectorKind = exports.ConnectorKind || (exports.ConnectorKind = {}));\nexports.ConnectorKindSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=connectorKind.js.map",
|
|
28
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectorProductSerializer = exports.ConnectorProduct = void 0;\nvar ConnectorProduct;\n(function (ConnectorProduct) {\n ConnectorProduct[\"Dispatch\"] = \"Dispatch\";\n ConnectorProduct[\"Stream\"] = \"Stream\";\n})(ConnectorProduct = exports.ConnectorProduct || (exports.ConnectorProduct = {}));\nexports.ConnectorProductSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=connectorProduct.js.map",
|
|
29
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectorInSerializer = void 0;\nconst connectorKind_1 = require(\"./connectorKind\");\nconst connectorProduct_1 = require(\"./connectorProduct\");\nexports.ConnectorInSerializer = {\n _fromJsonObject(object) {\n return {\n allowedEventTypes: object[\"allowedEventTypes\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n instructions: object[\"instructions\"],\n kind: object[\"kind\"] != null\n ? connectorKind_1.ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n logo: object[\"logo\"],\n name: object[\"name\"],\n productType: object[\"productType\"] != null\n ? connectorProduct_1.ConnectorProductSerializer._fromJsonObject(object[\"productType\"])\n : undefined,\n transformation: object[\"transformation\"],\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n return {\n allowedEventTypes: self.allowedEventTypes,\n description: self.description,\n featureFlags: self.featureFlags,\n instructions: self.instructions,\n kind: self.kind != null ? connectorKind_1.ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n logo: self.logo,\n name: self.name,\n productType: self.productType != null\n ? connectorProduct_1.ConnectorProductSerializer._toJsonObject(self.productType)\n : undefined,\n transformation: self.transformation,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=connectorIn.js.map",
|
|
30
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectorOutSerializer = void 0;\nconst connectorKind_1 = require(\"./connectorKind\");\nconst connectorProduct_1 = require(\"./connectorProduct\");\nexports.ConnectorOutSerializer = {\n _fromJsonObject(object) {\n return {\n allowedEventTypes: object[\"allowedEventTypes\"],\n createdAt: new Date(object[\"createdAt\"]),\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n id: object[\"id\"],\n instructions: object[\"instructions\"],\n kind: connectorKind_1.ConnectorKindSerializer._fromJsonObject(object[\"kind\"]),\n logo: object[\"logo\"],\n name: object[\"name\"],\n orgId: object[\"orgId\"],\n productType: connectorProduct_1.ConnectorProductSerializer._fromJsonObject(object[\"productType\"]),\n transformation: object[\"transformation\"],\n transformationUpdatedAt: new Date(object[\"transformationUpdatedAt\"]),\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n allowedEventTypes: self.allowedEventTypes,\n createdAt: self.createdAt,\n description: self.description,\n featureFlags: self.featureFlags,\n id: self.id,\n instructions: self.instructions,\n kind: connectorKind_1.ConnectorKindSerializer._toJsonObject(self.kind),\n logo: self.logo,\n name: self.name,\n orgId: self.orgId,\n productType: connectorProduct_1.ConnectorProductSerializer._toJsonObject(self.productType),\n transformation: self.transformation,\n transformationUpdatedAt: self.transformationUpdatedAt,\n uid: self.uid,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=connectorOut.js.map",
|
|
31
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectorPatchSerializer = void 0;\nconst connectorKind_1 = require(\"./connectorKind\");\nexports.ConnectorPatchSerializer = {\n _fromJsonObject(object) {\n return {\n allowedEventTypes: object[\"allowedEventTypes\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n instructions: object[\"instructions\"],\n kind: object[\"kind\"] != null\n ? connectorKind_1.ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n logo: object[\"logo\"],\n name: object[\"name\"],\n transformation: object[\"transformation\"],\n };\n },\n _toJsonObject(self) {\n return {\n allowedEventTypes: self.allowedEventTypes,\n description: self.description,\n featureFlags: self.featureFlags,\n instructions: self.instructions,\n kind: self.kind != null ? connectorKind_1.ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n logo: self.logo,\n name: self.name,\n transformation: self.transformation,\n };\n },\n};\n//# sourceMappingURL=connectorPatch.js.map",
|
|
32
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectorUpdateSerializer = void 0;\nconst connectorKind_1 = require(\"./connectorKind\");\nexports.ConnectorUpdateSerializer = {\n _fromJsonObject(object) {\n return {\n allowedEventTypes: object[\"allowedEventTypes\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n instructions: object[\"instructions\"],\n kind: object[\"kind\"] != null\n ? connectorKind_1.ConnectorKindSerializer._fromJsonObject(object[\"kind\"])\n : undefined,\n logo: object[\"logo\"],\n name: object[\"name\"],\n transformation: object[\"transformation\"],\n };\n },\n _toJsonObject(self) {\n return {\n allowedEventTypes: self.allowedEventTypes,\n description: self.description,\n featureFlags: self.featureFlags,\n instructions: self.instructions,\n kind: self.kind != null ? connectorKind_1.ConnectorKindSerializer._toJsonObject(self.kind) : undefined,\n logo: self.logo,\n name: self.name,\n transformation: self.transformation,\n };\n },\n};\n//# sourceMappingURL=connectorUpdate.js.map",
|
|
33
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseConnectorOutSerializer = void 0;\nconst connectorOut_1 = require(\"./connectorOut\");\nexports.ListResponseConnectorOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => connectorOut_1.ConnectorOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => connectorOut_1.ConnectorOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseConnectorOut.js.map",
|
|
34
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Connector = void 0;\nconst connectorIn_1 = require(\"../models/connectorIn\");\nconst connectorOut_1 = require(\"../models/connectorOut\");\nconst connectorPatch_1 = require(\"../models/connectorPatch\");\nconst connectorUpdate_1 = require(\"../models/connectorUpdate\");\nconst listResponseConnectorOut_1 = require(\"../models/listResponseConnectorOut\");\nconst request_1 = require(\"../request\");\nclass Connector {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/connector\");\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n product_type: options === null || options === void 0 ? void 0 : options.productType,\n });\n return request.send(this.requestCtx, listResponseConnectorOut_1.ListResponseConnectorOutSerializer._fromJsonObject);\n }\n create(connectorIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/connector\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(connectorIn_1.ConnectorInSerializer._toJsonObject(connectorIn));\n return request.send(this.requestCtx, connectorOut_1.ConnectorOutSerializer._fromJsonObject);\n }\n get(connectorId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/connector/{connector_id}\");\n request.setPathParam(\"connector_id\", connectorId);\n return request.send(this.requestCtx, connectorOut_1.ConnectorOutSerializer._fromJsonObject);\n }\n update(connectorId, connectorUpdate) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/connector/{connector_id}\");\n request.setPathParam(\"connector_id\", connectorId);\n request.setBody(connectorUpdate_1.ConnectorUpdateSerializer._toJsonObject(connectorUpdate));\n return request.send(this.requestCtx, connectorOut_1.ConnectorOutSerializer._fromJsonObject);\n }\n delete(connectorId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/connector/{connector_id}\");\n request.setPathParam(\"connector_id\", connectorId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n patch(connectorId, connectorPatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/connector/{connector_id}\");\n request.setPathParam(\"connector_id\", connectorId);\n request.setBody(connectorPatch_1.ConnectorPatchSerializer._toJsonObject(connectorPatch));\n return request.send(this.requestCtx, connectorOut_1.ConnectorOutSerializer._fromJsonObject);\n }\n}\nexports.Connector = Connector;\n//# sourceMappingURL=connector.js.map",
|
|
35
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageStatusSerializer = exports.MessageStatus = void 0;\nvar MessageStatus;\n(function (MessageStatus) {\n MessageStatus[MessageStatus[\"Success\"] = 0] = \"Success\";\n MessageStatus[MessageStatus[\"Pending\"] = 1] = \"Pending\";\n MessageStatus[MessageStatus[\"Fail\"] = 2] = \"Fail\";\n MessageStatus[MessageStatus[\"Sending\"] = 3] = \"Sending\";\n})(MessageStatus = exports.MessageStatus || (exports.MessageStatus = {}));\nexports.MessageStatusSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=messageStatus.js.map",
|
|
36
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatusCodeClassSerializer = exports.StatusCodeClass = void 0;\nvar StatusCodeClass;\n(function (StatusCodeClass) {\n StatusCodeClass[StatusCodeClass[\"CodeNone\"] = 0] = \"CodeNone\";\n StatusCodeClass[StatusCodeClass[\"Code1xx\"] = 100] = \"Code1xx\";\n StatusCodeClass[StatusCodeClass[\"Code2xx\"] = 200] = \"Code2xx\";\n StatusCodeClass[StatusCodeClass[\"Code3xx\"] = 300] = \"Code3xx\";\n StatusCodeClass[StatusCodeClass[\"Code4xx\"] = 400] = \"Code4xx\";\n StatusCodeClass[StatusCodeClass[\"Code5xx\"] = 500] = \"Code5xx\";\n})(StatusCodeClass = exports.StatusCodeClass || (exports.StatusCodeClass = {}));\nexports.StatusCodeClassSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=statusCodeClass.js.map",
|
|
37
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BulkReplayInSerializer = void 0;\nconst messageStatus_1 = require(\"./messageStatus\");\nconst statusCodeClass_1 = require(\"./statusCodeClass\");\nexports.BulkReplayInSerializer = {\n _fromJsonObject(object) {\n return {\n channel: object[\"channel\"],\n eventTypes: object[\"eventTypes\"],\n since: new Date(object[\"since\"]),\n status: object[\"status\"] != null\n ? messageStatus_1.MessageStatusSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n statusCodeClass: object[\"statusCodeClass\"] != null\n ? statusCodeClass_1.StatusCodeClassSerializer._fromJsonObject(object[\"statusCodeClass\"])\n : undefined,\n tag: object[\"tag\"],\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n };\n },\n _toJsonObject(self) {\n return {\n channel: self.channel,\n eventTypes: self.eventTypes,\n since: self.since,\n status: self.status != null\n ? messageStatus_1.MessageStatusSerializer._toJsonObject(self.status)\n : undefined,\n statusCodeClass: self.statusCodeClass != null\n ? statusCodeClass_1.StatusCodeClassSerializer._toJsonObject(self.statusCodeClass)\n : undefined,\n tag: self.tag,\n until: self.until,\n };\n },\n};\n//# sourceMappingURL=bulkReplayIn.js.map",
|
|
38
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointHeadersInSerializer = void 0;\nexports.EndpointHeadersInSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n };\n },\n};\n//# sourceMappingURL=endpointHeadersIn.js.map",
|
|
39
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointHeadersOutSerializer = void 0;\nexports.EndpointHeadersOutSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n//# sourceMappingURL=endpointHeadersOut.js.map",
|
|
40
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointHeadersPatchInSerializer = void 0;\nexports.EndpointHeadersPatchInSerializer = {\n _fromJsonObject(object) {\n return {\n deleteHeaders: object[\"deleteHeaders\"],\n headers: object[\"headers\"],\n };\n },\n _toJsonObject(self) {\n return {\n deleteHeaders: self.deleteHeaders,\n headers: self.headers,\n };\n },\n};\n//# sourceMappingURL=endpointHeadersPatchIn.js.map",
|
|
41
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointInSerializer = void 0;\nexports.EndpointInSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n headers: object[\"headers\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n secret: object[\"secret\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n version: object[\"version\"],\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n headers: self.headers,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n secret: self.secret,\n throttleRate: self.throttleRate,\n uid: self.uid,\n url: self.url,\n version: self.version,\n };\n },\n};\n//# sourceMappingURL=endpointIn.js.map",
|
|
42
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointOutSerializer = void 0;\nexports.EndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n createdAt: new Date(object[\"createdAt\"]),\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n id: object[\"id\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n url: object[\"url\"],\n version: object[\"version\"],\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n createdAt: self.createdAt,\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n id: self.id,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n throttleRate: self.throttleRate,\n uid: self.uid,\n updatedAt: self.updatedAt,\n url: self.url,\n version: self.version,\n };\n },\n};\n//# sourceMappingURL=endpointOut.js.map",
|
|
43
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointPatchSerializer = void 0;\nexports.EndpointPatchSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n secret: object[\"secret\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n version: object[\"version\"],\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n secret: self.secret,\n throttleRate: self.throttleRate,\n uid: self.uid,\n url: self.url,\n version: self.version,\n };\n },\n};\n//# sourceMappingURL=endpointPatch.js.map",
|
|
44
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointSecretOutSerializer = void 0;\nexports.EndpointSecretOutSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=endpointSecretOut.js.map",
|
|
45
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointSecretRotateInSerializer = void 0;\nexports.EndpointSecretRotateInSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=endpointSecretRotateIn.js.map",
|
|
46
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointStatsSerializer = void 0;\nexports.EndpointStatsSerializer = {\n _fromJsonObject(object) {\n return {\n fail: object[\"fail\"],\n pending: object[\"pending\"],\n sending: object[\"sending\"],\n success: object[\"success\"],\n };\n },\n _toJsonObject(self) {\n return {\n fail: self.fail,\n pending: self.pending,\n sending: self.sending,\n success: self.success,\n };\n },\n};\n//# sourceMappingURL=endpointStats.js.map",
|
|
47
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointTransformationInSerializer = void 0;\nexports.EndpointTransformationInSerializer = {\n _fromJsonObject(object) {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n _toJsonObject(self) {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n//# sourceMappingURL=endpointTransformationIn.js.map",
|
|
48
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointTransformationOutSerializer = void 0;\nexports.EndpointTransformationOutSerializer = {\n _fromJsonObject(object) {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n updatedAt: object[\"updatedAt\"] ? new Date(object[\"updatedAt\"]) : null,\n };\n },\n _toJsonObject(self) {\n return {\n code: self.code,\n enabled: self.enabled,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=endpointTransformationOut.js.map",
|
|
49
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointTransformationPatchSerializer = void 0;\nexports.EndpointTransformationPatchSerializer = {\n _fromJsonObject(object) {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n _toJsonObject(self) {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n//# sourceMappingURL=endpointTransformationPatch.js.map",
|
|
50
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointUpdateSerializer = void 0;\nexports.EndpointUpdateSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n version: object[\"version\"],\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n throttleRate: self.throttleRate,\n uid: self.uid,\n url: self.url,\n version: self.version,\n };\n },\n};\n//# sourceMappingURL=endpointUpdate.js.map",
|
|
51
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventExampleInSerializer = void 0;\nexports.EventExampleInSerializer = {\n _fromJsonObject(object) {\n return {\n eventType: object[\"eventType\"],\n exampleIndex: object[\"exampleIndex\"],\n };\n },\n _toJsonObject(self) {\n return {\n eventType: self.eventType,\n exampleIndex: self.exampleIndex,\n };\n },\n};\n//# sourceMappingURL=eventExampleIn.js.map",
|
|
52
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseEndpointOutSerializer = void 0;\nconst endpointOut_1 = require(\"./endpointOut\");\nexports.ListResponseEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => endpointOut_1.EndpointOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => endpointOut_1.EndpointOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseEndpointOut.js.map",
|
|
53
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageOutSerializer = void 0;\nexports.MessageOutSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n id: object[\"id\"],\n payload: object[\"payload\"],\n tags: object[\"tags\"],\n timestamp: new Date(object[\"timestamp\"]),\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n deliverAt: self.deliverAt,\n eventId: self.eventId,\n eventType: self.eventType,\n id: self.id,\n payload: self.payload,\n tags: self.tags,\n timestamp: self.timestamp,\n };\n },\n};\n//# sourceMappingURL=messageOut.js.map",
|
|
54
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RecoverInSerializer = void 0;\nexports.RecoverInSerializer = {\n _fromJsonObject(object) {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n };\n },\n _toJsonObject(self) {\n return {\n since: self.since,\n until: self.until,\n };\n },\n};\n//# sourceMappingURL=recoverIn.js.map",
|
|
55
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RecoverOutSerializer = void 0;\nconst backgroundTaskStatus_1 = require(\"./backgroundTaskStatus\");\nconst backgroundTaskType_1 = require(\"./backgroundTaskType\");\nexports.RecoverOutSerializer = {\n _fromJsonObject(object) {\n return {\n id: object[\"id\"],\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n id: self.id,\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=recoverOut.js.map",
|
|
56
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReplayInSerializer = void 0;\nexports.ReplayInSerializer = {\n _fromJsonObject(object) {\n return {\n since: new Date(object[\"since\"]),\n until: object[\"until\"] ? new Date(object[\"until\"]) : null,\n };\n },\n _toJsonObject(self) {\n return {\n since: self.since,\n until: self.until,\n };\n },\n};\n//# sourceMappingURL=replayIn.js.map",
|
|
57
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReplayOutSerializer = void 0;\nconst backgroundTaskStatus_1 = require(\"./backgroundTaskStatus\");\nconst backgroundTaskType_1 = require(\"./backgroundTaskType\");\nexports.ReplayOutSerializer = {\n _fromJsonObject(object) {\n return {\n id: object[\"id\"],\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n id: self.id,\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=replayOut.js.map",
|
|
58
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Endpoint = void 0;\nconst bulkReplayIn_1 = require(\"../models/bulkReplayIn\");\nconst endpointHeadersIn_1 = require(\"../models/endpointHeadersIn\");\nconst endpointHeadersOut_1 = require(\"../models/endpointHeadersOut\");\nconst endpointHeadersPatchIn_1 = require(\"../models/endpointHeadersPatchIn\");\nconst endpointIn_1 = require(\"../models/endpointIn\");\nconst endpointOut_1 = require(\"../models/endpointOut\");\nconst endpointPatch_1 = require(\"../models/endpointPatch\");\nconst endpointSecretOut_1 = require(\"../models/endpointSecretOut\");\nconst endpointSecretRotateIn_1 = require(\"../models/endpointSecretRotateIn\");\nconst endpointStats_1 = require(\"../models/endpointStats\");\nconst endpointTransformationIn_1 = require(\"../models/endpointTransformationIn\");\nconst endpointTransformationOut_1 = require(\"../models/endpointTransformationOut\");\nconst endpointTransformationPatch_1 = require(\"../models/endpointTransformationPatch\");\nconst endpointUpdate_1 = require(\"../models/endpointUpdate\");\nconst eventExampleIn_1 = require(\"../models/eventExampleIn\");\nconst listResponseEndpointOut_1 = require(\"../models/listResponseEndpointOut\");\nconst messageOut_1 = require(\"../models/messageOut\");\nconst recoverIn_1 = require(\"../models/recoverIn\");\nconst recoverOut_1 = require(\"../models/recoverOut\");\nconst replayIn_1 = require(\"../models/replayIn\");\nconst replayOut_1 = require(\"../models/replayOut\");\nconst request_1 = require(\"../request\");\nclass Endpoint {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(appId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint\");\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseEndpointOut_1.ListResponseEndpointOutSerializer._fromJsonObject);\n }\n create(appId, endpointIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint\");\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(endpointIn_1.EndpointInSerializer._toJsonObject(endpointIn));\n return request.send(this.requestCtx, endpointOut_1.EndpointOutSerializer._fromJsonObject);\n }\n get(appId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, endpointOut_1.EndpointOutSerializer._fromJsonObject);\n }\n update(appId, endpointId, endpointUpdate) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(endpointUpdate_1.EndpointUpdateSerializer._toJsonObject(endpointUpdate));\n return request.send(this.requestCtx, endpointOut_1.EndpointOutSerializer._fromJsonObject);\n }\n delete(appId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n patch(appId, endpointId, endpointPatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(endpointPatch_1.EndpointPatchSerializer._toJsonObject(endpointPatch));\n return request.send(this.requestCtx, endpointOut_1.EndpointOutSerializer._fromJsonObject);\n }\n bulkReplay(appId, endpointId, bulkReplayIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/bulk-replay\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(bulkReplayIn_1.BulkReplayInSerializer._toJsonObject(bulkReplayIn));\n return request.send(this.requestCtx, replayOut_1.ReplayOutSerializer._fromJsonObject);\n }\n getHeaders(appId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, endpointHeadersOut_1.EndpointHeadersOutSerializer._fromJsonObject);\n }\n updateHeaders(appId, endpointId, endpointHeadersIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(endpointHeadersIn_1.EndpointHeadersInSerializer._toJsonObject(endpointHeadersIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n headersUpdate(appId, endpointId, endpointHeadersIn) {\n return this.updateHeaders(appId, endpointId, endpointHeadersIn);\n }\n patchHeaders(appId, endpointId, endpointHeadersPatchIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/headers\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(endpointHeadersPatchIn_1.EndpointHeadersPatchInSerializer._toJsonObject(endpointHeadersPatchIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n headersPatch(appId, endpointId, endpointHeadersPatchIn) {\n return this.patchHeaders(appId, endpointId, endpointHeadersPatchIn);\n }\n recover(appId, endpointId, recoverIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/recover\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(recoverIn_1.RecoverInSerializer._toJsonObject(recoverIn));\n return request.send(this.requestCtx, recoverOut_1.RecoverOutSerializer._fromJsonObject);\n }\n replayMissing(appId, endpointId, replayIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/replay-missing\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(replayIn_1.ReplayInSerializer._toJsonObject(replayIn));\n return request.send(this.requestCtx, replayOut_1.ReplayOutSerializer._fromJsonObject);\n }\n getSecret(appId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, endpointSecretOut_1.EndpointSecretOutSerializer._fromJsonObject);\n }\n rotateSecret(appId, endpointId, endpointSecretRotateIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/secret/rotate\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(endpointSecretRotateIn_1.EndpointSecretRotateInSerializer._toJsonObject(endpointSecretRotateIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n sendExample(appId, endpointId, eventExampleIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/send-example\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(eventExampleIn_1.EventExampleInSerializer._toJsonObject(eventExampleIn));\n return request.send(this.requestCtx, messageOut_1.MessageOutSerializer._fromJsonObject);\n }\n getStats(appId, endpointId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/stats\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n since: options === null || options === void 0 ? void 0 : options.since,\n until: options === null || options === void 0 ? void 0 : options.until,\n });\n return request.send(this.requestCtx, endpointStats_1.EndpointStatsSerializer._fromJsonObject);\n }\n transformationGet(appId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, endpointTransformationOut_1.EndpointTransformationOutSerializer._fromJsonObject);\n }\n patchTransformation(appId, endpointId, endpointTransformationPatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(endpointTransformationPatch_1.EndpointTransformationPatchSerializer._toJsonObject(endpointTransformationPatch));\n return request.sendNoResponseBody(this.requestCtx);\n }\n transformationPartialUpdate(appId, endpointId, endpointTransformationIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/transformation\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(endpointTransformationIn_1.EndpointTransformationInSerializer._toJsonObject(endpointTransformationIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n}\nexports.Endpoint = Endpoint;\n//# sourceMappingURL=endpoint.js.map",
|
|
59
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypeInSerializer = void 0;\nexports.EventTypeInSerializer = {\n _fromJsonObject(object) {\n return {\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlag: object[\"featureFlag\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n name: object[\"name\"],\n schemas: object[\"schemas\"],\n };\n },\n _toJsonObject(self) {\n return {\n archived: self.archived,\n deprecated: self.deprecated,\n description: self.description,\n featureFlag: self.featureFlag,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n name: self.name,\n schemas: self.schemas,\n };\n },\n};\n//# sourceMappingURL=eventTypeIn.js.map",
|
|
60
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EnvironmentInSerializer = void 0;\nconst connectorIn_1 = require(\"./connectorIn\");\nconst eventTypeIn_1 = require(\"./eventTypeIn\");\nexports.EnvironmentInSerializer = {\n _fromJsonObject(object) {\n var _a, _b;\n return {\n connectors: (_a = object[\"connectors\"]) === null || _a === void 0 ? void 0 : _a.map((item) => connectorIn_1.ConnectorInSerializer._fromJsonObject(item)),\n eventTypes: (_b = object[\"eventTypes\"]) === null || _b === void 0 ? void 0 : _b.map((item) => eventTypeIn_1.EventTypeInSerializer._fromJsonObject(item)),\n settings: object[\"settings\"],\n };\n },\n _toJsonObject(self) {\n var _a, _b;\n return {\n connectors: (_a = self.connectors) === null || _a === void 0 ? void 0 : _a.map((item) => connectorIn_1.ConnectorInSerializer._toJsonObject(item)),\n eventTypes: (_b = self.eventTypes) === null || _b === void 0 ? void 0 : _b.map((item) => eventTypeIn_1.EventTypeInSerializer._toJsonObject(item)),\n settings: self.settings,\n };\n },\n};\n//# sourceMappingURL=environmentIn.js.map",
|
|
61
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypeOutSerializer = void 0;\nexports.EventTypeOutSerializer = {\n _fromJsonObject(object) {\n return {\n archived: object[\"archived\"],\n createdAt: new Date(object[\"createdAt\"]),\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlag: object[\"featureFlag\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n name: object[\"name\"],\n schemas: object[\"schemas\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n archived: self.archived,\n createdAt: self.createdAt,\n deprecated: self.deprecated,\n description: self.description,\n featureFlag: self.featureFlag,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n name: self.name,\n schemas: self.schemas,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=eventTypeOut.js.map",
|
|
62
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EnvironmentOutSerializer = void 0;\nconst connectorOut_1 = require(\"./connectorOut\");\nconst eventTypeOut_1 = require(\"./eventTypeOut\");\nexports.EnvironmentOutSerializer = {\n _fromJsonObject(object) {\n return {\n connectors: object[\"connectors\"].map((item) => connectorOut_1.ConnectorOutSerializer._fromJsonObject(item)),\n createdAt: new Date(object[\"createdAt\"]),\n eventTypes: object[\"eventTypes\"].map((item) => eventTypeOut_1.EventTypeOutSerializer._fromJsonObject(item)),\n settings: object[\"settings\"],\n version: object[\"version\"],\n };\n },\n _toJsonObject(self) {\n return {\n connectors: self.connectors.map((item) => connectorOut_1.ConnectorOutSerializer._toJsonObject(item)),\n createdAt: self.createdAt,\n eventTypes: self.eventTypes.map((item) => eventTypeOut_1.EventTypeOutSerializer._toJsonObject(item)),\n settings: self.settings,\n version: self.version,\n };\n },\n};\n//# sourceMappingURL=environmentOut.js.map",
|
|
63
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Environment = void 0;\nconst environmentIn_1 = require(\"../models/environmentIn\");\nconst environmentOut_1 = require(\"../models/environmentOut\");\nconst request_1 = require(\"../request\");\nclass Environment {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n export(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/environment/export\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.send(this.requestCtx, environmentOut_1.EnvironmentOutSerializer._fromJsonObject);\n }\n import(environmentIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/environment/import\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(environmentIn_1.EnvironmentInSerializer._toJsonObject(environmentIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n}\nexports.Environment = Environment;\n//# sourceMappingURL=environment.js.map",
|
|
64
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypeImportOpenApiInSerializer = void 0;\nexports.EventTypeImportOpenApiInSerializer = {\n _fromJsonObject(object) {\n return {\n dryRun: object[\"dryRun\"],\n replaceAll: object[\"replaceAll\"],\n spec: object[\"spec\"],\n specRaw: object[\"specRaw\"],\n };\n },\n _toJsonObject(self) {\n return {\n dryRun: self.dryRun,\n replaceAll: self.replaceAll,\n spec: self.spec,\n specRaw: self.specRaw,\n };\n },\n};\n//# sourceMappingURL=eventTypeImportOpenApiIn.js.map",
|
|
65
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypeFromOpenApiSerializer = void 0;\nexports.EventTypeFromOpenApiSerializer = {\n _fromJsonObject(object) {\n return {\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlag: object[\"featureFlag\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n name: object[\"name\"],\n schemas: object[\"schemas\"],\n };\n },\n _toJsonObject(self) {\n return {\n deprecated: self.deprecated,\n description: self.description,\n featureFlag: self.featureFlag,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n name: self.name,\n schemas: self.schemas,\n };\n },\n};\n//# sourceMappingURL=eventTypeFromOpenApi.js.map",
|
|
66
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypeImportOpenApiOutDataSerializer = void 0;\nconst eventTypeFromOpenApi_1 = require(\"./eventTypeFromOpenApi\");\nexports.EventTypeImportOpenApiOutDataSerializer = {\n _fromJsonObject(object) {\n var _a;\n return {\n modified: object[\"modified\"],\n toModify: (_a = object[\"to_modify\"]) === null || _a === void 0 ? void 0 : _a.map((item) => eventTypeFromOpenApi_1.EventTypeFromOpenApiSerializer._fromJsonObject(item)),\n };\n },\n _toJsonObject(self) {\n var _a;\n return {\n modified: self.modified,\n to_modify: (_a = self.toModify) === null || _a === void 0 ? void 0 : _a.map((item) => eventTypeFromOpenApi_1.EventTypeFromOpenApiSerializer._toJsonObject(item)),\n };\n },\n};\n//# sourceMappingURL=eventTypeImportOpenApiOutData.js.map",
|
|
67
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypeImportOpenApiOutSerializer = void 0;\nconst eventTypeImportOpenApiOutData_1 = require(\"./eventTypeImportOpenApiOutData\");\nexports.EventTypeImportOpenApiOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: eventTypeImportOpenApiOutData_1.EventTypeImportOpenApiOutDataSerializer._fromJsonObject(object[\"data\"]),\n };\n },\n _toJsonObject(self) {\n return {\n data: eventTypeImportOpenApiOutData_1.EventTypeImportOpenApiOutDataSerializer._toJsonObject(self.data),\n };\n },\n};\n//# sourceMappingURL=eventTypeImportOpenApiOut.js.map",
|
|
68
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypePatchSerializer = void 0;\nexports.EventTypePatchSerializer = {\n _fromJsonObject(object) {\n return {\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlag: object[\"featureFlag\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n schemas: object[\"schemas\"],\n };\n },\n _toJsonObject(self) {\n return {\n archived: self.archived,\n deprecated: self.deprecated,\n description: self.description,\n featureFlag: self.featureFlag,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n schemas: self.schemas,\n };\n },\n};\n//# sourceMappingURL=eventTypePatch.js.map",
|
|
69
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventTypeUpdateSerializer = void 0;\nexports.EventTypeUpdateSerializer = {\n _fromJsonObject(object) {\n return {\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlag: object[\"featureFlag\"],\n featureFlags: object[\"featureFlags\"],\n groupName: object[\"groupName\"],\n schemas: object[\"schemas\"],\n };\n },\n _toJsonObject(self) {\n return {\n archived: self.archived,\n deprecated: self.deprecated,\n description: self.description,\n featureFlag: self.featureFlag,\n featureFlags: self.featureFlags,\n groupName: self.groupName,\n schemas: self.schemas,\n };\n },\n};\n//# sourceMappingURL=eventTypeUpdate.js.map",
|
|
70
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseEventTypeOutSerializer = void 0;\nconst eventTypeOut_1 = require(\"./eventTypeOut\");\nexports.ListResponseEventTypeOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => eventTypeOut_1.EventTypeOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => eventTypeOut_1.EventTypeOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseEventTypeOut.js.map",
|
|
71
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventType = void 0;\nconst eventTypeImportOpenApiIn_1 = require(\"../models/eventTypeImportOpenApiIn\");\nconst eventTypeImportOpenApiOut_1 = require(\"../models/eventTypeImportOpenApiOut\");\nconst eventTypeIn_1 = require(\"../models/eventTypeIn\");\nconst eventTypeOut_1 = require(\"../models/eventTypeOut\");\nconst eventTypePatch_1 = require(\"../models/eventTypePatch\");\nconst eventTypeUpdate_1 = require(\"../models/eventTypeUpdate\");\nconst listResponseEventTypeOut_1 = require(\"../models/listResponseEventTypeOut\");\nconst request_1 = require(\"../request\");\nclass EventType {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/event-type\");\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n include_archived: options === null || options === void 0 ? void 0 : options.includeArchived,\n with_content: options === null || options === void 0 ? void 0 : options.withContent,\n });\n return request.send(this.requestCtx, listResponseEventTypeOut_1.ListResponseEventTypeOutSerializer._fromJsonObject);\n }\n create(eventTypeIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/event-type\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(eventTypeIn_1.EventTypeInSerializer._toJsonObject(eventTypeIn));\n return request.send(this.requestCtx, eventTypeOut_1.EventTypeOutSerializer._fromJsonObject);\n }\n importOpenapi(eventTypeImportOpenApiIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/event-type/import/openapi\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(eventTypeImportOpenApiIn_1.EventTypeImportOpenApiInSerializer._toJsonObject(eventTypeImportOpenApiIn));\n return request.send(this.requestCtx, eventTypeImportOpenApiOut_1.EventTypeImportOpenApiOutSerializer._fromJsonObject);\n }\n get(eventTypeName) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/event-type/{event_type_name}\");\n request.setPathParam(\"event_type_name\", eventTypeName);\n return request.send(this.requestCtx, eventTypeOut_1.EventTypeOutSerializer._fromJsonObject);\n }\n update(eventTypeName, eventTypeUpdate) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/event-type/{event_type_name}\");\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setBody(eventTypeUpdate_1.EventTypeUpdateSerializer._toJsonObject(eventTypeUpdate));\n return request.send(this.requestCtx, eventTypeOut_1.EventTypeOutSerializer._fromJsonObject);\n }\n delete(eventTypeName, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/event-type/{event_type_name}\");\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setQueryParams({\n expunge: options === null || options === void 0 ? void 0 : options.expunge,\n });\n return request.sendNoResponseBody(this.requestCtx);\n }\n patch(eventTypeName, eventTypePatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/event-type/{event_type_name}\");\n request.setPathParam(\"event_type_name\", eventTypeName);\n request.setBody(eventTypePatch_1.EventTypePatchSerializer._toJsonObject(eventTypePatch));\n return request.send(this.requestCtx, eventTypeOut_1.EventTypeOutSerializer._fromJsonObject);\n }\n}\nexports.EventType = EventType;\n//# sourceMappingURL=eventType.js.map",
|
|
72
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Health = void 0;\nconst request_1 = require(\"../request\");\nclass Health {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n get() {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/health\");\n return request.sendNoResponseBody(this.requestCtx);\n }\n}\nexports.Health = Health;\n//# sourceMappingURL=health.js.map",
|
|
73
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestSourceConsumerPortalAccessInSerializer = void 0;\nexports.IngestSourceConsumerPortalAccessInSerializer = {\n _fromJsonObject(object) {\n return {\n expiry: object[\"expiry\"],\n readOnly: object[\"readOnly\"],\n };\n },\n _toJsonObject(self) {\n return {\n expiry: self.expiry,\n readOnly: self.readOnly,\n };\n },\n};\n//# sourceMappingURL=ingestSourceConsumerPortalAccessIn.js.map",
|
|
74
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointHeadersInSerializer = void 0;\nexports.IngestEndpointHeadersInSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointHeadersIn.js.map",
|
|
75
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointHeadersOutSerializer = void 0;\nexports.IngestEndpointHeadersOutSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointHeadersOut.js.map",
|
|
76
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointInSerializer = void 0;\nexports.IngestEndpointInSerializer = {\n _fromJsonObject(object) {\n return {\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n secret: object[\"secret\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n description: self.description,\n disabled: self.disabled,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n secret: self.secret,\n uid: self.uid,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointIn.js.map",
|
|
77
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointOutSerializer = void 0;\nexports.IngestEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n createdAt: new Date(object[\"createdAt\"]),\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n id: object[\"id\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n createdAt: self.createdAt,\n description: self.description,\n disabled: self.disabled,\n id: self.id,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n uid: self.uid,\n updatedAt: self.updatedAt,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointOut.js.map",
|
|
78
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointSecretInSerializer = void 0;\nexports.IngestEndpointSecretInSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointSecretIn.js.map",
|
|
79
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointSecretOutSerializer = void 0;\nexports.IngestEndpointSecretOutSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointSecretOut.js.map",
|
|
80
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointTransformationOutSerializer = void 0;\nexports.IngestEndpointTransformationOutSerializer = {\n _fromJsonObject(object) {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n _toJsonObject(self) {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointTransformationOut.js.map",
|
|
81
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointTransformationPatchSerializer = void 0;\nexports.IngestEndpointTransformationPatchSerializer = {\n _fromJsonObject(object) {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n _toJsonObject(self) {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointTransformationPatch.js.map",
|
|
82
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpointUpdateSerializer = void 0;\nexports.IngestEndpointUpdateSerializer = {\n _fromJsonObject(object) {\n return {\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n description: self.description,\n disabled: self.disabled,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n uid: self.uid,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=ingestEndpointUpdate.js.map",
|
|
83
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseIngestEndpointOutSerializer = void 0;\nconst ingestEndpointOut_1 = require(\"./ingestEndpointOut\");\nexports.ListResponseIngestEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => ingestEndpointOut_1.IngestEndpointOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => ingestEndpointOut_1.IngestEndpointOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseIngestEndpointOut.js.map",
|
|
84
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestEndpoint = void 0;\nconst ingestEndpointHeadersIn_1 = require(\"../models/ingestEndpointHeadersIn\");\nconst ingestEndpointHeadersOut_1 = require(\"../models/ingestEndpointHeadersOut\");\nconst ingestEndpointIn_1 = require(\"../models/ingestEndpointIn\");\nconst ingestEndpointOut_1 = require(\"../models/ingestEndpointOut\");\nconst ingestEndpointSecretIn_1 = require(\"../models/ingestEndpointSecretIn\");\nconst ingestEndpointSecretOut_1 = require(\"../models/ingestEndpointSecretOut\");\nconst ingestEndpointTransformationOut_1 = require(\"../models/ingestEndpointTransformationOut\");\nconst ingestEndpointTransformationPatch_1 = require(\"../models/ingestEndpointTransformationPatch\");\nconst ingestEndpointUpdate_1 = require(\"../models/ingestEndpointUpdate\");\nconst listResponseIngestEndpointOut_1 = require(\"../models/listResponseIngestEndpointOut\");\nconst request_1 = require(\"../request\");\nclass IngestEndpoint {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(sourceId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/ingest/api/v1/source/{source_id}/endpoint\");\n request.setPathParam(\"source_id\", sourceId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseIngestEndpointOut_1.ListResponseIngestEndpointOutSerializer._fromJsonObject);\n }\n create(sourceId, ingestEndpointIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/ingest/api/v1/source/{source_id}/endpoint\");\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(ingestEndpointIn_1.IngestEndpointInSerializer._toJsonObject(ingestEndpointIn));\n return request.send(this.requestCtx, ingestEndpointOut_1.IngestEndpointOutSerializer._fromJsonObject);\n }\n get(sourceId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, ingestEndpointOut_1.IngestEndpointOutSerializer._fromJsonObject);\n }\n update(sourceId, endpointId, ingestEndpointUpdate) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(ingestEndpointUpdate_1.IngestEndpointUpdateSerializer._toJsonObject(ingestEndpointUpdate));\n return request.send(this.requestCtx, ingestEndpointOut_1.IngestEndpointOutSerializer._fromJsonObject);\n }\n delete(sourceId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n getHeaders(sourceId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, ingestEndpointHeadersOut_1.IngestEndpointHeadersOutSerializer._fromJsonObject);\n }\n updateHeaders(sourceId, endpointId, ingestEndpointHeadersIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/headers\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(ingestEndpointHeadersIn_1.IngestEndpointHeadersInSerializer._toJsonObject(ingestEndpointHeadersIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n getSecret(sourceId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, ingestEndpointSecretOut_1.IngestEndpointSecretOutSerializer._fromJsonObject);\n }\n rotateSecret(sourceId, endpointId, ingestEndpointSecretIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/secret/rotate\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(ingestEndpointSecretIn_1.IngestEndpointSecretInSerializer._toJsonObject(ingestEndpointSecretIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n getTransformation(sourceId, endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, ingestEndpointTransformationOut_1.IngestEndpointTransformationOutSerializer._fromJsonObject);\n }\n setTransformation(sourceId, endpointId, ingestEndpointTransformationPatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/ingest/api/v1/source/{source_id}/endpoint/{endpoint_id}/transformation\");\n request.setPathParam(\"source_id\", sourceId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(ingestEndpointTransformationPatch_1.IngestEndpointTransformationPatchSerializer._toJsonObject(ingestEndpointTransformationPatch));\n return request.sendNoResponseBody(this.requestCtx);\n }\n}\nexports.IngestEndpoint = IngestEndpoint;\n//# sourceMappingURL=ingestEndpoint.js.map",
|
|
85
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdobeSignConfigSerializer = void 0;\nexports.AdobeSignConfigSerializer = {\n _fromJsonObject(object) {\n return {\n clientId: object[\"clientId\"],\n };\n },\n _toJsonObject(self) {\n return {\n clientId: self.clientId,\n };\n },\n};\n//# sourceMappingURL=adobeSignConfig.js.map",
|
|
86
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AirwallexConfigSerializer = void 0;\nexports.AirwallexConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=airwallexConfig.js.map",
|
|
87
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckbookConfigSerializer = void 0;\nexports.CheckbookConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=checkbookConfig.js.map",
|
|
88
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CronConfigSerializer = void 0;\nexports.CronConfigSerializer = {\n _fromJsonObject(object) {\n return {\n contentType: object[\"contentType\"],\n payload: object[\"payload\"],\n schedule: object[\"schedule\"],\n };\n },\n _toJsonObject(self) {\n return {\n contentType: self.contentType,\n payload: self.payload,\n schedule: self.schedule,\n };\n },\n};\n//# sourceMappingURL=cronConfig.js.map",
|
|
89
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocusignConfigSerializer = void 0;\nexports.DocusignConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=docusignConfig.js.map",
|
|
90
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EasypostConfigSerializer = void 0;\nexports.EasypostConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=easypostConfig.js.map",
|
|
91
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GithubConfigSerializer = void 0;\nexports.GithubConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=githubConfig.js.map",
|
|
92
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HubspotConfigSerializer = void 0;\nexports.HubspotConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=hubspotConfig.js.map",
|
|
93
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetaConfigSerializer = void 0;\nexports.MetaConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n verifyToken: object[\"verifyToken\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n verifyToken: self.verifyToken,\n };\n },\n};\n//# sourceMappingURL=metaConfig.js.map",
|
|
94
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrumIoConfigSerializer = void 0;\nexports.OrumIoConfigSerializer = {\n _fromJsonObject(object) {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n _toJsonObject(self) {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n//# sourceMappingURL=orumIoConfig.js.map",
|
|
95
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PandaDocConfigSerializer = void 0;\nexports.PandaDocConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=pandaDocConfig.js.map",
|
|
96
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PortIoConfigSerializer = void 0;\nexports.PortIoConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=portIoConfig.js.map",
|
|
97
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RutterConfigSerializer = void 0;\nexports.RutterConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=rutterConfig.js.map",
|
|
98
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SegmentConfigSerializer = void 0;\nexports.SegmentConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=segmentConfig.js.map",
|
|
99
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShopifyConfigSerializer = void 0;\nexports.ShopifyConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=shopifyConfig.js.map",
|
|
100
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SlackConfigSerializer = void 0;\nexports.SlackConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=slackConfig.js.map",
|
|
101
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StripeConfigSerializer = void 0;\nexports.StripeConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=stripeConfig.js.map",
|
|
102
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SvixConfigSerializer = void 0;\nexports.SvixConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=svixConfig.js.map",
|
|
103
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TelnyxConfigSerializer = void 0;\nexports.TelnyxConfigSerializer = {\n _fromJsonObject(object) {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n _toJsonObject(self) {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n//# sourceMappingURL=telnyxConfig.js.map",
|
|
104
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VapiConfigSerializer = void 0;\nexports.VapiConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=vapiConfig.js.map",
|
|
105
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VeriffConfigSerializer = void 0;\nexports.VeriffConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=veriffConfig.js.map",
|
|
106
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZoomConfigSerializer = void 0;\nexports.ZoomConfigSerializer = {\n _fromJsonObject(object) {\n return {\n secret: object[\"secret\"],\n };\n },\n _toJsonObject(self) {\n return {\n secret: self.secret,\n };\n },\n};\n//# sourceMappingURL=zoomConfig.js.map",
|
|
107
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestSourceInSerializer = void 0;\nconst adobeSignConfig_1 = require(\"./adobeSignConfig\");\nconst airwallexConfig_1 = require(\"./airwallexConfig\");\nconst checkbookConfig_1 = require(\"./checkbookConfig\");\nconst cronConfig_1 = require(\"./cronConfig\");\nconst docusignConfig_1 = require(\"./docusignConfig\");\nconst easypostConfig_1 = require(\"./easypostConfig\");\nconst githubConfig_1 = require(\"./githubConfig\");\nconst hubspotConfig_1 = require(\"./hubspotConfig\");\nconst metaConfig_1 = require(\"./metaConfig\");\nconst orumIoConfig_1 = require(\"./orumIoConfig\");\nconst pandaDocConfig_1 = require(\"./pandaDocConfig\");\nconst portIoConfig_1 = require(\"./portIoConfig\");\nconst rutterConfig_1 = require(\"./rutterConfig\");\nconst segmentConfig_1 = require(\"./segmentConfig\");\nconst shopifyConfig_1 = require(\"./shopifyConfig\");\nconst slackConfig_1 = require(\"./slackConfig\");\nconst stripeConfig_1 = require(\"./stripeConfig\");\nconst svixConfig_1 = require(\"./svixConfig\");\nconst telnyxConfig_1 = require(\"./telnyxConfig\");\nconst vapiConfig_1 = require(\"./vapiConfig\");\nconst veriffConfig_1 = require(\"./veriffConfig\");\nconst zoomConfig_1 = require(\"./zoomConfig\");\nexports.IngestSourceInSerializer = {\n _fromJsonObject(object) {\n const type = object[\"type\"];\n function getConfig(type) {\n switch (type) {\n case \"generic-webhook\":\n return {};\n case \"cron\":\n return cronConfig_1.CronConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"adobe-sign\":\n return adobeSignConfig_1.AdobeSignConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"beehiiv\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"brex\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"checkbook\":\n return checkbookConfig_1.CheckbookConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"clerk\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"docusign\":\n return docusignConfig_1.DocusignConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"easypost\":\n return easypostConfig_1.EasypostConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"github\":\n return githubConfig_1.GithubConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"guesty\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"hubspot\":\n return hubspotConfig_1.HubspotConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"incident-io\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"lithic\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"meta\":\n return metaConfig_1.MetaConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"nash\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"orum-io\":\n return orumIoConfig_1.OrumIoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"panda-doc\":\n return pandaDocConfig_1.PandaDocConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"port-io\":\n return portIoConfig_1.PortIoConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"pleo\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"psi-fi\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"replicate\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"resend\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"rutter\":\n return rutterConfig_1.RutterConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"safebase\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"sardine\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"segment\":\n return segmentConfig_1.SegmentConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"shopify\":\n return shopifyConfig_1.ShopifyConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"slack\":\n return slackConfig_1.SlackConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"stripe\":\n return stripeConfig_1.StripeConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"stych\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"svix\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"zoom\":\n return zoomConfig_1.ZoomConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"telnyx\":\n return telnyxConfig_1.TelnyxConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"vapi\":\n return vapiConfig_1.VapiConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"open-ai\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"render\":\n return svixConfig_1.SvixConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"veriff\":\n return veriffConfig_1.VeriffConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"airwallex\":\n return airwallexConfig_1.AirwallexConfigSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n return {\n type,\n config: getConfig(type),\n metadata: object[\"metadata\"],\n name: object[\"name\"],\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n let config;\n switch (self.type) {\n case \"generic-webhook\":\n config = {};\n break;\n case \"cron\":\n config = cronConfig_1.CronConfigSerializer._toJsonObject(self.config);\n break;\n case \"adobe-sign\":\n config = adobeSignConfig_1.AdobeSignConfigSerializer._toJsonObject(self.config);\n break;\n case \"beehiiv\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"brex\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"checkbook\":\n config = checkbookConfig_1.CheckbookConfigSerializer._toJsonObject(self.config);\n break;\n case \"clerk\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"docusign\":\n config = docusignConfig_1.DocusignConfigSerializer._toJsonObject(self.config);\n break;\n case \"easypost\":\n config = easypostConfig_1.EasypostConfigSerializer._toJsonObject(self.config);\n break;\n case \"github\":\n config = githubConfig_1.GithubConfigSerializer._toJsonObject(self.config);\n break;\n case \"guesty\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"hubspot\":\n config = hubspotConfig_1.HubspotConfigSerializer._toJsonObject(self.config);\n break;\n case \"incident-io\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"lithic\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"meta\":\n config = metaConfig_1.MetaConfigSerializer._toJsonObject(self.config);\n break;\n case \"nash\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"orum-io\":\n config = orumIoConfig_1.OrumIoConfigSerializer._toJsonObject(self.config);\n break;\n case \"panda-doc\":\n config = pandaDocConfig_1.PandaDocConfigSerializer._toJsonObject(self.config);\n break;\n case \"port-io\":\n config = portIoConfig_1.PortIoConfigSerializer._toJsonObject(self.config);\n break;\n case \"pleo\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"psi-fi\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"replicate\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"resend\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"rutter\":\n config = rutterConfig_1.RutterConfigSerializer._toJsonObject(self.config);\n break;\n case \"safebase\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"sardine\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"segment\":\n config = segmentConfig_1.SegmentConfigSerializer._toJsonObject(self.config);\n break;\n case \"shopify\":\n config = shopifyConfig_1.ShopifyConfigSerializer._toJsonObject(self.config);\n break;\n case \"slack\":\n config = slackConfig_1.SlackConfigSerializer._toJsonObject(self.config);\n break;\n case \"stripe\":\n config = stripeConfig_1.StripeConfigSerializer._toJsonObject(self.config);\n break;\n case \"stych\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"svix\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"zoom\":\n config = zoomConfig_1.ZoomConfigSerializer._toJsonObject(self.config);\n break;\n case \"telnyx\":\n config = telnyxConfig_1.TelnyxConfigSerializer._toJsonObject(self.config);\n break;\n case \"vapi\":\n config = vapiConfig_1.VapiConfigSerializer._toJsonObject(self.config);\n break;\n case \"open-ai\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"render\":\n config = svixConfig_1.SvixConfigSerializer._toJsonObject(self.config);\n break;\n case \"veriff\":\n config = veriffConfig_1.VeriffConfigSerializer._toJsonObject(self.config);\n break;\n case \"airwallex\":\n config = airwallexConfig_1.AirwallexConfigSerializer._toJsonObject(self.config);\n break;\n }\n return {\n type: self.type,\n config: config,\n metadata: self.metadata,\n name: self.name,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=ingestSourceIn.js.map",
|
|
108
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AdobeSignConfigOutSerializer = void 0;\nexports.AdobeSignConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=adobeSignConfigOut.js.map",
|
|
109
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AirwallexConfigOutSerializer = void 0;\nexports.AirwallexConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=airwallexConfigOut.js.map",
|
|
110
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CheckbookConfigOutSerializer = void 0;\nexports.CheckbookConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=checkbookConfigOut.js.map",
|
|
111
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocusignConfigOutSerializer = void 0;\nexports.DocusignConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=docusignConfigOut.js.map",
|
|
112
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EasypostConfigOutSerializer = void 0;\nexports.EasypostConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=easypostConfigOut.js.map",
|
|
113
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GithubConfigOutSerializer = void 0;\nexports.GithubConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=githubConfigOut.js.map",
|
|
114
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HubspotConfigOutSerializer = void 0;\nexports.HubspotConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=hubspotConfigOut.js.map",
|
|
115
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MetaConfigOutSerializer = void 0;\nexports.MetaConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=metaConfigOut.js.map",
|
|
116
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrumIoConfigOutSerializer = void 0;\nexports.OrumIoConfigOutSerializer = {\n _fromJsonObject(object) {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n _toJsonObject(self) {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n//# sourceMappingURL=orumIoConfigOut.js.map",
|
|
117
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PandaDocConfigOutSerializer = void 0;\nexports.PandaDocConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=pandaDocConfigOut.js.map",
|
|
118
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PortIoConfigOutSerializer = void 0;\nexports.PortIoConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=portIoConfigOut.js.map",
|
|
119
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RutterConfigOutSerializer = void 0;\nexports.RutterConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=rutterConfigOut.js.map",
|
|
120
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SegmentConfigOutSerializer = void 0;\nexports.SegmentConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=segmentConfigOut.js.map",
|
|
121
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ShopifyConfigOutSerializer = void 0;\nexports.ShopifyConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=shopifyConfigOut.js.map",
|
|
122
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SlackConfigOutSerializer = void 0;\nexports.SlackConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=slackConfigOut.js.map",
|
|
123
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StripeConfigOutSerializer = void 0;\nexports.StripeConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=stripeConfigOut.js.map",
|
|
124
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SvixConfigOutSerializer = void 0;\nexports.SvixConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=svixConfigOut.js.map",
|
|
125
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TelnyxConfigOutSerializer = void 0;\nexports.TelnyxConfigOutSerializer = {\n _fromJsonObject(object) {\n return {\n publicKey: object[\"publicKey\"],\n };\n },\n _toJsonObject(self) {\n return {\n publicKey: self.publicKey,\n };\n },\n};\n//# sourceMappingURL=telnyxConfigOut.js.map",
|
|
126
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VapiConfigOutSerializer = void 0;\nexports.VapiConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=vapiConfigOut.js.map",
|
|
127
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VeriffConfigOutSerializer = void 0;\nexports.VeriffConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=veriffConfigOut.js.map",
|
|
128
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZoomConfigOutSerializer = void 0;\nexports.ZoomConfigOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=zoomConfigOut.js.map",
|
|
129
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestSourceOutSerializer = void 0;\nconst adobeSignConfigOut_1 = require(\"./adobeSignConfigOut\");\nconst airwallexConfigOut_1 = require(\"./airwallexConfigOut\");\nconst checkbookConfigOut_1 = require(\"./checkbookConfigOut\");\nconst cronConfig_1 = require(\"./cronConfig\");\nconst docusignConfigOut_1 = require(\"./docusignConfigOut\");\nconst easypostConfigOut_1 = require(\"./easypostConfigOut\");\nconst githubConfigOut_1 = require(\"./githubConfigOut\");\nconst hubspotConfigOut_1 = require(\"./hubspotConfigOut\");\nconst metaConfigOut_1 = require(\"./metaConfigOut\");\nconst orumIoConfigOut_1 = require(\"./orumIoConfigOut\");\nconst pandaDocConfigOut_1 = require(\"./pandaDocConfigOut\");\nconst portIoConfigOut_1 = require(\"./portIoConfigOut\");\nconst rutterConfigOut_1 = require(\"./rutterConfigOut\");\nconst segmentConfigOut_1 = require(\"./segmentConfigOut\");\nconst shopifyConfigOut_1 = require(\"./shopifyConfigOut\");\nconst slackConfigOut_1 = require(\"./slackConfigOut\");\nconst stripeConfigOut_1 = require(\"./stripeConfigOut\");\nconst svixConfigOut_1 = require(\"./svixConfigOut\");\nconst telnyxConfigOut_1 = require(\"./telnyxConfigOut\");\nconst vapiConfigOut_1 = require(\"./vapiConfigOut\");\nconst veriffConfigOut_1 = require(\"./veriffConfigOut\");\nconst zoomConfigOut_1 = require(\"./zoomConfigOut\");\nexports.IngestSourceOutSerializer = {\n _fromJsonObject(object) {\n const type = object[\"type\"];\n function getConfig(type) {\n switch (type) {\n case \"generic-webhook\":\n return {};\n case \"cron\":\n return cronConfig_1.CronConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"adobe-sign\":\n return adobeSignConfigOut_1.AdobeSignConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"beehiiv\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"brex\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"checkbook\":\n return checkbookConfigOut_1.CheckbookConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"clerk\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"docusign\":\n return docusignConfigOut_1.DocusignConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"easypost\":\n return easypostConfigOut_1.EasypostConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"github\":\n return githubConfigOut_1.GithubConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"guesty\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"hubspot\":\n return hubspotConfigOut_1.HubspotConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"incident-io\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"lithic\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"meta\":\n return metaConfigOut_1.MetaConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"nash\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"orum-io\":\n return orumIoConfigOut_1.OrumIoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"panda-doc\":\n return pandaDocConfigOut_1.PandaDocConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"port-io\":\n return portIoConfigOut_1.PortIoConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"psi-fi\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"pleo\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"replicate\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"resend\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"rutter\":\n return rutterConfigOut_1.RutterConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"safebase\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"sardine\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"segment\":\n return segmentConfigOut_1.SegmentConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"shopify\":\n return shopifyConfigOut_1.ShopifyConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"slack\":\n return slackConfigOut_1.SlackConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"stripe\":\n return stripeConfigOut_1.StripeConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"stych\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"svix\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"zoom\":\n return zoomConfigOut_1.ZoomConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"telnyx\":\n return telnyxConfigOut_1.TelnyxConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"vapi\":\n return vapiConfigOut_1.VapiConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"open-ai\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"render\":\n return svixConfigOut_1.SvixConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"veriff\":\n return veriffConfigOut_1.VeriffConfigOutSerializer._fromJsonObject(object[\"config\"]);\n case \"airwallex\":\n return airwallexConfigOut_1.AirwallexConfigOutSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n return {\n type,\n config: getConfig(type),\n createdAt: new Date(object[\"createdAt\"]),\n id: object[\"id\"],\n ingestUrl: object[\"ingestUrl\"],\n metadata: object[\"metadata\"],\n name: object[\"name\"],\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n let config;\n switch (self.type) {\n case \"generic-webhook\":\n config = {};\n break;\n case \"cron\":\n config = cronConfig_1.CronConfigSerializer._toJsonObject(self.config);\n break;\n case \"adobe-sign\":\n config = adobeSignConfigOut_1.AdobeSignConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"beehiiv\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"brex\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"checkbook\":\n config = checkbookConfigOut_1.CheckbookConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"clerk\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"docusign\":\n config = docusignConfigOut_1.DocusignConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"easypost\":\n config = easypostConfigOut_1.EasypostConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"github\":\n config = githubConfigOut_1.GithubConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"guesty\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"hubspot\":\n config = hubspotConfigOut_1.HubspotConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"incident-io\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"lithic\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"meta\":\n config = metaConfigOut_1.MetaConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"nash\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"orum-io\":\n config = orumIoConfigOut_1.OrumIoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"panda-doc\":\n config = pandaDocConfigOut_1.PandaDocConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"port-io\":\n config = portIoConfigOut_1.PortIoConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"psi-fi\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"pleo\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"replicate\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"resend\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"rutter\":\n config = rutterConfigOut_1.RutterConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"safebase\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"sardine\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"segment\":\n config = segmentConfigOut_1.SegmentConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"shopify\":\n config = shopifyConfigOut_1.ShopifyConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"slack\":\n config = slackConfigOut_1.SlackConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"stripe\":\n config = stripeConfigOut_1.StripeConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"stych\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"svix\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"zoom\":\n config = zoomConfigOut_1.ZoomConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"telnyx\":\n config = telnyxConfigOut_1.TelnyxConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"vapi\":\n config = vapiConfigOut_1.VapiConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"open-ai\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"render\":\n config = svixConfigOut_1.SvixConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"veriff\":\n config = veriffConfigOut_1.VeriffConfigOutSerializer._toJsonObject(self.config);\n break;\n case \"airwallex\":\n config = airwallexConfigOut_1.AirwallexConfigOutSerializer._toJsonObject(self.config);\n break;\n }\n return {\n type: self.type,\n config: config,\n createdAt: self.createdAt,\n id: self.id,\n ingestUrl: self.ingestUrl,\n metadata: self.metadata,\n name: self.name,\n uid: self.uid,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=ingestSourceOut.js.map",
|
|
130
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseIngestSourceOutSerializer = void 0;\nconst ingestSourceOut_1 = require(\"./ingestSourceOut\");\nexports.ListResponseIngestSourceOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => ingestSourceOut_1.IngestSourceOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => ingestSourceOut_1.IngestSourceOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseIngestSourceOut.js.map",
|
|
131
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RotateTokenOutSerializer = void 0;\nexports.RotateTokenOutSerializer = {\n _fromJsonObject(object) {\n return {\n ingestUrl: object[\"ingestUrl\"],\n };\n },\n _toJsonObject(self) {\n return {\n ingestUrl: self.ingestUrl,\n };\n },\n};\n//# sourceMappingURL=rotateTokenOut.js.map",
|
|
132
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IngestSource = void 0;\nconst ingestSourceIn_1 = require(\"../models/ingestSourceIn\");\nconst ingestSourceOut_1 = require(\"../models/ingestSourceOut\");\nconst listResponseIngestSourceOut_1 = require(\"../models/listResponseIngestSourceOut\");\nconst rotateTokenOut_1 = require(\"../models/rotateTokenOut\");\nconst request_1 = require(\"../request\");\nclass IngestSource {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/ingest/api/v1/source\");\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseIngestSourceOut_1.ListResponseIngestSourceOutSerializer._fromJsonObject);\n }\n create(ingestSourceIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/ingest/api/v1/source\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(ingestSourceIn_1.IngestSourceInSerializer._toJsonObject(ingestSourceIn));\n return request.send(this.requestCtx, ingestSourceOut_1.IngestSourceOutSerializer._fromJsonObject);\n }\n get(sourceId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/ingest/api/v1/source/{source_id}\");\n request.setPathParam(\"source_id\", sourceId);\n return request.send(this.requestCtx, ingestSourceOut_1.IngestSourceOutSerializer._fromJsonObject);\n }\n update(sourceId, ingestSourceIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/ingest/api/v1/source/{source_id}\");\n request.setPathParam(\"source_id\", sourceId);\n request.setBody(ingestSourceIn_1.IngestSourceInSerializer._toJsonObject(ingestSourceIn));\n return request.send(this.requestCtx, ingestSourceOut_1.IngestSourceOutSerializer._fromJsonObject);\n }\n delete(sourceId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/ingest/api/v1/source/{source_id}\");\n request.setPathParam(\"source_id\", sourceId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n rotateToken(sourceId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/ingest/api/v1/source/{source_id}/token/rotate\");\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.send(this.requestCtx, rotateTokenOut_1.RotateTokenOutSerializer._fromJsonObject);\n }\n}\nexports.IngestSource = IngestSource;\n//# sourceMappingURL=ingestSource.js.map",
|
|
133
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ingest = void 0;\nconst dashboardAccessOut_1 = require(\"../models/dashboardAccessOut\");\nconst ingestSourceConsumerPortalAccessIn_1 = require(\"../models/ingestSourceConsumerPortalAccessIn\");\nconst ingestEndpoint_1 = require(\"./ingestEndpoint\");\nconst ingestSource_1 = require(\"./ingestSource\");\nconst request_1 = require(\"../request\");\nclass Ingest {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n get endpoint() {\n return new ingestEndpoint_1.IngestEndpoint(this.requestCtx);\n }\n get source() {\n return new ingestSource_1.IngestSource(this.requestCtx);\n }\n dashboard(sourceId, ingestSourceConsumerPortalAccessIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/ingest/api/v1/source/{source_id}/dashboard\");\n request.setPathParam(\"source_id\", sourceId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(ingestSourceConsumerPortalAccessIn_1.IngestSourceConsumerPortalAccessInSerializer._toJsonObject(ingestSourceConsumerPortalAccessIn));\n return request.send(this.requestCtx, dashboardAccessOut_1.DashboardAccessOutSerializer._fromJsonObject);\n }\n}\nexports.Ingest = Ingest;\n//# sourceMappingURL=ingest.js.map",
|
|
134
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntegrationInSerializer = void 0;\nexports.IntegrationInSerializer = {\n _fromJsonObject(object) {\n return {\n featureFlags: object[\"featureFlags\"],\n name: object[\"name\"],\n };\n },\n _toJsonObject(self) {\n return {\n featureFlags: self.featureFlags,\n name: self.name,\n };\n },\n};\n//# sourceMappingURL=integrationIn.js.map",
|
|
135
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntegrationKeyOutSerializer = void 0;\nexports.IntegrationKeyOutSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=integrationKeyOut.js.map",
|
|
136
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntegrationOutSerializer = void 0;\nexports.IntegrationOutSerializer = {\n _fromJsonObject(object) {\n return {\n createdAt: new Date(object[\"createdAt\"]),\n featureFlags: object[\"featureFlags\"],\n id: object[\"id\"],\n name: object[\"name\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n createdAt: self.createdAt,\n featureFlags: self.featureFlags,\n id: self.id,\n name: self.name,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=integrationOut.js.map",
|
|
137
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntegrationUpdateSerializer = void 0;\nexports.IntegrationUpdateSerializer = {\n _fromJsonObject(object) {\n return {\n featureFlags: object[\"featureFlags\"],\n name: object[\"name\"],\n };\n },\n _toJsonObject(self) {\n return {\n featureFlags: self.featureFlags,\n name: self.name,\n };\n },\n};\n//# sourceMappingURL=integrationUpdate.js.map",
|
|
138
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseIntegrationOutSerializer = void 0;\nconst integrationOut_1 = require(\"./integrationOut\");\nexports.ListResponseIntegrationOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => integrationOut_1.IntegrationOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => integrationOut_1.IntegrationOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseIntegrationOut.js.map",
|
|
139
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Integration = void 0;\nconst integrationIn_1 = require(\"../models/integrationIn\");\nconst integrationKeyOut_1 = require(\"../models/integrationKeyOut\");\nconst integrationOut_1 = require(\"../models/integrationOut\");\nconst integrationUpdate_1 = require(\"../models/integrationUpdate\");\nconst listResponseIntegrationOut_1 = require(\"../models/listResponseIntegrationOut\");\nconst request_1 = require(\"../request\");\nclass Integration {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(appId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/integration\");\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseIntegrationOut_1.ListResponseIntegrationOutSerializer._fromJsonObject);\n }\n create(appId, integrationIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/integration\");\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(integrationIn_1.IntegrationInSerializer._toJsonObject(integrationIn));\n return request.send(this.requestCtx, integrationOut_1.IntegrationOutSerializer._fromJsonObject);\n }\n get(appId, integId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/integration/{integ_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n return request.send(this.requestCtx, integrationOut_1.IntegrationOutSerializer._fromJsonObject);\n }\n update(appId, integId, integrationUpdate) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/app/{app_id}/integration/{integ_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n request.setBody(integrationUpdate_1.IntegrationUpdateSerializer._toJsonObject(integrationUpdate));\n return request.send(this.requestCtx, integrationOut_1.IntegrationOutSerializer._fromJsonObject);\n }\n delete(appId, integId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/app/{app_id}/integration/{integ_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n getKey(appId, integId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/integration/{integ_id}/key\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n return request.send(this.requestCtx, integrationKeyOut_1.IntegrationKeyOutSerializer._fromJsonObject);\n }\n rotateKey(appId, integId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/integration/{integ_id}/key/rotate\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"integ_id\", integId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.send(this.requestCtx, integrationKeyOut_1.IntegrationKeyOutSerializer._fromJsonObject);\n }\n}\nexports.Integration = Integration;\n//# sourceMappingURL=integration.js.map",
|
|
140
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ExpungeAllContentsOutSerializer = void 0;\nconst backgroundTaskStatus_1 = require(\"./backgroundTaskStatus\");\nconst backgroundTaskType_1 = require(\"./backgroundTaskType\");\nexports.ExpungeAllContentsOutSerializer = {\n _fromJsonObject(object) {\n return {\n id: object[\"id\"],\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n id: self.id,\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=expungeAllContentsOut.js.map",
|
|
141
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseMessageOutSerializer = void 0;\nconst messageOut_1 = require(\"./messageOut\");\nexports.ListResponseMessageOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => messageOut_1.MessageOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => messageOut_1.MessageOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseMessageOut.js.map",
|
|
142
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessagePrecheckInSerializer = void 0;\nexports.MessagePrecheckInSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n eventType: object[\"eventType\"],\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n eventType: self.eventType,\n };\n },\n};\n//# sourceMappingURL=messagePrecheckIn.js.map",
|
|
143
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessagePrecheckOutSerializer = void 0;\nexports.MessagePrecheckOutSerializer = {\n _fromJsonObject(object) {\n return {\n active: object[\"active\"],\n };\n },\n _toJsonObject(self) {\n return {\n active: self.active,\n };\n },\n};\n//# sourceMappingURL=messagePrecheckOut.js.map",
|
|
144
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PollingEndpointConsumerSeekInSerializer = void 0;\nexports.PollingEndpointConsumerSeekInSerializer = {\n _fromJsonObject(object) {\n return {\n after: new Date(object[\"after\"]),\n };\n },\n _toJsonObject(self) {\n return {\n after: self.after,\n };\n },\n};\n//# sourceMappingURL=pollingEndpointConsumerSeekIn.js.map",
|
|
145
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PollingEndpointConsumerSeekOutSerializer = void 0;\nexports.PollingEndpointConsumerSeekOutSerializer = {\n _fromJsonObject(object) {\n return {\n iterator: object[\"iterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n iterator: self.iterator,\n };\n },\n};\n//# sourceMappingURL=pollingEndpointConsumerSeekOut.js.map",
|
|
146
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PollingEndpointMessageOutSerializer = void 0;\nexports.PollingEndpointMessageOutSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n headers: object[\"headers\"],\n id: object[\"id\"],\n payload: object[\"payload\"],\n tags: object[\"tags\"],\n timestamp: new Date(object[\"timestamp\"]),\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n deliverAt: self.deliverAt,\n eventId: self.eventId,\n eventType: self.eventType,\n headers: self.headers,\n id: self.id,\n payload: self.payload,\n tags: self.tags,\n timestamp: self.timestamp,\n };\n },\n};\n//# sourceMappingURL=pollingEndpointMessageOut.js.map",
|
|
147
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PollingEndpointOutSerializer = void 0;\nconst pollingEndpointMessageOut_1 = require(\"./pollingEndpointMessageOut\");\nexports.PollingEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => pollingEndpointMessageOut_1.PollingEndpointMessageOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => pollingEndpointMessageOut_1.PollingEndpointMessageOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n };\n },\n};\n//# sourceMappingURL=pollingEndpointOut.js.map",
|
|
148
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessagePoller = void 0;\nconst pollingEndpointConsumerSeekIn_1 = require(\"../models/pollingEndpointConsumerSeekIn\");\nconst pollingEndpointConsumerSeekOut_1 = require(\"../models/pollingEndpointConsumerSeekOut\");\nconst pollingEndpointOut_1 = require(\"../models/pollingEndpointOut\");\nconst request_1 = require(\"../request\");\nclass MessagePoller {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n poll(appId, sinkId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/poller/{sink_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n event_type: options === null || options === void 0 ? void 0 : options.eventType,\n channel: options === null || options === void 0 ? void 0 : options.channel,\n after: options === null || options === void 0 ? void 0 : options.after,\n });\n return request.send(this.requestCtx, pollingEndpointOut_1.PollingEndpointOutSerializer._fromJsonObject);\n }\n consumerPoll(appId, sinkId, consumerId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n });\n return request.send(this.requestCtx, pollingEndpointOut_1.PollingEndpointOutSerializer._fromJsonObject);\n }\n consumerSeek(appId, sinkId, consumerId, pollingEndpointConsumerSeekIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/poller/{sink_id}/consumer/{consumer_id}/seek\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setPathParam(\"consumer_id\", consumerId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(pollingEndpointConsumerSeekIn_1.PollingEndpointConsumerSeekInSerializer._toJsonObject(pollingEndpointConsumerSeekIn));\n return request.send(this.requestCtx, pollingEndpointConsumerSeekOut_1.PollingEndpointConsumerSeekOutSerializer._fromJsonObject);\n }\n}\nexports.MessagePoller = MessagePoller;\n//# sourceMappingURL=messagePoller.js.map",
|
|
149
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageInSerializer = void 0;\nconst applicationIn_1 = require(\"./applicationIn\");\nexports.MessageInSerializer = {\n _fromJsonObject(object) {\n return {\n application: object[\"application\"] != null\n ? applicationIn_1.ApplicationInSerializer._fromJsonObject(object[\"application\"])\n : undefined,\n channels: object[\"channels\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n payloadRetentionHours: object[\"payloadRetentionHours\"],\n payloadRetentionPeriod: object[\"payloadRetentionPeriod\"],\n tags: object[\"tags\"],\n transformationsParams: object[\"transformationsParams\"],\n };\n },\n _toJsonObject(self) {\n return {\n application: self.application != null\n ? applicationIn_1.ApplicationInSerializer._toJsonObject(self.application)\n : undefined,\n channels: self.channels,\n deliverAt: self.deliverAt,\n eventId: self.eventId,\n eventType: self.eventType,\n payload: self.payload,\n payloadRetentionHours: self.payloadRetentionHours,\n payloadRetentionPeriod: self.payloadRetentionPeriod,\n tags: self.tags,\n transformationsParams: self.transformationsParams,\n };\n },\n};\n//# sourceMappingURL=messageIn.js.map",
|
|
150
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.messageInRaw = exports.Message = void 0;\nconst expungeAllContentsOut_1 = require(\"../models/expungeAllContentsOut\");\nconst listResponseMessageOut_1 = require(\"../models/listResponseMessageOut\");\nconst messageOut_1 = require(\"../models/messageOut\");\nconst messagePrecheckIn_1 = require(\"../models/messagePrecheckIn\");\nconst messagePrecheckOut_1 = require(\"../models/messagePrecheckOut\");\nconst messagePoller_1 = require(\"./messagePoller\");\nconst request_1 = require(\"../request\");\nconst messageIn_1 = require(\"../models/messageIn\");\nclass Message {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n get poller() {\n return new messagePoller_1.MessagePoller(this.requestCtx);\n }\n list(appId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/msg\");\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n channel: options === null || options === void 0 ? void 0 : options.channel,\n before: options === null || options === void 0 ? void 0 : options.before,\n after: options === null || options === void 0 ? void 0 : options.after,\n with_content: options === null || options === void 0 ? void 0 : options.withContent,\n tag: options === null || options === void 0 ? void 0 : options.tag,\n event_types: options === null || options === void 0 ? void 0 : options.eventTypes,\n });\n return request.send(this.requestCtx, listResponseMessageOut_1.ListResponseMessageOutSerializer._fromJsonObject);\n }\n create(appId, messageIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/msg\");\n request.setPathParam(\"app_id\", appId);\n request.setQueryParams({\n with_content: options === null || options === void 0 ? void 0 : options.withContent,\n });\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(messageIn_1.MessageInSerializer._toJsonObject(messageIn));\n return request.send(this.requestCtx, messageOut_1.MessageOutSerializer._fromJsonObject);\n }\n expungeAllContents(appId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/msg/expunge-all-contents\");\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.send(this.requestCtx, expungeAllContentsOut_1.ExpungeAllContentsOutSerializer._fromJsonObject);\n }\n precheck(appId, messagePrecheckIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/msg/precheck/active\");\n request.setPathParam(\"app_id\", appId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(messagePrecheckIn_1.MessagePrecheckInSerializer._toJsonObject(messagePrecheckIn));\n return request.send(this.requestCtx, messagePrecheckOut_1.MessagePrecheckOutSerializer._fromJsonObject);\n }\n get(appId, msgId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/msg/{msg_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n with_content: options === null || options === void 0 ? void 0 : options.withContent,\n });\n return request.send(this.requestCtx, messageOut_1.MessageOutSerializer._fromJsonObject);\n }\n expungeContent(appId, msgId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/app/{app_id}/msg/{msg_id}/content\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n}\nexports.Message = Message;\nfunction messageInRaw(eventType, payload, contentType) {\n const headers = contentType ? { \"content-type\": contentType } : undefined;\n return {\n eventType,\n payload: {},\n transformationsParams: {\n rawPayload: payload,\n headers,\n },\n };\n}\nexports.messageInRaw = messageInRaw;\n//# sourceMappingURL=message.js.map",
|
|
151
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EmptyResponseSerializer = void 0;\nexports.EmptyResponseSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=emptyResponse.js.map",
|
|
152
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageStatusTextSerializer = exports.MessageStatusText = void 0;\nvar MessageStatusText;\n(function (MessageStatusText) {\n MessageStatusText[\"Success\"] = \"success\";\n MessageStatusText[\"Pending\"] = \"pending\";\n MessageStatusText[\"Fail\"] = \"fail\";\n MessageStatusText[\"Sending\"] = \"sending\";\n})(MessageStatusText = exports.MessageStatusText || (exports.MessageStatusText = {}));\nexports.MessageStatusTextSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=messageStatusText.js.map",
|
|
153
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointMessageOutSerializer = void 0;\nconst messageStatus_1 = require(\"./messageStatus\");\nconst messageStatusText_1 = require(\"./messageStatusText\");\nexports.EndpointMessageOutSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n deliverAt: object[\"deliverAt\"] ? new Date(object[\"deliverAt\"]) : null,\n eventId: object[\"eventId\"],\n eventType: object[\"eventType\"],\n id: object[\"id\"],\n nextAttempt: object[\"nextAttempt\"] ? new Date(object[\"nextAttempt\"]) : null,\n payload: object[\"payload\"],\n status: messageStatus_1.MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: messageStatusText_1.MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n tags: object[\"tags\"],\n timestamp: new Date(object[\"timestamp\"]),\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n deliverAt: self.deliverAt,\n eventId: self.eventId,\n eventType: self.eventType,\n id: self.id,\n nextAttempt: self.nextAttempt,\n payload: self.payload,\n status: messageStatus_1.MessageStatusSerializer._toJsonObject(self.status),\n statusText: messageStatusText_1.MessageStatusTextSerializer._toJsonObject(self.statusText),\n tags: self.tags,\n timestamp: self.timestamp,\n };\n },\n};\n//# sourceMappingURL=endpointMessageOut.js.map",
|
|
154
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseEndpointMessageOutSerializer = void 0;\nconst endpointMessageOut_1 = require(\"./endpointMessageOut\");\nexports.ListResponseEndpointMessageOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => endpointMessageOut_1.EndpointMessageOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => endpointMessageOut_1.EndpointMessageOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseEndpointMessageOut.js.map",
|
|
155
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageAttemptTriggerTypeSerializer = exports.MessageAttemptTriggerType = void 0;\nvar MessageAttemptTriggerType;\n(function (MessageAttemptTriggerType) {\n MessageAttemptTriggerType[MessageAttemptTriggerType[\"Scheduled\"] = 0] = \"Scheduled\";\n MessageAttemptTriggerType[MessageAttemptTriggerType[\"Manual\"] = 1] = \"Manual\";\n})(MessageAttemptTriggerType = exports.MessageAttemptTriggerType || (exports.MessageAttemptTriggerType = {}));\nexports.MessageAttemptTriggerTypeSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=messageAttemptTriggerType.js.map",
|
|
156
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageAttemptOutSerializer = void 0;\nconst messageAttemptTriggerType_1 = require(\"./messageAttemptTriggerType\");\nconst messageOut_1 = require(\"./messageOut\");\nconst messageStatus_1 = require(\"./messageStatus\");\nconst messageStatusText_1 = require(\"./messageStatusText\");\nexports.MessageAttemptOutSerializer = {\n _fromJsonObject(object) {\n return {\n endpointId: object[\"endpointId\"],\n id: object[\"id\"],\n msg: object[\"msg\"] != null\n ? messageOut_1.MessageOutSerializer._fromJsonObject(object[\"msg\"])\n : undefined,\n msgId: object[\"msgId\"],\n response: object[\"response\"],\n responseDurationMs: object[\"responseDurationMs\"],\n responseStatusCode: object[\"responseStatusCode\"],\n status: messageStatus_1.MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: messageStatusText_1.MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n timestamp: new Date(object[\"timestamp\"]),\n triggerType: messageAttemptTriggerType_1.MessageAttemptTriggerTypeSerializer._fromJsonObject(object[\"triggerType\"]),\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n endpointId: self.endpointId,\n id: self.id,\n msg: self.msg != null ? messageOut_1.MessageOutSerializer._toJsonObject(self.msg) : undefined,\n msgId: self.msgId,\n response: self.response,\n responseDurationMs: self.responseDurationMs,\n responseStatusCode: self.responseStatusCode,\n status: messageStatus_1.MessageStatusSerializer._toJsonObject(self.status),\n statusText: messageStatusText_1.MessageStatusTextSerializer._toJsonObject(self.statusText),\n timestamp: self.timestamp,\n triggerType: messageAttemptTriggerType_1.MessageAttemptTriggerTypeSerializer._toJsonObject(self.triggerType),\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=messageAttemptOut.js.map",
|
|
157
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseMessageAttemptOutSerializer = void 0;\nconst messageAttemptOut_1 = require(\"./messageAttemptOut\");\nexports.ListResponseMessageAttemptOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => messageAttemptOut_1.MessageAttemptOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => messageAttemptOut_1.MessageAttemptOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseMessageAttemptOut.js.map",
|
|
158
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageEndpointOutSerializer = void 0;\nconst messageStatus_1 = require(\"./messageStatus\");\nconst messageStatusText_1 = require(\"./messageStatusText\");\nexports.MessageEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n channels: object[\"channels\"],\n createdAt: new Date(object[\"createdAt\"]),\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n id: object[\"id\"],\n nextAttempt: object[\"nextAttempt\"] ? new Date(object[\"nextAttempt\"]) : null,\n rateLimit: object[\"rateLimit\"],\n status: messageStatus_1.MessageStatusSerializer._fromJsonObject(object[\"status\"]),\n statusText: messageStatusText_1.MessageStatusTextSerializer._fromJsonObject(object[\"statusText\"]),\n throttleRate: object[\"throttleRate\"],\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n url: object[\"url\"],\n version: object[\"version\"],\n };\n },\n _toJsonObject(self) {\n return {\n channels: self.channels,\n createdAt: self.createdAt,\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n id: self.id,\n nextAttempt: self.nextAttempt,\n rateLimit: self.rateLimit,\n status: messageStatus_1.MessageStatusSerializer._toJsonObject(self.status),\n statusText: messageStatusText_1.MessageStatusTextSerializer._toJsonObject(self.statusText),\n throttleRate: self.throttleRate,\n uid: self.uid,\n updatedAt: self.updatedAt,\n url: self.url,\n version: self.version,\n };\n },\n};\n//# sourceMappingURL=messageEndpointOut.js.map",
|
|
159
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseMessageEndpointOutSerializer = void 0;\nconst messageEndpointOut_1 = require(\"./messageEndpointOut\");\nexports.ListResponseMessageEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => messageEndpointOut_1.MessageEndpointOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => messageEndpointOut_1.MessageEndpointOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseMessageEndpointOut.js.map",
|
|
160
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageAttempt = void 0;\nconst emptyResponse_1 = require(\"../models/emptyResponse\");\nconst listResponseEndpointMessageOut_1 = require(\"../models/listResponseEndpointMessageOut\");\nconst listResponseMessageAttemptOut_1 = require(\"../models/listResponseMessageAttemptOut\");\nconst listResponseMessageEndpointOut_1 = require(\"../models/listResponseMessageEndpointOut\");\nconst messageAttemptOut_1 = require(\"../models/messageAttemptOut\");\nconst request_1 = require(\"../request\");\nclass MessageAttempt {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n listByEndpoint(appId, endpointId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/attempt/endpoint/{endpoint_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n status: options === null || options === void 0 ? void 0 : options.status,\n status_code_class: options === null || options === void 0 ? void 0 : options.statusCodeClass,\n channel: options === null || options === void 0 ? void 0 : options.channel,\n tag: options === null || options === void 0 ? void 0 : options.tag,\n before: options === null || options === void 0 ? void 0 : options.before,\n after: options === null || options === void 0 ? void 0 : options.after,\n with_content: options === null || options === void 0 ? void 0 : options.withContent,\n with_msg: options === null || options === void 0 ? void 0 : options.withMsg,\n event_types: options === null || options === void 0 ? void 0 : options.eventTypes,\n });\n return request.send(this.requestCtx, listResponseMessageAttemptOut_1.ListResponseMessageAttemptOutSerializer._fromJsonObject);\n }\n listByMsg(appId, msgId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/attempt/msg/{msg_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n status: options === null || options === void 0 ? void 0 : options.status,\n status_code_class: options === null || options === void 0 ? void 0 : options.statusCodeClass,\n channel: options === null || options === void 0 ? void 0 : options.channel,\n tag: options === null || options === void 0 ? void 0 : options.tag,\n endpoint_id: options === null || options === void 0 ? void 0 : options.endpointId,\n before: options === null || options === void 0 ? void 0 : options.before,\n after: options === null || options === void 0 ? void 0 : options.after,\n with_content: options === null || options === void 0 ? void 0 : options.withContent,\n event_types: options === null || options === void 0 ? void 0 : options.eventTypes,\n });\n return request.send(this.requestCtx, listResponseMessageAttemptOut_1.ListResponseMessageAttemptOutSerializer._fromJsonObject);\n }\n listAttemptedMessages(appId, endpointId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/endpoint/{endpoint_id}/msg\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n channel: options === null || options === void 0 ? void 0 : options.channel,\n tag: options === null || options === void 0 ? void 0 : options.tag,\n status: options === null || options === void 0 ? void 0 : options.status,\n before: options === null || options === void 0 ? void 0 : options.before,\n after: options === null || options === void 0 ? void 0 : options.after,\n with_content: options === null || options === void 0 ? void 0 : options.withContent,\n event_types: options === null || options === void 0 ? void 0 : options.eventTypes,\n });\n return request.send(this.requestCtx, listResponseEndpointMessageOut_1.ListResponseEndpointMessageOutSerializer._fromJsonObject);\n }\n get(appId, msgId, attemptId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"attempt_id\", attemptId);\n return request.send(this.requestCtx, messageAttemptOut_1.MessageAttemptOutSerializer._fromJsonObject);\n }\n expungeContent(appId, msgId, attemptId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/app/{app_id}/msg/{msg_id}/attempt/{attempt_id}/content\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"attempt_id\", attemptId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n listAttemptedDestinations(appId, msgId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/app/{app_id}/msg/{msg_id}/endpoint\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n });\n return request.send(this.requestCtx, listResponseMessageEndpointOut_1.ListResponseMessageEndpointOutSerializer._fromJsonObject);\n }\n resend(appId, msgId, endpointId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/app/{app_id}/msg/{msg_id}/endpoint/{endpoint_id}/resend\");\n request.setPathParam(\"app_id\", appId);\n request.setPathParam(\"msg_id\", msgId);\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n return request.send(this.requestCtx, emptyResponse_1.EmptyResponseSerializer._fromJsonObject);\n }\n}\nexports.MessageAttempt = MessageAttempt;\n//# sourceMappingURL=messageAttempt.js.map",
|
|
161
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpointOutSerializer = void 0;\nexports.OperationalWebhookEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n createdAt: new Date(object[\"createdAt\"]),\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n id: object[\"id\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n createdAt: self.createdAt,\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n id: self.id,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n uid: self.uid,\n updatedAt: self.updatedAt,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=operationalWebhookEndpointOut.js.map",
|
|
162
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseOperationalWebhookEndpointOutSerializer = void 0;\nconst operationalWebhookEndpointOut_1 = require(\"./operationalWebhookEndpointOut\");\nexports.ListResponseOperationalWebhookEndpointOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => operationalWebhookEndpointOut_1.OperationalWebhookEndpointOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => operationalWebhookEndpointOut_1.OperationalWebhookEndpointOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseOperationalWebhookEndpointOut.js.map",
|
|
163
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpointHeadersInSerializer = void 0;\nexports.OperationalWebhookEndpointHeadersInSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n };\n },\n};\n//# sourceMappingURL=operationalWebhookEndpointHeadersIn.js.map",
|
|
164
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpointHeadersOutSerializer = void 0;\nexports.OperationalWebhookEndpointHeadersOutSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n sensitive: object[\"sensitive\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n sensitive: self.sensitive,\n };\n },\n};\n//# sourceMappingURL=operationalWebhookEndpointHeadersOut.js.map",
|
|
165
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpointInSerializer = void 0;\nexports.OperationalWebhookEndpointInSerializer = {\n _fromJsonObject(object) {\n return {\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n secret: object[\"secret\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n secret: self.secret,\n uid: self.uid,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=operationalWebhookEndpointIn.js.map",
|
|
166
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpointSecretInSerializer = void 0;\nexports.OperationalWebhookEndpointSecretInSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=operationalWebhookEndpointSecretIn.js.map",
|
|
167
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpointSecretOutSerializer = void 0;\nexports.OperationalWebhookEndpointSecretOutSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=operationalWebhookEndpointSecretOut.js.map",
|
|
168
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpointUpdateSerializer = void 0;\nexports.OperationalWebhookEndpointUpdateSerializer = {\n _fromJsonObject(object) {\n return {\n description: object[\"description\"],\n disabled: object[\"disabled\"],\n filterTypes: object[\"filterTypes\"],\n metadata: object[\"metadata\"],\n rateLimit: object[\"rateLimit\"],\n uid: object[\"uid\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n description: self.description,\n disabled: self.disabled,\n filterTypes: self.filterTypes,\n metadata: self.metadata,\n rateLimit: self.rateLimit,\n uid: self.uid,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=operationalWebhookEndpointUpdate.js.map",
|
|
169
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhookEndpoint = void 0;\nconst listResponseOperationalWebhookEndpointOut_1 = require(\"../models/listResponseOperationalWebhookEndpointOut\");\nconst operationalWebhookEndpointHeadersIn_1 = require(\"../models/operationalWebhookEndpointHeadersIn\");\nconst operationalWebhookEndpointHeadersOut_1 = require(\"../models/operationalWebhookEndpointHeadersOut\");\nconst operationalWebhookEndpointIn_1 = require(\"../models/operationalWebhookEndpointIn\");\nconst operationalWebhookEndpointOut_1 = require(\"../models/operationalWebhookEndpointOut\");\nconst operationalWebhookEndpointSecretIn_1 = require(\"../models/operationalWebhookEndpointSecretIn\");\nconst operationalWebhookEndpointSecretOut_1 = require(\"../models/operationalWebhookEndpointSecretOut\");\nconst operationalWebhookEndpointUpdate_1 = require(\"../models/operationalWebhookEndpointUpdate\");\nconst request_1 = require(\"../request\");\nclass OperationalWebhookEndpoint {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/operational-webhook/endpoint\");\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseOperationalWebhookEndpointOut_1.ListResponseOperationalWebhookEndpointOutSerializer._fromJsonObject);\n }\n create(operationalWebhookEndpointIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/operational-webhook/endpoint\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(operationalWebhookEndpointIn_1.OperationalWebhookEndpointInSerializer._toJsonObject(operationalWebhookEndpointIn));\n return request.send(this.requestCtx, operationalWebhookEndpointOut_1.OperationalWebhookEndpointOutSerializer._fromJsonObject);\n }\n get(endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/operational-webhook/endpoint/{endpoint_id}\");\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, operationalWebhookEndpointOut_1.OperationalWebhookEndpointOutSerializer._fromJsonObject);\n }\n update(endpointId, operationalWebhookEndpointUpdate) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/operational-webhook/endpoint/{endpoint_id}\");\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(operationalWebhookEndpointUpdate_1.OperationalWebhookEndpointUpdateSerializer._toJsonObject(operationalWebhookEndpointUpdate));\n return request.send(this.requestCtx, operationalWebhookEndpointOut_1.OperationalWebhookEndpointOutSerializer._fromJsonObject);\n }\n delete(endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/operational-webhook/endpoint/{endpoint_id}\");\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n getHeaders(endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/operational-webhook/endpoint/{endpoint_id}/headers\");\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, operationalWebhookEndpointHeadersOut_1.OperationalWebhookEndpointHeadersOutSerializer._fromJsonObject);\n }\n updateHeaders(endpointId, operationalWebhookEndpointHeadersIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/operational-webhook/endpoint/{endpoint_id}/headers\");\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setBody(operationalWebhookEndpointHeadersIn_1.OperationalWebhookEndpointHeadersInSerializer._toJsonObject(operationalWebhookEndpointHeadersIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n getSecret(endpointId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/operational-webhook/endpoint/{endpoint_id}/secret\");\n request.setPathParam(\"endpoint_id\", endpointId);\n return request.send(this.requestCtx, operationalWebhookEndpointSecretOut_1.OperationalWebhookEndpointSecretOutSerializer._fromJsonObject);\n }\n rotateSecret(endpointId, operationalWebhookEndpointSecretIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/operational-webhook/endpoint/{endpoint_id}/secret/rotate\");\n request.setPathParam(\"endpoint_id\", endpointId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(operationalWebhookEndpointSecretIn_1.OperationalWebhookEndpointSecretInSerializer._toJsonObject(operationalWebhookEndpointSecretIn));\n return request.sendNoResponseBody(this.requestCtx);\n }\n}\nexports.OperationalWebhookEndpoint = OperationalWebhookEndpoint;\n//# sourceMappingURL=operationalWebhookEndpoint.js.map",
|
|
170
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationalWebhook = void 0;\nconst operationalWebhookEndpoint_1 = require(\"./operationalWebhookEndpoint\");\nclass OperationalWebhook {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n get endpoint() {\n return new operationalWebhookEndpoint_1.OperationalWebhookEndpoint(this.requestCtx);\n }\n}\nexports.OperationalWebhook = OperationalWebhook;\n//# sourceMappingURL=operationalWebhook.js.map",
|
|
171
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AggregateEventTypesOutSerializer = void 0;\nconst backgroundTaskStatus_1 = require(\"./backgroundTaskStatus\");\nconst backgroundTaskType_1 = require(\"./backgroundTaskType\");\nexports.AggregateEventTypesOutSerializer = {\n _fromJsonObject(object) {\n return {\n id: object[\"id\"],\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n id: self.id,\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._toJsonObject(self.task),\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=aggregateEventTypesOut.js.map",
|
|
172
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AppUsageStatsInSerializer = void 0;\nexports.AppUsageStatsInSerializer = {\n _fromJsonObject(object) {\n return {\n appIds: object[\"appIds\"],\n since: new Date(object[\"since\"]),\n until: new Date(object[\"until\"]),\n };\n },\n _toJsonObject(self) {\n return {\n appIds: self.appIds,\n since: self.since,\n until: self.until,\n };\n },\n};\n//# sourceMappingURL=appUsageStatsIn.js.map",
|
|
173
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AppUsageStatsOutSerializer = void 0;\nconst backgroundTaskStatus_1 = require(\"./backgroundTaskStatus\");\nconst backgroundTaskType_1 = require(\"./backgroundTaskType\");\nexports.AppUsageStatsOutSerializer = {\n _fromJsonObject(object) {\n return {\n id: object[\"id\"],\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._fromJsonObject(object[\"status\"]),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._fromJsonObject(object[\"task\"]),\n unresolvedAppIds: object[\"unresolvedAppIds\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n id: self.id,\n status: backgroundTaskStatus_1.BackgroundTaskStatusSerializer._toJsonObject(self.status),\n task: backgroundTaskType_1.BackgroundTaskTypeSerializer._toJsonObject(self.task),\n unresolvedAppIds: self.unresolvedAppIds,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=appUsageStatsOut.js.map",
|
|
174
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Statistics = void 0;\nconst aggregateEventTypesOut_1 = require(\"../models/aggregateEventTypesOut\");\nconst appUsageStatsIn_1 = require(\"../models/appUsageStatsIn\");\nconst appUsageStatsOut_1 = require(\"../models/appUsageStatsOut\");\nconst request_1 = require(\"../request\");\nclass Statistics {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n aggregateAppStats(appUsageStatsIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/stats/usage/app\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(appUsageStatsIn_1.AppUsageStatsInSerializer._toJsonObject(appUsageStatsIn));\n return request.send(this.requestCtx, appUsageStatsOut_1.AppUsageStatsOutSerializer._fromJsonObject);\n }\n aggregateEventTypes() {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/stats/usage/event-types\");\n return request.send(this.requestCtx, aggregateEventTypesOut_1.AggregateEventTypesOutSerializer._fromJsonObject);\n }\n}\nexports.Statistics = Statistics;\n//# sourceMappingURL=statistics.js.map",
|
|
175
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpSinkHeadersPatchInSerializer = void 0;\nexports.HttpSinkHeadersPatchInSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n };\n },\n};\n//# sourceMappingURL=httpSinkHeadersPatchIn.js.map",
|
|
176
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SinkTransformationOutSerializer = void 0;\nexports.SinkTransformationOutSerializer = {\n _fromJsonObject(object) {\n return {\n code: object[\"code\"],\n enabled: object[\"enabled\"],\n };\n },\n _toJsonObject(self) {\n return {\n code: self.code,\n enabled: self.enabled,\n };\n },\n};\n//# sourceMappingURL=sinkTransformationOut.js.map",
|
|
177
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamEventTypeOutSerializer = void 0;\nexports.StreamEventTypeOutSerializer = {\n _fromJsonObject(object) {\n return {\n archived: object[\"archived\"],\n createdAt: new Date(object[\"createdAt\"]),\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n name: object[\"name\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n archived: self.archived,\n createdAt: self.createdAt,\n deprecated: self.deprecated,\n description: self.description,\n featureFlags: self.featureFlags,\n name: self.name,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=streamEventTypeOut.js.map",
|
|
178
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseStreamEventTypeOutSerializer = void 0;\nconst streamEventTypeOut_1 = require(\"./streamEventTypeOut\");\nexports.ListResponseStreamEventTypeOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => streamEventTypeOut_1.StreamEventTypeOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => streamEventTypeOut_1.StreamEventTypeOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseStreamEventTypeOut.js.map",
|
|
179
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamEventTypeInSerializer = void 0;\nexports.StreamEventTypeInSerializer = {\n _fromJsonObject(object) {\n return {\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n name: object[\"name\"],\n };\n },\n _toJsonObject(self) {\n return {\n archived: self.archived,\n deprecated: self.deprecated,\n description: self.description,\n featureFlags: self.featureFlags,\n name: self.name,\n };\n },\n};\n//# sourceMappingURL=streamEventTypeIn.js.map",
|
|
180
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamEventTypePatchSerializer = void 0;\nexports.StreamEventTypePatchSerializer = {\n _fromJsonObject(object) {\n return {\n archived: object[\"archived\"],\n deprecated: object[\"deprecated\"],\n description: object[\"description\"],\n featureFlags: object[\"featureFlags\"],\n name: object[\"name\"],\n };\n },\n _toJsonObject(self) {\n return {\n archived: self.archived,\n deprecated: self.deprecated,\n description: self.description,\n featureFlags: self.featureFlags,\n name: self.name,\n };\n },\n};\n//# sourceMappingURL=streamEventTypePatch.js.map",
|
|
181
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingEventType = void 0;\nconst listResponseStreamEventTypeOut_1 = require(\"../models/listResponseStreamEventTypeOut\");\nconst streamEventTypeIn_1 = require(\"../models/streamEventTypeIn\");\nconst streamEventTypeOut_1 = require(\"../models/streamEventTypeOut\");\nconst streamEventTypePatch_1 = require(\"../models/streamEventTypePatch\");\nconst request_1 = require(\"../request\");\nclass StreamingEventType {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/event-type\");\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n include_archived: options === null || options === void 0 ? void 0 : options.includeArchived,\n });\n return request.send(this.requestCtx, listResponseStreamEventTypeOut_1.ListResponseStreamEventTypeOutSerializer._fromJsonObject);\n }\n create(streamEventTypeIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/stream/event-type\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(streamEventTypeIn_1.StreamEventTypeInSerializer._toJsonObject(streamEventTypeIn));\n return request.send(this.requestCtx, streamEventTypeOut_1.StreamEventTypeOutSerializer._fromJsonObject);\n }\n get(name) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/event-type/{name}\");\n request.setPathParam(\"name\", name);\n return request.send(this.requestCtx, streamEventTypeOut_1.StreamEventTypeOutSerializer._fromJsonObject);\n }\n update(name, streamEventTypeIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/stream/event-type/{name}\");\n request.setPathParam(\"name\", name);\n request.setBody(streamEventTypeIn_1.StreamEventTypeInSerializer._toJsonObject(streamEventTypeIn));\n return request.send(this.requestCtx, streamEventTypeOut_1.StreamEventTypeOutSerializer._fromJsonObject);\n }\n delete(name, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/stream/event-type/{name}\");\n request.setPathParam(\"name\", name);\n request.setQueryParams({\n expunge: options === null || options === void 0 ? void 0 : options.expunge,\n });\n return request.sendNoResponseBody(this.requestCtx);\n }\n patch(name, streamEventTypePatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/stream/event-type/{name}\");\n request.setPathParam(\"name\", name);\n request.setBody(streamEventTypePatch_1.StreamEventTypePatchSerializer._toJsonObject(streamEventTypePatch));\n return request.send(this.requestCtx, streamEventTypeOut_1.StreamEventTypeOutSerializer._fromJsonObject);\n }\n}\nexports.StreamingEventType = StreamingEventType;\n//# sourceMappingURL=streamingEventType.js.map",
|
|
182
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventInSerializer = void 0;\nexports.EventInSerializer = {\n _fromJsonObject(object) {\n return {\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n };\n },\n _toJsonObject(self) {\n return {\n eventType: self.eventType,\n payload: self.payload,\n };\n },\n};\n//# sourceMappingURL=eventIn.js.map",
|
|
183
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamInSerializer = void 0;\nexports.StreamInSerializer = {\n _fromJsonObject(object) {\n return {\n metadata: object[\"metadata\"],\n name: object[\"name\"],\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n return {\n metadata: self.metadata,\n name: self.name,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=streamIn.js.map",
|
|
184
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateStreamEventsInSerializer = void 0;\nconst eventIn_1 = require(\"./eventIn\");\nconst streamIn_1 = require(\"./streamIn\");\nexports.CreateStreamEventsInSerializer = {\n _fromJsonObject(object) {\n return {\n events: object[\"events\"].map((item) => eventIn_1.EventInSerializer._fromJsonObject(item)),\n stream: object[\"stream\"] != null\n ? streamIn_1.StreamInSerializer._fromJsonObject(object[\"stream\"])\n : undefined,\n };\n },\n _toJsonObject(self) {\n return {\n events: self.events.map((item) => eventIn_1.EventInSerializer._toJsonObject(item)),\n stream: self.stream != null ? streamIn_1.StreamInSerializer._toJsonObject(self.stream) : undefined,\n };\n },\n};\n//# sourceMappingURL=createStreamEventsIn.js.map",
|
|
185
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CreateStreamEventsOutSerializer = void 0;\nexports.CreateStreamEventsOutSerializer = {\n _fromJsonObject(_object) {\n return {};\n },\n _toJsonObject(_self) {\n return {};\n },\n};\n//# sourceMappingURL=createStreamEventsOut.js.map",
|
|
186
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventOutSerializer = void 0;\nexports.EventOutSerializer = {\n _fromJsonObject(object) {\n return {\n eventType: object[\"eventType\"],\n payload: object[\"payload\"],\n timestamp: new Date(object[\"timestamp\"]),\n };\n },\n _toJsonObject(self) {\n return {\n eventType: self.eventType,\n payload: self.payload,\n timestamp: self.timestamp,\n };\n },\n};\n//# sourceMappingURL=eventOut.js.map",
|
|
187
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventStreamOutSerializer = void 0;\nconst eventOut_1 = require(\"./eventOut\");\nexports.EventStreamOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => eventOut_1.EventOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => eventOut_1.EventOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n };\n },\n};\n//# sourceMappingURL=eventStreamOut.js.map",
|
|
188
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingEvents = void 0;\nconst createStreamEventsIn_1 = require(\"../models/createStreamEventsIn\");\nconst createStreamEventsOut_1 = require(\"../models/createStreamEventsOut\");\nconst eventStreamOut_1 = require(\"../models/eventStreamOut\");\nconst request_1 = require(\"../request\");\nclass StreamingEvents {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n create(streamId, createStreamEventsIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/stream/{stream_id}/events\");\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(createStreamEventsIn_1.CreateStreamEventsInSerializer._toJsonObject(createStreamEventsIn));\n return request.send(this.requestCtx, createStreamEventsOut_1.CreateStreamEventsOutSerializer._fromJsonObject);\n }\n get(streamId, sinkId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink/{sink_id}/events\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n after: options === null || options === void 0 ? void 0 : options.after,\n });\n return request.send(this.requestCtx, eventStreamOut_1.EventStreamOutSerializer._fromJsonObject);\n }\n}\nexports.StreamingEvents = StreamingEvents;\n//# sourceMappingURL=streamingEvents.js.map",
|
|
189
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AzureBlobStorageConfigSerializer = void 0;\nexports.AzureBlobStorageConfigSerializer = {\n _fromJsonObject(object) {\n return {\n accessKey: object[\"accessKey\"],\n account: object[\"account\"],\n container: object[\"container\"],\n };\n },\n _toJsonObject(self) {\n return {\n accessKey: self.accessKey,\n account: self.account,\n container: self.container,\n };\n },\n};\n//# sourceMappingURL=azureBlobStorageConfig.js.map",
|
|
190
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GoogleCloudStorageConfigSerializer = void 0;\nexports.GoogleCloudStorageConfigSerializer = {\n _fromJsonObject(object) {\n return {\n bucket: object[\"bucket\"],\n credentials: object[\"credentials\"],\n };\n },\n _toJsonObject(self) {\n return {\n bucket: self.bucket,\n credentials: self.credentials,\n };\n },\n};\n//# sourceMappingURL=googleCloudStorageConfig.js.map",
|
|
191
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.S3ConfigSerializer = void 0;\nexports.S3ConfigSerializer = {\n _fromJsonObject(object) {\n return {\n accessKeyId: object[\"accessKeyId\"],\n bucket: object[\"bucket\"],\n endpointUrl: object[\"endpointUrl\"],\n region: object[\"region\"],\n secretAccessKey: object[\"secretAccessKey\"],\n };\n },\n _toJsonObject(self) {\n return {\n accessKeyId: self.accessKeyId,\n bucket: self.bucket,\n endpointUrl: self.endpointUrl,\n region: self.region,\n secretAccessKey: self.secretAccessKey,\n };\n },\n};\n//# sourceMappingURL=s3Config.js.map",
|
|
192
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SinkHttpConfigSerializer = void 0;\nexports.SinkHttpConfigSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n key: object[\"key\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n key: self.key,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=sinkHttpConfig.js.map",
|
|
193
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SinkOtelV1ConfigSerializer = void 0;\nexports.SinkOtelV1ConfigSerializer = {\n _fromJsonObject(object) {\n return {\n headers: object[\"headers\"],\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n headers: self.headers,\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=sinkOtelV1Config.js.map",
|
|
194
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SinkStatusSerializer = exports.SinkStatus = void 0;\nvar SinkStatus;\n(function (SinkStatus) {\n SinkStatus[\"Enabled\"] = \"enabled\";\n SinkStatus[\"Paused\"] = \"paused\";\n SinkStatus[\"Disabled\"] = \"disabled\";\n SinkStatus[\"Retrying\"] = \"retrying\";\n})(SinkStatus = exports.SinkStatus || (exports.SinkStatus = {}));\nexports.SinkStatusSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=sinkStatus.js.map",
|
|
195
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamSinkOutSerializer = void 0;\nconst azureBlobStorageConfig_1 = require(\"./azureBlobStorageConfig\");\nconst googleCloudStorageConfig_1 = require(\"./googleCloudStorageConfig\");\nconst s3Config_1 = require(\"./s3Config\");\nconst sinkHttpConfig_1 = require(\"./sinkHttpConfig\");\nconst sinkOtelV1Config_1 = require(\"./sinkOtelV1Config\");\nconst sinkStatus_1 = require(\"./sinkStatus\");\nexports.StreamSinkOutSerializer = {\n _fromJsonObject(object) {\n const type = object[\"type\"];\n function getConfig(type) {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return azureBlobStorageConfig_1.AzureBlobStorageConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return sinkOtelV1Config_1.SinkOtelV1ConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return sinkHttpConfig_1.SinkHttpConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return s3Config_1.S3ConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return googleCloudStorageConfig_1.GoogleCloudStorageConfigSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n return {\n type,\n config: getConfig(type),\n batchSize: object[\"batchSize\"],\n createdAt: new Date(object[\"createdAt\"]),\n currentIterator: object[\"currentIterator\"],\n eventTypes: object[\"eventTypes\"],\n failureReason: object[\"failureReason\"],\n id: object[\"id\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n metadata: object[\"metadata\"],\n nextRetryAt: object[\"nextRetryAt\"] ? new Date(object[\"nextRetryAt\"]) : null,\n status: sinkStatus_1.SinkStatusSerializer._fromJsonObject(object[\"status\"]),\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = azureBlobStorageConfig_1.AzureBlobStorageConfigSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = sinkOtelV1Config_1.SinkOtelV1ConfigSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = sinkHttpConfig_1.SinkHttpConfigSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = s3Config_1.S3ConfigSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = googleCloudStorageConfig_1.GoogleCloudStorageConfigSerializer._toJsonObject(self.config);\n break;\n }\n return {\n type: self.type,\n config: config,\n batchSize: self.batchSize,\n createdAt: self.createdAt,\n currentIterator: self.currentIterator,\n eventTypes: self.eventTypes,\n failureReason: self.failureReason,\n id: self.id,\n maxWaitSecs: self.maxWaitSecs,\n metadata: self.metadata,\n nextRetryAt: self.nextRetryAt,\n status: sinkStatus_1.SinkStatusSerializer._toJsonObject(self.status),\n uid: self.uid,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=streamSinkOut.js.map",
|
|
196
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseStreamSinkOutSerializer = void 0;\nconst streamSinkOut_1 = require(\"./streamSinkOut\");\nexports.ListResponseStreamSinkOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => streamSinkOut_1.StreamSinkOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => streamSinkOut_1.StreamSinkOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseStreamSinkOut.js.map",
|
|
197
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SinkSecretOutSerializer = void 0;\nexports.SinkSecretOutSerializer = {\n _fromJsonObject(object) {\n return {\n key: object[\"key\"],\n };\n },\n _toJsonObject(self) {\n return {\n key: self.key,\n };\n },\n};\n//# sourceMappingURL=sinkSecretOut.js.map",
|
|
198
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SinkTransformInSerializer = void 0;\nexports.SinkTransformInSerializer = {\n _fromJsonObject(object) {\n return {\n code: object[\"code\"],\n };\n },\n _toJsonObject(self) {\n return {\n code: self.code,\n };\n },\n};\n//# sourceMappingURL=sinkTransformIn.js.map",
|
|
199
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SinkStatusInSerializer = exports.SinkStatusIn = void 0;\nvar SinkStatusIn;\n(function (SinkStatusIn) {\n SinkStatusIn[\"Enabled\"] = \"enabled\";\n SinkStatusIn[\"Disabled\"] = \"disabled\";\n})(SinkStatusIn = exports.SinkStatusIn || (exports.SinkStatusIn = {}));\nexports.SinkStatusInSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=sinkStatusIn.js.map",
|
|
200
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamSinkInSerializer = void 0;\nconst azureBlobStorageConfig_1 = require(\"./azureBlobStorageConfig\");\nconst googleCloudStorageConfig_1 = require(\"./googleCloudStorageConfig\");\nconst s3Config_1 = require(\"./s3Config\");\nconst sinkHttpConfig_1 = require(\"./sinkHttpConfig\");\nconst sinkOtelV1Config_1 = require(\"./sinkOtelV1Config\");\nconst sinkStatusIn_1 = require(\"./sinkStatusIn\");\nexports.StreamSinkInSerializer = {\n _fromJsonObject(object) {\n const type = object[\"type\"];\n function getConfig(type) {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return azureBlobStorageConfig_1.AzureBlobStorageConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return sinkOtelV1Config_1.SinkOtelV1ConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return sinkHttpConfig_1.SinkHttpConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return s3Config_1.S3ConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return googleCloudStorageConfig_1.GoogleCloudStorageConfigSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n return {\n type,\n config: getConfig(type),\n batchSize: object[\"batchSize\"],\n eventTypes: object[\"eventTypes\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n metadata: object[\"metadata\"],\n status: object[\"status\"] != null\n ? sinkStatusIn_1.SinkStatusInSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = azureBlobStorageConfig_1.AzureBlobStorageConfigSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = sinkOtelV1Config_1.SinkOtelV1ConfigSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = sinkHttpConfig_1.SinkHttpConfigSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = s3Config_1.S3ConfigSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = googleCloudStorageConfig_1.GoogleCloudStorageConfigSerializer._toJsonObject(self.config);\n break;\n }\n return {\n type: self.type,\n config: config,\n batchSize: self.batchSize,\n eventTypes: self.eventTypes,\n maxWaitSecs: self.maxWaitSecs,\n metadata: self.metadata,\n status: self.status != null\n ? sinkStatusIn_1.SinkStatusInSerializer._toJsonObject(self.status)\n : undefined,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=streamSinkIn.js.map",
|
|
201
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AmazonS3PatchConfigSerializer = void 0;\nexports.AmazonS3PatchConfigSerializer = {\n _fromJsonObject(object) {\n return {\n accessKeyId: object[\"accessKeyId\"],\n bucket: object[\"bucket\"],\n endpointUrl: object[\"endpointUrl\"],\n region: object[\"region\"],\n secretAccessKey: object[\"secretAccessKey\"],\n };\n },\n _toJsonObject(self) {\n return {\n accessKeyId: self.accessKeyId,\n bucket: self.bucket,\n endpointUrl: self.endpointUrl,\n region: self.region,\n secretAccessKey: self.secretAccessKey,\n };\n },\n};\n//# sourceMappingURL=amazonS3PatchConfig.js.map",
|
|
202
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AzureBlobStoragePatchConfigSerializer = void 0;\nexports.AzureBlobStoragePatchConfigSerializer = {\n _fromJsonObject(object) {\n return {\n accessKey: object[\"accessKey\"],\n account: object[\"account\"],\n container: object[\"container\"],\n };\n },\n _toJsonObject(self) {\n return {\n accessKey: self.accessKey,\n account: self.account,\n container: self.container,\n };\n },\n};\n//# sourceMappingURL=azureBlobStoragePatchConfig.js.map",
|
|
203
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.GoogleCloudStoragePatchConfigSerializer = void 0;\nexports.GoogleCloudStoragePatchConfigSerializer = {\n _fromJsonObject(object) {\n return {\n bucket: object[\"bucket\"],\n credentials: object[\"credentials\"],\n };\n },\n _toJsonObject(self) {\n return {\n bucket: self.bucket,\n credentials: self.credentials,\n };\n },\n};\n//# sourceMappingURL=googleCloudStoragePatchConfig.js.map",
|
|
204
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpPatchConfigSerializer = void 0;\nexports.HttpPatchConfigSerializer = {\n _fromJsonObject(object) {\n return {\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=httpPatchConfig.js.map",
|
|
205
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OtelTracingPatchConfigSerializer = void 0;\nexports.OtelTracingPatchConfigSerializer = {\n _fromJsonObject(object) {\n return {\n url: object[\"url\"],\n };\n },\n _toJsonObject(self) {\n return {\n url: self.url,\n };\n },\n};\n//# sourceMappingURL=otelTracingPatchConfig.js.map",
|
|
206
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamSinkPatchSerializer = void 0;\nconst amazonS3PatchConfig_1 = require(\"./amazonS3PatchConfig\");\nconst azureBlobStoragePatchConfig_1 = require(\"./azureBlobStoragePatchConfig\");\nconst googleCloudStoragePatchConfig_1 = require(\"./googleCloudStoragePatchConfig\");\nconst httpPatchConfig_1 = require(\"./httpPatchConfig\");\nconst otelTracingPatchConfig_1 = require(\"./otelTracingPatchConfig\");\nconst sinkStatusIn_1 = require(\"./sinkStatusIn\");\nexports.StreamSinkPatchSerializer = {\n _fromJsonObject(object) {\n const type = object[\"type\"];\n function getConfig(type) {\n switch (type) {\n case \"poller\":\n return {};\n case \"azureBlobStorage\":\n return azureBlobStoragePatchConfig_1.AzureBlobStoragePatchConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"otelTracing\":\n return otelTracingPatchConfig_1.OtelTracingPatchConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"http\":\n return httpPatchConfig_1.HttpPatchConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"amazonS3\":\n return amazonS3PatchConfig_1.AmazonS3PatchConfigSerializer._fromJsonObject(object[\"config\"]);\n case \"googleCloudStorage\":\n return googleCloudStoragePatchConfig_1.GoogleCloudStoragePatchConfigSerializer._fromJsonObject(object[\"config\"]);\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n return {\n type,\n config: getConfig(type),\n batchSize: object[\"batchSize\"],\n eventTypes: object[\"eventTypes\"],\n maxWaitSecs: object[\"maxWaitSecs\"],\n metadata: object[\"metadata\"],\n status: object[\"status\"] != null\n ? sinkStatusIn_1.SinkStatusInSerializer._fromJsonObject(object[\"status\"])\n : undefined,\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n let config;\n switch (self.type) {\n case \"poller\":\n config = {};\n break;\n case \"azureBlobStorage\":\n config = azureBlobStoragePatchConfig_1.AzureBlobStoragePatchConfigSerializer._toJsonObject(self.config);\n break;\n case \"otelTracing\":\n config = otelTracingPatchConfig_1.OtelTracingPatchConfigSerializer._toJsonObject(self.config);\n break;\n case \"http\":\n config = httpPatchConfig_1.HttpPatchConfigSerializer._toJsonObject(self.config);\n break;\n case \"amazonS3\":\n config = amazonS3PatchConfig_1.AmazonS3PatchConfigSerializer._toJsonObject(self.config);\n break;\n case \"googleCloudStorage\":\n config = googleCloudStoragePatchConfig_1.GoogleCloudStoragePatchConfigSerializer._toJsonObject(self.config);\n break;\n }\n return {\n type: self.type,\n config: config,\n batchSize: self.batchSize,\n eventTypes: self.eventTypes,\n maxWaitSecs: self.maxWaitSecs,\n metadata: self.metadata,\n status: self.status != null\n ? sinkStatusIn_1.SinkStatusInSerializer._toJsonObject(self.status)\n : undefined,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=streamSinkPatch.js.map",
|
|
207
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingSink = void 0;\nconst emptyResponse_1 = require(\"../models/emptyResponse\");\nconst endpointSecretRotateIn_1 = require(\"../models/endpointSecretRotateIn\");\nconst listResponseStreamSinkOut_1 = require(\"../models/listResponseStreamSinkOut\");\nconst sinkSecretOut_1 = require(\"../models/sinkSecretOut\");\nconst sinkTransformIn_1 = require(\"../models/sinkTransformIn\");\nconst streamSinkIn_1 = require(\"../models/streamSinkIn\");\nconst streamSinkOut_1 = require(\"../models/streamSinkOut\");\nconst streamSinkPatch_1 = require(\"../models/streamSinkPatch\");\nconst request_1 = require(\"../request\");\nclass StreamingSink {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(streamId, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink\");\n request.setPathParam(\"stream_id\", streamId);\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseStreamSinkOut_1.ListResponseStreamSinkOutSerializer._fromJsonObject);\n }\n create(streamId, streamSinkIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/stream/{stream_id}/sink\");\n request.setPathParam(\"stream_id\", streamId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(streamSinkIn_1.StreamSinkInSerializer._toJsonObject(streamSinkIn));\n return request.send(this.requestCtx, streamSinkOut_1.StreamSinkOutSerializer._fromJsonObject);\n }\n get(streamId, sinkId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink/{sink_id}\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n return request.send(this.requestCtx, streamSinkOut_1.StreamSinkOutSerializer._fromJsonObject);\n }\n update(streamId, sinkId, streamSinkIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/stream/{stream_id}/sink/{sink_id}\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(streamSinkIn_1.StreamSinkInSerializer._toJsonObject(streamSinkIn));\n return request.send(this.requestCtx, streamSinkOut_1.StreamSinkOutSerializer._fromJsonObject);\n }\n delete(streamId, sinkId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/stream/{stream_id}/sink/{sink_id}\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n patch(streamId, sinkId, streamSinkPatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/stream/{stream_id}/sink/{sink_id}\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(streamSinkPatch_1.StreamSinkPatchSerializer._toJsonObject(streamSinkPatch));\n return request.send(this.requestCtx, streamSinkOut_1.StreamSinkOutSerializer._fromJsonObject);\n }\n getSecret(streamId, sinkId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink/{sink_id}/secret\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n return request.send(this.requestCtx, sinkSecretOut_1.SinkSecretOutSerializer._fromJsonObject);\n }\n rotateSecret(streamId, sinkId, endpointSecretRotateIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/stream/{stream_id}/sink/{sink_id}/secret/rotate\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(endpointSecretRotateIn_1.EndpointSecretRotateInSerializer._toJsonObject(endpointSecretRotateIn));\n return request.send(this.requestCtx, emptyResponse_1.EmptyResponseSerializer._fromJsonObject);\n }\n transformationPartialUpdate(streamId, sinkId, sinkTransformIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/stream/{stream_id}/sink/{sink_id}/transformation\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(sinkTransformIn_1.SinkTransformInSerializer._toJsonObject(sinkTransformIn));\n return request.send(this.requestCtx, emptyResponse_1.EmptyResponseSerializer._fromJsonObject);\n }\n}\nexports.StreamingSink = StreamingSink;\n//# sourceMappingURL=streamingSink.js.map",
|
|
208
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamOutSerializer = void 0;\nexports.StreamOutSerializer = {\n _fromJsonObject(object) {\n return {\n createdAt: new Date(object[\"createdAt\"]),\n id: object[\"id\"],\n metadata: object[\"metadata\"],\n name: object[\"name\"],\n uid: object[\"uid\"],\n updatedAt: new Date(object[\"updatedAt\"]),\n };\n },\n _toJsonObject(self) {\n return {\n createdAt: self.createdAt,\n id: self.id,\n metadata: self.metadata,\n name: self.name,\n uid: self.uid,\n updatedAt: self.updatedAt,\n };\n },\n};\n//# sourceMappingURL=streamOut.js.map",
|
|
209
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ListResponseStreamOutSerializer = void 0;\nconst streamOut_1 = require(\"./streamOut\");\nexports.ListResponseStreamOutSerializer = {\n _fromJsonObject(object) {\n return {\n data: object[\"data\"].map((item) => streamOut_1.StreamOutSerializer._fromJsonObject(item)),\n done: object[\"done\"],\n iterator: object[\"iterator\"],\n prevIterator: object[\"prevIterator\"],\n };\n },\n _toJsonObject(self) {\n return {\n data: self.data.map((item) => streamOut_1.StreamOutSerializer._toJsonObject(item)),\n done: self.done,\n iterator: self.iterator,\n prevIterator: self.prevIterator,\n };\n },\n};\n//# sourceMappingURL=listResponseStreamOut.js.map",
|
|
210
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamPatchSerializer = void 0;\nexports.StreamPatchSerializer = {\n _fromJsonObject(object) {\n return {\n description: object[\"description\"],\n metadata: object[\"metadata\"],\n uid: object[\"uid\"],\n };\n },\n _toJsonObject(self) {\n return {\n description: self.description,\n metadata: self.metadata,\n uid: self.uid,\n };\n },\n};\n//# sourceMappingURL=streamPatch.js.map",
|
|
211
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingStream = void 0;\nconst listResponseStreamOut_1 = require(\"../models/listResponseStreamOut\");\nconst streamIn_1 = require(\"../models/streamIn\");\nconst streamOut_1 = require(\"../models/streamOut\");\nconst streamPatch_1 = require(\"../models/streamPatch\");\nconst request_1 = require(\"../request\");\nclass StreamingStream {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n list(options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream\");\n request.setQueryParams({\n limit: options === null || options === void 0 ? void 0 : options.limit,\n iterator: options === null || options === void 0 ? void 0 : options.iterator,\n order: options === null || options === void 0 ? void 0 : options.order,\n });\n return request.send(this.requestCtx, listResponseStreamOut_1.ListResponseStreamOutSerializer._fromJsonObject);\n }\n create(streamIn, options) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.POST, \"/api/v1/stream\");\n request.setHeaderParam(\"idempotency-key\", options === null || options === void 0 ? void 0 : options.idempotencyKey);\n request.setBody(streamIn_1.StreamInSerializer._toJsonObject(streamIn));\n return request.send(this.requestCtx, streamOut_1.StreamOutSerializer._fromJsonObject);\n }\n get(streamId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/{stream_id}\");\n request.setPathParam(\"stream_id\", streamId);\n return request.send(this.requestCtx, streamOut_1.StreamOutSerializer._fromJsonObject);\n }\n update(streamId, streamIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PUT, \"/api/v1/stream/{stream_id}\");\n request.setPathParam(\"stream_id\", streamId);\n request.setBody(streamIn_1.StreamInSerializer._toJsonObject(streamIn));\n return request.send(this.requestCtx, streamOut_1.StreamOutSerializer._fromJsonObject);\n }\n delete(streamId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.DELETE, \"/api/v1/stream/{stream_id}\");\n request.setPathParam(\"stream_id\", streamId);\n return request.sendNoResponseBody(this.requestCtx);\n }\n patch(streamId, streamPatch) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/stream/{stream_id}\");\n request.setPathParam(\"stream_id\", streamId);\n request.setBody(streamPatch_1.StreamPatchSerializer._toJsonObject(streamPatch));\n return request.send(this.requestCtx, streamOut_1.StreamOutSerializer._fromJsonObject);\n }\n}\nexports.StreamingStream = StreamingStream;\n//# sourceMappingURL=streamingStream.js.map",
|
|
212
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Streaming = void 0;\nconst endpointHeadersOut_1 = require(\"../models/endpointHeadersOut\");\nconst httpSinkHeadersPatchIn_1 = require(\"../models/httpSinkHeadersPatchIn\");\nconst sinkTransformationOut_1 = require(\"../models/sinkTransformationOut\");\nconst streamingEventType_1 = require(\"./streamingEventType\");\nconst streamingEvents_1 = require(\"./streamingEvents\");\nconst streamingSink_1 = require(\"./streamingSink\");\nconst streamingStream_1 = require(\"./streamingStream\");\nconst request_1 = require(\"../request\");\nclass Streaming {\n constructor(requestCtx) {\n this.requestCtx = requestCtx;\n }\n get event_type() {\n return new streamingEventType_1.StreamingEventType(this.requestCtx);\n }\n get events() {\n return new streamingEvents_1.StreamingEvents(this.requestCtx);\n }\n get sink() {\n return new streamingSink_1.StreamingSink(this.requestCtx);\n }\n get stream() {\n return new streamingStream_1.StreamingStream(this.requestCtx);\n }\n sinkHeadersGet(streamId, sinkId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink/{sink_id}/headers\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n return request.send(this.requestCtx, endpointHeadersOut_1.EndpointHeadersOutSerializer._fromJsonObject);\n }\n sinkHeadersPatch(streamId, sinkId, httpSinkHeadersPatchIn) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.PATCH, \"/api/v1/stream/{stream_id}/sink/{sink_id}/headers\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n request.setBody(httpSinkHeadersPatchIn_1.HttpSinkHeadersPatchInSerializer._toJsonObject(httpSinkHeadersPatchIn));\n return request.send(this.requestCtx, endpointHeadersOut_1.EndpointHeadersOutSerializer._fromJsonObject);\n }\n sinkTransformationGet(streamId, sinkId) {\n const request = new request_1.SvixRequest(request_1.HttpMethod.GET, \"/api/v1/stream/{stream_id}/sink/{sink_id}/transformation\");\n request.setPathParam(\"stream_id\", streamId);\n request.setPathParam(\"sink_id\", sinkId);\n return request.send(this.requestCtx, sinkTransformationOut_1.SinkTransformationOutSerializer._fromJsonObject);\n }\n}\nexports.Streaming = Streaming;\n//# sourceMappingURL=streaming.js.map",
|
|
213
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HTTPValidationError = exports.ValidationError = exports.HttpErrorOut = void 0;\nclass HttpErrorOut {\n static getAttributeTypeMap() {\n return HttpErrorOut.attributeTypeMap;\n }\n}\nexports.HttpErrorOut = HttpErrorOut;\nHttpErrorOut.discriminator = undefined;\nHttpErrorOut.mapping = undefined;\nHttpErrorOut.attributeTypeMap = [\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];\nclass ValidationError {\n static getAttributeTypeMap() {\n return ValidationError.attributeTypeMap;\n }\n}\nexports.ValidationError = ValidationError;\nValidationError.discriminator = undefined;\nValidationError.mapping = undefined;\nValidationError.attributeTypeMap = [\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];\nclass HTTPValidationError {\n static getAttributeTypeMap() {\n return HTTPValidationError.attributeTypeMap;\n }\n}\nexports.HTTPValidationError = HTTPValidationError;\nHTTPValidationError.discriminator = undefined;\nHTTPValidationError.mapping = undefined;\nHTTPValidationError.attributeTypeMap = [\n {\n name: \"detail\",\n baseName: \"detail\",\n type: \"Array<ValidationError>\",\n format: \"\",\n },\n];\n//# sourceMappingURL=HttpErrors.js.map",
|
|
214
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timingSafeEqual = void 0;\nfunction assert(expr, msg = \"\") {\n if (!expr) {\n throw new Error(msg);\n }\n}\nfunction timingSafeEqual(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n if (!(a instanceof DataView)) {\n a = new DataView(ArrayBuffer.isView(a) ? a.buffer : a);\n }\n if (!(b instanceof DataView)) {\n b = new DataView(ArrayBuffer.isView(b) ? b.buffer : b);\n }\n assert(a instanceof DataView);\n assert(b instanceof DataView);\n const length = a.byteLength;\n let out = 0;\n let i = -1;\n while (++i < length) {\n out |= a.getUint8(i) ^ b.getUint8(i);\n }\n return out === 0;\n}\nexports.timingSafeEqual = timingSafeEqual;\n//# sourceMappingURL=timing_safe_equal.js.map",
|
|
215
|
+
"\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nvar INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nvar Coder = /** @class */ (function () {\n // TODO(dchest): methods to encode chunk-by-chunk.\n function Coder(_paddingCharacter) {\n if (_paddingCharacter === void 0) { _paddingCharacter = \"=\"; }\n this._paddingCharacter = _paddingCharacter;\n }\n Coder.prototype.encodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 8 + 5) / 6 | 0;\n }\n return (length + 2) / 3 * 4 | 0;\n };\n Coder.prototype.encode = function (data) {\n var out = \"\";\n var i = 0;\n for (; i < data.length - 2; i += 3) {\n var c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n out += this._encodeByte((c >>> 1 * 6) & 63);\n out += this._encodeByte((c >>> 0 * 6) & 63);\n }\n var left = data.length - i;\n if (left > 0) {\n var c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n if (left === 2) {\n out += this._encodeByte((c >>> 1 * 6) & 63);\n }\n else {\n out += this._paddingCharacter || \"\";\n }\n out += this._paddingCharacter || \"\";\n }\n return out;\n };\n Coder.prototype.maxDecodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 6 + 7) / 8 | 0;\n }\n return length / 4 * 3 | 0;\n };\n Coder.prototype.decodedLength = function (s) {\n return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n };\n Coder.prototype.decode = function (s) {\n if (s.length === 0) {\n return new Uint8Array(0);\n }\n var paddingLength = this._getPaddingLength(s);\n var length = s.length - paddingLength;\n var out = new Uint8Array(this.maxDecodedLength(length));\n var op = 0;\n var i = 0;\n var haveBad = 0;\n var v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n for (; i < length - 4; i += 4) {\n v0 = this._decodeChar(s.charCodeAt(i + 0));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n out[op++] = (v1 << 4) | (v2 >>> 2);\n out[op++] = (v2 << 6) | v3;\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n haveBad |= v2 & INVALID_BYTE;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (i < length - 1) {\n v0 = this._decodeChar(s.charCodeAt(i));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n }\n if (i < length - 2) {\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n out[op++] = (v1 << 4) | (v2 >>> 2);\n haveBad |= v2 & INVALID_BYTE;\n }\n if (i < length - 3) {\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v2 << 6) | v3;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (haveBad !== 0) {\n throw new Error(\"Base64Coder: incorrect characters for decoding\");\n }\n return out;\n };\n // Standard encoding have the following encoded/decoded ranges,\n // which we need to convert between.\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 + /\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 43 47\n //\n // Encode 6 bits in b into a new character.\n Coder.prototype._encodeByte = function (b) {\n // Encoding uses constant time operations as follows:\n //\n // 1. Define comparison of A with B using (A - B) >>> 8:\n // if A > B, then result is positive integer\n // if A <= B, then result is 0\n //\n // 2. Define selection of C or 0 using bitwise AND: X & C:\n // if X == 0, then result is 0\n // if X != 0, then result is C\n //\n // 3. Start with the smallest comparison (b >= 0), which is always\n // true, so set the result to the starting ASCII value (65).\n //\n // 4. Continue comparing b to higher ASCII values, and selecting\n // zero if comparison isn't true, otherwise selecting a value\n // to add to result, which:\n //\n // a) undoes the previous addition\n // b) provides new value to add\n //\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n return String.fromCharCode(result);\n };\n // Decode a character code into a byte.\n // Must return 256 if character is out of alphabet range.\n Coder.prototype._decodeChar = function (c) {\n // Decoding works similar to encoding: using the same comparison\n // function, but now it works on ranges: result is always incremented\n // by value, but this value becomes zero if the range is not\n // satisfied.\n //\n // Decoding starts with invalid value, 256, which is then\n // subtracted when the range is satisfied. If none of the ranges\n // apply, the function returns 256, which is then checked by\n // the caller to throw error.\n var result = INVALID_BYTE; // start with invalid character\n // c == 43 (c > 42 and c < 44)\n result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n // c == 47 (c > 46 and c < 48)\n result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n Coder.prototype._getPaddingLength = function (s) {\n var paddingLength = 0;\n if (this._paddingCharacter) {\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] !== this._paddingCharacter) {\n break;\n }\n paddingLength++;\n }\n if (s.length < 4 || paddingLength > 2) {\n throw new Error(\"Base64Coder: incorrect padding\");\n }\n }\n return paddingLength;\n };\n return Coder;\n}());\nexports.Coder = Coder;\nvar stdCoder = new Coder();\nfunction encode(data) {\n return stdCoder.encode(data);\n}\nexports.encode = encode;\nfunction decode(s) {\n return stdCoder.decode(s);\n}\nexports.decode = decode;\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nvar URLSafeCoder = /** @class */ (function (_super) {\n __extends(URLSafeCoder, _super);\n function URLSafeCoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // URL-safe encoding have the following encoded/decoded ranges:\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 - _\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 45 95\n //\n URLSafeCoder.prototype._encodeByte = function (b) {\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n return String.fromCharCode(result);\n };\n URLSafeCoder.prototype._decodeChar = function (c) {\n var result = INVALID_BYTE;\n // c == 45 (c > 44 and c < 46)\n result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n // c == 95 (c > 94 and c < 96)\n result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n return URLSafeCoder;\n}(Coder));\nexports.URLSafeCoder = URLSafeCoder;\nvar urlSafeCoder = new URLSafeCoder();\nfunction encodeURLSafe(data) {\n return urlSafeCoder.encode(data);\n}\nexports.encodeURLSafe = encodeURLSafe;\nfunction decodeURLSafe(s) {\n return urlSafeCoder.decode(s);\n}\nexports.decodeURLSafe = decodeURLSafe;\nexports.encodedLength = function (length) {\n return stdCoder.encodedLength(length);\n};\nexports.maxDecodedLength = function (length) {\n return stdCoder.maxDecodedLength(length);\n};\nexports.decodedLength = function (s) {\n return stdCoder.decodedLength(s);\n};\n//# sourceMappingURL=base64.js.map",
|
|
216
|
+
"(function (root, factory) {\n // Hack to make all exports of this module sha256 function object properties.\n var exports = {};\n factory(exports);\n var sha256 = exports[\"default\"];\n for (var k in exports) {\n sha256[k] = exports[k];\n }\n \n if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = sha256;\n } else if (typeof define === 'function' && define.amd) {\n define(function() { return sha256; }); \n } else {\n root.sha256 = sha256;\n }\n})(this, function(exports) {\n\"use strict\";\nexports.__esModule = true;\n// SHA-256 (+ HMAC and PBKDF2) for JavaScript.\n//\n// Written in 2014-2016 by Dmitry Chestnykh.\n// Public domain, no warranty.\n//\n// Functions (accept and return Uint8Arrays):\n//\n// sha256(message) -> hash\n// sha256.hmac(key, message) -> mac\n// sha256.pbkdf2(password, salt, rounds, dkLen) -> dk\n//\n// Classes:\n//\n// new sha256.Hash()\n// new sha256.HMAC(key)\n//\nexports.digestLength = 32;\nexports.blockSize = 64;\n// SHA-256 constants\nvar K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n var a, b, c, d, e, f, g, h, u, i, j, t1, t2;\n while (len >= 64) {\n a = v[0];\n b = v[1];\n c = v[2];\n d = v[3];\n e = v[4];\n f = v[5];\n g = v[6];\n h = v[7];\n for (i = 0; i < 16; i++) {\n j = pos + i * 4;\n w[i] = (((p[j] & 0xff) << 24) | ((p[j + 1] & 0xff) << 16) |\n ((p[j + 2] & 0xff) << 8) | (p[j + 3] & 0xff));\n }\n for (i = 16; i < 64; i++) {\n u = w[i - 2];\n t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (i = 0; i < 64; i++) {\n t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\n// Hash implements SHA256 hash algorithm.\nvar Hash = /** @class */ (function () {\n function Hash() {\n this.digestLength = exports.digestLength;\n this.blockSize = exports.blockSize;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this.state = new Int32Array(8); // hash state\n this.temp = new Int32Array(64); // temporary state\n this.buffer = new Uint8Array(128); // buffer for data to hash\n this.bufferLength = 0; // number of bytes in buffer\n this.bytesHashed = 0; // number of total bytes hashed\n this.finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n // Resets hash state making it possible\n // to re-use this instance to hash other data.\n Hash.prototype.reset = function () {\n this.state[0] = 0x6a09e667;\n this.state[1] = 0xbb67ae85;\n this.state[2] = 0x3c6ef372;\n this.state[3] = 0xa54ff53a;\n this.state[4] = 0x510e527f;\n this.state[5] = 0x9b05688c;\n this.state[6] = 0x1f83d9ab;\n this.state[7] = 0x5be0cd19;\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n return this;\n };\n // Cleans internal buffers and re-initializes hash state.\n Hash.prototype.clean = function () {\n for (var i = 0; i < this.buffer.length; i++) {\n this.buffer[i] = 0;\n }\n for (var i = 0; i < this.temp.length; i++) {\n this.temp[i] = 0;\n }\n this.reset();\n };\n // Updates hash state with the given data.\n //\n // Optionally, length of the data can be specified to hash\n // fewer bytes than data.length.\n //\n // Throws error when trying to update already finalized hash:\n // instance must be reset to use it again.\n Hash.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this.finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this.bytesHashed += dataLength;\n if (this.bufferLength > 0) {\n while (this.bufferLength < 64 && dataLength > 0) {\n this.buffer[this.bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this.bufferLength === 64) {\n hashBlocks(this.temp, this.state, this.buffer, 0, 64);\n this.bufferLength = 0;\n }\n }\n if (dataLength >= 64) {\n dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);\n dataLength %= 64;\n }\n while (dataLength > 0) {\n this.buffer[this.bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n // Finalizes hash state and puts hash into out.\n //\n // If hash was already finalized, puts the same value.\n Hash.prototype.finish = function (out) {\n if (!this.finished) {\n var bytesHashed = this.bytesHashed;\n var left = this.bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this.buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this.buffer[i] = 0;\n }\n this.buffer[padLength - 8] = (bitLenHi >>> 24) & 0xff;\n this.buffer[padLength - 7] = (bitLenHi >>> 16) & 0xff;\n this.buffer[padLength - 6] = (bitLenHi >>> 8) & 0xff;\n this.buffer[padLength - 5] = (bitLenHi >>> 0) & 0xff;\n this.buffer[padLength - 4] = (bitLenLo >>> 24) & 0xff;\n this.buffer[padLength - 3] = (bitLenLo >>> 16) & 0xff;\n this.buffer[padLength - 2] = (bitLenLo >>> 8) & 0xff;\n this.buffer[padLength - 1] = (bitLenLo >>> 0) & 0xff;\n hashBlocks(this.temp, this.state, this.buffer, 0, padLength);\n this.finished = true;\n }\n for (var i = 0; i < 8; i++) {\n out[i * 4 + 0] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return this;\n };\n // Returns the final hash digest.\n Hash.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n // Internal function for use in HMAC for optimization.\n Hash.prototype._saveState = function (out) {\n for (var i = 0; i < this.state.length; i++) {\n out[i] = this.state[i];\n }\n };\n // Internal function for use in HMAC for optimization.\n Hash.prototype._restoreState = function (from, bytesHashed) {\n for (var i = 0; i < this.state.length; i++) {\n this.state[i] = from[i];\n }\n this.bytesHashed = bytesHashed;\n this.finished = false;\n this.bufferLength = 0;\n };\n return Hash;\n}());\nexports.Hash = Hash;\n// HMAC implements HMAC-SHA256 message authentication algorithm.\nvar HMAC = /** @class */ (function () {\n function HMAC(key) {\n this.inner = new Hash();\n this.outer = new Hash();\n this.blockSize = this.inner.blockSize;\n this.digestLength = this.inner.digestLength;\n var pad = new Uint8Array(this.blockSize);\n if (key.length > this.blockSize) {\n (new Hash()).update(key).finish(pad).clean();\n }\n else {\n for (var i = 0; i < key.length; i++) {\n pad[i] = key[i];\n }\n }\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n this.inner.update(pad);\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n this.outer.update(pad);\n this.istate = new Uint32Array(8);\n this.ostate = new Uint32Array(8);\n this.inner._saveState(this.istate);\n this.outer._saveState(this.ostate);\n for (var i = 0; i < pad.length; i++) {\n pad[i] = 0;\n }\n }\n // Returns HMAC state to the state initialized with key\n // to make it possible to run HMAC over the other data with the same\n // key without creating a new instance.\n HMAC.prototype.reset = function () {\n this.inner._restoreState(this.istate, this.inner.blockSize);\n this.outer._restoreState(this.ostate, this.outer.blockSize);\n return this;\n };\n // Cleans HMAC state.\n HMAC.prototype.clean = function () {\n for (var i = 0; i < this.istate.length; i++) {\n this.ostate[i] = this.istate[i] = 0;\n }\n this.inner.clean();\n this.outer.clean();\n };\n // Updates state with provided data.\n HMAC.prototype.update = function (data) {\n this.inner.update(data);\n return this;\n };\n // Finalizes HMAC and puts the result in out.\n HMAC.prototype.finish = function (out) {\n if (this.outer.finished) {\n this.outer.finish(out);\n }\n else {\n this.inner.finish(out);\n this.outer.update(out, this.digestLength).finish(out);\n }\n return this;\n };\n // Returns message authentication code.\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n return HMAC;\n}());\nexports.HMAC = HMAC;\n// Returns SHA256 hash of data.\nfunction hash(data) {\n var h = (new Hash()).update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n// Function hash is both available as module.hash and as default export.\nexports[\"default\"] = hash;\n// Returns HMAC-SHA256 of data under the key.\nfunction hmac(key, data) {\n var h = (new HMAC(key)).update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\n// Fills hkdf buffer like this:\n// T(1) = HMAC-Hash(PRK, T(0) | info | 0x01)\nfunction fillBuffer(buffer, hmac, info, counter) {\n // Counter is a byte value: check if it overflowed.\n var num = counter[0];\n if (num === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n // Prepare HMAC instance for new data with old key.\n hmac.reset();\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (num > 1) {\n hmac.update(buffer);\n }\n // Hash in info if it exists.\n if (info) {\n hmac.update(info);\n }\n // Hash in the counter.\n hmac.update(counter);\n // Output result to buffer and clean HMAC instance.\n hmac.finish(buffer);\n // Increment counter inside typed array, this works properly.\n counter[0]++;\n}\nvar hkdfSalt = new Uint8Array(exports.digestLength); // Filled with zeroes.\nfunction hkdf(key, salt, info, length) {\n if (salt === void 0) { salt = hkdfSalt; }\n if (length === void 0) { length = 32; }\n var counter = new Uint8Array([1]);\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac(salt, key);\n // Initialize HMAC for expanding with extracted key.\n // Ensure no collisions with `hmac` function.\n var hmac_ = new HMAC(okm);\n // Allocate buffer.\n var buffer = new Uint8Array(hmac_.digestLength);\n var bufpos = buffer.length;\n var out = new Uint8Array(length);\n for (var i = 0; i < length; i++) {\n if (bufpos === buffer.length) {\n fillBuffer(buffer, hmac_, info, counter);\n bufpos = 0;\n }\n out[i] = buffer[bufpos++];\n }\n hmac_.clean();\n buffer.fill(0);\n counter.fill(0);\n return out;\n}\nexports.hkdf = hkdf;\n// Derives a key from password and salt using PBKDF2-HMAC-SHA256\n// with the given number of iterations.\n//\n// The number of bytes returned is equal to dkLen.\n//\n// (For better security, avoid dkLen greater than hash length - 32 bytes).\nfunction pbkdf2(password, salt, iterations, dkLen) {\n var prf = new HMAC(password);\n var len = prf.digestLength;\n var ctr = new Uint8Array(4);\n var t = new Uint8Array(len);\n var u = new Uint8Array(len);\n var dk = new Uint8Array(dkLen);\n for (var i = 0; i * len < dkLen; i++) {\n var c = i + 1;\n ctr[0] = (c >>> 24) & 0xff;\n ctr[1] = (c >>> 16) & 0xff;\n ctr[2] = (c >>> 8) & 0xff;\n ctr[3] = (c >>> 0) & 0xff;\n prf.reset();\n prf.update(salt);\n prf.update(ctr);\n prf.finish(u);\n for (var j = 0; j < len; j++) {\n t[j] = u[j];\n }\n for (var j = 2; j <= iterations; j++) {\n prf.reset();\n prf.update(u).finish(u);\n for (var k = 0; k < len; k++) {\n t[k] ^= u[k];\n }\n }\n for (var j = 0; j < len && i * len + j < dkLen; j++) {\n dk[i * len + j] = t[j];\n }\n }\n for (var i = 0; i < len; i++) {\n t[i] = u[i] = 0;\n }\n for (var i = 0; i < 4; i++) {\n ctr[i] = 0;\n }\n prf.clean();\n return dk;\n}\nexports.pbkdf2 = pbkdf2;\n});\n",
|
|
217
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Webhook = exports.WebhookVerificationError = void 0;\nconst timing_safe_equal_1 = require(\"./timing_safe_equal\");\nconst base64 = require(\"@stablelib/base64\");\nconst sha256 = require(\"fast-sha256\");\nconst WEBHOOK_TOLERANCE_IN_SECONDS = 5 * 60;\nclass ExtendableError extends Error {\n constructor(message) {\n super(message);\n Object.setPrototypeOf(this, ExtendableError.prototype);\n this.name = \"ExtendableError\";\n this.stack = new Error(message).stack;\n }\n}\nclass WebhookVerificationError extends ExtendableError {\n constructor(message) {\n super(message);\n Object.setPrototypeOf(this, WebhookVerificationError.prototype);\n this.name = \"WebhookVerificationError\";\n }\n}\nexports.WebhookVerificationError = WebhookVerificationError;\nclass Webhook {\n constructor(secret, options) {\n if (!secret) {\n throw new Error(\"Secret can't be empty.\");\n }\n if ((options === null || options === void 0 ? void 0 : options.format) === \"raw\") {\n if (secret instanceof Uint8Array) {\n this.key = secret;\n }\n else {\n this.key = Uint8Array.from(secret, (c) => c.charCodeAt(0));\n }\n }\n else {\n if (typeof secret !== \"string\") {\n throw new Error(\"Expected secret to be of type string\");\n }\n if (secret.startsWith(Webhook.prefix)) {\n secret = secret.substring(Webhook.prefix.length);\n }\n this.key = base64.decode(secret);\n }\n }\n verify(payload, headers_) {\n const headers = {};\n for (const key of Object.keys(headers_)) {\n headers[key.toLowerCase()] = headers_[key];\n }\n const msgId = headers[\"webhook-id\"];\n const msgSignature = headers[\"webhook-signature\"];\n const msgTimestamp = headers[\"webhook-timestamp\"];\n if (!msgSignature || !msgId || !msgTimestamp) {\n throw new WebhookVerificationError(\"Missing required headers\");\n }\n const timestamp = this.verifyTimestamp(msgTimestamp);\n const computedSignature = this.sign(msgId, timestamp, payload);\n const expectedSignature = computedSignature.split(\",\")[1];\n const passedSignatures = msgSignature.split(\" \");\n const encoder = new globalThis.TextEncoder();\n for (const versionedSignature of passedSignatures) {\n const [version, signature] = versionedSignature.split(\",\");\n if (version !== \"v1\") {\n continue;\n }\n if ((0, timing_safe_equal_1.timingSafeEqual)(encoder.encode(signature), encoder.encode(expectedSignature))) {\n return JSON.parse(payload.toString());\n }\n }\n throw new WebhookVerificationError(\"No matching signature found\");\n }\n sign(msgId, timestamp, payload) {\n if (typeof payload === \"string\") {\n }\n else if (payload.constructor.name === \"Buffer\") {\n payload = payload.toString();\n }\n else {\n throw new Error(\"Expected payload to be of type string or Buffer.\");\n }\n const encoder = new TextEncoder();\n const timestampNumber = Math.floor(timestamp.getTime() / 1000);\n const toSign = encoder.encode(`${msgId}.${timestampNumber}.${payload}`);\n const expectedSignature = base64.encode(sha256.hmac(this.key, toSign));\n return `v1,${expectedSignature}`;\n }\n verifyTimestamp(timestampHeader) {\n const now = Math.floor(Date.now() / 1000);\n const timestamp = parseInt(timestampHeader, 10);\n if (isNaN(timestamp)) {\n throw new WebhookVerificationError(\"Invalid Signature Headers\");\n }\n if (now - timestamp > WEBHOOK_TOLERANCE_IN_SECONDS) {\n throw new WebhookVerificationError(\"Message timestamp too old\");\n }\n if (timestamp > now + WEBHOOK_TOLERANCE_IN_SECONDS) {\n throw new WebhookVerificationError(\"Message timestamp too new\");\n }\n return new Date(timestamp * 1000);\n }\n}\nexports.Webhook = Webhook;\nWebhook.prefix = \"whsec_\";\n//# sourceMappingURL=index.js.map",
|
|
218
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Webhook = exports.WebhookVerificationError = void 0;\nconst standardwebhooks_1 = require(\"standardwebhooks\");\nvar standardwebhooks_2 = require(\"standardwebhooks\");\nObject.defineProperty(exports, \"WebhookVerificationError\", { enumerable: true, get: function () { return standardwebhooks_2.WebhookVerificationError; } });\nclass Webhook {\n constructor(secret, options) {\n this.inner = new standardwebhooks_1.Webhook(secret, options);\n }\n verify(payload, headers_) {\n var _a, _b, _c, _d, _e, _f;\n const headers = {};\n for (const key of Object.keys(headers_)) {\n headers[key.toLowerCase()] = headers_[key];\n }\n headers[\"webhook-id\"] = (_b = (_a = headers[\"svix-id\"]) !== null && _a !== void 0 ? _a : headers[\"webhook-id\"]) !== null && _b !== void 0 ? _b : \"\";\n headers[\"webhook-signature\"] =\n (_d = (_c = headers[\"svix-signature\"]) !== null && _c !== void 0 ? _c : headers[\"webhook-signature\"]) !== null && _d !== void 0 ? _d : \"\";\n headers[\"webhook-timestamp\"] =\n (_f = (_e = headers[\"svix-timestamp\"]) !== null && _e !== void 0 ? _e : headers[\"webhook-timestamp\"]) !== null && _f !== void 0 ? _f : \"\";\n return this.inner.verify(payload, headers);\n }\n sign(msgId, timestamp, payload) {\n return this.inner.sign(msgId, timestamp, payload);\n }\n}\nexports.Webhook = Webhook;\n//# sourceMappingURL=webhook.js.map",
|
|
219
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EndpointDisabledTriggerSerializer = exports.EndpointDisabledTrigger = void 0;\nvar EndpointDisabledTrigger;\n(function (EndpointDisabledTrigger) {\n EndpointDisabledTrigger[\"Manual\"] = \"manual\";\n EndpointDisabledTrigger[\"Automatic\"] = \"automatic\";\n})(EndpointDisabledTrigger = exports.EndpointDisabledTrigger || (exports.EndpointDisabledTrigger = {}));\nexports.EndpointDisabledTriggerSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=endpointDisabledTrigger.js.map",
|
|
220
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OrderingSerializer = exports.Ordering = void 0;\nvar Ordering;\n(function (Ordering) {\n Ordering[\"Ascending\"] = \"ascending\";\n Ordering[\"Descending\"] = \"descending\";\n})(Ordering = exports.Ordering || (exports.Ordering = {}));\nexports.OrderingSerializer = {\n _fromJsonObject(object) {\n return object;\n },\n _toJsonObject(self) {\n return self;\n },\n};\n//# sourceMappingURL=ordering.js.map",
|
|
221
|
+
"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StatusCodeClass = exports.SinkStatusIn = exports.SinkStatus = exports.Ordering = exports.MessageStatusText = exports.MessageStatus = exports.MessageAttemptTriggerType = exports.EndpointDisabledTrigger = exports.ConnectorProduct = exports.ConnectorKind = exports.BackgroundTaskType = exports.BackgroundTaskStatus = exports.AppPortalCapability = void 0;\nvar appPortalCapability_1 = require(\"./appPortalCapability\");\nObject.defineProperty(exports, \"AppPortalCapability\", { enumerable: true, get: function () { return appPortalCapability_1.AppPortalCapability; } });\nvar backgroundTaskStatus_1 = require(\"./backgroundTaskStatus\");\nObject.defineProperty(exports, \"BackgroundTaskStatus\", { enumerable: true, get: function () { return backgroundTaskStatus_1.BackgroundTaskStatus; } });\nvar backgroundTaskType_1 = require(\"./backgroundTaskType\");\nObject.defineProperty(exports, \"BackgroundTaskType\", { enumerable: true, get: function () { return backgroundTaskType_1.BackgroundTaskType; } });\nvar connectorKind_1 = require(\"./connectorKind\");\nObject.defineProperty(exports, \"ConnectorKind\", { enumerable: true, get: function () { return connectorKind_1.ConnectorKind; } });\nvar connectorProduct_1 = require(\"./connectorProduct\");\nObject.defineProperty(exports, \"ConnectorProduct\", { enumerable: true, get: function () { return connectorProduct_1.ConnectorProduct; } });\nvar endpointDisabledTrigger_1 = require(\"./endpointDisabledTrigger\");\nObject.defineProperty(exports, \"EndpointDisabledTrigger\", { enumerable: true, get: function () { return endpointDisabledTrigger_1.EndpointDisabledTrigger; } });\nvar messageAttemptTriggerType_1 = require(\"./messageAttemptTriggerType\");\nObject.defineProperty(exports, \"MessageAttemptTriggerType\", { enumerable: true, get: function () { return messageAttemptTriggerType_1.MessageAttemptTriggerType; } });\nvar messageStatus_1 = require(\"./messageStatus\");\nObject.defineProperty(exports, \"MessageStatus\", { enumerable: true, get: function () { return messageStatus_1.MessageStatus; } });\nvar messageStatusText_1 = require(\"./messageStatusText\");\nObject.defineProperty(exports, \"MessageStatusText\", { enumerable: true, get: function () { return messageStatusText_1.MessageStatusText; } });\nvar ordering_1 = require(\"./ordering\");\nObject.defineProperty(exports, \"Ordering\", { enumerable: true, get: function () { return ordering_1.Ordering; } });\nvar sinkStatus_1 = require(\"./sinkStatus\");\nObject.defineProperty(exports, \"SinkStatus\", { enumerable: true, get: function () { return sinkStatus_1.SinkStatus; } });\nvar sinkStatusIn_1 = require(\"./sinkStatusIn\");\nObject.defineProperty(exports, \"SinkStatusIn\", { enumerable: true, get: function () { return sinkStatusIn_1.SinkStatusIn; } });\nvar statusCodeClass_1 = require(\"./statusCodeClass\");\nObject.defineProperty(exports, \"StatusCodeClass\", { enumerable: true, get: function () { return statusCodeClass_1.StatusCodeClass; } });\n//# sourceMappingURL=index.js.map",
|
|
222
|
+
"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Svix = exports.messageInRaw = exports.ValidationError = exports.HttpErrorOut = exports.HTTPValidationError = exports.ApiException = void 0;\nconst application_1 = require(\"./api/application\");\nconst authentication_1 = require(\"./api/authentication\");\nconst backgroundTask_1 = require(\"./api/backgroundTask\");\nconst connector_1 = require(\"./api/connector\");\nconst endpoint_1 = require(\"./api/endpoint\");\nconst environment_1 = require(\"./api/environment\");\nconst eventType_1 = require(\"./api/eventType\");\nconst health_1 = require(\"./api/health\");\nconst ingest_1 = require(\"./api/ingest\");\nconst integration_1 = require(\"./api/integration\");\nconst message_1 = require(\"./api/message\");\nconst messageAttempt_1 = require(\"./api/messageAttempt\");\nconst operationalWebhook_1 = require(\"./api/operationalWebhook\");\nconst statistics_1 = require(\"./api/statistics\");\nconst streaming_1 = require(\"./api/streaming\");\nconst operationalWebhookEndpoint_1 = require(\"./api/operationalWebhookEndpoint\");\nvar util_1 = require(\"./util\");\nObject.defineProperty(exports, \"ApiException\", { enumerable: true, get: function () { return util_1.ApiException; } });\nvar HttpErrors_1 = require(\"./HttpErrors\");\nObject.defineProperty(exports, \"HTTPValidationError\", { enumerable: true, get: function () { return HttpErrors_1.HTTPValidationError; } });\nObject.defineProperty(exports, \"HttpErrorOut\", { enumerable: true, get: function () { return HttpErrors_1.HttpErrorOut; } });\nObject.defineProperty(exports, \"ValidationError\", { enumerable: true, get: function () { return HttpErrors_1.ValidationError; } });\n__exportStar(require(\"./webhook\"), exports);\n__exportStar(require(\"./models/index\"), exports);\nvar message_2 = require(\"./api/message\");\nObject.defineProperty(exports, \"messageInRaw\", { enumerable: true, get: function () { return message_2.messageInRaw; } });\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];\nclass Svix {\n constructor(token, options = {}) {\n var _a, _b, _c;\n const regionalUrl = (_a = REGIONS.find((x) => x.region === token.split(\".\")[1])) === null || _a === void 0 ? void 0 : _a.url;\n const baseUrl = (_c = (_b = options.serverUrl) !== null && _b !== void 0 ? _b : regionalUrl) !== null && _c !== void 0 ? _c : \"https://api.svix.com\";\n if (options.retryScheduleInMs) {\n this.requestCtx = {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n retryScheduleInMs: options.retryScheduleInMs,\n fetch: options.fetch,\n };\n return;\n }\n if (options.numRetries) {\n this.requestCtx = {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n numRetries: options.numRetries,\n fetch: options.fetch,\n };\n return;\n }\n this.requestCtx = {\n baseUrl,\n token,\n timeout: options.requestTimeout,\n fetch: options.fetch,\n };\n }\n get application() {\n return new application_1.Application(this.requestCtx);\n }\n get authentication() {\n return new authentication_1.Authentication(this.requestCtx);\n }\n get backgroundTask() {\n return new backgroundTask_1.BackgroundTask(this.requestCtx);\n }\n get connector() {\n return new connector_1.Connector(this.requestCtx);\n }\n get endpoint() {\n return new endpoint_1.Endpoint(this.requestCtx);\n }\n get environment() {\n return new environment_1.Environment(this.requestCtx);\n }\n get eventType() {\n return new eventType_1.EventType(this.requestCtx);\n }\n get health() {\n return new health_1.Health(this.requestCtx);\n }\n get ingest() {\n return new ingest_1.Ingest(this.requestCtx);\n }\n get integration() {\n return new integration_1.Integration(this.requestCtx);\n }\n get message() {\n return new message_1.Message(this.requestCtx);\n }\n get messageAttempt() {\n return new messageAttempt_1.MessageAttempt(this.requestCtx);\n }\n get operationalWebhook() {\n return new operationalWebhook_1.OperationalWebhook(this.requestCtx);\n }\n get statistics() {\n return new statistics_1.Statistics(this.requestCtx);\n }\n get streaming() {\n return new streaming_1.Streaming(this.requestCtx);\n }\n get operationalWebhookEndpoint() {\n return new operationalWebhookEndpoint_1.OperationalWebhookEndpoint(this.requestCtx);\n }\n}\nexports.Svix = Svix;\n//# sourceMappingURL=index.js.map",
|
|
223
|
+
"import type {\n IFileStorageDriver,\n ReadFileParams,\n PutFileParams,\n} from \"./types\";\n\nexport abstract class FileStorageDriver implements IFileStorageDriver {\n abstract fetch(params: ReadFileParams | string): Promise<Response>;\n abstract put(params: PutFileParams | Blob): Promise<string>;\n abstract list(folder: string): Promise<any>;\n}\n",
|
|
224
|
+
"import type { PutFileParams, ReadFileParams } from \"./types\";\nimport { FileStorageDriver } from \"./FileStorageDriver\";\nimport { readdir } from \"fs/promises\";\n\nexport class FileSystemDriver extends FileStorageDriver {\n constructor(private folderPath: string = `${process.env.ROOT_DIR}/storage`) {\n super();\n }\n\n async put(params: PutFileParams | Blob) {\n let body: Blob | File | Buffer;\n let name: string;\n\n if (params instanceof Blob) {\n body = params;\n name = `${Bun.randomUUIDv7()}.${params.type.split(\"/\")[1].split(\";\")[0]}`;\n } else {\n body = params.body;\n name = params.name;\n }\n\n const buffer =\n body instanceof Buffer\n ? body\n : body instanceof Blob || body instanceof File\n ? Buffer.from(await body.arrayBuffer())\n : \"\";\n\n const path = `${this.folderPath}/${name}`;\n\n await Bun.write(path, buffer as any);\n\n return name;\n }\n\n async fetch(params: ReadFileParams | string) {\n let bucket = process.env.BUCKET_NAME;\n let name: string | undefined;\n\n if (typeof params === \"string\") {\n name = params;\n } else {\n bucket = params.bucket ?? bucket;\n name = params.name;\n }\n\n if (!name) {\n throw new Error(\"Object name has to be specified\");\n }\n\n const path = `${this.folderPath}/${name}`;\n const file = Bun.file(path);\n const result = Bun.file(path).stream();\n const date = new Date(file.lastModified).toUTCString();\n\n return new Response(result, {\n headers: {\n \"Content-Type\": file.type,\n \"Content-Length\": String(file.size),\n \"Cache-Control\": \"private, max-age=12000, must-revalidate\",\n // TODO: fix this.\n \"Last-Modified\": date,\n },\n });\n }\n\n async list() {\n const files = await readdir(this.folderPath);\n\n return files;\n }\n}\n",
|
|
225
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport type { FileStorageDriver } from \"./drivers/FileStorageDriver\";\nimport { FileSystemDriver } from \"./drivers/FileSystemDriver\";\n\nexport class FileStorageServiceProvider extends ServiceProvider {\n driver: FileStorageDriver = new FileSystemDriver();\n\n boot() {}\n}\n",
|
|
226
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nexport function addExpectContinueMiddleware(options) {\n return (next) => async (args) => {\n const { request } = args;\n if (options.expectContinueHeader !== false &&\n HttpRequest.isInstance(request) &&\n request.body &&\n options.runtime === \"node\" &&\n options.requestHandler?.constructor?.name !== \"FetchHttpHandler\") {\n let sendHeader = true;\n if (typeof options.expectContinueHeader === \"number\") {\n try {\n const bodyLength = Number(request.headers?.[\"content-length\"]) ?? options.bodyLengthChecker?.(request.body) ?? Infinity;\n sendHeader = bodyLength >= options.expectContinueHeader;\n }\n catch (e) { }\n }\n else {\n sendHeader = !!options.expectContinueHeader;\n }\n if (sendHeader) {\n request.headers.Expect = \"100-continue\";\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const addExpectContinueMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_EXPECT_HEADER\", \"EXPECT_HEADER\"],\n name: \"addExpectContinueMiddleware\",\n override: true,\n};\nexport const getAddExpectContinuePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(addExpectContinueMiddleware(options), addExpectContinueMiddlewareOptions);\n },\n});\n",
|
|
227
|
+
"export const RequestChecksumCalculation = {\n WHEN_SUPPORTED: \"WHEN_SUPPORTED\",\n WHEN_REQUIRED: \"WHEN_REQUIRED\",\n};\nexport const DEFAULT_REQUEST_CHECKSUM_CALCULATION = RequestChecksumCalculation.WHEN_SUPPORTED;\nexport const ResponseChecksumValidation = {\n WHEN_SUPPORTED: \"WHEN_SUPPORTED\",\n WHEN_REQUIRED: \"WHEN_REQUIRED\",\n};\nexport const DEFAULT_RESPONSE_CHECKSUM_VALIDATION = RequestChecksumCalculation.WHEN_SUPPORTED;\nexport var ChecksumAlgorithm;\n(function (ChecksumAlgorithm) {\n ChecksumAlgorithm[\"MD5\"] = \"MD5\";\n ChecksumAlgorithm[\"CRC32\"] = \"CRC32\";\n ChecksumAlgorithm[\"CRC32C\"] = \"CRC32C\";\n ChecksumAlgorithm[\"CRC64NVME\"] = \"CRC64NVME\";\n ChecksumAlgorithm[\"SHA1\"] = \"SHA1\";\n ChecksumAlgorithm[\"SHA256\"] = \"SHA256\";\n})(ChecksumAlgorithm || (ChecksumAlgorithm = {}));\nexport var ChecksumLocation;\n(function (ChecksumLocation) {\n ChecksumLocation[\"HEADER\"] = \"header\";\n ChecksumLocation[\"TRAILER\"] = \"trailer\";\n})(ChecksumLocation || (ChecksumLocation = {}));\nexport const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;\n",
|
|
228
|
+
"export var SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType || (SelectorType = {}));\nexport const stringUnionSelector = (obj, key, union, type) => {\n if (!(key in obj))\n return undefined;\n const value = obj[key].toUpperCase();\n if (!Object.values(union).includes(value)) {\n throw new TypeError(`Cannot load ${type} '${key}'. Expected one of ${Object.values(union)}, got '${obj[key]}'.`);\n }\n return value;\n};\n",
|
|
229
|
+
"import { DEFAULT_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation } from \"./constants\";\nimport { SelectorType, stringUnionSelector } from \"./stringUnionSelector\";\nexport const ENV_REQUEST_CHECKSUM_CALCULATION = \"AWS_REQUEST_CHECKSUM_CALCULATION\";\nexport const CONFIG_REQUEST_CHECKSUM_CALCULATION = \"request_checksum_calculation\";\nexport const NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => stringUnionSelector(env, ENV_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.ENV),\n configFileSelector: (profile) => stringUnionSelector(profile, CONFIG_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.CONFIG),\n default: DEFAULT_REQUEST_CHECKSUM_CALCULATION,\n};\n",
|
|
230
|
+
"import { DEFAULT_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation } from \"./constants\";\nimport { SelectorType, stringUnionSelector } from \"./stringUnionSelector\";\nexport const ENV_RESPONSE_CHECKSUM_VALIDATION = \"AWS_RESPONSE_CHECKSUM_VALIDATION\";\nexport const CONFIG_RESPONSE_CHECKSUM_VALIDATION = \"response_checksum_validation\";\nexport const NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => stringUnionSelector(env, ENV_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType.ENV),\n configFileSelector: (profile) => stringUnionSelector(profile, CONFIG_RESPONSE_CHECKSUM_VALIDATION, ResponseChecksumValidation, SelectorType.CONFIG),\n default: DEFAULT_RESPONSE_CHECKSUM_VALIDATION,\n};\n",
|
|
231
|
+
"import { setFeature } from \"@aws-sdk/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { createBufferedReadable } from \"@smithy/util-stream\";\nimport { ChecksumAlgorithm, DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from \"./constants\";\nimport { getChecksumAlgorithmForRequest } from \"./getChecksumAlgorithmForRequest\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { hasHeader } from \"./hasHeader\";\nimport { hasHeaderWithPrefix } from \"./hasHeaderWithPrefix\";\nimport { isStreaming } from \"./isStreaming\";\nimport { selectChecksumAlgorithmFunction } from \"./selectChecksumAlgorithmFunction\";\nimport { stringHasher } from \"./stringHasher\";\nexport const flexibleChecksumsMiddlewareOptions = {\n name: \"flexibleChecksumsMiddleware\",\n step: \"build\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n if (hasHeaderWithPrefix(\"x-amz-checksum-\", args.request.headers)) {\n return next(args);\n }\n const { request, input } = args;\n const { body: requestBody, headers } = request;\n const { base64Encoder, streamHasher } = config;\n const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;\n const requestChecksumCalculation = await config.requestChecksumCalculation();\n const requestAlgorithmMemberName = requestAlgorithmMember?.name;\n const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader;\n if (requestAlgorithmMemberName && !input[requestAlgorithmMemberName]) {\n if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) {\n input[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM;\n if (requestAlgorithmMemberHttpHeader) {\n headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM;\n }\n }\n }\n const checksumAlgorithm = getChecksumAlgorithmForRequest(input, {\n requestChecksumRequired,\n requestAlgorithmMember: requestAlgorithmMember?.name,\n requestChecksumCalculation,\n });\n let updatedBody = requestBody;\n let updatedHeaders = headers;\n if (checksumAlgorithm) {\n switch (checksumAlgorithm) {\n case ChecksumAlgorithm.CRC32:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC32\", \"U\");\n break;\n case ChecksumAlgorithm.CRC32C:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC32C\", \"V\");\n break;\n case ChecksumAlgorithm.CRC64NVME:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_CRC64\", \"W\");\n break;\n case ChecksumAlgorithm.SHA1:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_SHA1\", \"X\");\n break;\n case ChecksumAlgorithm.SHA256:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_SHA256\", \"Y\");\n break;\n }\n const checksumLocationName = getChecksumLocationName(checksumAlgorithm);\n const checksumAlgorithmFn = selectChecksumAlgorithmFunction(checksumAlgorithm, config);\n if (isStreaming(requestBody)) {\n const { getAwsChunkedEncodingStream, bodyLengthChecker } = config;\n updatedBody = getAwsChunkedEncodingStream(typeof config.requestStreamBufferSize === \"number\" && config.requestStreamBufferSize >= 8 * 1024\n ? createBufferedReadable(requestBody, config.requestStreamBufferSize, context.logger)\n : requestBody, {\n base64Encoder,\n bodyLengthChecker,\n checksumLocationName,\n checksumAlgorithmFn,\n streamHasher,\n });\n updatedHeaders = {\n ...headers,\n \"content-encoding\": headers[\"content-encoding\"]\n ? `${headers[\"content-encoding\"]},aws-chunked`\n : \"aws-chunked\",\n \"transfer-encoding\": \"chunked\",\n \"x-amz-decoded-content-length\": headers[\"content-length\"],\n \"x-amz-content-sha256\": \"STREAMING-UNSIGNED-PAYLOAD-TRAILER\",\n \"x-amz-trailer\": checksumLocationName,\n };\n delete updatedHeaders[\"content-length\"];\n }\n else if (!hasHeader(checksumLocationName, headers)) {\n const rawChecksum = await stringHasher(checksumAlgorithmFn, requestBody);\n updatedHeaders = {\n ...headers,\n [checksumLocationName]: base64Encoder(rawChecksum),\n };\n }\n }\n try {\n const result = await next({\n ...args,\n request: {\n ...request,\n headers: updatedHeaders,\n body: updatedBody,\n },\n });\n return result;\n }\n catch (e) {\n if (e instanceof Error && e.name === \"InvalidChunkSizeError\") {\n try {\n if (!e.message.endsWith(\".\")) {\n e.message += \".\";\n }\n e.message +=\n \" Set [requestStreamBufferSize=number e.g. 65_536] in client constructor to instruct AWS SDK to buffer your input stream.\";\n }\n catch (ignored) {\n }\n }\n throw e;\n }\n};\n",
|
|
232
|
+
"import { DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from \"./constants\";\nexport const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }) => {\n if (!requestAlgorithmMember) {\n return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired\n ? DEFAULT_CHECKSUM_ALGORITHM\n : undefined;\n }\n if (!input[requestAlgorithmMember]) {\n return undefined;\n }\n const checksumAlgorithm = input[requestAlgorithmMember];\n return checksumAlgorithm;\n};\n",
|
|
233
|
+
"import { ChecksumAlgorithm } from \"./constants\";\nexport const getChecksumLocationName = (algorithm) => algorithm === ChecksumAlgorithm.MD5 ? \"content-md5\" : `x-amz-checksum-${algorithm.toLowerCase()}`;\n",
|
|
234
|
+
"export const hasHeader = (header, headers) => {\n const soughtHeader = header.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\n",
|
|
235
|
+
"export const hasHeaderWithPrefix = (headerPrefix, headers) => {\n const soughtHeaderPrefix = headerPrefix.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase().startsWith(soughtHeaderPrefix)) {\n return true;\n }\n }\n return false;\n};\n",
|
|
236
|
+
"import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nexport const isStreaming = (body) => body !== undefined && typeof body !== \"string\" && !ArrayBuffer.isView(body) && !isArrayBuffer(body);\n",
|
|
237
|
+
"import tslib from '../tslib.js';\r\nconst {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __esDecorate,\r\n __runInitializers,\r\n __propKey,\r\n __setFunctionName,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __exportStar,\r\n __createBinding,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n __addDisposableResource,\r\n __disposeResources,\r\n __rewriteRelativeImportExtension,\r\n} = tslib;\r\nexport {\r\n __extends,\r\n __assign,\r\n __rest,\r\n __decorate,\r\n __param,\r\n __esDecorate,\r\n __runInitializers,\r\n __propKey,\r\n __setFunctionName,\r\n __metadata,\r\n __awaiter,\r\n __generator,\r\n __exportStar,\r\n __createBinding,\r\n __values,\r\n __read,\r\n __spread,\r\n __spreadArrays,\r\n __spreadArray,\r\n __await,\r\n __asyncGenerator,\r\n __asyncDelegator,\r\n __asyncValues,\r\n __makeTemplateObject,\r\n __importStar,\r\n __importDefault,\r\n __classPrivateFieldGet,\r\n __classPrivateFieldSet,\r\n __classPrivateFieldIn,\r\n __addDisposableResource,\r\n __disposeResources,\r\n __rewriteRelativeImportExtension,\r\n};\r\nexport default tslib;\r\n",
|
|
238
|
+
"import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { Buffer } from \"buffer\";\nexport const fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!isArrayBuffer(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return Buffer.from(input, offset, length);\n};\nexport const fromString = (input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? Buffer.from(input, encoding) : Buffer.from(input);\n};\n",
|
|
239
|
+
"import { fromString } from \"@smithy/util-buffer-from\";\nexport const fromUtf8 = (input) => {\n const buf = fromString(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\n",
|
|
240
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : fromUtf8Browser;\nexport function convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=convertToBuffer.js.map",
|
|
241
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\n//# sourceMappingURL=isEmptyData.js.map",
|
|
242
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n//# sourceMappingURL=numToUint8.js.map",
|
|
243
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\n//# sourceMappingURL=uint32ArrayFrom.js.map",
|
|
244
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __awaiter, __generator } from \"tslib\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32c } from \"./index\";\nvar AwsCrc32c = /** @class */ (function () {\n function AwsCrc32c() {\n this.crc32c = new Crc32c();\n }\n AwsCrc32c.prototype.update = function (toHash) {\n if (isEmptyData(toHash))\n return;\n this.crc32c.update(convertToBuffer(toHash));\n };\n AwsCrc32c.prototype.digest = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, numToUint8(this.crc32c.digest())];\n });\n });\n };\n AwsCrc32c.prototype.reset = function () {\n this.crc32c = new Crc32c();\n };\n return AwsCrc32c;\n}());\nexport { AwsCrc32c };\n//# sourceMappingURL=aws_crc32c.js.map",
|
|
245
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __values } from \"tslib\";\nimport { uint32ArrayFrom } from \"@aws-crypto/util\";\nexport function crc32c(data) {\n return new Crc32c().update(data).digest();\n}\nvar Crc32c = /** @class */ (function () {\n function Crc32c() {\n this.checksum = 0xffffffff;\n }\n Crc32c.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32c.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32c;\n}());\nexport { Crc32c };\n// prettier-ignore\nvar a_lookupTable = [\n 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB,\n 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24,\n 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384,\n 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B,\n 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35,\n 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA,\n 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A,\n 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595,\n 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957,\n 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198,\n 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38,\n 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7,\n 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789,\n 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46,\n 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6,\n 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829,\n 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93,\n 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C,\n 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC,\n 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033,\n 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D,\n 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982,\n 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622,\n 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED,\n 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F,\n 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0,\n 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540,\n 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F,\n 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1,\n 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E,\n 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E,\n 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351,\n];\nvar lookupTable = uint32ArrayFrom(a_lookupTable);\nexport { AwsCrc32c } from \"./aws_crc32c\";\n//# sourceMappingURL=index.js.map",
|
|
246
|
+
"const generateCRC64NVMETable = () => {\n const sliceLength = 8;\n const tables = new Array(sliceLength);\n for (let slice = 0; slice < sliceLength; slice++) {\n const table = new Array(512);\n for (let i = 0; i < 256; i++) {\n let crc = BigInt(i);\n for (let j = 0; j < 8 * (slice + 1); j++) {\n if (crc & 1n) {\n crc = (crc >> 1n) ^ 0x9a6c9329ac4bc9b5n;\n }\n else {\n crc = crc >> 1n;\n }\n }\n table[i * 2] = Number((crc >> 32n) & 0xffffffffn);\n table[i * 2 + 1] = Number(crc & 0xffffffffn);\n }\n tables[slice] = new Uint32Array(table);\n }\n return tables;\n};\nlet CRC64_NVME_REVERSED_TABLE;\nlet t0, t1, t2, t3;\nlet t4, t5, t6, t7;\nconst ensureTablesInitialized = () => {\n if (!CRC64_NVME_REVERSED_TABLE) {\n CRC64_NVME_REVERSED_TABLE = generateCRC64NVMETable();\n [t0, t1, t2, t3, t4, t5, t6, t7] = CRC64_NVME_REVERSED_TABLE;\n }\n};\nexport class Crc64Nvme {\n c1 = 0;\n c2 = 0;\n constructor() {\n ensureTablesInitialized();\n this.reset();\n }\n update(data) {\n const len = data.length;\n let i = 0;\n let crc1 = this.c1;\n let crc2 = this.c2;\n while (i + 8 <= len) {\n const idx0 = ((crc2 ^ data[i++]) & 255) << 1;\n const idx1 = (((crc2 >>> 8) ^ data[i++]) & 255) << 1;\n const idx2 = (((crc2 >>> 16) ^ data[i++]) & 255) << 1;\n const idx3 = (((crc2 >>> 24) ^ data[i++]) & 255) << 1;\n const idx4 = ((crc1 ^ data[i++]) & 255) << 1;\n const idx5 = (((crc1 >>> 8) ^ data[i++]) & 255) << 1;\n const idx6 = (((crc1 >>> 16) ^ data[i++]) & 255) << 1;\n const idx7 = (((crc1 >>> 24) ^ data[i++]) & 255) << 1;\n crc1 = t7[idx0] ^ t6[idx1] ^ t5[idx2] ^ t4[idx3] ^ t3[idx4] ^ t2[idx5] ^ t1[idx6] ^ t0[idx7];\n crc2 =\n t7[idx0 + 1] ^\n t6[idx1 + 1] ^\n t5[idx2 + 1] ^\n t4[idx3 + 1] ^\n t3[idx4 + 1] ^\n t2[idx5 + 1] ^\n t1[idx6 + 1] ^\n t0[idx7 + 1];\n }\n while (i < len) {\n const idx = ((crc2 ^ data[i]) & 255) << 1;\n crc2 = ((crc2 >>> 8) | ((crc1 & 255) << 24)) >>> 0;\n crc1 = (crc1 >>> 8) ^ t0[idx];\n crc2 ^= t0[idx + 1];\n i++;\n }\n this.c1 = crc1;\n this.c2 = crc2;\n }\n async digest() {\n const c1 = this.c1 ^ 4294967295;\n const c2 = this.c2 ^ 4294967295;\n return new Uint8Array([\n c1 >>> 24,\n (c1 >>> 16) & 255,\n (c1 >>> 8) & 255,\n c1 & 255,\n c2 >>> 24,\n (c2 >>> 16) & 255,\n (c2 >>> 8) & 255,\n c2 & 255,\n ]);\n }\n reset() {\n this.c1 = 4294967295;\n this.c2 = 4294967295;\n }\n}\n",
|
|
247
|
+
"export const crc64NvmeCrtContainer = {\n CrtCrc64Nvme: null,\n};\n",
|
|
248
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __awaiter, __generator } from \"tslib\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32 } from \"./index\";\nvar AwsCrc32 = /** @class */ (function () {\n function AwsCrc32() {\n this.crc32 = new Crc32();\n }\n AwsCrc32.prototype.update = function (toHash) {\n if (isEmptyData(toHash))\n return;\n this.crc32.update(convertToBuffer(toHash));\n };\n AwsCrc32.prototype.digest = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, numToUint8(this.crc32.digest())];\n });\n });\n };\n AwsCrc32.prototype.reset = function () {\n this.crc32 = new Crc32();\n };\n return AwsCrc32;\n}());\nexport { AwsCrc32 };\n//# sourceMappingURL=aws_crc32.js.map",
|
|
249
|
+
"import { __values } from \"tslib\";\nimport { uint32ArrayFrom } from \"@aws-crypto/util\";\nexport function crc32(data) {\n return new Crc32().update(data).digest();\n}\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexport { Crc32 };\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = uint32ArrayFrom(a_lookUpTable);\nexport { AwsCrc32 } from \"./aws_crc32\";\n//# sourceMappingURL=index.js.map",
|
|
250
|
+
"import { AwsCrc32 } from \"@aws-crypto/crc32\";\nimport { numToUint8 } from \"@aws-crypto/util\";\nimport * as zlib from \"node:zlib\";\nclass NodeCrc32 {\n checksum = 0;\n update(data) {\n this.checksum = zlib.crc32(data, this.checksum);\n }\n async digest() {\n return numToUint8(this.checksum);\n }\n reset() {\n this.checksum = 0;\n }\n}\nexport const getCrc32ChecksumAlgorithmFunction = () => {\n if (typeof zlib.crc32 === \"undefined\") {\n return AwsCrc32;\n }\n return NodeCrc32;\n};\n",
|
|
251
|
+
"import { ChecksumAlgorithm } from \"./constants\";\nexport const CLIENT_SUPPORTED_ALGORITHMS = [\n ChecksumAlgorithm.CRC32,\n ChecksumAlgorithm.CRC32C,\n ChecksumAlgorithm.CRC64NVME,\n ChecksumAlgorithm.SHA1,\n ChecksumAlgorithm.SHA256,\n];\nexport const PRIORITY_ORDER_ALGORITHMS = [\n ChecksumAlgorithm.SHA256,\n ChecksumAlgorithm.SHA1,\n ChecksumAlgorithm.CRC32,\n ChecksumAlgorithm.CRC32C,\n ChecksumAlgorithm.CRC64NVME,\n];\n",
|
|
252
|
+
"import { AwsCrc32c } from \"@aws-crypto/crc32c\";\nimport { Crc64Nvme, crc64NvmeCrtContainer } from \"@aws-sdk/crc64-nvme\";\nimport { ChecksumAlgorithm } from \"./constants\";\nimport { getCrc32ChecksumAlgorithmFunction } from \"./getCrc32ChecksumAlgorithmFunction\";\nimport { CLIENT_SUPPORTED_ALGORITHMS } from \"./types\";\nexport const selectChecksumAlgorithmFunction = (checksumAlgorithm, config) => {\n const { checksumAlgorithms = {} } = config;\n switch (checksumAlgorithm) {\n case ChecksumAlgorithm.MD5:\n return checksumAlgorithms?.MD5 ?? config.md5;\n case ChecksumAlgorithm.CRC32:\n return checksumAlgorithms?.CRC32 ?? getCrc32ChecksumAlgorithmFunction();\n case ChecksumAlgorithm.CRC32C:\n return checksumAlgorithms?.CRC32C ?? AwsCrc32c;\n case ChecksumAlgorithm.CRC64NVME:\n if (typeof crc64NvmeCrtContainer.CrtCrc64Nvme !== \"function\") {\n return checksumAlgorithms?.CRC64NVME ?? Crc64Nvme;\n }\n return checksumAlgorithms?.CRC64NVME ?? crc64NvmeCrtContainer.CrtCrc64Nvme;\n case ChecksumAlgorithm.SHA1:\n return checksumAlgorithms?.SHA1 ?? config.sha1;\n case ChecksumAlgorithm.SHA256:\n return checksumAlgorithms?.SHA256 ?? config.sha256;\n default:\n if (checksumAlgorithms?.[checksumAlgorithm]) {\n return checksumAlgorithms[checksumAlgorithm];\n }\n throw new Error(`The checksum algorithm \"${checksumAlgorithm}\" is not supported by the client.` +\n ` Select one of ${CLIENT_SUPPORTED_ALGORITHMS}, or provide an implementation to ` +\n ` the client constructor checksums field.`);\n }\n};\n",
|
|
253
|
+
"import { toUint8Array } from \"@smithy/util-utf8\";\nexport const stringHasher = (checksumAlgorithmFn, body) => {\n const hash = new checksumAlgorithmFn();\n hash.update(toUint8Array(body || \"\"));\n return hash.digest();\n};\n",
|
|
254
|
+
"import { setFeature } from \"@aws-sdk/core\";\nimport { RequestChecksumCalculation, ResponseChecksumValidation } from \"./constants\";\nexport const flexibleChecksumsInputMiddlewareOptions = {\n name: \"flexibleChecksumsInputMiddleware\",\n toMiddleware: \"serializerMiddleware\",\n relation: \"before\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsInputMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n const input = args.input;\n const { requestValidationModeMember } = middlewareConfig;\n const requestChecksumCalculation = await config.requestChecksumCalculation();\n const responseChecksumValidation = await config.responseChecksumValidation();\n switch (requestChecksumCalculation) {\n case RequestChecksumCalculation.WHEN_REQUIRED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED\", \"a\");\n break;\n case RequestChecksumCalculation.WHEN_SUPPORTED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED\", \"Z\");\n break;\n }\n switch (responseChecksumValidation) {\n case ResponseChecksumValidation.WHEN_REQUIRED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED\", \"c\");\n break;\n case ResponseChecksumValidation.WHEN_SUPPORTED:\n setFeature(context, \"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED\", \"b\");\n break;\n }\n if (requestValidationModeMember && !input[requestValidationModeMember]) {\n if (responseChecksumValidation === ResponseChecksumValidation.WHEN_SUPPORTED) {\n input[requestValidationModeMember] = \"ENABLED\";\n }\n }\n return next(args);\n};\n",
|
|
255
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getChecksumAlgorithmListForResponse } from \"./getChecksumAlgorithmListForResponse\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { isChecksumWithPartNumber } from \"./isChecksumWithPartNumber\";\nimport { validateChecksumFromResponse } from \"./validateChecksumFromResponse\";\nexport const flexibleChecksumsResponseMiddlewareOptions = {\n name: \"flexibleChecksumsResponseMiddleware\",\n toMiddleware: \"deserializerMiddleware\",\n relation: \"after\",\n tags: [\"BODY_CHECKSUM\"],\n override: true,\n};\nexport const flexibleChecksumsResponseMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const input = args.input;\n const result = await next(args);\n const response = result.response;\n const { requestValidationModeMember, responseAlgorithms } = middlewareConfig;\n if (requestValidationModeMember && input[requestValidationModeMember] === \"ENABLED\") {\n const { clientName, commandName } = context;\n const customChecksumAlgorithms = Object.keys(config.checksumAlgorithms ?? {}).filter((algorithm) => {\n const responseHeader = getChecksumLocationName(algorithm);\n return response.headers[responseHeader] !== undefined;\n });\n const algoList = getChecksumAlgorithmListForResponse([\n ...(responseAlgorithms ?? []),\n ...customChecksumAlgorithms,\n ]);\n const isS3WholeObjectMultipartGetResponseChecksum = clientName === \"S3Client\" &&\n commandName === \"GetObjectCommand\" &&\n algoList.every((algorithm) => {\n const responseHeader = getChecksumLocationName(algorithm);\n const checksumFromResponse = response.headers[responseHeader];\n return !checksumFromResponse || isChecksumWithPartNumber(checksumFromResponse);\n });\n if (isS3WholeObjectMultipartGetResponseChecksum) {\n return result;\n }\n await validateChecksumFromResponse(response, {\n config,\n responseAlgorithms: algoList,\n logger: context.logger,\n });\n }\n return result;\n};\n",
|
|
256
|
+
"import { PRIORITY_ORDER_ALGORITHMS } from \"./types\";\nexport const getChecksumAlgorithmListForResponse = (responseAlgorithms = []) => {\n const validChecksumAlgorithms = [];\n let i = PRIORITY_ORDER_ALGORITHMS.length;\n for (const algorithm of responseAlgorithms) {\n const priority = PRIORITY_ORDER_ALGORITHMS.indexOf(algorithm);\n if (priority !== -1) {\n validChecksumAlgorithms[priority] = algorithm;\n }\n else {\n validChecksumAlgorithms[i++] = algorithm;\n }\n }\n return validChecksumAlgorithms.filter(Boolean);\n};\n",
|
|
257
|
+
"export const isChecksumWithPartNumber = (checksum) => {\n const lastHyphenIndex = checksum.lastIndexOf(\"-\");\n if (lastHyphenIndex !== -1) {\n const numberPart = checksum.slice(lastHyphenIndex + 1);\n if (!numberPart.startsWith(\"0\")) {\n const number = parseInt(numberPart, 10);\n if (!isNaN(number) && number >= 1 && number <= 10000) {\n return true;\n }\n }\n }\n return false;\n};\n",
|
|
258
|
+
"import { createChecksumStream } from \"@smithy/util-stream\";\nimport { ChecksumAlgorithm } from \"./constants\";\nimport { getChecksum } from \"./getChecksum\";\nimport { getChecksumAlgorithmListForResponse } from \"./getChecksumAlgorithmListForResponse\";\nimport { getChecksumLocationName } from \"./getChecksumLocationName\";\nimport { isStreaming } from \"./isStreaming\";\nimport { selectChecksumAlgorithmFunction } from \"./selectChecksumAlgorithmFunction\";\nexport const validateChecksumFromResponse = async (response, { config, responseAlgorithms, logger }) => {\n const checksumAlgorithms = getChecksumAlgorithmListForResponse(responseAlgorithms);\n const { body: responseBody, headers: responseHeaders } = response;\n for (const algorithm of checksumAlgorithms) {\n const responseHeader = getChecksumLocationName(algorithm);\n const checksumFromResponse = responseHeaders[responseHeader];\n if (checksumFromResponse) {\n let checksumAlgorithmFn;\n try {\n checksumAlgorithmFn = selectChecksumAlgorithmFunction(algorithm, config);\n }\n catch (error) {\n if (algorithm === ChecksumAlgorithm.CRC64NVME) {\n logger?.warn(`Skipping ${ChecksumAlgorithm.CRC64NVME} checksum validation: ${error.message}`);\n continue;\n }\n throw error;\n }\n const { base64Encoder } = config;\n if (isStreaming(responseBody)) {\n response.body = createChecksumStream({\n expectedChecksum: checksumFromResponse,\n checksumSourceLocation: responseHeader,\n checksum: new checksumAlgorithmFn(),\n source: responseBody,\n base64Encoder,\n });\n return;\n }\n const checksum = await getChecksum(responseBody, { checksumAlgorithmFn, base64Encoder });\n if (checksum === checksumFromResponse) {\n break;\n }\n throw new Error(`Checksum mismatch: expected \"${checksum}\" but received \"${checksumFromResponse}\"` +\n ` in response header \"${responseHeader}\".`);\n }\n }\n};\n",
|
|
259
|
+
"import { stringHasher } from \"./stringHasher\";\nexport const getChecksum = async (body, { checksumAlgorithmFn, base64Encoder }) => base64Encoder(await stringHasher(checksumAlgorithmFn, body));\n",
|
|
260
|
+
"import { flexibleChecksumsInputMiddleware, flexibleChecksumsInputMiddlewareOptions, } from \"./flexibleChecksumsInputMiddleware\";\nimport { flexibleChecksumsMiddleware, flexibleChecksumsMiddlewareOptions } from \"./flexibleChecksumsMiddleware\";\nimport { flexibleChecksumsResponseMiddleware, flexibleChecksumsResponseMiddlewareOptions, } from \"./flexibleChecksumsResponseMiddleware\";\nexport const getFlexibleChecksumsPlugin = (config, middlewareConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add(flexibleChecksumsMiddleware(config, middlewareConfig), flexibleChecksumsMiddlewareOptions);\n clientStack.addRelativeTo(flexibleChecksumsInputMiddleware(config, middlewareConfig), flexibleChecksumsInputMiddlewareOptions);\n clientStack.addRelativeTo(flexibleChecksumsResponseMiddleware(config, middlewareConfig), flexibleChecksumsResponseMiddlewareOptions);\n },\n});\n",
|
|
261
|
+
"import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { DEFAULT_REQUEST_CHECKSUM_CALCULATION, DEFAULT_RESPONSE_CHECKSUM_VALIDATION } from \"./constants\";\nexport const resolveFlexibleChecksumsConfig = (input) => {\n const { requestChecksumCalculation, responseChecksumValidation, requestStreamBufferSize } = input;\n return Object.assign(input, {\n requestChecksumCalculation: normalizeProvider(requestChecksumCalculation ?? DEFAULT_REQUEST_CHECKSUM_CALCULATION),\n responseChecksumValidation: normalizeProvider(responseChecksumValidation ?? DEFAULT_RESPONSE_CHECKSUM_VALIDATION),\n requestStreamBufferSize: Number(requestStreamBufferSize ?? 0),\n checksumAlgorithms: input.checksumAlgorithms ?? {},\n });\n};\n",
|
|
262
|
+
"import { getAddExpectContinuePlugin } from \"@aws-sdk/middleware-expect-continue\";\nimport { resolveFlexibleChecksumsConfig, } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getRegionRedirectMiddlewarePlugin, getS3ExpressHttpSigningPlugin, getS3ExpressPlugin, getValidateBucketNamePlugin, resolveS3Config, } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getSchemaSerdePlugin } from \"@smithy/core/schema\";\nimport { resolveEventStreamSerdeConfig, } from \"@smithy/eventstream-serde-config-resolver\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig, } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig, } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultS3HttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { CreateSessionCommand, } from \"./commands/CreateSessionCommand\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class S3Client extends __Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveUserAgentConfig(_config_1);\n const _config_3 = resolveFlexibleChecksumsConfig(_config_2);\n const _config_4 = resolveRetryConfig(_config_3);\n const _config_5 = resolveRegionConfig(_config_4);\n const _config_6 = resolveHostHeaderConfig(_config_5);\n const _config_7 = resolveEndpointConfig(_config_6);\n const _config_8 = resolveEventStreamSerdeConfig(_config_7);\n const _config_9 = resolveHttpAuthSchemeConfig(_config_8);\n const _config_10 = resolveS3Config(_config_9, { session: [() => this, CreateSessionCommand] });\n const _config_11 = resolveRuntimeExtensions(_config_10, configuration?.extensions || []);\n this.config = _config_11;\n this.middlewareStack.use(getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultS3HttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n \"aws.auth#sigv4a\": config.credentials,\n }),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n this.middlewareStack.use(getValidateBucketNamePlugin(this.config));\n this.middlewareStack.use(getAddExpectContinuePlugin(this.config));\n this.middlewareStack.use(getRegionRedirectMiddlewarePlugin(this.config));\n this.middlewareStack.use(getS3ExpressPlugin(this.config));\n this.middlewareStack.use(getS3ExpressHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n",
|
|
263
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nconst DECODED_CONTENT_LENGTH_HEADER = \"x-amz-decoded-content-length\";\nexport function checkContentLengthHeader() {\n return (next, context) => async (args) => {\n const { request } = args;\n if (HttpRequest.isInstance(request)) {\n if (!(CONTENT_LENGTH_HEADER in request.headers) && !(DECODED_CONTENT_LENGTH_HEADER in request.headers)) {\n const message = `Are you using a Stream of unknown length as the Body of a PutObject request? Consider using Upload instead from @aws-sdk/lib-storage.`;\n if (typeof context?.logger?.warn === \"function\" && !(context.logger instanceof NoOpLogger)) {\n context.logger.warn(message);\n }\n else {\n console.warn(message);\n }\n }\n }\n return next({ ...args });\n };\n}\nexport const checkContentLengthHeaderMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"CHECK_CONTENT_LENGTH_HEADER\"],\n name: \"getCheckContentLengthHeaderPlugin\",\n override: true,\n};\nexport const getCheckContentLengthHeaderPlugin = (unused) => ({\n applyToStack: (clientStack) => {\n clientStack.add(checkContentLengthHeader(), checkContentLengthHeaderMiddlewareOptions);\n },\n});\n",
|
|
264
|
+
"export const regionRedirectEndpointMiddleware = (config) => {\n return (next, context) => async (args) => {\n const originalRegion = await config.region();\n const regionProviderRef = config.region;\n let unlock = () => { };\n if (context.__s3RegionRedirect) {\n Object.defineProperty(config, \"region\", {\n writable: false,\n value: async () => {\n return context.__s3RegionRedirect;\n },\n });\n unlock = () => Object.defineProperty(config, \"region\", {\n writable: true,\n value: regionProviderRef,\n });\n }\n try {\n const result = await next(args);\n if (context.__s3RegionRedirect) {\n unlock();\n const region = await config.region();\n if (originalRegion !== region) {\n throw new Error(\"Region was not restored following S3 region redirect.\");\n }\n }\n return result;\n }\n catch (e) {\n unlock();\n throw e;\n }\n };\n};\nexport const regionRedirectEndpointMiddlewareOptions = {\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectEndpointMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\n",
|
|
265
|
+
"import { regionRedirectEndpointMiddleware, regionRedirectEndpointMiddlewareOptions, } from \"./region-redirect-endpoint-middleware\";\nexport function regionRedirectMiddleware(clientConfig) {\n return (next, context) => async (args) => {\n try {\n return await next(args);\n }\n catch (err) {\n if (clientConfig.followRegionRedirects) {\n const statusCode = err?.$metadata?.httpStatusCode;\n const isHeadBucket = context.commandName === \"HeadBucketCommand\";\n const bucketRegionHeader = err?.$response?.headers?.[\"x-amz-bucket-region\"];\n if (bucketRegionHeader) {\n if (statusCode === 301 ||\n (statusCode === 400 && (err?.name === \"IllegalLocationConstraintException\" || isHeadBucket))) {\n try {\n const actualRegion = bucketRegionHeader;\n context.logger?.debug(`Redirecting from ${await clientConfig.region()} to ${actualRegion}`);\n context.__s3RegionRedirect = actualRegion;\n }\n catch (e) {\n throw new Error(\"Region redirect failed: \" + e);\n }\n return next(args);\n }\n }\n }\n throw err;\n }\n };\n}\nexport const regionRedirectMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"REGION_REDIRECT\", \"S3\"],\n name: \"regionRedirectMiddleware\",\n override: true,\n};\nexport const getRegionRedirectMiddlewarePlugin = (clientConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.add(regionRedirectMiddleware(clientConfig), regionRedirectMiddlewareOptions);\n clientStack.addRelativeTo(regionRedirectEndpointMiddleware(clientConfig), regionRedirectEndpointMiddlewareOptions);\n },\n});\n",
|
|
266
|
+
"import { HttpResponse } from \"@smithy/protocol-http\";\nimport { parseRfc7231DateTime } from \"@smithy/smithy-client\";\nexport const s3ExpiresMiddleware = (config) => {\n return (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (HttpResponse.isInstance(response)) {\n if (response.headers.expires) {\n response.headers.expiresstring = response.headers.expires;\n try {\n parseRfc7231DateTime(response.headers.expires);\n }\n catch (e) {\n context.logger?.warn(`AWS SDK Warning for ${context.clientName}::${context.commandName} response parsing (${response.headers.expires}): ${e}`);\n delete response.headers.expires;\n }\n }\n }\n return result;\n };\n};\nexport const s3ExpiresMiddlewareOptions = {\n tags: [\"S3\"],\n name: \"s3ExpiresMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n};\nexport const getS3ExpiresMiddlewarePlugin = (clientConfig) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(s3ExpiresMiddleware(clientConfig), s3ExpiresMiddlewareOptions);\n },\n});\n",
|
|
267
|
+
"export class S3ExpressIdentityCache {\n data;\n lastPurgeTime = Date.now();\n static EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS = 30_000;\n constructor(data = {}) {\n this.data = data;\n }\n get(key) {\n const entry = this.data[key];\n if (!entry) {\n return;\n }\n return entry;\n }\n set(key, entry) {\n this.data[key] = entry;\n return entry;\n }\n delete(key) {\n delete this.data[key];\n }\n async purgeExpired() {\n const now = Date.now();\n if (this.lastPurgeTime + S3ExpressIdentityCache.EXPIRED_CREDENTIAL_PURGE_INTERVAL_MS > now) {\n return;\n }\n for (const key in this.data) {\n const entry = this.data[key];\n if (!entry.isRefreshing) {\n const credential = await entry.identity;\n if (credential.expiration) {\n if (credential.expiration.getTime() < now) {\n delete this.data[key];\n }\n }\n }\n }\n }\n}\n",
|
|
268
|
+
"export class S3ExpressIdentityCacheEntry {\n _identity;\n isRefreshing;\n accessed;\n constructor(_identity, isRefreshing = false, accessed = Date.now()) {\n this._identity = _identity;\n this.isRefreshing = isRefreshing;\n this.accessed = accessed;\n }\n get identity() {\n this.accessed = Date.now();\n return this._identity;\n }\n}\n",
|
|
269
|
+
"import { S3ExpressIdentityCache } from \"./S3ExpressIdentityCache\";\nimport { S3ExpressIdentityCacheEntry } from \"./S3ExpressIdentityCacheEntry\";\nexport class S3ExpressIdentityProviderImpl {\n createSessionFn;\n cache;\n static REFRESH_WINDOW_MS = 60_000;\n constructor(createSessionFn, cache = new S3ExpressIdentityCache()) {\n this.createSessionFn = createSessionFn;\n this.cache = cache;\n }\n async getS3ExpressIdentity(awsIdentity, identityProperties) {\n const key = identityProperties.Bucket;\n const { cache } = this;\n const entry = cache.get(key);\n if (entry) {\n return entry.identity.then((identity) => {\n const isExpired = (identity.expiration?.getTime() ?? 0) < Date.now();\n if (isExpired) {\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n const isExpiringSoon = (identity.expiration?.getTime() ?? 0) < Date.now() + S3ExpressIdentityProviderImpl.REFRESH_WINDOW_MS;\n if (isExpiringSoon && !entry.isRefreshing) {\n entry.isRefreshing = true;\n this.getIdentity(key).then((id) => {\n cache.set(key, new S3ExpressIdentityCacheEntry(Promise.resolve(id)));\n });\n }\n return identity;\n });\n }\n return cache.set(key, new S3ExpressIdentityCacheEntry(this.getIdentity(key))).identity;\n }\n async getIdentity(key) {\n await this.cache.purgeExpired().catch((error) => {\n console.warn(\"Error while clearing expired entries in S3ExpressIdentityCache: \\n\" + error);\n });\n const session = await this.createSessionFn(key);\n if (!session.Credentials?.AccessKeyId || !session.Credentials?.SecretAccessKey) {\n throw new Error(\"s3#createSession response credential missing AccessKeyId or SecretAccessKey.\");\n }\n const identity = {\n accessKeyId: session.Credentials.AccessKeyId,\n secretAccessKey: session.Credentials.SecretAccessKey,\n sessionToken: session.Credentials.SessionToken,\n expiration: session.Credentials.Expiration ? new Date(session.Credentials.Expiration) : undefined,\n };\n return identity;\n }\n}\n",
|
|
270
|
+
"import { SignatureV4 } from \"@smithy/signature-v4\";\nimport { SESSION_TOKEN_HEADER, SESSION_TOKEN_QUERY_PARAM } from \"../constants\";\nexport class SignatureV4S3Express extends SignatureV4 {\n async signWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n requestToSign.headers[SESSION_TOKEN_HEADER] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return privateAccess.signRequest(requestToSign, options ?? {});\n }\n async presignWithCredentials(requestToSign, credentials, options) {\n const credentialsWithoutSessionToken = getCredentialsWithoutSessionToken(credentials);\n delete requestToSign.headers[SESSION_TOKEN_HEADER];\n requestToSign.headers[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n requestToSign.query = requestToSign.query ?? {};\n requestToSign.query[SESSION_TOKEN_QUERY_PARAM] = credentials.sessionToken;\n const privateAccess = this;\n setSingleOverride(privateAccess, credentialsWithoutSessionToken);\n return this.presign(requestToSign, options);\n }\n}\nfunction getCredentialsWithoutSessionToken(credentials) {\n const credentialsWithoutSessionToken = {\n accessKeyId: credentials.accessKeyId,\n secretAccessKey: credentials.secretAccessKey,\n expiration: credentials.expiration,\n };\n return credentialsWithoutSessionToken;\n}\nfunction setSingleOverride(privateAccess, credentialsWithoutSessionToken) {\n const id = setTimeout(() => {\n throw new Error(\"SignatureV4S3Express credential override was created but not called.\");\n }, 10);\n const currentCredentialProvider = privateAccess.credentialProvider;\n const overrideCredentialsProviderOnce = () => {\n clearTimeout(id);\n privateAccess.credentialProvider = currentCredentialProvider;\n return Promise.resolve(credentialsWithoutSessionToken);\n };\n privateAccess.credentialProvider = overrideCredentialsProviderOnce;\n}\n",
|
|
271
|
+
"import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const S3_EXPRESS_BUCKET_TYPE = \"Directory\";\nexport const S3_EXPRESS_BACKEND = \"S3Express\";\nexport const S3_EXPRESS_AUTH_SCHEME = \"sigv4-s3express\";\nexport const SESSION_TOKEN_QUERY_PARAM = \"X-Amz-S3session-Token\";\nexport const SESSION_TOKEN_HEADER = SESSION_TOKEN_QUERY_PARAM.toLowerCase();\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME = \"AWS_S3_DISABLE_EXPRESS_SESSION_AUTH\";\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME = \"s3_disable_express_session_auth\";\nexport const NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_ENV_NAME, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_INI_NAME, SelectorType.CONFIG),\n default: false,\n};\n",
|
|
272
|
+
"import { setFeature } from \"@aws-sdk/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { S3_EXPRESS_AUTH_SCHEME, S3_EXPRESS_BACKEND, S3_EXPRESS_BUCKET_TYPE, SESSION_TOKEN_HEADER } from \"../constants\";\nexport const s3ExpressMiddleware = (options) => {\n return (next, context) => async (args) => {\n if (context.endpointV2) {\n const endpoint = context.endpointV2;\n const isS3ExpressAuth = endpoint.properties?.authSchemes?.[0]?.name === S3_EXPRESS_AUTH_SCHEME;\n const isS3ExpressBucket = endpoint.properties?.backend === S3_EXPRESS_BACKEND ||\n endpoint.properties?.bucketType === S3_EXPRESS_BUCKET_TYPE;\n if (isS3ExpressBucket) {\n setFeature(context, \"S3_EXPRESS_BUCKET\", \"J\");\n context.isS3ExpressBucket = true;\n }\n if (isS3ExpressAuth) {\n const requestBucket = args.input.Bucket;\n if (requestBucket) {\n const s3ExpressIdentity = await options.s3ExpressIdentityProvider.getS3ExpressIdentity(await options.credentials(), {\n Bucket: requestBucket,\n });\n context.s3ExpressIdentity = s3ExpressIdentity;\n if (HttpRequest.isInstance(args.request) && s3ExpressIdentity.sessionToken) {\n args.request.headers[SESSION_TOKEN_HEADER] = s3ExpressIdentity.sessionToken;\n }\n }\n }\n }\n return next(args);\n };\n};\nexport const s3ExpressMiddlewareOptions = {\n name: \"s3ExpressMiddleware\",\n step: \"build\",\n tags: [\"S3\", \"S3_EXPRESS\"],\n override: true,\n};\nexport const getS3ExpressPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(s3ExpressMiddleware(options), s3ExpressMiddlewareOptions);\n },\n});\n",
|
|
273
|
+
"import { httpSigningMiddlewareOptions } from \"@smithy/core\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { signS3Express } from \"./signS3Express\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const s3ExpressHttpSigningMiddlewareOptions = httpSigningMiddlewareOptions;\nexport const s3ExpressHttpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n let request;\n if (context.s3ExpressIdentity) {\n request = await signS3Express(context.s3ExpressIdentity, signingProperties, args.request, await config.signer());\n }\n else {\n request = await signer.sign(args.request, identity, signingProperties);\n }\n const output = await next({\n ...args,\n request,\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\nexport const getS3ExpressHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(s3ExpressHttpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n",
|
|
274
|
+
"export const signS3Express = async (s3ExpressIdentity, signingOptions, request, sigV4MultiRegionSigner) => {\n const signedRequest = await sigV4MultiRegionSigner.signWithCredentials(request, s3ExpressIdentity, {});\n if (signedRequest.headers[\"X-Amz-Security-Token\"] || signedRequest.headers[\"x-amz-security-token\"]) {\n throw new Error(\"X-Amz-Security-Token must not be set for s3-express requests.\");\n }\n return signedRequest;\n};\n",
|
|
275
|
+
"import { S3ExpressIdentityProviderImpl } from \"./s3-express\";\nexport const resolveS3Config = (input, { session, }) => {\n const [s3ClientProvider, CreateSessionCommandCtor] = session;\n const { forcePathStyle, useAccelerateEndpoint, disableMultiregionAccessPoints, followRegionRedirects, s3ExpressIdentityProvider, bucketEndpoint, expectContinueHeader, } = input;\n return Object.assign(input, {\n forcePathStyle: forcePathStyle ?? false,\n useAccelerateEndpoint: useAccelerateEndpoint ?? false,\n disableMultiregionAccessPoints: disableMultiregionAccessPoints ?? false,\n followRegionRedirects: followRegionRedirects ?? false,\n s3ExpressIdentityProvider: s3ExpressIdentityProvider ??\n new S3ExpressIdentityProviderImpl(async (key) => s3ClientProvider().send(new CreateSessionCommandCtor({\n Bucket: key,\n }))),\n bucketEndpoint: bucketEndpoint ?? false,\n expectContinueHeader: expectContinueHeader ?? 2_097_152,\n });\n};\n",
|
|
276
|
+
"import { HttpResponse } from \"@smithy/protocol-http\";\nimport { headStream, splitStream } from \"@smithy/util-stream\";\nconst THROW_IF_EMPTY_BODY = {\n CopyObjectCommand: true,\n UploadPartCopyCommand: true,\n CompleteMultipartUploadCommand: true,\n};\nconst MAX_BYTES_TO_INSPECT = 3000;\nexport const throw200ExceptionsMiddleware = (config) => (next, context) => async (args) => {\n const result = await next(args);\n const { response } = result;\n if (!HttpResponse.isInstance(response)) {\n return result;\n }\n const { statusCode, body: sourceBody } = response;\n if (statusCode < 200 || statusCode >= 300) {\n return result;\n }\n const isSplittableStream = typeof sourceBody?.stream === \"function\" ||\n typeof sourceBody?.pipe === \"function\" ||\n typeof sourceBody?.tee === \"function\";\n if (!isSplittableStream) {\n return result;\n }\n let bodyCopy = sourceBody;\n let body = sourceBody;\n if (sourceBody && typeof sourceBody === \"object\" && !(sourceBody instanceof Uint8Array)) {\n [bodyCopy, body] = await splitStream(sourceBody);\n }\n response.body = body;\n const bodyBytes = await collectBody(bodyCopy, {\n streamCollector: async (stream) => {\n return headStream(stream, MAX_BYTES_TO_INSPECT);\n },\n });\n if (typeof bodyCopy?.destroy === \"function\") {\n bodyCopy.destroy();\n }\n const bodyStringTail = config.utf8Encoder(bodyBytes.subarray(bodyBytes.length - 16));\n if (bodyBytes.length === 0 && THROW_IF_EMPTY_BODY[context.commandName]) {\n const err = new Error(\"S3 aborted request\");\n err.name = \"InternalError\";\n throw err;\n }\n if (bodyStringTail && bodyStringTail.endsWith(\"</Error>\")) {\n response.statusCode = 400;\n }\n return result;\n};\nconst collectBody = (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\nexport const throw200ExceptionsMiddlewareOptions = {\n relation: \"after\",\n toMiddleware: \"deserializerMiddleware\",\n tags: [\"THROW_200_EXCEPTIONS\", \"S3\"],\n name: \"throw200ExceptionsMiddleware\",\n override: true,\n};\nexport const getThrow200ExceptionsPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(throw200ExceptionsMiddleware(config), throw200ExceptionsMiddlewareOptions);\n },\n});\n",
|
|
277
|
+
"export const validate = (str) => typeof str === \"string\" && str.indexOf(\"arn:\") === 0 && str.split(\":\").length >= 6;\nexport const parse = (arn) => {\n const segments = arn.split(\":\");\n if (segments.length < 6 || segments[0] !== \"arn\")\n throw new Error(\"Malformed ARN\");\n const [, partition, service, region, accountId, ...resource] = segments;\n return {\n partition,\n service,\n region,\n accountId,\n resource: resource.join(\":\"),\n };\n};\nexport const build = (arnObject) => {\n const { partition = \"aws\", service, region, accountId, resource } = arnObject;\n if ([service, region, accountId, resource].some((segment) => typeof segment !== \"string\")) {\n throw new Error(\"Input ARN object is invalid\");\n }\n return `arn:${partition}:${service}:${region}:${accountId}:${resource}`;\n};\n",
|
|
278
|
+
"export function bucketEndpointMiddleware(options) {\n return (next, context) => async (args) => {\n if (options.bucketEndpoint) {\n const endpoint = context.endpointV2;\n if (endpoint) {\n const bucket = args.input.Bucket;\n if (typeof bucket === \"string\") {\n try {\n const bucketEndpointUrl = new URL(bucket);\n context.endpointV2 = {\n ...endpoint,\n url: bucketEndpointUrl,\n };\n }\n catch (e) {\n const warning = `@aws-sdk/middleware-sdk-s3: bucketEndpoint=true was set but Bucket=${bucket} could not be parsed as URL.`;\n if (context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(warning);\n }\n else {\n context.logger?.warn?.(warning);\n }\n throw e;\n }\n }\n }\n }\n return next(args);\n };\n}\nexport const bucketEndpointMiddlewareOptions = {\n name: \"bucketEndpointMiddleware\",\n override: true,\n relation: \"after\",\n toMiddleware: \"endpointV2Middleware\",\n};\n",
|
|
279
|
+
"import { validate as validateArn } from \"@aws-sdk/util-arn-parser\";\nimport { bucketEndpointMiddleware, bucketEndpointMiddlewareOptions } from \"./bucket-endpoint-middleware\";\nexport function validateBucketNameMiddleware({ bucketEndpoint }) {\n return (next) => async (args) => {\n const { input: { Bucket }, } = args;\n if (!bucketEndpoint && typeof Bucket === \"string\" && !validateArn(Bucket) && Bucket.indexOf(\"/\") >= 0) {\n const err = new Error(`Bucket name shouldn't contain '/', received '${Bucket}'`);\n err.name = \"InvalidBucketName\";\n throw err;\n }\n return next({ ...args });\n };\n}\nexport const validateBucketNameMiddlewareOptions = {\n step: \"initialize\",\n tags: [\"VALIDATE_BUCKET_NAME\"],\n name: \"validateBucketNameMiddleware\",\n override: true,\n};\nexport const getValidateBucketNamePlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(validateBucketNameMiddleware(options), validateBucketNameMiddlewareOptions);\n clientStack.addRelativeTo(bucketEndpointMiddleware(options), bucketEndpointMiddlewareOptions);\n },\n});\n",
|
|
280
|
+
"export const resolveEventStreamSerdeConfig = (input) => Object.assign(input, {\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n",
|
|
281
|
+
"import { resolveAwsSdkSigV4AConfig, resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { resolveParams } from \"@smithy/middleware-endpoint\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nimport { defaultEndpointResolver } from \"../endpoint/endpointResolver\";\nconst createEndpointRuleSetHttpAuthSchemeParametersProvider = (defaultHttpAuthSchemeParametersProvider) => async (config, context, input) => {\n if (!input) {\n throw new Error(\"Could not find `input` for `defaultEndpointRuleSetHttpAuthSchemeParametersProvider`\");\n }\n const defaultParameters = await defaultHttpAuthSchemeParametersProvider(config, context, input);\n const instructionsFn = getSmithyContext(context)?.commandInstance?.constructor\n ?.getEndpointParameterInstructions;\n if (!instructionsFn) {\n throw new Error(`getEndpointParameterInstructions() is not defined on '${context.commandName}'`);\n }\n const endpointParameters = await resolveParams(input, { getEndpointParameterInstructions: instructionsFn }, config);\n return Object.assign(defaultParameters, endpointParameters);\n};\nconst _defaultS3HttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: await normalizeProvider(config.region)() || (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nexport const defaultS3HttpAuthSchemeParametersProvider = createEndpointRuleSetHttpAuthSchemeParametersProvider(_defaultS3HttpAuthSchemeParametersProvider);\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"s3\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createAwsAuthSigv4aHttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4a\",\n signingProperties: {\n name: \"s3\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nconst createEndpointRuleSetHttpAuthSchemeProvider = (defaultEndpointResolver, defaultHttpAuthSchemeResolver, createHttpAuthOptionFunctions) => {\n const endpointRuleSetHttpAuthSchemeProvider = (authParameters) => {\n const endpoint = defaultEndpointResolver(authParameters);\n const authSchemes = endpoint.properties?.authSchemes;\n if (!authSchemes) {\n return defaultHttpAuthSchemeResolver(authParameters);\n }\n const options = [];\n for (const scheme of authSchemes) {\n const { name: resolvedName, properties = {}, ...rest } = scheme;\n const name = resolvedName.toLowerCase();\n if (resolvedName !== name) {\n console.warn(`HttpAuthScheme has been normalized with lowercasing: '${resolvedName}' to '${name}'`);\n }\n let schemeId;\n if (name === \"sigv4a\") {\n schemeId = \"aws.auth#sigv4a\";\n const sigv4Present = authSchemes.find((s) => {\n const name = s.name.toLowerCase();\n return name !== \"sigv4a\" && name.startsWith(\"sigv4\");\n });\n if (SignatureV4MultiRegion.sigv4aDependency() === \"none\" && sigv4Present) {\n continue;\n }\n }\n else if (name.startsWith(\"sigv4\")) {\n schemeId = \"aws.auth#sigv4\";\n }\n else {\n throw new Error(`Unknown HttpAuthScheme found in '@smithy.rules#endpointRuleSet': '${name}'`);\n }\n const createOption = createHttpAuthOptionFunctions[schemeId];\n if (!createOption) {\n throw new Error(`Could not find HttpAuthOption create function for '${schemeId}'`);\n }\n const option = createOption(authParameters);\n option.schemeId = schemeId;\n option.signingProperties = { ...(option.signingProperties || {}), ...rest, ...properties };\n options.push(option);\n }\n return options;\n };\n return endpointRuleSetHttpAuthSchemeProvider;\n};\nconst _defaultS3HttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n options.push(createAwsAuthSigv4aHttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const defaultS3HttpAuthSchemeProvider = createEndpointRuleSetHttpAuthSchemeProvider(defaultEndpointResolver, _defaultS3HttpAuthSchemeProvider, {\n \"aws.auth#sigv4\": createAwsAuthSigv4HttpAuthOption,\n \"aws.auth#sigv4a\": createAwsAuthSigv4aHttpAuthOption,\n});\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n const config_1 = resolveAwsSdkSigV4AConfig(config_0);\n return Object.assign(config_1, {\n authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n",
|
|
282
|
+
"import { SignatureV4S3Express } from \"@aws-sdk/middleware-sdk-s3\";\nimport { signatureV4aContainer } from \"@smithy/signature-v4\";\nimport { signatureV4CrtContainer } from \"./signature-v4-crt-container\";\nexport class SignatureV4MultiRegion {\n sigv4aSigner;\n sigv4Signer;\n signerOptions;\n static sigv4aDependency() {\n if (typeof signatureV4CrtContainer.CrtSignerV4 === \"function\") {\n return \"crt\";\n }\n else if (typeof signatureV4aContainer.SignatureV4a === \"function\") {\n return \"js\";\n }\n return \"none\";\n }\n constructor(options) {\n this.sigv4Signer = new SignatureV4S3Express(options);\n this.signerOptions = options;\n }\n async sign(requestToSign, options = {}) {\n if (options.signingRegion === \"*\") {\n return this.getSigv4aSigner().sign(requestToSign, options);\n }\n return this.sigv4Signer.sign(requestToSign, options);\n }\n async signWithCredentials(requestToSign, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.signWithCredentials(requestToSign, credentials, options);\n }\n else {\n throw new Error(`signWithCredentials with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. ` +\n `Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. ` +\n `You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] ` +\n `or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. ` +\n `For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);\n }\n }\n return this.sigv4Signer.signWithCredentials(requestToSign, credentials, options);\n }\n async presign(originalRequest, options = {}) {\n if (options.signingRegion === \"*\") {\n const signer = this.getSigv4aSigner();\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n if (CrtSignerV4 && signer instanceof CrtSignerV4) {\n return signer.presign(originalRequest, options);\n }\n else {\n throw new Error(`presign with signingRegion '*' is only supported when using the CRT dependency @aws-sdk/signature-v4-crt. ` +\n `Please check whether you have installed the \"@aws-sdk/signature-v4-crt\" package explicitly. ` +\n `You must also register the package by calling [require(\"@aws-sdk/signature-v4-crt\");] ` +\n `or an ESM equivalent such as [import \"@aws-sdk/signature-v4-crt\";]. ` +\n `For more information please go to https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt`);\n }\n }\n return this.sigv4Signer.presign(originalRequest, options);\n }\n async presignWithCredentials(originalRequest, credentials, options = {}) {\n if (options.signingRegion === \"*\") {\n throw new Error(\"Method presignWithCredentials is not supported for [signingRegion=*].\");\n }\n return this.sigv4Signer.presignWithCredentials(originalRequest, credentials, options);\n }\n getSigv4aSigner() {\n if (!this.sigv4aSigner) {\n const CrtSignerV4 = signatureV4CrtContainer.CrtSignerV4;\n const JsSigV4aSigner = signatureV4aContainer.SignatureV4a;\n if (this.signerOptions.runtime === \"node\") {\n if (!CrtSignerV4 && !JsSigV4aSigner) {\n throw new Error(\"Neither CRT nor JS SigV4a implementation is available. \" +\n \"Please load either @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a. \" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\");\n }\n if (CrtSignerV4 && typeof CrtSignerV4 === \"function\") {\n this.sigv4aSigner = new CrtSignerV4({\n ...this.signerOptions,\n signingAlgorithm: 1,\n });\n }\n else if (JsSigV4aSigner && typeof JsSigV4aSigner === \"function\") {\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions,\n });\n }\n else {\n throw new Error(\"Available SigV4a implementation is not a valid constructor. \" +\n \"Please ensure you've properly imported @aws-sdk/signature-v4-crt or @aws-sdk/signature-v4a.\" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#functionality-requiring-aws-common-runtime-crt\");\n }\n }\n else {\n if (!JsSigV4aSigner || typeof JsSigV4aSigner !== \"function\") {\n throw new Error(\"JS SigV4a implementation is not available or not a valid constructor. \" +\n \"Please check whether you have installed the @aws-sdk/signature-v4a package explicitly. The CRT implementation is not available for browsers. \" +\n \"You must also register the package by calling [require('@aws-sdk/signature-v4a');] \" +\n \"or an ESM equivalent such as [import '@aws-sdk/signature-v4a';]. \" +\n \"For more information please go to \" +\n \"https://github.com/aws/aws-sdk-js-v3#using-javascript-non-crt-implementation-of-sigv4a\");\n }\n this.sigv4aSigner = new JsSigV4aSigner({\n ...this.signerOptions,\n });\n }\n }\n return this.sigv4aSigner;\n }\n}\n",
|
|
283
|
+
"export const signatureV4CrtContainer = {\n CrtSignerV4: null,\n};\n",
|
|
284
|
+
"import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, EndpointCache, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nconst cache = new EndpointCache({\n size: 50,\n params: [\n \"Accelerate\",\n \"Bucket\",\n \"DisableAccessPoints\",\n \"DisableMultiRegionAccessPoints\",\n \"DisableS3ExpressSessionAuth\",\n \"Endpoint\",\n \"ForcePathStyle\",\n \"Region\",\n \"UseArnRegion\",\n \"UseDualStack\",\n \"UseFIPS\",\n \"UseGlobalEndpoint\",\n \"UseObjectLambdaEndpoint\",\n \"UseS3ExpressControlEndpoint\",\n ],\n});\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n",
|
|
285
|
+
"const cs = \"required\", ct = \"type\", cu = \"rules\", cv = \"conditions\", cw = \"fn\", cx = \"argv\", cy = \"ref\", cz = \"assign\", cA = \"url\", cB = \"properties\", cC = \"backend\", cD = \"authSchemes\", cE = \"disableDoubleEncoding\", cF = \"signingName\", cG = \"signingRegion\", cH = \"headers\", cI = \"signingRegionSet\";\nconst a = 6, b = false, c = true, d = \"isSet\", e = \"booleanEquals\", f = \"error\", g = \"aws.partition\", h = \"stringEquals\", i = \"getAttr\", j = \"name\", k = \"substring\", l = \"bucketSuffix\", m = \"parseURL\", n = \"endpoint\", o = \"tree\", p = \"aws.isVirtualHostableS3Bucket\", q = \"{url#scheme}://{Bucket}.{url#authority}{url#path}\", r = \"not\", s = \"accessPointSuffix\", t = \"{url#scheme}://{url#authority}{url#path}\", u = \"hardwareType\", v = \"regionPrefix\", w = \"bucketAliasSuffix\", x = \"outpostId\", y = \"isValidHostLabel\", z = \"sigv4a\", A = \"s3-outposts\", B = \"s3\", C = \"{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}\", D = \"https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}\", E = \"https://{Bucket}.s3.{partitionResult#dnsSuffix}\", F = \"aws.parseArn\", G = \"bucketArn\", H = \"arnType\", I = \"\", J = \"s3-object-lambda\", K = \"accesspoint\", L = \"accessPointName\", M = \"{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}\", N = \"mrapPartition\", O = \"outpostType\", P = \"arnPrefix\", Q = \"{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}\", R = \"https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", S = \"https://s3.{partitionResult#dnsSuffix}\", T = { [cs]: false, [ct]: \"string\" }, U = { [cs]: true, \"default\": false, [ct]: \"boolean\" }, V = { [cs]: false, [ct]: \"boolean\" }, W = { [cw]: e, [cx]: [{ [cy]: \"Accelerate\" }, true] }, X = { [cw]: e, [cx]: [{ [cy]: \"UseFIPS\" }, true] }, Y = { [cw]: e, [cx]: [{ [cy]: \"UseDualStack\" }, true] }, Z = { [cw]: d, [cx]: [{ [cy]: \"Endpoint\" }] }, aa = { [cw]: g, [cx]: [{ [cy]: \"Region\" }], [cz]: \"partitionResult\" }, ab = { [cw]: h, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"partitionResult\" }, j] }, \"aws-cn\"] }, ac = { [cw]: d, [cx]: [{ [cy]: \"Bucket\" }] }, ad = { [cy]: \"Bucket\" }, ae = { [cv]: [W], [f]: \"S3Express does not support S3 Accelerate.\", [ct]: f }, af = { [cv]: [Z, { [cw]: m, [cx]: [{ [cy]: \"Endpoint\" }], [cz]: \"url\" }], [cu]: [{ [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }, true] }], [cu]: [{ [cv]: [{ [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }], [cu]: [{ [cv]: [{ [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }], [cu]: [{ [n]: { [cA]: \"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: p, [cx]: [ad, false] }], [cu]: [{ [n]: { [cA]: q, [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }, { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }], [ct]: o }, { [cv]: [{ [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }], [cu]: [{ [cv]: [{ [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }], [cu]: [{ [n]: { [cA]: \"{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: p, [cx]: [ad, false] }], [cu]: [{ [n]: { [cA]: q, [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], [ct]: o }, { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }], [ct]: o }, ag = { [cw]: m, [cx]: [{ [cy]: \"Endpoint\" }], [cz]: \"url\" }, ah = { [cw]: e, [cx]: [{ [cw]: i, [cx]: [{ [cy]: \"url\" }, \"isIp\"] }, true] }, ai = { [cy]: \"url\" }, aj = { [cw]: \"uriEncode\", [cx]: [ad], [cz]: \"uri_encoded_bucket\" }, ak = { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, al = {}, am = { [cw]: p, [cx]: [ad, false] }, an = { [f]: \"S3Express bucket name is not a valid virtual hostable name.\", [ct]: f }, ao = { [cw]: d, [cx]: [{ [cy]: \"UseS3ExpressControlEndpoint\" }] }, ap = { [cw]: e, [cx]: [{ [cy]: \"UseS3ExpressControlEndpoint\" }, true] }, aq = { [cw]: r, [cx]: [Z] }, ar = { [cw]: e, [cx]: [{ [cy]: \"UseDualStack\" }, false] }, as = { [cw]: e, [cx]: [{ [cy]: \"UseFIPS\" }, false] }, at = { [f]: \"Unrecognized S3Express bucket name format.\", [ct]: f }, au = { [cw]: r, [cx]: [ac] }, av = { [cy]: u }, aw = { [cv]: [aq], [f]: \"Expected a endpoint to be specified but no endpoint was found\", [ct]: f }, ax = { [cD]: [{ [cE]: true, [j]: z, [cF]: A, [cI]: [\"*\"] }, { [cE]: true, [j]: \"sigv4\", [cF]: A, [cG]: \"{Region}\" }] }, ay = { [cw]: e, [cx]: [{ [cy]: \"ForcePathStyle\" }, false] }, az = { [cy]: \"ForcePathStyle\" }, aA = { [cw]: e, [cx]: [{ [cy]: \"Accelerate\" }, false] }, aB = { [cw]: h, [cx]: [{ [cy]: \"Region\" }, \"aws-global\"] }, aC = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"us-east-1\" }] }, aD = { [cw]: r, [cx]: [aB] }, aE = { [cw]: e, [cx]: [{ [cy]: \"UseGlobalEndpoint\" }, true] }, aF = { [cA]: \"https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{Region}\" }] }, [cH]: {} }, aG = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{Region}\" }] }, aH = { [cw]: e, [cx]: [{ [cy]: \"UseGlobalEndpoint\" }, false] }, aI = { [cA]: \"https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aJ = { [cA]: \"https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aK = { [cA]: \"https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aL = { [cw]: e, [cx]: [{ [cw]: i, [cx]: [ai, \"isIp\"] }, false] }, aM = { [cA]: C, [cB]: aG, [cH]: {} }, aN = { [cA]: q, [cB]: aG, [cH]: {} }, aO = { [n]: aN, [ct]: n }, aP = { [cA]: D, [cB]: aG, [cH]: {} }, aQ = { [cA]: \"https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, aR = { [f]: \"Invalid region: region was not a valid DNS name.\", [ct]: f }, aS = { [cy]: G }, aT = { [cy]: H }, aU = { [cw]: i, [cx]: [aS, \"service\"] }, aV = { [cy]: L }, aW = { [cv]: [Y], [f]: \"S3 Object Lambda does not support Dual-stack\", [ct]: f }, aX = { [cv]: [W], [f]: \"S3 Object Lambda does not support S3 Accelerate\", [ct]: f }, aY = { [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"DisableAccessPoints\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableAccessPoints\" }, true] }], [f]: \"Access points are not supported for this operation\", [ct]: f }, aZ = { [cv]: [{ [cw]: d, [cx]: [{ [cy]: \"UseArnRegion\" }] }, { [cw]: e, [cx]: [{ [cy]: \"UseArnRegion\" }, false] }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, \"{Region}\"] }] }], [f]: \"Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`\", [ct]: f }, ba = { [cw]: i, [cx]: [{ [cy]: \"bucketPartition\" }, j] }, bb = { [cw]: i, [cx]: [aS, \"accountId\"] }, bc = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: J, [cG]: \"{bucketArn#region}\" }] }, bd = { [f]: \"Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`\", [ct]: f }, be = { [f]: \"Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`\", [ct]: f }, bf = { [f]: \"Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)\", [ct]: f }, bg = { [f]: \"Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`\", [ct]: f }, bh = { [f]: \"Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.\", [ct]: f }, bi = { [f]: \"Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided\", [ct]: f }, bj = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: B, [cG]: \"{bucketArn#region}\" }] }, bk = { [cD]: [{ [cE]: true, [j]: z, [cF]: A, [cI]: [\"*\"] }, { [cE]: true, [j]: \"sigv4\", [cF]: A, [cG]: \"{bucketArn#region}\" }] }, bl = { [cw]: F, [cx]: [ad] }, bm = { [cA]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bn = { [cA]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bo = { [cA]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, bp = { [cA]: Q, [cB]: aG, [cH]: {} }, bq = { [cA]: \"https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aG, [cH]: {} }, br = { [cy]: \"UseObjectLambdaEndpoint\" }, bs = { [cD]: [{ [cE]: true, [j]: \"sigv4\", [cF]: J, [cG]: \"{Region}\" }] }, bt = { [cA]: \"https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bu = { [cA]: \"https://s3-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bv = { [cA]: \"https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, bw = { [cA]: t, [cB]: aG, [cH]: {} }, bx = { [cA]: \"https://s3.{Region}.{partitionResult#dnsSuffix}\", [cB]: aG, [cH]: {} }, by = [{ [cy]: \"Region\" }], bz = [{ [cy]: \"Endpoint\" }], bA = [ad], bB = [W], bC = [Z, ag], bD = [{ [cw]: d, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }] }, { [cw]: e, [cx]: [{ [cy]: \"DisableS3ExpressSessionAuth\" }, true] }], bE = [aj], bF = [am], bG = [aa], bH = [X, Y], bI = [X, ar], bJ = [as, Y], bK = [as, ar], bL = [{ [cw]: k, [cx]: [ad, 6, 14, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 14, 16, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bM = [{ [cv]: [X, Y], [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bI, [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bJ, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }, { [cv]: bK, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: {} }, [ct]: n }], bN = [{ [cw]: k, [cx]: [ad, 6, 15, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 15, 17, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bO = [{ [cw]: k, [cx]: [ad, 6, 19, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 19, 21, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bP = [{ [cw]: k, [cx]: [ad, 6, 20, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 20, 22, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bQ = [{ [cw]: k, [cx]: [ad, 6, 26, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 26, 28, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bR = [{ [cv]: [X, Y], [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bI, [n]: { [cA]: \"https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bJ, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }, { [cv]: bK, [n]: { [cA]: \"https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.{partitionResult#dnsSuffix}\", [cB]: { [cC]: \"S3Express\", [cD]: [{ [cE]: true, [j]: \"sigv4-s3express\", [cF]: \"s3express\", [cG]: \"{Region}\" }] }, [cH]: {} }, [ct]: n }], bS = [ad, 0, 7, true], bT = [{ [cw]: k, [cx]: [ad, 7, 15, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 15, 17, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bU = [{ [cw]: k, [cx]: [ad, 7, 16, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 16, 18, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bV = [{ [cw]: k, [cx]: [ad, 7, 20, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 20, 22, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bW = [{ [cw]: k, [cx]: [ad, 7, 21, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 21, 23, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bX = [{ [cw]: k, [cx]: [ad, 7, 27, true], [cz]: \"s3expressAvailabilityZoneId\" }, { [cw]: k, [cx]: [ad, 27, 29, true], [cz]: \"s3expressAvailabilityZoneDelim\" }, { [cw]: h, [cx]: [{ [cy]: \"s3expressAvailabilityZoneDelim\" }, \"--\"] }], bY = [ac], bZ = [{ [cw]: y, [cx]: [{ [cy]: x }, false] }], ca = [{ [cw]: h, [cx]: [{ [cy]: v }, \"beta\"] }], cb = [\"*\"], cc = [{ [cw]: y, [cx]: [{ [cy]: \"Region\" }, false] }], cd = [{ [cw]: h, [cx]: [{ [cy]: \"Region\" }, \"us-east-1\"] }], ce = [{ [cw]: h, [cx]: [aT, K] }], cf = [{ [cw]: i, [cx]: [aS, \"resourceId[1]\"], [cz]: L }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [aV, I] }] }], cg = [aS, \"resourceId[1]\"], ch = [Y], ci = [{ [cw]: r, [cx]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, I] }] }], cj = [{ [cw]: r, [cx]: [{ [cw]: d, [cx]: [{ [cw]: i, [cx]: [aS, \"resourceId[2]\"] }] }] }], ck = [aS, \"resourceId[2]\"], cl = [{ [cw]: g, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }], [cz]: \"bucketPartition\" }], cm = [{ [cw]: h, [cx]: [ba, { [cw]: i, [cx]: [{ [cy]: \"partitionResult\" }, j] }] }], cn = [{ [cw]: y, [cx]: [{ [cw]: i, [cx]: [aS, \"region\"] }, true] }], co = [{ [cw]: y, [cx]: [bb, false] }], cp = [{ [cw]: y, [cx]: [aV, false] }], cq = [X], cr = [{ [cw]: y, [cx]: [{ [cy]: \"Region\" }, true] }];\nconst _data = { version: \"1.0\", parameters: { Bucket: T, Region: T, UseFIPS: U, UseDualStack: U, Endpoint: T, ForcePathStyle: U, Accelerate: U, UseGlobalEndpoint: U, UseObjectLambdaEndpoint: V, Key: T, Prefix: T, CopySource: T, DisableAccessPoints: V, DisableMultiRegionAccessPoints: U, UseArnRegion: V, UseS3ExpressControlEndpoint: V, DisableS3ExpressSessionAuth: V }, [cu]: [{ [cv]: [{ [cw]: d, [cx]: by }], [cu]: [{ [cv]: [W, X], error: \"Accelerate cannot be used with FIPS\", [ct]: f }, { [cv]: [Y, Z], error: \"Cannot set dual-stack in combination with a custom endpoint.\", [ct]: f }, { [cv]: [Z, X], error: \"A custom endpoint cannot be combined with FIPS\", [ct]: f }, { [cv]: [Z, W], error: \"A custom endpoint cannot be combined with S3 Accelerate\", [ct]: f }, { [cv]: [X, aa, ab], error: \"Partition does not support FIPS\", [ct]: f }, { [cv]: [ac, { [cw]: k, [cx]: [ad, 0, a, c], [cz]: l }, { [cw]: h, [cx]: [{ [cy]: l }, \"--x-s3\"] }], [cu]: [ae, af, { [cv]: [ao, ap], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [aj, aq], [cu]: [{ [cv]: bH, endpoint: { [cA]: \"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://s3express-control.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: ak, [cH]: al }, [ct]: n }], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: bF, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bD, [cu]: [{ [cv]: bL, [cu]: bM, [ct]: o }, { [cv]: bN, [cu]: bM, [ct]: o }, { [cv]: bO, [cu]: bM, [ct]: o }, { [cv]: bP, [cu]: bM, [ct]: o }, { [cv]: bQ, [cu]: bM, [ct]: o }, at], [ct]: o }, { [cv]: bL, [cu]: bR, [ct]: o }, { [cv]: bN, [cu]: bR, [ct]: o }, { [cv]: bO, [cu]: bR, [ct]: o }, { [cv]: bP, [cu]: bR, [ct]: o }, { [cv]: bQ, [cu]: bR, [ct]: o }, at], [ct]: o }], [ct]: o }, an], [ct]: o }, { [cv]: [ac, { [cw]: k, [cx]: bS, [cz]: s }, { [cw]: h, [cx]: [{ [cy]: s }, \"--xa-s3\"] }], [cu]: [ae, af, { [cv]: bF, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bD, [cu]: [{ [cv]: bT, [cu]: bM, [ct]: o }, { [cv]: bU, [cu]: bM, [ct]: o }, { [cv]: bV, [cu]: bM, [ct]: o }, { [cv]: bW, [cu]: bM, [ct]: o }, { [cv]: bX, [cu]: bM, [ct]: o }, at], [ct]: o }, { [cv]: bT, [cu]: bR, [ct]: o }, { [cv]: bU, [cu]: bR, [ct]: o }, { [cv]: bV, [cu]: bR, [ct]: o }, { [cv]: bW, [cu]: bR, [ct]: o }, { [cv]: bX, [cu]: bR, [ct]: o }, at], [ct]: o }], [ct]: o }, an], [ct]: o }, { [cv]: [au, ao, ap], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: bC, endpoint: { [cA]: t, [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bH, endpoint: { [cA]: \"https://s3express-control-fips.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://s3express-control-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://s3express-control.dualstack.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://s3express-control.{Region}.{partitionResult#dnsSuffix}\", [cB]: ak, [cH]: al }, [ct]: n }], [ct]: o }], [ct]: o }, { [cv]: [ac, { [cw]: k, [cx]: [ad, 49, 50, c], [cz]: u }, { [cw]: k, [cx]: [ad, 8, 12, c], [cz]: v }, { [cw]: k, [cx]: bS, [cz]: w }, { [cw]: k, [cx]: [ad, 32, 49, c], [cz]: x }, { [cw]: g, [cx]: by, [cz]: \"regionPartition\" }, { [cw]: h, [cx]: [{ [cy]: w }, \"--op-s3\"] }], [cu]: [{ [cv]: bZ, [cu]: [{ [cv]: bF, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [av, \"e\"] }], [cu]: [{ [cv]: ca, [cu]: [aw, { [cv]: bC, endpoint: { [cA]: \"https://{Bucket}.ec2.{url#authority}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { endpoint: { [cA]: \"https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { [cv]: [{ [cw]: h, [cx]: [av, \"o\"] }], [cu]: [{ [cv]: ca, [cu]: [aw, { [cv]: bC, endpoint: { [cA]: \"https://{Bucket}.op-{outpostId}.{url#authority}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { endpoint: { [cA]: \"https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}\", [cB]: ax, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Unrecognized hardware type: \\\"Expected hardware type o or e but got {hardwareType}\\\"\", [ct]: f }], [ct]: o }, { error: \"Invalid Outposts Bucket alias - it must be a valid bucket name.\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.\", [ct]: f }], [ct]: o }, { [cv]: bY, [cu]: [{ [cv]: [Z, { [cw]: r, [cx]: [{ [cw]: d, [cx]: [{ [cw]: m, [cx]: bz }] }] }], error: \"Custom endpoint `{Endpoint}` was not a valid URI\", [ct]: f }, { [cv]: [ay, am], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cc, [cu]: [{ [cv]: [W, ab], error: \"S3 Accelerate cannot be used in this region\", [ct]: f }, { [cv]: [Y, X, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, X, aA, aq, aD, aE], [cu]: [{ endpoint: aF, [ct]: n }], [ct]: o }, { [cv]: [Y, X, aA, aq, aD, aH], endpoint: aF, [ct]: n }, { [cv]: [ar, X, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, X, aA, aq, aD, aE], [cu]: [{ endpoint: aI, [ct]: n }], [ct]: o }, { [cv]: [ar, X, aA, aq, aD, aH], endpoint: aI, [ct]: n }, { [cv]: [Y, as, W, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, as, W, aq, aD, aE], [cu]: [{ endpoint: aJ, [ct]: n }], [ct]: o }, { [cv]: [Y, as, W, aq, aD, aH], endpoint: aJ, [ct]: n }, { [cv]: [Y, as, aA, aq, aB], endpoint: { [cA]: \"https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, as, aA, aq, aD, aE], [cu]: [{ endpoint: aK, [ct]: n }], [ct]: o }, { [cv]: [Y, as, aA, aq, aD, aH], endpoint: aK, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, ah, aB], endpoint: { [cA]: C, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, aL, aB], endpoint: { [cA]: q, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, ah, aD, aE], [cu]: [{ [cv]: cd, endpoint: aM, [ct]: n }, { endpoint: aM, [ct]: n }], [ct]: o }, { [cv]: [ar, as, aA, Z, ag, aL, aD, aE], [cu]: [{ [cv]: cd, endpoint: aN, [ct]: n }, aO], [ct]: o }, { [cv]: [ar, as, aA, Z, ag, ah, aD, aH], endpoint: aM, [ct]: n }, { [cv]: [ar, as, aA, Z, ag, aL, aD, aH], endpoint: aN, [ct]: n }, { [cv]: [ar, as, W, aq, aB], endpoint: { [cA]: D, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, W, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: aP, [ct]: n }, { endpoint: aP, [ct]: n }], [ct]: o }, { [cv]: [ar, as, W, aq, aD, aH], endpoint: aP, [ct]: n }, { [cv]: [ar, as, aA, aq, aB], endpoint: { [cA]: E, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, as, aA, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: E, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: aQ, [ct]: n }], [ct]: o }, { [cv]: [ar, as, aA, aq, aD, aH], endpoint: aQ, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [Z, ag, { [cw]: h, [cx]: [{ [cw]: i, [cx]: [ai, \"scheme\"] }, \"http\"] }, { [cw]: p, [cx]: [ad, c] }, ay, as, ar, aA], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cc, [cu]: [aO], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [ay, { [cw]: F, [cx]: bA, [cz]: G }], [cu]: [{ [cv]: [{ [cw]: i, [cx]: [aS, \"resourceId[0]\"], [cz]: H }, { [cw]: r, [cx]: [{ [cw]: h, [cx]: [aT, I] }] }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [aU, J] }], [cu]: [{ [cv]: ce, [cu]: [{ [cv]: cf, [cu]: [aW, aX, { [cv]: ci, [cu]: [aY, { [cv]: cj, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cm, [cu]: [{ [cv]: cn, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [bb, I] }], error: \"Invalid ARN: Missing account id\", [ct]: f }, { [cv]: co, [cu]: [{ [cv]: cp, [cu]: [{ [cv]: bC, endpoint: { [cA]: M, [cB]: bc, [cH]: al }, [ct]: n }, { [cv]: cq, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bc, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bc, [cH]: al }, [ct]: n }], [ct]: o }, bd], [ct]: o }, be], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, bh], [ct]: o }, { error: \"Invalid ARN: bucket ARN is missing a region\", [ct]: f }], [ct]: o }, bi], [ct]: o }, { error: \"Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`\", [ct]: f }], [ct]: o }, { [cv]: ce, [cu]: [{ [cv]: cf, [cu]: [{ [cv]: ci, [cu]: [{ [cv]: ce, [cu]: [{ [cv]: ci, [cu]: [aY, { [cv]: cj, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [ba, \"{partitionResult#name}\"] }], [cu]: [{ [cv]: cn, [cu]: [{ [cv]: [{ [cw]: h, [cx]: [aU, B] }], [cu]: [{ [cv]: co, [cu]: [{ [cv]: cp, [cu]: [{ [cv]: bB, error: \"Access Points do not support S3 Accelerate\", [ct]: f }, { [cv]: bH, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bI, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bJ, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: [as, ar, Z, ag], endpoint: { [cA]: M, [cB]: bj, [cH]: al }, [ct]: n }, { [cv]: bK, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bj, [cH]: al }, [ct]: n }], [ct]: o }, bd], [ct]: o }, be], [ct]: o }, { error: \"Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}\", [ct]: f }], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, bh], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: y, [cx]: [aV, c] }], [cu]: [{ [cv]: ch, error: \"S3 MRAP does not support dual-stack\", [ct]: f }, { [cv]: cq, error: \"S3 MRAP does not support FIPS\", [ct]: f }, { [cv]: bB, error: \"S3 MRAP does not support S3 Accelerate\", [ct]: f }, { [cv]: [{ [cw]: e, [cx]: [{ [cy]: \"DisableMultiRegionAccessPoints\" }, c] }], error: \"Invalid configuration: Multi-Region Access Point ARNs are disabled.\", [ct]: f }, { [cv]: [{ [cw]: g, [cx]: by, [cz]: N }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [{ [cw]: i, [cx]: [{ [cy]: N }, j] }, { [cw]: i, [cx]: [aS, \"partition\"] }] }], [cu]: [{ endpoint: { [cA]: \"https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}\", [cB]: { [cD]: [{ [cE]: c, name: z, [cF]: B, [cI]: cb }] }, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`\", [ct]: f }], [ct]: o }], [ct]: o }, { error: \"Invalid Access Point Name\", [ct]: f }], [ct]: o }, bi], [ct]: o }, { [cv]: [{ [cw]: h, [cx]: [aU, A] }], [cu]: [{ [cv]: ch, error: \"S3 Outposts does not support Dual-stack\", [ct]: f }, { [cv]: cq, error: \"S3 Outposts does not support FIPS\", [ct]: f }, { [cv]: bB, error: \"S3 Outposts does not support S3 Accelerate\", [ct]: f }, { [cv]: [{ [cw]: d, [cx]: [{ [cw]: i, [cx]: [aS, \"resourceId[4]\"] }] }], error: \"Invalid Arn: Outpost Access Point ARN contains sub resources\", [ct]: f }, { [cv]: [{ [cw]: i, [cx]: cg, [cz]: x }], [cu]: [{ [cv]: bZ, [cu]: [aZ, { [cv]: cl, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cm, [cu]: [{ [cv]: cn, [cu]: [{ [cv]: co, [cu]: [{ [cv]: [{ [cw]: i, [cx]: ck, [cz]: O }], [cu]: [{ [cv]: [{ [cw]: i, [cx]: [aS, \"resourceId[3]\"], [cz]: L }], [cu]: [{ [cv]: [{ [cw]: h, [cx]: [{ [cy]: O }, K] }], [cu]: [{ [cv]: bC, endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}\", [cB]: bk, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}\", [cB]: bk, [cH]: al }, [ct]: n }], [ct]: o }, { error: \"Expected an outpost type `accesspoint`, found {outpostType}\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: expected an access point name\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: Expected a 4-component resource\", [ct]: f }], [ct]: o }, be], [ct]: o }, bf], [ct]: o }, bg], [ct]: o }], [ct]: o }], [ct]: o }, { error: \"Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: The Outpost Id was not set\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})\", [ct]: f }], [ct]: o }, { error: \"Invalid ARN: No ARN type specified\", [ct]: f }], [ct]: o }, { [cv]: [{ [cw]: k, [cx]: [ad, 0, 4, b], [cz]: P }, { [cw]: h, [cx]: [{ [cy]: P }, \"arn:\"] }, { [cw]: r, [cx]: [{ [cw]: d, [cx]: [bl] }] }], error: \"Invalid ARN: `{Bucket}` was not a valid ARN\", [ct]: f }, { [cv]: [{ [cw]: e, [cx]: [az, c] }, bl], error: \"Path-style addressing cannot be used with ARN buckets\", [ct]: f }, { [cv]: bE, [cu]: [{ [cv]: bG, [cu]: [{ [cv]: [aA], [cu]: [{ [cv]: [Y, aq, X, aB], endpoint: { [cA]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, aq, X, aD, aE], [cu]: [{ endpoint: bm, [ct]: n }], [ct]: o }, { [cv]: [Y, aq, X, aD, aH], endpoint: bm, [ct]: n }, { [cv]: [ar, aq, X, aB], endpoint: { [cA]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, aq, X, aD, aE], [cu]: [{ endpoint: bn, [ct]: n }], [ct]: o }, { [cv]: [ar, aq, X, aD, aH], endpoint: bn, [ct]: n }, { [cv]: [Y, aq, as, aB], endpoint: { [cA]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [Y, aq, as, aD, aE], [cu]: [{ endpoint: bo, [ct]: n }], [ct]: o }, { [cv]: [Y, aq, as, aD, aH], endpoint: bo, [ct]: n }, { [cv]: [ar, Z, ag, as, aB], endpoint: { [cA]: Q, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, Z, ag, as, aD, aE], [cu]: [{ [cv]: cd, endpoint: bp, [ct]: n }, { endpoint: bp, [ct]: n }], [ct]: o }, { [cv]: [ar, Z, ag, as, aD, aH], endpoint: bp, [ct]: n }, { [cv]: [ar, aq, as, aB], endpoint: { [cA]: R, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [ar, aq, as, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: R, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: bq, [ct]: n }], [ct]: o }, { [cv]: [ar, aq, as, aD, aH], endpoint: bq, [ct]: n }], [ct]: o }, { error: \"Path-style addressing cannot be used with S3 Accelerate\", [ct]: f }], [ct]: o }], [ct]: o }], [ct]: o }, { [cv]: [{ [cw]: d, [cx]: [br] }, { [cw]: e, [cx]: [br, c] }], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cr, [cu]: [aW, aX, { [cv]: bC, endpoint: { [cA]: t, [cB]: bs, [cH]: al }, [ct]: n }, { [cv]: cq, endpoint: { [cA]: \"https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}\", [cB]: bs, [cH]: al }, [ct]: n }, { endpoint: { [cA]: \"https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}\", [cB]: bs, [cH]: al }, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }, { [cv]: [au], [cu]: [{ [cv]: bG, [cu]: [{ [cv]: cr, [cu]: [{ [cv]: [X, Y, aq, aB], endpoint: { [cA]: \"https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [X, Y, aq, aD, aE], [cu]: [{ endpoint: bt, [ct]: n }], [ct]: o }, { [cv]: [X, Y, aq, aD, aH], endpoint: bt, [ct]: n }, { [cv]: [X, ar, aq, aB], endpoint: { [cA]: \"https://s3-fips.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [X, ar, aq, aD, aE], [cu]: [{ endpoint: bu, [ct]: n }], [ct]: o }, { [cv]: [X, ar, aq, aD, aH], endpoint: bu, [ct]: n }, { [cv]: [as, Y, aq, aB], endpoint: { [cA]: \"https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}\", [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, Y, aq, aD, aE], [cu]: [{ endpoint: bv, [ct]: n }], [ct]: o }, { [cv]: [as, Y, aq, aD, aH], endpoint: bv, [ct]: n }, { [cv]: [as, ar, Z, ag, aB], endpoint: { [cA]: t, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, ar, Z, ag, aD, aE], [cu]: [{ [cv]: cd, endpoint: bw, [ct]: n }, { endpoint: bw, [ct]: n }], [ct]: o }, { [cv]: [as, ar, Z, ag, aD, aH], endpoint: bw, [ct]: n }, { [cv]: [as, ar, aq, aB], endpoint: { [cA]: S, [cB]: aC, [cH]: al }, [ct]: n }, { [cv]: [as, ar, aq, aD, aE], [cu]: [{ [cv]: cd, endpoint: { [cA]: S, [cB]: aG, [cH]: al }, [ct]: n }, { endpoint: bx, [ct]: n }], [ct]: o }, { [cv]: [as, ar, aq, aD, aH], endpoint: bx, [ct]: n }], [ct]: o }, aR], [ct]: o }], [ct]: o }], [ct]: o }, { error: \"A region must be set when sending requests to S3.\", [ct]: f }] };\nexport const ruleSet = _data;\n",
|
|
286
|
+
"import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateSession$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateSessionCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n DisableS3ExpressSessionAuth: { type: \"staticContextParams\", value: true },\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"CreateSession\", {})\n .n(\"S3Client\", \"CreateSessionCommand\")\n .sc(CreateSession$)\n .build() {\n}\n",
|
|
287
|
+
"const clientContextParamDefaults = {};\nexport const resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n forcePathStyle: options.forcePathStyle ?? false,\n useAccelerateEndpoint: options.useAccelerateEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n disableMultiregionAccessPoints: options.disableMultiregionAccessPoints ?? false,\n defaultSigningName: \"s3\",\n clientContextParams: options.clientContextParams ?? {},\n });\n};\nexport const commonParams = {\n ForcePathStyle: { type: \"clientContextParams\", name: \"forcePathStyle\" },\n UseArnRegion: { type: \"clientContextParams\", name: \"useArnRegion\" },\n DisableMultiRegionAccessPoints: { type: \"clientContextParams\", name: \"disableMultiregionAccessPoints\" },\n Accelerate: { type: \"clientContextParams\", name: \"useAccelerateEndpoint\" },\n DisableS3ExpressSessionAuth: { type: \"clientContextParams\", name: \"disableS3ExpressSessionAuth\" },\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n",
|
|
288
|
+
"const _A = \"Account\";\nconst _AAO = \"AnalyticsAndOperator\";\nconst _AC = \"AccelerateConfiguration\";\nconst _ACL = \"AccessControlList\";\nconst _ACL_ = \"ACL\";\nconst _ACLn = \"AnalyticsConfigurationList\";\nconst _ACP = \"AccessControlPolicy\";\nconst _ACT = \"AccessControlTranslation\";\nconst _ACn = \"AnalyticsConfiguration\";\nconst _AD = \"AccessDenied\";\nconst _ADb = \"AbortDate\";\nconst _AED = \"AnalyticsExportDestination\";\nconst _AF = \"AnalyticsFilter\";\nconst _AH = \"AllowedHeaders\";\nconst _AHl = \"AllowedHeader\";\nconst _AI = \"AccountId\";\nconst _AIMU = \"AbortIncompleteMultipartUpload\";\nconst _AKI = \"AccessKeyId\";\nconst _AM = \"AllowedMethods\";\nconst _AMU = \"AbortMultipartUpload\";\nconst _AMUO = \"AbortMultipartUploadOutput\";\nconst _AMUR = \"AbortMultipartUploadRequest\";\nconst _AMl = \"AllowedMethod\";\nconst _AO = \"AllowedOrigins\";\nconst _AOl = \"AllowedOrigin\";\nconst _APA = \"AccessPointAlias\";\nconst _APAc = \"AccessPointArn\";\nconst _AQRD = \"AllowQuotedRecordDelimiter\";\nconst _AR = \"AcceptRanges\";\nconst _ARI = \"AbortRuleId\";\nconst _AS = \"AbacStatus\";\nconst _ASBD = \"AnalyticsS3BucketDestination\";\nconst _ASSEBD = \"ApplyServerSideEncryptionByDefault\";\nconst _ASr = \"ArchiveStatus\";\nconst _AT = \"AccessTier\";\nconst _An = \"And\";\nconst _B = \"Bucket\";\nconst _BA = \"BucketArn\";\nconst _BAE = \"BucketAlreadyExists\";\nconst _BAI = \"BucketAccountId\";\nconst _BAOBY = \"BucketAlreadyOwnedByYou\";\nconst _BET = \"BlockedEncryptionTypes\";\nconst _BGR = \"BypassGovernanceRetention\";\nconst _BI = \"BucketInfo\";\nconst _BKE = \"BucketKeyEnabled\";\nconst _BLC = \"BucketLifecycleConfiguration\";\nconst _BLN = \"BucketLocationName\";\nconst _BLS = \"BucketLoggingStatus\";\nconst _BLT = \"BucketLocationType\";\nconst _BN = \"BucketNamespace\";\nconst _BNu = \"BucketName\";\nconst _BP = \"BytesProcessed\";\nconst _BPA = \"BlockPublicAcls\";\nconst _BPP = \"BlockPublicPolicy\";\nconst _BR = \"BucketRegion\";\nconst _BRy = \"BytesReturned\";\nconst _BS = \"BytesScanned\";\nconst _Bo = \"Body\";\nconst _Bu = \"Buckets\";\nconst _C = \"Checksum\";\nconst _CA = \"ChecksumAlgorithm\";\nconst _CACL = \"CannedACL\";\nconst _CB = \"CreateBucket\";\nconst _CBC = \"CreateBucketConfiguration\";\nconst _CBMC = \"CreateBucketMetadataConfiguration\";\nconst _CBMCR = \"CreateBucketMetadataConfigurationRequest\";\nconst _CBMTC = \"CreateBucketMetadataTableConfiguration\";\nconst _CBMTCR = \"CreateBucketMetadataTableConfigurationRequest\";\nconst _CBO = \"CreateBucketOutput\";\nconst _CBR = \"CreateBucketRequest\";\nconst _CC = \"CacheControl\";\nconst _CCRC = \"ChecksumCRC32\";\nconst _CCRCC = \"ChecksumCRC32C\";\nconst _CCRCNVME = \"ChecksumCRC64NVME\";\nconst _CC_ = \"Cache-Control\";\nconst _CD = \"CreationDate\";\nconst _CD_ = \"Content-Disposition\";\nconst _CDo = \"ContentDisposition\";\nconst _CE = \"ContinuationEvent\";\nconst _CE_ = \"Content-Encoding\";\nconst _CEo = \"ContentEncoding\";\nconst _CF = \"CloudFunction\";\nconst _CFC = \"CloudFunctionConfiguration\";\nconst _CL = \"ContentLanguage\";\nconst _CL_ = \"Content-Language\";\nconst _CL__ = \"Content-Length\";\nconst _CLo = \"ContentLength\";\nconst _CM = \"Content-MD5\";\nconst _CMD = \"ContentMD5\";\nconst _CMU = \"CompletedMultipartUpload\";\nconst _CMUO = \"CompleteMultipartUploadOutput\";\nconst _CMUOr = \"CreateMultipartUploadOutput\";\nconst _CMUR = \"CompleteMultipartUploadResult\";\nconst _CMURo = \"CompleteMultipartUploadRequest\";\nconst _CMURr = \"CreateMultipartUploadRequest\";\nconst _CMUo = \"CompleteMultipartUpload\";\nconst _CMUr = \"CreateMultipartUpload\";\nconst _CMh = \"ChecksumMode\";\nconst _CO = \"CopyObject\";\nconst _COO = \"CopyObjectOutput\";\nconst _COR = \"CopyObjectResult\";\nconst _CORSC = \"CORSConfiguration\";\nconst _CORSR = \"CORSRules\";\nconst _CORSRu = \"CORSRule\";\nconst _CORo = \"CopyObjectRequest\";\nconst _CP = \"CommonPrefix\";\nconst _CPL = \"CommonPrefixList\";\nconst _CPLo = \"CompletedPartList\";\nconst _CPR = \"CopyPartResult\";\nconst _CPo = \"CompletedPart\";\nconst _CPom = \"CommonPrefixes\";\nconst _CR = \"ContentRange\";\nconst _CRSBA = \"ConfirmRemoveSelfBucketAccess\";\nconst _CR_ = \"Content-Range\";\nconst _CS = \"CopySource\";\nconst _CSHA = \"ChecksumSHA1\";\nconst _CSHAh = \"ChecksumSHA256\";\nconst _CSIM = \"CopySourceIfMatch\";\nconst _CSIMS = \"CopySourceIfModifiedSince\";\nconst _CSINM = \"CopySourceIfNoneMatch\";\nconst _CSIUS = \"CopySourceIfUnmodifiedSince\";\nconst _CSO = \"CreateSessionOutput\";\nconst _CSR = \"CreateSessionResult\";\nconst _CSRo = \"CopySourceRange\";\nconst _CSRr = \"CreateSessionRequest\";\nconst _CSSSECA = \"CopySourceSSECustomerAlgorithm\";\nconst _CSSSECK = \"CopySourceSSECustomerKey\";\nconst _CSSSECKMD = \"CopySourceSSECustomerKeyMD5\";\nconst _CSV = \"CSV\";\nconst _CSVI = \"CopySourceVersionId\";\nconst _CSVIn = \"CSVInput\";\nconst _CSVO = \"CSVOutput\";\nconst _CSo = \"ConfigurationState\";\nconst _CSr = \"CreateSession\";\nconst _CT = \"ChecksumType\";\nconst _CT_ = \"Content-Type\";\nconst _CTl = \"ClientToken\";\nconst _CTo = \"ContentType\";\nconst _CTom = \"CompressionType\";\nconst _CTon = \"ContinuationToken\";\nconst _Co = \"Condition\";\nconst _Cod = \"Code\";\nconst _Com = \"Comments\";\nconst _Con = \"Contents\";\nconst _Cont = \"Cont\";\nconst _Cr = \"Credentials\";\nconst _D = \"Days\";\nconst _DAI = \"DaysAfterInitiation\";\nconst _DB = \"DeleteBucket\";\nconst _DBAC = \"DeleteBucketAnalyticsConfiguration\";\nconst _DBACR = \"DeleteBucketAnalyticsConfigurationRequest\";\nconst _DBC = \"DeleteBucketCors\";\nconst _DBCR = \"DeleteBucketCorsRequest\";\nconst _DBE = \"DeleteBucketEncryption\";\nconst _DBER = \"DeleteBucketEncryptionRequest\";\nconst _DBIC = \"DeleteBucketInventoryConfiguration\";\nconst _DBICR = \"DeleteBucketInventoryConfigurationRequest\";\nconst _DBITC = \"DeleteBucketIntelligentTieringConfiguration\";\nconst _DBITCR = \"DeleteBucketIntelligentTieringConfigurationRequest\";\nconst _DBL = \"DeleteBucketLifecycle\";\nconst _DBLR = \"DeleteBucketLifecycleRequest\";\nconst _DBMC = \"DeleteBucketMetadataConfiguration\";\nconst _DBMCR = \"DeleteBucketMetadataConfigurationRequest\";\nconst _DBMCRe = \"DeleteBucketMetricsConfigurationRequest\";\nconst _DBMCe = \"DeleteBucketMetricsConfiguration\";\nconst _DBMTC = \"DeleteBucketMetadataTableConfiguration\";\nconst _DBMTCR = \"DeleteBucketMetadataTableConfigurationRequest\";\nconst _DBOC = \"DeleteBucketOwnershipControls\";\nconst _DBOCR = \"DeleteBucketOwnershipControlsRequest\";\nconst _DBP = \"DeleteBucketPolicy\";\nconst _DBPR = \"DeleteBucketPolicyRequest\";\nconst _DBR = \"DeleteBucketRequest\";\nconst _DBRR = \"DeleteBucketReplicationRequest\";\nconst _DBRe = \"DeleteBucketReplication\";\nconst _DBT = \"DeleteBucketTagging\";\nconst _DBTR = \"DeleteBucketTaggingRequest\";\nconst _DBW = \"DeleteBucketWebsite\";\nconst _DBWR = \"DeleteBucketWebsiteRequest\";\nconst _DE = \"DataExport\";\nconst _DIM = \"DestinationIfMatch\";\nconst _DIMS = \"DestinationIfModifiedSince\";\nconst _DINM = \"DestinationIfNoneMatch\";\nconst _DIUS = \"DestinationIfUnmodifiedSince\";\nconst _DM = \"DeleteMarker\";\nconst _DME = \"DeleteMarkerEntry\";\nconst _DMR = \"DeleteMarkerReplication\";\nconst _DMVI = \"DeleteMarkerVersionId\";\nconst _DMe = \"DeleteMarkers\";\nconst _DN = \"DisplayName\";\nconst _DO = \"DeletedObject\";\nconst _DOO = \"DeleteObjectOutput\";\nconst _DOOe = \"DeleteObjectsOutput\";\nconst _DOR = \"DeleteObjectRequest\";\nconst _DORe = \"DeleteObjectsRequest\";\nconst _DOT = \"DeleteObjectTagging\";\nconst _DOTO = \"DeleteObjectTaggingOutput\";\nconst _DOTR = \"DeleteObjectTaggingRequest\";\nconst _DOe = \"DeletedObjects\";\nconst _DOel = \"DeleteObject\";\nconst _DOele = \"DeleteObjects\";\nconst _DPAB = \"DeletePublicAccessBlock\";\nconst _DPABR = \"DeletePublicAccessBlockRequest\";\nconst _DR = \"DataRedundancy\";\nconst _DRe = \"DefaultRetention\";\nconst _DRel = \"DeleteResult\";\nconst _DRes = \"DestinationResult\";\nconst _Da = \"Date\";\nconst _De = \"Delete\";\nconst _Del = \"Deleted\";\nconst _Deli = \"Delimiter\";\nconst _Des = \"Destination\";\nconst _Desc = \"Description\";\nconst _Det = \"Details\";\nconst _E = \"Expiration\";\nconst _EA = \"EmailAddress\";\nconst _EBC = \"EventBridgeConfiguration\";\nconst _EBO = \"ExpectedBucketOwner\";\nconst _EC = \"EncryptionConfiguration\";\nconst _ECr = \"ErrorCode\";\nconst _ED = \"ErrorDetails\";\nconst _EDr = \"ErrorDocument\";\nconst _EE = \"EndEvent\";\nconst _EH = \"ExposeHeaders\";\nconst _EHx = \"ExposeHeader\";\nconst _EM = \"ErrorMessage\";\nconst _EODM = \"ExpiredObjectDeleteMarker\";\nconst _EOR = \"ExistingObjectReplication\";\nconst _ES = \"ExpiresString\";\nconst _ESBO = \"ExpectedSourceBucketOwner\";\nconst _ET = \"EncryptionType\";\nconst _ETL = \"EncryptionTypeList\";\nconst _ETM = \"EncryptionTypeMismatch\";\nconst _ETa = \"ETag\";\nconst _ETn = \"EncodingType\";\nconst _ETv = \"EventThreshold\";\nconst _ETx = \"ExpressionType\";\nconst _En = \"Encryption\";\nconst _Ena = \"Enabled\";\nconst _End = \"End\";\nconst _Er = \"Errors\";\nconst _Err = \"Error\";\nconst _Ev = \"Events\";\nconst _Eve = \"Event\";\nconst _Ex = \"Expires\";\nconst _Exp = \"Expression\";\nconst _F = \"Filter\";\nconst _FD = \"FieldDelimiter\";\nconst _FHI = \"FileHeaderInfo\";\nconst _FO = \"FetchOwner\";\nconst _FR = \"FilterRule\";\nconst _FRL = \"FilterRuleList\";\nconst _FRi = \"FilterRules\";\nconst _Fi = \"Field\";\nconst _Fo = \"Format\";\nconst _Fr = \"Frequency\";\nconst _G = \"Grants\";\nconst _GBA = \"GetBucketAbac\";\nconst _GBAC = \"GetBucketAccelerateConfiguration\";\nconst _GBACO = \"GetBucketAccelerateConfigurationOutput\";\nconst _GBACOe = \"GetBucketAnalyticsConfigurationOutput\";\nconst _GBACR = \"GetBucketAccelerateConfigurationRequest\";\nconst _GBACRe = \"GetBucketAnalyticsConfigurationRequest\";\nconst _GBACe = \"GetBucketAnalyticsConfiguration\";\nconst _GBAO = \"GetBucketAbacOutput\";\nconst _GBAOe = \"GetBucketAclOutput\";\nconst _GBAR = \"GetBucketAbacRequest\";\nconst _GBARe = \"GetBucketAclRequest\";\nconst _GBAe = \"GetBucketAcl\";\nconst _GBC = \"GetBucketCors\";\nconst _GBCO = \"GetBucketCorsOutput\";\nconst _GBCR = \"GetBucketCorsRequest\";\nconst _GBE = \"GetBucketEncryption\";\nconst _GBEO = \"GetBucketEncryptionOutput\";\nconst _GBER = \"GetBucketEncryptionRequest\";\nconst _GBIC = \"GetBucketInventoryConfiguration\";\nconst _GBICO = \"GetBucketInventoryConfigurationOutput\";\nconst _GBICR = \"GetBucketInventoryConfigurationRequest\";\nconst _GBITC = \"GetBucketIntelligentTieringConfiguration\";\nconst _GBITCO = \"GetBucketIntelligentTieringConfigurationOutput\";\nconst _GBITCR = \"GetBucketIntelligentTieringConfigurationRequest\";\nconst _GBL = \"GetBucketLocation\";\nconst _GBLC = \"GetBucketLifecycleConfiguration\";\nconst _GBLCO = \"GetBucketLifecycleConfigurationOutput\";\nconst _GBLCR = \"GetBucketLifecycleConfigurationRequest\";\nconst _GBLO = \"GetBucketLocationOutput\";\nconst _GBLOe = \"GetBucketLoggingOutput\";\nconst _GBLR = \"GetBucketLocationRequest\";\nconst _GBLRe = \"GetBucketLoggingRequest\";\nconst _GBLe = \"GetBucketLogging\";\nconst _GBMC = \"GetBucketMetadataConfiguration\";\nconst _GBMCO = \"GetBucketMetadataConfigurationOutput\";\nconst _GBMCOe = \"GetBucketMetricsConfigurationOutput\";\nconst _GBMCR = \"GetBucketMetadataConfigurationResult\";\nconst _GBMCRe = \"GetBucketMetadataConfigurationRequest\";\nconst _GBMCRet = \"GetBucketMetricsConfigurationRequest\";\nconst _GBMCe = \"GetBucketMetricsConfiguration\";\nconst _GBMTC = \"GetBucketMetadataTableConfiguration\";\nconst _GBMTCO = \"GetBucketMetadataTableConfigurationOutput\";\nconst _GBMTCR = \"GetBucketMetadataTableConfigurationResult\";\nconst _GBMTCRe = \"GetBucketMetadataTableConfigurationRequest\";\nconst _GBNC = \"GetBucketNotificationConfiguration\";\nconst _GBNCR = \"GetBucketNotificationConfigurationRequest\";\nconst _GBOC = \"GetBucketOwnershipControls\";\nconst _GBOCO = \"GetBucketOwnershipControlsOutput\";\nconst _GBOCR = \"GetBucketOwnershipControlsRequest\";\nconst _GBP = \"GetBucketPolicy\";\nconst _GBPO = \"GetBucketPolicyOutput\";\nconst _GBPR = \"GetBucketPolicyRequest\";\nconst _GBPS = \"GetBucketPolicyStatus\";\nconst _GBPSO = \"GetBucketPolicyStatusOutput\";\nconst _GBPSR = \"GetBucketPolicyStatusRequest\";\nconst _GBR = \"GetBucketReplication\";\nconst _GBRO = \"GetBucketReplicationOutput\";\nconst _GBRP = \"GetBucketRequestPayment\";\nconst _GBRPO = \"GetBucketRequestPaymentOutput\";\nconst _GBRPR = \"GetBucketRequestPaymentRequest\";\nconst _GBRR = \"GetBucketReplicationRequest\";\nconst _GBT = \"GetBucketTagging\";\nconst _GBTO = \"GetBucketTaggingOutput\";\nconst _GBTR = \"GetBucketTaggingRequest\";\nconst _GBV = \"GetBucketVersioning\";\nconst _GBVO = \"GetBucketVersioningOutput\";\nconst _GBVR = \"GetBucketVersioningRequest\";\nconst _GBW = \"GetBucketWebsite\";\nconst _GBWO = \"GetBucketWebsiteOutput\";\nconst _GBWR = \"GetBucketWebsiteRequest\";\nconst _GFC = \"GrantFullControl\";\nconst _GJP = \"GlacierJobParameters\";\nconst _GO = \"GetObject\";\nconst _GOA = \"GetObjectAcl\";\nconst _GOAO = \"GetObjectAclOutput\";\nconst _GOAOe = \"GetObjectAttributesOutput\";\nconst _GOAP = \"GetObjectAttributesParts\";\nconst _GOAR = \"GetObjectAclRequest\";\nconst _GOARe = \"GetObjectAttributesResponse\";\nconst _GOARet = \"GetObjectAttributesRequest\";\nconst _GOAe = \"GetObjectAttributes\";\nconst _GOLC = \"GetObjectLockConfiguration\";\nconst _GOLCO = \"GetObjectLockConfigurationOutput\";\nconst _GOLCR = \"GetObjectLockConfigurationRequest\";\nconst _GOLH = \"GetObjectLegalHold\";\nconst _GOLHO = \"GetObjectLegalHoldOutput\";\nconst _GOLHR = \"GetObjectLegalHoldRequest\";\nconst _GOO = \"GetObjectOutput\";\nconst _GOR = \"GetObjectRequest\";\nconst _GORO = \"GetObjectRetentionOutput\";\nconst _GORR = \"GetObjectRetentionRequest\";\nconst _GORe = \"GetObjectRetention\";\nconst _GOT = \"GetObjectTagging\";\nconst _GOTO = \"GetObjectTaggingOutput\";\nconst _GOTOe = \"GetObjectTorrentOutput\";\nconst _GOTR = \"GetObjectTaggingRequest\";\nconst _GOTRe = \"GetObjectTorrentRequest\";\nconst _GOTe = \"GetObjectTorrent\";\nconst _GPAB = \"GetPublicAccessBlock\";\nconst _GPABO = \"GetPublicAccessBlockOutput\";\nconst _GPABR = \"GetPublicAccessBlockRequest\";\nconst _GR = \"GrantRead\";\nconst _GRACP = \"GrantReadACP\";\nconst _GW = \"GrantWrite\";\nconst _GWACP = \"GrantWriteACP\";\nconst _Gr = \"Grant\";\nconst _Gra = \"Grantee\";\nconst _HB = \"HeadBucket\";\nconst _HBO = \"HeadBucketOutput\";\nconst _HBR = \"HeadBucketRequest\";\nconst _HECRE = \"HttpErrorCodeReturnedEquals\";\nconst _HN = \"HostName\";\nconst _HO = \"HeadObject\";\nconst _HOO = \"HeadObjectOutput\";\nconst _HOR = \"HeadObjectRequest\";\nconst _HRC = \"HttpRedirectCode\";\nconst _I = \"Id\";\nconst _IC = \"InventoryConfiguration\";\nconst _ICL = \"InventoryConfigurationList\";\nconst _ID = \"ID\";\nconst _IDn = \"IndexDocument\";\nconst _IDnv = \"InventoryDestination\";\nconst _IE = \"IsEnabled\";\nconst _IEn = \"InventoryEncryption\";\nconst _IF = \"InventoryFilter\";\nconst _IL = \"IsLatest\";\nconst _IM = \"IfMatch\";\nconst _IMIT = \"IfMatchInitiatedTime\";\nconst _IMLMT = \"IfMatchLastModifiedTime\";\nconst _IMS = \"IfMatchSize\";\nconst _IMS_ = \"If-Modified-Since\";\nconst _IMSf = \"IfModifiedSince\";\nconst _IMUR = \"InitiateMultipartUploadResult\";\nconst _IM_ = \"If-Match\";\nconst _INM = \"IfNoneMatch\";\nconst _INM_ = \"If-None-Match\";\nconst _IOF = \"InventoryOptionalFields\";\nconst _IOS = \"InvalidObjectState\";\nconst _IOV = \"IncludedObjectVersions\";\nconst _IP = \"IsPublic\";\nconst _IPA = \"IgnorePublicAcls\";\nconst _IPM = \"IdempotencyParameterMismatch\";\nconst _IR = \"InvalidRequest\";\nconst _IRIP = \"IsRestoreInProgress\";\nconst _IS = \"InputSerialization\";\nconst _ISBD = \"InventoryS3BucketDestination\";\nconst _ISn = \"InventorySchedule\";\nconst _IT = \"IsTruncated\";\nconst _ITAO = \"IntelligentTieringAndOperator\";\nconst _ITC = \"IntelligentTieringConfiguration\";\nconst _ITCL = \"IntelligentTieringConfigurationList\";\nconst _ITCR = \"InventoryTableConfigurationResult\";\nconst _ITCU = \"InventoryTableConfigurationUpdates\";\nconst _ITCn = \"InventoryTableConfiguration\";\nconst _ITF = \"IntelligentTieringFilter\";\nconst _IUS = \"IfUnmodifiedSince\";\nconst _IUS_ = \"If-Unmodified-Since\";\nconst _IWO = \"InvalidWriteOffset\";\nconst _In = \"Initiator\";\nconst _Ini = \"Initiated\";\nconst _JSON = \"JSON\";\nconst _JSONI = \"JSONInput\";\nconst _JSONO = \"JSONOutput\";\nconst _JTC = \"JournalTableConfiguration\";\nconst _JTCR = \"JournalTableConfigurationResult\";\nconst _JTCU = \"JournalTableConfigurationUpdates\";\nconst _K = \"Key\";\nconst _KC = \"KeyCount\";\nconst _KI = \"KeyId\";\nconst _KKA = \"KmsKeyArn\";\nconst _KM = \"KeyMarker\";\nconst _KMSC = \"KMSContext\";\nconst _KMSKA = \"KMSKeyArn\";\nconst _KMSKI = \"KMSKeyId\";\nconst _KMSMKID = \"KMSMasterKeyID\";\nconst _KPE = \"KeyPrefixEquals\";\nconst _L = \"Location\";\nconst _LAMBR = \"ListAllMyBucketsResult\";\nconst _LAMDBR = \"ListAllMyDirectoryBucketsResult\";\nconst _LB = \"ListBuckets\";\nconst _LBAC = \"ListBucketAnalyticsConfigurations\";\nconst _LBACO = \"ListBucketAnalyticsConfigurationsOutput\";\nconst _LBACR = \"ListBucketAnalyticsConfigurationResult\";\nconst _LBACRi = \"ListBucketAnalyticsConfigurationsRequest\";\nconst _LBIC = \"ListBucketInventoryConfigurations\";\nconst _LBICO = \"ListBucketInventoryConfigurationsOutput\";\nconst _LBICR = \"ListBucketInventoryConfigurationsRequest\";\nconst _LBITC = \"ListBucketIntelligentTieringConfigurations\";\nconst _LBITCO = \"ListBucketIntelligentTieringConfigurationsOutput\";\nconst _LBITCR = \"ListBucketIntelligentTieringConfigurationsRequest\";\nconst _LBMC = \"ListBucketMetricsConfigurations\";\nconst _LBMCO = \"ListBucketMetricsConfigurationsOutput\";\nconst _LBMCR = \"ListBucketMetricsConfigurationsRequest\";\nconst _LBO = \"ListBucketsOutput\";\nconst _LBR = \"ListBucketsRequest\";\nconst _LBRi = \"ListBucketResult\";\nconst _LC = \"LocationConstraint\";\nconst _LCi = \"LifecycleConfiguration\";\nconst _LDB = \"ListDirectoryBuckets\";\nconst _LDBO = \"ListDirectoryBucketsOutput\";\nconst _LDBR = \"ListDirectoryBucketsRequest\";\nconst _LE = \"LoggingEnabled\";\nconst _LEi = \"LifecycleExpiration\";\nconst _LFA = \"LambdaFunctionArn\";\nconst _LFC = \"LambdaFunctionConfiguration\";\nconst _LFCL = \"LambdaFunctionConfigurationList\";\nconst _LFCa = \"LambdaFunctionConfigurations\";\nconst _LH = \"LegalHold\";\nconst _LI = \"LocationInfo\";\nconst _LICR = \"ListInventoryConfigurationsResult\";\nconst _LM = \"LastModified\";\nconst _LMCR = \"ListMetricsConfigurationsResult\";\nconst _LMT = \"LastModifiedTime\";\nconst _LMU = \"ListMultipartUploads\";\nconst _LMUO = \"ListMultipartUploadsOutput\";\nconst _LMUR = \"ListMultipartUploadsResult\";\nconst _LMURi = \"ListMultipartUploadsRequest\";\nconst _LM_ = \"Last-Modified\";\nconst _LO = \"ListObjects\";\nconst _LOO = \"ListObjectsOutput\";\nconst _LOR = \"ListObjectsRequest\";\nconst _LOV = \"ListObjectsV2\";\nconst _LOVO = \"ListObjectsV2Output\";\nconst _LOVOi = \"ListObjectVersionsOutput\";\nconst _LOVR = \"ListObjectsV2Request\";\nconst _LOVRi = \"ListObjectVersionsRequest\";\nconst _LOVi = \"ListObjectVersions\";\nconst _LP = \"ListParts\";\nconst _LPO = \"ListPartsOutput\";\nconst _LPR = \"ListPartsResult\";\nconst _LPRi = \"ListPartsRequest\";\nconst _LR = \"LifecycleRule\";\nconst _LRAO = \"LifecycleRuleAndOperator\";\nconst _LRF = \"LifecycleRuleFilter\";\nconst _LRi = \"LifecycleRules\";\nconst _LVR = \"ListVersionsResult\";\nconst _M = \"Metadata\";\nconst _MAO = \"MetricsAndOperator\";\nconst _MAS = \"MaxAgeSeconds\";\nconst _MB = \"MaxBuckets\";\nconst _MC = \"MetadataConfiguration\";\nconst _MCL = \"MetricsConfigurationList\";\nconst _MCR = \"MetadataConfigurationResult\";\nconst _MCe = \"MetricsConfiguration\";\nconst _MD = \"MetadataDirective\";\nconst _MDB = \"MaxDirectoryBuckets\";\nconst _MDf = \"MfaDelete\";\nconst _ME = \"MetadataEntry\";\nconst _MF = \"MetricsFilter\";\nconst _MFA = \"MFA\";\nconst _MFAD = \"MFADelete\";\nconst _MK = \"MaxKeys\";\nconst _MM = \"MissingMeta\";\nconst _MOS = \"MpuObjectSize\";\nconst _MP = \"MaxParts\";\nconst _MTC = \"MetadataTableConfiguration\";\nconst _MTCR = \"MetadataTableConfigurationResult\";\nconst _MTEC = \"MetadataTableEncryptionConfiguration\";\nconst _MU = \"MultipartUpload\";\nconst _MUL = \"MultipartUploadList\";\nconst _MUa = \"MaxUploads\";\nconst _Ma = \"Marker\";\nconst _Me = \"Metrics\";\nconst _Mes = \"Message\";\nconst _Mi = \"Minutes\";\nconst _Mo = \"Mode\";\nconst _N = \"Name\";\nconst _NC = \"NotificationConfiguration\";\nconst _NCF = \"NotificationConfigurationFilter\";\nconst _NCT = \"NextContinuationToken\";\nconst _ND = \"NoncurrentDays\";\nconst _NEKKAS = \"NonEmptyKmsKeyArnString\";\nconst _NF = \"NotFound\";\nconst _NKM = \"NextKeyMarker\";\nconst _NM = \"NextMarker\";\nconst _NNV = \"NewerNoncurrentVersions\";\nconst _NPNM = \"NextPartNumberMarker\";\nconst _NSB = \"NoSuchBucket\";\nconst _NSK = \"NoSuchKey\";\nconst _NSU = \"NoSuchUpload\";\nconst _NUIM = \"NextUploadIdMarker\";\nconst _NVE = \"NoncurrentVersionExpiration\";\nconst _NVIM = \"NextVersionIdMarker\";\nconst _NVT = \"NoncurrentVersionTransitions\";\nconst _NVTL = \"NoncurrentVersionTransitionList\";\nconst _NVTo = \"NoncurrentVersionTransition\";\nconst _O = \"Owner\";\nconst _OA = \"ObjectAttributes\";\nconst _OAIATE = \"ObjectAlreadyInActiveTierError\";\nconst _OC = \"OwnershipControls\";\nconst _OCR = \"OwnershipControlsRule\";\nconst _OCRw = \"OwnershipControlsRules\";\nconst _OE = \"ObjectEncryption\";\nconst _OF = \"OptionalFields\";\nconst _OI = \"ObjectIdentifier\";\nconst _OIL = \"ObjectIdentifierList\";\nconst _OL = \"OutputLocation\";\nconst _OLC = \"ObjectLockConfiguration\";\nconst _OLE = \"ObjectLockEnabled\";\nconst _OLEFB = \"ObjectLockEnabledForBucket\";\nconst _OLLH = \"ObjectLockLegalHold\";\nconst _OLLHS = \"ObjectLockLegalHoldStatus\";\nconst _OLM = \"ObjectLockMode\";\nconst _OLR = \"ObjectLockRetention\";\nconst _OLRUD = \"ObjectLockRetainUntilDate\";\nconst _OLRb = \"ObjectLockRule\";\nconst _OLb = \"ObjectList\";\nconst _ONIATE = \"ObjectNotInActiveTierError\";\nconst _OO = \"ObjectOwnership\";\nconst _OOA = \"OptionalObjectAttributes\";\nconst _OP = \"ObjectParts\";\nconst _OPb = \"ObjectPart\";\nconst _OS = \"ObjectSize\";\nconst _OSGT = \"ObjectSizeGreaterThan\";\nconst _OSLT = \"ObjectSizeLessThan\";\nconst _OSV = \"OutputSchemaVersion\";\nconst _OSu = \"OutputSerialization\";\nconst _OV = \"ObjectVersion\";\nconst _OVL = \"ObjectVersionList\";\nconst _Ob = \"Objects\";\nconst _Obj = \"Object\";\nconst _P = \"Prefix\";\nconst _PABC = \"PublicAccessBlockConfiguration\";\nconst _PBA = \"PutBucketAbac\";\nconst _PBAC = \"PutBucketAccelerateConfiguration\";\nconst _PBACR = \"PutBucketAccelerateConfigurationRequest\";\nconst _PBACRu = \"PutBucketAnalyticsConfigurationRequest\";\nconst _PBACu = \"PutBucketAnalyticsConfiguration\";\nconst _PBAR = \"PutBucketAbacRequest\";\nconst _PBARu = \"PutBucketAclRequest\";\nconst _PBAu = \"PutBucketAcl\";\nconst _PBC = \"PutBucketCors\";\nconst _PBCR = \"PutBucketCorsRequest\";\nconst _PBE = \"PutBucketEncryption\";\nconst _PBER = \"PutBucketEncryptionRequest\";\nconst _PBIC = \"PutBucketInventoryConfiguration\";\nconst _PBICR = \"PutBucketInventoryConfigurationRequest\";\nconst _PBITC = \"PutBucketIntelligentTieringConfiguration\";\nconst _PBITCR = \"PutBucketIntelligentTieringConfigurationRequest\";\nconst _PBL = \"PutBucketLogging\";\nconst _PBLC = \"PutBucketLifecycleConfiguration\";\nconst _PBLCO = \"PutBucketLifecycleConfigurationOutput\";\nconst _PBLCR = \"PutBucketLifecycleConfigurationRequest\";\nconst _PBLR = \"PutBucketLoggingRequest\";\nconst _PBMC = \"PutBucketMetricsConfiguration\";\nconst _PBMCR = \"PutBucketMetricsConfigurationRequest\";\nconst _PBNC = \"PutBucketNotificationConfiguration\";\nconst _PBNCR = \"PutBucketNotificationConfigurationRequest\";\nconst _PBOC = \"PutBucketOwnershipControls\";\nconst _PBOCR = \"PutBucketOwnershipControlsRequest\";\nconst _PBP = \"PutBucketPolicy\";\nconst _PBPR = \"PutBucketPolicyRequest\";\nconst _PBR = \"PutBucketReplication\";\nconst _PBRP = \"PutBucketRequestPayment\";\nconst _PBRPR = \"PutBucketRequestPaymentRequest\";\nconst _PBRR = \"PutBucketReplicationRequest\";\nconst _PBT = \"PutBucketTagging\";\nconst _PBTR = \"PutBucketTaggingRequest\";\nconst _PBV = \"PutBucketVersioning\";\nconst _PBVR = \"PutBucketVersioningRequest\";\nconst _PBW = \"PutBucketWebsite\";\nconst _PBWR = \"PutBucketWebsiteRequest\";\nconst _PC = \"PartsCount\";\nconst _PDS = \"PartitionDateSource\";\nconst _PE = \"ProgressEvent\";\nconst _PI = \"ParquetInput\";\nconst _PL = \"PartsList\";\nconst _PN = \"PartNumber\";\nconst _PNM = \"PartNumberMarker\";\nconst _PO = \"PutObject\";\nconst _POA = \"PutObjectAcl\";\nconst _POAO = \"PutObjectAclOutput\";\nconst _POAR = \"PutObjectAclRequest\";\nconst _POLC = \"PutObjectLockConfiguration\";\nconst _POLCO = \"PutObjectLockConfigurationOutput\";\nconst _POLCR = \"PutObjectLockConfigurationRequest\";\nconst _POLH = \"PutObjectLegalHold\";\nconst _POLHO = \"PutObjectLegalHoldOutput\";\nconst _POLHR = \"PutObjectLegalHoldRequest\";\nconst _POO = \"PutObjectOutput\";\nconst _POR = \"PutObjectRequest\";\nconst _PORO = \"PutObjectRetentionOutput\";\nconst _PORR = \"PutObjectRetentionRequest\";\nconst _PORu = \"PutObjectRetention\";\nconst _POT = \"PutObjectTagging\";\nconst _POTO = \"PutObjectTaggingOutput\";\nconst _POTR = \"PutObjectTaggingRequest\";\nconst _PP = \"PartitionedPrefix\";\nconst _PPAB = \"PutPublicAccessBlock\";\nconst _PPABR = \"PutPublicAccessBlockRequest\";\nconst _PS = \"PolicyStatus\";\nconst _Pa = \"Parts\";\nconst _Par = \"Part\";\nconst _Parq = \"Parquet\";\nconst _Pay = \"Payer\";\nconst _Payl = \"Payload\";\nconst _Pe = \"Permission\";\nconst _Po = \"Policy\";\nconst _Pr = \"Progress\";\nconst _Pri = \"Priority\";\nconst _Pro = \"Protocol\";\nconst _Q = \"Quiet\";\nconst _QA = \"QueueArn\";\nconst _QC = \"QuoteCharacter\";\nconst _QCL = \"QueueConfigurationList\";\nconst _QCu = \"QueueConfigurations\";\nconst _QCue = \"QueueConfiguration\";\nconst _QEC = \"QuoteEscapeCharacter\";\nconst _QF = \"QuoteFields\";\nconst _Qu = \"Queue\";\nconst _R = \"Rules\";\nconst _RART = \"RedirectAllRequestsTo\";\nconst _RC = \"RequestCharged\";\nconst _RCC = \"ResponseCacheControl\";\nconst _RCD = \"ResponseContentDisposition\";\nconst _RCE = \"ResponseContentEncoding\";\nconst _RCL = \"ResponseContentLanguage\";\nconst _RCT = \"ResponseContentType\";\nconst _RCe = \"ReplicationConfiguration\";\nconst _RD = \"RecordDelimiter\";\nconst _RE = \"ResponseExpires\";\nconst _RED = \"RestoreExpiryDate\";\nconst _REe = \"RecordExpiration\";\nconst _REec = \"RecordsEvent\";\nconst _RKKID = \"ReplicaKmsKeyID\";\nconst _RKPW = \"ReplaceKeyPrefixWith\";\nconst _RKW = \"ReplaceKeyWith\";\nconst _RM = \"ReplicaModifications\";\nconst _RO = \"RenameObject\";\nconst _ROO = \"RenameObjectOutput\";\nconst _ROOe = \"RestoreObjectOutput\";\nconst _ROP = \"RestoreOutputPath\";\nconst _ROR = \"RenameObjectRequest\";\nconst _RORe = \"RestoreObjectRequest\";\nconst _ROe = \"RestoreObject\";\nconst _RP = \"RequestPayer\";\nconst _RPB = \"RestrictPublicBuckets\";\nconst _RPC = \"RequestPaymentConfiguration\";\nconst _RPe = \"RequestProgress\";\nconst _RR = \"RoutingRules\";\nconst _RRAO = \"ReplicationRuleAndOperator\";\nconst _RRF = \"ReplicationRuleFilter\";\nconst _RRe = \"ReplicationRule\";\nconst _RRep = \"ReplicationRules\";\nconst _RReq = \"RequestRoute\";\nconst _RRes = \"RestoreRequest\";\nconst _RRo = \"RoutingRule\";\nconst _RS = \"ReplicationStatus\";\nconst _RSe = \"RestoreStatus\";\nconst _RSen = \"RenameSource\";\nconst _RT = \"ReplicationTime\";\nconst _RTV = \"ReplicationTimeValue\";\nconst _RTe = \"RequestToken\";\nconst _RUD = \"RetainUntilDate\";\nconst _Ra = \"Range\";\nconst _Re = \"Restore\";\nconst _Rec = \"Records\";\nconst _Red = \"Redirect\";\nconst _Ret = \"Retention\";\nconst _Ro = \"Role\";\nconst _Ru = \"Rule\";\nconst _S = \"Status\";\nconst _SA = \"StartAfter\";\nconst _SAK = \"SecretAccessKey\";\nconst _SAs = \"SseAlgorithm\";\nconst _SB = \"StreamingBlob\";\nconst _SBD = \"S3BucketDestination\";\nconst _SC = \"StorageClass\";\nconst _SCA = \"StorageClassAnalysis\";\nconst _SCADE = \"StorageClassAnalysisDataExport\";\nconst _SCV = \"SessionCredentialValue\";\nconst _SCe = \"SessionCredentials\";\nconst _SCt = \"StatusCode\";\nconst _SDV = \"SkipDestinationValidation\";\nconst _SE = \"StatsEvent\";\nconst _SIM = \"SourceIfMatch\";\nconst _SIMS = \"SourceIfModifiedSince\";\nconst _SINM = \"SourceIfNoneMatch\";\nconst _SIUS = \"SourceIfUnmodifiedSince\";\nconst _SK = \"SSE-KMS\";\nconst _SKEO = \"SseKmsEncryptedObjects\";\nconst _SKF = \"S3KeyFilter\";\nconst _SKe = \"S3Key\";\nconst _SL = \"S3Location\";\nconst _SM = \"SessionMode\";\nconst _SOC = \"SelectObjectContent\";\nconst _SOCES = \"SelectObjectContentEventStream\";\nconst _SOCO = \"SelectObjectContentOutput\";\nconst _SOCR = \"SelectObjectContentRequest\";\nconst _SP = \"SelectParameters\";\nconst _SPi = \"SimplePrefix\";\nconst _SR = \"ScanRange\";\nconst _SS = \"SSE-S3\";\nconst _SSC = \"SourceSelectionCriteria\";\nconst _SSE = \"ServerSideEncryption\";\nconst _SSEA = \"SSEAlgorithm\";\nconst _SSEBD = \"ServerSideEncryptionByDefault\";\nconst _SSEC = \"ServerSideEncryptionConfiguration\";\nconst _SSECA = \"SSECustomerAlgorithm\";\nconst _SSECK = \"SSECustomerKey\";\nconst _SSECKMD = \"SSECustomerKeyMD5\";\nconst _SSEKMS = \"SSEKMS\";\nconst _SSEKMSE = \"SSEKMSEncryption\";\nconst _SSEKMSEC = \"SSEKMSEncryptionContext\";\nconst _SSEKMSKI = \"SSEKMSKeyId\";\nconst _SSER = \"ServerSideEncryptionRule\";\nconst _SSERe = \"ServerSideEncryptionRules\";\nconst _SSES = \"SSES3\";\nconst _ST = \"SessionToken\";\nconst _STD = \"S3TablesDestination\";\nconst _STDR = \"S3TablesDestinationResult\";\nconst _S_ = \"S3\";\nconst _Sc = \"Schedule\";\nconst _Si = \"Size\";\nconst _St = \"Start\";\nconst _Sta = \"Stats\";\nconst _Su = \"Suffix\";\nconst _T = \"Tags\";\nconst _TA = \"TableArn\";\nconst _TAo = \"TopicArn\";\nconst _TB = \"TargetBucket\";\nconst _TBA = \"TableBucketArn\";\nconst _TBT = \"TableBucketType\";\nconst _TC = \"TagCount\";\nconst _TCL = \"TopicConfigurationList\";\nconst _TCo = \"TopicConfigurations\";\nconst _TCop = \"TopicConfiguration\";\nconst _TD = \"TaggingDirective\";\nconst _TDMOS = \"TransitionDefaultMinimumObjectSize\";\nconst _TG = \"TargetGrants\";\nconst _TGa = \"TargetGrant\";\nconst _TL = \"TieringList\";\nconst _TLr = \"TransitionList\";\nconst _TMP = \"TooManyParts\";\nconst _TN = \"TableNamespace\";\nconst _TNa = \"TableName\";\nconst _TOKF = \"TargetObjectKeyFormat\";\nconst _TP = \"TargetPrefix\";\nconst _TPC = \"TotalPartsCount\";\nconst _TS = \"TagSet\";\nconst _TSa = \"TableStatus\";\nconst _Ta = \"Tag\";\nconst _Tag = \"Tagging\";\nconst _Ti = \"Tier\";\nconst _Tie = \"Tierings\";\nconst _Tier = \"Tiering\";\nconst _Tim = \"Time\";\nconst _To = \"Token\";\nconst _Top = \"Topic\";\nconst _Tr = \"Transitions\";\nconst _Tra = \"Transition\";\nconst _Ty = \"Type\";\nconst _U = \"Uploads\";\nconst _UBMITC = \"UpdateBucketMetadataInventoryTableConfiguration\";\nconst _UBMITCR = \"UpdateBucketMetadataInventoryTableConfigurationRequest\";\nconst _UBMJTC = \"UpdateBucketMetadataJournalTableConfiguration\";\nconst _UBMJTCR = \"UpdateBucketMetadataJournalTableConfigurationRequest\";\nconst _UI = \"UploadId\";\nconst _UIM = \"UploadIdMarker\";\nconst _UM = \"UserMetadata\";\nconst _UOE = \"UpdateObjectEncryption\";\nconst _UOER = \"UpdateObjectEncryptionRequest\";\nconst _UOERp = \"UpdateObjectEncryptionResponse\";\nconst _UP = \"UploadPart\";\nconst _UPC = \"UploadPartCopy\";\nconst _UPCO = \"UploadPartCopyOutput\";\nconst _UPCR = \"UploadPartCopyRequest\";\nconst _UPO = \"UploadPartOutput\";\nconst _UPR = \"UploadPartRequest\";\nconst _URI = \"URI\";\nconst _Up = \"Upload\";\nconst _V = \"Value\";\nconst _VC = \"VersioningConfiguration\";\nconst _VI = \"VersionId\";\nconst _VIM = \"VersionIdMarker\";\nconst _Ve = \"Versions\";\nconst _Ver = \"Version\";\nconst _WC = \"WebsiteConfiguration\";\nconst _WGOR = \"WriteGetObjectResponse\";\nconst _WGORR = \"WriteGetObjectResponseRequest\";\nconst _WOB = \"WriteOffsetBytes\";\nconst _WRL = \"WebsiteRedirectLocation\";\nconst _Y = \"Years\";\nconst _ar = \"accept-ranges\";\nconst _br = \"bucket-region\";\nconst _c = \"client\";\nconst _ct = \"continuation-token\";\nconst _d = \"delimiter\";\nconst _e = \"error\";\nconst _eP = \"eventPayload\";\nconst _en = \"endpoint\";\nconst _et = \"encoding-type\";\nconst _fo = \"fetch-owner\";\nconst _h = \"http\";\nconst _hC = \"httpChecksum\";\nconst _hE = \"httpError\";\nconst _hH = \"httpHeader\";\nconst _hL = \"hostLabel\";\nconst _hP = \"httpPayload\";\nconst _hPH = \"httpPrefixHeaders\";\nconst _hQ = \"httpQuery\";\nconst _hi = \"http://www.w3.org/2001/XMLSchema-instance\";\nconst _i = \"id\";\nconst _iT = \"idempotencyToken\";\nconst _km = \"key-marker\";\nconst _m = \"marker\";\nconst _mb = \"max-buckets\";\nconst _mdb = \"max-directory-buckets\";\nconst _mk = \"max-keys\";\nconst _mp = \"max-parts\";\nconst _mu = \"max-uploads\";\nconst _p = \"prefix\";\nconst _pN = \"partNumber\";\nconst _pnm = \"part-number-marker\";\nconst _rcc = \"response-cache-control\";\nconst _rcd = \"response-content-disposition\";\nconst _rce = \"response-content-encoding\";\nconst _rcl = \"response-content-language\";\nconst _rct = \"response-content-type\";\nconst _re = \"response-expires\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.s3\";\nconst _sa = \"start-after\";\nconst _st = \"streaming\";\nconst _uI = \"uploadId\";\nconst _uim = \"upload-id-marker\";\nconst _vI = \"versionId\";\nconst _vim = \"version-id-marker\";\nconst _x = \"xsi\";\nconst _xA = \"xmlAttribute\";\nconst _xF = \"xmlFlattened\";\nconst _xN = \"xmlName\";\nconst _xNm = \"xmlNamespace\";\nconst _xaa = \"x-amz-acl\";\nconst _xaad = \"x-amz-abort-date\";\nconst _xaapa = \"x-amz-access-point-alias\";\nconst _xaari = \"x-amz-abort-rule-id\";\nconst _xaas = \"x-amz-archive-status\";\nconst _xaba = \"x-amz-bucket-arn\";\nconst _xabgr = \"x-amz-bypass-governance-retention\";\nconst _xabln = \"x-amz-bucket-location-name\";\nconst _xablt = \"x-amz-bucket-location-type\";\nconst _xabn = \"x-amz-bucket-namespace\";\nconst _xabole = \"x-amz-bucket-object-lock-enabled\";\nconst _xabolt = \"x-amz-bucket-object-lock-token\";\nconst _xabr = \"x-amz-bucket-region\";\nconst _xaca = \"x-amz-checksum-algorithm\";\nconst _xacc = \"x-amz-checksum-crc32\";\nconst _xacc_ = \"x-amz-checksum-crc32c\";\nconst _xacc__ = \"x-amz-checksum-crc64nvme\";\nconst _xacm = \"x-amz-checksum-mode\";\nconst _xacrsba = \"x-amz-confirm-remove-self-bucket-access\";\nconst _xacs = \"x-amz-checksum-sha1\";\nconst _xacs_ = \"x-amz-checksum-sha256\";\nconst _xacs__ = \"x-amz-copy-source\";\nconst _xacsim = \"x-amz-copy-source-if-match\";\nconst _xacsims = \"x-amz-copy-source-if-modified-since\";\nconst _xacsinm = \"x-amz-copy-source-if-none-match\";\nconst _xacsius = \"x-amz-copy-source-if-unmodified-since\";\nconst _xacsm = \"x-amz-create-session-mode\";\nconst _xacsr = \"x-amz-copy-source-range\";\nconst _xacssseca = \"x-amz-copy-source-server-side-encryption-customer-algorithm\";\nconst _xacssseck = \"x-amz-copy-source-server-side-encryption-customer-key\";\nconst _xacssseckM = \"x-amz-copy-source-server-side-encryption-customer-key-MD5\";\nconst _xacsvi = \"x-amz-copy-source-version-id\";\nconst _xact = \"x-amz-checksum-type\";\nconst _xact_ = \"x-amz-client-token\";\nconst _xadm = \"x-amz-delete-marker\";\nconst _xae = \"x-amz-expiration\";\nconst _xaebo = \"x-amz-expected-bucket-owner\";\nconst _xafec = \"x-amz-fwd-error-code\";\nconst _xafem = \"x-amz-fwd-error-message\";\nconst _xafhCC = \"x-amz-fwd-header-Cache-Control\";\nconst _xafhCD = \"x-amz-fwd-header-Content-Disposition\";\nconst _xafhCE = \"x-amz-fwd-header-Content-Encoding\";\nconst _xafhCL = \"x-amz-fwd-header-Content-Language\";\nconst _xafhCR = \"x-amz-fwd-header-Content-Range\";\nconst _xafhCT = \"x-amz-fwd-header-Content-Type\";\nconst _xafhE = \"x-amz-fwd-header-ETag\";\nconst _xafhE_ = \"x-amz-fwd-header-Expires\";\nconst _xafhLM = \"x-amz-fwd-header-Last-Modified\";\nconst _xafhar = \"x-amz-fwd-header-accept-ranges\";\nconst _xafhxacc = \"x-amz-fwd-header-x-amz-checksum-crc32\";\nconst _xafhxacc_ = \"x-amz-fwd-header-x-amz-checksum-crc32c\";\nconst _xafhxacc__ = \"x-amz-fwd-header-x-amz-checksum-crc64nvme\";\nconst _xafhxacs = \"x-amz-fwd-header-x-amz-checksum-sha1\";\nconst _xafhxacs_ = \"x-amz-fwd-header-x-amz-checksum-sha256\";\nconst _xafhxadm = \"x-amz-fwd-header-x-amz-delete-marker\";\nconst _xafhxae = \"x-amz-fwd-header-x-amz-expiration\";\nconst _xafhxamm = \"x-amz-fwd-header-x-amz-missing-meta\";\nconst _xafhxampc = \"x-amz-fwd-header-x-amz-mp-parts-count\";\nconst _xafhxaollh = \"x-amz-fwd-header-x-amz-object-lock-legal-hold\";\nconst _xafhxaolm = \"x-amz-fwd-header-x-amz-object-lock-mode\";\nconst _xafhxaolrud = \"x-amz-fwd-header-x-amz-object-lock-retain-until-date\";\nconst _xafhxar = \"x-amz-fwd-header-x-amz-restore\";\nconst _xafhxarc = \"x-amz-fwd-header-x-amz-request-charged\";\nconst _xafhxars = \"x-amz-fwd-header-x-amz-replication-status\";\nconst _xafhxasc = \"x-amz-fwd-header-x-amz-storage-class\";\nconst _xafhxasse = \"x-amz-fwd-header-x-amz-server-side-encryption\";\nconst _xafhxasseakki = \"x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id\";\nconst _xafhxassebke = \"x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled\";\nconst _xafhxasseca = \"x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm\";\nconst _xafhxasseckM = \"x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5\";\nconst _xafhxatc = \"x-amz-fwd-header-x-amz-tagging-count\";\nconst _xafhxavi = \"x-amz-fwd-header-x-amz-version-id\";\nconst _xafs = \"x-amz-fwd-status\";\nconst _xagfc = \"x-amz-grant-full-control\";\nconst _xagr = \"x-amz-grant-read\";\nconst _xagra = \"x-amz-grant-read-acp\";\nconst _xagw = \"x-amz-grant-write\";\nconst _xagwa = \"x-amz-grant-write-acp\";\nconst _xaimit = \"x-amz-if-match-initiated-time\";\nconst _xaimlmt = \"x-amz-if-match-last-modified-time\";\nconst _xaims = \"x-amz-if-match-size\";\nconst _xam = \"x-amz-meta-\";\nconst _xam_ = \"x-amz-mfa\";\nconst _xamd = \"x-amz-metadata-directive\";\nconst _xamm = \"x-amz-missing-meta\";\nconst _xamos = \"x-amz-mp-object-size\";\nconst _xamp = \"x-amz-max-parts\";\nconst _xampc = \"x-amz-mp-parts-count\";\nconst _xaoa = \"x-amz-object-attributes\";\nconst _xaollh = \"x-amz-object-lock-legal-hold\";\nconst _xaolm = \"x-amz-object-lock-mode\";\nconst _xaolrud = \"x-amz-object-lock-retain-until-date\";\nconst _xaoo = \"x-amz-object-ownership\";\nconst _xaooa = \"x-amz-optional-object-attributes\";\nconst _xaos = \"x-amz-object-size\";\nconst _xapnm = \"x-amz-part-number-marker\";\nconst _xar = \"x-amz-restore\";\nconst _xarc = \"x-amz-request-charged\";\nconst _xarop = \"x-amz-restore-output-path\";\nconst _xarp = \"x-amz-request-payer\";\nconst _xarr = \"x-amz-request-route\";\nconst _xars = \"x-amz-replication-status\";\nconst _xars_ = \"x-amz-rename-source\";\nconst _xarsim = \"x-amz-rename-source-if-match\";\nconst _xarsims = \"x-amz-rename-source-if-modified-since\";\nconst _xarsinm = \"x-amz-rename-source-if-none-match\";\nconst _xarsius = \"x-amz-rename-source-if-unmodified-since\";\nconst _xart = \"x-amz-request-token\";\nconst _xasc = \"x-amz-storage-class\";\nconst _xasca = \"x-amz-sdk-checksum-algorithm\";\nconst _xasdv = \"x-amz-skip-destination-validation\";\nconst _xasebo = \"x-amz-source-expected-bucket-owner\";\nconst _xasse = \"x-amz-server-side-encryption\";\nconst _xasseakki = \"x-amz-server-side-encryption-aws-kms-key-id\";\nconst _xassebke = \"x-amz-server-side-encryption-bucket-key-enabled\";\nconst _xassec = \"x-amz-server-side-encryption-context\";\nconst _xasseca = \"x-amz-server-side-encryption-customer-algorithm\";\nconst _xasseck = \"x-amz-server-side-encryption-customer-key\";\nconst _xasseckM = \"x-amz-server-side-encryption-customer-key-MD5\";\nconst _xat = \"x-amz-tagging\";\nconst _xatc = \"x-amz-tagging-count\";\nconst _xatd = \"x-amz-tagging-directive\";\nconst _xatdmos = \"x-amz-transition-default-minimum-object-size\";\nconst _xavi = \"x-amz-version-id\";\nconst _xawob = \"x-amz-write-offset-bytes\";\nconst _xawrl = \"x-amz-website-redirect-location\";\nconst _xs = \"xsi:type\";\nconst n0 = \"com.amazonaws.s3\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { AccessDenied, BucketAlreadyExists, BucketAlreadyOwnedByYou, EncryptionTypeMismatch, IdempotencyParameterMismatch, InvalidObjectState, InvalidRequest, InvalidWriteOffset, NoSuchBucket, NoSuchKey, NoSuchUpload, NotFound, ObjectAlreadyInActiveTierError, ObjectNotInActiveTierError, TooManyParts, } from \"../models/errors\";\nimport { S3ServiceException } from \"../models/S3ServiceException\";\nconst _s_registry = TypeRegistry.for(_s);\nexport var S3ServiceException$ = [-3, _s, \"S3ServiceException\", 0, [], []];\n_s_registry.registerError(S3ServiceException$, S3ServiceException);\nconst n0_registry = TypeRegistry.for(n0);\nexport var AccessDenied$ = [-3, n0, _AD,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(AccessDenied$, AccessDenied);\nexport var BucketAlreadyExists$ = [-3, n0, _BAE,\n { [_e]: _c, [_hE]: 409 },\n [],\n []\n];\nn0_registry.registerError(BucketAlreadyExists$, BucketAlreadyExists);\nexport var BucketAlreadyOwnedByYou$ = [-3, n0, _BAOBY,\n { [_e]: _c, [_hE]: 409 },\n [],\n []\n];\nn0_registry.registerError(BucketAlreadyOwnedByYou$, BucketAlreadyOwnedByYou);\nexport var EncryptionTypeMismatch$ = [-3, n0, _ETM,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(EncryptionTypeMismatch$, EncryptionTypeMismatch);\nexport var IdempotencyParameterMismatch$ = [-3, n0, _IPM,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(IdempotencyParameterMismatch$, IdempotencyParameterMismatch);\nexport var InvalidObjectState$ = [-3, n0, _IOS,\n { [_e]: _c, [_hE]: 403 },\n [_SC, _AT],\n [0, 0]\n];\nn0_registry.registerError(InvalidObjectState$, InvalidObjectState);\nexport var InvalidRequest$ = [-3, n0, _IR,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(InvalidRequest$, InvalidRequest);\nexport var InvalidWriteOffset$ = [-3, n0, _IWO,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(InvalidWriteOffset$, InvalidWriteOffset);\nexport var NoSuchBucket$ = [-3, n0, _NSB,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchBucket$, NoSuchBucket);\nexport var NoSuchKey$ = [-3, n0, _NSK,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchKey$, NoSuchKey);\nexport var NoSuchUpload$ = [-3, n0, _NSU,\n { [_e]: _c, [_hE]: 404 },\n [],\n []\n];\nn0_registry.registerError(NoSuchUpload$, NoSuchUpload);\nexport var NotFound$ = [-3, n0, _NF,\n { [_e]: _c },\n [],\n []\n];\nn0_registry.registerError(NotFound$, NotFound);\nexport var ObjectAlreadyInActiveTierError$ = [-3, n0, _OAIATE,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(ObjectAlreadyInActiveTierError$, ObjectAlreadyInActiveTierError);\nexport var ObjectNotInActiveTierError$ = [-3, n0, _ONIATE,\n { [_e]: _c, [_hE]: 403 },\n [],\n []\n];\nn0_registry.registerError(ObjectNotInActiveTierError$, ObjectNotInActiveTierError);\nexport var TooManyParts$ = [-3, n0, _TMP,\n { [_e]: _c, [_hE]: 400 },\n [],\n []\n];\nn0_registry.registerError(TooManyParts$, TooManyParts);\nexport const errorTypeRegistries = [\n _s_registry,\n n0_registry,\n];\nvar CopySourceSSECustomerKey = [0, n0, _CSSSECK, 8, 0];\nvar NonEmptyKmsKeyArnString = [0, n0, _NEKKAS, 8, 0];\nvar SessionCredentialValue = [0, n0, _SCV, 8, 0];\nvar SSECustomerKey = [0, n0, _SSECK, 8, 0];\nvar SSEKMSEncryptionContext = [0, n0, _SSEKMSEC, 8, 0];\nvar SSEKMSKeyId = [0, n0, _SSEKMSKI, 8, 0];\nvar StreamingBlob = [0, n0, _SB, { [_st]: 1 }, 42];\nexport var AbacStatus$ = [3, n0, _AS,\n 0,\n [_S],\n [0]\n];\nexport var AbortIncompleteMultipartUpload$ = [3, n0, _AIMU,\n 0,\n [_DAI],\n [1]\n];\nexport var AbortMultipartUploadOutput$ = [3, n0, _AMUO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var AbortMultipartUploadRequest$ = [3, n0, _AMUR,\n 0,\n [_B, _K, _UI, _RP, _EBO, _IMIT],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [6, { [_hH]: _xaimit }]], 3\n];\nexport var AccelerateConfiguration$ = [3, n0, _AC,\n 0,\n [_S],\n [0]\n];\nexport var AccessControlPolicy$ = [3, n0, _ACP,\n 0,\n [_G, _O],\n [[() => Grants, { [_xN]: _ACL }], () => Owner$]\n];\nexport var AccessControlTranslation$ = [3, n0, _ACT,\n 0,\n [_O],\n [0], 1\n];\nexport var AnalyticsAndOperator$ = [3, n0, _AAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var AnalyticsConfiguration$ = [3, n0, _ACn,\n 0,\n [_I, _SCA, _F],\n [0, () => StorageClassAnalysis$, [() => AnalyticsFilter$, 0]], 2\n];\nexport var AnalyticsExportDestination$ = [3, n0, _AED,\n 0,\n [_SBD],\n [() => AnalyticsS3BucketDestination$], 1\n];\nexport var AnalyticsS3BucketDestination$ = [3, n0, _ASBD,\n 0,\n [_Fo, _B, _BAI, _P],\n [0, 0, 0, 0], 2\n];\nexport var BlockedEncryptionTypes$ = [3, n0, _BET,\n 0,\n [_ET],\n [[() => EncryptionTypeList, { [_xF]: 1 }]]\n];\nexport var Bucket$ = [3, n0, _B,\n 0,\n [_N, _CD, _BR, _BA],\n [0, 4, 0, 0]\n];\nexport var BucketInfo$ = [3, n0, _BI,\n 0,\n [_DR, _Ty],\n [0, 0]\n];\nexport var BucketLifecycleConfiguration$ = [3, n0, _BLC,\n 0,\n [_R],\n [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var BucketLoggingStatus$ = [3, n0, _BLS,\n 0,\n [_LE],\n [[() => LoggingEnabled$, 0]]\n];\nexport var Checksum$ = [3, n0, _C,\n 0,\n [_CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT],\n [0, 0, 0, 0, 0, 0]\n];\nexport var CommonPrefix$ = [3, n0, _CP,\n 0,\n [_P],\n [0]\n];\nexport var CompletedMultipartUpload$ = [3, n0, _CMU,\n 0,\n [_Pa],\n [[() => CompletedPartList, { [_xF]: 1, [_xN]: _Par }]]\n];\nexport var CompletedPart$ = [3, n0, _CPo,\n 0,\n [_ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _PN],\n [0, 0, 0, 0, 0, 0, 1]\n];\nexport var CompleteMultipartUploadOutput$ = [3, n0, _CMUO,\n { [_xN]: _CMUR },\n [_L, _B, _K, _E, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _SSE, _VI, _SSEKMSKI, _BKE, _RC],\n [0, 0, 0, [0, { [_hH]: _xae }], 0, 0, 0, 0, 0, 0, 0, [0, { [_hH]: _xasse }], [0, { [_hH]: _xavi }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var CompleteMultipartUploadRequest$ = [3, n0, _CMURo,\n 0,\n [_B, _K, _UI, _MU, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _MOS, _RP, _EBO, _IM, _INM, _SSECA, _SSECK, _SSECKMD],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [() => CompletedMultipartUpload$, { [_hP]: 1, [_xN]: _CMUo }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [1, { [_hH]: _xamos }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }]], 3\n];\nexport var Condition$ = [3, n0, _Co,\n 0,\n [_HECRE, _KPE],\n [0, 0]\n];\nexport var ContinuationEvent$ = [3, n0, _CE,\n 0,\n [],\n []\n];\nexport var CopyObjectOutput$ = [3, n0, _COO,\n 0,\n [_COR, _E, _CSVI, _VI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC],\n [[() => CopyObjectResult$, 16], [0, { [_hH]: _xae }], [0, { [_hH]: _xacsvi }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var CopyObjectRequest$ = [3, n0, _CORo,\n 0,\n [_B, _CS, _K, _ACL_, _CC, _CA, _CDo, _CEo, _CL, _CTo, _CSIM, _CSIMS, _CSINM, _CSIUS, _Ex, _GFC, _GR, _GRACP, _GWACP, _IM, _INM, _M, _MD, _TD, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO, _ESBO],\n [[0, 1], [0, { [_hH]: _xacs__ }], [0, 1], [0, { [_hH]: _xaa }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _xaca }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _xacsim }], [4, { [_hH]: _xacsims }], [0, { [_hH]: _xacsinm }], [4, { [_hH]: _xacsius }], [4, { [_hH]: _Ex }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xamd }], [0, { [_hH]: _xatd }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH]: _xacssseck }], [0, { [_hH]: _xacssseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasebo }]], 3\n];\nexport var CopyObjectResult$ = [3, n0, _COR,\n 0,\n [_ETa, _LM, _CT, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [0, 4, 0, 0, 0, 0, 0, 0]\n];\nexport var CopyPartResult$ = [3, n0, _CPR,\n 0,\n [_ETa, _LM, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [0, 4, 0, 0, 0, 0, 0]\n];\nexport var CORSConfiguration$ = [3, n0, _CORSC,\n 0,\n [_CORSR],\n [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]], 1\n];\nexport var CORSRule$ = [3, n0, _CORSRu,\n 0,\n [_AM, _AO, _ID, _AH, _EH, _MAS],\n [[64 | 0, { [_xF]: 1, [_xN]: _AMl }], [64 | 0, { [_xF]: 1, [_xN]: _AOl }], 0, [64 | 0, { [_xF]: 1, [_xN]: _AHl }], [64 | 0, { [_xF]: 1, [_xN]: _EHx }], 1], 2\n];\nexport var CreateBucketConfiguration$ = [3, n0, _CBC,\n 0,\n [_LC, _L, _B, _T],\n [0, () => LocationInfo$, () => BucketInfo$, [() => TagSet, 0]]\n];\nexport var CreateBucketMetadataConfigurationRequest$ = [3, n0, _CBMCR,\n 0,\n [_B, _MC, _CMD, _CA, _EBO],\n [[0, 1], [() => MetadataConfiguration$, { [_hP]: 1, [_xN]: _MC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var CreateBucketMetadataTableConfigurationRequest$ = [3, n0, _CBMTCR,\n 0,\n [_B, _MTC, _CMD, _CA, _EBO],\n [[0, 1], [() => MetadataTableConfiguration$, { [_hP]: 1, [_xN]: _MTC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var CreateBucketOutput$ = [3, n0, _CBO,\n 0,\n [_L, _BA],\n [[0, { [_hH]: _L }], [0, { [_hH]: _xaba }]]\n];\nexport var CreateBucketRequest$ = [3, n0, _CBR,\n 0,\n [_B, _ACL_, _CBC, _GFC, _GR, _GRACP, _GW, _GWACP, _OLEFB, _OO, _BN],\n [[0, 1], [0, { [_hH]: _xaa }], [() => CreateBucketConfiguration$, { [_hP]: 1, [_xN]: _CBC }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [2, { [_hH]: _xabole }], [0, { [_hH]: _xaoo }], [0, { [_hH]: _xabn }]], 1\n];\nexport var CreateMultipartUploadOutput$ = [3, n0, _CMUOr,\n { [_xN]: _IMUR },\n [_ADb, _ARI, _B, _K, _UI, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RC, _CA, _CT],\n [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], [0, { [_xN]: _B }], 0, 0, [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xaca }], [0, { [_hH]: _xact }]]\n];\nexport var CreateMultipartUploadRequest$ = [3, n0, _CMURr,\n 0,\n [_B, _K, _ACL_, _CC, _CDo, _CEo, _CL, _CTo, _Ex, _GFC, _GR, _GRACP, _GWACP, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO, _CA, _CT],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xaca }], [0, { [_hH]: _xact }]], 2\n];\nexport var CreateSessionOutput$ = [3, n0, _CSO,\n { [_xN]: _CSR },\n [_Cr, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],\n [[() => SessionCredentials$, { [_xN]: _Cr }], [0, { [_hH]: _xasse }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }]], 1\n];\nexport var CreateSessionRequest$ = [3, n0, _CSRr,\n 0,\n [_B, _SM, _SSE, _SSEKMSKI, _SSEKMSEC, _BKE],\n [[0, 1], [0, { [_hH]: _xacsm }], [0, { [_hH]: _xasse }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }]], 1\n];\nexport var CSVInput$ = [3, n0, _CSVIn,\n 0,\n [_FHI, _Com, _QEC, _RD, _FD, _QC, _AQRD],\n [0, 0, 0, 0, 0, 0, 2]\n];\nexport var CSVOutput$ = [3, n0, _CSVO,\n 0,\n [_QF, _QEC, _RD, _FD, _QC],\n [0, 0, 0, 0, 0]\n];\nexport var DefaultRetention$ = [3, n0, _DRe,\n 0,\n [_Mo, _D, _Y],\n [0, 1, 1]\n];\nexport var Delete$ = [3, n0, _De,\n 0,\n [_Ob, _Q],\n [[() => ObjectIdentifierList, { [_xF]: 1, [_xN]: _Obj }], 2], 1\n];\nexport var DeleteBucketAnalyticsConfigurationRequest$ = [3, n0, _DBACR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketCorsRequest$ = [3, n0, _DBCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketEncryptionRequest$ = [3, n0, _DBER,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketIntelligentTieringConfigurationRequest$ = [3, n0, _DBITCR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketInventoryConfigurationRequest$ = [3, n0, _DBICR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketLifecycleRequest$ = [3, n0, _DBLR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetadataConfigurationRequest$ = [3, n0, _DBMCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetadataTableConfigurationRequest$ = [3, n0, _DBMTCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketMetricsConfigurationRequest$ = [3, n0, _DBMCRe,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeleteBucketOwnershipControlsRequest$ = [3, n0, _DBOCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketPolicyRequest$ = [3, n0, _DBPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketReplicationRequest$ = [3, n0, _DBRR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketRequest$ = [3, n0, _DBR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketTaggingRequest$ = [3, n0, _DBTR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeleteBucketWebsiteRequest$ = [3, n0, _DBWR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var DeletedObject$ = [3, n0, _DO,\n 0,\n [_K, _VI, _DM, _DMVI],\n [0, 0, 2, 0]\n];\nexport var DeleteMarkerEntry$ = [3, n0, _DME,\n 0,\n [_O, _K, _VI, _IL, _LM],\n [() => Owner$, 0, 0, 2, 4]\n];\nexport var DeleteMarkerReplication$ = [3, n0, _DMR,\n 0,\n [_S],\n [0]\n];\nexport var DeleteObjectOutput$ = [3, n0, _DOO,\n 0,\n [_DM, _VI, _RC],\n [[2, { [_hH]: _xadm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xarc }]]\n];\nexport var DeleteObjectRequest$ = [3, n0, _DOR,\n 0,\n [_B, _K, _MFA, _VI, _RP, _BGR, _EBO, _IM, _IMLMT, _IMS],\n [[0, 1], [0, 1], [0, { [_hH]: _xam_ }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _IM_ }], [6, { [_hH]: _xaimlmt }], [1, { [_hH]: _xaims }]], 2\n];\nexport var DeleteObjectsOutput$ = [3, n0, _DOOe,\n { [_xN]: _DRel },\n [_Del, _RC, _Er],\n [[() => DeletedObjects, { [_xF]: 1 }], [0, { [_hH]: _xarc }], [() => Errors, { [_xF]: 1, [_xN]: _Err }]]\n];\nexport var DeleteObjectsRequest$ = [3, n0, _DORe,\n 0,\n [_B, _De, _MFA, _RP, _BGR, _EBO, _CA],\n [[0, 1], [() => Delete$, { [_hP]: 1, [_xN]: _De }], [0, { [_hH]: _xam_ }], [0, { [_hH]: _xarp }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var DeleteObjectTaggingOutput$ = [3, n0, _DOTO,\n 0,\n [_VI],\n [[0, { [_hH]: _xavi }]]\n];\nexport var DeleteObjectTaggingRequest$ = [3, n0, _DOTR,\n 0,\n [_B, _K, _VI, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var DeletePublicAccessBlockRequest$ = [3, n0, _DPABR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var Destination$ = [3, n0, _Des,\n 0,\n [_B, _A, _SC, _ACT, _EC, _RT, _Me],\n [0, 0, 0, () => AccessControlTranslation$, () => EncryptionConfiguration$, () => ReplicationTime$, () => Metrics$], 1\n];\nexport var DestinationResult$ = [3, n0, _DRes,\n 0,\n [_TBT, _TBA, _TN],\n [0, 0, 0]\n];\nexport var Encryption$ = [3, n0, _En,\n 0,\n [_ET, _KMSKI, _KMSC],\n [0, [() => SSEKMSKeyId, 0], 0], 1\n];\nexport var EncryptionConfiguration$ = [3, n0, _EC,\n 0,\n [_RKKID],\n [0]\n];\nexport var EndEvent$ = [3, n0, _EE,\n 0,\n [],\n []\n];\nexport var _Error$ = [3, n0, _Err,\n 0,\n [_K, _VI, _Cod, _Mes],\n [0, 0, 0, 0]\n];\nexport var ErrorDetails$ = [3, n0, _ED,\n 0,\n [_ECr, _EM],\n [0, 0]\n];\nexport var ErrorDocument$ = [3, n0, _EDr,\n 0,\n [_K],\n [0], 1\n];\nexport var EventBridgeConfiguration$ = [3, n0, _EBC,\n 0,\n [],\n []\n];\nexport var ExistingObjectReplication$ = [3, n0, _EOR,\n 0,\n [_S],\n [0], 1\n];\nexport var FilterRule$ = [3, n0, _FR,\n 0,\n [_N, _V],\n [0, 0]\n];\nexport var GetBucketAbacOutput$ = [3, n0, _GBAO,\n 0,\n [_AS],\n [[() => AbacStatus$, 16]]\n];\nexport var GetBucketAbacRequest$ = [3, n0, _GBAR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketAccelerateConfigurationOutput$ = [3, n0, _GBACO,\n { [_xN]: _AC },\n [_S, _RC],\n [0, [0, { [_hH]: _xarc }]]\n];\nexport var GetBucketAccelerateConfigurationRequest$ = [3, n0, _GBACR,\n 0,\n [_B, _EBO, _RP],\n [[0, 1], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 1\n];\nexport var GetBucketAclOutput$ = [3, n0, _GBAOe,\n { [_xN]: _ACP },\n [_O, _G],\n [() => Owner$, [() => Grants, { [_xN]: _ACL }]]\n];\nexport var GetBucketAclRequest$ = [3, n0, _GBARe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketAnalyticsConfigurationOutput$ = [3, n0, _GBACOe,\n 0,\n [_ACn],\n [[() => AnalyticsConfiguration$, 16]]\n];\nexport var GetBucketAnalyticsConfigurationRequest$ = [3, n0, _GBACRe,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketCorsOutput$ = [3, n0, _GBCO,\n { [_xN]: _CORSC },\n [_CORSR],\n [[() => CORSRules, { [_xF]: 1, [_xN]: _CORSRu }]]\n];\nexport var GetBucketCorsRequest$ = [3, n0, _GBCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketEncryptionOutput$ = [3, n0, _GBEO,\n 0,\n [_SSEC],\n [[() => ServerSideEncryptionConfiguration$, 16]]\n];\nexport var GetBucketEncryptionRequest$ = [3, n0, _GBER,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketIntelligentTieringConfigurationOutput$ = [3, n0, _GBITCO,\n 0,\n [_ITC],\n [[() => IntelligentTieringConfiguration$, 16]]\n];\nexport var GetBucketIntelligentTieringConfigurationRequest$ = [3, n0, _GBITCR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketInventoryConfigurationOutput$ = [3, n0, _GBICO,\n 0,\n [_IC],\n [[() => InventoryConfiguration$, 16]]\n];\nexport var GetBucketInventoryConfigurationRequest$ = [3, n0, _GBICR,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketLifecycleConfigurationOutput$ = [3, n0, _GBLCO,\n { [_xN]: _LCi },\n [_R, _TDMOS],\n [[() => LifecycleRules, { [_xF]: 1, [_xN]: _Ru }], [0, { [_hH]: _xatdmos }]]\n];\nexport var GetBucketLifecycleConfigurationRequest$ = [3, n0, _GBLCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketLocationOutput$ = [3, n0, _GBLO,\n { [_xN]: _LC },\n [_LC],\n [0]\n];\nexport var GetBucketLocationRequest$ = [3, n0, _GBLR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketLoggingOutput$ = [3, n0, _GBLOe,\n { [_xN]: _BLS },\n [_LE],\n [[() => LoggingEnabled$, 0]]\n];\nexport var GetBucketLoggingRequest$ = [3, n0, _GBLRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataConfigurationOutput$ = [3, n0, _GBMCO,\n 0,\n [_GBMCR],\n [[() => GetBucketMetadataConfigurationResult$, 16]]\n];\nexport var GetBucketMetadataConfigurationRequest$ = [3, n0, _GBMCRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataConfigurationResult$ = [3, n0, _GBMCR,\n 0,\n [_MCR],\n [() => MetadataConfigurationResult$], 1\n];\nexport var GetBucketMetadataTableConfigurationOutput$ = [3, n0, _GBMTCO,\n 0,\n [_GBMTCR],\n [[() => GetBucketMetadataTableConfigurationResult$, 16]]\n];\nexport var GetBucketMetadataTableConfigurationRequest$ = [3, n0, _GBMTCRe,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketMetadataTableConfigurationResult$ = [3, n0, _GBMTCR,\n 0,\n [_MTCR, _S, _Err],\n [() => MetadataTableConfigurationResult$, 0, () => ErrorDetails$], 2\n];\nexport var GetBucketMetricsConfigurationOutput$ = [3, n0, _GBMCOe,\n 0,\n [_MCe],\n [[() => MetricsConfiguration$, 16]]\n];\nexport var GetBucketMetricsConfigurationRequest$ = [3, n0, _GBMCRet,\n 0,\n [_B, _I, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetBucketNotificationConfigurationRequest$ = [3, n0, _GBNCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketOwnershipControlsOutput$ = [3, n0, _GBOCO,\n 0,\n [_OC],\n [[() => OwnershipControls$, 16]]\n];\nexport var GetBucketOwnershipControlsRequest$ = [3, n0, _GBOCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketPolicyOutput$ = [3, n0, _GBPO,\n 0,\n [_Po],\n [[0, 16]]\n];\nexport var GetBucketPolicyRequest$ = [3, n0, _GBPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketPolicyStatusOutput$ = [3, n0, _GBPSO,\n 0,\n [_PS],\n [[() => PolicyStatus$, 16]]\n];\nexport var GetBucketPolicyStatusRequest$ = [3, n0, _GBPSR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketReplicationOutput$ = [3, n0, _GBRO,\n 0,\n [_RCe],\n [[() => ReplicationConfiguration$, 16]]\n];\nexport var GetBucketReplicationRequest$ = [3, n0, _GBRR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketRequestPaymentOutput$ = [3, n0, _GBRPO,\n { [_xN]: _RPC },\n [_Pay],\n [0]\n];\nexport var GetBucketRequestPaymentRequest$ = [3, n0, _GBRPR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketTaggingOutput$ = [3, n0, _GBTO,\n { [_xN]: _Tag },\n [_TS],\n [[() => TagSet, 0]], 1\n];\nexport var GetBucketTaggingRequest$ = [3, n0, _GBTR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketVersioningOutput$ = [3, n0, _GBVO,\n { [_xN]: _VC },\n [_S, _MFAD],\n [0, [0, { [_xN]: _MDf }]]\n];\nexport var GetBucketVersioningRequest$ = [3, n0, _GBVR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetBucketWebsiteOutput$ = [3, n0, _GBWO,\n { [_xN]: _WC },\n [_RART, _IDn, _EDr, _RR],\n [() => RedirectAllRequestsTo$, () => IndexDocument$, () => ErrorDocument$, [() => RoutingRules, 0]]\n];\nexport var GetBucketWebsiteRequest$ = [3, n0, _GBWR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetObjectAclOutput$ = [3, n0, _GOAO,\n { [_xN]: _ACP },\n [_O, _G, _RC],\n [() => Owner$, [() => Grants, { [_xN]: _ACL }], [0, { [_hH]: _xarc }]]\n];\nexport var GetObjectAclRequest$ = [3, n0, _GOAR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectAttributesOutput$ = [3, n0, _GOAOe,\n { [_xN]: _GOARe },\n [_DM, _LM, _VI, _RC, _ETa, _C, _OP, _SC, _OS],\n [[2, { [_hH]: _xadm }], [4, { [_hH]: _LM_ }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xarc }], 0, () => Checksum$, [() => GetObjectAttributesParts$, 0], 0, 1]\n];\nexport var GetObjectAttributesParts$ = [3, n0, _GOAP,\n 0,\n [_TPC, _PNM, _NPNM, _MP, _IT, _Pa],\n [[1, { [_xN]: _PC }], 0, 0, 1, 2, [() => PartsList, { [_xF]: 1, [_xN]: _Par }]]\n];\nexport var GetObjectAttributesRequest$ = [3, n0, _GOARet,\n 0,\n [_B, _K, _OA, _VI, _MP, _PNM, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],\n [[0, 1], [0, 1], [64 | 0, { [_hH]: _xaoa }], [0, { [_hQ]: _vI }], [1, { [_hH]: _xamp }], [0, { [_hH]: _xapnm }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var GetObjectLegalHoldOutput$ = [3, n0, _GOLHO,\n 0,\n [_LH],\n [[() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }]]\n];\nexport var GetObjectLegalHoldRequest$ = [3, n0, _GOLHR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectLockConfigurationOutput$ = [3, n0, _GOLCO,\n 0,\n [_OLC],\n [[() => ObjectLockConfiguration$, 16]]\n];\nexport var GetObjectLockConfigurationRequest$ = [3, n0, _GOLCR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GetObjectOutput$ = [3, n0, _GOO,\n 0,\n [_Bo, _DM, _AR, _E, _Re, _LM, _CLo, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _MM, _VI, _CC, _CDo, _CEo, _CL, _CR, _CTo, _Ex, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC, _RS, _PC, _TC, _OLM, _OLRUD, _OLLHS],\n [[() => StreamingBlob, 16], [2, { [_hH]: _xadm }], [0, { [_hH]: _ar }], [0, { [_hH]: _xae }], [0, { [_hH]: _xar }], [4, { [_hH]: _LM_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [1, { [_hH]: _xamm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CR_ }], [0, { [_hH]: _CT_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _ES }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xars }], [1, { [_hH]: _xampc }], [1, { [_hH]: _xatc }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }]]\n];\nexport var GetObjectRequest$ = [3, n0, _GOR,\n 0,\n [_B, _K, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],\n [[0, 1], [0, 1], [0, { [_hH]: _IM_ }], [4, { [_hH]: _IMS_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _Ra }], [0, { [_hQ]: _rcc }], [0, { [_hQ]: _rcd }], [0, { [_hQ]: _rce }], [0, { [_hQ]: _rcl }], [0, { [_hQ]: _rct }], [6, { [_hQ]: _re }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [1, { [_hQ]: _pN }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xacm }]], 2\n];\nexport var GetObjectRetentionOutput$ = [3, n0, _GORO,\n 0,\n [_Ret],\n [[() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }]]\n];\nexport var GetObjectRetentionRequest$ = [3, n0, _GORR,\n 0,\n [_B, _K, _VI, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetObjectTaggingOutput$ = [3, n0, _GOTO,\n { [_xN]: _Tag },\n [_TS, _VI],\n [[() => TagSet, 0], [0, { [_hH]: _xavi }]], 1\n];\nexport var GetObjectTaggingRequest$ = [3, n0, _GOTR,\n 0,\n [_B, _K, _VI, _EBO, _RP],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 2\n];\nexport var GetObjectTorrentOutput$ = [3, n0, _GOTOe,\n 0,\n [_Bo, _RC],\n [[() => StreamingBlob, 16], [0, { [_hH]: _xarc }]]\n];\nexport var GetObjectTorrentRequest$ = [3, n0, _GOTRe,\n 0,\n [_B, _K, _RP, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var GetPublicAccessBlockOutput$ = [3, n0, _GPABO,\n 0,\n [_PABC],\n [[() => PublicAccessBlockConfiguration$, 16]]\n];\nexport var GetPublicAccessBlockRequest$ = [3, n0, _GPABR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var GlacierJobParameters$ = [3, n0, _GJP,\n 0,\n [_Ti],\n [0], 1\n];\nexport var Grant$ = [3, n0, _Gr,\n 0,\n [_Gra, _Pe],\n [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]\n];\nexport var Grantee$ = [3, n0, _Gra,\n 0,\n [_Ty, _DN, _EA, _ID, _URI],\n [[0, { [_xA]: 1, [_xN]: _xs }], 0, 0, 0, 0], 1\n];\nexport var HeadBucketOutput$ = [3, n0, _HBO,\n 0,\n [_BA, _BLT, _BLN, _BR, _APA],\n [[0, { [_hH]: _xaba }], [0, { [_hH]: _xablt }], [0, { [_hH]: _xabln }], [0, { [_hH]: _xabr }], [2, { [_hH]: _xaapa }]]\n];\nexport var HeadBucketRequest$ = [3, n0, _HBR,\n 0,\n [_B, _EBO],\n [[0, 1], [0, { [_hH]: _xaebo }]], 1\n];\nexport var HeadObjectOutput$ = [3, n0, _HOO,\n 0,\n [_DM, _AR, _E, _Re, _ASr, _LM, _CLo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _ETa, _MM, _VI, _CC, _CDo, _CEo, _CL, _CTo, _CR, _Ex, _ES, _WRL, _SSE, _M, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _SC, _RC, _RS, _PC, _TC, _OLM, _OLRUD, _OLLHS],\n [[2, { [_hH]: _xadm }], [0, { [_hH]: _ar }], [0, { [_hH]: _xae }], [0, { [_hH]: _xar }], [0, { [_hH]: _xaas }], [4, { [_hH]: _LM_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [0, { [_hH]: _ETa }], [1, { [_hH]: _xamm }], [0, { [_hH]: _xavi }], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _CR_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _ES }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasse }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xarc }], [0, { [_hH]: _xars }], [1, { [_hH]: _xampc }], [1, { [_hH]: _xatc }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }]]\n];\nexport var HeadObjectRequest$ = [3, n0, _HOR,\n 0,\n [_B, _K, _IM, _IMSf, _INM, _IUS, _Ra, _RCC, _RCD, _RCE, _RCL, _RCT, _RE, _VI, _SSECA, _SSECK, _SSECKMD, _RP, _PN, _EBO, _CMh],\n [[0, 1], [0, 1], [0, { [_hH]: _IM_ }], [4, { [_hH]: _IMS_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _Ra }], [0, { [_hQ]: _rcc }], [0, { [_hQ]: _rcd }], [0, { [_hQ]: _rce }], [0, { [_hQ]: _rcl }], [0, { [_hQ]: _rct }], [6, { [_hQ]: _re }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [1, { [_hQ]: _pN }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xacm }]], 2\n];\nexport var IndexDocument$ = [3, n0, _IDn,\n 0,\n [_Su],\n [0], 1\n];\nexport var Initiator$ = [3, n0, _In,\n 0,\n [_ID, _DN],\n [0, 0]\n];\nexport var InputSerialization$ = [3, n0, _IS,\n 0,\n [_CSV, _CTom, _JSON, _Parq],\n [() => CSVInput$, 0, () => JSONInput$, () => ParquetInput$]\n];\nexport var IntelligentTieringAndOperator$ = [3, n0, _ITAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var IntelligentTieringConfiguration$ = [3, n0, _ITC,\n 0,\n [_I, _S, _Tie, _F],\n [0, 0, [() => TieringList, { [_xF]: 1, [_xN]: _Tier }], [() => IntelligentTieringFilter$, 0]], 3\n];\nexport var IntelligentTieringFilter$ = [3, n0, _ITF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => IntelligentTieringAndOperator$, 0]]\n];\nexport var InventoryConfiguration$ = [3, n0, _IC,\n 0,\n [_Des, _IE, _I, _IOV, _Sc, _F, _OF],\n [[() => InventoryDestination$, 0], 2, 0, 0, () => InventorySchedule$, () => InventoryFilter$, [() => InventoryOptionalFields, 0]], 5\n];\nexport var InventoryDestination$ = [3, n0, _IDnv,\n 0,\n [_SBD],\n [[() => InventoryS3BucketDestination$, 0]], 1\n];\nexport var InventoryEncryption$ = [3, n0, _IEn,\n 0,\n [_SSES, _SSEKMS],\n [[() => SSES3$, { [_xN]: _SS }], [() => SSEKMS$, { [_xN]: _SK }]]\n];\nexport var InventoryFilter$ = [3, n0, _IF,\n 0,\n [_P],\n [0], 1\n];\nexport var InventoryS3BucketDestination$ = [3, n0, _ISBD,\n 0,\n [_B, _Fo, _AI, _P, _En],\n [0, 0, 0, 0, [() => InventoryEncryption$, 0]], 2\n];\nexport var InventorySchedule$ = [3, n0, _ISn,\n 0,\n [_Fr],\n [0], 1\n];\nexport var InventoryTableConfiguration$ = [3, n0, _ITCn,\n 0,\n [_CSo, _EC],\n [0, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var InventoryTableConfigurationResult$ = [3, n0, _ITCR,\n 0,\n [_CSo, _TSa, _Err, _TNa, _TA],\n [0, 0, () => ErrorDetails$, 0, 0], 1\n];\nexport var InventoryTableConfigurationUpdates$ = [3, n0, _ITCU,\n 0,\n [_CSo, _EC],\n [0, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var JournalTableConfiguration$ = [3, n0, _JTC,\n 0,\n [_REe, _EC],\n [() => RecordExpiration$, () => MetadataTableEncryptionConfiguration$], 1\n];\nexport var JournalTableConfigurationResult$ = [3, n0, _JTCR,\n 0,\n [_TSa, _TNa, _REe, _Err, _TA],\n [0, 0, () => RecordExpiration$, () => ErrorDetails$, 0], 3\n];\nexport var JournalTableConfigurationUpdates$ = [3, n0, _JTCU,\n 0,\n [_REe],\n [() => RecordExpiration$], 1\n];\nexport var JSONInput$ = [3, n0, _JSONI,\n 0,\n [_Ty],\n [0]\n];\nexport var JSONOutput$ = [3, n0, _JSONO,\n 0,\n [_RD],\n [0]\n];\nexport var LambdaFunctionConfiguration$ = [3, n0, _LFC,\n 0,\n [_LFA, _Ev, _I, _F],\n [[0, { [_xN]: _CF }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var LifecycleExpiration$ = [3, n0, _LEi,\n 0,\n [_Da, _D, _EODM],\n [5, 1, 2]\n];\nexport var LifecycleRule$ = [3, n0, _LR,\n 0,\n [_S, _E, _ID, _P, _F, _Tr, _NVT, _NVE, _AIMU],\n [0, () => LifecycleExpiration$, 0, 0, [() => LifecycleRuleFilter$, 0], [() => TransitionList, { [_xF]: 1, [_xN]: _Tra }], [() => NoncurrentVersionTransitionList, { [_xF]: 1, [_xN]: _NVTo }], () => NoncurrentVersionExpiration$, () => AbortIncompleteMultipartUpload$], 1\n];\nexport var LifecycleRuleAndOperator$ = [3, n0, _LRAO,\n 0,\n [_P, _T, _OSGT, _OSLT],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }], 1, 1]\n];\nexport var LifecycleRuleFilter$ = [3, n0, _LRF,\n 0,\n [_P, _Ta, _OSGT, _OSLT, _An],\n [0, () => Tag$, 1, 1, [() => LifecycleRuleAndOperator$, 0]]\n];\nexport var ListBucketAnalyticsConfigurationsOutput$ = [3, n0, _LBACO,\n { [_xN]: _LBACR },\n [_IT, _CTon, _NCT, _ACLn],\n [2, 0, 0, [() => AnalyticsConfigurationList, { [_xF]: 1, [_xN]: _ACn }]]\n];\nexport var ListBucketAnalyticsConfigurationsRequest$ = [3, n0, _LBACRi,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketIntelligentTieringConfigurationsOutput$ = [3, n0, _LBITCO,\n 0,\n [_IT, _CTon, _NCT, _ITCL],\n [2, 0, 0, [() => IntelligentTieringConfigurationList, { [_xF]: 1, [_xN]: _ITC }]]\n];\nexport var ListBucketIntelligentTieringConfigurationsRequest$ = [3, n0, _LBITCR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketInventoryConfigurationsOutput$ = [3, n0, _LBICO,\n { [_xN]: _LICR },\n [_CTon, _ICL, _IT, _NCT],\n [0, [() => InventoryConfigurationList, { [_xF]: 1, [_xN]: _IC }], 2, 0]\n];\nexport var ListBucketInventoryConfigurationsRequest$ = [3, n0, _LBICR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketMetricsConfigurationsOutput$ = [3, n0, _LBMCO,\n { [_xN]: _LMCR },\n [_IT, _CTon, _NCT, _MCL],\n [2, 0, 0, [() => MetricsConfigurationList, { [_xF]: 1, [_xN]: _MCe }]]\n];\nexport var ListBucketMetricsConfigurationsRequest$ = [3, n0, _LBMCR,\n 0,\n [_B, _CTon, _EBO],\n [[0, 1], [0, { [_hQ]: _ct }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var ListBucketsOutput$ = [3, n0, _LBO,\n { [_xN]: _LAMBR },\n [_Bu, _O, _CTon, _P],\n [[() => Buckets, 0], () => Owner$, 0, 0]\n];\nexport var ListBucketsRequest$ = [3, n0, _LBR,\n 0,\n [_MB, _CTon, _P, _BR],\n [[1, { [_hQ]: _mb }], [0, { [_hQ]: _ct }], [0, { [_hQ]: _p }], [0, { [_hQ]: _br }]]\n];\nexport var ListDirectoryBucketsOutput$ = [3, n0, _LDBO,\n { [_xN]: _LAMDBR },\n [_Bu, _CTon],\n [[() => Buckets, 0], 0]\n];\nexport var ListDirectoryBucketsRequest$ = [3, n0, _LDBR,\n 0,\n [_CTon, _MDB],\n [[0, { [_hQ]: _ct }], [1, { [_hQ]: _mdb }]]\n];\nexport var ListMultipartUploadsOutput$ = [3, n0, _LMUO,\n { [_xN]: _LMUR },\n [_B, _KM, _UIM, _NKM, _P, _Deli, _NUIM, _MUa, _IT, _U, _CPom, _ETn, _RC],\n [0, 0, 0, 0, 0, 0, 0, 1, 2, [() => MultipartUploadList, { [_xF]: 1, [_xN]: _Up }], [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListMultipartUploadsRequest$ = [3, n0, _LMURi,\n 0,\n [_B, _Deli, _ETn, _KM, _MUa, _P, _UIM, _EBO, _RP],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _km }], [1, { [_hQ]: _mu }], [0, { [_hQ]: _p }], [0, { [_hQ]: _uim }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 1\n];\nexport var ListObjectsOutput$ = [3, n0, _LOO,\n { [_xN]: _LBRi },\n [_IT, _Ma, _NM, _Con, _N, _P, _Deli, _MK, _CPom, _ETn, _RC],\n [2, 0, 0, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectsRequest$ = [3, n0, _LOR,\n 0,\n [_B, _Deli, _ETn, _Ma, _MK, _P, _RP, _EBO, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _m }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListObjectsV2Output$ = [3, n0, _LOVO,\n { [_xN]: _LBRi },\n [_IT, _Con, _N, _P, _Deli, _MK, _CPom, _ETn, _KC, _CTon, _NCT, _SA, _RC],\n [2, [() => ObjectList, { [_xF]: 1 }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, 1, 0, 0, 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectsV2Request$ = [3, n0, _LOVR,\n 0,\n [_B, _Deli, _ETn, _MK, _P, _CTon, _FO, _SA, _RP, _EBO, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hQ]: _ct }], [2, { [_hQ]: _fo }], [0, { [_hQ]: _sa }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListObjectVersionsOutput$ = [3, n0, _LOVOi,\n { [_xN]: _LVR },\n [_IT, _KM, _VIM, _NKM, _NVIM, _Ve, _DMe, _N, _P, _Deli, _MK, _CPom, _ETn, _RC],\n [2, 0, 0, 0, 0, [() => ObjectVersionList, { [_xF]: 1, [_xN]: _Ver }], [() => DeleteMarkers, { [_xF]: 1, [_xN]: _DM }], 0, 0, 0, 1, [() => CommonPrefixList, { [_xF]: 1 }], 0, [0, { [_hH]: _xarc }]]\n];\nexport var ListObjectVersionsRequest$ = [3, n0, _LOVRi,\n 0,\n [_B, _Deli, _ETn, _KM, _MK, _P, _VIM, _EBO, _RP, _OOA],\n [[0, 1], [0, { [_hQ]: _d }], [0, { [_hQ]: _et }], [0, { [_hQ]: _km }], [1, { [_hQ]: _mk }], [0, { [_hQ]: _p }], [0, { [_hQ]: _vim }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }], [64 | 0, { [_hH]: _xaooa }]], 1\n];\nexport var ListPartsOutput$ = [3, n0, _LPO,\n { [_xN]: _LPR },\n [_ADb, _ARI, _B, _K, _UI, _PNM, _NPNM, _MP, _IT, _Pa, _In, _O, _SC, _RC, _CA, _CT],\n [[4, { [_hH]: _xaad }], [0, { [_hH]: _xaari }], 0, 0, 0, 0, 0, 1, 2, [() => Parts, { [_xF]: 1, [_xN]: _Par }], () => Initiator$, () => Owner$, 0, [0, { [_hH]: _xarc }], 0, 0]\n];\nexport var ListPartsRequest$ = [3, n0, _LPRi,\n 0,\n [_B, _K, _UI, _MP, _PNM, _RP, _EBO, _SSECA, _SSECK, _SSECKMD],\n [[0, 1], [0, 1], [0, { [_hQ]: _uI }], [1, { [_hQ]: _mp }], [0, { [_hQ]: _pnm }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }]], 3\n];\nexport var LocationInfo$ = [3, n0, _LI,\n 0,\n [_Ty, _N],\n [0, 0]\n];\nexport var LoggingEnabled$ = [3, n0, _LE,\n 0,\n [_TB, _TP, _TG, _TOKF],\n [0, 0, [() => TargetGrants, 0], [() => TargetObjectKeyFormat$, 0]], 2\n];\nexport var MetadataConfiguration$ = [3, n0, _MC,\n 0,\n [_JTC, _ITCn],\n [() => JournalTableConfiguration$, () => InventoryTableConfiguration$], 1\n];\nexport var MetadataConfigurationResult$ = [3, n0, _MCR,\n 0,\n [_DRes, _JTCR, _ITCR],\n [() => DestinationResult$, () => JournalTableConfigurationResult$, () => InventoryTableConfigurationResult$], 1\n];\nexport var MetadataEntry$ = [3, n0, _ME,\n 0,\n [_N, _V],\n [0, 0]\n];\nexport var MetadataTableConfiguration$ = [3, n0, _MTC,\n 0,\n [_STD],\n [() => S3TablesDestination$], 1\n];\nexport var MetadataTableConfigurationResult$ = [3, n0, _MTCR,\n 0,\n [_STDR],\n [() => S3TablesDestinationResult$], 1\n];\nexport var MetadataTableEncryptionConfiguration$ = [3, n0, _MTEC,\n 0,\n [_SAs, _KKA],\n [0, 0], 1\n];\nexport var Metrics$ = [3, n0, _Me,\n 0,\n [_S, _ETv],\n [0, () => ReplicationTimeValue$], 1\n];\nexport var MetricsAndOperator$ = [3, n0, _MAO,\n 0,\n [_P, _T, _APAc],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }], 0]\n];\nexport var MetricsConfiguration$ = [3, n0, _MCe,\n 0,\n [_I, _F],\n [0, [() => MetricsFilter$, 0]], 1\n];\nexport var MultipartUpload$ = [3, n0, _MU,\n 0,\n [_UI, _K, _Ini, _SC, _O, _In, _CA, _CT],\n [0, 0, 4, 0, () => Owner$, () => Initiator$, 0, 0]\n];\nexport var NoncurrentVersionExpiration$ = [3, n0, _NVE,\n 0,\n [_ND, _NNV],\n [1, 1]\n];\nexport var NoncurrentVersionTransition$ = [3, n0, _NVTo,\n 0,\n [_ND, _SC, _NNV],\n [1, 0, 1]\n];\nexport var NotificationConfiguration$ = [3, n0, _NC,\n 0,\n [_TCo, _QCu, _LFCa, _EBC],\n [[() => TopicConfigurationList, { [_xF]: 1, [_xN]: _TCop }], [() => QueueConfigurationList, { [_xF]: 1, [_xN]: _QCue }], [() => LambdaFunctionConfigurationList, { [_xF]: 1, [_xN]: _CFC }], () => EventBridgeConfiguration$]\n];\nexport var NotificationConfigurationFilter$ = [3, n0, _NCF,\n 0,\n [_K],\n [[() => S3KeyFilter$, { [_xN]: _SKe }]]\n];\nexport var _Object$ = [3, n0, _Obj,\n 0,\n [_K, _LM, _ETa, _CA, _CT, _Si, _SC, _O, _RSe],\n [0, 4, 0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, () => Owner$, () => RestoreStatus$]\n];\nexport var ObjectIdentifier$ = [3, n0, _OI,\n 0,\n [_K, _VI, _ETa, _LMT, _Si],\n [0, 0, 0, 6, 1], 1\n];\nexport var ObjectLockConfiguration$ = [3, n0, _OLC,\n 0,\n [_OLE, _Ru],\n [0, () => ObjectLockRule$]\n];\nexport var ObjectLockLegalHold$ = [3, n0, _OLLH,\n 0,\n [_S],\n [0]\n];\nexport var ObjectLockRetention$ = [3, n0, _OLR,\n 0,\n [_Mo, _RUD],\n [0, 5]\n];\nexport var ObjectLockRule$ = [3, n0, _OLRb,\n 0,\n [_DRe],\n [() => DefaultRetention$]\n];\nexport var ObjectPart$ = [3, n0, _OPb,\n 0,\n [_PN, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [1, 1, 0, 0, 0, 0, 0]\n];\nexport var ObjectVersion$ = [3, n0, _OV,\n 0,\n [_ETa, _CA, _CT, _Si, _SC, _K, _VI, _IL, _LM, _O, _RSe],\n [0, [64 | 0, { [_xF]: 1 }], 0, 1, 0, 0, 0, 2, 4, () => Owner$, () => RestoreStatus$]\n];\nexport var OutputLocation$ = [3, n0, _OL,\n 0,\n [_S_],\n [[() => S3Location$, 0]]\n];\nexport var OutputSerialization$ = [3, n0, _OSu,\n 0,\n [_CSV, _JSON],\n [() => CSVOutput$, () => JSONOutput$]\n];\nexport var Owner$ = [3, n0, _O,\n 0,\n [_DN, _ID],\n [0, 0]\n];\nexport var OwnershipControls$ = [3, n0, _OC,\n 0,\n [_R],\n [[() => OwnershipControlsRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var OwnershipControlsRule$ = [3, n0, _OCR,\n 0,\n [_OO],\n [0], 1\n];\nexport var ParquetInput$ = [3, n0, _PI,\n 0,\n [],\n []\n];\nexport var Part$ = [3, n0, _Par,\n 0,\n [_PN, _LM, _ETa, _Si, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh],\n [1, 4, 0, 1, 0, 0, 0, 0, 0]\n];\nexport var PartitionedPrefix$ = [3, n0, _PP,\n { [_xN]: _PP },\n [_PDS],\n [0]\n];\nexport var PolicyStatus$ = [3, n0, _PS,\n 0,\n [_IP],\n [[2, { [_xN]: _IP }]]\n];\nexport var Progress$ = [3, n0, _Pr,\n 0,\n [_BS, _BP, _BRy],\n [1, 1, 1]\n];\nexport var ProgressEvent$ = [3, n0, _PE,\n 0,\n [_Det],\n [[() => Progress$, { [_eP]: 1 }]]\n];\nexport var PublicAccessBlockConfiguration$ = [3, n0, _PABC,\n 0,\n [_BPA, _IPA, _BPP, _RPB],\n [[2, { [_xN]: _BPA }], [2, { [_xN]: _IPA }], [2, { [_xN]: _BPP }], [2, { [_xN]: _RPB }]]\n];\nexport var PutBucketAbacRequest$ = [3, n0, _PBAR,\n 0,\n [_B, _AS, _CMD, _CA, _EBO],\n [[0, 1], [() => AbacStatus$, { [_hP]: 1, [_xN]: _AS }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketAccelerateConfigurationRequest$ = [3, n0, _PBACR,\n 0,\n [_B, _AC, _EBO, _CA],\n [[0, 1], [() => AccelerateConfiguration$, { [_hP]: 1, [_xN]: _AC }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var PutBucketAclRequest$ = [3, n0, _PBARu,\n 0,\n [_B, _ACL_, _ACP, _CMD, _CA, _GFC, _GR, _GRACP, _GW, _GWACP, _EBO],\n [[0, 1], [0, { [_hH]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var PutBucketAnalyticsConfigurationRequest$ = [3, n0, _PBACRu,\n 0,\n [_B, _I, _ACn, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => AnalyticsConfiguration$, { [_hP]: 1, [_xN]: _ACn }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketCorsRequest$ = [3, n0, _PBCR,\n 0,\n [_B, _CORSC, _CMD, _CA, _EBO],\n [[0, 1], [() => CORSConfiguration$, { [_hP]: 1, [_xN]: _CORSC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketEncryptionRequest$ = [3, n0, _PBER,\n 0,\n [_B, _SSEC, _CMD, _CA, _EBO],\n [[0, 1], [() => ServerSideEncryptionConfiguration$, { [_hP]: 1, [_xN]: _SSEC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketIntelligentTieringConfigurationRequest$ = [3, n0, _PBITCR,\n 0,\n [_B, _I, _ITC, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => IntelligentTieringConfiguration$, { [_hP]: 1, [_xN]: _ITC }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketInventoryConfigurationRequest$ = [3, n0, _PBICR,\n 0,\n [_B, _I, _IC, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => InventoryConfiguration$, { [_hP]: 1, [_xN]: _IC }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketLifecycleConfigurationOutput$ = [3, n0, _PBLCO,\n 0,\n [_TDMOS],\n [[0, { [_hH]: _xatdmos }]]\n];\nexport var PutBucketLifecycleConfigurationRequest$ = [3, n0, _PBLCR,\n 0,\n [_B, _CA, _LCi, _EBO, _TDMOS],\n [[0, 1], [0, { [_hH]: _xasca }], [() => BucketLifecycleConfiguration$, { [_hP]: 1, [_xN]: _LCi }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xatdmos }]], 1\n];\nexport var PutBucketLoggingRequest$ = [3, n0, _PBLR,\n 0,\n [_B, _BLS, _CMD, _CA, _EBO],\n [[0, 1], [() => BucketLoggingStatus$, { [_hP]: 1, [_xN]: _BLS }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketMetricsConfigurationRequest$ = [3, n0, _PBMCR,\n 0,\n [_B, _I, _MCe, _EBO],\n [[0, 1], [0, { [_hQ]: _i }], [() => MetricsConfiguration$, { [_hP]: 1, [_xN]: _MCe }], [0, { [_hH]: _xaebo }]], 3\n];\nexport var PutBucketNotificationConfigurationRequest$ = [3, n0, _PBNCR,\n 0,\n [_B, _NC, _EBO, _SDV],\n [[0, 1], [() => NotificationConfiguration$, { [_hP]: 1, [_xN]: _NC }], [0, { [_hH]: _xaebo }], [2, { [_hH]: _xasdv }]], 2\n];\nexport var PutBucketOwnershipControlsRequest$ = [3, n0, _PBOCR,\n 0,\n [_B, _OC, _CMD, _EBO, _CA],\n [[0, 1], [() => OwnershipControls$, { [_hP]: 1, [_xN]: _OC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasca }]], 2\n];\nexport var PutBucketPolicyRequest$ = [3, n0, _PBPR,\n 0,\n [_B, _Po, _CMD, _CA, _CRSBA, _EBO],\n [[0, 1], [0, 16], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [2, { [_hH]: _xacrsba }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketReplicationRequest$ = [3, n0, _PBRR,\n 0,\n [_B, _RCe, _CMD, _CA, _To, _EBO],\n [[0, 1], [() => ReplicationConfiguration$, { [_hP]: 1, [_xN]: _RCe }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xabolt }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketRequestPaymentRequest$ = [3, n0, _PBRPR,\n 0,\n [_B, _RPC, _CMD, _CA, _EBO],\n [[0, 1], [() => RequestPaymentConfiguration$, { [_hP]: 1, [_xN]: _RPC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketTaggingRequest$ = [3, n0, _PBTR,\n 0,\n [_B, _Tag, _CMD, _CA, _EBO],\n [[0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketVersioningRequest$ = [3, n0, _PBVR,\n 0,\n [_B, _VC, _CMD, _CA, _MFA, _EBO],\n [[0, 1], [() => VersioningConfiguration$, { [_hP]: 1, [_xN]: _VC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xam_ }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutBucketWebsiteRequest$ = [3, n0, _PBWR,\n 0,\n [_B, _WC, _CMD, _CA, _EBO],\n [[0, 1], [() => WebsiteConfiguration$, { [_hP]: 1, [_xN]: _WC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectAclOutput$ = [3, n0, _POAO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectAclRequest$ = [3, n0, _POAR,\n 0,\n [_B, _K, _ACL_, _ACP, _CMD, _CA, _GFC, _GR, _GRACP, _GW, _GWACP, _RP, _VI, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [() => AccessControlPolicy$, { [_hP]: 1, [_xN]: _ACP }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagw }], [0, { [_hH]: _xagwa }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectLegalHoldOutput$ = [3, n0, _POLHO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectLegalHoldRequest$ = [3, n0, _POLHR,\n 0,\n [_B, _K, _LH, _RP, _VI, _CMD, _CA, _EBO],\n [[0, 1], [0, 1], [() => ObjectLockLegalHold$, { [_hP]: 1, [_xN]: _LH }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectLockConfigurationOutput$ = [3, n0, _POLCO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectLockConfigurationRequest$ = [3, n0, _POLCR,\n 0,\n [_B, _OLC, _RP, _To, _CMD, _CA, _EBO],\n [[0, 1], [() => ObjectLockConfiguration$, { [_hP]: 1, [_xN]: _OLC }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xabolt }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 1\n];\nexport var PutObjectOutput$ = [3, n0, _POO,\n 0,\n [_E, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _CT, _SSE, _VI, _SSECA, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _Si, _RC],\n [[0, { [_hH]: _xae }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xact }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xavi }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [1, { [_hH]: _xaos }], [0, { [_hH]: _xarc }]]\n];\nexport var PutObjectRequest$ = [3, n0, _POR,\n 0,\n [_B, _K, _ACL_, _Bo, _CC, _CDo, _CEo, _CL, _CLo, _CMD, _CTo, _CA, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _Ex, _IM, _INM, _GFC, _GR, _GRACP, _GWACP, _WOB, _M, _SSE, _SC, _WRL, _SSECA, _SSECK, _SSECKMD, _SSEKMSKI, _SSEKMSEC, _BKE, _RP, _Tag, _OLM, _OLRUD, _OLLHS, _EBO],\n [[0, 1], [0, 1], [0, { [_hH]: _xaa }], [() => StreamingBlob, 16], [0, { [_hH]: _CC_ }], [0, { [_hH]: _CD_ }], [0, { [_hH]: _CE_ }], [0, { [_hH]: _CL_ }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _CM }], [0, { [_hH]: _CT_ }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [4, { [_hH]: _Ex }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [0, { [_hH]: _xagfc }], [0, { [_hH]: _xagr }], [0, { [_hH]: _xagra }], [0, { [_hH]: _xagwa }], [1, { [_hH]: _xawob }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasc }], [0, { [_hH]: _xawrl }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [() => SSEKMSEncryptionContext, { [_hH]: _xassec }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xat }], [0, { [_hH]: _xaolm }], [5, { [_hH]: _xaolrud }], [0, { [_hH]: _xaollh }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectRetentionOutput$ = [3, n0, _PORO,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var PutObjectRetentionRequest$ = [3, n0, _PORR,\n 0,\n [_B, _K, _Ret, _RP, _VI, _BGR, _CMD, _CA, _EBO],\n [[0, 1], [0, 1], [() => ObjectLockRetention$, { [_hP]: 1, [_xN]: _Ret }], [0, { [_hH]: _xarp }], [0, { [_hQ]: _vI }], [2, { [_hH]: _xabgr }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var PutObjectTaggingOutput$ = [3, n0, _POTO,\n 0,\n [_VI],\n [[0, { [_hH]: _xavi }]]\n];\nexport var PutObjectTaggingRequest$ = [3, n0, _POTR,\n 0,\n [_B, _K, _Tag, _VI, _CMD, _CA, _EBO, _RP],\n [[0, 1], [0, 1], [() => Tagging$, { [_hP]: 1, [_xN]: _Tag }], [0, { [_hQ]: _vI }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xarp }]], 3\n];\nexport var PutPublicAccessBlockRequest$ = [3, n0, _PPABR,\n 0,\n [_B, _PABC, _CMD, _CA, _EBO],\n [[0, 1], [() => PublicAccessBlockConfiguration$, { [_hP]: 1, [_xN]: _PABC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var QueueConfiguration$ = [3, n0, _QCue,\n 0,\n [_QA, _Ev, _I, _F],\n [[0, { [_xN]: _Qu }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var RecordExpiration$ = [3, n0, _REe,\n 0,\n [_E, _D],\n [0, 1], 1\n];\nexport var RecordsEvent$ = [3, n0, _REec,\n 0,\n [_Payl],\n [[21, { [_eP]: 1 }]]\n];\nexport var Redirect$ = [3, n0, _Red,\n 0,\n [_HN, _HRC, _Pro, _RKPW, _RKW],\n [0, 0, 0, 0, 0]\n];\nexport var RedirectAllRequestsTo$ = [3, n0, _RART,\n 0,\n [_HN, _Pro],\n [0, 0], 1\n];\nexport var RenameObjectOutput$ = [3, n0, _ROO,\n 0,\n [],\n []\n];\nexport var RenameObjectRequest$ = [3, n0, _ROR,\n 0,\n [_B, _K, _RSen, _DIM, _DINM, _DIMS, _DIUS, _SIM, _SINM, _SIMS, _SIUS, _CTl],\n [[0, 1], [0, 1], [0, { [_hH]: _xars_ }], [0, { [_hH]: _IM_ }], [0, { [_hH]: _INM_ }], [4, { [_hH]: _IMS_ }], [4, { [_hH]: _IUS_ }], [0, { [_hH]: _xarsim }], [0, { [_hH]: _xarsinm }], [6, { [_hH]: _xarsims }], [6, { [_hH]: _xarsius }], [0, { [_hH]: _xact_, [_iT]: 1 }]], 3\n];\nexport var ReplicaModifications$ = [3, n0, _RM,\n 0,\n [_S],\n [0], 1\n];\nexport var ReplicationConfiguration$ = [3, n0, _RCe,\n 0,\n [_Ro, _R],\n [0, [() => ReplicationRules, { [_xF]: 1, [_xN]: _Ru }]], 2\n];\nexport var ReplicationRule$ = [3, n0, _RRe,\n 0,\n [_S, _Des, _ID, _Pri, _P, _F, _SSC, _EOR, _DMR],\n [0, () => Destination$, 0, 1, 0, [() => ReplicationRuleFilter$, 0], () => SourceSelectionCriteria$, () => ExistingObjectReplication$, () => DeleteMarkerReplication$], 2\n];\nexport var ReplicationRuleAndOperator$ = [3, n0, _RRAO,\n 0,\n [_P, _T],\n [0, [() => TagSet, { [_xF]: 1, [_xN]: _Ta }]]\n];\nexport var ReplicationRuleFilter$ = [3, n0, _RRF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => ReplicationRuleAndOperator$, 0]]\n];\nexport var ReplicationTime$ = [3, n0, _RT,\n 0,\n [_S, _Tim],\n [0, () => ReplicationTimeValue$], 2\n];\nexport var ReplicationTimeValue$ = [3, n0, _RTV,\n 0,\n [_Mi],\n [1]\n];\nexport var RequestPaymentConfiguration$ = [3, n0, _RPC,\n 0,\n [_Pay],\n [0], 1\n];\nexport var RequestProgress$ = [3, n0, _RPe,\n 0,\n [_Ena],\n [2]\n];\nexport var RestoreObjectOutput$ = [3, n0, _ROOe,\n 0,\n [_RC, _ROP],\n [[0, { [_hH]: _xarc }], [0, { [_hH]: _xarop }]]\n];\nexport var RestoreObjectRequest$ = [3, n0, _RORe,\n 0,\n [_B, _K, _VI, _RRes, _RP, _CA, _EBO],\n [[0, 1], [0, 1], [0, { [_hQ]: _vI }], [() => RestoreRequest$, { [_hP]: 1, [_xN]: _RRes }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var RestoreRequest$ = [3, n0, _RRes,\n 0,\n [_D, _GJP, _Ty, _Ti, _Desc, _SP, _OL],\n [1, () => GlacierJobParameters$, 0, 0, 0, () => SelectParameters$, [() => OutputLocation$, 0]]\n];\nexport var RestoreStatus$ = [3, n0, _RSe,\n 0,\n [_IRIP, _RED],\n [2, 4]\n];\nexport var RoutingRule$ = [3, n0, _RRo,\n 0,\n [_Red, _Co],\n [() => Redirect$, () => Condition$], 1\n];\nexport var S3KeyFilter$ = [3, n0, _SKF,\n 0,\n [_FRi],\n [[() => FilterRuleList, { [_xF]: 1, [_xN]: _FR }]]\n];\nexport var S3Location$ = [3, n0, _SL,\n 0,\n [_BNu, _P, _En, _CACL, _ACL, _Tag, _UM, _SC],\n [0, 0, [() => Encryption$, 0], 0, [() => Grants, 0], [() => Tagging$, 0], [() => UserMetadata, 0], 0], 2\n];\nexport var S3TablesDestination$ = [3, n0, _STD,\n 0,\n [_TBA, _TNa],\n [0, 0], 2\n];\nexport var S3TablesDestinationResult$ = [3, n0, _STDR,\n 0,\n [_TBA, _TNa, _TA, _TN],\n [0, 0, 0, 0], 4\n];\nexport var ScanRange$ = [3, n0, _SR,\n 0,\n [_St, _End],\n [1, 1]\n];\nexport var SelectObjectContentOutput$ = [3, n0, _SOCO,\n 0,\n [_Payl],\n [[() => SelectObjectContentEventStream$, 16]]\n];\nexport var SelectObjectContentRequest$ = [3, n0, _SOCR,\n 0,\n [_B, _K, _Exp, _ETx, _IS, _OSu, _SSECA, _SSECK, _SSECKMD, _RPe, _SR, _EBO],\n [[0, 1], [0, 1], 0, 0, () => InputSerialization$, () => OutputSerialization$, [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], () => RequestProgress$, () => ScanRange$, [0, { [_hH]: _xaebo }]], 6\n];\nexport var SelectParameters$ = [3, n0, _SP,\n 0,\n [_IS, _ETx, _Exp, _OSu],\n [() => InputSerialization$, 0, 0, () => OutputSerialization$], 4\n];\nexport var ServerSideEncryptionByDefault$ = [3, n0, _SSEBD,\n 0,\n [_SSEA, _KMSMKID],\n [0, [() => SSEKMSKeyId, 0]], 1\n];\nexport var ServerSideEncryptionConfiguration$ = [3, n0, _SSEC,\n 0,\n [_R],\n [[() => ServerSideEncryptionRules, { [_xF]: 1, [_xN]: _Ru }]], 1\n];\nexport var ServerSideEncryptionRule$ = [3, n0, _SSER,\n 0,\n [_ASSEBD, _BKE, _BET],\n [[() => ServerSideEncryptionByDefault$, 0], 2, [() => BlockedEncryptionTypes$, 0]]\n];\nexport var SessionCredentials$ = [3, n0, _SCe,\n 0,\n [_AKI, _SAK, _ST, _E],\n [[0, { [_xN]: _AKI }], [() => SessionCredentialValue, { [_xN]: _SAK }], [() => SessionCredentialValue, { [_xN]: _ST }], [4, { [_xN]: _E }]], 4\n];\nexport var SimplePrefix$ = [3, n0, _SPi,\n { [_xN]: _SPi },\n [],\n []\n];\nexport var SourceSelectionCriteria$ = [3, n0, _SSC,\n 0,\n [_SKEO, _RM],\n [() => SseKmsEncryptedObjects$, () => ReplicaModifications$]\n];\nexport var SSEKMS$ = [3, n0, _SSEKMS,\n { [_xN]: _SK },\n [_KI],\n [[() => SSEKMSKeyId, 0]], 1\n];\nexport var SseKmsEncryptedObjects$ = [3, n0, _SKEO,\n 0,\n [_S],\n [0], 1\n];\nexport var SSEKMSEncryption$ = [3, n0, _SSEKMSE,\n { [_xN]: _SK },\n [_KMSKA, _BKE],\n [[() => NonEmptyKmsKeyArnString, 0], 2], 1\n];\nexport var SSES3$ = [3, n0, _SSES,\n { [_xN]: _SS },\n [],\n []\n];\nexport var Stats$ = [3, n0, _Sta,\n 0,\n [_BS, _BP, _BRy],\n [1, 1, 1]\n];\nexport var StatsEvent$ = [3, n0, _SE,\n 0,\n [_Det],\n [[() => Stats$, { [_eP]: 1 }]]\n];\nexport var StorageClassAnalysis$ = [3, n0, _SCA,\n 0,\n [_DE],\n [() => StorageClassAnalysisDataExport$]\n];\nexport var StorageClassAnalysisDataExport$ = [3, n0, _SCADE,\n 0,\n [_OSV, _Des],\n [0, () => AnalyticsExportDestination$], 2\n];\nexport var Tag$ = [3, n0, _Ta,\n 0,\n [_K, _V],\n [0, 0], 2\n];\nexport var Tagging$ = [3, n0, _Tag,\n 0,\n [_TS],\n [[() => TagSet, 0]], 1\n];\nexport var TargetGrant$ = [3, n0, _TGa,\n 0,\n [_Gra, _Pe],\n [[() => Grantee$, { [_xNm]: [_x, _hi] }], 0]\n];\nexport var TargetObjectKeyFormat$ = [3, n0, _TOKF,\n 0,\n [_SPi, _PP],\n [[() => SimplePrefix$, { [_xN]: _SPi }], [() => PartitionedPrefix$, { [_xN]: _PP }]]\n];\nexport var Tiering$ = [3, n0, _Tier,\n 0,\n [_D, _AT],\n [1, 0], 2\n];\nexport var TopicConfiguration$ = [3, n0, _TCop,\n 0,\n [_TAo, _Ev, _I, _F],\n [[0, { [_xN]: _Top }], [64 | 0, { [_xF]: 1, [_xN]: _Eve }], 0, [() => NotificationConfigurationFilter$, 0]], 2\n];\nexport var Transition$ = [3, n0, _Tra,\n 0,\n [_Da, _D, _SC],\n [5, 1, 0]\n];\nexport var UpdateBucketMetadataInventoryTableConfigurationRequest$ = [3, n0, _UBMITCR,\n 0,\n [_B, _ITCn, _CMD, _CA, _EBO],\n [[0, 1], [() => InventoryTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _ITCn }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var UpdateBucketMetadataJournalTableConfigurationRequest$ = [3, n0, _UBMJTCR,\n 0,\n [_B, _JTC, _CMD, _CA, _EBO],\n [[0, 1], [() => JournalTableConfigurationUpdates$, { [_hP]: 1, [_xN]: _JTC }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xaebo }]], 2\n];\nexport var UpdateObjectEncryptionRequest$ = [3, n0, _UOER,\n 0,\n [_B, _K, _OE, _VI, _RP, _EBO, _CMD, _CA],\n [[0, 1], [0, 1], [() => ObjectEncryption$, 16], [0, { [_hQ]: _vI }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }]], 3\n];\nexport var UpdateObjectEncryptionResponse$ = [3, n0, _UOERp,\n 0,\n [_RC],\n [[0, { [_hH]: _xarc }]]\n];\nexport var UploadPartCopyOutput$ = [3, n0, _UPCO,\n 0,\n [_CSVI, _CPR, _SSE, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC],\n [[0, { [_hH]: _xacsvi }], [() => CopyPartResult$, 16], [0, { [_hH]: _xasse }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var UploadPartCopyRequest$ = [3, n0, _UPCR,\n 0,\n [_B, _CS, _K, _PN, _UI, _CSIM, _CSIMS, _CSINM, _CSIUS, _CSRo, _SSECA, _SSECK, _SSECKMD, _CSSSECA, _CSSSECK, _CSSSECKMD, _RP, _EBO, _ESBO],\n [[0, 1], [0, { [_hH]: _xacs__ }], [0, 1], [1, { [_hQ]: _pN }], [0, { [_hQ]: _uI }], [0, { [_hH]: _xacsim }], [4, { [_hH]: _xacsims }], [0, { [_hH]: _xacsinm }], [4, { [_hH]: _xacsius }], [0, { [_hH]: _xacsr }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xacssseca }], [() => CopySourceSSECustomerKey, { [_hH]: _xacssseck }], [0, { [_hH]: _xacssseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }], [0, { [_hH]: _xasebo }]], 5\n];\nexport var UploadPartOutput$ = [3, n0, _UPO,\n 0,\n [_SSE, _ETa, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _SSECA, _SSECKMD, _SSEKMSKI, _BKE, _RC],\n [[0, { [_hH]: _xasse }], [0, { [_hH]: _ETa }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xasseca }], [0, { [_hH]: _xasseckM }], [() => SSEKMSKeyId, { [_hH]: _xasseakki }], [2, { [_hH]: _xassebke }], [0, { [_hH]: _xarc }]]\n];\nexport var UploadPartRequest$ = [3, n0, _UPR,\n 0,\n [_B, _K, _PN, _UI, _Bo, _CLo, _CMD, _CA, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _SSECA, _SSECK, _SSECKMD, _RP, _EBO],\n [[0, 1], [0, 1], [1, { [_hQ]: _pN }], [0, { [_hQ]: _uI }], [() => StreamingBlob, 16], [1, { [_hH]: _CL__ }], [0, { [_hH]: _CM }], [0, { [_hH]: _xasca }], [0, { [_hH]: _xacc }], [0, { [_hH]: _xacc_ }], [0, { [_hH]: _xacc__ }], [0, { [_hH]: _xacs }], [0, { [_hH]: _xacs_ }], [0, { [_hH]: _xasseca }], [() => SSECustomerKey, { [_hH]: _xasseck }], [0, { [_hH]: _xasseckM }], [0, { [_hH]: _xarp }], [0, { [_hH]: _xaebo }]], 4\n];\nexport var VersioningConfiguration$ = [3, n0, _VC,\n 0,\n [_MFAD, _S],\n [[0, { [_xN]: _MDf }], 0]\n];\nexport var WebsiteConfiguration$ = [3, n0, _WC,\n 0,\n [_EDr, _IDn, _RART, _RR],\n [() => ErrorDocument$, () => IndexDocument$, () => RedirectAllRequestsTo$, [() => RoutingRules, 0]]\n];\nexport var WriteGetObjectResponseRequest$ = [3, n0, _WGORR,\n 0,\n [_RReq, _RTe, _Bo, _SCt, _ECr, _EM, _AR, _CC, _CDo, _CEo, _CL, _CLo, _CR, _CTo, _CCRC, _CCRCC, _CCRCNVME, _CSHA, _CSHAh, _DM, _ETa, _Ex, _E, _LM, _MM, _M, _OLM, _OLLHS, _OLRUD, _PC, _RS, _RC, _Re, _SSE, _SSECA, _SSEKMSKI, _SSECKMD, _SC, _TC, _VI, _BKE],\n [[0, { [_hL]: 1, [_hH]: _xarr }], [0, { [_hH]: _xart }], [() => StreamingBlob, 16], [1, { [_hH]: _xafs }], [0, { [_hH]: _xafec }], [0, { [_hH]: _xafem }], [0, { [_hH]: _xafhar }], [0, { [_hH]: _xafhCC }], [0, { [_hH]: _xafhCD }], [0, { [_hH]: _xafhCE }], [0, { [_hH]: _xafhCL }], [1, { [_hH]: _CL__ }], [0, { [_hH]: _xafhCR }], [0, { [_hH]: _xafhCT }], [0, { [_hH]: _xafhxacc }], [0, { [_hH]: _xafhxacc_ }], [0, { [_hH]: _xafhxacc__ }], [0, { [_hH]: _xafhxacs }], [0, { [_hH]: _xafhxacs_ }], [2, { [_hH]: _xafhxadm }], [0, { [_hH]: _xafhE }], [4, { [_hH]: _xafhE_ }], [0, { [_hH]: _xafhxae }], [4, { [_hH]: _xafhLM }], [1, { [_hH]: _xafhxamm }], [128 | 0, { [_hPH]: _xam }], [0, { [_hH]: _xafhxaolm }], [0, { [_hH]: _xafhxaollh }], [5, { [_hH]: _xafhxaolrud }], [1, { [_hH]: _xafhxampc }], [0, { [_hH]: _xafhxars }], [0, { [_hH]: _xafhxarc }], [0, { [_hH]: _xafhxar }], [0, { [_hH]: _xafhxasse }], [0, { [_hH]: _xafhxasseca }], [() => SSEKMSKeyId, { [_hH]: _xafhxasseakki }], [0, { [_hH]: _xafhxasseckM }], [0, { [_hH]: _xafhxasc }], [1, { [_hH]: _xafhxatc }], [0, { [_hH]: _xafhxavi }], [2, { [_hH]: _xafhxassebke }]], 2\n];\nvar __Unit = \"unit\";\nvar AllowedHeaders = 64 | 0;\nvar AllowedMethods = 64 | 0;\nvar AllowedOrigins = 64 | 0;\nvar AnalyticsConfigurationList = [1, n0, _ACLn,\n 0, [() => AnalyticsConfiguration$,\n 0]\n];\nvar Buckets = [1, n0, _Bu,\n 0, [() => Bucket$,\n { [_xN]: _B }]\n];\nvar ChecksumAlgorithmList = 64 | 0;\nvar CommonPrefixList = [1, n0, _CPL,\n 0, () => CommonPrefix$\n];\nvar CompletedPartList = [1, n0, _CPLo,\n 0, () => CompletedPart$\n];\nvar CORSRules = [1, n0, _CORSR,\n 0, [() => CORSRule$,\n 0]\n];\nvar DeletedObjects = [1, n0, _DOe,\n 0, () => DeletedObject$\n];\nvar DeleteMarkers = [1, n0, _DMe,\n 0, () => DeleteMarkerEntry$\n];\nvar EncryptionTypeList = [1, n0, _ETL,\n 0, [0,\n { [_xN]: _ET }]\n];\nvar Errors = [1, n0, _Er,\n 0, () => _Error$\n];\nvar EventList = 64 | 0;\nvar ExposeHeaders = 64 | 0;\nvar FilterRuleList = [1, n0, _FRL,\n 0, () => FilterRule$\n];\nvar Grants = [1, n0, _G,\n 0, [() => Grant$,\n { [_xN]: _Gr }]\n];\nvar IntelligentTieringConfigurationList = [1, n0, _ITCL,\n 0, [() => IntelligentTieringConfiguration$,\n 0]\n];\nvar InventoryConfigurationList = [1, n0, _ICL,\n 0, [() => InventoryConfiguration$,\n 0]\n];\nvar InventoryOptionalFields = [1, n0, _IOF,\n 0, [0,\n { [_xN]: _Fi }]\n];\nvar LambdaFunctionConfigurationList = [1, n0, _LFCL,\n 0, [() => LambdaFunctionConfiguration$,\n 0]\n];\nvar LifecycleRules = [1, n0, _LRi,\n 0, [() => LifecycleRule$,\n 0]\n];\nvar MetricsConfigurationList = [1, n0, _MCL,\n 0, [() => MetricsConfiguration$,\n 0]\n];\nvar MultipartUploadList = [1, n0, _MUL,\n 0, () => MultipartUpload$\n];\nvar NoncurrentVersionTransitionList = [1, n0, _NVTL,\n 0, () => NoncurrentVersionTransition$\n];\nvar ObjectAttributesList = 64 | 0;\nvar ObjectIdentifierList = [1, n0, _OIL,\n 0, () => ObjectIdentifier$\n];\nvar ObjectList = [1, n0, _OLb,\n 0, [() => _Object$,\n 0]\n];\nvar ObjectVersionList = [1, n0, _OVL,\n 0, [() => ObjectVersion$,\n 0]\n];\nvar OptionalObjectAttributesList = 64 | 0;\nvar OwnershipControlsRules = [1, n0, _OCRw,\n 0, () => OwnershipControlsRule$\n];\nvar Parts = [1, n0, _Pa,\n 0, () => Part$\n];\nvar PartsList = [1, n0, _PL,\n 0, () => ObjectPart$\n];\nvar QueueConfigurationList = [1, n0, _QCL,\n 0, [() => QueueConfiguration$,\n 0]\n];\nvar ReplicationRules = [1, n0, _RRep,\n 0, [() => ReplicationRule$,\n 0]\n];\nvar RoutingRules = [1, n0, _RR,\n 0, [() => RoutingRule$,\n { [_xN]: _RRo }]\n];\nvar ServerSideEncryptionRules = [1, n0, _SSERe,\n 0, [() => ServerSideEncryptionRule$,\n 0]\n];\nvar TagSet = [1, n0, _TS,\n 0, [() => Tag$,\n { [_xN]: _Ta }]\n];\nvar TargetGrants = [1, n0, _TG,\n 0, [() => TargetGrant$,\n { [_xN]: _Gr }]\n];\nvar TieringList = [1, n0, _TL,\n 0, () => Tiering$\n];\nvar TopicConfigurationList = [1, n0, _TCL,\n 0, [() => TopicConfiguration$,\n 0]\n];\nvar TransitionList = [1, n0, _TLr,\n 0, () => Transition$\n];\nvar UserMetadata = [1, n0, _UM,\n 0, [() => MetadataEntry$,\n { [_xN]: _ME }]\n];\nvar Metadata = 128 | 0;\nexport var AnalyticsFilter$ = [4, n0, _AF,\n 0,\n [_P, _Ta, _An],\n [0, () => Tag$, [() => AnalyticsAndOperator$, 0]]\n];\nexport var MetricsFilter$ = [4, n0, _MF,\n 0,\n [_P, _Ta, _APAc, _An],\n [0, () => Tag$, 0, [() => MetricsAndOperator$, 0]]\n];\nexport var ObjectEncryption$ = [4, n0, _OE,\n 0,\n [_SSEKMS],\n [[() => SSEKMSEncryption$, { [_xN]: _SK }]]\n];\nexport var SelectObjectContentEventStream$ = [4, n0, _SOCES,\n { [_st]: 1 },\n [_Rec, _Sta, _Pr, _Cont, _End],\n [[() => RecordsEvent$, 0], [() => StatsEvent$, 0], [() => ProgressEvent$, 0], () => ContinuationEvent$, () => EndEvent$]\n];\nexport var AbortMultipartUpload$ = [9, n0, _AMU,\n { [_h]: [\"DELETE\", \"/{Key+}?x-id=AbortMultipartUpload\", 204] }, () => AbortMultipartUploadRequest$, () => AbortMultipartUploadOutput$\n];\nexport var CompleteMultipartUpload$ = [9, n0, _CMUo,\n { [_h]: [\"POST\", \"/{Key+}\", 200] }, () => CompleteMultipartUploadRequest$, () => CompleteMultipartUploadOutput$\n];\nexport var CopyObject$ = [9, n0, _CO,\n { [_h]: [\"PUT\", \"/{Key+}?x-id=CopyObject\", 200] }, () => CopyObjectRequest$, () => CopyObjectOutput$\n];\nexport var CreateBucket$ = [9, n0, _CB,\n { [_h]: [\"PUT\", \"/\", 200] }, () => CreateBucketRequest$, () => CreateBucketOutput$\n];\nexport var CreateBucketMetadataConfiguration$ = [9, n0, _CBMC,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?metadataConfiguration\", 200] }, () => CreateBucketMetadataConfigurationRequest$, () => __Unit\n];\nexport var CreateBucketMetadataTableConfiguration$ = [9, n0, _CBMTC,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?metadataTable\", 200] }, () => CreateBucketMetadataTableConfigurationRequest$, () => __Unit\n];\nexport var CreateMultipartUpload$ = [9, n0, _CMUr,\n { [_h]: [\"POST\", \"/{Key+}?uploads\", 200] }, () => CreateMultipartUploadRequest$, () => CreateMultipartUploadOutput$\n];\nexport var CreateSession$ = [9, n0, _CSr,\n { [_h]: [\"GET\", \"/?session\", 200] }, () => CreateSessionRequest$, () => CreateSessionOutput$\n];\nexport var DeleteBucket$ = [9, n0, _DB,\n { [_h]: [\"DELETE\", \"/\", 204] }, () => DeleteBucketRequest$, () => __Unit\n];\nexport var DeleteBucketAnalyticsConfiguration$ = [9, n0, _DBAC,\n { [_h]: [\"DELETE\", \"/?analytics\", 204] }, () => DeleteBucketAnalyticsConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketCors$ = [9, n0, _DBC,\n { [_h]: [\"DELETE\", \"/?cors\", 204] }, () => DeleteBucketCorsRequest$, () => __Unit\n];\nexport var DeleteBucketEncryption$ = [9, n0, _DBE,\n { [_h]: [\"DELETE\", \"/?encryption\", 204] }, () => DeleteBucketEncryptionRequest$, () => __Unit\n];\nexport var DeleteBucketIntelligentTieringConfiguration$ = [9, n0, _DBITC,\n { [_h]: [\"DELETE\", \"/?intelligent-tiering\", 204] }, () => DeleteBucketIntelligentTieringConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketInventoryConfiguration$ = [9, n0, _DBIC,\n { [_h]: [\"DELETE\", \"/?inventory\", 204] }, () => DeleteBucketInventoryConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketLifecycle$ = [9, n0, _DBL,\n { [_h]: [\"DELETE\", \"/?lifecycle\", 204] }, () => DeleteBucketLifecycleRequest$, () => __Unit\n];\nexport var DeleteBucketMetadataConfiguration$ = [9, n0, _DBMC,\n { [_h]: [\"DELETE\", \"/?metadataConfiguration\", 204] }, () => DeleteBucketMetadataConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketMetadataTableConfiguration$ = [9, n0, _DBMTC,\n { [_h]: [\"DELETE\", \"/?metadataTable\", 204] }, () => DeleteBucketMetadataTableConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketMetricsConfiguration$ = [9, n0, _DBMCe,\n { [_h]: [\"DELETE\", \"/?metrics\", 204] }, () => DeleteBucketMetricsConfigurationRequest$, () => __Unit\n];\nexport var DeleteBucketOwnershipControls$ = [9, n0, _DBOC,\n { [_h]: [\"DELETE\", \"/?ownershipControls\", 204] }, () => DeleteBucketOwnershipControlsRequest$, () => __Unit\n];\nexport var DeleteBucketPolicy$ = [9, n0, _DBP,\n { [_h]: [\"DELETE\", \"/?policy\", 204] }, () => DeleteBucketPolicyRequest$, () => __Unit\n];\nexport var DeleteBucketReplication$ = [9, n0, _DBRe,\n { [_h]: [\"DELETE\", \"/?replication\", 204] }, () => DeleteBucketReplicationRequest$, () => __Unit\n];\nexport var DeleteBucketTagging$ = [9, n0, _DBT,\n { [_h]: [\"DELETE\", \"/?tagging\", 204] }, () => DeleteBucketTaggingRequest$, () => __Unit\n];\nexport var DeleteBucketWebsite$ = [9, n0, _DBW,\n { [_h]: [\"DELETE\", \"/?website\", 204] }, () => DeleteBucketWebsiteRequest$, () => __Unit\n];\nexport var DeleteObject$ = [9, n0, _DOel,\n { [_h]: [\"DELETE\", \"/{Key+}?x-id=DeleteObject\", 204] }, () => DeleteObjectRequest$, () => DeleteObjectOutput$\n];\nexport var DeleteObjects$ = [9, n0, _DOele,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/?delete\", 200] }, () => DeleteObjectsRequest$, () => DeleteObjectsOutput$\n];\nexport var DeleteObjectTagging$ = [9, n0, _DOT,\n { [_h]: [\"DELETE\", \"/{Key+}?tagging\", 204] }, () => DeleteObjectTaggingRequest$, () => DeleteObjectTaggingOutput$\n];\nexport var DeletePublicAccessBlock$ = [9, n0, _DPAB,\n { [_h]: [\"DELETE\", \"/?publicAccessBlock\", 204] }, () => DeletePublicAccessBlockRequest$, () => __Unit\n];\nexport var GetBucketAbac$ = [9, n0, _GBA,\n { [_h]: [\"GET\", \"/?abac\", 200] }, () => GetBucketAbacRequest$, () => GetBucketAbacOutput$\n];\nexport var GetBucketAccelerateConfiguration$ = [9, n0, _GBAC,\n { [_h]: [\"GET\", \"/?accelerate\", 200] }, () => GetBucketAccelerateConfigurationRequest$, () => GetBucketAccelerateConfigurationOutput$\n];\nexport var GetBucketAcl$ = [9, n0, _GBAe,\n { [_h]: [\"GET\", \"/?acl\", 200] }, () => GetBucketAclRequest$, () => GetBucketAclOutput$\n];\nexport var GetBucketAnalyticsConfiguration$ = [9, n0, _GBACe,\n { [_h]: [\"GET\", \"/?analytics&x-id=GetBucketAnalyticsConfiguration\", 200] }, () => GetBucketAnalyticsConfigurationRequest$, () => GetBucketAnalyticsConfigurationOutput$\n];\nexport var GetBucketCors$ = [9, n0, _GBC,\n { [_h]: [\"GET\", \"/?cors\", 200] }, () => GetBucketCorsRequest$, () => GetBucketCorsOutput$\n];\nexport var GetBucketEncryption$ = [9, n0, _GBE,\n { [_h]: [\"GET\", \"/?encryption\", 200] }, () => GetBucketEncryptionRequest$, () => GetBucketEncryptionOutput$\n];\nexport var GetBucketIntelligentTieringConfiguration$ = [9, n0, _GBITC,\n { [_h]: [\"GET\", \"/?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration\", 200] }, () => GetBucketIntelligentTieringConfigurationRequest$, () => GetBucketIntelligentTieringConfigurationOutput$\n];\nexport var GetBucketInventoryConfiguration$ = [9, n0, _GBIC,\n { [_h]: [\"GET\", \"/?inventory&x-id=GetBucketInventoryConfiguration\", 200] }, () => GetBucketInventoryConfigurationRequest$, () => GetBucketInventoryConfigurationOutput$\n];\nexport var GetBucketLifecycleConfiguration$ = [9, n0, _GBLC,\n { [_h]: [\"GET\", \"/?lifecycle\", 200] }, () => GetBucketLifecycleConfigurationRequest$, () => GetBucketLifecycleConfigurationOutput$\n];\nexport var GetBucketLocation$ = [9, n0, _GBL,\n { [_h]: [\"GET\", \"/?location\", 200] }, () => GetBucketLocationRequest$, () => GetBucketLocationOutput$\n];\nexport var GetBucketLogging$ = [9, n0, _GBLe,\n { [_h]: [\"GET\", \"/?logging\", 200] }, () => GetBucketLoggingRequest$, () => GetBucketLoggingOutput$\n];\nexport var GetBucketMetadataConfiguration$ = [9, n0, _GBMC,\n { [_h]: [\"GET\", \"/?metadataConfiguration\", 200] }, () => GetBucketMetadataConfigurationRequest$, () => GetBucketMetadataConfigurationOutput$\n];\nexport var GetBucketMetadataTableConfiguration$ = [9, n0, _GBMTC,\n { [_h]: [\"GET\", \"/?metadataTable\", 200] }, () => GetBucketMetadataTableConfigurationRequest$, () => GetBucketMetadataTableConfigurationOutput$\n];\nexport var GetBucketMetricsConfiguration$ = [9, n0, _GBMCe,\n { [_h]: [\"GET\", \"/?metrics&x-id=GetBucketMetricsConfiguration\", 200] }, () => GetBucketMetricsConfigurationRequest$, () => GetBucketMetricsConfigurationOutput$\n];\nexport var GetBucketNotificationConfiguration$ = [9, n0, _GBNC,\n { [_h]: [\"GET\", \"/?notification\", 200] }, () => GetBucketNotificationConfigurationRequest$, () => NotificationConfiguration$\n];\nexport var GetBucketOwnershipControls$ = [9, n0, _GBOC,\n { [_h]: [\"GET\", \"/?ownershipControls\", 200] }, () => GetBucketOwnershipControlsRequest$, () => GetBucketOwnershipControlsOutput$\n];\nexport var GetBucketPolicy$ = [9, n0, _GBP,\n { [_h]: [\"GET\", \"/?policy\", 200] }, () => GetBucketPolicyRequest$, () => GetBucketPolicyOutput$\n];\nexport var GetBucketPolicyStatus$ = [9, n0, _GBPS,\n { [_h]: [\"GET\", \"/?policyStatus\", 200] }, () => GetBucketPolicyStatusRequest$, () => GetBucketPolicyStatusOutput$\n];\nexport var GetBucketReplication$ = [9, n0, _GBR,\n { [_h]: [\"GET\", \"/?replication\", 200] }, () => GetBucketReplicationRequest$, () => GetBucketReplicationOutput$\n];\nexport var GetBucketRequestPayment$ = [9, n0, _GBRP,\n { [_h]: [\"GET\", \"/?requestPayment\", 200] }, () => GetBucketRequestPaymentRequest$, () => GetBucketRequestPaymentOutput$\n];\nexport var GetBucketTagging$ = [9, n0, _GBT,\n { [_h]: [\"GET\", \"/?tagging\", 200] }, () => GetBucketTaggingRequest$, () => GetBucketTaggingOutput$\n];\nexport var GetBucketVersioning$ = [9, n0, _GBV,\n { [_h]: [\"GET\", \"/?versioning\", 200] }, () => GetBucketVersioningRequest$, () => GetBucketVersioningOutput$\n];\nexport var GetBucketWebsite$ = [9, n0, _GBW,\n { [_h]: [\"GET\", \"/?website\", 200] }, () => GetBucketWebsiteRequest$, () => GetBucketWebsiteOutput$\n];\nexport var GetObject$ = [9, n0, _GO,\n { [_hC]: \"-\", [_h]: [\"GET\", \"/{Key+}?x-id=GetObject\", 200] }, () => GetObjectRequest$, () => GetObjectOutput$\n];\nexport var GetObjectAcl$ = [9, n0, _GOA,\n { [_h]: [\"GET\", \"/{Key+}?acl\", 200] }, () => GetObjectAclRequest$, () => GetObjectAclOutput$\n];\nexport var GetObjectAttributes$ = [9, n0, _GOAe,\n { [_h]: [\"GET\", \"/{Key+}?attributes\", 200] }, () => GetObjectAttributesRequest$, () => GetObjectAttributesOutput$\n];\nexport var GetObjectLegalHold$ = [9, n0, _GOLH,\n { [_h]: [\"GET\", \"/{Key+}?legal-hold\", 200] }, () => GetObjectLegalHoldRequest$, () => GetObjectLegalHoldOutput$\n];\nexport var GetObjectLockConfiguration$ = [9, n0, _GOLC,\n { [_h]: [\"GET\", \"/?object-lock\", 200] }, () => GetObjectLockConfigurationRequest$, () => GetObjectLockConfigurationOutput$\n];\nexport var GetObjectRetention$ = [9, n0, _GORe,\n { [_h]: [\"GET\", \"/{Key+}?retention\", 200] }, () => GetObjectRetentionRequest$, () => GetObjectRetentionOutput$\n];\nexport var GetObjectTagging$ = [9, n0, _GOT,\n { [_h]: [\"GET\", \"/{Key+}?tagging\", 200] }, () => GetObjectTaggingRequest$, () => GetObjectTaggingOutput$\n];\nexport var GetObjectTorrent$ = [9, n0, _GOTe,\n { [_h]: [\"GET\", \"/{Key+}?torrent\", 200] }, () => GetObjectTorrentRequest$, () => GetObjectTorrentOutput$\n];\nexport var GetPublicAccessBlock$ = [9, n0, _GPAB,\n { [_h]: [\"GET\", \"/?publicAccessBlock\", 200] }, () => GetPublicAccessBlockRequest$, () => GetPublicAccessBlockOutput$\n];\nexport var HeadBucket$ = [9, n0, _HB,\n { [_h]: [\"HEAD\", \"/\", 200] }, () => HeadBucketRequest$, () => HeadBucketOutput$\n];\nexport var HeadObject$ = [9, n0, _HO,\n { [_h]: [\"HEAD\", \"/{Key+}\", 200] }, () => HeadObjectRequest$, () => HeadObjectOutput$\n];\nexport var ListBucketAnalyticsConfigurations$ = [9, n0, _LBAC,\n { [_h]: [\"GET\", \"/?analytics&x-id=ListBucketAnalyticsConfigurations\", 200] }, () => ListBucketAnalyticsConfigurationsRequest$, () => ListBucketAnalyticsConfigurationsOutput$\n];\nexport var ListBucketIntelligentTieringConfigurations$ = [9, n0, _LBITC,\n { [_h]: [\"GET\", \"/?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations\", 200] }, () => ListBucketIntelligentTieringConfigurationsRequest$, () => ListBucketIntelligentTieringConfigurationsOutput$\n];\nexport var ListBucketInventoryConfigurations$ = [9, n0, _LBIC,\n { [_h]: [\"GET\", \"/?inventory&x-id=ListBucketInventoryConfigurations\", 200] }, () => ListBucketInventoryConfigurationsRequest$, () => ListBucketInventoryConfigurationsOutput$\n];\nexport var ListBucketMetricsConfigurations$ = [9, n0, _LBMC,\n { [_h]: [\"GET\", \"/?metrics&x-id=ListBucketMetricsConfigurations\", 200] }, () => ListBucketMetricsConfigurationsRequest$, () => ListBucketMetricsConfigurationsOutput$\n];\nexport var ListBuckets$ = [9, n0, _LB,\n { [_h]: [\"GET\", \"/?x-id=ListBuckets\", 200] }, () => ListBucketsRequest$, () => ListBucketsOutput$\n];\nexport var ListDirectoryBuckets$ = [9, n0, _LDB,\n { [_h]: [\"GET\", \"/?x-id=ListDirectoryBuckets\", 200] }, () => ListDirectoryBucketsRequest$, () => ListDirectoryBucketsOutput$\n];\nexport var ListMultipartUploads$ = [9, n0, _LMU,\n { [_h]: [\"GET\", \"/?uploads\", 200] }, () => ListMultipartUploadsRequest$, () => ListMultipartUploadsOutput$\n];\nexport var ListObjects$ = [9, n0, _LO,\n { [_h]: [\"GET\", \"/\", 200] }, () => ListObjectsRequest$, () => ListObjectsOutput$\n];\nexport var ListObjectsV2$ = [9, n0, _LOV,\n { [_h]: [\"GET\", \"/?list-type=2\", 200] }, () => ListObjectsV2Request$, () => ListObjectsV2Output$\n];\nexport var ListObjectVersions$ = [9, n0, _LOVi,\n { [_h]: [\"GET\", \"/?versions\", 200] }, () => ListObjectVersionsRequest$, () => ListObjectVersionsOutput$\n];\nexport var ListParts$ = [9, n0, _LP,\n { [_h]: [\"GET\", \"/{Key+}?x-id=ListParts\", 200] }, () => ListPartsRequest$, () => ListPartsOutput$\n];\nexport var PutBucketAbac$ = [9, n0, _PBA,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?abac\", 200] }, () => PutBucketAbacRequest$, () => __Unit\n];\nexport var PutBucketAccelerateConfiguration$ = [9, n0, _PBAC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?accelerate\", 200] }, () => PutBucketAccelerateConfigurationRequest$, () => __Unit\n];\nexport var PutBucketAcl$ = [9, n0, _PBAu,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?acl\", 200] }, () => PutBucketAclRequest$, () => __Unit\n];\nexport var PutBucketAnalyticsConfiguration$ = [9, n0, _PBACu,\n { [_h]: [\"PUT\", \"/?analytics\", 200] }, () => PutBucketAnalyticsConfigurationRequest$, () => __Unit\n];\nexport var PutBucketCors$ = [9, n0, _PBC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?cors\", 200] }, () => PutBucketCorsRequest$, () => __Unit\n];\nexport var PutBucketEncryption$ = [9, n0, _PBE,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?encryption\", 200] }, () => PutBucketEncryptionRequest$, () => __Unit\n];\nexport var PutBucketIntelligentTieringConfiguration$ = [9, n0, _PBITC,\n { [_h]: [\"PUT\", \"/?intelligent-tiering\", 200] }, () => PutBucketIntelligentTieringConfigurationRequest$, () => __Unit\n];\nexport var PutBucketInventoryConfiguration$ = [9, n0, _PBIC,\n { [_h]: [\"PUT\", \"/?inventory\", 200] }, () => PutBucketInventoryConfigurationRequest$, () => __Unit\n];\nexport var PutBucketLifecycleConfiguration$ = [9, n0, _PBLC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?lifecycle\", 200] }, () => PutBucketLifecycleConfigurationRequest$, () => PutBucketLifecycleConfigurationOutput$\n];\nexport var PutBucketLogging$ = [9, n0, _PBL,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?logging\", 200] }, () => PutBucketLoggingRequest$, () => __Unit\n];\nexport var PutBucketMetricsConfiguration$ = [9, n0, _PBMC,\n { [_h]: [\"PUT\", \"/?metrics\", 200] }, () => PutBucketMetricsConfigurationRequest$, () => __Unit\n];\nexport var PutBucketNotificationConfiguration$ = [9, n0, _PBNC,\n { [_h]: [\"PUT\", \"/?notification\", 200] }, () => PutBucketNotificationConfigurationRequest$, () => __Unit\n];\nexport var PutBucketOwnershipControls$ = [9, n0, _PBOC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?ownershipControls\", 200] }, () => PutBucketOwnershipControlsRequest$, () => __Unit\n];\nexport var PutBucketPolicy$ = [9, n0, _PBP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?policy\", 200] }, () => PutBucketPolicyRequest$, () => __Unit\n];\nexport var PutBucketReplication$ = [9, n0, _PBR,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?replication\", 200] }, () => PutBucketReplicationRequest$, () => __Unit\n];\nexport var PutBucketRequestPayment$ = [9, n0, _PBRP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?requestPayment\", 200] }, () => PutBucketRequestPaymentRequest$, () => __Unit\n];\nexport var PutBucketTagging$ = [9, n0, _PBT,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?tagging\", 200] }, () => PutBucketTaggingRequest$, () => __Unit\n];\nexport var PutBucketVersioning$ = [9, n0, _PBV,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?versioning\", 200] }, () => PutBucketVersioningRequest$, () => __Unit\n];\nexport var PutBucketWebsite$ = [9, n0, _PBW,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?website\", 200] }, () => PutBucketWebsiteRequest$, () => __Unit\n];\nexport var PutObject$ = [9, n0, _PO,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?x-id=PutObject\", 200] }, () => PutObjectRequest$, () => PutObjectOutput$\n];\nexport var PutObjectAcl$ = [9, n0, _POA,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?acl\", 200] }, () => PutObjectAclRequest$, () => PutObjectAclOutput$\n];\nexport var PutObjectLegalHold$ = [9, n0, _POLH,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?legal-hold\", 200] }, () => PutObjectLegalHoldRequest$, () => PutObjectLegalHoldOutput$\n];\nexport var PutObjectLockConfiguration$ = [9, n0, _POLC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?object-lock\", 200] }, () => PutObjectLockConfigurationRequest$, () => PutObjectLockConfigurationOutput$\n];\nexport var PutObjectRetention$ = [9, n0, _PORu,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?retention\", 200] }, () => PutObjectRetentionRequest$, () => PutObjectRetentionOutput$\n];\nexport var PutObjectTagging$ = [9, n0, _POT,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?tagging\", 200] }, () => PutObjectTaggingRequest$, () => PutObjectTaggingOutput$\n];\nexport var PutPublicAccessBlock$ = [9, n0, _PPAB,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?publicAccessBlock\", 200] }, () => PutPublicAccessBlockRequest$, () => __Unit\n];\nexport var RenameObject$ = [9, n0, _RO,\n { [_h]: [\"PUT\", \"/{Key+}?renameObject\", 200] }, () => RenameObjectRequest$, () => RenameObjectOutput$\n];\nexport var RestoreObject$ = [9, n0, _ROe,\n { [_hC]: \"-\", [_h]: [\"POST\", \"/{Key+}?restore\", 200] }, () => RestoreObjectRequest$, () => RestoreObjectOutput$\n];\nexport var SelectObjectContent$ = [9, n0, _SOC,\n { [_h]: [\"POST\", \"/{Key+}?select&select-type=2\", 200] }, () => SelectObjectContentRequest$, () => SelectObjectContentOutput$\n];\nexport var UpdateBucketMetadataInventoryTableConfiguration$ = [9, n0, _UBMITC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?metadataInventoryTable\", 200] }, () => UpdateBucketMetadataInventoryTableConfigurationRequest$, () => __Unit\n];\nexport var UpdateBucketMetadataJournalTableConfiguration$ = [9, n0, _UBMJTC,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/?metadataJournalTable\", 200] }, () => UpdateBucketMetadataJournalTableConfigurationRequest$, () => __Unit\n];\nexport var UpdateObjectEncryption$ = [9, n0, _UOE,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?encryption\", 200] }, () => UpdateObjectEncryptionRequest$, () => UpdateObjectEncryptionResponse$\n];\nexport var UploadPart$ = [9, n0, _UP,\n { [_hC]: \"-\", [_h]: [\"PUT\", \"/{Key+}?x-id=UploadPart\", 200] }, () => UploadPartRequest$, () => UploadPartOutput$\n];\nexport var UploadPartCopy$ = [9, n0, _UPC,\n { [_h]: [\"PUT\", \"/{Key+}?x-id=UploadPartCopy\", 200] }, () => UploadPartCopyRequest$, () => UploadPartCopyOutput$\n];\nexport var WriteGetObjectResponse$ = [9, n0, _WGOR,\n { [_en]: [\"{RequestRoute}.\"], [_h]: [\"POST\", \"/WriteGetObjectResponse\", 200] }, () => WriteGetObjectResponseRequest$, () => __Unit\n];\n",
|
|
289
|
+
"import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class S3ServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, S3ServiceException.prototype);\n }\n}\n",
|
|
290
|
+
"import { S3ServiceException as __BaseException } from \"./S3ServiceException\";\nexport class NoSuchUpload extends __BaseException {\n name = \"NoSuchUpload\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchUpload\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchUpload.prototype);\n }\n}\nexport class AccessDenied extends __BaseException {\n name = \"AccessDenied\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"AccessDenied\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDenied.prototype);\n }\n}\nexport class ObjectNotInActiveTierError extends __BaseException {\n name = \"ObjectNotInActiveTierError\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ObjectNotInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ObjectNotInActiveTierError.prototype);\n }\n}\nexport class BucketAlreadyExists extends __BaseException {\n name = \"BucketAlreadyExists\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"BucketAlreadyExists\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, BucketAlreadyExists.prototype);\n }\n}\nexport class BucketAlreadyOwnedByYou extends __BaseException {\n name = \"BucketAlreadyOwnedByYou\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"BucketAlreadyOwnedByYou\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, BucketAlreadyOwnedByYou.prototype);\n }\n}\nexport class NoSuchBucket extends __BaseException {\n name = \"NoSuchBucket\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchBucket\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchBucket.prototype);\n }\n}\nexport class InvalidObjectState extends __BaseException {\n name = \"InvalidObjectState\";\n $fault = \"client\";\n StorageClass;\n AccessTier;\n constructor(opts) {\n super({\n name: \"InvalidObjectState\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidObjectState.prototype);\n this.StorageClass = opts.StorageClass;\n this.AccessTier = opts.AccessTier;\n }\n}\nexport class NoSuchKey extends __BaseException {\n name = \"NoSuchKey\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NoSuchKey\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NoSuchKey.prototype);\n }\n}\nexport class NotFound extends __BaseException {\n name = \"NotFound\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"NotFound\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, NotFound.prototype);\n }\n}\nexport class EncryptionTypeMismatch extends __BaseException {\n name = \"EncryptionTypeMismatch\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"EncryptionTypeMismatch\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, EncryptionTypeMismatch.prototype);\n }\n}\nexport class InvalidRequest extends __BaseException {\n name = \"InvalidRequest\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidRequest\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequest.prototype);\n }\n}\nexport class InvalidWriteOffset extends __BaseException {\n name = \"InvalidWriteOffset\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidWriteOffset\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidWriteOffset.prototype);\n }\n}\nexport class TooManyParts extends __BaseException {\n name = \"TooManyParts\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyParts\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyParts.prototype);\n }\n}\nexport class IdempotencyParameterMismatch extends __BaseException {\n name = \"IdempotencyParameterMismatch\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"IdempotencyParameterMismatch\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, IdempotencyParameterMismatch.prototype);\n }\n}\nexport class ObjectAlreadyInActiveTierError extends __BaseException {\n name = \"ObjectAlreadyInActiveTierError\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ObjectAlreadyInActiveTierError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ObjectAlreadyInActiveTierError.prototype);\n }\n}\n",
|
|
291
|
+
"import packageInfo from \"../package.json\";\nimport { emitWarningIfUnsupportedVersion as awsCheckVersion, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, NODE_SIGV4A_CONFIG_OPTIONS, } from \"@aws-sdk/core\";\nimport { defaultProvider as credentialDefaultProvider } from \"@aws-sdk/credential-provider-node\";\nimport { NODE_USE_ARN_REGION_CONFIG_OPTIONS } from \"@aws-sdk/middleware-bucket-endpoint\";\nimport { NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS, NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS, } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS } from \"@aws-sdk/middleware-sdk-s3\";\nimport { createDefaultUserAgentProvider, NODE_APP_ID_CONFIG_OPTIONS } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { eventStreamSerdeProvider } from \"@smithy/eventstream-serde-node\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { readableStreamHasher as streamHasher } from \"@smithy/hash-stream-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { emitWarningIfUnsupportedVersion, loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n const loaderConfig = {\n profile: config?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config?.authSchemePreference ?? loadNodeConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? credentialDefaultProvider,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n disableS3ExpressSessionAuth: config?.disableS3ExpressSessionAuth ?? loadNodeConfig(NODE_DISABLE_S3_EXPRESS_SESSION_AUTH_OPTIONS, loaderConfig),\n eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),\n md5: config?.md5 ?? Hash.bind(null, \"md5\"),\n region: config?.region ?? loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestChecksumCalculation: config?.requestChecksumCalculation ?? loadNodeConfig(NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS, loaderConfig),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n responseChecksumValidation: config?.responseChecksumValidation ?? loadNodeConfig(NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS, loaderConfig),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }, config),\n sha1: config?.sha1 ?? Hash.bind(null, \"sha1\"),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n sigv4aSigningRegionSet: config?.sigv4aSigningRegionSet ?? loadNodeConfig(NODE_SIGV4A_CONFIG_OPTIONS, loaderConfig),\n streamCollector: config?.streamCollector ?? streamCollector,\n streamHasher: config?.streamHasher ?? streamHasher,\n useArnRegion: config?.useArnRegion ?? loadNodeConfig(NODE_USE_ARN_REGION_CONFIG_OPTIONS, loaderConfig),\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config?.userAgentAppId ?? loadNodeConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n",
|
|
292
|
+
"import { ENV_KEY, ENV_SECRET, fromEnv } from \"@aws-sdk/credential-provider-env\";\nimport { CredentialsProviderError } from \"@smithy/property-provider\";\nimport { ENV_PROFILE } from \"@smithy/shared-ini-file-loader\";\nimport { remoteProvider } from \"./remoteProvider\";\nimport { memoizeChain } from \"./runtime/memoize-chain\";\nlet multipleCredentialSourceWarningEmitted = false;\nexport const defaultProvider = (init = {}) => memoizeChain([\n async () => {\n const profile = init.profile ?? process.env[ENV_PROFILE];\n if (profile) {\n const envStaticCredentialsAreSet = process.env[ENV_KEY] && process.env[ENV_SECRET];\n if (envStaticCredentialsAreSet) {\n if (!multipleCredentialSourceWarningEmitted) {\n const warnFn = init.logger?.warn && init.logger?.constructor?.name !== \"NoOpLogger\"\n ? init.logger.warn.bind(init.logger)\n : console.warn;\n warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:\n Multiple credential sources detected: \n Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.\n This SDK will proceed with the AWS_PROFILE value.\n \n However, a future version may change this behavior to prefer the ENV static credentials.\n Please ensure that your environment only sets either the AWS_PROFILE or the\n AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.\n`);\n multipleCredentialSourceWarningEmitted = true;\n }\n }\n throw new CredentialsProviderError(\"AWS_PROFILE is set, skipping fromEnv provider.\", {\n logger: init.logger,\n tryNextLink: true,\n });\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromEnv\");\n return fromEnv(init)();\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n throw new CredentialsProviderError(\"Skipping SSO provider in default chain (inputs do not include SSO fields).\", { logger: init.logger });\n }\n const { fromSSO } = await import(\"@aws-sdk/credential-provider-sso\");\n return fromSSO(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromIni\");\n const { fromIni } = await import(\"@aws-sdk/credential-provider-ini\");\n return fromIni(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromProcess\");\n const { fromProcess } = await import(\"@aws-sdk/credential-provider-process\");\n return fromProcess(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile\");\n const { fromTokenFile } = await import(\"@aws-sdk/credential-provider-web-identity\");\n return fromTokenFile(init)(awsIdentityProperties);\n },\n async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::remoteProvider\");\n return (await remoteProvider(init))();\n },\n async () => {\n throw new CredentialsProviderError(\"Could not load credentials from any providers\", {\n tryNextLink: false,\n logger: init.logger,\n });\n },\n], credentialsTreatedAsExpired);\nexport const credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;\nexport const credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;\n",
|
|
293
|
+
"import { chain, CredentialsProviderError } from \"@smithy/property-provider\";\nexport const ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexport const remoteProvider = async (init) => {\n const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await import(\"@smithy/credential-provider-imds\");\n if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata\");\n const { fromHttp } = await import(\"@aws-sdk/credential-provider-http\");\n return chain(fromHttp(init), fromContainerMetadata(init));\n }\n if (process.env[ENV_IMDS_DISABLED] && process.env[ENV_IMDS_DISABLED] !== \"false\") {\n return async () => {\n throw new CredentialsProviderError(\"EC2 Instance Metadata Service access disabled\", { logger: init.logger });\n };\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata\");\n return fromInstanceMetadata(init);\n};\n",
|
|
294
|
+
"export function memoizeChain(providers, treatAsExpired) {\n const chain = internalCreateChain(providers);\n let activeLock;\n let passiveLock;\n let credentials;\n const provider = async (options) => {\n if (options?.forceRefresh) {\n return await chain(options);\n }\n if (credentials?.expiration) {\n if (credentials?.expiration?.getTime() < Date.now()) {\n credentials = undefined;\n }\n }\n if (activeLock) {\n await activeLock;\n }\n else if (!credentials || treatAsExpired?.(credentials)) {\n if (credentials) {\n if (!passiveLock) {\n passiveLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n passiveLock = undefined;\n });\n }\n }\n else {\n activeLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n activeLock = undefined;\n });\n return provider(options);\n }\n }\n return credentials;\n };\n return provider;\n}\nexport const internalCreateChain = (providers) => async (awsIdentityProperties) => {\n let lastProviderError;\n for (const provider of providers) {\n try {\n return await provider(awsIdentityProperties);\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n",
|
|
295
|
+
"import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const NODE_USE_ARN_REGION_ENV_NAME = \"AWS_S3_USE_ARN_REGION\";\nexport const NODE_USE_ARN_REGION_INI_NAME = \"s3_use_arn_region\";\nexport const NODE_USE_ARN_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, NODE_USE_ARN_REGION_ENV_NAME, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, NODE_USE_ARN_REGION_INI_NAME, SelectorType.CONFIG),\n default: undefined,\n};\n",
|
|
296
|
+
"import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n toUtf8;\n fromUtf8;\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n",
|
|
297
|
+
"import { toHex } from \"@smithy/util-hex-encoding\";\nexport class Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9_223_372_036_854_775_808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n",
|
|
298
|
+
"import { Crc32 } from \"@aws-crypto/crc32\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n",
|
|
299
|
+
"import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n headerMarshaller;\n messageBuffer;\n isEndOfStream;\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n",
|
|
300
|
+
"export class MessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n",
|
|
301
|
+
"export class MessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n",
|
|
302
|
+
"export class SmithyMessageDecoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n",
|
|
303
|
+
"export class SmithyMessageEncoderStream {\n options;\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n",
|
|
304
|
+
"export function getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n",
|
|
305
|
+
"export function getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nexport function getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n",
|
|
306
|
+
"import { EventStreamCodec, MessageDecoderStream, MessageEncoderStream, SmithyMessageDecoderStream, SmithyMessageEncoderStream, } from \"@smithy/eventstream-codec\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getMessageUnmarshaller } from \"./getUnmarshalledStream\";\nexport class EventStreamMarshaller {\n eventStreamCodec;\n utfEncoder;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n}\n",
|
|
307
|
+
"import { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@smithy/eventstream-serde-universal\";\nimport { Readable } from \"stream\";\nimport { readabletoIterable } from \"./utils\";\nexport class EventStreamMarshaller {\n universalMarshaller;\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = typeof body[Symbol.asyncIterator] === \"function\" ? body : readabletoIterable(body);\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n return Readable.from(this.universalMarshaller.serialize(input, serializer));\n }\n}\n",
|
|
308
|
+
"export async function* readabletoIterable(readStream) {\n let streamEnded = false;\n let generationEnded = false;\n const records = new Array();\n readStream.on(\"error\", (err) => {\n if (!streamEnded) {\n streamEnded = true;\n }\n if (err) {\n throw err;\n }\n });\n readStream.on(\"data\", (data) => {\n records.push(data);\n });\n readStream.on(\"end\", () => {\n streamEnded = true;\n });\n while (!generationEnded) {\n const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));\n if (value) {\n yield value;\n }\n generationEnded = streamEnded && records.length === 0;\n }\n}\n",
|
|
309
|
+
"import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n",
|
|
310
|
+
"import { toUint8Array } from \"@smithy/util-utf8\";\nimport { Writable } from \"stream\";\nexport class HashCalculator extends Writable {\n hash;\n constructor(hash, options) {\n super(options);\n this.hash = hash;\n }\n _write(chunk, encoding, callback) {\n try {\n this.hash.update(toUint8Array(chunk));\n }\n catch (err) {\n return callback(err);\n }\n callback();\n }\n}\n",
|
|
311
|
+
"import { HashCalculator } from \"./HashCalculator\";\nexport const readableStreamHasher = (hashCtor, readableStream) => {\n if (readableStream.readableFlowing !== null) {\n throw new Error(\"Unable to calculate hash for flowing readable stream\");\n }\n const hash = new hashCtor();\n const hashCalculator = new HashCalculator(hash);\n readableStream.pipe(hashCalculator);\n return new Promise((resolve, reject) => {\n readableStream.on(\"error\", (err) => {\n hashCalculator.end();\n reject(err);\n });\n hashCalculator.on(\"error\", reject);\n hashCalculator.on(\"finish\", () => {\n hash.digest().then(resolve).catch(reject);\n });\n });\n};\n",
|
|
312
|
+
"import { AwsSdkSigV4ASigner, AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { AwsRestXmlProtocol } from \"@aws-sdk/core/protocols\";\nimport { SignatureV4MultiRegion } from \"@aws-sdk/signature-v4-multi-region\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { getAwsChunkedEncodingStream, sdkStreamMixin } from \"@smithy/util-stream\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultS3HttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nimport { errorTypeRegistries } from \"./schemas/schemas_0\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2006-03-01\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n getAwsChunkedEncodingStream: config?.getAwsChunkedEncodingStream ?? getAwsChunkedEncodingStream,\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultS3HttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"aws.auth#sigv4a\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4a\"),\n signer: new AwsSdkSigV4ASigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n protocol: config?.protocol ?? AwsRestXmlProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.s3\",\n errorTypeRegistries,\n xmlNamespace: \"http://s3.amazonaws.com/doc/2006-03-01/\",\n version: \"2006-03-01\",\n serviceTarget: \"AmazonS3\",\n },\n sdkStreamMixin: config?.sdkStreamMixin ?? sdkStreamMixin,\n serviceId: config?.serviceId ?? \"S3\",\n signerConstructor: config?.signerConstructor ?? SignatureV4MultiRegion,\n signingEscapePath: config?.signingEscapePath ?? false,\n urlParser: config?.urlParser ?? parseUrl,\n useArnRegion: config?.useArnRegion ?? undefined,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n",
|
|
313
|
+
"import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n",
|
|
314
|
+
"export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n",
|
|
315
|
+
"export function ssecMiddleware(options) {\n return (next) => async (args) => {\n const input = { ...args.input };\n const properties = [\n {\n target: \"SSECustomerKey\",\n hash: \"SSECustomerKeyMD5\",\n },\n {\n target: \"CopySourceSSECustomerKey\",\n hash: \"CopySourceSSECustomerKeyMD5\",\n },\n ];\n for (const prop of properties) {\n const value = input[prop.target];\n if (value) {\n let valueForHash;\n if (typeof value === \"string\") {\n if (isValidBase64EncodedSSECustomerKey(value, options)) {\n valueForHash = options.base64Decoder(value);\n }\n else {\n valueForHash = options.utf8Decoder(value);\n input[prop.target] = options.base64Encoder(valueForHash);\n }\n }\n else {\n valueForHash = ArrayBuffer.isView(value)\n ? new Uint8Array(value.buffer, value.byteOffset, value.byteLength)\n : new Uint8Array(value);\n input[prop.target] = options.base64Encoder(valueForHash);\n }\n const hash = new options.md5();\n hash.update(valueForHash);\n input[prop.hash] = options.base64Encoder(await hash.digest());\n }\n }\n return next({\n ...args,\n input,\n });\n };\n}\nexport const ssecMiddlewareOptions = {\n name: \"ssecMiddleware\",\n step: \"initialize\",\n tags: [\"SSE\"],\n override: true,\n};\nexport const getSsecPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(ssecMiddleware(config), ssecMiddlewareOptions);\n },\n});\nexport function isValidBase64EncodedSSECustomerKey(str, options) {\n const base64Regex = /^(?:[A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;\n if (!base64Regex.test(str))\n return false;\n try {\n const decodedBytes = options.base64Decoder(str);\n return decodedBytes.length === 32;\n }\n catch {\n return false;\n }\n}\n",
|
|
316
|
+
"import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getS3ExpiresMiddlewarePlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { GetObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class GetObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestChecksumRequired: false,\n requestValidationModeMember: 'ChecksumMode',\n 'responseAlgorithms': ['CRC64NVME', 'CRC32', 'CRC32C', 'SHA256', 'SHA1'],\n }),\n getSsecPlugin(config),\n getS3ExpiresMiddlewarePlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"GetObject\", {})\n .n(\"S3Client\", \"GetObjectCommand\")\n .sc(GetObject$)\n .build() {\n}\n",
|
|
317
|
+
"import { getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { ListObjectsV2$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class ListObjectsV2Command extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Prefix: { type: \"contextParams\", name: \"Prefix\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getThrow200ExceptionsPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"ListObjectsV2\", {})\n .n(\"S3Client\", \"ListObjectsV2Command\")\n .sc(ListObjectsV2$)\n .build() {\n}\n",
|
|
318
|
+
"import { getFlexibleChecksumsPlugin } from \"@aws-sdk/middleware-flexible-checksums\";\nimport { getCheckContentLengthHeaderPlugin, getThrow200ExceptionsPlugin } from \"@aws-sdk/middleware-sdk-s3\";\nimport { getSsecPlugin } from \"@aws-sdk/middleware-ssec\";\nimport { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { PutObject$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class PutObjectCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n Bucket: { type: \"contextParams\", name: \"Bucket\" },\n Key: { type: \"contextParams\", name: \"Key\" },\n})\n .m(function (Command, cs, config, o) {\n return [\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n getFlexibleChecksumsPlugin(config, {\n requestAlgorithmMember: { 'httpHeader': 'x-amz-sdk-checksum-algorithm', 'name': 'ChecksumAlgorithm' },\n requestChecksumRequired: false,\n }),\n getCheckContentLengthHeaderPlugin(config),\n getThrow200ExceptionsPlugin(config),\n getSsecPlugin(config),\n ];\n})\n .s(\"AmazonS3\", \"PutObject\", {})\n .n(\"S3Client\", \"PutObjectCommand\")\n .sc(PutObject$)\n .build() {\n}\n",
|
|
319
|
+
"import type { PutFileParams, ReadFileParams } from \"./types\";\n\nimport {\n GetObjectCommand,\n ListObjectsV2Command,\n PutObjectCommand,\n S3Client,\n} from \"@aws-sdk/client-s3\";\n\nimport { Buffer } from \"node:buffer\";\nimport { FileStorageDriver } from \"./FileStorageDriver\";\n\nexport class S3Driver extends FileStorageDriver {\n private client: S3Client;\n\n constructor(...config: ConstructorParameters<typeof S3Client>) {\n super();\n this.client = new S3Client(...config);\n }\n\n async put(params: PutFileParams | Blob) {\n let body: Blob | File | Buffer;\n let contentType: string;\n let name: string;\n let bucket = process.env.BUCKET_NAME;\n\n if (params instanceof Blob) {\n body = params;\n name = `${Bun.randomUUIDv7()}.${params.type.split(\"/\")[1].split(\";\")[0]}`;\n contentType = params.type;\n } else {\n body = params.body;\n name = params.name;\n bucket = params.bucket ?? bucket;\n contentType = params.contentType;\n }\n\n contentType =\n body instanceof Blob || body instanceof File ? body.type : undefined;\n\n const buffer =\n body instanceof Buffer\n ? body\n : body instanceof Blob || body instanceof File\n ? Buffer.from(await body.arrayBuffer())\n : \"\";\n\n await this.client.send(\n new PutObjectCommand({\n Bucket: bucket,\n Key: name,\n Body: buffer,\n ContentType: contentType,\n }),\n );\n\n return name;\n }\n\n async list(folder: string) {\n const result = await this.client.send(\n new ListObjectsV2Command({\n Bucket: process.env.BUCKET_NAME,\n Prefix: folder,\n }),\n );\n\n return result;\n }\n\n async fetch(params: ReadFileParams | string) {\n let bucket = process.env.BUCKET_NAME;\n let name: string | undefined;\n\n if (typeof params === \"string\") {\n name = params;\n } else {\n bucket = params.bucket ?? bucket;\n name = params.name;\n }\n\n if (!name) {\n throw new Error(\"Object name has to be specified\");\n }\n\n const result = await this.client.send(\n new GetObjectCommand({\n Bucket: bucket,\n Key: name,\n }),\n );\n\n return new Response(result.Body.transformToWebStream(), {\n headers: {\n \"Content-Type\": result.ContentType,\n \"Content-Length\": result.ContentLength.toString(),\n \"Cache-Control\": \"private, max-age=12000, must-revalidate\",\n \"Last-Modified\": result.LastModified?.toUTCString() || \"\",\n ETag: result.ETag || \"\",\n },\n });\n }\n}\n",
|
|
320
|
+
"export abstract class RateLimiterDriver {\n abstract consume(userId: string, requestPath: string): number;\n}\n",
|
|
321
|
+
"import { RateLimiterDriver } from \"./RateLimiterDriver\";\n\nexport class InMemoryRateLimiter extends RateLimiterDriver {\n requests: Map<string, { date: number; count: number }> = new Map();\n\n consume(id: string, path: string) {\n if (!this.requests.has(id)) {\n this.requests.set(id, { date: Date.now(), count: 1 });\n } else {\n const record = this.requests.get(id);\n const now = Date.now();\n if (now - record.date >= 1000 * 60) {\n this.requests.set(id, { date: now, count: 1 });\n } else {\n this.requests.set(id, { date: record.date, count: record.count + 1 });\n }\n }\n\n return this.requests.get(id).count;\n }\n}\n",
|
|
322
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport { InMemoryRateLimiter } from \"./drivers/InMemoryRateLimiterDriver\";\nimport { RateLimiterDriver } from \"./drivers/RateLimiterDriver\";\n\nexport class RateLimiterServiceProvider extends ServiceProvider {\n driver: RateLimiterDriver = new InMemoryRateLimiter();\n\n boot() {}\n}\n",
|
|
323
|
+
"export const textEncoder = new TextEncoder();\n\nconst base64Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst base64Lookup = new Uint8Array(256);\nfor (let i = 0; i < base64Chars.length; i++) {\n base64Lookup[base64Chars.charCodeAt(i)] = i;\n}\n\nexport function decodeBase64(base64) {\n let bufferLength = Math.ceil(base64.length / 4) * 3;\n const len = base64.length;\n\n let p = 0;\n\n if (base64.length % 4 === 3) {\n bufferLength--;\n } else if (base64.length % 4 === 2) {\n bufferLength -= 2;\n } else if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arrayBuffer = new ArrayBuffer(bufferLength);\n const bytes = new Uint8Array(arrayBuffer);\n\n for (let i = 0; i < len; i += 4) {\n let encoded1 = base64Lookup[base64.charCodeAt(i)];\n let encoded2 = base64Lookup[base64.charCodeAt(i + 1)];\n let encoded3 = base64Lookup[base64.charCodeAt(i + 2)];\n let encoded4 = base64Lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arrayBuffer;\n}\n\nexport function getDecoder(charset) {\n charset = charset || 'utf8';\n let decoder;\n\n try {\n decoder = new TextDecoder(charset);\n } catch (err) {\n decoder = new TextDecoder('windows-1252');\n }\n\n return decoder;\n}\n\n/**\n * Converts a Blob into an ArrayBuffer\n * @param {Blob} blob Blob to convert\n * @returns {ArrayBuffer} Converted value\n */\nexport async function blobToArrayBuffer(blob) {\n if ('arrayBuffer' in blob) {\n return await blob.arrayBuffer();\n }\n\n const fr = new FileReader();\n\n return new Promise((resolve, reject) => {\n fr.onload = function (e) {\n resolve(e.target.result);\n };\n\n fr.onerror = function (e) {\n reject(fr.error);\n };\n\n fr.readAsArrayBuffer(blob);\n });\n}\n\nexport function getHex(c) {\n if (\n (c >= 0x30 /* 0 */ && c <= 0x39) /* 9 */ ||\n (c >= 0x61 /* a */ && c <= 0x66) /* f */ ||\n (c >= 0x41 /* A */ && c <= 0x46) /* F */\n ) {\n return String.fromCharCode(c);\n }\n return false;\n}\n\n/**\n * Decode a complete mime word encoded string\n *\n * @param {String} str Mime word encoded string\n * @return {String} Decoded unicode string\n */\nexport function decodeWord(charset, encoding, str) {\n // RFC2231 added language tag to the encoding\n // see: https://tools.ietf.org/html/rfc2231#section-5\n // this implementation silently ignores this tag\n let splitPos = charset.indexOf('*');\n if (splitPos >= 0) {\n charset = charset.substr(0, splitPos);\n }\n\n encoding = encoding.toUpperCase();\n\n let byteStr;\n\n if (encoding === 'Q') {\n str = str\n // remove spaces between = and hex char, this might indicate invalidly applied line splitting\n .replace(/=\\s+([0-9a-fA-F])/g, '=$1')\n // convert all underscores to spaces\n .replace(/[_\\s]/g, ' ');\n\n let buf = textEncoder.encode(str);\n let encodedBytes = [];\n for (let i = 0, len = buf.length; i < len; i++) {\n let c = buf[i];\n if (i <= len - 2 && c === 0x3d /* = */) {\n let c1 = getHex(buf[i + 1]);\n let c2 = getHex(buf[i + 2]);\n if (c1 && c2) {\n let c = parseInt(c1 + c2, 16);\n encodedBytes.push(c);\n i += 2;\n continue;\n }\n }\n encodedBytes.push(c);\n }\n byteStr = new ArrayBuffer(encodedBytes.length);\n let dataView = new DataView(byteStr);\n for (let i = 0, len = encodedBytes.length; i < len; i++) {\n dataView.setUint8(i, encodedBytes[i]);\n }\n } else if (encoding === 'B') {\n byteStr = decodeBase64(str.replace(/[^a-zA-Z0-9\\+\\/=]+/g, ''));\n } else {\n // keep as is, convert ArrayBuffer to unicode string, assume utf8\n byteStr = textEncoder.encode(str);\n }\n\n return getDecoder(charset).decode(byteStr);\n}\n\nexport function decodeWords(str) {\n let joinString = true;\n let done = false;\n\n while (!done) {\n let result = (str || '')\n .toString()\n // find base64 words that can be joined\n .replace(\n /(=\\?([^?]+)\\?[Bb]\\?([^?]*)\\?=)\\s*(?==\\?([^?]+)\\?[Bb]\\?[^?]*\\?=)/g,\n (match, left, chLeft, encodedLeftStr, chRight) => {\n if (!joinString) {\n return match;\n }\n // only mark b64 chunks to be joined if charsets match and left side does not end with =\n if (chLeft === chRight && encodedLeftStr.length % 4 === 0 && !/=$/.test(encodedLeftStr)) {\n // set a joiner marker\n return left + '__\\x00JOIN\\x00__';\n }\n\n return match;\n }\n )\n // find QP words that can be joined\n .replace(\n /(=\\?([^?]+)\\?[Qq]\\?[^?]*\\?=)\\s*(?==\\?([^?]+)\\?[Qq]\\?[^?]*\\?=)/g,\n (match, left, chLeft, chRight) => {\n if (!joinString) {\n return match;\n }\n // only mark QP chunks to be joined if charsets match\n if (chLeft === chRight) {\n // set a joiner marker\n return left + '__\\x00JOIN\\x00__';\n }\n return match;\n }\n )\n // join base64 encoded words\n .replace(/(\\?=)?__\\x00JOIN\\x00__(=\\?([^?]+)\\?[QqBb]\\?)?/g, '')\n // remove spaces between mime encoded words\n .replace(/(=\\?[^?]+\\?[QqBb]\\?[^?]*\\?=)\\s+(?==\\?[^?]+\\?[QqBb]\\?[^?]*\\?=)/g, '$1')\n // decode words\n .replace(/=\\?([\\w_\\-*]+)\\?([QqBb])\\?([^?]*)\\?=/g, (m, charset, encoding, text) =>\n decodeWord(charset, encoding, text)\n );\n\n if (joinString && result.indexOf('\\ufffd') >= 0) {\n // text contains \\ufffd (EF BF BD), so unicode conversion failed, retry without joining strings\n joinString = false;\n } else {\n return result;\n }\n }\n}\n\nexport function decodeURIComponentWithCharset(encodedStr, charset) {\n charset = charset || 'utf-8';\n\n let encodedBytes = [];\n for (let i = 0; i < encodedStr.length; i++) {\n let c = encodedStr.charAt(i);\n if (c === '%' && /^[a-f0-9]{2}/i.test(encodedStr.substr(i + 1, 2))) {\n // encoded sequence\n let byte = encodedStr.substr(i + 1, 2);\n i += 2;\n encodedBytes.push(parseInt(byte, 16));\n } else if (c.charCodeAt(0) > 126) {\n c = textEncoder.encode(c);\n for (let j = 0; j < c.length; j++) {\n encodedBytes.push(c[j]);\n }\n } else {\n // \"normal\" char\n encodedBytes.push(c.charCodeAt(0));\n }\n }\n\n const byteStr = new ArrayBuffer(encodedBytes.length);\n const dataView = new DataView(byteStr);\n for (let i = 0, len = encodedBytes.length; i < len; i++) {\n dataView.setUint8(i, encodedBytes[i]);\n }\n\n return getDecoder(charset).decode(byteStr);\n}\n\nexport function decodeParameterValueContinuations(header) {\n // handle parameter value continuations\n // https://tools.ietf.org/html/rfc2231#section-3\n\n // preprocess values\n let paramKeys = new Map();\n\n Object.keys(header.params).forEach(key => {\n let match = key.match(/\\*((\\d+)\\*?)?$/);\n if (!match) {\n // nothing to do here, does not seem like a continuation param\n return;\n }\n\n let actualKey = key.substr(0, match.index).toLowerCase();\n let nr = Number(match[2]) || 0;\n\n let paramVal;\n if (!paramKeys.has(actualKey)) {\n paramVal = {\n charset: false,\n values: []\n };\n paramKeys.set(actualKey, paramVal);\n } else {\n paramVal = paramKeys.get(actualKey);\n }\n\n let value = header.params[key];\n if (nr === 0 && match[0].charAt(match[0].length - 1) === '*' && (match = value.match(/^([^']*)'[^']*'(.*)$/))) {\n paramVal.charset = match[1] || 'utf-8';\n value = match[2];\n }\n\n paramVal.values.push({ nr, value });\n\n // remove the old reference\n delete header.params[key];\n });\n\n paramKeys.forEach((paramVal, key) => {\n header.params[key] = decodeURIComponentWithCharset(\n paramVal.values\n .sort((a, b) => a.nr - b.nr)\n .map(a => a.value)\n .join(''),\n paramVal.charset\n );\n });\n}\n",
|
|
324
|
+
"import { blobToArrayBuffer } from './decode-strings.js';\n\nexport default class PassThroughDecoder {\n constructor() {\n this.chunks = [];\n }\n\n update(line) {\n this.chunks.push(line);\n this.chunks.push('\\n');\n }\n\n finalize() {\n // convert an array of arraybuffers into a blob and then back into a single arraybuffer\n return blobToArrayBuffer(new Blob(this.chunks, { type: 'application/octet-stream' }));\n }\n}\n",
|
|
325
|
+
"import { decodeBase64, blobToArrayBuffer } from './decode-strings.js';\n\nexport default class Base64Decoder {\n constructor(opts) {\n opts = opts || {};\n\n this.decoder = opts.decoder || new TextDecoder();\n\n this.maxChunkSize = 100 * 1024;\n\n this.chunks = [];\n\n this.remainder = '';\n }\n\n update(buffer) {\n let str = this.decoder.decode(buffer);\n\n str = str.replace(/[^a-zA-Z0-9+\\/]+/g, '');\n\n this.remainder += str;\n\n if (this.remainder.length >= this.maxChunkSize) {\n let allowedBytes = Math.floor(this.remainder.length / 4) * 4;\n let base64Str;\n\n if (allowedBytes === this.remainder.length) {\n base64Str = this.remainder;\n this.remainder = '';\n } else {\n base64Str = this.remainder.substr(0, allowedBytes);\n this.remainder = this.remainder.substr(allowedBytes);\n }\n\n if (base64Str.length) {\n this.chunks.push(decodeBase64(base64Str));\n }\n }\n }\n\n finalize() {\n if (this.remainder && !/^=+$/.test(this.remainder)) {\n this.chunks.push(decodeBase64(this.remainder));\n }\n\n return blobToArrayBuffer(new Blob(this.chunks, { type: 'application/octet-stream' }));\n }\n}\n",
|
|
326
|
+
"import { blobToArrayBuffer } from './decode-strings.js';\n\n// Regex patterns compiled once for performance\nconst VALID_QP_REGEX = /^=[a-f0-9]{2}$/i;\nconst QP_SPLIT_REGEX = /(?==[a-f0-9]{2})/i;\nconst SOFT_LINE_BREAK_REGEX = /=\\r?\\n/g;\nconst PARTIAL_QP_ENDING_REGEX = /=[a-fA-F0-9]?$/;\n\nexport default class QPDecoder {\n constructor(opts) {\n opts = opts || {};\n\n this.decoder = opts.decoder || new TextDecoder();\n\n this.maxChunkSize = 100 * 1024;\n\n this.remainder = '';\n\n this.chunks = [];\n }\n\n decodeQPBytes(encodedBytes) {\n let buf = new ArrayBuffer(encodedBytes.length);\n let dataView = new DataView(buf);\n for (let i = 0, len = encodedBytes.length; i < len; i++) {\n dataView.setUint8(i, parseInt(encodedBytes[i], 16));\n }\n return buf;\n }\n\n decodeChunks(str) {\n // unwrap newlines\n str = str.replace(SOFT_LINE_BREAK_REGEX, '');\n\n let list = str.split(QP_SPLIT_REGEX);\n let encodedBytes = [];\n for (let part of list) {\n if (part.charAt(0) !== '=') {\n if (encodedBytes.length) {\n this.chunks.push(this.decodeQPBytes(encodedBytes));\n encodedBytes = [];\n }\n this.chunks.push(part);\n continue;\n }\n\n if (part.length === 3) {\n // Validate that this is actually a valid QP sequence\n if (VALID_QP_REGEX.test(part)) {\n encodedBytes.push(part.substr(1));\n } else {\n // Not a valid QP sequence, treat as literal text\n if (encodedBytes.length) {\n this.chunks.push(this.decodeQPBytes(encodedBytes));\n encodedBytes = [];\n }\n this.chunks.push(part);\n }\n continue;\n }\n\n if (part.length > 3) {\n // First 3 chars should be a valid QP sequence\n const firstThree = part.substr(0, 3);\n if (VALID_QP_REGEX.test(firstThree)) {\n encodedBytes.push(part.substr(1, 2));\n this.chunks.push(this.decodeQPBytes(encodedBytes));\n encodedBytes = [];\n\n part = part.substr(3);\n this.chunks.push(part);\n } else {\n // Not a valid QP sequence, treat entire part as literal\n if (encodedBytes.length) {\n this.chunks.push(this.decodeQPBytes(encodedBytes));\n encodedBytes = [];\n }\n this.chunks.push(part);\n }\n }\n }\n if (encodedBytes.length) {\n this.chunks.push(this.decodeQPBytes(encodedBytes));\n }\n }\n\n update(buffer) {\n // expect full lines, so add line terminator as well\n let str = this.decoder.decode(buffer) + '\\n';\n\n str = this.remainder + str;\n\n if (str.length < this.maxChunkSize) {\n this.remainder = str;\n return;\n }\n\n this.remainder = '';\n\n let partialEnding = str.match(PARTIAL_QP_ENDING_REGEX);\n if (partialEnding) {\n if (partialEnding.index === 0) {\n this.remainder = str;\n return;\n }\n this.remainder = str.substr(partialEnding.index);\n str = str.substr(0, partialEnding.index);\n }\n\n this.decodeChunks(str);\n }\n\n finalize() {\n if (this.remainder.length) {\n this.decodeChunks(this.remainder);\n this.remainder = '';\n }\n\n // convert an array of arraybuffers into a blob and then back into a single arraybuffer\n return blobToArrayBuffer(new Blob(this.chunks, { type: 'application/octet-stream' }));\n }\n}\n",
|
|
327
|
+
"import { getDecoder, decodeParameterValueContinuations, textEncoder } from './decode-strings.js';\nimport PassThroughDecoder from './pass-through-decoder.js';\nimport Base64Decoder from './base64-decoder.js';\nimport QPDecoder from './qp-decoder.js';\n\nconst defaultDecoder = getDecoder();\n\nexport default class MimeNode {\n constructor(options) {\n this.options = options || {};\n\n this.postalMime = this.options.postalMime;\n\n this.root = !!this.options.parentNode;\n this.childNodes = [];\n\n if (this.options.parentNode) {\n this.parentNode = this.options.parentNode;\n\n this.depth = this.parentNode.depth + 1;\n if (this.depth > this.options.maxNestingDepth) {\n throw new Error(`Maximum MIME nesting depth of ${this.options.maxNestingDepth} levels exceeded`);\n }\n\n this.options.parentNode.childNodes.push(this);\n } else {\n this.depth = 0;\n }\n\n this.state = 'header';\n\n this.headerLines = [];\n this.headerSize = 0;\n\n // RFC 2046 Section 5.1.5: multipart/digest defaults to message/rfc822\n const parentMultipartType = this.options.parentMultipartType || null;\n const defaultContentType = parentMultipartType === 'digest' ? 'message/rfc822' : 'text/plain';\n\n this.contentType = {\n value: defaultContentType,\n default: true\n };\n\n this.contentTransferEncoding = {\n value: '8bit'\n };\n\n this.contentDisposition = {\n value: ''\n };\n\n this.headers = [];\n\n this.contentDecoder = false;\n }\n\n setupContentDecoder(transferEncoding) {\n if (/base64/i.test(transferEncoding)) {\n this.contentDecoder = new Base64Decoder();\n } else if (/quoted-printable/i.test(transferEncoding)) {\n this.contentDecoder = new QPDecoder({ decoder: getDecoder(this.contentType.parsed.params.charset) });\n } else {\n this.contentDecoder = new PassThroughDecoder();\n }\n }\n\n async finalize() {\n if (this.state === 'finished') {\n return;\n }\n\n if (this.state === 'header') {\n this.processHeaders();\n }\n\n // remove self from boundary listing\n let boundaries = this.postalMime.boundaries;\n for (let i = boundaries.length - 1; i >= 0; i--) {\n let boundary = boundaries[i];\n if (boundary.node === this) {\n boundaries.splice(i, 1);\n break;\n }\n }\n\n await this.finalizeChildNodes();\n\n this.content = this.contentDecoder ? await this.contentDecoder.finalize() : null;\n\n this.state = 'finished';\n }\n\n async finalizeChildNodes() {\n for (let childNode of this.childNodes) {\n await childNode.finalize();\n }\n }\n\n // Strip RFC 822 comments (parenthesized text) from structured header values\n stripComments(str) {\n let result = '';\n let depth = 0;\n let escaped = false;\n let inQuote = false;\n\n for (let i = 0; i < str.length; i++) {\n const chr = str.charAt(i);\n\n if (escaped) {\n if (depth === 0) {\n result += chr;\n }\n escaped = false;\n continue;\n }\n\n if (chr === '\\\\') {\n escaped = true;\n if (depth === 0) {\n result += chr;\n }\n continue;\n }\n\n if (chr === '\"' && depth === 0) {\n inQuote = !inQuote;\n result += chr;\n continue;\n }\n\n if (!inQuote) {\n if (chr === '(') {\n depth++;\n continue;\n }\n if (chr === ')' && depth > 0) {\n depth--;\n continue;\n }\n }\n\n if (depth === 0) {\n result += chr;\n }\n }\n\n return result;\n }\n\n parseStructuredHeader(str) {\n // Strip RFC 822 comments before parsing\n str = this.stripComments(str);\n\n let response = {\n value: false,\n params: {}\n };\n\n let key = false;\n let value = '';\n let stage = 'value';\n\n let quote = false;\n let escaped = false;\n let chr;\n\n for (let i = 0, len = str.length; i < len; i++) {\n chr = str.charAt(i);\n switch (stage) {\n case 'key':\n if (chr === '=') {\n key = value.trim().toLowerCase();\n stage = 'value';\n value = '';\n break;\n }\n value += chr;\n break;\n case 'value':\n if (escaped) {\n value += chr;\n } else if (chr === '\\\\') {\n escaped = true;\n continue;\n } else if (quote && chr === quote) {\n quote = false;\n } else if (!quote && chr === '\"') {\n quote = chr;\n } else if (!quote && chr === ';') {\n if (key === false) {\n response.value = value.trim();\n } else {\n response.params[key] = value.trim();\n }\n stage = 'key';\n value = '';\n } else {\n value += chr;\n }\n escaped = false;\n break;\n }\n }\n\n // finalize remainder\n value = value.trim();\n if (stage === 'value') {\n if (key === false) {\n // default value\n response.value = value;\n } else {\n // subkey value\n response.params[key] = value;\n }\n } else if (value) {\n // treat as key without value, see emptykey:\n // Header-Key: somevalue; key=value; emptykey\n response.params[value.toLowerCase()] = '';\n }\n\n if (response.value) {\n response.value = response.value.toLowerCase();\n }\n\n // convert Parameter Value Continuations into single strings\n decodeParameterValueContinuations(response);\n\n return response;\n }\n\n decodeFlowedText(str, delSp) {\n return (\n str\n .split(/\\r?\\n/)\n // remove soft linebreaks\n // soft linebreaks are added after space symbols\n .reduce((previousValue, currentValue) => {\n if (previousValue.endsWith(' ') && previousValue !== '-- ' && !previousValue.endsWith('\\n-- ')) {\n if (delSp) {\n // delsp adds space to text to be able to fold it\n // these spaces can be removed once the text is unfolded\n return previousValue.slice(0, -1) + currentValue;\n } else {\n return previousValue + currentValue;\n }\n } else {\n return previousValue + '\\n' + currentValue;\n }\n })\n // remove whitespace stuffing\n // http://tools.ietf.org/html/rfc3676#section-4.4\n .replace(/^ /gm, '')\n );\n }\n\n getTextContent() {\n if (!this.content) {\n return '';\n }\n\n let str = getDecoder(this.contentType.parsed.params.charset).decode(this.content);\n\n if (/^flowed$/i.test(this.contentType.parsed.params.format)) {\n str = this.decodeFlowedText(str, /^yes$/i.test(this.contentType.parsed.params.delsp));\n }\n\n return str;\n }\n\n processHeaders() {\n // First pass: merge folded headers (backward iteration)\n for (let i = this.headerLines.length - 1; i >= 0; i--) {\n let line = this.headerLines[i];\n if (i && /^\\s/.test(line)) {\n this.headerLines[i - 1] += '\\n' + line;\n this.headerLines.splice(i, 1);\n }\n }\n\n // Initialize rawHeaderLines to store unmodified lines\n this.rawHeaderLines = [];\n\n // Second pass: process headers (MUST be backward to maintain this.headers order)\n // The existing code iterates backward and postal-mime.js calls .reverse()\n // We must preserve this behavior to avoid breaking changes\n for (let i = this.headerLines.length - 1; i >= 0; i--) {\n let rawLine = this.headerLines[i];\n\n // Extract key from raw line for rawHeaderLines\n let sep = rawLine.indexOf(':');\n let rawKey = sep < 0 ? rawLine.trim() : rawLine.substr(0, sep).trim();\n\n // Store raw line with lowercase key\n this.rawHeaderLines.push({\n key: rawKey.toLowerCase(),\n line: rawLine\n });\n\n // Normalize for this.headers (existing behavior - order preserved)\n let normalizedLine = rawLine.replace(/\\s+/g, ' ');\n sep = normalizedLine.indexOf(':');\n let key = sep < 0 ? normalizedLine.trim() : normalizedLine.substr(0, sep).trim();\n let value = sep < 0 ? '' : normalizedLine.substr(sep + 1).trim();\n this.headers.push({ key: key.toLowerCase(), originalKey: key, value });\n\n switch (key.toLowerCase()) {\n case 'content-type':\n if (this.contentType.default) {\n this.contentType = { value, parsed: {} };\n }\n break;\n case 'content-transfer-encoding':\n this.contentTransferEncoding = { value, parsed: {} };\n break;\n case 'content-disposition':\n this.contentDisposition = { value, parsed: {} };\n break;\n case 'content-id':\n this.contentId = value;\n break;\n case 'content-description':\n this.contentDescription = value;\n break;\n }\n }\n\n this.contentType.parsed = this.parseStructuredHeader(this.contentType.value);\n this.contentType.multipart = /^multipart\\//i.test(this.contentType.parsed.value)\n ? this.contentType.parsed.value.substr(this.contentType.parsed.value.indexOf('/') + 1)\n : false;\n\n if (this.contentType.multipart && this.contentType.parsed.params.boundary) {\n // add self to boundary terminator listing\n this.postalMime.boundaries.push({\n value: textEncoder.encode(this.contentType.parsed.params.boundary),\n node: this\n });\n }\n\n this.contentDisposition.parsed = this.parseStructuredHeader(this.contentDisposition.value);\n\n this.contentTransferEncoding.encoding = this.contentTransferEncoding.value\n .toLowerCase()\n .split(/[^\\w-]/)\n .shift();\n\n this.setupContentDecoder(this.contentTransferEncoding.encoding);\n }\n\n feed(line) {\n switch (this.state) {\n case 'header':\n if (!line.length) {\n this.state = 'body';\n return this.processHeaders();\n }\n\n this.headerSize += line.length;\n\n if (this.headerSize > this.options.maxHeadersSize) {\n let error = new Error(`Maximum header size of ${this.options.maxHeadersSize} bytes exceeded`);\n throw error;\n }\n\n this.headerLines.push(defaultDecoder.decode(line));\n break;\n case 'body': {\n // add line to body\n this.contentDecoder.update(line);\n }\n }\n }\n}\n",
|
|
328
|
+
"// Entity map from https://html.spec.whatwg.org/multipage/named-characters.html#named-character-references\nexport const htmlEntities = {\n 'Æ': '\\u00C6',\n 'Æ': '\\u00C6',\n '&': '\\u0026',\n '&': '\\u0026',\n 'Á': '\\u00C1',\n 'Á': '\\u00C1',\n 'Ă': '\\u0102',\n 'Â': '\\u00C2',\n 'Â': '\\u00C2',\n 'А': '\\u0410',\n '𝔄': '\\uD835\\uDD04',\n 'À': '\\u00C0',\n 'À': '\\u00C0',\n 'Α': '\\u0391',\n 'Ā': '\\u0100',\n '⩓': '\\u2A53',\n 'Ą': '\\u0104',\n '𝔸': '\\uD835\\uDD38',\n '⁡': '\\u2061',\n 'Å': '\\u00C5',\n 'Å': '\\u00C5',\n '𝒜': '\\uD835\\uDC9C',\n '≔': '\\u2254',\n 'Ã': '\\u00C3',\n 'Ã': '\\u00C3',\n 'Ä': '\\u00C4',\n 'Ä': '\\u00C4',\n '∖': '\\u2216',\n '⫧': '\\u2AE7',\n '⌆': '\\u2306',\n 'Б': '\\u0411',\n '∵': '\\u2235',\n 'ℬ': '\\u212C',\n 'Β': '\\u0392',\n '𝔅': '\\uD835\\uDD05',\n '𝔹': '\\uD835\\uDD39',\n '˘': '\\u02D8',\n 'ℬ': '\\u212C',\n '≎': '\\u224E',\n 'Ч': '\\u0427',\n '©': '\\u00A9',\n '©': '\\u00A9',\n 'Ć': '\\u0106',\n '⋒': '\\u22D2',\n 'ⅅ': '\\u2145',\n 'ℭ': '\\u212D',\n 'Č': '\\u010C',\n 'Ç': '\\u00C7',\n 'Ç': '\\u00C7',\n 'Ĉ': '\\u0108',\n '∰': '\\u2230',\n 'Ċ': '\\u010A',\n '¸': '\\u00B8',\n '·': '\\u00B7',\n 'ℭ': '\\u212D',\n 'Χ': '\\u03A7',\n '⊙': '\\u2299',\n '⊖': '\\u2296',\n '⊕': '\\u2295',\n '⊗': '\\u2297',\n '∲': '\\u2232',\n '”': '\\u201D',\n '’': '\\u2019',\n '∷': '\\u2237',\n '⩴': '\\u2A74',\n '≡': '\\u2261',\n '∯': '\\u222F',\n '∮': '\\u222E',\n 'ℂ': '\\u2102',\n '∐': '\\u2210',\n '∳': '\\u2233',\n '⨯': '\\u2A2F',\n '𝒞': '\\uD835\\uDC9E',\n '⋓': '\\u22D3',\n '≍': '\\u224D',\n 'ⅅ': '\\u2145',\n '⤑': '\\u2911',\n 'Ђ': '\\u0402',\n 'Ѕ': '\\u0405',\n 'Џ': '\\u040F',\n '‡': '\\u2021',\n '↡': '\\u21A1',\n '⫤': '\\u2AE4',\n 'Ď': '\\u010E',\n 'Д': '\\u0414',\n '∇': '\\u2207',\n 'Δ': '\\u0394',\n '𝔇': '\\uD835\\uDD07',\n '´': '\\u00B4',\n '˙': '\\u02D9',\n '˝': '\\u02DD',\n '`': '\\u0060',\n '˜': '\\u02DC',\n '⋄': '\\u22C4',\n 'ⅆ': '\\u2146',\n '𝔻': '\\uD835\\uDD3B',\n '¨': '\\u00A8',\n '⃜': '\\u20DC',\n '≐': '\\u2250',\n '∯': '\\u222F',\n '¨': '\\u00A8',\n '⇓': '\\u21D3',\n '⇐': '\\u21D0',\n '⇔': '\\u21D4',\n '⫤': '\\u2AE4',\n '⟸': '\\u27F8',\n '⟺': '\\u27FA',\n '⟹': '\\u27F9',\n '⇒': '\\u21D2',\n '⊨': '\\u22A8',\n '⇑': '\\u21D1',\n '⇕': '\\u21D5',\n '∥': '\\u2225',\n '↓': '\\u2193',\n '⤓': '\\u2913',\n '⇵': '\\u21F5',\n '̑': '\\u0311',\n '⥐': '\\u2950',\n '⥞': '\\u295E',\n '↽': '\\u21BD',\n '⥖': '\\u2956',\n '⥟': '\\u295F',\n '⇁': '\\u21C1',\n '⥗': '\\u2957',\n '⊤': '\\u22A4',\n '↧': '\\u21A7',\n '⇓': '\\u21D3',\n '𝒟': '\\uD835\\uDC9F',\n 'Đ': '\\u0110',\n 'Ŋ': '\\u014A',\n 'Ð': '\\u00D0',\n 'Ð': '\\u00D0',\n 'É': '\\u00C9',\n 'É': '\\u00C9',\n 'Ě': '\\u011A',\n 'Ê': '\\u00CA',\n 'Ê': '\\u00CA',\n 'Э': '\\u042D',\n 'Ė': '\\u0116',\n '𝔈': '\\uD835\\uDD08',\n 'È': '\\u00C8',\n 'È': '\\u00C8',\n '∈': '\\u2208',\n 'Ē': '\\u0112',\n '◻': '\\u25FB',\n '▫': '\\u25AB',\n 'Ę': '\\u0118',\n '𝔼': '\\uD835\\uDD3C',\n 'Ε': '\\u0395',\n '⩵': '\\u2A75',\n '≂': '\\u2242',\n '⇌': '\\u21CC',\n 'ℰ': '\\u2130',\n '⩳': '\\u2A73',\n 'Η': '\\u0397',\n 'Ë': '\\u00CB',\n 'Ë': '\\u00CB',\n '∃': '\\u2203',\n 'ⅇ': '\\u2147',\n 'Ф': '\\u0424',\n '𝔉': '\\uD835\\uDD09',\n '◼': '\\u25FC',\n '▪': '\\u25AA',\n '𝔽': '\\uD835\\uDD3D',\n '∀': '\\u2200',\n 'ℱ': '\\u2131',\n 'ℱ': '\\u2131',\n 'Ѓ': '\\u0403',\n '>': '\\u003E',\n '>': '\\u003E',\n 'Γ': '\\u0393',\n 'Ϝ': '\\u03DC',\n 'Ğ': '\\u011E',\n 'Ģ': '\\u0122',\n 'Ĝ': '\\u011C',\n 'Г': '\\u0413',\n 'Ġ': '\\u0120',\n '𝔊': '\\uD835\\uDD0A',\n '⋙': '\\u22D9',\n '𝔾': '\\uD835\\uDD3E',\n '≥': '\\u2265',\n '⋛': '\\u22DB',\n '≧': '\\u2267',\n '⪢': '\\u2AA2',\n '≷': '\\u2277',\n '⩾': '\\u2A7E',\n '≳': '\\u2273',\n '𝒢': '\\uD835\\uDCA2',\n '≫': '\\u226B',\n 'Ъ': '\\u042A',\n 'ˇ': '\\u02C7',\n '^': '\\u005E',\n 'Ĥ': '\\u0124',\n 'ℌ': '\\u210C',\n 'ℋ': '\\u210B',\n 'ℍ': '\\u210D',\n '─': '\\u2500',\n 'ℋ': '\\u210B',\n 'Ħ': '\\u0126',\n '≎': '\\u224E',\n '≏': '\\u224F',\n 'Е': '\\u0415',\n 'IJ': '\\u0132',\n 'Ё': '\\u0401',\n 'Í': '\\u00CD',\n 'Í': '\\u00CD',\n 'Î': '\\u00CE',\n 'Î': '\\u00CE',\n 'И': '\\u0418',\n 'İ': '\\u0130',\n 'ℑ': '\\u2111',\n 'Ì': '\\u00CC',\n 'Ì': '\\u00CC',\n 'ℑ': '\\u2111',\n 'Ī': '\\u012A',\n 'ⅈ': '\\u2148',\n '⇒': '\\u21D2',\n '∬': '\\u222C',\n '∫': '\\u222B',\n '⋂': '\\u22C2',\n '⁣': '\\u2063',\n '⁢': '\\u2062',\n 'Į': '\\u012E',\n '𝕀': '\\uD835\\uDD40',\n 'Ι': '\\u0399',\n 'ℐ': '\\u2110',\n 'Ĩ': '\\u0128',\n 'І': '\\u0406',\n 'Ï': '\\u00CF',\n 'Ï': '\\u00CF',\n 'Ĵ': '\\u0134',\n 'Й': '\\u0419',\n '𝔍': '\\uD835\\uDD0D',\n '𝕁': '\\uD835\\uDD41',\n '𝒥': '\\uD835\\uDCA5',\n 'Ј': '\\u0408',\n 'Є': '\\u0404',\n 'Х': '\\u0425',\n 'Ќ': '\\u040C',\n 'Κ': '\\u039A',\n 'Ķ': '\\u0136',\n 'К': '\\u041A',\n '𝔎': '\\uD835\\uDD0E',\n '𝕂': '\\uD835\\uDD42',\n '𝒦': '\\uD835\\uDCA6',\n 'Љ': '\\u0409',\n '<': '\\u003C',\n '<': '\\u003C',\n 'Ĺ': '\\u0139',\n 'Λ': '\\u039B',\n '⟪': '\\u27EA',\n 'ℒ': '\\u2112',\n '↞': '\\u219E',\n 'Ľ': '\\u013D',\n 'Ļ': '\\u013B',\n 'Л': '\\u041B',\n '⟨': '\\u27E8',\n '←': '\\u2190',\n '⇤': '\\u21E4',\n '⇆': '\\u21C6',\n '⌈': '\\u2308',\n '⟦': '\\u27E6',\n '⥡': '\\u2961',\n '⇃': '\\u21C3',\n '⥙': '\\u2959',\n '⌊': '\\u230A',\n '↔': '\\u2194',\n '⥎': '\\u294E',\n '⊣': '\\u22A3',\n '↤': '\\u21A4',\n '⥚': '\\u295A',\n '⊲': '\\u22B2',\n '⧏': '\\u29CF',\n '⊴': '\\u22B4',\n '⥑': '\\u2951',\n '⥠': '\\u2960',\n '↿': '\\u21BF',\n '⥘': '\\u2958',\n '↼': '\\u21BC',\n '⥒': '\\u2952',\n '⇐': '\\u21D0',\n '⇔': '\\u21D4',\n '⋚': '\\u22DA',\n '≦': '\\u2266',\n '≶': '\\u2276',\n '⪡': '\\u2AA1',\n '⩽': '\\u2A7D',\n '≲': '\\u2272',\n '𝔏': '\\uD835\\uDD0F',\n '⋘': '\\u22D8',\n '⇚': '\\u21DA',\n 'Ŀ': '\\u013F',\n '⟵': '\\u27F5',\n '⟷': '\\u27F7',\n '⟶': '\\u27F6',\n '⟸': '\\u27F8',\n '⟺': '\\u27FA',\n '⟹': '\\u27F9',\n '𝕃': '\\uD835\\uDD43',\n '↙': '\\u2199',\n '↘': '\\u2198',\n 'ℒ': '\\u2112',\n '↰': '\\u21B0',\n 'Ł': '\\u0141',\n '≪': '\\u226A',\n '⤅': '\\u2905',\n 'М': '\\u041C',\n ' ': '\\u205F',\n 'ℳ': '\\u2133',\n '𝔐': '\\uD835\\uDD10',\n '∓': '\\u2213',\n '𝕄': '\\uD835\\uDD44',\n 'ℳ': '\\u2133',\n 'Μ': '\\u039C',\n 'Њ': '\\u040A',\n 'Ń': '\\u0143',\n 'Ň': '\\u0147',\n 'Ņ': '\\u0145',\n 'Н': '\\u041D',\n '​': '\\u200B',\n '​': '\\u200B',\n '​': '\\u200B',\n '​': '\\u200B',\n '≫': '\\u226B',\n '≪': '\\u226A',\n '
': '\\u000A',\n '𝔑': '\\uD835\\uDD11',\n '⁠': '\\u2060',\n ' ': '\\u00A0',\n 'ℕ': '\\u2115',\n '⫬': '\\u2AEC',\n '≢': '\\u2262',\n '≭': '\\u226D',\n '∦': '\\u2226',\n '∉': '\\u2209',\n '≠': '\\u2260',\n '≂̸': '\\u2242\\u0338',\n '∄': '\\u2204',\n '≯': '\\u226F',\n '≱': '\\u2271',\n '≧̸': '\\u2267\\u0338',\n '≫̸': '\\u226B\\u0338',\n '≹': '\\u2279',\n '⩾̸': '\\u2A7E\\u0338',\n '≵': '\\u2275',\n '≎̸': '\\u224E\\u0338',\n '≏̸': '\\u224F\\u0338',\n '⋪': '\\u22EA',\n '⧏̸': '\\u29CF\\u0338',\n '⋬': '\\u22EC',\n '≮': '\\u226E',\n '≰': '\\u2270',\n '≸': '\\u2278',\n '≪̸': '\\u226A\\u0338',\n '⩽̸': '\\u2A7D\\u0338',\n '≴': '\\u2274',\n '⪢̸': '\\u2AA2\\u0338',\n '⪡̸': '\\u2AA1\\u0338',\n '⊀': '\\u2280',\n '⪯̸': '\\u2AAF\\u0338',\n '⋠': '\\u22E0',\n '∌': '\\u220C',\n '⋫': '\\u22EB',\n '⧐̸': '\\u29D0\\u0338',\n '⋭': '\\u22ED',\n '⊏̸': '\\u228F\\u0338',\n '⋢': '\\u22E2',\n '⊐̸': '\\u2290\\u0338',\n '⋣': '\\u22E3',\n '⊂⃒': '\\u2282\\u20D2',\n '⊈': '\\u2288',\n '⊁': '\\u2281',\n '⪰̸': '\\u2AB0\\u0338',\n '⋡': '\\u22E1',\n '≿̸': '\\u227F\\u0338',\n '⊃⃒': '\\u2283\\u20D2',\n '⊉': '\\u2289',\n '≁': '\\u2241',\n '≄': '\\u2244',\n '≇': '\\u2247',\n '≉': '\\u2249',\n '∤': '\\u2224',\n '𝒩': '\\uD835\\uDCA9',\n 'Ñ': '\\u00D1',\n 'Ñ': '\\u00D1',\n 'Ν': '\\u039D',\n 'Œ': '\\u0152',\n 'Ó': '\\u00D3',\n 'Ó': '\\u00D3',\n 'Ô': '\\u00D4',\n 'Ô': '\\u00D4',\n 'О': '\\u041E',\n 'Ő': '\\u0150',\n '𝔒': '\\uD835\\uDD12',\n 'Ò': '\\u00D2',\n 'Ò': '\\u00D2',\n 'Ō': '\\u014C',\n 'Ω': '\\u03A9',\n 'Ο': '\\u039F',\n '𝕆': '\\uD835\\uDD46',\n '“': '\\u201C',\n '‘': '\\u2018',\n '⩔': '\\u2A54',\n '𝒪': '\\uD835\\uDCAA',\n 'Ø': '\\u00D8',\n 'Ø': '\\u00D8',\n 'Õ': '\\u00D5',\n 'Õ': '\\u00D5',\n '⨷': '\\u2A37',\n 'Ö': '\\u00D6',\n 'Ö': '\\u00D6',\n '‾': '\\u203E',\n '⏞': '\\u23DE',\n '⎴': '\\u23B4',\n '⏜': '\\u23DC',\n '∂': '\\u2202',\n 'П': '\\u041F',\n '𝔓': '\\uD835\\uDD13',\n 'Φ': '\\u03A6',\n 'Π': '\\u03A0',\n '±': '\\u00B1',\n 'ℌ': '\\u210C',\n 'ℙ': '\\u2119',\n '⪻': '\\u2ABB',\n '≺': '\\u227A',\n '⪯': '\\u2AAF',\n '≼': '\\u227C',\n '≾': '\\u227E',\n '″': '\\u2033',\n '∏': '\\u220F',\n '∷': '\\u2237',\n '∝': '\\u221D',\n '𝒫': '\\uD835\\uDCAB',\n 'Ψ': '\\u03A8',\n '"': '\\u0022',\n '"': '\\u0022',\n '𝔔': '\\uD835\\uDD14',\n 'ℚ': '\\u211A',\n '𝒬': '\\uD835\\uDCAC',\n '⤐': '\\u2910',\n '®': '\\u00AE',\n '®': '\\u00AE',\n 'Ŕ': '\\u0154',\n '⟫': '\\u27EB',\n '↠': '\\u21A0',\n '⤖': '\\u2916',\n 'Ř': '\\u0158',\n 'Ŗ': '\\u0156',\n 'Р': '\\u0420',\n 'ℜ': '\\u211C',\n '∋': '\\u220B',\n '⇋': '\\u21CB',\n '⥯': '\\u296F',\n 'ℜ': '\\u211C',\n 'Ρ': '\\u03A1',\n '⟩': '\\u27E9',\n '→': '\\u2192',\n '⇥': '\\u21E5',\n '⇄': '\\u21C4',\n '⌉': '\\u2309',\n '⟧': '\\u27E7',\n '⥝': '\\u295D',\n '⇂': '\\u21C2',\n '⥕': '\\u2955',\n '⌋': '\\u230B',\n '⊢': '\\u22A2',\n '↦': '\\u21A6',\n '⥛': '\\u295B',\n '⊳': '\\u22B3',\n '⧐': '\\u29D0',\n '⊵': '\\u22B5',\n '⥏': '\\u294F',\n '⥜': '\\u295C',\n '↾': '\\u21BE',\n '⥔': '\\u2954',\n '⇀': '\\u21C0',\n '⥓': '\\u2953',\n '⇒': '\\u21D2',\n 'ℝ': '\\u211D',\n '⥰': '\\u2970',\n '⇛': '\\u21DB',\n 'ℛ': '\\u211B',\n '↱': '\\u21B1',\n '⧴': '\\u29F4',\n 'Щ': '\\u0429',\n 'Ш': '\\u0428',\n 'Ь': '\\u042C',\n 'Ś': '\\u015A',\n '⪼': '\\u2ABC',\n 'Š': '\\u0160',\n 'Ş': '\\u015E',\n 'Ŝ': '\\u015C',\n 'С': '\\u0421',\n '𝔖': '\\uD835\\uDD16',\n '↓': '\\u2193',\n '←': '\\u2190',\n '→': '\\u2192',\n '↑': '\\u2191',\n 'Σ': '\\u03A3',\n '∘': '\\u2218',\n '𝕊': '\\uD835\\uDD4A',\n '√': '\\u221A',\n '□': '\\u25A1',\n '⊓': '\\u2293',\n '⊏': '\\u228F',\n '⊑': '\\u2291',\n '⊐': '\\u2290',\n '⊒': '\\u2292',\n '⊔': '\\u2294',\n '𝒮': '\\uD835\\uDCAE',\n '⋆': '\\u22C6',\n '⋐': '\\u22D0',\n '⋐': '\\u22D0',\n '⊆': '\\u2286',\n '≻': '\\u227B',\n '⪰': '\\u2AB0',\n '≽': '\\u227D',\n '≿': '\\u227F',\n '∋': '\\u220B',\n '∑': '\\u2211',\n '⋑': '\\u22D1',\n '⊃': '\\u2283',\n '⊇': '\\u2287',\n '⋑': '\\u22D1',\n 'Þ': '\\u00DE',\n 'Þ': '\\u00DE',\n '™': '\\u2122',\n 'Ћ': '\\u040B',\n 'Ц': '\\u0426',\n '	': '\\u0009',\n 'Τ': '\\u03A4',\n 'Ť': '\\u0164',\n 'Ţ': '\\u0162',\n 'Т': '\\u0422',\n '𝔗': '\\uD835\\uDD17',\n '∴': '\\u2234',\n 'Θ': '\\u0398',\n '  ': '\\u205F\\u200A',\n ' ': '\\u2009',\n '∼': '\\u223C',\n '≃': '\\u2243',\n '≅': '\\u2245',\n '≈': '\\u2248',\n '𝕋': '\\uD835\\uDD4B',\n '⃛': '\\u20DB',\n '𝒯': '\\uD835\\uDCAF',\n 'Ŧ': '\\u0166',\n 'Ú': '\\u00DA',\n 'Ú': '\\u00DA',\n '↟': '\\u219F',\n '⥉': '\\u2949',\n 'Ў': '\\u040E',\n 'Ŭ': '\\u016C',\n 'Û': '\\u00DB',\n 'Û': '\\u00DB',\n 'У': '\\u0423',\n 'Ű': '\\u0170',\n '𝔘': '\\uD835\\uDD18',\n 'Ù': '\\u00D9',\n 'Ù': '\\u00D9',\n 'Ū': '\\u016A',\n '_': '\\u005F',\n '⏟': '\\u23DF',\n '⎵': '\\u23B5',\n '⏝': '\\u23DD',\n '⋃': '\\u22C3',\n '⊎': '\\u228E',\n 'Ų': '\\u0172',\n '𝕌': '\\uD835\\uDD4C',\n '↑': '\\u2191',\n '⤒': '\\u2912',\n '⇅': '\\u21C5',\n '↕': '\\u2195',\n '⥮': '\\u296E',\n '⊥': '\\u22A5',\n '↥': '\\u21A5',\n '⇑': '\\u21D1',\n '⇕': '\\u21D5',\n '↖': '\\u2196',\n '↗': '\\u2197',\n 'ϒ': '\\u03D2',\n 'Υ': '\\u03A5',\n 'Ů': '\\u016E',\n '𝒰': '\\uD835\\uDCB0',\n 'Ũ': '\\u0168',\n 'Ü': '\\u00DC',\n 'Ü': '\\u00DC',\n '⊫': '\\u22AB',\n '⫫': '\\u2AEB',\n 'В': '\\u0412',\n '⊩': '\\u22A9',\n '⫦': '\\u2AE6',\n '⋁': '\\u22C1',\n '‖': '\\u2016',\n '‖': '\\u2016',\n '∣': '\\u2223',\n '|': '\\u007C',\n '❘': '\\u2758',\n '≀': '\\u2240',\n ' ': '\\u200A',\n '𝔙': '\\uD835\\uDD19',\n '𝕍': '\\uD835\\uDD4D',\n '𝒱': '\\uD835\\uDCB1',\n '⊪': '\\u22AA',\n 'Ŵ': '\\u0174',\n '⋀': '\\u22C0',\n '𝔚': '\\uD835\\uDD1A',\n '𝕎': '\\uD835\\uDD4E',\n '𝒲': '\\uD835\\uDCB2',\n '𝔛': '\\uD835\\uDD1B',\n 'Ξ': '\\u039E',\n '𝕏': '\\uD835\\uDD4F',\n '𝒳': '\\uD835\\uDCB3',\n 'Я': '\\u042F',\n 'Ї': '\\u0407',\n 'Ю': '\\u042E',\n 'Ý': '\\u00DD',\n 'Ý': '\\u00DD',\n 'Ŷ': '\\u0176',\n 'Ы': '\\u042B',\n '𝔜': '\\uD835\\uDD1C',\n '𝕐': '\\uD835\\uDD50',\n '𝒴': '\\uD835\\uDCB4',\n 'Ÿ': '\\u0178',\n 'Ж': '\\u0416',\n 'Ź': '\\u0179',\n 'Ž': '\\u017D',\n 'З': '\\u0417',\n 'Ż': '\\u017B',\n '​': '\\u200B',\n 'Ζ': '\\u0396',\n 'ℨ': '\\u2128',\n 'ℤ': '\\u2124',\n '𝒵': '\\uD835\\uDCB5',\n 'á': '\\u00E1',\n 'á': '\\u00E1',\n 'ă': '\\u0103',\n '∾': '\\u223E',\n '∾̳': '\\u223E\\u0333',\n '∿': '\\u223F',\n 'â': '\\u00E2',\n 'â': '\\u00E2',\n '´': '\\u00B4',\n '´': '\\u00B4',\n 'а': '\\u0430',\n 'æ': '\\u00E6',\n 'æ': '\\u00E6',\n '⁡': '\\u2061',\n '𝔞': '\\uD835\\uDD1E',\n 'à': '\\u00E0',\n 'à': '\\u00E0',\n 'ℵ': '\\u2135',\n 'ℵ': '\\u2135',\n 'α': '\\u03B1',\n 'ā': '\\u0101',\n '⨿': '\\u2A3F',\n '&': '\\u0026',\n '&': '\\u0026',\n '∧': '\\u2227',\n '⩕': '\\u2A55',\n '⩜': '\\u2A5C',\n '⩘': '\\u2A58',\n '⩚': '\\u2A5A',\n '∠': '\\u2220',\n '⦤': '\\u29A4',\n '∠': '\\u2220',\n '∡': '\\u2221',\n '⦨': '\\u29A8',\n '⦩': '\\u29A9',\n '⦪': '\\u29AA',\n '⦫': '\\u29AB',\n '⦬': '\\u29AC',\n '⦭': '\\u29AD',\n '⦮': '\\u29AE',\n '⦯': '\\u29AF',\n '∟': '\\u221F',\n '⊾': '\\u22BE',\n '⦝': '\\u299D',\n '∢': '\\u2222',\n 'Å': '\\u00C5',\n '⍼': '\\u237C',\n 'ą': '\\u0105',\n '𝕒': '\\uD835\\uDD52',\n '≈': '\\u2248',\n '⩰': '\\u2A70',\n '⩯': '\\u2A6F',\n '≊': '\\u224A',\n '≋': '\\u224B',\n ''': '\\u0027',\n '≈': '\\u2248',\n '≊': '\\u224A',\n 'å': '\\u00E5',\n 'å': '\\u00E5',\n '𝒶': '\\uD835\\uDCB6',\n '*': '\\u002A',\n '≈': '\\u2248',\n '≍': '\\u224D',\n 'ã': '\\u00E3',\n 'ã': '\\u00E3',\n 'ä': '\\u00E4',\n 'ä': '\\u00E4',\n '∳': '\\u2233',\n '⨑': '\\u2A11',\n '⫭': '\\u2AED',\n '≌': '\\u224C',\n '϶': '\\u03F6',\n '‵': '\\u2035',\n '∽': '\\u223D',\n '⋍': '\\u22CD',\n '⊽': '\\u22BD',\n '⌅': '\\u2305',\n '⌅': '\\u2305',\n '⎵': '\\u23B5',\n '⎶': '\\u23B6',\n '≌': '\\u224C',\n 'б': '\\u0431',\n '„': '\\u201E',\n '∵': '\\u2235',\n '∵': '\\u2235',\n '⦰': '\\u29B0',\n '϶': '\\u03F6',\n 'ℬ': '\\u212C',\n 'β': '\\u03B2',\n 'ℶ': '\\u2136',\n '≬': '\\u226C',\n '𝔟': '\\uD835\\uDD1F',\n '⋂': '\\u22C2',\n '◯': '\\u25EF',\n '⋃': '\\u22C3',\n '⨀': '\\u2A00',\n '⨁': '\\u2A01',\n '⨂': '\\u2A02',\n '⨆': '\\u2A06',\n '★': '\\u2605',\n '▽': '\\u25BD',\n '△': '\\u25B3',\n '⨄': '\\u2A04',\n '⋁': '\\u22C1',\n '⋀': '\\u22C0',\n '⤍': '\\u290D',\n '⧫': '\\u29EB',\n '▪': '\\u25AA',\n '▴': '\\u25B4',\n '▾': '\\u25BE',\n '◂': '\\u25C2',\n '▸': '\\u25B8',\n '␣': '\\u2423',\n '▒': '\\u2592',\n '░': '\\u2591',\n '▓': '\\u2593',\n '█': '\\u2588',\n '=⃥': '\\u003D\\u20E5',\n '≡⃥': '\\u2261\\u20E5',\n '⌐': '\\u2310',\n '𝕓': '\\uD835\\uDD53',\n '⊥': '\\u22A5',\n '⊥': '\\u22A5',\n '⋈': '\\u22C8',\n '╗': '\\u2557',\n '╔': '\\u2554',\n '╖': '\\u2556',\n '╓': '\\u2553',\n '═': '\\u2550',\n '╦': '\\u2566',\n '╩': '\\u2569',\n '╤': '\\u2564',\n '╧': '\\u2567',\n '╝': '\\u255D',\n '╚': '\\u255A',\n '╜': '\\u255C',\n '╙': '\\u2559',\n '║': '\\u2551',\n '╬': '\\u256C',\n '╣': '\\u2563',\n '╠': '\\u2560',\n '╫': '\\u256B',\n '╢': '\\u2562',\n '╟': '\\u255F',\n '⧉': '\\u29C9',\n '╕': '\\u2555',\n '╒': '\\u2552',\n '┐': '\\u2510',\n '┌': '\\u250C',\n '─': '\\u2500',\n '╥': '\\u2565',\n '╨': '\\u2568',\n '┬': '\\u252C',\n '┴': '\\u2534',\n '⊟': '\\u229F',\n '⊞': '\\u229E',\n '⊠': '\\u22A0',\n '╛': '\\u255B',\n '╘': '\\u2558',\n '┘': '\\u2518',\n '└': '\\u2514',\n '│': '\\u2502',\n '╪': '\\u256A',\n '╡': '\\u2561',\n '╞': '\\u255E',\n '┼': '\\u253C',\n '┤': '\\u2524',\n '├': '\\u251C',\n '‵': '\\u2035',\n '˘': '\\u02D8',\n '¦': '\\u00A6',\n '¦': '\\u00A6',\n '𝒷': '\\uD835\\uDCB7',\n '⁏': '\\u204F',\n '∽': '\\u223D',\n '⋍': '\\u22CD',\n '\': '\\u005C',\n '⧅': '\\u29C5',\n '⟈': '\\u27C8',\n '•': '\\u2022',\n '•': '\\u2022',\n '≎': '\\u224E',\n '⪮': '\\u2AAE',\n '≏': '\\u224F',\n '≏': '\\u224F',\n 'ć': '\\u0107',\n '∩': '\\u2229',\n '⩄': '\\u2A44',\n '⩉': '\\u2A49',\n '⩋': '\\u2A4B',\n '⩇': '\\u2A47',\n '⩀': '\\u2A40',\n '∩︀': '\\u2229\\uFE00',\n '⁁': '\\u2041',\n 'ˇ': '\\u02C7',\n '⩍': '\\u2A4D',\n 'č': '\\u010D',\n 'ç': '\\u00E7',\n 'ç': '\\u00E7',\n 'ĉ': '\\u0109',\n '⩌': '\\u2A4C',\n '⩐': '\\u2A50',\n 'ċ': '\\u010B',\n '¸': '\\u00B8',\n '¸': '\\u00B8',\n '⦲': '\\u29B2',\n '¢': '\\u00A2',\n '¢': '\\u00A2',\n '·': '\\u00B7',\n '𝔠': '\\uD835\\uDD20',\n 'ч': '\\u0447',\n '✓': '\\u2713',\n '✓': '\\u2713',\n 'χ': '\\u03C7',\n '○': '\\u25CB',\n '⧃': '\\u29C3',\n 'ˆ': '\\u02C6',\n '≗': '\\u2257',\n '↺': '\\u21BA',\n '↻': '\\u21BB',\n '®': '\\u00AE',\n 'Ⓢ': '\\u24C8',\n '⊛': '\\u229B',\n '⊚': '\\u229A',\n '⊝': '\\u229D',\n '≗': '\\u2257',\n '⨐': '\\u2A10',\n '⫯': '\\u2AEF',\n '⧂': '\\u29C2',\n '♣': '\\u2663',\n '♣': '\\u2663',\n ':': '\\u003A',\n '≔': '\\u2254',\n '≔': '\\u2254',\n ',': '\\u002C',\n '@': '\\u0040',\n '∁': '\\u2201',\n '∘': '\\u2218',\n '∁': '\\u2201',\n 'ℂ': '\\u2102',\n '≅': '\\u2245',\n '⩭': '\\u2A6D',\n '∮': '\\u222E',\n '𝕔': '\\uD835\\uDD54',\n '∐': '\\u2210',\n '©': '\\u00A9',\n '©': '\\u00A9',\n '℗': '\\u2117',\n '↵': '\\u21B5',\n '✗': '\\u2717',\n '𝒸': '\\uD835\\uDCB8',\n '⫏': '\\u2ACF',\n '⫑': '\\u2AD1',\n '⫐': '\\u2AD0',\n '⫒': '\\u2AD2',\n '⋯': '\\u22EF',\n '⤸': '\\u2938',\n '⤵': '\\u2935',\n '⋞': '\\u22DE',\n '⋟': '\\u22DF',\n '↶': '\\u21B6',\n '⤽': '\\u293D',\n '∪': '\\u222A',\n '⩈': '\\u2A48',\n '⩆': '\\u2A46',\n '⩊': '\\u2A4A',\n '⊍': '\\u228D',\n '⩅': '\\u2A45',\n '∪︀': '\\u222A\\uFE00',\n '↷': '\\u21B7',\n '⤼': '\\u293C',\n '⋞': '\\u22DE',\n '⋟': '\\u22DF',\n '⋎': '\\u22CE',\n '⋏': '\\u22CF',\n '¤': '\\u00A4',\n '¤': '\\u00A4',\n '↶': '\\u21B6',\n '↷': '\\u21B7',\n '⋎': '\\u22CE',\n '⋏': '\\u22CF',\n '∲': '\\u2232',\n '∱': '\\u2231',\n '⌭': '\\u232D',\n '⇓': '\\u21D3',\n '⥥': '\\u2965',\n '†': '\\u2020',\n 'ℸ': '\\u2138',\n '↓': '\\u2193',\n '‐': '\\u2010',\n '⊣': '\\u22A3',\n '⤏': '\\u290F',\n '˝': '\\u02DD',\n 'ď': '\\u010F',\n 'д': '\\u0434',\n 'ⅆ': '\\u2146',\n '‡': '\\u2021',\n '⇊': '\\u21CA',\n '⩷': '\\u2A77',\n '°': '\\u00B0',\n '°': '\\u00B0',\n 'δ': '\\u03B4',\n '⦱': '\\u29B1',\n '⥿': '\\u297F',\n '𝔡': '\\uD835\\uDD21',\n '⇃': '\\u21C3',\n '⇂': '\\u21C2',\n '⋄': '\\u22C4',\n '⋄': '\\u22C4',\n '♦': '\\u2666',\n '♦': '\\u2666',\n '¨': '\\u00A8',\n 'ϝ': '\\u03DD',\n '⋲': '\\u22F2',\n '÷': '\\u00F7',\n '÷': '\\u00F7',\n '÷': '\\u00F7',\n '⋇': '\\u22C7',\n '⋇': '\\u22C7',\n 'ђ': '\\u0452',\n '⌞': '\\u231E',\n '⌍': '\\u230D',\n '$': '\\u0024',\n '𝕕': '\\uD835\\uDD55',\n '˙': '\\u02D9',\n '≐': '\\u2250',\n '≑': '\\u2251',\n '∸': '\\u2238',\n '∔': '\\u2214',\n '⊡': '\\u22A1',\n '⌆': '\\u2306',\n '↓': '\\u2193',\n '⇊': '\\u21CA',\n '⇃': '\\u21C3',\n '⇂': '\\u21C2',\n '⤐': '\\u2910',\n '⌟': '\\u231F',\n '⌌': '\\u230C',\n '𝒹': '\\uD835\\uDCB9',\n 'ѕ': '\\u0455',\n '⧶': '\\u29F6',\n 'đ': '\\u0111',\n '⋱': '\\u22F1',\n '▿': '\\u25BF',\n '▾': '\\u25BE',\n '⇵': '\\u21F5',\n '⥯': '\\u296F',\n '⦦': '\\u29A6',\n 'џ': '\\u045F',\n '⟿': '\\u27FF',\n '⩷': '\\u2A77',\n '≑': '\\u2251',\n 'é': '\\u00E9',\n 'é': '\\u00E9',\n '⩮': '\\u2A6E',\n 'ě': '\\u011B',\n '≖': '\\u2256',\n 'ê': '\\u00EA',\n 'ê': '\\u00EA',\n '≕': '\\u2255',\n 'э': '\\u044D',\n 'ė': '\\u0117',\n 'ⅇ': '\\u2147',\n '≒': '\\u2252',\n '𝔢': '\\uD835\\uDD22',\n '⪚': '\\u2A9A',\n 'è': '\\u00E8',\n 'è': '\\u00E8',\n '⪖': '\\u2A96',\n '⪘': '\\u2A98',\n '⪙': '\\u2A99',\n '⏧': '\\u23E7',\n 'ℓ': '\\u2113',\n '⪕': '\\u2A95',\n '⪗': '\\u2A97',\n 'ē': '\\u0113',\n '∅': '\\u2205',\n '∅': '\\u2205',\n '∅': '\\u2205',\n ' ': '\\u2004',\n ' ': '\\u2005',\n ' ': '\\u2003',\n 'ŋ': '\\u014B',\n ' ': '\\u2002',\n 'ę': '\\u0119',\n '𝕖': '\\uD835\\uDD56',\n '⋕': '\\u22D5',\n '⧣': '\\u29E3',\n '⩱': '\\u2A71',\n 'ε': '\\u03B5',\n 'ε': '\\u03B5',\n 'ϵ': '\\u03F5',\n '≖': '\\u2256',\n '≕': '\\u2255',\n '≂': '\\u2242',\n '⪖': '\\u2A96',\n '⪕': '\\u2A95',\n '=': '\\u003D',\n '≟': '\\u225F',\n '≡': '\\u2261',\n '⩸': '\\u2A78',\n '⧥': '\\u29E5',\n '≓': '\\u2253',\n '⥱': '\\u2971',\n 'ℯ': '\\u212F',\n '≐': '\\u2250',\n '≂': '\\u2242',\n 'η': '\\u03B7',\n 'ð': '\\u00F0',\n 'ð': '\\u00F0',\n 'ë': '\\u00EB',\n 'ë': '\\u00EB',\n '€': '\\u20AC',\n '!': '\\u0021',\n '∃': '\\u2203',\n 'ℰ': '\\u2130',\n 'ⅇ': '\\u2147',\n '≒': '\\u2252',\n 'ф': '\\u0444',\n '♀': '\\u2640',\n 'ffi': '\\uFB03',\n 'ff': '\\uFB00',\n 'ffl': '\\uFB04',\n '𝔣': '\\uD835\\uDD23',\n 'fi': '\\uFB01',\n 'fj': '\\u0066\\u006A',\n '♭': '\\u266D',\n 'fl': '\\uFB02',\n '▱': '\\u25B1',\n 'ƒ': '\\u0192',\n '𝕗': '\\uD835\\uDD57',\n '∀': '\\u2200',\n '⋔': '\\u22D4',\n '⫙': '\\u2AD9',\n '⨍': '\\u2A0D',\n '½': '\\u00BD',\n '½': '\\u00BD',\n '⅓': '\\u2153',\n '¼': '\\u00BC',\n '¼': '\\u00BC',\n '⅕': '\\u2155',\n '⅙': '\\u2159',\n '⅛': '\\u215B',\n '⅔': '\\u2154',\n '⅖': '\\u2156',\n '¾': '\\u00BE',\n '¾': '\\u00BE',\n '⅗': '\\u2157',\n '⅜': '\\u215C',\n '⅘': '\\u2158',\n '⅚': '\\u215A',\n '⅝': '\\u215D',\n '⅞': '\\u215E',\n '⁄': '\\u2044',\n '⌢': '\\u2322',\n '𝒻': '\\uD835\\uDCBB',\n '≧': '\\u2267',\n '⪌': '\\u2A8C',\n 'ǵ': '\\u01F5',\n 'γ': '\\u03B3',\n 'ϝ': '\\u03DD',\n '⪆': '\\u2A86',\n 'ğ': '\\u011F',\n 'ĝ': '\\u011D',\n 'г': '\\u0433',\n 'ġ': '\\u0121',\n '≥': '\\u2265',\n '⋛': '\\u22DB',\n '≥': '\\u2265',\n '≧': '\\u2267',\n '⩾': '\\u2A7E',\n '⩾': '\\u2A7E',\n '⪩': '\\u2AA9',\n '⪀': '\\u2A80',\n '⪂': '\\u2A82',\n '⪄': '\\u2A84',\n '⋛︀': '\\u22DB\\uFE00',\n '⪔': '\\u2A94',\n '𝔤': '\\uD835\\uDD24',\n '≫': '\\u226B',\n '⋙': '\\u22D9',\n 'ℷ': '\\u2137',\n 'ѓ': '\\u0453',\n '≷': '\\u2277',\n '⪒': '\\u2A92',\n '⪥': '\\u2AA5',\n '⪤': '\\u2AA4',\n '≩': '\\u2269',\n '⪊': '\\u2A8A',\n '⪊': '\\u2A8A',\n '⪈': '\\u2A88',\n '⪈': '\\u2A88',\n '≩': '\\u2269',\n '⋧': '\\u22E7',\n '𝕘': '\\uD835\\uDD58',\n '`': '\\u0060',\n 'ℊ': '\\u210A',\n '≳': '\\u2273',\n '⪎': '\\u2A8E',\n '⪐': '\\u2A90',\n '>': '\\u003E',\n '>': '\\u003E',\n '⪧': '\\u2AA7',\n '⩺': '\\u2A7A',\n '⋗': '\\u22D7',\n '⦕': '\\u2995',\n '⩼': '\\u2A7C',\n '⪆': '\\u2A86',\n '⥸': '\\u2978',\n '⋗': '\\u22D7',\n '⋛': '\\u22DB',\n '⪌': '\\u2A8C',\n '≷': '\\u2277',\n '≳': '\\u2273',\n '≩︀': '\\u2269\\uFE00',\n '≩︀': '\\u2269\\uFE00',\n '⇔': '\\u21D4',\n ' ': '\\u200A',\n '½': '\\u00BD',\n 'ℋ': '\\u210B',\n 'ъ': '\\u044A',\n '↔': '\\u2194',\n '⥈': '\\u2948',\n '↭': '\\u21AD',\n 'ℏ': '\\u210F',\n 'ĥ': '\\u0125',\n '♥': '\\u2665',\n '♥': '\\u2665',\n '…': '\\u2026',\n '⊹': '\\u22B9',\n '𝔥': '\\uD835\\uDD25',\n '⤥': '\\u2925',\n '⤦': '\\u2926',\n '⇿': '\\u21FF',\n '∻': '\\u223B',\n '↩': '\\u21A9',\n '↪': '\\u21AA',\n '𝕙': '\\uD835\\uDD59',\n '―': '\\u2015',\n '𝒽': '\\uD835\\uDCBD',\n 'ℏ': '\\u210F',\n 'ħ': '\\u0127',\n '⁃': '\\u2043',\n '‐': '\\u2010',\n 'í': '\\u00ED',\n 'í': '\\u00ED',\n '⁣': '\\u2063',\n 'î': '\\u00EE',\n 'î': '\\u00EE',\n 'и': '\\u0438',\n 'е': '\\u0435',\n '¡': '\\u00A1',\n '¡': '\\u00A1',\n '⇔': '\\u21D4',\n '𝔦': '\\uD835\\uDD26',\n 'ì': '\\u00EC',\n 'ì': '\\u00EC',\n 'ⅈ': '\\u2148',\n '⨌': '\\u2A0C',\n '∭': '\\u222D',\n '⧜': '\\u29DC',\n '℩': '\\u2129',\n 'ij': '\\u0133',\n 'ī': '\\u012B',\n 'ℑ': '\\u2111',\n 'ℐ': '\\u2110',\n 'ℑ': '\\u2111',\n 'ı': '\\u0131',\n '⊷': '\\u22B7',\n 'Ƶ': '\\u01B5',\n '∈': '\\u2208',\n '℅': '\\u2105',\n '∞': '\\u221E',\n '⧝': '\\u29DD',\n 'ı': '\\u0131',\n '∫': '\\u222B',\n '⊺': '\\u22BA',\n 'ℤ': '\\u2124',\n '⊺': '\\u22BA',\n '⨗': '\\u2A17',\n '⨼': '\\u2A3C',\n 'ё': '\\u0451',\n 'į': '\\u012F',\n '𝕚': '\\uD835\\uDD5A',\n 'ι': '\\u03B9',\n '⨼': '\\u2A3C',\n '¿': '\\u00BF',\n '¿': '\\u00BF',\n '𝒾': '\\uD835\\uDCBE',\n '∈': '\\u2208',\n '⋹': '\\u22F9',\n '⋵': '\\u22F5',\n '⋴': '\\u22F4',\n '⋳': '\\u22F3',\n '∈': '\\u2208',\n '⁢': '\\u2062',\n 'ĩ': '\\u0129',\n 'і': '\\u0456',\n 'ï': '\\u00EF',\n 'ï': '\\u00EF',\n 'ĵ': '\\u0135',\n 'й': '\\u0439',\n '𝔧': '\\uD835\\uDD27',\n 'ȷ': '\\u0237',\n '𝕛': '\\uD835\\uDD5B',\n '𝒿': '\\uD835\\uDCBF',\n 'ј': '\\u0458',\n 'є': '\\u0454',\n 'κ': '\\u03BA',\n 'ϰ': '\\u03F0',\n 'ķ': '\\u0137',\n 'к': '\\u043A',\n '𝔨': '\\uD835\\uDD28',\n 'ĸ': '\\u0138',\n 'х': '\\u0445',\n 'ќ': '\\u045C',\n '𝕜': '\\uD835\\uDD5C',\n '𝓀': '\\uD835\\uDCC0',\n '⇚': '\\u21DA',\n '⇐': '\\u21D0',\n '⤛': '\\u291B',\n '⤎': '\\u290E',\n '≦': '\\u2266',\n '⪋': '\\u2A8B',\n '⥢': '\\u2962',\n 'ĺ': '\\u013A',\n '⦴': '\\u29B4',\n 'ℒ': '\\u2112',\n 'λ': '\\u03BB',\n '⟨': '\\u27E8',\n '⦑': '\\u2991',\n '⟨': '\\u27E8',\n '⪅': '\\u2A85',\n '«': '\\u00AB',\n '«': '\\u00AB',\n '←': '\\u2190',\n '⇤': '\\u21E4',\n '⤟': '\\u291F',\n '⤝': '\\u291D',\n '↩': '\\u21A9',\n '↫': '\\u21AB',\n '⤹': '\\u2939',\n '⥳': '\\u2973',\n '↢': '\\u21A2',\n '⪫': '\\u2AAB',\n '⤙': '\\u2919',\n '⪭': '\\u2AAD',\n '⪭︀': '\\u2AAD\\uFE00',\n '⤌': '\\u290C',\n '❲': '\\u2772',\n '{': '\\u007B',\n '[': '\\u005B',\n '⦋': '\\u298B',\n '⦏': '\\u298F',\n '⦍': '\\u298D',\n 'ľ': '\\u013E',\n 'ļ': '\\u013C',\n '⌈': '\\u2308',\n '{': '\\u007B',\n 'л': '\\u043B',\n '⤶': '\\u2936',\n '“': '\\u201C',\n '„': '\\u201E',\n '⥧': '\\u2967',\n '⥋': '\\u294B',\n '↲': '\\u21B2',\n '≤': '\\u2264',\n '←': '\\u2190',\n '↢': '\\u21A2',\n '↽': '\\u21BD',\n '↼': '\\u21BC',\n '⇇': '\\u21C7',\n '↔': '\\u2194',\n '⇆': '\\u21C6',\n '⇋': '\\u21CB',\n '↭': '\\u21AD',\n '⋋': '\\u22CB',\n '⋚': '\\u22DA',\n '≤': '\\u2264',\n '≦': '\\u2266',\n '⩽': '\\u2A7D',\n '⩽': '\\u2A7D',\n '⪨': '\\u2AA8',\n '⩿': '\\u2A7F',\n '⪁': '\\u2A81',\n '⪃': '\\u2A83',\n '⋚︀': '\\u22DA\\uFE00',\n '⪓': '\\u2A93',\n '⪅': '\\u2A85',\n '⋖': '\\u22D6',\n '⋚': '\\u22DA',\n '⪋': '\\u2A8B',\n '≶': '\\u2276',\n '≲': '\\u2272',\n '⥼': '\\u297C',\n '⌊': '\\u230A',\n '𝔩': '\\uD835\\uDD29',\n '≶': '\\u2276',\n '⪑': '\\u2A91',\n '↽': '\\u21BD',\n '↼': '\\u21BC',\n '⥪': '\\u296A',\n '▄': '\\u2584',\n 'љ': '\\u0459',\n '≪': '\\u226A',\n '⇇': '\\u21C7',\n '⌞': '\\u231E',\n '⥫': '\\u296B',\n '◺': '\\u25FA',\n 'ŀ': '\\u0140',\n '⎰': '\\u23B0',\n '⎰': '\\u23B0',\n '≨': '\\u2268',\n '⪉': '\\u2A89',\n '⪉': '\\u2A89',\n '⪇': '\\u2A87',\n '⪇': '\\u2A87',\n '≨': '\\u2268',\n '⋦': '\\u22E6',\n '⟬': '\\u27EC',\n '⇽': '\\u21FD',\n '⟦': '\\u27E6',\n '⟵': '\\u27F5',\n '⟷': '\\u27F7',\n '⟼': '\\u27FC',\n '⟶': '\\u27F6',\n '↫': '\\u21AB',\n '↬': '\\u21AC',\n '⦅': '\\u2985',\n '𝕝': '\\uD835\\uDD5D',\n '⨭': '\\u2A2D',\n '⨴': '\\u2A34',\n '∗': '\\u2217',\n '_': '\\u005F',\n '◊': '\\u25CA',\n '◊': '\\u25CA',\n '⧫': '\\u29EB',\n '(': '\\u0028',\n '⦓': '\\u2993',\n '⇆': '\\u21C6',\n '⌟': '\\u231F',\n '⇋': '\\u21CB',\n '⥭': '\\u296D',\n '‎': '\\u200E',\n '⊿': '\\u22BF',\n '‹': '\\u2039',\n '𝓁': '\\uD835\\uDCC1',\n '↰': '\\u21B0',\n '≲': '\\u2272',\n '⪍': '\\u2A8D',\n '⪏': '\\u2A8F',\n '[': '\\u005B',\n '‘': '\\u2018',\n '‚': '\\u201A',\n 'ł': '\\u0142',\n '<': '\\u003C',\n '<': '\\u003C',\n '⪦': '\\u2AA6',\n '⩹': '\\u2A79',\n '⋖': '\\u22D6',\n '⋋': '\\u22CB',\n '⋉': '\\u22C9',\n '⥶': '\\u2976',\n '⩻': '\\u2A7B',\n '⦖': '\\u2996',\n '◃': '\\u25C3',\n '⊴': '\\u22B4',\n '◂': '\\u25C2',\n '⥊': '\\u294A',\n '⥦': '\\u2966',\n '≨︀': '\\u2268\\uFE00',\n '≨︀': '\\u2268\\uFE00',\n '∺': '\\u223A',\n '¯': '\\u00AF',\n '¯': '\\u00AF',\n '♂': '\\u2642',\n '✠': '\\u2720',\n '✠': '\\u2720',\n '↦': '\\u21A6',\n '↦': '\\u21A6',\n '↧': '\\u21A7',\n '↤': '\\u21A4',\n '↥': '\\u21A5',\n '▮': '\\u25AE',\n '⨩': '\\u2A29',\n 'м': '\\u043C',\n '—': '\\u2014',\n '∡': '\\u2221',\n '𝔪': '\\uD835\\uDD2A',\n '℧': '\\u2127',\n 'µ': '\\u00B5',\n 'µ': '\\u00B5',\n '∣': '\\u2223',\n '*': '\\u002A',\n '⫰': '\\u2AF0',\n '·': '\\u00B7',\n '·': '\\u00B7',\n '−': '\\u2212',\n '⊟': '\\u229F',\n '∸': '\\u2238',\n '⨪': '\\u2A2A',\n '⫛': '\\u2ADB',\n '…': '\\u2026',\n '∓': '\\u2213',\n '⊧': '\\u22A7',\n '𝕞': '\\uD835\\uDD5E',\n '∓': '\\u2213',\n '𝓂': '\\uD835\\uDCC2',\n '∾': '\\u223E',\n 'μ': '\\u03BC',\n '⊸': '\\u22B8',\n '⊸': '\\u22B8',\n '⋙̸': '\\u22D9\\u0338',\n '≫⃒': '\\u226B\\u20D2',\n '≫̸': '\\u226B\\u0338',\n '⇍': '\\u21CD',\n '⇎': '\\u21CE',\n '⋘̸': '\\u22D8\\u0338',\n '≪⃒': '\\u226A\\u20D2',\n '≪̸': '\\u226A\\u0338',\n '⇏': '\\u21CF',\n '⊯': '\\u22AF',\n '⊮': '\\u22AE',\n '∇': '\\u2207',\n 'ń': '\\u0144',\n '∠⃒': '\\u2220\\u20D2',\n '≉': '\\u2249',\n '⩰̸': '\\u2A70\\u0338',\n '≋̸': '\\u224B\\u0338',\n 'ʼn': '\\u0149',\n '≉': '\\u2249',\n '♮': '\\u266E',\n '♮': '\\u266E',\n 'ℕ': '\\u2115',\n ' ': '\\u00A0',\n ' ': '\\u00A0',\n '≎̸': '\\u224E\\u0338',\n '≏̸': '\\u224F\\u0338',\n '⩃': '\\u2A43',\n 'ň': '\\u0148',\n 'ņ': '\\u0146',\n '≇': '\\u2247',\n '⩭̸': '\\u2A6D\\u0338',\n '⩂': '\\u2A42',\n 'н': '\\u043D',\n '–': '\\u2013',\n '≠': '\\u2260',\n '⇗': '\\u21D7',\n '⤤': '\\u2924',\n '↗': '\\u2197',\n '↗': '\\u2197',\n '≐̸': '\\u2250\\u0338',\n '≢': '\\u2262',\n '⤨': '\\u2928',\n '≂̸': '\\u2242\\u0338',\n '∄': '\\u2204',\n '∄': '\\u2204',\n '𝔫': '\\uD835\\uDD2B',\n '≧̸': '\\u2267\\u0338',\n '≱': '\\u2271',\n '≱': '\\u2271',\n '≧̸': '\\u2267\\u0338',\n '⩾̸': '\\u2A7E\\u0338',\n '⩾̸': '\\u2A7E\\u0338',\n '≵': '\\u2275',\n '≯': '\\u226F',\n '≯': '\\u226F',\n '⇎': '\\u21CE',\n '↮': '\\u21AE',\n '⫲': '\\u2AF2',\n '∋': '\\u220B',\n '⋼': '\\u22FC',\n '⋺': '\\u22FA',\n '∋': '\\u220B',\n 'њ': '\\u045A',\n '⇍': '\\u21CD',\n '≦̸': '\\u2266\\u0338',\n '↚': '\\u219A',\n '‥': '\\u2025',\n '≰': '\\u2270',\n '↚': '\\u219A',\n '↮': '\\u21AE',\n '≰': '\\u2270',\n '≦̸': '\\u2266\\u0338',\n '⩽̸': '\\u2A7D\\u0338',\n '⩽̸': '\\u2A7D\\u0338',\n '≮': '\\u226E',\n '≴': '\\u2274',\n '≮': '\\u226E',\n '⋪': '\\u22EA',\n '⋬': '\\u22EC',\n '∤': '\\u2224',\n '𝕟': '\\uD835\\uDD5F',\n '¬': '\\u00AC',\n '¬': '\\u00AC',\n '∉': '\\u2209',\n '⋹̸': '\\u22F9\\u0338',\n '⋵̸': '\\u22F5\\u0338',\n '∉': '\\u2209',\n '⋷': '\\u22F7',\n '⋶': '\\u22F6',\n '∌': '\\u220C',\n '∌': '\\u220C',\n '⋾': '\\u22FE',\n '⋽': '\\u22FD',\n '∦': '\\u2226',\n '∦': '\\u2226',\n '⫽⃥': '\\u2AFD\\u20E5',\n '∂̸': '\\u2202\\u0338',\n '⨔': '\\u2A14',\n '⊀': '\\u2280',\n '⋠': '\\u22E0',\n '⪯̸': '\\u2AAF\\u0338',\n '⊀': '\\u2280',\n '⪯̸': '\\u2AAF\\u0338',\n '⇏': '\\u21CF',\n '↛': '\\u219B',\n '⤳̸': '\\u2933\\u0338',\n '↝̸': '\\u219D\\u0338',\n '↛': '\\u219B',\n '⋫': '\\u22EB',\n '⋭': '\\u22ED',\n '⊁': '\\u2281',\n '⋡': '\\u22E1',\n '⪰̸': '\\u2AB0\\u0338',\n '𝓃': '\\uD835\\uDCC3',\n '∤': '\\u2224',\n '∦': '\\u2226',\n '≁': '\\u2241',\n '≄': '\\u2244',\n '≄': '\\u2244',\n '∤': '\\u2224',\n '∦': '\\u2226',\n '⋢': '\\u22E2',\n '⋣': '\\u22E3',\n '⊄': '\\u2284',\n '⫅̸': '\\u2AC5\\u0338',\n '⊈': '\\u2288',\n '⊂⃒': '\\u2282\\u20D2',\n '⊈': '\\u2288',\n '⫅̸': '\\u2AC5\\u0338',\n '⊁': '\\u2281',\n '⪰̸': '\\u2AB0\\u0338',\n '⊅': '\\u2285',\n '⫆̸': '\\u2AC6\\u0338',\n '⊉': '\\u2289',\n '⊃⃒': '\\u2283\\u20D2',\n '⊉': '\\u2289',\n '⫆̸': '\\u2AC6\\u0338',\n '≹': '\\u2279',\n 'ñ': '\\u00F1',\n 'ñ': '\\u00F1',\n '≸': '\\u2278',\n '⋪': '\\u22EA',\n '⋬': '\\u22EC',\n '⋫': '\\u22EB',\n '⋭': '\\u22ED',\n 'ν': '\\u03BD',\n '#': '\\u0023',\n '№': '\\u2116',\n ' ': '\\u2007',\n '⊭': '\\u22AD',\n '⤄': '\\u2904',\n '≍⃒': '\\u224D\\u20D2',\n '⊬': '\\u22AC',\n '≥⃒': '\\u2265\\u20D2',\n '>⃒': '\\u003E\\u20D2',\n '⧞': '\\u29DE',\n '⤂': '\\u2902',\n '≤⃒': '\\u2264\\u20D2',\n '<⃒': '\\u003C\\u20D2',\n '⊴⃒': '\\u22B4\\u20D2',\n '⤃': '\\u2903',\n '⊵⃒': '\\u22B5\\u20D2',\n '∼⃒': '\\u223C\\u20D2',\n '⇖': '\\u21D6',\n '⤣': '\\u2923',\n '↖': '\\u2196',\n '↖': '\\u2196',\n '⤧': '\\u2927',\n 'Ⓢ': '\\u24C8',\n 'ó': '\\u00F3',\n 'ó': '\\u00F3',\n '⊛': '\\u229B',\n '⊚': '\\u229A',\n 'ô': '\\u00F4',\n 'ô': '\\u00F4',\n 'о': '\\u043E',\n '⊝': '\\u229D',\n 'ő': '\\u0151',\n '⨸': '\\u2A38',\n '⊙': '\\u2299',\n '⦼': '\\u29BC',\n 'œ': '\\u0153',\n '⦿': '\\u29BF',\n '𝔬': '\\uD835\\uDD2C',\n '˛': '\\u02DB',\n 'ò': '\\u00F2',\n 'ò': '\\u00F2',\n '⧁': '\\u29C1',\n '⦵': '\\u29B5',\n 'Ω': '\\u03A9',\n '∮': '\\u222E',\n '↺': '\\u21BA',\n '⦾': '\\u29BE',\n '⦻': '\\u29BB',\n '‾': '\\u203E',\n '⧀': '\\u29C0',\n 'ō': '\\u014D',\n 'ω': '\\u03C9',\n 'ο': '\\u03BF',\n '⦶': '\\u29B6',\n '⊖': '\\u2296',\n '𝕠': '\\uD835\\uDD60',\n '⦷': '\\u29B7',\n '⦹': '\\u29B9',\n '⊕': '\\u2295',\n '∨': '\\u2228',\n '↻': '\\u21BB',\n '⩝': '\\u2A5D',\n 'ℴ': '\\u2134',\n 'ℴ': '\\u2134',\n 'ª': '\\u00AA',\n 'ª': '\\u00AA',\n 'º': '\\u00BA',\n 'º': '\\u00BA',\n '⊶': '\\u22B6',\n '⩖': '\\u2A56',\n '⩗': '\\u2A57',\n '⩛': '\\u2A5B',\n 'ℴ': '\\u2134',\n 'ø': '\\u00F8',\n 'ø': '\\u00F8',\n '⊘': '\\u2298',\n 'õ': '\\u00F5',\n 'õ': '\\u00F5',\n '⊗': '\\u2297',\n '⨶': '\\u2A36',\n 'ö': '\\u00F6',\n 'ö': '\\u00F6',\n '⌽': '\\u233D',\n '∥': '\\u2225',\n '¶': '\\u00B6',\n '¶': '\\u00B6',\n '∥': '\\u2225',\n '⫳': '\\u2AF3',\n '⫽': '\\u2AFD',\n '∂': '\\u2202',\n 'п': '\\u043F',\n '%': '\\u0025',\n '.': '\\u002E',\n '‰': '\\u2030',\n '⊥': '\\u22A5',\n '‱': '\\u2031',\n '𝔭': '\\uD835\\uDD2D',\n 'φ': '\\u03C6',\n 'ϕ': '\\u03D5',\n 'ℳ': '\\u2133',\n '☎': '\\u260E',\n 'π': '\\u03C0',\n '⋔': '\\u22D4',\n 'ϖ': '\\u03D6',\n 'ℏ': '\\u210F',\n 'ℎ': '\\u210E',\n 'ℏ': '\\u210F',\n '+': '\\u002B',\n '⨣': '\\u2A23',\n '⊞': '\\u229E',\n '⨢': '\\u2A22',\n '∔': '\\u2214',\n '⨥': '\\u2A25',\n '⩲': '\\u2A72',\n '±': '\\u00B1',\n '±': '\\u00B1',\n '⨦': '\\u2A26',\n '⨧': '\\u2A27',\n '±': '\\u00B1',\n '⨕': '\\u2A15',\n '𝕡': '\\uD835\\uDD61',\n '£': '\\u00A3',\n '£': '\\u00A3',\n '≺': '\\u227A',\n '⪳': '\\u2AB3',\n '⪷': '\\u2AB7',\n '≼': '\\u227C',\n '⪯': '\\u2AAF',\n '≺': '\\u227A',\n '⪷': '\\u2AB7',\n '≼': '\\u227C',\n '⪯': '\\u2AAF',\n '⪹': '\\u2AB9',\n '⪵': '\\u2AB5',\n '⋨': '\\u22E8',\n '≾': '\\u227E',\n '′': '\\u2032',\n 'ℙ': '\\u2119',\n '⪵': '\\u2AB5',\n '⪹': '\\u2AB9',\n '⋨': '\\u22E8',\n '∏': '\\u220F',\n '⌮': '\\u232E',\n '⌒': '\\u2312',\n '⌓': '\\u2313',\n '∝': '\\u221D',\n '∝': '\\u221D',\n '≾': '\\u227E',\n '⊰': '\\u22B0',\n '𝓅': '\\uD835\\uDCC5',\n 'ψ': '\\u03C8',\n ' ': '\\u2008',\n '𝔮': '\\uD835\\uDD2E',\n '⨌': '\\u2A0C',\n '𝕢': '\\uD835\\uDD62',\n '⁗': '\\u2057',\n '𝓆': '\\uD835\\uDCC6',\n 'ℍ': '\\u210D',\n '⨖': '\\u2A16',\n '?': '\\u003F',\n '≟': '\\u225F',\n '"': '\\u0022',\n '"': '\\u0022',\n '⇛': '\\u21DB',\n '⇒': '\\u21D2',\n '⤜': '\\u291C',\n '⤏': '\\u290F',\n '⥤': '\\u2964',\n '∽̱': '\\u223D\\u0331',\n 'ŕ': '\\u0155',\n '√': '\\u221A',\n '⦳': '\\u29B3',\n '⟩': '\\u27E9',\n '⦒': '\\u2992',\n '⦥': '\\u29A5',\n '⟩': '\\u27E9',\n '»': '\\u00BB',\n '»': '\\u00BB',\n '→': '\\u2192',\n '⥵': '\\u2975',\n '⇥': '\\u21E5',\n '⤠': '\\u2920',\n '⤳': '\\u2933',\n '⤞': '\\u291E',\n '↪': '\\u21AA',\n '↬': '\\u21AC',\n '⥅': '\\u2945',\n '⥴': '\\u2974',\n '↣': '\\u21A3',\n '↝': '\\u219D',\n '⤚': '\\u291A',\n '∶': '\\u2236',\n 'ℚ': '\\u211A',\n '⤍': '\\u290D',\n '❳': '\\u2773',\n '}': '\\u007D',\n ']': '\\u005D',\n '⦌': '\\u298C',\n '⦎': '\\u298E',\n '⦐': '\\u2990',\n 'ř': '\\u0159',\n 'ŗ': '\\u0157',\n '⌉': '\\u2309',\n '}': '\\u007D',\n 'р': '\\u0440',\n '⤷': '\\u2937',\n '⥩': '\\u2969',\n '”': '\\u201D',\n '”': '\\u201D',\n '↳': '\\u21B3',\n 'ℜ': '\\u211C',\n 'ℛ': '\\u211B',\n 'ℜ': '\\u211C',\n 'ℝ': '\\u211D',\n '▭': '\\u25AD',\n '®': '\\u00AE',\n '®': '\\u00AE',\n '⥽': '\\u297D',\n '⌋': '\\u230B',\n '𝔯': '\\uD835\\uDD2F',\n '⇁': '\\u21C1',\n '⇀': '\\u21C0',\n '⥬': '\\u296C',\n 'ρ': '\\u03C1',\n 'ϱ': '\\u03F1',\n '→': '\\u2192',\n '↣': '\\u21A3',\n '⇁': '\\u21C1',\n '⇀': '\\u21C0',\n '⇄': '\\u21C4',\n '⇌': '\\u21CC',\n '⇉': '\\u21C9',\n '↝': '\\u219D',\n '⋌': '\\u22CC',\n '˚': '\\u02DA',\n '≓': '\\u2253',\n '⇄': '\\u21C4',\n '⇌': '\\u21CC',\n '‏': '\\u200F',\n '⎱': '\\u23B1',\n '⎱': '\\u23B1',\n '⫮': '\\u2AEE',\n '⟭': '\\u27ED',\n '⇾': '\\u21FE',\n '⟧': '\\u27E7',\n '⦆': '\\u2986',\n '𝕣': '\\uD835\\uDD63',\n '⨮': '\\u2A2E',\n '⨵': '\\u2A35',\n ')': '\\u0029',\n '⦔': '\\u2994',\n '⨒': '\\u2A12',\n '⇉': '\\u21C9',\n '›': '\\u203A',\n '𝓇': '\\uD835\\uDCC7',\n '↱': '\\u21B1',\n ']': '\\u005D',\n '’': '\\u2019',\n '’': '\\u2019',\n '⋌': '\\u22CC',\n '⋊': '\\u22CA',\n '▹': '\\u25B9',\n '⊵': '\\u22B5',\n '▸': '\\u25B8',\n '⧎': '\\u29CE',\n '⥨': '\\u2968',\n '℞': '\\u211E',\n 'ś': '\\u015B',\n '‚': '\\u201A',\n '≻': '\\u227B',\n '⪴': '\\u2AB4',\n '⪸': '\\u2AB8',\n 'š': '\\u0161',\n '≽': '\\u227D',\n '⪰': '\\u2AB0',\n 'ş': '\\u015F',\n 'ŝ': '\\u015D',\n '⪶': '\\u2AB6',\n '⪺': '\\u2ABA',\n '⋩': '\\u22E9',\n '⨓': '\\u2A13',\n '≿': '\\u227F',\n 'с': '\\u0441',\n '⋅': '\\u22C5',\n '⊡': '\\u22A1',\n '⩦': '\\u2A66',\n '⇘': '\\u21D8',\n '⤥': '\\u2925',\n '↘': '\\u2198',\n '↘': '\\u2198',\n '§': '\\u00A7',\n '§': '\\u00A7',\n ';': '\\u003B',\n '⤩': '\\u2929',\n '∖': '\\u2216',\n '∖': '\\u2216',\n '✶': '\\u2736',\n '𝔰': '\\uD835\\uDD30',\n '⌢': '\\u2322',\n '♯': '\\u266F',\n 'щ': '\\u0449',\n 'ш': '\\u0448',\n '∣': '\\u2223',\n '∥': '\\u2225',\n '­': '\\u00AD',\n '­': '\\u00AD',\n 'σ': '\\u03C3',\n 'ς': '\\u03C2',\n 'ς': '\\u03C2',\n '∼': '\\u223C',\n '⩪': '\\u2A6A',\n '≃': '\\u2243',\n '≃': '\\u2243',\n '⪞': '\\u2A9E',\n '⪠': '\\u2AA0',\n '⪝': '\\u2A9D',\n '⪟': '\\u2A9F',\n '≆': '\\u2246',\n '⨤': '\\u2A24',\n '⥲': '\\u2972',\n '←': '\\u2190',\n '∖': '\\u2216',\n '⨳': '\\u2A33',\n '⧤': '\\u29E4',\n '∣': '\\u2223',\n '⌣': '\\u2323',\n '⪪': '\\u2AAA',\n '⪬': '\\u2AAC',\n '⪬︀': '\\u2AAC\\uFE00',\n 'ь': '\\u044C',\n '/': '\\u002F',\n '⧄': '\\u29C4',\n '⌿': '\\u233F',\n '𝕤': '\\uD835\\uDD64',\n '♠': '\\u2660',\n '♠': '\\u2660',\n '∥': '\\u2225',\n '⊓': '\\u2293',\n '⊓︀': '\\u2293\\uFE00',\n '⊔': '\\u2294',\n '⊔︀': '\\u2294\\uFE00',\n '⊏': '\\u228F',\n '⊑': '\\u2291',\n '⊏': '\\u228F',\n '⊑': '\\u2291',\n '⊐': '\\u2290',\n '⊒': '\\u2292',\n '⊐': '\\u2290',\n '⊒': '\\u2292',\n '□': '\\u25A1',\n '□': '\\u25A1',\n '▪': '\\u25AA',\n '▪': '\\u25AA',\n '→': '\\u2192',\n '𝓈': '\\uD835\\uDCC8',\n '∖': '\\u2216',\n '⌣': '\\u2323',\n '⋆': '\\u22C6',\n '☆': '\\u2606',\n '★': '\\u2605',\n 'ϵ': '\\u03F5',\n 'ϕ': '\\u03D5',\n '¯': '\\u00AF',\n '⊂': '\\u2282',\n '⫅': '\\u2AC5',\n '⪽': '\\u2ABD',\n '⊆': '\\u2286',\n '⫃': '\\u2AC3',\n '⫁': '\\u2AC1',\n '⫋': '\\u2ACB',\n '⊊': '\\u228A',\n '⪿': '\\u2ABF',\n '⥹': '\\u2979',\n '⊂': '\\u2282',\n '⊆': '\\u2286',\n '⫅': '\\u2AC5',\n '⊊': '\\u228A',\n '⫋': '\\u2ACB',\n '⫇': '\\u2AC7',\n '⫕': '\\u2AD5',\n '⫓': '\\u2AD3',\n '≻': '\\u227B',\n '⪸': '\\u2AB8',\n '≽': '\\u227D',\n '⪰': '\\u2AB0',\n '⪺': '\\u2ABA',\n '⪶': '\\u2AB6',\n '⋩': '\\u22E9',\n '≿': '\\u227F',\n '∑': '\\u2211',\n '♪': '\\u266A',\n '¹': '\\u00B9',\n '¹': '\\u00B9',\n '²': '\\u00B2',\n '²': '\\u00B2',\n '³': '\\u00B3',\n '³': '\\u00B3',\n '⊃': '\\u2283',\n '⫆': '\\u2AC6',\n '⪾': '\\u2ABE',\n '⫘': '\\u2AD8',\n '⊇': '\\u2287',\n '⫄': '\\u2AC4',\n '⟉': '\\u27C9',\n '⫗': '\\u2AD7',\n '⥻': '\\u297B',\n '⫂': '\\u2AC2',\n '⫌': '\\u2ACC',\n '⊋': '\\u228B',\n '⫀': '\\u2AC0',\n '⊃': '\\u2283',\n '⊇': '\\u2287',\n '⫆': '\\u2AC6',\n '⊋': '\\u228B',\n '⫌': '\\u2ACC',\n '⫈': '\\u2AC8',\n '⫔': '\\u2AD4',\n '⫖': '\\u2AD6',\n '⇙': '\\u21D9',\n '⤦': '\\u2926',\n '↙': '\\u2199',\n '↙': '\\u2199',\n '⤪': '\\u292A',\n 'ß': '\\u00DF',\n 'ß': '\\u00DF',\n '⌖': '\\u2316',\n 'τ': '\\u03C4',\n '⎴': '\\u23B4',\n 'ť': '\\u0165',\n 'ţ': '\\u0163',\n 'т': '\\u0442',\n '⃛': '\\u20DB',\n '⌕': '\\u2315',\n '𝔱': '\\uD835\\uDD31',\n '∴': '\\u2234',\n '∴': '\\u2234',\n 'θ': '\\u03B8',\n 'ϑ': '\\u03D1',\n 'ϑ': '\\u03D1',\n '≈': '\\u2248',\n '∼': '\\u223C',\n ' ': '\\u2009',\n '≈': '\\u2248',\n '∼': '\\u223C',\n 'þ': '\\u00FE',\n 'þ': '\\u00FE',\n '˜': '\\u02DC',\n '×': '\\u00D7',\n '×': '\\u00D7',\n '⊠': '\\u22A0',\n '⨱': '\\u2A31',\n '⨰': '\\u2A30',\n '∭': '\\u222D',\n '⤨': '\\u2928',\n '⊤': '\\u22A4',\n '⌶': '\\u2336',\n '⫱': '\\u2AF1',\n '𝕥': '\\uD835\\uDD65',\n '⫚': '\\u2ADA',\n '⤩': '\\u2929',\n '‴': '\\u2034',\n '™': '\\u2122',\n '▵': '\\u25B5',\n '▿': '\\u25BF',\n '◃': '\\u25C3',\n '⊴': '\\u22B4',\n '≜': '\\u225C',\n '▹': '\\u25B9',\n '⊵': '\\u22B5',\n '◬': '\\u25EC',\n '≜': '\\u225C',\n '⨺': '\\u2A3A',\n '⨹': '\\u2A39',\n '⧍': '\\u29CD',\n '⨻': '\\u2A3B',\n '⏢': '\\u23E2',\n '𝓉': '\\uD835\\uDCC9',\n 'ц': '\\u0446',\n 'ћ': '\\u045B',\n 'ŧ': '\\u0167',\n '≬': '\\u226C',\n '↞': '\\u219E',\n '↠': '\\u21A0',\n '⇑': '\\u21D1',\n '⥣': '\\u2963',\n 'ú': '\\u00FA',\n 'ú': '\\u00FA',\n '↑': '\\u2191',\n 'ў': '\\u045E',\n 'ŭ': '\\u016D',\n 'û': '\\u00FB',\n 'û': '\\u00FB',\n 'у': '\\u0443',\n '⇅': '\\u21C5',\n 'ű': '\\u0171',\n '⥮': '\\u296E',\n '⥾': '\\u297E',\n '𝔲': '\\uD835\\uDD32',\n 'ù': '\\u00F9',\n 'ù': '\\u00F9',\n '↿': '\\u21BF',\n '↾': '\\u21BE',\n '▀': '\\u2580',\n '⌜': '\\u231C',\n '⌜': '\\u231C',\n '⌏': '\\u230F',\n '◸': '\\u25F8',\n 'ū': '\\u016B',\n '¨': '\\u00A8',\n '¨': '\\u00A8',\n 'ų': '\\u0173',\n '𝕦': '\\uD835\\uDD66',\n '↑': '\\u2191',\n '↕': '\\u2195',\n '↿': '\\u21BF',\n '↾': '\\u21BE',\n '⊎': '\\u228E',\n 'υ': '\\u03C5',\n 'ϒ': '\\u03D2',\n 'υ': '\\u03C5',\n '⇈': '\\u21C8',\n '⌝': '\\u231D',\n '⌝': '\\u231D',\n '⌎': '\\u230E',\n 'ů': '\\u016F',\n '◹': '\\u25F9',\n '𝓊': '\\uD835\\uDCCA',\n '⋰': '\\u22F0',\n 'ũ': '\\u0169',\n '▵': '\\u25B5',\n '▴': '\\u25B4',\n '⇈': '\\u21C8',\n 'ü': '\\u00FC',\n 'ü': '\\u00FC',\n '⦧': '\\u29A7',\n '⇕': '\\u21D5',\n '⫨': '\\u2AE8',\n '⫩': '\\u2AE9',\n '⊨': '\\u22A8',\n '⦜': '\\u299C',\n 'ϵ': '\\u03F5',\n 'ϰ': '\\u03F0',\n '∅': '\\u2205',\n 'ϕ': '\\u03D5',\n 'ϖ': '\\u03D6',\n '∝': '\\u221D',\n '↕': '\\u2195',\n 'ϱ': '\\u03F1',\n 'ς': '\\u03C2',\n '⊊︀': '\\u228A\\uFE00',\n '⫋︀': '\\u2ACB\\uFE00',\n '⊋︀': '\\u228B\\uFE00',\n '⫌︀': '\\u2ACC\\uFE00',\n 'ϑ': '\\u03D1',\n '⊲': '\\u22B2',\n '⊳': '\\u22B3',\n 'в': '\\u0432',\n '⊢': '\\u22A2',\n '∨': '\\u2228',\n '⊻': '\\u22BB',\n '≚': '\\u225A',\n '⋮': '\\u22EE',\n '|': '\\u007C',\n '|': '\\u007C',\n '𝔳': '\\uD835\\uDD33',\n '⊲': '\\u22B2',\n '⊂⃒': '\\u2282\\u20D2',\n '⊃⃒': '\\u2283\\u20D2',\n '𝕧': '\\uD835\\uDD67',\n '∝': '\\u221D',\n '⊳': '\\u22B3',\n '𝓋': '\\uD835\\uDCCB',\n '⫋︀': '\\u2ACB\\uFE00',\n '⊊︀': '\\u228A\\uFE00',\n '⫌︀': '\\u2ACC\\uFE00',\n '⊋︀': '\\u228B\\uFE00',\n '⦚': '\\u299A',\n 'ŵ': '\\u0175',\n '⩟': '\\u2A5F',\n '∧': '\\u2227',\n '≙': '\\u2259',\n '℘': '\\u2118',\n '𝔴': '\\uD835\\uDD34',\n '𝕨': '\\uD835\\uDD68',\n '℘': '\\u2118',\n '≀': '\\u2240',\n '≀': '\\u2240',\n '𝓌': '\\uD835\\uDCCC',\n '⋂': '\\u22C2',\n '◯': '\\u25EF',\n '⋃': '\\u22C3',\n '▽': '\\u25BD',\n '𝔵': '\\uD835\\uDD35',\n '⟺': '\\u27FA',\n '⟷': '\\u27F7',\n 'ξ': '\\u03BE',\n '⟸': '\\u27F8',\n '⟵': '\\u27F5',\n '⟼': '\\u27FC',\n '⋻': '\\u22FB',\n '⨀': '\\u2A00',\n '𝕩': '\\uD835\\uDD69',\n '⨁': '\\u2A01',\n '⨂': '\\u2A02',\n '⟹': '\\u27F9',\n '⟶': '\\u27F6',\n '𝓍': '\\uD835\\uDCCD',\n '⨆': '\\u2A06',\n '⨄': '\\u2A04',\n '△': '\\u25B3',\n '⋁': '\\u22C1',\n '⋀': '\\u22C0',\n 'ý': '\\u00FD',\n 'ý': '\\u00FD',\n 'я': '\\u044F',\n 'ŷ': '\\u0177',\n 'ы': '\\u044B',\n '¥': '\\u00A5',\n '¥': '\\u00A5',\n '𝔶': '\\uD835\\uDD36',\n 'ї': '\\u0457',\n '𝕪': '\\uD835\\uDD6A',\n '𝓎': '\\uD835\\uDCCE',\n 'ю': '\\u044E',\n 'ÿ': '\\u00FF',\n 'ÿ': '\\u00FF',\n 'ź': '\\u017A',\n 'ž': '\\u017E',\n 'з': '\\u0437',\n 'ż': '\\u017C',\n 'ℨ': '\\u2128',\n 'ζ': '\\u03B6',\n '𝔷': '\\uD835\\uDD37',\n 'ж': '\\u0436',\n '⇝': '\\u21DD',\n '𝕫': '\\uD835\\uDD6B',\n '𝓏': '\\uD835\\uDCCF',\n '‍': '\\u200D',\n '‌': '\\u200C'\n};\n\nexport default htmlEntities;\n",
|
|
329
|
+
"import htmlEntities from './html-entities.js';\n\nexport function decodeHTMLEntities(str) {\n return str.replace(/&(#\\d+|#x[a-f0-9]+|[a-z]+\\d*);?/gi, (match, entity) => {\n if (typeof htmlEntities[match] === 'string') {\n return htmlEntities[match];\n }\n\n if (entity.charAt(0) !== '#' || match.charAt(match.length - 1) !== ';') {\n // keep as is, invalid or unknown sequence\n return match;\n }\n\n let codePoint;\n if (entity.charAt(1) === 'x') {\n // hex\n codePoint = parseInt(entity.substr(2), 16);\n } else {\n // dec\n codePoint = parseInt(entity.substr(1), 10);\n }\n\n let output = '';\n\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n // Invalid range, return a replacement character instead\n return '\\uFFFD';\n }\n\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n\n output += String.fromCharCode(codePoint);\n\n return output;\n });\n}\n\nexport function escapeHtml(str) {\n return str.trim().replace(/[<>\"'?&]/g, c => {\n let hex = c.charCodeAt(0).toString(16);\n if (hex.length < 2) {\n hex = '0' + hex;\n }\n return '&#x' + hex.toUpperCase() + ';';\n });\n}\n\nexport function textToHtml(str) {\n let html = escapeHtml(str).replace(/\\n/g, '<br />');\n return '<div>' + html + '</div>';\n}\n\nexport function htmlToText(str) {\n str = str\n // we can't process tags on multiple lines so remove newlines first\n .replace(/\\r?\\n/g, '\\u0001')\n .replace(/<\\!\\-\\-.*?\\-\\->/gi, ' ')\n\n .replace(/<br\\b[^>]*>/gi, '\\n')\n .replace(/<\\/?(p|div|table|tr|td|th)\\b[^>]*>/gi, '\\n\\n')\n .replace(/<script\\b[^>]*>.*?<\\/script\\b[^>]*>/gi, ' ')\n .replace(/^.*<body\\b[^>]*>/i, '')\n .replace(/^.*<\\/head\\b[^>]*>/i, '')\n .replace(/^.*<\\!doctype\\b[^>]*>/i, '')\n .replace(/<\\/body\\b[^>]*>.*$/i, '')\n .replace(/<\\/html\\b[^>]*>.*$/i, '')\n\n .replace(/<a\\b[^>]*href\\s*=\\s*[\"']?([^\\s\"']+)[^>]*>/gi, ' ($1) ')\n\n .replace(/<\\/?(span|em|i|strong|b|u|a)\\b[^>]*>/gi, '')\n\n .replace(/<li\\b[^>]*>[\\n\\u0001\\s]*/gi, '* ')\n\n .replace(/<hr\\b[^>]*>/g, '\\n-------------\\n')\n\n .replace(/<[^>]*>/g, ' ')\n\n // convert linebreak placeholders back to newlines\n .replace(/\\u0001/g, '\\n')\n\n .replace(/[ \\t]+/g, ' ')\n\n .replace(/^\\s+$/gm, '')\n\n .replace(/\\n\\n+/g, '\\n\\n')\n .replace(/^\\n+/, '\\n')\n .replace(/\\n+$/, '\\n');\n\n str = decodeHTMLEntities(str);\n\n return str;\n}\n\nfunction formatTextAddress(address) {\n return []\n .concat(address.name || [])\n .concat(address.name ? `<${address.address}>` : address.address)\n .join(' ');\n}\n\nfunction formatTextAddresses(addresses) {\n let parts = [];\n\n let processAddress = (address, partCounter) => {\n if (partCounter) {\n parts.push(', ');\n }\n\n if (address.group) {\n let groupStart = `${address.name}:`;\n let groupEnd = `;`;\n\n parts.push(groupStart);\n address.group.forEach(processAddress);\n parts.push(groupEnd);\n } else {\n parts.push(formatTextAddress(address));\n }\n };\n\n addresses.forEach(processAddress);\n\n return parts.join('');\n}\n\nfunction formatHtmlAddress(address) {\n return `<a href=\"mailto:${escapeHtml(address.address)}\" class=\"postal-email-address\">${escapeHtml(address.name || `<${address.address}>`)}</a>`;\n}\n\nfunction formatHtmlAddresses(addresses) {\n let parts = [];\n\n let processAddress = (address, partCounter) => {\n if (partCounter) {\n parts.push('<span class=\"postal-email-address-separator\">, </span>');\n }\n\n if (address.group) {\n let groupStart = `<span class=\"postal-email-address-group\">${escapeHtml(address.name)}:</span>`;\n let groupEnd = `<span class=\"postal-email-address-group\">;</span>`;\n\n parts.push(groupStart);\n address.group.forEach(processAddress);\n parts.push(groupEnd);\n } else {\n parts.push(formatHtmlAddress(address));\n }\n };\n\n addresses.forEach(processAddress);\n\n return parts.join(' ');\n}\n\nfunction foldLines(str, lineLength, afterSpace) {\n str = (str || '').toString();\n lineLength = lineLength || 76;\n\n let pos = 0,\n len = str.length,\n result = '',\n line,\n match;\n\n while (pos < len) {\n line = str.substr(pos, lineLength);\n if (line.length < lineLength) {\n result += line;\n break;\n }\n if ((match = line.match(/^[^\\n\\r]*(\\r?\\n|\\r)/))) {\n line = match[0];\n result += line;\n pos += line.length;\n continue;\n } else if (\n (match = line.match(/(\\s+)[^\\s]*$/)) &&\n match[0].length - (afterSpace ? (match[1] || '').length : 0) < line.length\n ) {\n line = line.substr(0, line.length - (match[0].length - (afterSpace ? (match[1] || '').length : 0)));\n } else if ((match = str.substr(pos + line.length).match(/^[^\\s]+(\\s*)/))) {\n line = line + match[0].substr(0, match[0].length - (!afterSpace ? (match[1] || '').length : 0));\n }\n\n result += line;\n pos += line.length;\n if (pos < len) {\n result += '\\r\\n';\n }\n }\n\n return result;\n}\n\nexport function formatTextHeader(message) {\n let rows = [];\n\n if (message.from) {\n rows.push({ key: 'From', val: formatTextAddress(message.from) });\n }\n\n if (message.subject) {\n rows.push({ key: 'Subject', val: message.subject });\n }\n\n if (message.date) {\n let dateOptions = {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: false\n };\n\n let dateStr =\n typeof Intl === 'undefined'\n ? message.date\n : new Intl.DateTimeFormat('default', dateOptions).format(new Date(message.date));\n\n rows.push({ key: 'Date', val: dateStr });\n }\n\n if (message.to && message.to.length) {\n rows.push({ key: 'To', val: formatTextAddresses(message.to) });\n }\n\n if (message.cc && message.cc.length) {\n rows.push({ key: 'Cc', val: formatTextAddresses(message.cc) });\n }\n\n if (message.bcc && message.bcc.length) {\n rows.push({ key: 'Bcc', val: formatTextAddresses(message.bcc) });\n }\n\n // Align keys and values by adding space between these two\n // Also make sure that the separator line is as long as the longest line\n // Should end up with something like this:\n /*\n -----------------------------\n From: xx xx <xxx@xxx.com>\n Subject: Example Subject\n Date: 16/02/2021, 02:57:06\n To: not@found.com\n -----------------------------\n */\n\n let maxKeyLength = rows\n .map(r => r.key.length)\n .reduce((acc, cur) => {\n return cur > acc ? cur : acc;\n }, 0);\n\n rows = rows.flatMap(row => {\n let sepLen = maxKeyLength - row.key.length;\n let prefix = `${row.key}: ${' '.repeat(sepLen)}`;\n let emptyPrefix = `${' '.repeat(row.key.length + 1)} ${' '.repeat(sepLen)}`;\n\n let foldedLines = foldLines(row.val, 80, true)\n .split(/\\r?\\n/)\n .map(line => line.trim());\n\n return foldedLines.map((line, i) => `${i ? emptyPrefix : prefix}${line}`);\n });\n\n let maxLineLength = rows\n .map(r => r.length)\n .reduce((acc, cur) => {\n return cur > acc ? cur : acc;\n }, 0);\n\n let lineMarker = '-'.repeat(maxLineLength);\n\n let template = `\n${lineMarker}\n${rows.join('\\n')}\n${lineMarker}\n`;\n\n return template;\n}\n\nexport function formatHtmlHeader(message) {\n let rows = [];\n\n if (message.from) {\n rows.push(\n `<div class=\"postal-email-header-key\">From</div><div class=\"postal-email-header-value\">${formatHtmlAddress(message.from)}</div>`\n );\n }\n\n if (message.subject) {\n rows.push(\n `<div class=\"postal-email-header-key\">Subject</div><div class=\"postal-email-header-value postal-email-header-subject\">${escapeHtml(\n message.subject\n )}</div>`\n );\n }\n\n if (message.date) {\n let dateOptions = {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n hour12: false\n };\n\n let dateStr =\n typeof Intl === 'undefined'\n ? message.date\n : new Intl.DateTimeFormat('default', dateOptions).format(new Date(message.date));\n\n rows.push(\n `<div class=\"postal-email-header-key\">Date</div><div class=\"postal-email-header-value postal-email-header-date\" data-date=\"${escapeHtml(\n message.date\n )}\">${escapeHtml(dateStr)}</div>`\n );\n }\n\n if (message.to && message.to.length) {\n rows.push(\n `<div class=\"postal-email-header-key\">To</div><div class=\"postal-email-header-value\">${formatHtmlAddresses(message.to)}</div>`\n );\n }\n\n if (message.cc && message.cc.length) {\n rows.push(\n `<div class=\"postal-email-header-key\">Cc</div><div class=\"postal-email-header-value\">${formatHtmlAddresses(message.cc)}</div>`\n );\n }\n\n if (message.bcc && message.bcc.length) {\n rows.push(\n `<div class=\"postal-email-header-key\">Bcc</div><div class=\"postal-email-header-value\">${formatHtmlAddresses(message.bcc)}</div>`\n );\n }\n\n let template = `<div class=\"postal-email-header\">${rows.length ? '<div class=\"postal-email-header-row\">' : ''}${rows.join(\n '</div>\\n<div class=\"postal-email-header-row\">'\n )}${rows.length ? '</div>' : ''}</div>`;\n\n return template;\n}\n",
|
|
330
|
+
"import { decodeWords } from './decode-strings.js';\n\n/**\n * Converts tokens for a single address into an address object\n *\n * @param {Array} tokens Tokens object\n * @param {Number} depth Current recursion depth for nested group protection\n * @return {Object} Address object\n */\nfunction _handleAddress(tokens, depth) {\n let isGroup = false;\n let state = 'text';\n let address;\n let addresses = [];\n let data = {\n address: [],\n comment: [],\n group: [],\n text: [],\n textWasQuoted: [] // Track which text tokens came from inside quotes\n };\n let i;\n let len;\n let insideQuotes = false; // Track if we're currently inside a quoted string\n\n // Filter out <addresses>, (comments) and regular text\n for (i = 0, len = tokens.length; i < len; i++) {\n let token = tokens[i];\n let prevToken = i ? tokens[i - 1] : null;\n if (token.type === 'operator') {\n switch (token.value) {\n case '<':\n state = 'address';\n insideQuotes = false;\n break;\n case '(':\n state = 'comment';\n insideQuotes = false;\n break;\n case ':':\n state = 'group';\n isGroup = true;\n insideQuotes = false;\n break;\n case '\"':\n // Track quote state for text tokens\n insideQuotes = !insideQuotes;\n state = 'text';\n break;\n default:\n state = 'text';\n insideQuotes = false;\n break;\n }\n } else if (token.value) {\n if (state === 'address') {\n // handle use case where unquoted name includes a \"<\"\n // Apple Mail truncates everything between an unexpected < and an address\n // and so will we\n token.value = token.value.replace(/^[^<]*<\\s*/, '');\n }\n\n if (prevToken && prevToken.noBreak && data[state].length) {\n // join values\n data[state][data[state].length - 1] += token.value;\n if (state === 'text' && insideQuotes) {\n data.textWasQuoted[data.textWasQuoted.length - 1] = true;\n }\n } else {\n data[state].push(token.value);\n if (state === 'text') {\n data.textWasQuoted.push(insideQuotes);\n }\n }\n }\n }\n\n // If there is no text but a comment, replace the two\n if (!data.text.length && data.comment.length) {\n data.text = data.comment;\n data.comment = [];\n }\n\n if (isGroup) {\n // http://tools.ietf.org/html/rfc2822#appendix-A.1.3\n data.text = data.text.join(' ');\n\n // Parse group members, but flatten any nested groups (RFC 5322 doesn't allow nesting)\n let groupMembers = [];\n if (data.group.length) {\n let parsedGroup = addressParser(data.group.join(','), { _depth: depth + 1 });\n // Flatten: if any member is itself a group, extract its members into the sequence\n parsedGroup.forEach(member => {\n if (member.group) {\n // Nested group detected - flatten it by adding its members directly\n groupMembers = groupMembers.concat(member.group);\n } else {\n groupMembers.push(member);\n }\n });\n }\n\n addresses.push({\n name: decodeWords(data.text || (address && address.name)),\n group: groupMembers\n });\n } else {\n // If no address was found, try to detect one from regular text\n if (!data.address.length && data.text.length) {\n for (i = data.text.length - 1; i >= 0; i--) {\n // Security fix: Do not extract email addresses from quoted strings\n // RFC 5321 allows @ inside quoted local-parts like \"user@domain\"@example.com\n // Extracting emails from quoted text leads to misrouting vulnerabilities\n if (!data.textWasQuoted[i] && data.text[i].match(/^[^@\\s]+@[^@\\s]+$/)) {\n data.address = data.text.splice(i, 1);\n data.textWasQuoted.splice(i, 1);\n break;\n }\n }\n\n let _regexHandler = function (address) {\n if (!data.address.length) {\n data.address = [address.trim()];\n return ' ';\n } else {\n return address;\n }\n };\n\n // still no address\n if (!data.address.length) {\n for (i = data.text.length - 1; i >= 0; i--) {\n // Security fix: Do not extract email addresses from quoted strings\n if (!data.textWasQuoted[i]) {\n // fixed the regex to parse email address correctly when email address has more than one @\n data.text[i] = data.text[i].replace(/\\s*\\b[^@\\s]+@[^\\s]+\\b\\s*/, _regexHandler).trim();\n if (data.address.length) {\n break;\n }\n }\n }\n }\n }\n\n // If there's still no text but a comment exists, replace the two\n if (!data.text.length && data.comment.length) {\n data.text = data.comment;\n data.comment = [];\n }\n\n // Keep only the first address occurrence, push others to regular text\n if (data.address.length > 1) {\n data.text = data.text.concat(data.address.splice(1));\n }\n\n // Join values with spaces\n data.text = data.text.join(' ');\n data.address = data.address.join(' ');\n\n if (!data.address && /^=\\?[^=]+?=$/.test(data.text.trim())) {\n // try to extract words from text content\n const decodedText = decodeWords(data.text);\n // Security: only re-parse if decoded text contains angle-bracket addresses.\n // Without this, a bare encoded email (e.g. =?utf-8?B?dGVzdEBldmlsLmNv?=)\n // would be fabricated into an address from attacker-controlled input.\n if (/<[^<>]+@[^<>]+>/.test(decodedText)) {\n const parsedSubAddresses = addressParser(decodedText);\n if (parsedSubAddresses && parsedSubAddresses.length) {\n return parsedSubAddresses;\n }\n }\n // No usable address found - treat decoded text as display name only\n return [{ address: '', name: decodedText }];\n }\n\n address = {\n address: data.address || data.text || '',\n name: decodeWords(data.text || data.address || '')\n };\n\n if (address.address === address.name) {\n if ((address.address || '').match(/@/)) {\n address.name = '';\n } else {\n address.address = '';\n }\n }\n\n addresses.push(address);\n }\n\n return addresses;\n}\n\n/**\n * Creates a Tokenizer object for tokenizing address field strings\n *\n * @constructor\n * @param {String} str Address field string\n */\nclass Tokenizer {\n constructor(str) {\n this.str = (str || '').toString();\n this.operatorCurrent = '';\n this.operatorExpecting = '';\n this.node = null;\n this.escaped = false;\n\n this.list = [];\n /**\n * Operator tokens and which tokens are expected to end the sequence\n */\n this.operators = {\n '\"': '\"',\n '(': ')',\n '<': '>',\n ',': '',\n ':': ';',\n // Semicolons are not a legal delimiter per the RFC2822 grammar other\n // than for terminating a group, but they are also not valid for any\n // other use in this context. Given that some mail clients have\n // historically allowed the semicolon as a delimiter equivalent to the\n // comma in their UI, it makes sense to treat them the same as a comma\n // when used outside of a group.\n ';': ''\n };\n }\n\n /**\n * Tokenizes the original input string\n *\n * @return {Array} An array of operator|text tokens\n */\n tokenize() {\n let list = [];\n\n for (let i = 0, len = this.str.length; i < len; i++) {\n let chr = this.str.charAt(i);\n let nextChr = i < len - 1 ? this.str.charAt(i + 1) : null;\n this.checkChar(chr, nextChr);\n }\n\n this.list.forEach(node => {\n node.value = (node.value || '').toString().trim();\n if (node.value) {\n list.push(node);\n }\n });\n\n return list;\n }\n\n /**\n * Checks if a character is an operator or text and acts accordingly\n *\n * @param {String} chr Character from the address field\n */\n checkChar(chr, nextChr) {\n if (this.escaped) {\n // ignore next condition blocks\n } else if (chr === this.operatorExpecting) {\n this.node = {\n type: 'operator',\n value: chr\n };\n\n if (nextChr && ![' ', '\\t', '\\r', '\\n', ',', ';'].includes(nextChr)) {\n this.node.noBreak = true;\n }\n\n this.list.push(this.node);\n this.node = null;\n this.operatorExpecting = '';\n this.escaped = false;\n\n return;\n } else if (!this.operatorExpecting && chr in this.operators) {\n this.node = {\n type: 'operator',\n value: chr\n };\n this.list.push(this.node);\n this.node = null;\n this.operatorExpecting = this.operators[chr];\n this.escaped = false;\n return;\n } else if (this.operatorExpecting === '\"' && chr === '\\\\') {\n this.escaped = true;\n return;\n }\n\n if (!this.node) {\n this.node = {\n type: 'text',\n value: ''\n };\n this.list.push(this.node);\n }\n\n if (chr === '\\n') {\n // Convert newlines to spaces. Carriage return is ignored as \\r and \\n usually\n // go together anyway and there already is a WS for \\n. Lone \\r means something is fishy.\n chr = ' ';\n }\n\n if (chr.charCodeAt(0) >= 0x21 || [' ', '\\t'].includes(chr)) {\n // skip command bytes\n this.node.value += chr;\n }\n\n this.escaped = false;\n }\n}\n\n/**\n * Maximum recursion depth for parsing nested groups.\n * RFC 5322 doesn't allow nested groups, so this is a safeguard against\n * malicious input that could cause stack overflow.\n */\nconst MAX_NESTED_GROUP_DEPTH = 50;\n\n/**\n * Parses structured e-mail addresses from an address field\n *\n * Example:\n *\n * 'Name <address@domain>'\n *\n * will be converted to\n *\n * [{name: 'Name', address: 'address@domain'}]\n *\n * @param {String} str Address field\n * @param {Object} options Optional options object\n * @param {Number} options._depth Internal recursion depth counter (do not set manually)\n * @return {Array} An array of address objects\n */\nfunction addressParser(str, options) {\n options = options || {};\n let depth = options._depth || 0;\n\n // Prevent stack overflow from deeply nested groups (DoS protection)\n if (depth > MAX_NESTED_GROUP_DEPTH) {\n return [];\n }\n\n let tokenizer = new Tokenizer(str);\n let tokens = tokenizer.tokenize();\n\n let addresses = [];\n let address = [];\n let parsedAddresses = [];\n\n tokens.forEach(token => {\n if (token.type === 'operator' && (token.value === ',' || token.value === ';')) {\n if (address.length) {\n addresses.push(address);\n }\n address = [];\n } else {\n address.push(token);\n }\n });\n\n if (address.length) {\n addresses.push(address);\n }\n\n addresses.forEach(address => {\n address = _handleAddress(address, depth);\n if (address.length) {\n parsedAddresses = parsedAddresses.concat(address);\n }\n });\n\n if (options.flatten) {\n let addresses = [];\n let walkAddressList = list => {\n list.forEach(address => {\n if (address.group) {\n return walkAddressList(address.group);\n } else {\n addresses.push(address);\n }\n });\n };\n walkAddressList(parsedAddresses);\n return addresses;\n }\n\n return parsedAddresses;\n}\n\n// expose to the world\nexport default addressParser;\n",
|
|
331
|
+
"// Code from: https://gist.githubusercontent.com/jonleighton/958841/raw/fb05a8632efb75d85d43deb593df04367ce48371/base64ArrayBuffer.js\n\n// Converts an ArrayBuffer directly to base64, without any intermediate 'convert to string then\n// use window.btoa' step. According to my tests, this appears to be a faster approach:\n// http://jsperf.com/encoding-xhr-image-data/5\n\n/*\nMIT LICENSE\n\nCopyright 2011 Jon Leighton\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nexport function base64ArrayBuffer(arrayBuffer) {\n var base64 = '';\n var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n var bytes = new Uint8Array(arrayBuffer);\n var byteLength = bytes.byteLength;\n var byteRemainder = byteLength % 3;\n var mainLength = byteLength - byteRemainder;\n\n var a, b, c, d;\n var chunk;\n\n // Main loop deals with bytes in chunks of 3\n for (var i = 0; i < mainLength; i = i + 3) {\n // Combine the three bytes into a single integer\n chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n\n // Use bitmasks to extract 6-bit segments from the triplet\n a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18\n b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12\n c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6\n d = chunk & 63; // 63 = 2^6 - 1\n\n // Convert the raw binary segments to the appropriate ASCII encoding\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];\n }\n\n // Deal with the remaining bytes and padding\n if (byteRemainder == 1) {\n chunk = bytes[mainLength];\n\n a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2\n\n // Set the 4 least significant bits to zero\n b = (chunk & 3) << 4; // 3 = 2^2 - 1\n\n base64 += encodings[a] + encodings[b] + '==';\n } else if (byteRemainder == 2) {\n chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1];\n\n a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10\n b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4\n\n // Set the 2 least significant bits to zero\n c = (chunk & 15) << 2; // 15 = 2^4 - 1\n\n base64 += encodings[a] + encodings[b] + encodings[c] + '=';\n }\n\n return base64;\n}\n",
|
|
332
|
+
"import MimeNode from './mime-node.js';\nimport { textToHtml, htmlToText, formatTextHeader, formatHtmlHeader } from './text-format.js';\nimport addressParser from './address-parser.js';\nimport { decodeWords, textEncoder, blobToArrayBuffer } from './decode-strings.js';\nimport { base64ArrayBuffer } from './base64-encoder.js';\n\nexport { addressParser, decodeWords };\n\nconst MAX_NESTING_DEPTH = 256;\nconst MAX_HEADERS_SIZE = 2 * 1024 * 1024;\n\nfunction toCamelCase(key) {\n return key.replace(/-(.)/g, (o, c) => c.toUpperCase());\n}\n\nexport default class PostalMime {\n static parse(buf, options) {\n const parser = new PostalMime(options);\n return parser.parse(buf);\n }\n\n constructor(options) {\n this.options = options || {};\n this.mimeOptions = {\n maxNestingDepth: this.options.maxNestingDepth || MAX_NESTING_DEPTH,\n maxHeadersSize: this.options.maxHeadersSize || MAX_HEADERS_SIZE\n };\n\n this.root = this.currentNode = new MimeNode({\n postalMime: this,\n ...this.mimeOptions\n });\n this.boundaries = [];\n\n this.textContent = {};\n this.attachments = [];\n\n this.attachmentEncoding =\n (this.options.attachmentEncoding || '')\n .toString()\n .replace(/[-_\\s]/g, '')\n .trim()\n .toLowerCase() || 'arraybuffer';\n\n this.started = false;\n }\n\n async finalize() {\n // close all pending nodes\n await this.root.finalize();\n }\n\n async processLine(line, isFinal) {\n let boundaries = this.boundaries;\n\n // check if this is a mime boundary\n if (boundaries.length && line.length > 2 && line[0] === 0x2d && line[1] === 0x2d) {\n // could be a boundary marker\n for (let i = boundaries.length - 1; i >= 0; i--) {\n let boundary = boundaries[i];\n\n // Line must be at least long enough for \"--\" + boundary\n if (line.length < boundary.value.length + 2) {\n continue;\n }\n\n // Check if boundary value matches\n let boundaryMatches = true;\n for (let j = 0; j < boundary.value.length; j++) {\n if (line[j + 2] !== boundary.value[j]) {\n boundaryMatches = false;\n break;\n }\n }\n if (!boundaryMatches) {\n continue;\n }\n\n // Check for terminator (-- after boundary) and determine where boundary ends\n let boundaryEnd = boundary.value.length + 2;\n let isTerminator = false;\n\n if (\n line.length >= boundary.value.length + 4 &&\n line[boundary.value.length + 2] === 0x2d &&\n line[boundary.value.length + 3] === 0x2d\n ) {\n isTerminator = true;\n boundaryEnd = boundary.value.length + 4;\n }\n\n // RFC 2046: boundary line may have trailing whitespace (space/tab) before CRLF\n let hasValidTrailing = true;\n for (let j = boundaryEnd; j < line.length; j++) {\n if (line[j] !== 0x20 && line[j] !== 0x09) {\n hasValidTrailing = false;\n break;\n }\n }\n if (!hasValidTrailing) {\n continue;\n }\n\n if (isTerminator) {\n await boundary.node.finalize();\n\n this.currentNode = boundary.node.parentNode || this.root;\n } else {\n // finalize any open child nodes (should be just one though)\n await boundary.node.finalizeChildNodes();\n\n this.currentNode = new MimeNode({\n postalMime: this,\n parentNode: boundary.node,\n parentMultipartType: boundary.node.contentType.multipart,\n ...this.mimeOptions\n });\n }\n\n if (isFinal) {\n return this.finalize();\n }\n\n return;\n }\n }\n\n this.currentNode.feed(line);\n\n if (isFinal) {\n return this.finalize();\n }\n }\n\n readLine() {\n let startPos = this.readPos;\n let endPos = this.readPos;\n\n while (this.readPos < this.av.length) {\n const c = this.av[this.readPos++];\n\n if (c !== 0x0d && c !== 0x0a) {\n endPos = this.readPos;\n }\n\n if (c === 0x0a) {\n return {\n bytes: new Uint8Array(this.buf, startPos, endPos - startPos),\n done: this.readPos >= this.av.length\n };\n }\n }\n\n return {\n bytes: new Uint8Array(this.buf, startPos, endPos - startPos),\n done: this.readPos >= this.av.length\n };\n }\n\n async processNodeTree() {\n // get text nodes\n\n let textContent = {};\n\n let textTypes = new Set();\n let textMap = (this.textMap = new Map());\n\n let forceRfc822Attachments = this.forceRfc822Attachments();\n\n let walk = async (node, alternative, related) => {\n alternative = alternative || false;\n related = related || false;\n\n if (!node.contentType.multipart) {\n // is it inline message/rfc822\n if (this.isInlineMessageRfc822(node) && !forceRfc822Attachments) {\n const subParser = new PostalMime();\n node.subMessage = await subParser.parse(node.content);\n\n if (!textMap.has(node)) {\n textMap.set(node, {});\n }\n\n let textEntry = textMap.get(node);\n\n // default to text if there is no content\n if (node.subMessage.text || !node.subMessage.html) {\n textEntry.plain = textEntry.plain || [];\n textEntry.plain.push({ type: 'subMessage', value: node.subMessage });\n textTypes.add('plain');\n }\n\n if (node.subMessage.html) {\n textEntry.html = textEntry.html || [];\n textEntry.html.push({ type: 'subMessage', value: node.subMessage });\n textTypes.add('html');\n }\n\n if (subParser.textMap) {\n subParser.textMap.forEach((subTextEntry, subTextNode) => {\n textMap.set(subTextNode, subTextEntry);\n });\n }\n\n for (let attachment of node.subMessage.attachments || []) {\n this.attachments.push(attachment);\n }\n }\n\n // is it text?\n else if (this.isInlineTextNode(node)) {\n let textType = node.contentType.parsed.value.substr(node.contentType.parsed.value.indexOf('/') + 1);\n\n let selectorNode = alternative || node;\n if (!textMap.has(selectorNode)) {\n textMap.set(selectorNode, {});\n }\n\n let textEntry = textMap.get(selectorNode);\n textEntry[textType] = textEntry[textType] || [];\n textEntry[textType].push({ type: 'text', value: node.getTextContent() });\n textTypes.add(textType);\n }\n\n // is it an attachment\n else if (node.content) {\n const filename =\n node.contentDisposition?.parsed?.params?.filename ||\n node.contentType.parsed.params.name ||\n null;\n const attachment = {\n filename: filename ? decodeWords(filename) : null,\n mimeType: node.contentType.parsed.value,\n disposition: node.contentDisposition?.parsed?.value || null\n };\n\n if (related && node.contentId) {\n attachment.related = true;\n }\n\n if (node.contentDescription) {\n attachment.description = node.contentDescription;\n }\n\n if (node.contentId) {\n attachment.contentId = node.contentId;\n }\n\n switch (node.contentType.parsed.value) {\n // Special handling for calendar events\n case 'text/calendar':\n case 'application/ics': {\n if (node.contentType.parsed.params.method) {\n attachment.method = node.contentType.parsed.params.method\n .toString()\n .toUpperCase()\n .trim();\n }\n\n // Enforce into unicode\n const decodedText = node.getTextContent().replace(/\\r?\\n/g, '\\n').replace(/\\n*$/, '\\n');\n attachment.content = textEncoder.encode(decodedText);\n break;\n }\n\n // Regular attachments\n default:\n attachment.content = node.content;\n }\n\n this.attachments.push(attachment);\n }\n } else if (node.contentType.multipart === 'alternative') {\n alternative = node;\n } else if (node.contentType.multipart === 'related') {\n related = node;\n }\n\n for (let childNode of node.childNodes) {\n await walk(childNode, alternative, related);\n }\n };\n\n await walk(this.root, false, false);\n\n textMap.forEach(mapEntry => {\n textTypes.forEach(textType => {\n if (!textContent[textType]) {\n textContent[textType] = [];\n }\n\n if (mapEntry[textType]) {\n mapEntry[textType].forEach(textEntry => {\n switch (textEntry.type) {\n case 'text':\n textContent[textType].push(textEntry.value);\n break;\n\n case 'subMessage':\n {\n switch (textType) {\n case 'html':\n textContent[textType].push(formatHtmlHeader(textEntry.value));\n break;\n case 'plain':\n textContent[textType].push(formatTextHeader(textEntry.value));\n break;\n }\n }\n break;\n }\n });\n } else {\n let alternativeType;\n switch (textType) {\n case 'html':\n alternativeType = 'plain';\n break;\n case 'plain':\n alternativeType = 'html';\n break;\n }\n\n (mapEntry[alternativeType] || []).forEach(textEntry => {\n switch (textEntry.type) {\n case 'text':\n switch (textType) {\n case 'html':\n textContent[textType].push(textToHtml(textEntry.value));\n break;\n case 'plain':\n textContent[textType].push(htmlToText(textEntry.value));\n break;\n }\n break;\n\n case 'subMessage':\n {\n switch (textType) {\n case 'html':\n textContent[textType].push(formatHtmlHeader(textEntry.value));\n break;\n case 'plain':\n textContent[textType].push(formatTextHeader(textEntry.value));\n break;\n }\n }\n break;\n }\n });\n }\n });\n });\n\n Object.keys(textContent).forEach(textType => {\n textContent[textType] = textContent[textType].join('\\n');\n });\n\n this.textContent = textContent;\n }\n\n isInlineTextNode(node) {\n if (node.contentDisposition?.parsed?.value === 'attachment') {\n // no matter the type, this is an attachment\n return false;\n }\n\n switch (node.contentType.parsed?.value) {\n case 'text/html':\n case 'text/plain':\n return true;\n\n case 'text/calendar':\n case 'text/csv':\n default:\n return false;\n }\n }\n\n isInlineMessageRfc822(node) {\n if (node.contentType.parsed?.value !== 'message/rfc822') {\n return false;\n }\n let disposition =\n node.contentDisposition?.parsed?.value || (this.options.rfc822Attachments ? 'attachment' : 'inline');\n return disposition === 'inline';\n }\n\n // Check if this is a specially crafted report email where message/rfc822 content should not be inlined\n forceRfc822Attachments() {\n if (this.options.forceRfc822Attachments) {\n return true;\n }\n\n let forceRfc822Attachments = false;\n let walk = node => {\n if (!node.contentType.multipart) {\n if (\n node.contentType.parsed &&\n ['message/delivery-status', 'message/feedback-report'].includes(node.contentType.parsed.value)\n ) {\n forceRfc822Attachments = true;\n }\n }\n\n for (let childNode of node.childNodes) {\n walk(childNode);\n }\n };\n walk(this.root);\n return forceRfc822Attachments;\n }\n\n async resolveStream(stream) {\n let chunkLen = 0;\n let chunks = [];\n const reader = stream.getReader();\n\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n chunks.push(value);\n chunkLen += value.length;\n }\n\n const result = new Uint8Array(chunkLen);\n let chunkPointer = 0;\n for (let chunk of chunks) {\n result.set(chunk, chunkPointer);\n chunkPointer += chunk.length;\n }\n\n return result;\n }\n\n async parse(buf) {\n if (this.started) {\n throw new Error('Can not reuse parser, create a new PostalMime object');\n }\n this.started = true;\n\n // Check if the input is a readable stream and resolve it into an ArrayBuffer\n if (buf && typeof buf.getReader === 'function') {\n buf = await this.resolveStream(buf);\n }\n\n // Should it throw for an empty value instead of defaulting to an empty ArrayBuffer?\n buf = buf || new ArrayBuffer(0);\n\n // Cast string input to Uint8Array\n if (typeof buf === 'string') {\n buf = textEncoder.encode(buf);\n }\n\n // Cast Blob to ArrayBuffer\n if (buf instanceof Blob || Object.prototype.toString.call(buf) === '[object Blob]') {\n buf = await blobToArrayBuffer(buf);\n }\n\n // Cast Node.js Buffer object or Uint8Array into ArrayBuffer\n if (buf.buffer instanceof ArrayBuffer) {\n buf = new Uint8Array(buf).buffer;\n }\n\n this.buf = buf;\n\n this.av = new Uint8Array(buf);\n this.readPos = 0;\n\n while (this.readPos < this.av.length) {\n const line = this.readLine();\n\n await this.processLine(line.bytes, line.done);\n }\n\n await this.processNodeTree();\n\n const message = {\n headers: this.root.headers\n .map(entry => ({ key: entry.key, originalKey: entry.originalKey, value: entry.value }))\n .reverse()\n };\n\n for (const key of ['from', 'sender']) {\n const addressHeader = this.root.headers.find(line => line.key === key);\n if (addressHeader && addressHeader.value) {\n const addresses = addressParser(addressHeader.value);\n if (addresses && addresses.length) {\n message[key] = addresses[0];\n }\n }\n }\n\n for (const key of ['delivered-to', 'return-path']) {\n const addressHeader = this.root.headers.find(line => line.key === key);\n if (addressHeader && addressHeader.value) {\n const addresses = addressParser(addressHeader.value);\n if (addresses && addresses.length && addresses[0].address) {\n const camelKey = toCamelCase(key);\n message[camelKey] = addresses[0].address;\n }\n }\n }\n\n for (const key of ['to', 'cc', 'bcc', 'reply-to']) {\n const addressHeaders = this.root.headers.filter(line => line.key === key);\n let addresses = [];\n\n addressHeaders\n .filter(entry => entry && entry.value)\n .map(entry => addressParser(entry.value))\n .forEach(parsed => (addresses = addresses.concat(parsed || [])));\n\n if (addresses && addresses.length) {\n const camelKey = toCamelCase(key);\n message[camelKey] = addresses;\n }\n }\n\n for (const key of ['subject', 'message-id', 'in-reply-to', 'references']) {\n const header = this.root.headers.find(line => line.key === key);\n if (header && header.value) {\n const camelKey = toCamelCase(key);\n message[camelKey] = decodeWords(header.value);\n }\n }\n\n let dateHeader = this.root.headers.find(line => line.key === 'date');\n if (dateHeader) {\n let date = new Date(dateHeader.value);\n if (date.toString() === 'Invalid Date') {\n date = dateHeader.value;\n } else {\n // enforce ISO format if seems to be a valid date\n date = date.toISOString();\n }\n message.date = date;\n }\n\n if (this.textContent?.html) {\n message.html = this.textContent.html;\n }\n\n if (this.textContent?.plain) {\n message.text = this.textContent.plain;\n }\n\n message.attachments = this.attachments;\n\n // Expose raw header lines (reversed to match headers array order)\n message.headerLines = (this.root.rawHeaderLines || []).slice().reverse();\n\n switch (this.attachmentEncoding) {\n case 'arraybuffer':\n break;\n\n case 'base64':\n for (let attachment of message.attachments || []) {\n if (attachment?.content) {\n attachment.content = base64ArrayBuffer(attachment.content);\n attachment.encoding = 'base64';\n }\n }\n break;\n\n case 'utf8':\n let attachmentDecoder = new TextDecoder('utf8');\n for (let attachment of message.attachments || []) {\n if (attachment?.content) {\n attachment.content = attachmentDecoder.decode(attachment.content);\n attachment.encoding = 'utf8';\n }\n }\n break;\n\n default:\n throw new Error('Unknown attachment encoding');\n }\n\n return message;\n }\n}\n",
|
|
333
|
+
"import PostalMime from \"postal-mime\";\nimport { Webhook } from \"svix\";\n//#region package.json\nvar version = \"6.12.3\";\n//#endregion\n//#region src/common/utils/build-pagination-query.ts\n/**\n* Builds a query string from pagination options\n* @param options - Pagination options containing limit and either after or before (but not both)\n* @returns Query string (without leading '?') or empty string if no options\n*/\nfunction buildPaginationQuery(options) {\n\tconst searchParams = new URLSearchParams();\n\tif (options.limit !== void 0) searchParams.set(\"limit\", options.limit.toString());\n\tif (\"after\" in options && options.after !== void 0) searchParams.set(\"after\", options.after);\n\tif (\"before\" in options && options.before !== void 0) searchParams.set(\"before\", options.before);\n\treturn searchParams.toString();\n}\n//#endregion\n//#region src/api-keys/api-keys.ts\nvar ApiKeys = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync create(payload, options = {}) {\n\t\treturn await this.resend.post(\"/api-keys\", payload, options);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/api-keys?${queryString}` : \"/api-keys\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync remove(id) {\n\t\treturn await this.resend.delete(`/api-keys/${id}`);\n\t}\n};\n//#endregion\n//#region src/automation-runs/automation-runs.ts\nvar AutomationRuns = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync get(options) {\n\t\treturn await this.resend.get(`/automations/${options.automationId}/runs/${options.runId}`);\n\t}\n\tasync list(options) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst searchParams = new URLSearchParams(queryString);\n\t\tif (options.status) {\n\t\t\tconst statusValue = Array.isArray(options.status) ? options.status.join(\",\") : options.status;\n\t\t\tsearchParams.set(\"status\", statusValue);\n\t\t}\n\t\tconst qs = searchParams.toString();\n\t\tconst url = qs ? `/automations/${options.automationId}/runs?${qs}` : `/automations/${options.automationId}/runs`;\n\t\treturn await this.resend.get(url);\n\t}\n};\n//#endregion\n//#region src/common/utils/parse-automation-to-api-options.ts\nfunction parseStepConfig(step) {\n\tswitch (step.type) {\n\t\tcase \"trigger\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: { event_name: step.config.eventName }\n\t\t};\n\t\tcase \"delay\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: step.config\n\t\t};\n\t\tcase \"send_email\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: {\n\t\t\t\ttemplate: step.config.template,\n\t\t\t\tsubject: step.config.subject,\n\t\t\t\tfrom: step.config.from,\n\t\t\t\treply_to: step.config.replyTo\n\t\t\t}\n\t\t};\n\t\tcase \"wait_for_event\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: {\n\t\t\t\tevent_name: step.config.eventName,\n\t\t\t\ttimeout: step.config.timeout,\n\t\t\t\tfilter_rule: step.config.filterRule\n\t\t\t}\n\t\t};\n\t\tcase \"condition\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: step.config\n\t\t};\n\t\tcase \"contact_update\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: {\n\t\t\t\tfirst_name: step.config.firstName,\n\t\t\t\tlast_name: step.config.lastName,\n\t\t\t\tunsubscribed: step.config.unsubscribed,\n\t\t\t\tproperties: step.config.properties\n\t\t\t}\n\t\t};\n\t\tcase \"contact_delete\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: step.config\n\t\t};\n\t\tcase \"add_to_segment\": return {\n\t\t\tkey: step.key,\n\t\t\ttype: step.type,\n\t\t\tconfig: { segment_id: step.config.segmentId }\n\t\t};\n\t}\n}\nfunction parseConnection(connection) {\n\treturn {\n\t\tfrom: connection.from,\n\t\tto: connection.to,\n\t\ttype: connection.type\n\t};\n}\nfunction parseAutomationToApiOptions(automation) {\n\treturn {\n\t\tname: automation.name,\n\t\tstatus: automation.status,\n\t\tsteps: automation.steps.map(parseStepConfig),\n\t\tconnections: automation.connections.map(parseConnection)\n\t};\n}\nfunction parseEventToApiOptions(event) {\n\treturn {\n\t\tevent: event.event,\n\t\tcontact_id: event.contactId,\n\t\temail: event.email,\n\t\tpayload: event.payload\n\t};\n}\n//#endregion\n//#region src/automations/automations.ts\nvar Automations = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t\tthis.runs = new AutomationRuns(this.resend);\n\t}\n\tasync create(payload) {\n\t\treturn await this.resend.post(\"/automations\", parseAutomationToApiOptions(payload));\n\t}\n\tasync list(options = {}) {\n\t\tconst params = [buildPaginationQuery(options)];\n\t\tif (options.status) params.push(`status=${encodeURIComponent(options.status)}`);\n\t\tconst qs = params.filter(Boolean).join(\"&\");\n\t\tconst url = qs ? `/automations?${qs}` : \"/automations\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/automations/${id}`);\n\t}\n\tasync remove(id) {\n\t\treturn await this.resend.delete(`/automations/${id}`);\n\t}\n\tasync update(id, payload) {\n\t\tconst apiPayload = {};\n\t\tif (payload.name !== void 0) apiPayload.name = payload.name;\n\t\tif (payload.status !== void 0) apiPayload.status = payload.status;\n\t\tif (payload.steps !== void 0) apiPayload.steps = payload.steps.map(parseStepConfig);\n\t\tif (payload.connections !== void 0) apiPayload.connections = payload.connections.map(parseConnection);\n\t\treturn await this.resend.patch(`/automations/${id}`, apiPayload);\n\t}\n\tasync stop(id) {\n\t\treturn await this.resend.post(`/automations/${id}/stop`);\n\t}\n};\n//#endregion\n//#region src/common/utils/parse-email-to-api-options.ts\nfunction parseAttachments(attachments) {\n\treturn attachments?.map((attachment) => ({\n\t\tcontent: attachment.content,\n\t\tfilename: attachment.filename,\n\t\tpath: attachment.path,\n\t\tcontent_type: attachment.contentType,\n\t\tcontent_id: attachment.contentId\n\t}));\n}\nfunction parseEmailToApiOptions(email) {\n\treturn {\n\t\tattachments: parseAttachments(email.attachments),\n\t\tbcc: email.bcc,\n\t\tcc: email.cc,\n\t\tfrom: email.from,\n\t\theaders: email.headers,\n\t\thtml: email.html,\n\t\treply_to: email.replyTo,\n\t\tscheduled_at: email.scheduledAt,\n\t\tsubject: email.subject,\n\t\ttags: email.tags,\n\t\ttext: email.text,\n\t\tto: email.to,\n\t\ttemplate: email.template ? {\n\t\t\tid: email.template.id,\n\t\t\tvariables: email.template.variables\n\t\t} : void 0,\n\t\ttopic_id: email.topicId\n\t};\n}\n//#endregion\n//#region src/render.ts\nasync function render(node) {\n\tlet render;\n\ttry {\n\t\t({render} = await import(\"@react-email/render\"));\n\t} catch {\n\t\tthrow new Error(\"Failed to render React component. Make sure to install `@react-email/render` or `@react-email/components`.\");\n\t}\n\treturn render(node);\n}\n//#endregion\n//#region src/batch/batch.ts\nvar Batch = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync send(payload, options) {\n\t\treturn this.create(payload, options);\n\t}\n\tasync create(payload, options) {\n\t\tconst emails = [];\n\t\tfor (const email of payload) {\n\t\t\tif (email.react) {\n\t\t\t\temail.html = await render(email.react);\n\t\t\t\temail.react = void 0;\n\t\t\t}\n\t\t\temails.push(parseEmailToApiOptions(email));\n\t\t}\n\t\treturn await this.resend.post(\"/emails/batch\", emails, {\n\t\t\t...options,\n\t\t\theaders: {\n\t\t\t\t\"x-batch-validation\": options?.batchValidation ?? \"strict\",\n\t\t\t\t...options?.headers\n\t\t\t}\n\t\t});\n\t}\n};\n//#endregion\n//#region src/broadcasts/broadcasts.ts\nvar Broadcasts = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync create(payload, options = {}) {\n\t\tif (payload.react) payload.html = await render(payload.react);\n\t\treturn await this.resend.post(\"/broadcasts\", {\n\t\t\tname: payload.name,\n\t\t\tsegment_id: payload.segmentId,\n\t\t\taudience_id: payload.audienceId,\n\t\t\tpreview_text: payload.previewText,\n\t\t\tfrom: payload.from,\n\t\t\thtml: payload.html,\n\t\t\treply_to: payload.replyTo,\n\t\t\tsubject: payload.subject,\n\t\t\ttext: payload.text,\n\t\t\ttopic_id: payload.topicId,\n\t\t\tsend: payload.send,\n\t\t\tscheduled_at: payload.scheduledAt\n\t\t}, options);\n\t}\n\tasync send(id, payload) {\n\t\treturn await this.resend.post(`/broadcasts/${id}/send`, { scheduled_at: payload?.scheduledAt });\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/broadcasts?${queryString}` : \"/broadcasts\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/broadcasts/${id}`);\n\t}\n\tasync remove(id) {\n\t\treturn await this.resend.delete(`/broadcasts/${id}`);\n\t}\n\tasync update(id, payload) {\n\t\tif (payload.react) payload.html = await render(payload.react);\n\t\treturn await this.resend.patch(`/broadcasts/${id}`, {\n\t\t\tname: payload.name,\n\t\t\tsegment_id: payload.segmentId,\n\t\t\taudience_id: payload.audienceId,\n\t\t\tfrom: payload.from,\n\t\t\thtml: payload.html,\n\t\t\ttext: payload.text,\n\t\t\tsubject: payload.subject,\n\t\t\treply_to: payload.replyTo,\n\t\t\tpreview_text: payload.previewText,\n\t\t\ttopic_id: payload.topicId\n\t\t});\n\t}\n};\n//#endregion\n//#region src/common/utils/parse-contact-properties-to-api-options.ts\nfunction parseContactPropertyFromApi(contactProperty) {\n\treturn {\n\t\tid: contactProperty.id,\n\t\tkey: contactProperty.key,\n\t\tcreatedAt: contactProperty.created_at,\n\t\ttype: contactProperty.type,\n\t\tfallbackValue: contactProperty.fallback_value\n\t};\n}\nfunction parseContactPropertyToApiOptions(contactProperty) {\n\tif (\"key\" in contactProperty) return {\n\t\tkey: contactProperty.key,\n\t\ttype: contactProperty.type,\n\t\tfallback_value: contactProperty.fallbackValue\n\t};\n\treturn { fallback_value: contactProperty.fallbackValue };\n}\n//#endregion\n//#region src/contact-properties/contact-properties.ts\nvar ContactProperties = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync create(options) {\n\t\tconst apiOptions = parseContactPropertyToApiOptions(options);\n\t\treturn await this.resend.post(\"/contact-properties\", apiOptions);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/contact-properties?${queryString}` : \"/contact-properties\";\n\t\tconst response = await this.resend.get(url);\n\t\tif (response.data) return {\n\t\t\tdata: {\n\t\t\t\t...response.data,\n\t\t\t\tdata: response.data.data.map((apiContactProperty) => parseContactPropertyFromApi(apiContactProperty))\n\t\t\t},\n\t\t\theaders: response.headers,\n\t\t\terror: null\n\t\t};\n\t\treturn response;\n\t}\n\tasync get(id) {\n\t\tif (!id) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tconst response = await this.resend.get(`/contact-properties/${id}`);\n\t\tif (response.data) return {\n\t\t\tdata: {\n\t\t\t\tobject: \"contact_property\",\n\t\t\t\t...parseContactPropertyFromApi(response.data)\n\t\t\t},\n\t\t\theaders: response.headers,\n\t\t\terror: null\n\t\t};\n\t\treturn response;\n\t}\n\tasync update(payload) {\n\t\tif (!payload.id) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tconst apiOptions = parseContactPropertyToApiOptions(payload);\n\t\treturn await this.resend.patch(`/contact-properties/${payload.id}`, apiOptions);\n\t}\n\tasync remove(id) {\n\t\tif (!id) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\treturn await this.resend.delete(`/contact-properties/${id}`);\n\t}\n};\n//#endregion\n//#region src/contacts/segments/contact-segments.ts\nvar ContactSegments = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync list(options) {\n\t\tif (!options.contactId && !options.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tconst identifier = options.email ? options.email : options.contactId;\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/contacts/${identifier}/segments?${queryString}` : `/contacts/${identifier}/segments`;\n\t\treturn await this.resend.get(url);\n\t}\n\tasync add(options) {\n\t\tif (!options.contactId && !options.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tconst identifier = options.email ? options.email : options.contactId;\n\t\treturn this.resend.post(`/contacts/${identifier}/segments/${options.segmentId}`);\n\t}\n\tasync remove(options) {\n\t\tif (!options.contactId && !options.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tconst identifier = options.email ? options.email : options.contactId;\n\t\treturn this.resend.delete(`/contacts/${identifier}/segments/${options.segmentId}`);\n\t}\n};\n//#endregion\n//#region src/contacts/topics/contact-topics.ts\nvar ContactTopics = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync update(payload) {\n\t\tif (!payload.id && !payload.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tconst identifier = payload.email ? payload.email : payload.id;\n\t\treturn this.resend.patch(`/contacts/${identifier}/topics`, payload.topics);\n\t}\n\tasync list(options) {\n\t\tif (!options.id && !options.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tconst identifier = options.email ? options.email : options.id;\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/contacts/${identifier}/topics?${queryString}` : `/contacts/${identifier}/topics`;\n\t\treturn this.resend.get(url);\n\t}\n};\n//#endregion\n//#region src/contacts/contacts.ts\nvar Contacts = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t\tthis.topics = new ContactTopics(this.resend);\n\t\tthis.segments = new ContactSegments(this.resend);\n\t}\n\tasync create(payload, options = {}) {\n\t\tif (\"audienceId\" in payload) {\n\t\t\tif (\"segments\" in payload || \"topics\" in payload) return {\n\t\t\t\tdata: null,\n\t\t\t\theaders: null,\n\t\t\t\terror: {\n\t\t\t\t\tmessage: \"`audienceId` is deprecated, and cannot be used together with `segments` or `topics`. Use `segments` instead to add one or more segments to the new contact.\",\n\t\t\t\t\tstatusCode: null,\n\t\t\t\t\tname: \"invalid_parameter\"\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn await this.resend.post(`/audiences/${payload.audienceId}/contacts`, {\n\t\t\t\tunsubscribed: payload.unsubscribed,\n\t\t\t\temail: payload.email,\n\t\t\t\tfirst_name: payload.firstName,\n\t\t\t\tlast_name: payload.lastName,\n\t\t\t\tproperties: payload.properties\n\t\t\t}, options);\n\t\t}\n\t\treturn await this.resend.post(\"/contacts\", {\n\t\t\tunsubscribed: payload.unsubscribed,\n\t\t\temail: payload.email,\n\t\t\tfirst_name: payload.firstName,\n\t\t\tlast_name: payload.lastName,\n\t\t\tproperties: payload.properties,\n\t\t\tsegments: payload.segments,\n\t\t\ttopics: payload.topics\n\t\t}, options);\n\t}\n\tasync list(options = {}) {\n\t\tconst segmentId = options.segmentId ?? options.audienceId;\n\t\tif (!segmentId) {\n\t\t\tconst queryString = buildPaginationQuery(options);\n\t\t\tconst url = queryString ? `/contacts?${queryString}` : \"/contacts\";\n\t\t\treturn await this.resend.get(url);\n\t\t}\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/segments/${segmentId}/contacts?${queryString}` : `/segments/${segmentId}/contacts`;\n\t\treturn await this.resend.get(url);\n\t}\n\tasync get(options) {\n\t\tif (typeof options === \"string\") return this.resend.get(`/contacts/${options}`);\n\t\tif (!options.id && !options.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tif (!options.audienceId) return this.resend.get(`/contacts/${options?.email ? options?.email : options?.id}`);\n\t\treturn this.resend.get(`/audiences/${options.audienceId}/contacts/${options?.email ? options?.email : options?.id}`);\n\t}\n\tasync update(options) {\n\t\tif (!options.id && !options.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tif (!options.audienceId) return await this.resend.patch(`/contacts/${options?.email ? options?.email : options?.id}`, {\n\t\t\tunsubscribed: options.unsubscribed,\n\t\t\tfirst_name: options.firstName,\n\t\t\tlast_name: options.lastName,\n\t\t\tproperties: options.properties\n\t\t});\n\t\treturn await this.resend.patch(`/audiences/${options.audienceId}/contacts/${options?.email ? options?.email : options?.id}`, {\n\t\t\tunsubscribed: options.unsubscribed,\n\t\t\tfirst_name: options.firstName,\n\t\t\tlast_name: options.lastName,\n\t\t\tproperties: options.properties\n\t\t});\n\t}\n\tasync remove(payload) {\n\t\tif (typeof payload === \"string\") return this.resend.delete(`/contacts/${payload}`);\n\t\tif (!payload.id && !payload.email) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` or `email` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\tif (!payload.audienceId) return this.resend.delete(`/contacts/${payload?.email ? payload?.email : payload?.id}`);\n\t\treturn this.resend.delete(`/audiences/${payload.audienceId}/contacts/${payload?.email ? payload?.email : payload?.id}`);\n\t}\n};\n//#endregion\n//#region src/common/utils/parse-domain-to-api-options.ts\nfunction parseDomainToApiOptions(domain) {\n\treturn {\n\t\tname: domain.name,\n\t\tregion: domain.region,\n\t\tcustom_return_path: domain.customReturnPath,\n\t\tcapabilities: domain.capabilities,\n\t\topen_tracking: domain.openTracking,\n\t\tclick_tracking: domain.clickTracking,\n\t\ttls: domain.tls,\n\t\ttracking_subdomain: domain.trackingSubdomain\n\t};\n}\n//#endregion\n//#region src/domains/domains.ts\nvar Domains = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync create(payload, options = {}) {\n\t\treturn await this.resend.post(\"/domains\", parseDomainToApiOptions(payload), options);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/domains?${queryString}` : \"/domains\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/domains/${id}`);\n\t}\n\tasync update(payload) {\n\t\treturn await this.resend.patch(`/domains/${payload.id}`, {\n\t\t\tclick_tracking: payload.clickTracking,\n\t\t\topen_tracking: payload.openTracking,\n\t\t\ttls: payload.tls,\n\t\t\tcapabilities: payload.capabilities,\n\t\t\ttracking_subdomain: payload.trackingSubdomain\n\t\t});\n\t}\n\tasync remove(id) {\n\t\treturn await this.resend.delete(`/domains/${id}`);\n\t}\n\tasync verify(id) {\n\t\treturn await this.resend.post(`/domains/${id}/verify`);\n\t}\n};\n//#endregion\n//#region src/emails/attachments/attachments.ts\nvar Attachments$1 = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync get(options) {\n\t\tconst { emailId, id } = options;\n\t\treturn await this.resend.get(`/emails/${emailId}/attachments/${id}`);\n\t}\n\tasync list(options) {\n\t\tconst { emailId } = options;\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/emails/${emailId}/attachments?${queryString}` : `/emails/${emailId}/attachments`;\n\t\treturn await this.resend.get(url);\n\t}\n};\n//#endregion\n//#region src/emails/receiving/attachments/attachments.ts\nvar Attachments = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync get(options) {\n\t\tconst { emailId, id } = options;\n\t\treturn await this.resend.get(`/emails/receiving/${emailId}/attachments/${id}`);\n\t}\n\tasync list(options) {\n\t\tconst { emailId } = options;\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/emails/receiving/${emailId}/attachments?${queryString}` : `/emails/receiving/${emailId}/attachments`;\n\t\treturn await this.resend.get(url);\n\t}\n};\n//#endregion\n//#region src/emails/receiving/receiving.ts\nvar Receiving = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t\tthis.attachments = new Attachments(resend);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/emails/receiving/${id}`);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/emails/receiving?${queryString}` : \"/emails/receiving\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync forward(options) {\n\t\tconst { emailId, to, from } = options;\n\t\tconst passthrough = options.passthrough !== false;\n\t\tconst emailResponse = await this.get(emailId);\n\t\tif (emailResponse.error) return {\n\t\t\tdata: null,\n\t\t\terror: emailResponse.error,\n\t\t\theaders: emailResponse.headers\n\t\t};\n\t\tconst email = emailResponse.data;\n\t\tconst originalSubject = email.subject || \"(no subject)\";\n\t\tif (passthrough) return this.forwardPassthrough(email, {\n\t\t\tto,\n\t\t\tfrom,\n\t\t\tsubject: originalSubject\n\t\t});\n\t\tconst forwardSubject = originalSubject.startsWith(\"Fwd:\") ? originalSubject : `Fwd: ${originalSubject}`;\n\t\treturn this.forwardWrapped(email, {\n\t\t\tto,\n\t\t\tfrom,\n\t\t\tsubject: forwardSubject,\n\t\t\ttext: \"text\" in options ? options.text : void 0,\n\t\t\thtml: \"html\" in options ? options.html : void 0\n\t\t});\n\t}\n\tasync forwardPassthrough(email, options) {\n\t\tconst { to, from, subject } = options;\n\t\tif (!email.raw?.download_url) return {\n\t\t\tdata: null,\n\t\t\terror: {\n\t\t\t\tname: \"validation_error\",\n\t\t\t\tmessage: \"Raw email content is not available for this email\",\n\t\t\t\tstatusCode: 400\n\t\t\t},\n\t\t\theaders: null\n\t\t};\n\t\tconst rawResponse = await fetch(email.raw.download_url);\n\t\tif (!rawResponse.ok) return {\n\t\t\tdata: null,\n\t\t\terror: {\n\t\t\t\tname: \"application_error\",\n\t\t\t\tmessage: \"Failed to download raw email content\",\n\t\t\t\tstatusCode: rawResponse.status\n\t\t\t},\n\t\t\theaders: null\n\t\t};\n\t\tconst rawEmailContent = await rawResponse.text();\n\t\tconst parsed = await PostalMime.parse(rawEmailContent, { attachmentEncoding: \"base64\" });\n\t\tconst attachments = parsed.attachments.map((attachment) => {\n\t\t\tconst contentId = attachment.contentId ? attachment.contentId.replace(/^<|>$/g, \"\") : void 0;\n\t\t\treturn {\n\t\t\t\tfilename: attachment.filename,\n\t\t\t\tcontent: attachment.content.toString(),\n\t\t\t\tcontent_type: attachment.mimeType,\n\t\t\t\tcontent_id: contentId || void 0\n\t\t\t};\n\t\t});\n\t\treturn await this.resend.post(\"/emails\", {\n\t\t\tfrom,\n\t\t\tto,\n\t\t\tsubject,\n\t\t\ttext: parsed.text || void 0,\n\t\t\thtml: parsed.html || void 0,\n\t\t\tattachments: attachments.length > 0 ? attachments : void 0\n\t\t});\n\t}\n\tasync forwardWrapped(email, options) {\n\t\tconst { to, from, subject, text, html } = options;\n\t\tif (!email.raw?.download_url) return {\n\t\t\tdata: null,\n\t\t\terror: {\n\t\t\t\tname: \"validation_error\",\n\t\t\t\tmessage: \"Raw email content is not available for this email\",\n\t\t\t\tstatusCode: 400\n\t\t\t},\n\t\t\theaders: null\n\t\t};\n\t\tconst rawResponse = await fetch(email.raw.download_url);\n\t\tif (!rawResponse.ok) return {\n\t\t\tdata: null,\n\t\t\terror: {\n\t\t\t\tname: \"application_error\",\n\t\t\t\tmessage: \"Failed to download raw email content\",\n\t\t\t\tstatusCode: rawResponse.status\n\t\t\t},\n\t\t\theaders: null\n\t\t};\n\t\tconst rawEmailContent = await rawResponse.text();\n\t\treturn await this.resend.post(\"/emails\", {\n\t\t\tfrom,\n\t\t\tto,\n\t\t\tsubject,\n\t\t\ttext,\n\t\t\thtml,\n\t\t\tattachments: [{\n\t\t\t\tfilename: \"forwarded_message.eml\",\n\t\t\t\tcontent: Buffer.from(rawEmailContent).toString(\"base64\"),\n\t\t\t\tcontent_type: \"message/rfc822\"\n\t\t\t}]\n\t\t});\n\t}\n};\n//#endregion\n//#region src/emails/emails.ts\nvar Emails = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t\tthis.attachments = new Attachments$1(resend);\n\t\tthis.receiving = new Receiving(resend);\n\t}\n\tasync send(payload, options = {}) {\n\t\treturn this.create(payload, options);\n\t}\n\tasync create(payload, options = {}) {\n\t\tif (payload.react) payload.html = await render(payload.react);\n\t\treturn await this.resend.post(\"/emails\", parseEmailToApiOptions(payload), options);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/emails/${id}`);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/emails?${queryString}` : \"/emails\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync update(payload) {\n\t\treturn await this.resend.patch(`/emails/${payload.id}`, { scheduled_at: payload.scheduledAt });\n\t}\n\tasync cancel(id) {\n\t\treturn await this.resend.post(`/emails/${id}/cancel`);\n\t}\n};\n//#endregion\n//#region src/events/events.ts\nvar Events = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync send(payload) {\n\t\treturn await this.resend.post(\"/events/send\", parseEventToApiOptions(payload));\n\t}\n\tasync create(payload) {\n\t\treturn await this.resend.post(\"/events\", payload);\n\t}\n\tasync get(identifier) {\n\t\treturn await this.resend.get(`/events/${encodeURIComponent(identifier)}`);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/events?${queryString}` : \"/events\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync update(identifier, payload) {\n\t\treturn await this.resend.patch(`/events/${encodeURIComponent(identifier)}`, payload);\n\t}\n\tasync remove(identifier) {\n\t\treturn await this.resend.delete(`/events/${encodeURIComponent(identifier)}`);\n\t}\n};\n//#endregion\n//#region src/logs/logs.ts\nvar Logs = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/logs?${queryString}` : \"/logs\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/logs/${id}`);\n\t}\n};\n//#endregion\n//#region src/segments/segments.ts\nvar Segments = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync create(payload, options = {}) {\n\t\treturn await this.resend.post(\"/segments\", payload, options);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/segments?${queryString}` : \"/segments\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/segments/${id}`);\n\t}\n\tasync remove(id) {\n\t\treturn await this.resend.delete(`/segments/${id}`);\n\t}\n};\n//#endregion\n//#region src/common/utils/get-pagination-query-properties.ts\nfunction getPaginationQueryProperties(options = {}) {\n\tconst query = new URLSearchParams();\n\tif (options.before) query.set(\"before\", options.before);\n\tif (options.after) query.set(\"after\", options.after);\n\tif (options.limit) query.set(\"limit\", options.limit.toString());\n\treturn query.size > 0 ? `?${query.toString()}` : \"\";\n}\n//#endregion\n//#region src/common/utils/parse-template-to-api-options.ts\nfunction parseVariables(variables) {\n\treturn variables?.map((variable) => ({\n\t\tkey: variable.key,\n\t\ttype: variable.type,\n\t\tfallback_value: variable.fallbackValue\n\t}));\n}\nfunction parseTemplateToApiOptions(template) {\n\treturn {\n\t\tname: \"name\" in template ? template.name : void 0,\n\t\tsubject: template.subject,\n\t\thtml: template.html,\n\t\ttext: template.text,\n\t\talias: template.alias,\n\t\tfrom: template.from,\n\t\treply_to: template.replyTo,\n\t\tvariables: parseVariables(template.variables)\n\t};\n}\n//#endregion\n//#region src/templates/chainable-template-result.ts\nvar ChainableTemplateResult = class {\n\tconstructor(promise, publishFn) {\n\t\tthis.promise = promise;\n\t\tthis.publishFn = publishFn;\n\t}\n\tthen(onfulfilled, onrejected) {\n\t\treturn this.promise.then(onfulfilled, onrejected);\n\t}\n\tasync publish() {\n\t\tconst { data, error } = await this.promise;\n\t\tif (error) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror\n\t\t};\n\t\treturn this.publishFn(data.id);\n\t}\n};\n//#endregion\n//#region src/templates/templates.ts\nvar Templates = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tcreate(payload) {\n\t\treturn new ChainableTemplateResult(this.performCreate(payload), this.publish.bind(this));\n\t}\n\tasync performCreate(payload) {\n\t\tif (payload.react) {\n\t\t\tif (!this.renderAsync) try {\n\t\t\t\tconst { renderAsync } = await import(\"@react-email/render\");\n\t\t\t\tthis.renderAsync = renderAsync;\n\t\t\t} catch {\n\t\t\t\tthrow new Error(\"Failed to render React component. Make sure to install `@react-email/render`\");\n\t\t\t}\n\t\t\tpayload.html = await this.renderAsync(payload.react);\n\t\t}\n\t\treturn this.resend.post(\"/templates\", parseTemplateToApiOptions(payload));\n\t}\n\tasync remove(identifier) {\n\t\treturn await this.resend.delete(`/templates/${identifier}`);\n\t}\n\tasync get(identifier) {\n\t\treturn await this.resend.get(`/templates/${identifier}`);\n\t}\n\tasync list(options = {}) {\n\t\treturn this.resend.get(`/templates${getPaginationQueryProperties(options)}`);\n\t}\n\tduplicate(identifier) {\n\t\treturn new ChainableTemplateResult(this.resend.post(`/templates/${identifier}/duplicate`), this.publish.bind(this));\n\t}\n\tasync publish(identifier) {\n\t\treturn await this.resend.post(`/templates/${identifier}/publish`);\n\t}\n\tasync update(identifier, payload) {\n\t\treturn await this.resend.patch(`/templates/${identifier}`, parseTemplateToApiOptions(payload));\n\t}\n};\n//#endregion\n//#region src/topics/topics.ts\nvar Topics = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync create(payload) {\n\t\tconst { defaultSubscription, ...body } = payload;\n\t\treturn await this.resend.post(\"/topics\", {\n\t\t\t...body,\n\t\t\tdefault_subscription: defaultSubscription\n\t\t});\n\t}\n\tasync list() {\n\t\treturn await this.resend.get(\"/topics\");\n\t}\n\tasync get(id) {\n\t\tif (!id) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\treturn await this.resend.get(`/topics/${id}`);\n\t}\n\tasync update(payload) {\n\t\tif (!payload.id) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\treturn await this.resend.patch(`/topics/${payload.id}`, payload);\n\t}\n\tasync remove(id) {\n\t\tif (!id) return {\n\t\t\tdata: null,\n\t\t\theaders: null,\n\t\t\terror: {\n\t\t\t\tmessage: \"Missing `id` field.\",\n\t\t\t\tstatusCode: null,\n\t\t\t\tname: \"missing_required_field\"\n\t\t\t}\n\t\t};\n\t\treturn await this.resend.delete(`/topics/${id}`);\n\t}\n};\n//#endregion\n//#region src/webhooks/webhooks.ts\nvar Webhooks = class {\n\tconstructor(resend) {\n\t\tthis.resend = resend;\n\t}\n\tasync create(payload, options = {}) {\n\t\treturn await this.resend.post(\"/webhooks\", payload, options);\n\t}\n\tasync get(id) {\n\t\treturn await this.resend.get(`/webhooks/${id}`);\n\t}\n\tasync list(options = {}) {\n\t\tconst queryString = buildPaginationQuery(options);\n\t\tconst url = queryString ? `/webhooks?${queryString}` : \"/webhooks\";\n\t\treturn await this.resend.get(url);\n\t}\n\tasync update(id, payload) {\n\t\treturn await this.resend.patch(`/webhooks/${id}`, payload);\n\t}\n\tasync remove(id) {\n\t\treturn await this.resend.delete(`/webhooks/${id}`);\n\t}\n\tverify(payload) {\n\t\treturn new Webhook(payload.webhookSecret).verify(payload.payload, {\n\t\t\t\"svix-id\": payload.headers.id,\n\t\t\t\"svix-timestamp\": payload.headers.timestamp,\n\t\t\t\"svix-signature\": payload.headers.signature\n\t\t});\n\t}\n};\n//#endregion\n//#region src/resend.ts\nconst defaultBaseUrl = \"https://api.resend.com\";\nconst defaultUserAgent = `resend-node:${version}`;\nconst baseUrl = typeof process !== \"undefined\" && process.env ? process.env.RESEND_BASE_URL || defaultBaseUrl : defaultBaseUrl;\nconst userAgent = typeof process !== \"undefined\" && process.env ? process.env.RESEND_USER_AGENT || defaultUserAgent : defaultUserAgent;\nvar Resend = class {\n\tconstructor(key) {\n\t\tthis.key = key;\n\t\tthis.segments = new Segments(this);\n\t\tthis.apiKeys = new ApiKeys(this);\n\t\tthis.audiences = this.segments;\n\t\tthis.automations = new Automations(this);\n\t\tthis.batch = new Batch(this);\n\t\tthis.broadcasts = new Broadcasts(this);\n\t\tthis.contactProperties = new ContactProperties(this);\n\t\tthis.contacts = new Contacts(this);\n\t\tthis.domains = new Domains(this);\n\t\tthis.emails = new Emails(this);\n\t\tthis.events = new Events(this);\n\t\tthis.logs = new Logs(this);\n\t\tthis.templates = new Templates(this);\n\t\tthis.topics = new Topics(this);\n\t\tthis.webhooks = new Webhooks(this);\n\t\tif (!key) {\n\t\t\tif (typeof process !== \"undefined\" && process.env) this.key = process.env.RESEND_API_KEY;\n\t\t\tif (!this.key) throw new Error(\"Missing API key. Pass it to the constructor `new Resend(\\\"re_123\\\")`\");\n\t\t}\n\t\tthis.headers = new Headers({\n\t\t\tAuthorization: `Bearer ${this.key}`,\n\t\t\t\"User-Agent\": userAgent,\n\t\t\t\"Content-Type\": \"application/json\"\n\t\t});\n\t}\n\tasync fetchRequest(path, options = {}) {\n\t\ttry {\n\t\t\tconst response = await fetch(`${baseUrl}${path}`, options);\n\t\t\tif (!response.ok) try {\n\t\t\t\tconst rawError = await response.text();\n\t\t\t\treturn {\n\t\t\t\t\tdata: null,\n\t\t\t\t\terror: JSON.parse(rawError),\n\t\t\t\t\theaders: Object.fromEntries(response.headers.entries())\n\t\t\t\t};\n\t\t\t} catch (err) {\n\t\t\t\tif (err instanceof SyntaxError) return {\n\t\t\t\t\tdata: null,\n\t\t\t\t\terror: {\n\t\t\t\t\t\tname: \"application_error\",\n\t\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\t\tmessage: \"Internal server error. We are unable to process your request right now, please try again later.\"\n\t\t\t\t\t},\n\t\t\t\t\theaders: Object.fromEntries(response.headers.entries())\n\t\t\t\t};\n\t\t\t\tconst error = {\n\t\t\t\t\tmessage: response.statusText,\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\tname: \"application_error\"\n\t\t\t\t};\n\t\t\t\tif (err instanceof Error) return {\n\t\t\t\t\tdata: null,\n\t\t\t\t\terror: {\n\t\t\t\t\t\t...error,\n\t\t\t\t\t\tmessage: err.message\n\t\t\t\t\t},\n\t\t\t\t\theaders: Object.fromEntries(response.headers.entries())\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tdata: null,\n\t\t\t\t\terror,\n\t\t\t\t\theaders: Object.fromEntries(response.headers.entries())\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tdata: await response.json(),\n\t\t\t\terror: null,\n\t\t\t\theaders: Object.fromEntries(response.headers.entries())\n\t\t\t};\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\tdata: null,\n\t\t\t\terror: {\n\t\t\t\t\tname: \"application_error\",\n\t\t\t\t\tstatusCode: null,\n\t\t\t\t\tmessage: \"Unable to fetch data. The request could not be resolved.\"\n\t\t\t\t},\n\t\t\t\theaders: null\n\t\t\t};\n\t\t}\n\t}\n\tasync post(path, entity, options = {}) {\n\t\tconst headers = new Headers(this.headers);\n\t\tif (options.headers) for (const [key, value] of new Headers(options.headers).entries()) headers.set(key, value);\n\t\tif (options.idempotencyKey) headers.set(\"Idempotency-Key\", options.idempotencyKey);\n\t\tconst requestOptions = {\n\t\t\tmethod: \"POST\",\n\t\t\tbody: JSON.stringify(entity),\n\t\t\t...options,\n\t\t\theaders\n\t\t};\n\t\treturn this.fetchRequest(path, requestOptions);\n\t}\n\tasync get(path, options = {}) {\n\t\tconst headers = new Headers(this.headers);\n\t\tif (options.headers) for (const [key, value] of new Headers(options.headers).entries()) headers.set(key, value);\n\t\tconst requestOptions = {\n\t\t\tmethod: \"GET\",\n\t\t\t...options,\n\t\t\theaders\n\t\t};\n\t\treturn this.fetchRequest(path, requestOptions);\n\t}\n\tasync put(path, entity, options = {}) {\n\t\tconst headers = new Headers(this.headers);\n\t\tif (options.headers) for (const [key, value] of new Headers(options.headers).entries()) headers.set(key, value);\n\t\tconst requestOptions = {\n\t\t\tmethod: \"PUT\",\n\t\t\tbody: JSON.stringify(entity),\n\t\t\t...options,\n\t\t\theaders\n\t\t};\n\t\treturn this.fetchRequest(path, requestOptions);\n\t}\n\tasync patch(path, entity, options = {}) {\n\t\tconst headers = new Headers(this.headers);\n\t\tif (options.headers) for (const [key, value] of new Headers(options.headers).entries()) headers.set(key, value);\n\t\tconst requestOptions = {\n\t\t\tmethod: \"PATCH\",\n\t\t\tbody: JSON.stringify(entity),\n\t\t\t...options,\n\t\t\theaders\n\t\t};\n\t\treturn this.fetchRequest(path, requestOptions);\n\t}\n\tasync delete(path, query) {\n\t\tconst requestOptions = {\n\t\t\tmethod: \"DELETE\",\n\t\t\tbody: JSON.stringify(query),\n\t\t\theaders: this.headers\n\t\t};\n\t\treturn this.fetchRequest(path, requestOptions);\n\t}\n};\n//#endregion\nexport { Resend };\n",
|
|
334
|
+
"import type { SendEmailParams } from \"./types\";\n\nexport abstract class EmailDriver {\n abstract send(params: SendEmailParams): Promise<boolean> | boolean;\n}\n",
|
|
335
|
+
"import { Resend } from \"resend\";\nimport type { SendEmailParams } from \"./types\";\nimport { EmailDriver } from \"./EmailDriver\";\n\nexport class ResendDriver extends EmailDriver {\n constructor(private apiKey = process.env.RESEND_API_KEY) {\n super();\n }\n\n async send(params: SendEmailParams) {\n const resend = new Resend(this.apiKey);\n const { data, error } = await resend.emails.send({\n ...params,\n });\n\n if (error) {\n console.error(error);\n return false;\n }\n\n if (data) {\n return true;\n }\n\n return false;\n }\n}\n",
|
|
336
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport type { EmailDriver } from \"./drivers/EmailDriver\";\nimport { ResendDriver } from \"./drivers/ResendDriver\";\n\nexport class EmailServiceProvider extends ServiceProvider {\n driver: EmailDriver = new ResendDriver();\n headers: Record<string, string> = {};\n\n boot() {}\n\n filterRecipients(emails: string[]): Promise<Array<string>> | Array<string> {\n return emails;\n }\n}\n",
|
|
337
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport { BroadcastingChannel } from \"../../broadcasting/BroadcastingChannel\";\nimport type { UrlParser } from \"../../client/types\";\n\ntype Channels = Record<string, new () => BroadcastingChannel>;\n\nexport class BroadcastingServiceProvider extends ServiceProvider {\n channels: Record<string, new () => BroadcastingChannel> = {};\n\n boot() {}\n}\n\ntype Parser<T extends Channels> = {\n [K in keyof T]: InstanceType<T[K]>[\"publish\"] extends (p: infer P) => infer O\n ? { params: UrlParser<`${K & string}`>; input: P; output: O }\n : never;\n};\n\ntype X = Parser<InstanceType<typeof BroadcastingServiceProvider>[\"channels\"]>;\n",
|
|
338
|
+
"import type { JSX } from \"react\";\nimport type { HttpRequest } from \"../../http\";\nimport type { ViewRouter } from \"../../http/ViewRouter\";\nimport { ServiceProvider } from \"../ServiceProvider\";\n\nexport class ViewRouterServiceProvider extends ServiceProvider {\n root: (props: any) => JSX.Element;\n rootRouter: new () => ViewRouter;\n\n boot() {}\n\n onRequestStart(_req: HttpRequest): void | Promise<void> {}\n onRequestEnd(_req: HttpRequest): void | Promise<void> {}\n onRequestFail(_req: HttpRequest, _error: any): void | Promise<void> {}\n}\n",
|
|
339
|
+
"import type { HttpRequest } from \"../../http\";\nimport type { ApiRouter } from \"../../http/ApiRouter\";\nimport { ServiceProvider } from \"../ServiceProvider\";\n\nexport class ApiRouterServiceProvider extends ServiceProvider {\n rootRouter: new () => ApiRouter;\n\n boot() {}\n\n onRequestStart(_req: HttpRequest): void | Promise<void> {}\n onRequestEnd(_req: HttpRequest): void | Promise<void> {}\n onRequestFail(_req: HttpRequest, error: any): void | Promise<void> {}\n}\n",
|
|
340
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport type { LogEntry } from \"./types\";\n\nexport class LoggingServiceProvider extends ServiceProvider {\n maxFileSize = 1024 * 1024 * 10; // 10MB\n\n boot() {}\n\n onLogFileClosed(_file: File): void | Promise<void> {}\n\n onLogCreated(_logEntry: LogEntry): void | Promise<void> {}\n}\n",
|
|
341
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport type { Job } from \"./Job\";\n\nexport class QueueServiceProvider extends ServiceProvider {\n jobs: Array<new () => Job> = [];\n concurrency = 1;\n\n boot() {}\n}\n",
|
|
342
|
+
"import { QueueServiceContainer } from \"./QueueServiceContainer\";\n\nexport class Job {\n static name = \"unset\";\n worker = false;\n maxAttempts = 3;\n\n run(..._args: any[]): Promise<any> | any {}\n\n onFail(_error: Error, ..._args: any[]): void {}\n onSuccess(_result: any, ..._args: any[]): void {}\n onDeadletter(_error: Error, ..._args: any[]): void {}\n\n static dispatch<T extends Job>(\n this: new () => T,\n ...args: Parameters<T[\"run\"]>\n ): void {\n if (this.name === \"unset\") {\n throw new Error(\"Cannot dispatch a job with no name\");\n }\n\n QueueServiceContainer.use().push(this, JSON.stringify(args));\n }\n}\n",
|
|
343
|
+
"// @ts-ignore\nimport sharp from \"sharp\";\nimport { ImageOptimizationDriver } from \"./ImageOptimizationDriver\";\nimport type { ResizeParameters } from \"./types\";\n\nexport class Sharp extends ImageOptimizationDriver {\n async resize(buffer: Buffer, parameters: ResizeParameters) {\n const { height, width, quality, fit } = parameters;\n return await sharp(buffer)\n .resize(width > 0 ? width : undefined, height > 0 ? height : undefined, {\n fit,\n })\n .webp({ quality: quality > 0 ? quality : 80, force: true })\n .toBuffer();\n }\n}\n",
|
|
344
|
+
"import type { ResizeParameters } from \"./types\";\n\nexport abstract class ImageOptimizationDriver {\n abstract resize(\n buffer: Buffer,\n parameters: ResizeParameters,\n ): Promise<Buffer>;\n}\n",
|
|
345
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport { Sharp } from \"./drivers/SharpDriver\";\n\nexport class ImageOptimizationServiceProvider extends ServiceProvider {\n driver = new Sharp();\n boot() {}\n}\n",
|
|
346
|
+
"import { HttpRequest } from \"../../http/HttpRequest\";\n\nexport abstract class OAuthProvider {\n abstract getRedirectUrl(req: HttpRequest): string | Promise<string>;\n abstract onCallback(\n req: HttpRequest,\n ): Promise<{\n email?: string;\n name?: string;\n username?: string;\n providerId?: string;\n }>;\n}\n",
|
|
347
|
+
"import type { HttpRequest } from \"../../http/HttpRequest\";\nimport { OAuthProvider } from \"./OAuthProvider\";\n\ntype Config = {\n clientId: string;\n scope: string;\n clientSecret: string;\n redirectPath: string;\n};\n\nconst defaultConfig: Config = {\n clientId: process.env.GOOGLE_CLIENT_ID!,\n clientSecret: process.env.GOOGLE_CLIENT_SECRET!,\n redirectPath: \"/auth/oauth/google/callback\",\n scope:\n \"https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email\",\n};\n\nexport class GoogleOAuthProvider extends OAuthProvider {\n config: {\n clientId: string;\n clientSecret: string;\n redirectPath: string;\n scope: string;\n };\n constructor(config: Partial<Config> = {}) {\n super();\n this.config = { ...defaultConfig, ...config };\n }\n\n getRedirectUrl() {\n const scope = this.config.scope;\n const clientId = this.config.clientId;\n\n const url = new URL(\"https://accounts.google.com/o/oauth2/v2/auth\");\n const params = {\n scope,\n include_granted_scopes: \"true\",\n response_type: \"code\",\n state: \"state_parameter_passthrough_value\",\n redirect_uri: `${process.env.HOST_NAME}/auth/oauth/google/callback`,\n client_id: clientId,\n };\n\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.append(key, value);\n }\n\n const str = url.toString();\n\n return str;\n }\n\n async onCallback(req: HttpRequest) {\n const url = new URL(\"https://oauth2.googleapis.com/token\");\n url.searchParams.append(\"code\", req.search.get(\"code\"));\n url.searchParams.append(\"client_id\", this.config.clientId);\n url.searchParams.append(\"client_secret\", this.config.clientSecret);\n url.searchParams.append(\"grant_type\", \"authorization_code\");\n url.searchParams.append(\n \"redirect_uri\",\n `${process.env.HOST_NAME}${this.config.redirectPath}`,\n );\n const res = await fetch(url.toString(), {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n });\n\n const { access_token } = await res.json();\n\n const userresponse = await fetch(\n `https://www.googleapis.com/oauth2/v3/userinfo?access_token=${access_token}`,\n );\n\n const user = await userresponse.json();\n\n if (!user.email) {\n console.error(\n \"Google OAuth error: email not found in user info response\",\n user,\n );\n }\n\n return { name: user.name, email: user.email };\n }\n}\n",
|
|
348
|
+
"export const API_V2_PREFIX = 'https://api.x.com/2/';\nexport const API_V2_LABS_PREFIX = 'https://api.x.com/labs/2/';\nexport const API_V1_1_PREFIX = 'https://api.x.com/1.1/';\nexport const API_V1_1_UPLOAD_PREFIX = 'https://upload.x.com/1.1/';\nexport const API_V1_1_STREAM_PREFIX = 'https://stream.x.com/1.1/';\nexport const API_ADS_PREFIX = 'https://ads-api.x.com/12/';\nexport const API_ADS_SANDBOX_PREFIX = 'https://ads-api-sandbox.twitter.com/12/';\n",
|
|
349
|
+
"/** TwitterPaginator: able to get consume data from initial request, then fetch next data sequentially. */\nexport class TwitterPaginator {\n // noinspection TypeScriptAbstractClassConstructorCanBeMadeProtected\n constructor({ realData, rateLimit, instance, queryParams, sharedParams }) {\n this._maxResultsWhenFetchLast = 100;\n this._realData = realData;\n this._rateLimit = rateLimit;\n this._instance = instance;\n this._queryParams = queryParams;\n this._sharedParams = sharedParams;\n }\n get _isRateLimitOk() {\n if (!this._rateLimit) {\n return true;\n }\n const resetDate = this._rateLimit.reset * 1000;\n if (resetDate < Date.now()) {\n return true;\n }\n return this._rateLimit.remaining > 0;\n }\n makeRequest(queryParams) {\n return this._instance.get(this.getEndpoint(), queryParams, { fullResponse: true, params: this._sharedParams });\n }\n makeNewInstanceFromResult(result, queryParams) {\n // Construct a subclass\n return new this.constructor({\n realData: result.data,\n rateLimit: result.rateLimit,\n instance: this._instance,\n queryParams,\n sharedParams: this._sharedParams,\n });\n }\n getEndpoint() {\n return this._endpoint;\n }\n injectQueryParams(maxResults) {\n return {\n ...(maxResults ? { max_results: maxResults } : {}),\n ...this._queryParams,\n };\n }\n /* ---------------------- */\n /* Real paginator methods */\n /* ---------------------- */\n /**\n * Next page.\n */\n async next(maxResults) {\n const queryParams = this.getNextQueryParams(maxResults);\n const result = await this.makeRequest(queryParams);\n return this.makeNewInstanceFromResult(result, queryParams);\n }\n /**\n * Next page, but store it in current instance.\n */\n async fetchNext(maxResults) {\n const queryParams = this.getNextQueryParams(maxResults);\n const result = await this.makeRequest(queryParams);\n // Await in case of async sub-methods\n await this.refreshInstanceFromResult(result, true);\n return this;\n }\n /**\n * Fetch up to {count} items after current page,\n * as long as rate limit is not hit and Twitter has some results\n */\n async fetchLast(count = Infinity) {\n let queryParams = this.getNextQueryParams(this._maxResultsWhenFetchLast);\n let resultCount = 0;\n // Break at rate limit limit\n while (resultCount < count && this._isRateLimitOk) {\n const response = await this.makeRequest(queryParams);\n await this.refreshInstanceFromResult(response, true);\n resultCount += this.getPageLengthFromRequest(response);\n if (this.isFetchLastOver(response)) {\n break;\n }\n queryParams = this.getNextQueryParams(this._maxResultsWhenFetchLast);\n }\n return this;\n }\n get rateLimit() {\n var _a;\n return { ...(_a = this._rateLimit) !== null && _a !== void 0 ? _a : {} };\n }\n /** Get raw data returned by Twitter API. */\n get data() {\n return this._realData;\n }\n get done() {\n return !this.canFetchNextPage(this._realData);\n }\n /**\n * Iterate over currently fetched items.\n */\n *[Symbol.iterator]() {\n yield* this.getItemArray();\n }\n /**\n * Iterate over items \"indefinitely\" (until rate limit is hit / they're no more items available)\n * This will **mutate the current instance** and fill data, metas, etc. inside this instance.\n *\n * If you need to handle concurrent requests, or you need to rely on immutability, please use `.fetchAndIterate()` instead.\n */\n async *[Symbol.asyncIterator]() {\n yield* this.getItemArray();\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let paginator = this;\n let canFetchNextPage = this.canFetchNextPage(this._realData);\n while (canFetchNextPage && this._isRateLimitOk && paginator.getItemArray().length > 0) {\n const next = await paginator.next(this._maxResultsWhenFetchLast);\n // Store data into current instance [needed to access includes and meta]\n this.refreshInstanceFromResult({ data: next._realData, headers: {}, rateLimit: next._rateLimit }, true);\n canFetchNextPage = this.canFetchNextPage(next._realData);\n const items = next.getItemArray();\n yield* items;\n paginator = next;\n }\n }\n /**\n * Iterate over items \"indefinitely\" without modifying the current instance (until rate limit is hit / they're no more items available)\n *\n * This will **NOT** mutate the current instance, meaning that current instance will not inherit from `includes` and `meta` (v2 API only).\n * Use `Symbol.asyncIterator` (`for-await of`) to directly access items with current instance mutation.\n */\n async *fetchAndIterate() {\n for (const item of this.getItemArray()) {\n yield [item, this];\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let paginator = this;\n let canFetchNextPage = this.canFetchNextPage(this._realData);\n while (canFetchNextPage && this._isRateLimitOk && paginator.getItemArray().length > 0) {\n const next = await paginator.next(this._maxResultsWhenFetchLast);\n // Store data into current instance [needed to access includes and meta]\n this.refreshInstanceFromResult({ data: next._realData, headers: {}, rateLimit: next._rateLimit }, true);\n canFetchNextPage = this.canFetchNextPage(next._realData);\n for (const item of next.getItemArray()) {\n yield [item, next];\n }\n this._rateLimit = next._rateLimit;\n paginator = next;\n }\n }\n}\n/** PreviousableTwitterPaginator: a TwitterPaginator able to get consume data from both side, next and previous. */\nexport class PreviousableTwitterPaginator extends TwitterPaginator {\n /**\n * Previous page (new tweets)\n */\n async previous(maxResults) {\n const queryParams = this.getPreviousQueryParams(maxResults);\n const result = await this.makeRequest(queryParams);\n return this.makeNewInstanceFromResult(result, queryParams);\n }\n /**\n * Previous page, but in current instance.\n */\n async fetchPrevious(maxResults) {\n const queryParams = this.getPreviousQueryParams(maxResults);\n const result = await this.makeRequest(queryParams);\n await this.refreshInstanceFromResult(result, false);\n return this;\n }\n}\nexport default TwitterPaginator;\n",
|
|
350
|
+
"import TwitterPaginator from './TwitterPaginator';\nexport class CursoredV1Paginator extends TwitterPaginator {\n getNextQueryParams(maxResults) {\n var _a;\n return {\n ...this._queryParams,\n cursor: (_a = this._realData.next_cursor_str) !== null && _a !== void 0 ? _a : this._realData.next_cursor,\n ...(maxResults ? { count: maxResults } : {}),\n };\n }\n isFetchLastOver(result) {\n // If we cant fetch next page\n return !this.canFetchNextPage(result.data);\n }\n canFetchNextPage(result) {\n // If one of cursor is valid\n return !this.isNextCursorInvalid(result.next_cursor) || !this.isNextCursorInvalid(result.next_cursor_str);\n }\n isNextCursorInvalid(value) {\n return value === undefined\n || value === 0\n || value === -1\n || value === '0'\n || value === '-1';\n }\n}\n",
|
|
351
|
+
"import { CursoredV1Paginator } from './paginator.v1';\nexport class DmEventsV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'direct_messages/events/list.json';\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.events.push(...result.events);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.events.length;\n }\n getItemArray() {\n return this.events;\n }\n /**\n * Events returned by paginator.\n */\n get events() {\n return this._realData.events;\n }\n}\nexport class WelcomeDmV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'direct_messages/welcome_messages/list.json';\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.welcome_messages.push(...result.welcome_messages);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.welcome_messages.length;\n }\n getItemArray() {\n return this.welcomeMessages;\n }\n get welcomeMessages() {\n return this._realData.welcome_messages;\n }\n}\n",
|
|
352
|
+
"export var EUploadMimeType;\n(function (EUploadMimeType) {\n EUploadMimeType[\"Jpeg\"] = \"image/jpeg\";\n EUploadMimeType[\"Mp4\"] = \"video/mp4\";\n EUploadMimeType[\"Mov\"] = \"video/quicktime\";\n EUploadMimeType[\"Gif\"] = \"image/gif\";\n EUploadMimeType[\"Png\"] = \"image/png\";\n EUploadMimeType[\"Srt\"] = \"text/plain\";\n EUploadMimeType[\"Webp\"] = \"image/webp\";\n})(EUploadMimeType || (EUploadMimeType = {}));\n",
|
|
353
|
+
"// Creation of DMs\nexport var EDirectMessageEventTypeV1;\n(function (EDirectMessageEventTypeV1) {\n EDirectMessageEventTypeV1[\"Create\"] = \"message_create\";\n EDirectMessageEventTypeV1[\"WelcomeCreate\"] = \"welcome_message\";\n})(EDirectMessageEventTypeV1 || (EDirectMessageEventTypeV1 = {}));\n",
|
|
354
|
+
"export var ETwitterApiError;\n(function (ETwitterApiError) {\n ETwitterApiError[\"Request\"] = \"request\";\n ETwitterApiError[\"PartialResponse\"] = \"partial-response\";\n ETwitterApiError[\"Response\"] = \"response\";\n})(ETwitterApiError || (ETwitterApiError = {}));\n/* ERRORS INSTANCES */\nclass ApiError extends Error {\n constructor() {\n super(...arguments);\n this.error = true;\n }\n}\nexport class ApiRequestError extends ApiError {\n constructor(message, options) {\n super(message);\n this.type = ETwitterApiError.Request;\n Error.captureStackTrace(this, this.constructor);\n // Do not show on Node stack trace\n Object.defineProperty(this, '_options', { value: options });\n }\n get request() {\n return this._options.request;\n }\n get requestError() {\n return this._options.requestError;\n }\n toJSON() {\n return {\n type: this.type,\n error: this.requestError,\n };\n }\n}\nexport class ApiPartialResponseError extends ApiError {\n constructor(message, options) {\n super(message);\n this.type = ETwitterApiError.PartialResponse;\n Error.captureStackTrace(this, this.constructor);\n // Do not show on Node stack trace\n Object.defineProperty(this, '_options', { value: options });\n }\n get request() {\n return this._options.request;\n }\n get response() {\n return this._options.response;\n }\n get responseError() {\n return this._options.responseError;\n }\n get rawContent() {\n return this._options.rawContent;\n }\n toJSON() {\n return {\n type: this.type,\n error: this.responseError,\n };\n }\n}\nexport class ApiResponseError extends ApiError {\n constructor(message, options) {\n super(message);\n this.type = ETwitterApiError.Response;\n Error.captureStackTrace(this, this.constructor);\n // Do not show on Node stack trace\n Object.defineProperty(this, '_options', { value: options });\n this.code = options.code;\n this.headers = options.headers;\n this.rateLimit = options.rateLimit;\n // Fix bad error data payload on some v1 endpoints (see https://github.com/PLhery/node-twitter-api-v2/issues/342)\n if (options.data && typeof options.data === 'object' && 'error' in options.data && !options.data.errors) {\n const data = { ...options.data };\n data.errors = [{\n code: EApiV1ErrorCode.InternalError,\n message: data.error,\n }];\n this.data = data;\n }\n else {\n this.data = options.data;\n }\n }\n get request() {\n return this._options.request;\n }\n get response() {\n return this._options.response;\n }\n /** Check for presence of one of given v1/v2 error codes. */\n hasErrorCode(...codes) {\n const errors = this.errors;\n // No errors\n if (!(errors === null || errors === void 0 ? void 0 : errors.length)) {\n return false;\n }\n // v1 errors\n if ('code' in errors[0]) {\n const v1errors = errors;\n return v1errors.some(error => codes.includes(error.code));\n }\n // v2 error\n const v2error = this.data;\n return codes.includes(v2error.type);\n }\n get errors() {\n var _a;\n return (_a = this.data) === null || _a === void 0 ? void 0 : _a.errors;\n }\n get rateLimitError() {\n return this.code === 420 || this.code === 429;\n }\n get isAuthError() {\n if (this.code === 401) {\n return true;\n }\n return this.hasErrorCode(EApiV1ErrorCode.AuthTimestampInvalid, EApiV1ErrorCode.AuthenticationFail, EApiV1ErrorCode.BadAuthenticationData, EApiV1ErrorCode.InvalidOrExpiredToken);\n }\n toJSON() {\n return {\n type: this.type,\n code: this.code,\n error: this.data,\n rateLimit: this.rateLimit,\n headers: this.headers,\n };\n }\n}\nexport var EApiV1ErrorCode;\n(function (EApiV1ErrorCode) {\n // Location errors\n EApiV1ErrorCode[EApiV1ErrorCode[\"InvalidCoordinates\"] = 3] = \"InvalidCoordinates\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"NoLocationFound\"] = 13] = \"NoLocationFound\";\n // Authentication failures\n EApiV1ErrorCode[EApiV1ErrorCode[\"AuthenticationFail\"] = 32] = \"AuthenticationFail\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"InvalidOrExpiredToken\"] = 89] = \"InvalidOrExpiredToken\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"UnableToVerifyCredentials\"] = 99] = \"UnableToVerifyCredentials\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"AuthTimestampInvalid\"] = 135] = \"AuthTimestampInvalid\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"BadAuthenticationData\"] = 215] = \"BadAuthenticationData\";\n // Resources not found or visible\n EApiV1ErrorCode[EApiV1ErrorCode[\"NoUserMatch\"] = 17] = \"NoUserMatch\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"UserNotFound\"] = 50] = \"UserNotFound\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"ResourceNotFound\"] = 34] = \"ResourceNotFound\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetNotFound\"] = 144] = \"TweetNotFound\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetNotVisible\"] = 179] = \"TweetNotVisible\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"NotAllowedResource\"] = 220] = \"NotAllowedResource\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"MediaIdNotFound\"] = 325] = \"MediaIdNotFound\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetNoLongerAvailable\"] = 421] = \"TweetNoLongerAvailable\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetViolatedRules\"] = 422] = \"TweetViolatedRules\";\n // Account errors\n EApiV1ErrorCode[EApiV1ErrorCode[\"TargetUserSuspended\"] = 63] = \"TargetUserSuspended\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"YouAreSuspended\"] = 64] = \"YouAreSuspended\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"AccountUpdateFailed\"] = 120] = \"AccountUpdateFailed\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"NoSelfSpamReport\"] = 36] = \"NoSelfSpamReport\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"NoSelfMute\"] = 271] = \"NoSelfMute\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"AccountLocked\"] = 326] = \"AccountLocked\";\n // Application live errors / Twitter errors\n EApiV1ErrorCode[EApiV1ErrorCode[\"RateLimitExceeded\"] = 88] = \"RateLimitExceeded\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"NoDMRightForApp\"] = 93] = \"NoDMRightForApp\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"OverCapacity\"] = 130] = \"OverCapacity\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"InternalError\"] = 131] = \"InternalError\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TooManyFollowings\"] = 161] = \"TooManyFollowings\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetLimitExceeded\"] = 185] = \"TweetLimitExceeded\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"DuplicatedTweet\"] = 187] = \"DuplicatedTweet\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TooManySpamReports\"] = 205] = \"TooManySpamReports\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"RequestLooksLikeSpam\"] = 226] = \"RequestLooksLikeSpam\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"NoWriteRightForApp\"] = 261] = \"NoWriteRightForApp\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetActionsDisabled\"] = 425] = \"TweetActionsDisabled\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetRepliesRestricted\"] = 433] = \"TweetRepliesRestricted\";\n // Invalid request parameters\n EApiV1ErrorCode[EApiV1ErrorCode[\"NamedParameterMissing\"] = 38] = \"NamedParameterMissing\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"InvalidAttachmentUrl\"] = 44] = \"InvalidAttachmentUrl\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetTextTooLong\"] = 186] = \"TweetTextTooLong\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"MissingUrlParameter\"] = 195] = \"MissingUrlParameter\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"NoMultipleGifs\"] = 323] = \"NoMultipleGifs\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"InvalidMediaIds\"] = 324] = \"InvalidMediaIds\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"InvalidUrl\"] = 407] = \"InvalidUrl\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TooManyTweetAttachments\"] = 386] = \"TooManyTweetAttachments\";\n // Already sent/deleted item\n EApiV1ErrorCode[EApiV1ErrorCode[\"StatusAlreadyFavorited\"] = 139] = \"StatusAlreadyFavorited\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"FollowRequestAlreadySent\"] = 160] = \"FollowRequestAlreadySent\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"CannotUnmuteANonMutedAccount\"] = 272] = \"CannotUnmuteANonMutedAccount\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"TweetAlreadyRetweeted\"] = 327] = \"TweetAlreadyRetweeted\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"ReplyToDeletedTweet\"] = 385] = \"ReplyToDeletedTweet\";\n // DM Errors\n EApiV1ErrorCode[EApiV1ErrorCode[\"DMReceiverNotFollowingYou\"] = 150] = \"DMReceiverNotFollowingYou\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"UnableToSendDM\"] = 151] = \"UnableToSendDM\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"MustAllowDMFromAnyone\"] = 214] = \"MustAllowDMFromAnyone\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"CannotSendDMToThisUser\"] = 349] = \"CannotSendDMToThisUser\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"DMTextTooLong\"] = 354] = \"DMTextTooLong\";\n // Application misconfiguration\n EApiV1ErrorCode[EApiV1ErrorCode[\"SubscriptionAlreadyExists\"] = 355] = \"SubscriptionAlreadyExists\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"CallbackUrlNotApproved\"] = 415] = \"CallbackUrlNotApproved\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"SuspendedApplication\"] = 416] = \"SuspendedApplication\";\n EApiV1ErrorCode[EApiV1ErrorCode[\"OobOauthIsNotAllowed\"] = 417] = \"OobOauthIsNotAllowed\";\n})(EApiV1ErrorCode || (EApiV1ErrorCode = {}));\nexport var EApiV2ErrorCode;\n(function (EApiV2ErrorCode) {\n // Request errors\n EApiV2ErrorCode[\"InvalidRequest\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#invalid-request\";\n EApiV2ErrorCode[\"ClientForbidden\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#client-forbidden\";\n EApiV2ErrorCode[\"UnsupportedAuthentication\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#unsupported-authentication\";\n // Stream rules errors\n EApiV2ErrorCode[\"InvalidRules\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#invalid-rules\";\n EApiV2ErrorCode[\"TooManyRules\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#rule-cap\";\n EApiV2ErrorCode[\"DuplicatedRules\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#duplicate-rules\";\n // Twitter errors\n EApiV2ErrorCode[\"RateLimitExceeded\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#usage-capped\";\n EApiV2ErrorCode[\"ConnectionError\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#streaming-connection\";\n EApiV2ErrorCode[\"ClientDisconnected\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#client-disconnected\";\n EApiV2ErrorCode[\"TwitterDisconnectedYou\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#operational-disconnect\";\n // Resource errors\n EApiV2ErrorCode[\"ResourceNotFound\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#resource-not-found\";\n EApiV2ErrorCode[\"ResourceUnauthorized\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#not-authorized-for-resource\";\n EApiV2ErrorCode[\"DisallowedResource\"] = \"https://developer.x.com/en/support/x-api/error-troubleshooting#disallowed-resource\";\n})(EApiV2ErrorCode || (EApiV2ErrorCode = {}));\n",
|
|
355
|
+
"export var ETwitterStreamEvent;\n(function (ETwitterStreamEvent) {\n ETwitterStreamEvent[\"Connected\"] = \"connected\";\n ETwitterStreamEvent[\"ConnectError\"] = \"connect error\";\n ETwitterStreamEvent[\"ConnectionError\"] = \"connection error\";\n ETwitterStreamEvent[\"ConnectionClosed\"] = \"connection closed\";\n ETwitterStreamEvent[\"ConnectionLost\"] = \"connection lost\";\n ETwitterStreamEvent[\"ReconnectAttempt\"] = \"reconnect attempt\";\n ETwitterStreamEvent[\"Reconnected\"] = \"reconnected\";\n ETwitterStreamEvent[\"ReconnectError\"] = \"reconnect error\";\n ETwitterStreamEvent[\"ReconnectLimitExceeded\"] = \"reconnect limit exceeded\";\n ETwitterStreamEvent[\"DataKeepAlive\"] = \"data keep-alive\";\n ETwitterStreamEvent[\"Data\"] = \"data event content\";\n ETwitterStreamEvent[\"DataError\"] = \"data twitter error\";\n ETwitterStreamEvent[\"TweetParseError\"] = \"data tweet parse error\";\n ETwitterStreamEvent[\"Error\"] = \"stream error\";\n})(ETwitterStreamEvent || (ETwitterStreamEvent = {}));\n",
|
|
356
|
+
"export class TwitterApiPluginResponseOverride {\n constructor(value) {\n this.value = value;\n }\n}\n",
|
|
357
|
+
"import * as fs from 'fs';\nimport { API_V1_1_PREFIX, API_V1_1_UPLOAD_PREFIX } from '../globals';\nimport { hasMultipleItems } from '../helpers';\nimport { EUploadMimeType, } from '../types';\nimport TwitterApiv1ReadOnly from './client.v1.read';\nimport { getFileHandle, getFileSizeFromFileHandle, getMediaCategoryByMime, getMimeType, readFileIntoBuffer, readNextPartOf, sleepSecs } from './media-helpers.v1';\nconst UPLOAD_ENDPOINT = 'media/upload.json';\n/**\n * Base Twitter v1 client with read/write rights.\n */\nexport default class TwitterApiv1ReadWrite extends TwitterApiv1ReadOnly {\n constructor() {\n super(...arguments);\n this._prefix = API_V1_1_PREFIX;\n }\n /**\n * Get a client with only read rights.\n */\n get readOnly() {\n return this;\n }\n /* Tweet API */\n /**\n * Post a new tweet.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/post-statuses-update\n */\n tweet(status, payload = {}) {\n const queryParams = {\n status,\n tweet_mode: 'extended',\n ...payload,\n };\n return this.post('statuses/update.json', queryParams);\n }\n /**\n * Quote an existing tweet.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/post-statuses-update\n */\n async quote(status, quotingStatusId, payload = {}) {\n const url = 'https://x.com/i/statuses/' + quotingStatusId;\n return this.tweet(status, { ...payload, attachment_url: url });\n }\n /**\n * Post a series of tweets.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/post-statuses-update\n */\n async tweetThread(tweets) {\n const postedTweets = [];\n for (const tweet of tweets) {\n // Retrieve the last sent tweet\n const lastTweet = postedTweets.length ? postedTweets[postedTweets.length - 1] : null;\n // Build the tweet query params\n const queryParams = { ...(typeof tweet === 'string' ? ({ status: tweet }) : tweet) };\n // Reply to an existing tweet if needed\n const inReplyToId = lastTweet ? lastTweet.id_str : queryParams.in_reply_to_status_id;\n const status = queryParams.status;\n if (inReplyToId) {\n postedTweets.push(await this.reply(status, inReplyToId, queryParams));\n }\n else {\n postedTweets.push(await this.tweet(status, queryParams));\n }\n }\n return postedTweets;\n }\n /**\n * Reply to an existing tweet. Shortcut to `.tweet` with tweaked parameters.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/post-statuses-update\n */\n reply(status, in_reply_to_status_id, payload = {}) {\n return this.tweet(status, {\n auto_populate_reply_metadata: true,\n in_reply_to_status_id,\n ...payload,\n });\n }\n /**\n * Delete an existing tweet belonging to you.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/post-statuses-destroy-id\n */\n deleteTweet(tweetId) {\n return this.post('statuses/destroy/:id.json', { tweet_mode: 'extended' }, { params: { id: tweetId } });\n }\n /* User API */\n /**\n * Report the specified user as a spam account to Twitter.\n * Additionally, optionally performs the equivalent of POST blocks/create on behalf of the authenticated user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam\n */\n reportUserAsSpam(options) {\n return this.post('users/report_spam.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Turn on/off Retweets and device notifications from the specified user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/post-friendships-update\n */\n updateFriendship(options) {\n return this.post('friendships/update.json', options);\n }\n /**\n * Follow the specified user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/post-friendships-create\n */\n createFriendship(options) {\n return this.post('friendships/create.json', options);\n }\n /**\n * Unfollow the specified user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/post-friendships-destroy\n */\n destroyFriendship(options) {\n return this.post('friendships/destroy.json', options);\n }\n /* Account API */\n /**\n * Update current account settings for authenticating user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-account-settings\n */\n updateAccountSettings(options) {\n return this.post('account/settings.json', options);\n }\n /**\n * Sets some values that users are able to set under the \"Account\" tab of their settings page.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile\n */\n updateAccountProfile(options) {\n return this.post('account/update_profile.json', options);\n }\n /**\n * Uploads a profile banner on behalf of the authenticating user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_banner\n */\n async updateAccountProfileBanner(file, options = {}) {\n const queryParams = {\n banner: await readFileIntoBuffer(file),\n ...options,\n };\n return this.post('account/update_profile_banner.json', queryParams, { forceBodyMode: 'form-data' });\n }\n /**\n * Updates the authenticating user's profile image.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_image\n */\n async updateAccountProfileImage(file, options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n image: await readFileIntoBuffer(file),\n ...options,\n };\n return this.post('account/update_profile_image.json', queryParams, { forceBodyMode: 'form-data' });\n }\n /**\n * Removes the uploaded profile banner for the authenticating user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-remove_profile_banner\n */\n removeAccountProfileBanner() {\n return this.post('account/remove_profile_banner.json');\n }\n /* Lists */\n /**\n * Creates a new list for the authenticated user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/post-lists-create\n */\n createList(options) {\n return this.post('lists/create.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Updates the specified list. The authenticated user must own the list to be able to update it.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/post-lists-update\n */\n updateList(options) {\n return this.post('lists/update.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Deletes the specified list. The authenticated user must own the list to be able to destroy it.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/post-lists-destroy\n */\n removeList(options) {\n return this.post('lists/destroy.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Adds multiple members to a list, by specifying a comma-separated list of member ids or screen names.\n * If you add a single `user_id` or `screen_name`, it will target `lists/members/create.json`, otherwise\n * it will target `lists/members/create_all.json`.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/post-lists-members-create_all\n */\n addListMembers(options) {\n const hasMultiple = (options.user_id && hasMultipleItems(options.user_id)) || (options.screen_name && hasMultipleItems(options.screen_name));\n const endpoint = hasMultiple ? 'lists/members/create_all.json' : 'lists/members/create.json';\n return this.post(endpoint, options);\n }\n /**\n * Removes one or more members from a list, by specifying a comma-separated list of member ids or screen names.\n * If you add a single `user_id` or `screen_name`, it will target `lists/members/destroy.json`, otherwise\n * it will target `lists/members/destroy_all.json`.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/post-lists-members-destroy_all\n */\n removeListMembers(options) {\n const hasMultiple = (options.user_id && hasMultipleItems(options.user_id)) || (options.screen_name && hasMultipleItems(options.screen_name));\n const endpoint = hasMultiple ? 'lists/members/destroy_all.json' : 'lists/members/destroy.json';\n return this.post(endpoint, options);\n }\n /**\n * Subscribes the authenticated user to the specified list.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/post-lists-subscribers-create\n */\n subscribeToList(options) {\n return this.post('lists/subscribers/create.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Unsubscribes the authenticated user of the specified list.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/post-lists-subscribers-destroy\n */\n unsubscribeOfList(options) {\n return this.post('lists/subscribers/destroy.json', { tweet_mode: 'extended', ...options });\n }\n /* Media upload API */\n /**\n * This endpoint can be used to provide additional information about the uploaded media_id.\n * This feature is currently only supported for images and GIFs.\n * https://developer.x.com/en/docs/twitter-api/v1/media/upload-media/api-reference/post-media-metadata-create\n */\n createMediaMetadata(mediaId, metadata) {\n return this.post('media/metadata/create.json', { media_id: mediaId, ...metadata }, { prefix: API_V1_1_UPLOAD_PREFIX, forceBodyMode: 'json' });\n }\n /**\n * Use this endpoint to associate uploaded subtitles to an uploaded video. You can associate subtitles to video before or after Tweeting.\n * **To obtain subtitle media ID, you must upload each subtitle file separately using `.uploadMedia()` method.**\n *\n * https://developer.x.com/en/docs/twitter-api/v1/media/upload-media/api-reference/post-media-subtitles-create\n */\n createMediaSubtitles(mediaId, subtitles) {\n return this.post('media/subtitles/create.json', { media_id: mediaId, media_category: 'TweetVideo', subtitle_info: { subtitles } }, { prefix: API_V1_1_UPLOAD_PREFIX, forceBodyMode: 'json' });\n }\n /**\n * Use this endpoint to dissociate subtitles from a video and delete the subtitles. You can dissociate subtitles from a video before or after Tweeting.\n * https://developer.x.com/en/docs/twitter-api/v1/media/upload-media/api-reference/post-media-subtitles-delete\n */\n deleteMediaSubtitles(mediaId, ...languages) {\n return this.post('media/subtitles/delete.json', {\n media_id: mediaId,\n media_category: 'TweetVideo',\n subtitle_info: { subtitles: languages.map(lang => ({ language_code: lang })) },\n }, { prefix: API_V1_1_UPLOAD_PREFIX, forceBodyMode: 'json' });\n }\n async uploadMedia(file, options = {}, returnFullMediaData = false) {\n var _a;\n const chunkLength = (_a = options.chunkLength) !== null && _a !== void 0 ? _a : (1024 * 1024);\n const { fileHandle, mediaCategory, fileSize, mimeType } = await this.getUploadMediaRequirements(file, options);\n // Get the file handle (if not buffer)\n try {\n // Finally! We can send INIT message.\n const mediaData = await this.post(UPLOAD_ENDPOINT, {\n command: 'INIT',\n total_bytes: fileSize,\n media_type: mimeType,\n media_category: mediaCategory,\n additional_owners: options.additionalOwners,\n shared: options.shared ? true : undefined,\n }, { prefix: API_V1_1_UPLOAD_PREFIX });\n // Upload the media chunk by chunk\n await this.mediaChunkedUpload(fileHandle, chunkLength, mediaData.media_id_string, options.maxConcurrentUploads);\n // Finalize media\n const fullMediaData = await this.post(UPLOAD_ENDPOINT, {\n command: 'FINALIZE',\n media_id: mediaData.media_id_string,\n }, { prefix: API_V1_1_UPLOAD_PREFIX });\n if (fullMediaData.processing_info && fullMediaData.processing_info.state !== 'succeeded') {\n // Must wait if video is still computed\n await this.awaitForMediaProcessingCompletion(fullMediaData);\n }\n // Video is ready, return media_id\n if (returnFullMediaData) {\n return fullMediaData;\n }\n else {\n return fullMediaData.media_id_string;\n }\n }\n finally {\n // Close file if any\n if (typeof file === 'number') {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n fs.close(file, () => { });\n }\n else if (typeof fileHandle === 'object' && !(fileHandle instanceof Buffer)) {\n fileHandle.close();\n }\n }\n }\n async awaitForMediaProcessingCompletion(fullMediaData) {\n var _a;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n fullMediaData = await this.mediaInfo(fullMediaData.media_id_string);\n const { processing_info } = fullMediaData;\n if (!processing_info || processing_info.state === 'succeeded') {\n // Ok, completed!\n return;\n }\n if ((_a = processing_info.error) === null || _a === void 0 ? void 0 : _a.code) {\n const { name, message } = processing_info.error;\n throw new Error(`Failed to process media: ${name} - ${message}.`);\n }\n if (processing_info.state === 'failed') {\n // No error data\n throw new Error('Failed to process the media.');\n }\n if (processing_info.check_after_secs) {\n // Await for given seconds\n await sleepSecs(processing_info.check_after_secs);\n }\n else {\n // No info; Await for 5 seconds\n await sleepSecs(5);\n }\n }\n }\n async getUploadMediaRequirements(file, { mimeType, type, target, longVideo } = {}) {\n // Get the file handle (if not buffer)\n let fileHandle;\n try {\n fileHandle = await getFileHandle(file);\n // Get the mimetype\n const realMimeType = getMimeType(file, type, mimeType);\n // Get the media category\n let mediaCategory;\n // If explicit longmp4 OR explicit MIME type and not DM target\n if (realMimeType === EUploadMimeType.Mp4 && ((!mimeType && !type && target !== 'dm') || longVideo)) {\n mediaCategory = 'amplify_video';\n }\n else {\n mediaCategory = getMediaCategoryByMime(realMimeType, target !== null && target !== void 0 ? target : 'tweet');\n }\n return {\n fileHandle,\n mediaCategory,\n fileSize: await getFileSizeFromFileHandle(fileHandle),\n mimeType: realMimeType,\n };\n }\n catch (e) {\n // Close file if any\n if (typeof file === 'number') {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n fs.close(file, () => { });\n }\n else if (typeof fileHandle === 'object' && !(fileHandle instanceof Buffer)) {\n fileHandle.close();\n }\n throw e;\n }\n }\n async mediaChunkedUpload(fileHandle, chunkLength, mediaId, maxConcurrentUploads = 3) {\n // Send chunk by chunk\n let chunkIndex = 0;\n if (maxConcurrentUploads < 1) {\n throw new RangeError('Bad maxConcurrentUploads parameter.');\n }\n // Creating a buffer for doing file stuff (if we don't have one)\n const buffer = fileHandle instanceof Buffer ? undefined : Buffer.alloc(chunkLength);\n // Sliced/filled buffer returned for each part\n let readBuffer;\n // Needed to know when we should stop reading the file\n let nread;\n // Needed to use the buffer object (file handles always \"remembers\" file position)\n let offset = 0;\n [readBuffer, nread] = await readNextPartOf(fileHandle, chunkLength, offset, buffer);\n offset += nread;\n // Handle max concurrent uploads\n const currentUploads = new Set();\n // Read buffer until file is completely read\n while (nread) {\n const mediaBufferPart = readBuffer.slice(0, nread);\n // Sent part if part has something inside\n if (mediaBufferPart.length) {\n const request = this.post(UPLOAD_ENDPOINT, {\n command: 'APPEND',\n media_id: mediaId,\n segment_index: chunkIndex,\n media: mediaBufferPart,\n }, { prefix: API_V1_1_UPLOAD_PREFIX });\n currentUploads.add(request);\n request.then(() => {\n currentUploads.delete(request);\n });\n chunkIndex++;\n }\n if (currentUploads.size >= maxConcurrentUploads) {\n // Await for first promise to be finished\n await Promise.race(currentUploads);\n }\n [readBuffer, nread] = await readNextPartOf(fileHandle, chunkLength, offset, buffer);\n offset += nread;\n }\n await Promise.all([...currentUploads]);\n }\n}\n",
|
|
358
|
+
"export const TwitterApiV2Settings = {\n debug: false,\n deprecationWarnings: true,\n logger: { log: console.log.bind(console) },\n};\n",
|
|
359
|
+
"import { TwitterApiV2Settings } from './settings';\nexport function sharedPromise(getter) {\n const sharedPromise = {\n value: undefined,\n promise: getter().then(val => {\n sharedPromise.value = val;\n return val;\n }),\n };\n return sharedPromise;\n}\nexport function arrayWrap(value) {\n if (Array.isArray(value)) {\n return value;\n }\n return [value];\n}\nexport function trimUndefinedProperties(object) {\n // Delete undefined parameters\n for (const parameter of Object.keys(object)) {\n if (object[parameter] === undefined) {\n delete object[parameter];\n }\n }\n}\nexport function isTweetStreamV2ErrorPayload(payload) {\n // Is error only if 'errors' is present and 'data' does not exists\n return typeof payload === 'object'\n && 'errors' in payload\n && !('data' in payload);\n}\nexport function hasMultipleItems(item) {\n if (Array.isArray(item) && item.length > 1) {\n return true;\n }\n return item.toString().includes(',');\n}\nconst deprecationWarningsCache = new Set();\nexport function safeDeprecationWarning(message) {\n if (typeof console === 'undefined' || !console.warn || !TwitterApiV2Settings.deprecationWarnings) {\n return;\n }\n const hash = `${message.instance}-${message.method}-${message.problem}`;\n if (deprecationWarningsCache.has(hash)) {\n return;\n }\n const formattedMsg = `[twitter-api-v2] Deprecation warning: In ${message.instance}.${message.method}() call` +\n `, ${message.problem}.\\n${message.resolution}.`;\n console.warn(formattedMsg);\n console.warn('To disable this message, import variable TwitterApiV2Settings from twitter-api-v2 and set TwitterApiV2Settings.deprecationWarnings to false.');\n deprecationWarningsCache.add(hash);\n}\n",
|
|
360
|
+
"import { EventEmitter } from 'events';\nimport RequestHandlerHelper from '../client-mixins/request-handler.helper';\nimport { ETwitterStreamEvent } from '../types';\nimport TweetStreamEventCombiner from './TweetStreamEventCombiner';\nimport TweetStreamParser, { EStreamParserEvent } from './TweetStreamParser';\n// In seconds\nconst basicRetriesAttempt = [5, 15, 30, 60, 90, 120, 180, 300, 600, 900];\n// Default retry function\nconst basicReconnectRetry = tryOccurrence => tryOccurrence > basicRetriesAttempt.length\n ? 901000\n : basicRetriesAttempt[tryOccurrence - 1] * 1000;\nexport class TweetStream extends EventEmitter {\n constructor(requestData, connection) {\n super();\n this.requestData = requestData;\n this.autoReconnect = false;\n this.autoReconnectRetries = 5;\n // 2 minutes without any Twitter signal\n this.keepAliveTimeoutMs = 1000 * 120;\n this.nextRetryTimeout = basicReconnectRetry;\n this.parser = new TweetStreamParser();\n this.connectionProcessRunning = false;\n this.onKeepAliveTimeout = this.onKeepAliveTimeout.bind(this);\n this.initEventsFromParser();\n if (connection) {\n this.req = connection.req;\n this.res = connection.res;\n this.originalResponse = connection.originalResponse;\n this.initEventsFromRequest();\n }\n }\n on(event, handler) {\n return super.on(event, handler);\n }\n initEventsFromRequest() {\n if (!this.req || !this.res) {\n throw new Error('TweetStream error: You cannot init TweetStream without a request and response object.');\n }\n const errorHandler = (err) => {\n this.emit(ETwitterStreamEvent.ConnectionError, err);\n this.emit(ETwitterStreamEvent.Error, {\n type: ETwitterStreamEvent.ConnectionError,\n error: err,\n message: 'Connection lost or closed by Twitter.',\n });\n this.onConnectionError();\n };\n this.req.on('error', errorHandler);\n this.res.on('error', errorHandler);\n // Usually, connection should not be closed by Twitter!\n this.res.on('close', () => errorHandler(new Error('Connection closed by Twitter.')));\n this.res.on('data', (chunk) => {\n this.resetKeepAliveTimeout();\n if (chunk.toString() === '\\r\\n') {\n return this.emit(ETwitterStreamEvent.DataKeepAlive);\n }\n this.parser.push(chunk.toString());\n });\n // Starts the keep alive timeout\n this.resetKeepAliveTimeout();\n }\n initEventsFromParser() {\n const payloadIsError = this.requestData.payloadIsError;\n this.parser.on(EStreamParserEvent.ParsedData, (eventData) => {\n if (payloadIsError && payloadIsError(eventData)) {\n this.emit(ETwitterStreamEvent.DataError, eventData);\n this.emit(ETwitterStreamEvent.Error, {\n type: ETwitterStreamEvent.DataError,\n error: eventData,\n message: 'Twitter sent a payload that is detected as an error payload.',\n });\n }\n else {\n this.emit(ETwitterStreamEvent.Data, eventData);\n }\n });\n this.parser.on(EStreamParserEvent.ParseError, (error) => {\n this.emit(ETwitterStreamEvent.TweetParseError, error);\n this.emit(ETwitterStreamEvent.Error, {\n type: ETwitterStreamEvent.TweetParseError,\n error,\n message: 'Failed to parse stream data.',\n });\n });\n }\n resetKeepAliveTimeout() {\n this.unbindKeepAliveTimeout();\n if (this.keepAliveTimeoutMs !== Infinity) {\n this.keepAliveTimeout = setTimeout(this.onKeepAliveTimeout, this.keepAliveTimeoutMs);\n }\n }\n onKeepAliveTimeout() {\n this.emit(ETwitterStreamEvent.ConnectionLost);\n this.onConnectionError();\n }\n unbindTimeouts() {\n this.unbindRetryTimeout();\n this.unbindKeepAliveTimeout();\n }\n unbindKeepAliveTimeout() {\n if (this.keepAliveTimeout) {\n clearTimeout(this.keepAliveTimeout);\n this.keepAliveTimeout = undefined;\n }\n }\n unbindRetryTimeout() {\n if (this.retryTimeout) {\n clearTimeout(this.retryTimeout);\n this.retryTimeout = undefined;\n }\n }\n closeWithoutEmit() {\n this.unbindTimeouts();\n if (this.res) {\n this.res.removeAllListeners();\n // Close response silently\n this.res.destroy();\n }\n if (this.req) {\n this.req.removeAllListeners();\n // Close connection silently\n this.req.destroy();\n }\n }\n /** Terminate connection to Twitter. */\n close() {\n this.emit(ETwitterStreamEvent.ConnectionClosed);\n this.closeWithoutEmit();\n }\n /** Unbind all listeners, and close connection. */\n destroy() {\n this.removeAllListeners();\n this.close();\n }\n /**\n * Make a new request that creates a new `TweetStream` instance with\n * the same parameters, and bind current listeners to new stream.\n */\n async clone() {\n const newRequest = new RequestHandlerHelper(this.requestData);\n const newStream = await newRequest.makeRequestAsStream();\n // Clone attached listeners\n const listenerNames = this.eventNames();\n for (const listener of listenerNames) {\n const callbacks = this.listeners(listener);\n for (const callback of callbacks) {\n newStream.on(listener, callback);\n }\n }\n return newStream;\n }\n /** Start initial stream connection, setup options on current instance and returns itself. */\n async connect(options = {}) {\n if (typeof options.autoReconnect !== 'undefined') {\n this.autoReconnect = options.autoReconnect;\n }\n if (typeof options.autoReconnectRetries !== 'undefined') {\n this.autoReconnectRetries = options.autoReconnectRetries === 'unlimited'\n ? Infinity\n : options.autoReconnectRetries;\n }\n if (typeof options.keepAliveTimeout !== 'undefined') {\n this.keepAliveTimeoutMs = options.keepAliveTimeout === 'disable'\n ? Infinity\n : options.keepAliveTimeout;\n }\n if (typeof options.nextRetryTimeout !== 'undefined') {\n this.nextRetryTimeout = options.nextRetryTimeout;\n }\n // Make the connection\n this.unbindTimeouts();\n try {\n await this.reconnect();\n }\n catch (e) {\n this.emit(ETwitterStreamEvent.ConnectError, 0);\n this.emit(ETwitterStreamEvent.Error, {\n type: ETwitterStreamEvent.ConnectError,\n error: e,\n message: 'Connect error - Initial connection just failed.',\n });\n // Only make a reconnection attempt if autoReconnect is true!\n // Otherwise, let error be propagated\n if (this.autoReconnect) {\n this.makeAutoReconnectRetry(0, e);\n }\n else {\n throw e;\n }\n }\n return this;\n }\n /** Make a new request to (re)connect to Twitter. */\n async reconnect() {\n if (this.connectionProcessRunning) {\n throw new Error('Connection process is already running.');\n }\n this.connectionProcessRunning = true;\n try {\n let initialConnection = true;\n if (this.req) {\n initialConnection = false;\n this.closeWithoutEmit();\n }\n const { req, res, originalResponse } = await new RequestHandlerHelper(this.requestData).makeRequestAndResolveWhenReady();\n this.req = req;\n this.res = res;\n this.originalResponse = originalResponse;\n this.emit(initialConnection ? ETwitterStreamEvent.Connected : ETwitterStreamEvent.Reconnected);\n this.parser.reset();\n this.initEventsFromRequest();\n }\n finally {\n this.connectionProcessRunning = false;\n }\n }\n async onConnectionError(retryOccurrence = 0) {\n this.unbindTimeouts();\n // Close the request if necessary\n this.closeWithoutEmit();\n // Terminate stream by events if necessary (no auto-reconnect or retries exceeded)\n if (!this.autoReconnect) {\n this.emit(ETwitterStreamEvent.ConnectionClosed);\n return;\n }\n if (retryOccurrence >= this.autoReconnectRetries) {\n this.emit(ETwitterStreamEvent.ReconnectLimitExceeded);\n this.emit(ETwitterStreamEvent.ConnectionClosed);\n return;\n }\n // If all other conditions fails, do a reconnect attempt\n try {\n this.emit(ETwitterStreamEvent.ReconnectAttempt, retryOccurrence);\n await this.reconnect();\n }\n catch (e) {\n this.emit(ETwitterStreamEvent.ReconnectError, retryOccurrence);\n this.emit(ETwitterStreamEvent.Error, {\n type: ETwitterStreamEvent.ReconnectError,\n error: e,\n message: `Reconnect error - ${retryOccurrence + 1} attempts made yet.`,\n });\n this.makeAutoReconnectRetry(retryOccurrence, e);\n }\n }\n makeAutoReconnectRetry(retryOccurrence, error) {\n const nextRetry = this.nextRetryTimeout(retryOccurrence + 1, error);\n this.retryTimeout = setTimeout(() => {\n this.onConnectionError(retryOccurrence + 1);\n }, nextRetry);\n }\n async *[Symbol.asyncIterator]() {\n const eventCombiner = new TweetStreamEventCombiner(this);\n try {\n while (true) {\n if (!this.req || this.req.aborted) {\n throw new Error('Connection closed');\n }\n if (eventCombiner.hasStack()) {\n yield* eventCombiner.popStack();\n }\n const { type, payload } = await eventCombiner.nextEvent();\n if (type === 'error') {\n throw payload;\n }\n }\n }\n finally {\n eventCombiner.destroy();\n }\n }\n}\nexport default TweetStream;\n",
|
|
361
|
+
"import { request } from 'https';\nimport { TwitterApiV2Settings } from '../settings';\nimport TweetStream from '../stream/TweetStream';\nimport { ApiPartialResponseError, ApiRequestError, ApiResponseError } from '../types';\nimport * as zlib from 'zlib';\nimport { EventEmitter } from 'events';\nexport class RequestHandlerHelper {\n constructor(requestData) {\n this.requestData = requestData;\n this.requestErrorHandled = false;\n this.responseData = [];\n }\n /* Request helpers */\n get hrefPathname() {\n const url = this.requestData.url;\n return url.hostname + url.pathname;\n }\n isCompressionDisabled() {\n return !this.requestData.compression || this.requestData.compression === 'identity';\n }\n isFormEncodedEndpoint() {\n return this.requestData.url.href.startsWith('https://api.x.com/oauth/');\n }\n /* Error helpers */\n createRequestError(error) {\n if (TwitterApiV2Settings.debug) {\n TwitterApiV2Settings.logger.log('Request error:', error);\n }\n return new ApiRequestError('Request failed.', {\n request: this.req,\n error,\n });\n }\n createPartialResponseError(error, abortClose) {\n const res = this.res;\n let message = `Request failed with partial response with HTTP code ${res.statusCode}`;\n if (abortClose) {\n message += ' (connection abruptly closed)';\n }\n else {\n message += ' (parse error)';\n }\n return new ApiPartialResponseError(message, {\n request: this.req,\n response: this.res,\n responseError: error,\n rawContent: Buffer.concat(this.responseData).toString(),\n });\n }\n formatV1Errors(errors) {\n return errors\n .map(({ code, message }) => `${message} (Twitter code ${code})`)\n .join(', ');\n }\n formatV2Error(error) {\n return `${error.title}: ${error.detail} (see ${error.type})`;\n }\n createResponseError({ res, data, rateLimit, code }) {\n var _a;\n if (TwitterApiV2Settings.debug) {\n TwitterApiV2Settings.logger.log(`Request failed with code ${code}, data:`, data);\n TwitterApiV2Settings.logger.log('Response headers:', res.headers);\n }\n // Errors formatting.\n let errorString = `Request failed with code ${code}`;\n if ((_a = data === null || data === void 0 ? void 0 : data.errors) === null || _a === void 0 ? void 0 : _a.length) {\n const errors = data.errors;\n if (typeof errors[0] === 'object' && 'code' in errors[0]) {\n errorString += ' - ' + this.formatV1Errors(errors);\n }\n else {\n errorString += ' - ' + this.formatV2Error(data);\n }\n }\n return new ApiResponseError(errorString, {\n code,\n data,\n headers: res.headers,\n request: this.req,\n response: res,\n rateLimit,\n });\n }\n /* Response helpers */\n getResponseDataStream(res) {\n if (this.isCompressionDisabled()) {\n return res;\n }\n const contentEncoding = (res.headers['content-encoding'] || 'identity').trim().toLowerCase();\n if (contentEncoding === 'br') {\n const brotli = zlib.createBrotliDecompress({\n flush: zlib.constants.BROTLI_OPERATION_FLUSH,\n finishFlush: zlib.constants.BROTLI_OPERATION_FLUSH,\n });\n res.pipe(brotli);\n return brotli;\n }\n if (contentEncoding === 'gzip') {\n const gunzip = zlib.createGunzip({\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH,\n });\n res.pipe(gunzip);\n return gunzip;\n }\n if (contentEncoding === 'deflate') {\n const inflate = zlib.createInflate({\n flush: zlib.constants.Z_SYNC_FLUSH,\n finishFlush: zlib.constants.Z_SYNC_FLUSH,\n });\n res.pipe(inflate);\n return inflate;\n }\n return res;\n }\n detectResponseType(res) {\n var _a, _b;\n // Auto parse if server responds with JSON body\n if (((_a = res.headers['content-type']) === null || _a === void 0 ? void 0 : _a.includes('application/json')) || ((_b = res.headers['content-type']) === null || _b === void 0 ? void 0 : _b.includes('application/problem+json'))) {\n return 'json';\n }\n // f-e oauth token endpoints\n else if (this.isFormEncodedEndpoint()) {\n return 'url';\n }\n return 'text';\n }\n getParsedResponse(res) {\n const data = this.responseData;\n const mode = this.requestData.forceParseMode || this.detectResponseType(res);\n if (mode === 'buffer') {\n return Buffer.concat(data);\n }\n else if (mode === 'text') {\n return Buffer.concat(data).toString();\n }\n else if (mode === 'json') {\n const asText = Buffer.concat(data).toString();\n return asText.length ? JSON.parse(asText) : undefined;\n }\n else if (mode === 'url') {\n const asText = Buffer.concat(data).toString();\n const formEntries = {};\n for (const [item, value] of new URLSearchParams(asText)) {\n formEntries[item] = value;\n }\n return formEntries;\n }\n else {\n // mode === 'none'\n return undefined;\n }\n }\n getRateLimitFromResponse(res) {\n let rateLimit = undefined;\n if (res.headers['x-rate-limit-limit']) {\n rateLimit = {\n limit: Number(res.headers['x-rate-limit-limit']),\n remaining: Number(res.headers['x-rate-limit-remaining']),\n reset: Number(res.headers['x-rate-limit-reset']),\n };\n if (res.headers['x-app-limit-24hour-limit']) {\n rateLimit.day = {\n limit: Number(res.headers['x-app-limit-24hour-limit']),\n remaining: Number(res.headers['x-app-limit-24hour-remaining']),\n reset: Number(res.headers['x-app-limit-24hour-reset']),\n };\n }\n if (res.headers['x-user-limit-24hour-limit']) {\n rateLimit.userDay = {\n limit: Number(res.headers['x-user-limit-24hour-limit']),\n remaining: Number(res.headers['x-user-limit-24hour-remaining']),\n reset: Number(res.headers['x-user-limit-24hour-reset']),\n };\n }\n if (this.requestData.rateLimitSaver) {\n this.requestData.rateLimitSaver(rateLimit);\n }\n }\n return rateLimit;\n }\n /* Request event handlers */\n onSocketEventHandler(reject, cleanupListener, socket) {\n const onClose = this.onSocketCloseHandler.bind(this, reject);\n socket.on('close', onClose);\n cleanupListener.on('complete', () => socket.off('close', onClose));\n }\n onSocketCloseHandler(reject) {\n this.req.removeAllListeners('timeout');\n const res = this.res;\n if (res) {\n // Response ok, res.close/res.end can handle request ending\n return;\n }\n if (!this.requestErrorHandled) {\n return reject(this.createRequestError(new Error('Socket closed without any information.')));\n }\n // else: other situation\n }\n requestErrorHandler(reject, requestError) {\n var _a, _b;\n (_b = (_a = this.requestData).requestEventDebugHandler) === null || _b === void 0 ? void 0 : _b.call(_a, 'request-error', { requestError });\n this.requestErrorHandled = true;\n reject(this.createRequestError(requestError));\n }\n timeoutErrorHandler() {\n this.requestErrorHandled = true;\n this.req.destroy(new Error('Request timeout.'));\n }\n /* Response event handlers */\n classicResponseHandler(resolve, reject, res) {\n this.res = res;\n const dataStream = this.getResponseDataStream(res);\n // Register the response data\n dataStream.on('data', chunk => this.responseData.push(chunk));\n dataStream.on('end', this.onResponseEndHandler.bind(this, resolve, reject));\n dataStream.on('close', this.onResponseCloseHandler.bind(this, resolve, reject));\n // Debug handlers\n if (this.requestData.requestEventDebugHandler) {\n this.requestData.requestEventDebugHandler('response', { res });\n res.on('aborted', error => this.requestData.requestEventDebugHandler('response-aborted', { error }));\n res.on('error', error => this.requestData.requestEventDebugHandler('response-error', { error }));\n res.on('close', () => this.requestData.requestEventDebugHandler('response-close', { data: this.responseData }));\n res.on('end', () => this.requestData.requestEventDebugHandler('response-end'));\n }\n }\n onResponseEndHandler(resolve, reject) {\n const rateLimit = this.getRateLimitFromResponse(this.res);\n let data;\n try {\n data = this.getParsedResponse(this.res);\n }\n catch (e) {\n reject(this.createPartialResponseError(e, false));\n return;\n }\n // Handle bad error codes\n const code = this.res.statusCode;\n if (code >= 400) {\n reject(this.createResponseError({ data, res: this.res, rateLimit, code }));\n return;\n }\n if (TwitterApiV2Settings.debug) {\n TwitterApiV2Settings.logger.log(`[${this.requestData.options.method} ${this.hrefPathname}]: Request succeeds with code ${this.res.statusCode}`);\n TwitterApiV2Settings.logger.log('Response body:', data);\n }\n resolve({\n data,\n headers: this.res.headers,\n rateLimit,\n });\n }\n onResponseCloseHandler(resolve, reject) {\n const res = this.res;\n if (res.aborted) {\n // Try to parse the request (?)\n try {\n this.getParsedResponse(this.res);\n // Ok, try to resolve normally the request\n return this.onResponseEndHandler(resolve, reject);\n }\n catch (e) {\n // Parse error, just drop with content\n return reject(this.createPartialResponseError(e, true));\n }\n }\n if (!res.complete) {\n return reject(this.createPartialResponseError(new Error('Response has been interrupted before response could be parsed.'), true));\n }\n // else: end has been called\n }\n streamResponseHandler(resolve, reject, res) {\n const code = res.statusCode;\n if (code < 400) {\n if (TwitterApiV2Settings.debug) {\n TwitterApiV2Settings.logger.log(`[${this.requestData.options.method} ${this.hrefPathname}]: Request succeeds with code ${res.statusCode} (starting stream)`);\n }\n const dataStream = this.getResponseDataStream(res);\n // HTTP code ok, consume stream\n resolve({ req: this.req, res: dataStream, originalResponse: res, requestData: this.requestData });\n }\n else {\n // Handle response normally, can only rejects\n this.classicResponseHandler(() => undefined, reject, res);\n }\n }\n /* Wrappers for request lifecycle */\n debugRequest() {\n const url = this.requestData.url;\n TwitterApiV2Settings.logger.log(`[${this.requestData.options.method} ${this.hrefPathname}]`, this.requestData.options);\n if (url.search) {\n TwitterApiV2Settings.logger.log('Request parameters:', [...url.searchParams.entries()].map(([key, value]) => `${key}: ${value}`));\n }\n if (this.requestData.body) {\n TwitterApiV2Settings.logger.log('Request body:', this.requestData.body);\n }\n }\n buildRequest() {\n var _a;\n const url = this.requestData.url;\n const auth = url.username ? `${url.username}:${url.password}` : undefined;\n const headers = (_a = this.requestData.options.headers) !== null && _a !== void 0 ? _a : {};\n if (this.requestData.compression === true || this.requestData.compression === 'brotli') {\n headers['accept-encoding'] = 'br;q=1.0, gzip;q=0.8, deflate;q=0.5, *;q=0.1';\n }\n else if (this.requestData.compression === 'gzip') {\n headers['accept-encoding'] = 'gzip;q=1, deflate;q=0.5, *;q=0.1';\n }\n else if (this.requestData.compression === 'deflate') {\n headers['accept-encoding'] = 'deflate;q=1, *;q=0.1';\n }\n if (TwitterApiV2Settings.debug) {\n this.debugRequest();\n }\n this.req = request({\n ...this.requestData.options,\n // Define URL params manually, addresses dependencies error https://github.com/PLhery/node-twitter-api-v2/issues/94\n host: url.hostname,\n port: url.port || undefined,\n path: url.pathname + url.search,\n protocol: url.protocol,\n auth,\n headers,\n });\n }\n registerRequestEventDebugHandlers(req) {\n req.on('close', () => this.requestData.requestEventDebugHandler('close'));\n req.on('abort', () => this.requestData.requestEventDebugHandler('abort'));\n req.on('socket', socket => {\n this.requestData.requestEventDebugHandler('socket', { socket });\n socket.on('error', error => this.requestData.requestEventDebugHandler('socket-error', { socket, error }));\n socket.on('connect', () => this.requestData.requestEventDebugHandler('socket-connect', { socket }));\n socket.on('close', withError => this.requestData.requestEventDebugHandler('socket-close', { socket, withError }));\n socket.on('end', () => this.requestData.requestEventDebugHandler('socket-end', { socket }));\n socket.on('lookup', (...data) => this.requestData.requestEventDebugHandler('socket-lookup', { socket, data }));\n socket.on('timeout', () => this.requestData.requestEventDebugHandler('socket-timeout', { socket }));\n });\n }\n makeRequest() {\n this.buildRequest();\n return new Promise((_resolve, _reject) => {\n // Hooks to call when promise is fulfulled to cleanup the socket (shared between requests)\n const resolve = value => {\n cleanupListener.emit('complete');\n _resolve(value);\n };\n const reject = value => {\n cleanupListener.emit('complete');\n _reject(value);\n };\n const cleanupListener = new EventEmitter();\n const req = this.req;\n // Handle request errors\n req.on('error', this.requestErrorHandler.bind(this, reject));\n req.on('socket', this.onSocketEventHandler.bind(this, reject, cleanupListener));\n req.on('response', this.classicResponseHandler.bind(this, resolve, reject));\n if (this.requestData.options.timeout) {\n req.on('timeout', this.timeoutErrorHandler.bind(this));\n }\n // Debug handlers\n if (this.requestData.requestEventDebugHandler) {\n this.registerRequestEventDebugHandlers(req);\n }\n if (this.requestData.body) {\n req.write(this.requestData.body);\n }\n req.end();\n });\n }\n async makeRequestAsStream() {\n const { req, res, requestData, originalResponse } = await this.makeRequestAndResolveWhenReady();\n return new TweetStream(requestData, { req, res, originalResponse });\n }\n makeRequestAndResolveWhenReady() {\n this.buildRequest();\n return new Promise((resolve, reject) => {\n const req = this.req;\n // Handle request errors\n req.on('error', this.requestErrorHandler.bind(this, reject));\n req.on('response', this.streamResponseHandler.bind(this, resolve, reject));\n if (this.requestData.body) {\n req.write(this.requestData.body);\n }\n req.end();\n });\n }\n}\nexport default RequestHandlerHelper;\n",
|
|
362
|
+
"import { EventEmitter } from 'events';\nimport { ETwitterStreamEvent } from '../types';\nexport class TweetStreamEventCombiner extends EventEmitter {\n constructor(stream) {\n super();\n this.stream = stream;\n this.stack = [];\n this.onStreamData = this.onStreamData.bind(this);\n this.onStreamError = this.onStreamError.bind(this);\n this.onceNewEvent = this.once.bind(this, 'event');\n // Init events from stream\n stream.on(ETwitterStreamEvent.Data, this.onStreamData);\n // Ignore reconnect errors: Don't close event combiner until connection error/closed\n stream.on(ETwitterStreamEvent.ConnectionError, this.onStreamError);\n stream.on(ETwitterStreamEvent.TweetParseError, this.onStreamError);\n stream.on(ETwitterStreamEvent.ConnectionClosed, this.onStreamError);\n }\n /** Returns a new `Promise` that will `resolve` on next event (`data` or any sort of error). */\n nextEvent() {\n return new Promise(this.onceNewEvent);\n }\n /** Returns `true` if there's something in the stack. */\n hasStack() {\n return this.stack.length > 0;\n }\n /** Returns stacked data events, and clean the stack. */\n popStack() {\n const stack = this.stack;\n this.stack = [];\n return stack;\n }\n /** Cleanup all the listeners attached on stream. */\n destroy() {\n this.removeAllListeners();\n this.stream.off(ETwitterStreamEvent.Data, this.onStreamData);\n this.stream.off(ETwitterStreamEvent.ConnectionError, this.onStreamError);\n this.stream.off(ETwitterStreamEvent.TweetParseError, this.onStreamError);\n this.stream.off(ETwitterStreamEvent.ConnectionClosed, this.onStreamError);\n }\n emitEvent(type, payload) {\n this.emit('event', { type, payload });\n }\n onStreamError(payload) {\n this.emitEvent('error', payload);\n }\n onStreamData(payload) {\n this.stack.push(payload);\n this.emitEvent('data', payload);\n }\n}\nexport default TweetStreamEventCombiner;\n",
|
|
363
|
+
"import { EventEmitter } from 'events';\nexport default class TweetStreamParser extends EventEmitter {\n constructor() {\n super(...arguments);\n this.currentMessage = '';\n }\n // Code partially belongs to twitter-stream-api for this\n // https://github.com/trygve-lie/twitter-stream-api/blob/master/lib/parser.js\n push(chunk) {\n this.currentMessage += chunk;\n chunk = this.currentMessage;\n const size = chunk.length;\n let start = 0;\n let offset = 0;\n while (offset < size) {\n // Take [offset, offset+1] inside a new string\n if (chunk.slice(offset, offset + 2) === '\\r\\n') {\n // If chunk contains \\r\\n after current offset,\n // parse [start, ..., offset] as a tweet\n const piece = chunk.slice(start, offset);\n start = offset += 2;\n // If empty object\n if (!piece.length) {\n continue;\n }\n try {\n const payload = JSON.parse(piece);\n if (payload) {\n this.emit(EStreamParserEvent.ParsedData, payload);\n continue;\n }\n }\n catch (error) {\n this.emit(EStreamParserEvent.ParseError, error);\n }\n }\n offset++;\n }\n this.currentMessage = chunk.slice(start, size);\n }\n /** Reset the currently stored message (f.e. on connection reset) */\n reset() {\n this.currentMessage = '';\n }\n}\nexport var EStreamParserEvent;\n(function (EStreamParserEvent) {\n EStreamParserEvent[\"ParsedData\"] = \"parsed data\";\n EStreamParserEvent[\"ParseError\"] = \"parse error\";\n})(EStreamParserEvent || (EStreamParserEvent = {}));\n",
|
|
364
|
+
"import { ApiPartialResponseError, ApiRequestError, ApiResponseError, TwitterApiPluginResponseOverride } from '../types';\n/* Plugin helpers */\nexport function hasRequestErrorPlugins(client) {\n var _a;\n if (!((_a = client.clientSettings.plugins) === null || _a === void 0 ? void 0 : _a.length)) {\n return false;\n }\n for (const plugin of client.clientSettings.plugins) {\n if (plugin.onRequestError || plugin.onResponseError) {\n return true;\n }\n }\n return false;\n}\nexport async function applyResponseHooks(requestParams, computedParams, requestOptions, error) {\n let override;\n if (error instanceof ApiRequestError || error instanceof ApiPartialResponseError) {\n override = await this.applyPluginMethod('onRequestError', {\n client: this,\n url: this.getUrlObjectFromUrlString(requestParams.url),\n params: requestParams,\n computedParams,\n requestOptions,\n error,\n });\n }\n else if (error instanceof ApiResponseError) {\n override = await this.applyPluginMethod('onResponseError', {\n client: this,\n url: this.getUrlObjectFromUrlString(requestParams.url),\n params: requestParams,\n computedParams,\n requestOptions,\n error,\n });\n }\n if (override && override instanceof TwitterApiPluginResponseOverride) {\n return override.value;\n }\n return Promise.reject(error);\n}\n",
|
|
365
|
+
"import * as crypto from 'crypto';\nexport class OAuth1Helper {\n constructor(options) {\n this.nonceLength = 32;\n this.consumerKeys = options.consumerKeys;\n }\n static percentEncode(str) {\n return encodeURIComponent(str)\n .replace(/!/g, '%21')\n .replace(/\\*/g, '%2A')\n .replace(/'/g, '%27')\n .replace(/\\(/g, '%28')\n .replace(/\\)/g, '%29');\n }\n hash(base, key) {\n return crypto\n .createHmac('sha1', key)\n .update(base)\n .digest('base64');\n }\n authorize(request, accessTokens = {}) {\n const oauthInfo = {\n oauth_consumer_key: this.consumerKeys.key,\n oauth_nonce: this.getNonce(),\n oauth_signature_method: 'HMAC-SHA1',\n oauth_timestamp: this.getTimestamp(),\n oauth_version: '1.0',\n };\n if (accessTokens.key !== undefined) {\n oauthInfo.oauth_token = accessTokens.key;\n }\n if (!request.data) {\n request.data = {};\n }\n oauthInfo.oauth_signature = this.getSignature(request, accessTokens.secret, oauthInfo);\n return oauthInfo;\n }\n toHeader(oauthInfo) {\n const sorted = sortObject(oauthInfo);\n let header_value = 'OAuth ';\n for (const element of sorted) {\n if (element.key.indexOf('oauth_') !== 0) {\n continue;\n }\n header_value += OAuth1Helper.percentEncode(element.key) + '=\"' + OAuth1Helper.percentEncode(element.value) + '\",';\n }\n return {\n // Remove the last ,\n Authorization: header_value.slice(0, header_value.length - 1),\n };\n }\n getNonce() {\n const wordCharacters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\n let result = '';\n for (let i = 0; i < this.nonceLength; i++) {\n result += wordCharacters[Math.trunc(Math.random() * wordCharacters.length)];\n }\n return result;\n }\n getTimestamp() {\n return Math.trunc(new Date().getTime() / 1000);\n }\n getSignature(request, tokenSecret, oauthInfo) {\n return this.hash(this.getBaseString(request, oauthInfo), this.getSigningKey(tokenSecret));\n }\n getSigningKey(tokenSecret) {\n return OAuth1Helper.percentEncode(this.consumerKeys.secret) + '&' + OAuth1Helper.percentEncode(tokenSecret || '');\n }\n getBaseString(request, oauthInfo) {\n return request.method.toUpperCase() + '&'\n + OAuth1Helper.percentEncode(this.getBaseUrl(request.url)) + '&'\n + OAuth1Helper.percentEncode(this.getParameterString(request, oauthInfo));\n }\n getParameterString(request, oauthInfo) {\n const baseStringData = sortObject(percentEncodeData(mergeObject(oauthInfo, mergeObject(request.data, deParamUrl(request.url)))));\n let dataStr = '';\n for (const { key, value } of baseStringData) {\n // check if the value is an array\n // this means that this key has multiple values\n if (value && Array.isArray(value)) {\n // sort the array first\n value.sort();\n let valString = '';\n // serialize all values for this key: e.g. formkey=formvalue1&formkey=formvalue2\n value.forEach((item, i) => {\n valString += key + '=' + item;\n if (i < value.length) {\n valString += '&';\n }\n });\n dataStr += valString;\n }\n else {\n dataStr += key + '=' + value + '&';\n }\n }\n // Remove the last character\n return dataStr.slice(0, dataStr.length - 1);\n }\n getBaseUrl(url) {\n return url.split('?')[0];\n }\n}\nexport default OAuth1Helper;\n// Helper functions //\nfunction mergeObject(obj1, obj2) {\n return {\n ...obj1 || {},\n ...obj2 || {},\n };\n}\nfunction sortObject(data) {\n return Object.keys(data)\n .sort()\n .map(key => ({ key, value: data[key] }));\n}\nfunction deParam(string) {\n const split = string.split('&');\n const data = {};\n for (const coupleKeyValue of split) {\n const [key, value = ''] = coupleKeyValue.split('=');\n // check if the key already exists\n // this can occur if the QS part of the url contains duplicate keys like this: ?formkey=formvalue1&formkey=formvalue2\n if (data[key]) {\n // the key exists already\n if (!Array.isArray(data[key])) {\n // replace the value with an array containing the already present value\n data[key] = [data[key]];\n }\n // and add the new found value to it\n data[key].push(decodeURIComponent(value));\n }\n else {\n // it doesn't exist, just put the found value in the data object\n data[key] = decodeURIComponent(value);\n }\n }\n return data;\n}\nfunction deParamUrl(url) {\n const tmp = url.split('?');\n if (tmp.length === 1)\n return {};\n return deParam(tmp[1]);\n}\nfunction percentEncodeData(data) {\n const result = {};\n for (const key in data) {\n let value = data[key];\n // check if the value is an array\n if (value && Array.isArray(value)) {\n value = value.map(v => OAuth1Helper.percentEncode(v));\n }\n else {\n value = OAuth1Helper.percentEncode(value);\n }\n result[OAuth1Helper.percentEncode(key)] = value;\n }\n return result;\n}\n",
|
|
366
|
+
"import { arrayWrap } from '../helpers';\n// This class is partially inspired by https://github.com/form-data/form-data/blob/master/lib/form_data.js\n// All credits to their authors.\nexport class FormDataHelper {\n constructor() {\n this._boundary = '';\n this._chunks = [];\n }\n bodyAppend(...values) {\n const allAsBuffer = values.map(val => val instanceof Buffer ? val : Buffer.from(val));\n this._chunks.push(...allAsBuffer);\n }\n append(field, value, contentType) {\n const convertedValue = value instanceof Buffer ? value : value.toString();\n const header = this.getMultipartHeader(field, convertedValue, contentType);\n this.bodyAppend(header, convertedValue, FormDataHelper.LINE_BREAK);\n }\n getHeaders() {\n return {\n 'content-type': 'multipart/form-data; boundary=' + this.getBoundary(),\n };\n }\n /** Length of form-data (including footer length). */\n getLength() {\n return this._chunks.reduce((acc, cur) => acc + cur.length, this.getMultipartFooter().length);\n }\n getBuffer() {\n const allChunks = [...this._chunks, this.getMultipartFooter()];\n const totalBuffer = Buffer.alloc(this.getLength());\n let i = 0;\n for (const chunk of allChunks) {\n for (let j = 0; j < chunk.length; i++, j++) {\n totalBuffer[i] = chunk[j];\n }\n }\n return totalBuffer;\n }\n getBoundary() {\n if (!this._boundary) {\n this.generateBoundary();\n }\n return this._boundary;\n }\n generateBoundary() {\n // This generates a 50 character boundary similar to those used by Firefox.\n let boundary = '--------------------------';\n for (let i = 0; i < 24; i++) {\n boundary += Math.floor(Math.random() * 10).toString(16);\n }\n this._boundary = boundary;\n }\n getMultipartHeader(field, value, contentType) {\n // In this lib no need to guess more the content type, octet stream is ok of buffers\n if (!contentType) {\n contentType = value instanceof Buffer ? FormDataHelper.DEFAULT_CONTENT_TYPE : '';\n }\n const headers = {\n 'Content-Disposition': ['form-data', `name=\"${field}\"`],\n 'Content-Type': contentType,\n };\n let contents = '';\n for (const [prop, header] of Object.entries(headers)) {\n // skip nullish headers.\n if (!header.length) {\n continue;\n }\n contents += prop + ': ' + arrayWrap(header).join('; ') + FormDataHelper.LINE_BREAK;\n }\n return '--' + this.getBoundary() + FormDataHelper.LINE_BREAK + contents + FormDataHelper.LINE_BREAK;\n }\n getMultipartFooter() {\n if (this._footerChunk) {\n return this._footerChunk;\n }\n return this._footerChunk = Buffer.from('--' + this.getBoundary() + '--' + FormDataHelper.LINE_BREAK);\n }\n}\nFormDataHelper.LINE_BREAK = '\\r\\n';\nFormDataHelper.DEFAULT_CONTENT_TYPE = 'application/octet-stream';\n",
|
|
367
|
+
"import { FormDataHelper } from './form-data.helper';\nimport OAuth1Helper from './oauth1.helper';\n/* Helpers functions that are specific to this class but do not depends on instance */\nexport class RequestParamHelpers {\n static formatQueryToString(query) {\n const formattedQuery = {};\n for (const prop in query) {\n if (typeof query[prop] === 'string') {\n formattedQuery[prop] = query[prop];\n }\n else if (typeof query[prop] !== 'undefined') {\n formattedQuery[prop] = String(query[prop]);\n }\n }\n return formattedQuery;\n }\n static autoDetectBodyType(url) {\n if (url.pathname.startsWith('/2/') || url.pathname.startsWith('/labs/2/')) {\n // oauth2 takes url encoded\n if (url.password.startsWith('/2/oauth2')) {\n return 'url';\n }\n // Twitter API v2 has JSON-encoded requests for everything else\n return 'json';\n }\n if (url.hostname === 'upload.x.com') {\n if (url.pathname === '/1.1/media/upload.json') {\n return 'form-data';\n }\n // json except for media/upload command, that is form-data.\n return 'json';\n }\n const endpoint = url.pathname.split('/1.1/', 2)[1];\n if (this.JSON_1_1_ENDPOINTS.has(endpoint)) {\n return 'json';\n }\n return 'url';\n }\n static addQueryParamsToUrl(url, query) {\n const queryEntries = Object.entries(query);\n if (queryEntries.length) {\n let search = '';\n for (const [key, value] of queryEntries) {\n search += (search.length ? '&' : '?') + `${OAuth1Helper.percentEncode(key)}=${OAuth1Helper.percentEncode(value)}`;\n }\n url.search = search;\n }\n }\n static constructBodyParams(body, headers, mode) {\n if (body instanceof Buffer) {\n return body;\n }\n if (mode === 'json') {\n if (!headers['content-type']) {\n headers['content-type'] = 'application/json;charset=UTF-8';\n }\n return JSON.stringify(body);\n }\n else if (mode === 'url') {\n if (!headers['content-type']) {\n headers['content-type'] = 'application/x-www-form-urlencoded;charset=UTF-8';\n }\n if (Object.keys(body).length) {\n return new URLSearchParams(body)\n .toString()\n .replace(/\\*/g, '%2A'); // URLSearchParams doesnt encode '*', but Twitter wants it encoded.\n }\n return '';\n }\n else if (mode === 'raw') {\n throw new Error('You can only use raw body mode with Buffers. To give a string, use Buffer.from(str).');\n }\n else {\n const form = new FormDataHelper();\n for (const parameter in body) {\n form.append(parameter, body[parameter]);\n }\n if (!headers['content-type']) {\n const formHeaders = form.getHeaders();\n headers['content-type'] = formHeaders['content-type'];\n }\n return form.getBuffer();\n }\n }\n static setBodyLengthHeader(options, body) {\n var _a;\n options.headers = (_a = options.headers) !== null && _a !== void 0 ? _a : {};\n if (typeof body === 'string') {\n options.headers['content-length'] = Buffer.byteLength(body);\n }\n else {\n options.headers['content-length'] = body.length;\n }\n }\n static isOAuthSerializable(item) {\n return !(item instanceof Buffer);\n }\n static mergeQueryAndBodyForOAuth(query, body) {\n const parameters = {};\n for (const prop in query) {\n parameters[prop] = query[prop];\n }\n if (this.isOAuthSerializable(body)) {\n for (const prop in body) {\n const bodyProp = body[prop];\n if (this.isOAuthSerializable(bodyProp)) {\n parameters[prop] = typeof bodyProp === 'object' && bodyProp !== null && 'toString' in bodyProp\n ? bodyProp.toString()\n : bodyProp;\n }\n }\n }\n return parameters;\n }\n static moveUrlQueryParamsIntoObject(url, query) {\n for (const [param, value] of url.searchParams) {\n query[param] = value;\n }\n // Remove the query string\n url.search = '';\n return url;\n }\n /**\n * Replace URL parameters available in pathname, like `:id`, with data given in `parameters`:\n * `https://x.com/:id.json` + `{ id: '20' }` => `https://x.com/20.json`\n */\n static applyRequestParametersToUrl(url, parameters) {\n url.pathname = url.pathname.replace(/:([A-Z_-]+)/ig, (fullMatch, paramName) => {\n if (parameters[paramName] !== undefined) {\n return String(parameters[paramName]);\n }\n return fullMatch;\n });\n return url;\n }\n}\nRequestParamHelpers.JSON_1_1_ENDPOINTS = new Set([\n 'direct_messages/events/new.json',\n 'direct_messages/welcome_messages/new.json',\n 'direct_messages/welcome_messages/rules/new.json',\n 'media/metadata/create.json',\n 'collections/entries/curate.json',\n]);\nexport default RequestParamHelpers;\n",
|
|
368
|
+
"import * as crypto from 'crypto';\nexport class OAuth2Helper {\n static getCodeVerifier() {\n return this.generateRandomString(128);\n }\n static getCodeChallengeFromVerifier(verifier) {\n return this.escapeBase64Url(crypto\n .createHash('sha256')\n .update(verifier)\n .digest('base64'));\n }\n static getAuthHeader(clientId, clientSecret) {\n const key = encodeURIComponent(clientId) + ':' + encodeURIComponent(clientSecret);\n return Buffer.from(key).toString('base64');\n }\n static generateRandomString(length) {\n let text = '';\n const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n for (let i = 0; i < length; i++) {\n text += possible[Math.floor(Math.random() * possible.length)];\n }\n return text;\n }\n static escapeBase64Url(string) {\n return string.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n}\n",
|
|
369
|
+
"import { TwitterApiPluginResponseOverride } from '../types';\nimport TweetStream from '../stream/TweetStream';\nimport { applyResponseHooks, hasRequestErrorPlugins } from '../plugins/helpers';\nimport { trimUndefinedProperties } from '../helpers';\nimport OAuth1Helper from './oauth1.helper';\nimport RequestHandlerHelper from './request-handler.helper';\nimport RequestParamHelpers from './request-param.helper';\nimport { OAuth2Helper } from './oauth2.helper';\nexport class ClientRequestMaker {\n constructor(settings) {\n this.rateLimits = {};\n this.clientSettings = {};\n if (settings) {\n this.clientSettings = settings;\n }\n }\n /** @deprecated - Switch to `@twitter-api-v2/plugin-rate-limit` */\n getRateLimits() {\n return this.rateLimits;\n }\n saveRateLimit(originalUrl, rateLimit) {\n this.rateLimits[originalUrl] = rateLimit;\n }\n /** Send a new request and returns a wrapped `Promise<TwitterResponse<T>`. */\n async send(requestParams) {\n var _a, _b, _c, _d, _e;\n // Pre-request config hooks\n if ((_a = this.clientSettings.plugins) === null || _a === void 0 ? void 0 : _a.length) {\n const possibleResponse = await this.applyPreRequestConfigHooks(requestParams);\n if (possibleResponse) {\n return possibleResponse;\n }\n }\n const args = this.getHttpRequestArgs(requestParams);\n const options = {\n method: args.method,\n headers: args.headers,\n timeout: requestParams.timeout,\n agent: this.clientSettings.httpAgent,\n };\n const enableRateLimitSave = requestParams.enableRateLimitSave !== false;\n if (args.body) {\n RequestParamHelpers.setBodyLengthHeader(options, args.body);\n }\n // Pre-request hooks\n if ((_b = this.clientSettings.plugins) === null || _b === void 0 ? void 0 : _b.length) {\n await this.applyPreRequestHooks(requestParams, args, options);\n }\n let request = new RequestHandlerHelper({\n url: args.url,\n options,\n body: args.body,\n rateLimitSaver: enableRateLimitSave ? this.saveRateLimit.bind(this, args.rawUrl) : undefined,\n requestEventDebugHandler: requestParams.requestEventDebugHandler,\n compression: (_d = (_c = requestParams.compression) !== null && _c !== void 0 ? _c : this.clientSettings.compression) !== null && _d !== void 0 ? _d : true,\n forceParseMode: requestParams.forceParseMode,\n })\n .makeRequest();\n if (hasRequestErrorPlugins(this)) {\n request = this.applyResponseErrorHooks(requestParams, args, options, request);\n }\n const response = await request;\n // Post-request hooks\n if ((_e = this.clientSettings.plugins) === null || _e === void 0 ? void 0 : _e.length) {\n const responseOverride = await this.applyPostRequestHooks(requestParams, args, options, response);\n if (responseOverride) {\n return responseOverride.value;\n }\n }\n return response;\n }\n sendStream(requestParams) {\n var _a, _b;\n // Pre-request hooks\n if (this.clientSettings.plugins) {\n this.applyPreStreamRequestConfigHooks(requestParams);\n }\n const args = this.getHttpRequestArgs(requestParams);\n const options = {\n method: args.method,\n headers: args.headers,\n agent: this.clientSettings.httpAgent,\n };\n const enableRateLimitSave = requestParams.enableRateLimitSave !== false;\n const enableAutoConnect = requestParams.autoConnect !== false;\n if (args.body) {\n RequestParamHelpers.setBodyLengthHeader(options, args.body);\n }\n const requestData = {\n url: args.url,\n options,\n body: args.body,\n rateLimitSaver: enableRateLimitSave ? this.saveRateLimit.bind(this, args.rawUrl) : undefined,\n payloadIsError: requestParams.payloadIsError,\n compression: (_b = (_a = requestParams.compression) !== null && _a !== void 0 ? _a : this.clientSettings.compression) !== null && _b !== void 0 ? _b : true,\n };\n const stream = new TweetStream(requestData);\n if (!enableAutoConnect) {\n return stream;\n }\n return stream.connect();\n }\n /* Token helpers */\n initializeToken(token) {\n if (typeof token === 'string') {\n this.bearerToken = token;\n }\n else if (typeof token === 'object' && 'appKey' in token) {\n this.consumerToken = token.appKey;\n this.consumerSecret = token.appSecret;\n if (token.accessToken && token.accessSecret) {\n this.accessToken = token.accessToken;\n this.accessSecret = token.accessSecret;\n }\n this._oauth = this.buildOAuth();\n }\n else if (typeof token === 'object' && 'username' in token) {\n const key = encodeURIComponent(token.username) + ':' + encodeURIComponent(token.password);\n this.basicToken = Buffer.from(key).toString('base64');\n }\n else if (typeof token === 'object' && 'clientId' in token) {\n this.clientId = token.clientId;\n this.clientSecret = token.clientSecret;\n }\n }\n getActiveTokens() {\n if (this.bearerToken) {\n return {\n type: 'oauth2',\n bearerToken: this.bearerToken,\n };\n }\n else if (this.basicToken) {\n return {\n type: 'basic',\n token: this.basicToken,\n };\n }\n else if (this.consumerSecret && this._oauth) {\n return {\n type: 'oauth-1.0a',\n appKey: this.consumerToken,\n appSecret: this.consumerSecret,\n accessToken: this.accessToken,\n accessSecret: this.accessSecret,\n };\n }\n else if (this.clientId) {\n return {\n type: 'oauth2-user',\n clientId: this.clientId,\n };\n }\n return { type: 'none' };\n }\n buildOAuth() {\n if (!this.consumerSecret || !this.consumerToken)\n throw new Error('Invalid consumer tokens');\n return new OAuth1Helper({\n consumerKeys: { key: this.consumerToken, secret: this.consumerSecret },\n });\n }\n getOAuthAccessTokens() {\n if (!this.accessSecret || !this.accessToken)\n return;\n return {\n key: this.accessToken,\n secret: this.accessSecret,\n };\n }\n /* Plugin helpers */\n getPlugins() {\n var _a;\n return (_a = this.clientSettings.plugins) !== null && _a !== void 0 ? _a : [];\n }\n hasPlugins() {\n var _a;\n return !!((_a = this.clientSettings.plugins) === null || _a === void 0 ? void 0 : _a.length);\n }\n async applyPluginMethod(method, args) {\n var _a;\n let returnValue;\n for (const plugin of this.getPlugins()) {\n const value = await ((_a = plugin[method]) === null || _a === void 0 ? void 0 : _a.call(plugin, args));\n if (value && value instanceof TwitterApiPluginResponseOverride) {\n returnValue = value;\n }\n }\n return returnValue;\n }\n /* Request helpers */\n writeAuthHeaders({ headers, bodyInSignature, url, method, query, body }) {\n headers = { ...headers };\n if (this.bearerToken) {\n headers.Authorization = 'Bearer ' + this.bearerToken;\n }\n else if (this.basicToken) {\n // Basic auth, to request a bearer token\n headers.Authorization = 'Basic ' + this.basicToken;\n }\n else if (this.clientId && this.clientSecret) {\n // Basic auth with clientId + clientSecret\n headers.Authorization = 'Basic ' + OAuth2Helper.getAuthHeader(this.clientId, this.clientSecret);\n }\n else if (this.consumerSecret && this._oauth) {\n // Merge query and body\n const data = bodyInSignature ? RequestParamHelpers.mergeQueryAndBodyForOAuth(query, body) : query;\n const auth = this._oauth.authorize({\n url: url.toString(),\n method,\n data,\n }, this.getOAuthAccessTokens());\n headers = { ...headers, ...this._oauth.toHeader(auth) };\n }\n return headers;\n }\n getUrlObjectFromUrlString(url) {\n // Add protocol to URL if needed\n if (!url.startsWith('http')) {\n url = 'https://' + url;\n }\n // Convert URL to object that will receive all URL modifications\n return new URL(url);\n }\n getHttpRequestArgs({ url: stringUrl, method, query: rawQuery = {}, body: rawBody = {}, headers, forceBodyMode, enableAuth, params, }) {\n let body = undefined;\n method = method.toUpperCase();\n headers = headers !== null && headers !== void 0 ? headers : {};\n // Add user agent header (Twitter recommends it)\n if (!headers['x-user-agent']) {\n headers['x-user-agent'] = 'Node.twitter-api-v2';\n }\n const url = this.getUrlObjectFromUrlString(stringUrl);\n // URL without query string to save as endpoint name\n const rawUrl = url.origin + url.pathname;\n // Apply URL parameters\n if (params) {\n RequestParamHelpers.applyRequestParametersToUrl(url, params);\n }\n // Build a URL without anything in QS, and QSP in query\n const query = RequestParamHelpers.formatQueryToString(rawQuery);\n RequestParamHelpers.moveUrlQueryParamsIntoObject(url, query);\n // Delete undefined parameters\n if (!(rawBody instanceof Buffer)) {\n trimUndefinedProperties(rawBody);\n }\n // OAuth signature should not include parameters when using multipart.\n const bodyType = forceBodyMode !== null && forceBodyMode !== void 0 ? forceBodyMode : RequestParamHelpers.autoDetectBodyType(url);\n // If undefined or true, enable auth by headers\n if (enableAuth !== false) {\n // OAuth needs body signature only if body is URL encoded.\n const bodyInSignature = ClientRequestMaker.BODY_METHODS.has(method) && bodyType === 'url';\n headers = this.writeAuthHeaders({ headers, bodyInSignature, method, query, url, body: rawBody });\n }\n if (ClientRequestMaker.BODY_METHODS.has(method)) {\n body = RequestParamHelpers.constructBodyParams(rawBody, headers, bodyType) || undefined;\n }\n RequestParamHelpers.addQueryParamsToUrl(url, query);\n return {\n rawUrl,\n url,\n method,\n headers,\n body,\n };\n }\n /* Plugin helpers */\n async applyPreRequestConfigHooks(requestParams) {\n var _a;\n const url = this.getUrlObjectFromUrlString(requestParams.url);\n for (const plugin of this.getPlugins()) {\n const result = await ((_a = plugin.onBeforeRequestConfig) === null || _a === void 0 ? void 0 : _a.call(plugin, {\n client: this,\n url,\n params: requestParams,\n }));\n if (result) {\n return result;\n }\n }\n }\n applyPreStreamRequestConfigHooks(requestParams) {\n var _a;\n const url = this.getUrlObjectFromUrlString(requestParams.url);\n for (const plugin of this.getPlugins()) {\n (_a = plugin.onBeforeStreamRequestConfig) === null || _a === void 0 ? void 0 : _a.call(plugin, {\n client: this,\n url,\n params: requestParams,\n });\n }\n }\n async applyPreRequestHooks(requestParams, computedParams, requestOptions) {\n await this.applyPluginMethod('onBeforeRequest', {\n client: this,\n url: this.getUrlObjectFromUrlString(requestParams.url),\n params: requestParams,\n computedParams,\n requestOptions,\n });\n }\n async applyPostRequestHooks(requestParams, computedParams, requestOptions, response) {\n return await this.applyPluginMethod('onAfterRequest', {\n client: this,\n url: this.getUrlObjectFromUrlString(requestParams.url),\n params: requestParams,\n computedParams,\n requestOptions,\n response,\n });\n }\n applyResponseErrorHooks(requestParams, computedParams, requestOptions, promise) {\n return promise.catch(applyResponseHooks.bind(this, requestParams, computedParams, requestOptions));\n }\n}\nClientRequestMaker.BODY_METHODS = new Set(['POST', 'PUT', 'PATCH']);\n",
|
|
370
|
+
"import { ClientRequestMaker } from './client-mixins/request-maker.mixin';\nimport { sharedPromise } from './helpers';\nimport { API_V1_1_PREFIX, API_V2_PREFIX } from './globals';\n/**\n * Base class for Twitter instances\n */\nexport default class TwitterApiBase {\n constructor(token, settings = {}) {\n this._currentUser = null;\n this._currentUserV2 = null;\n if (token instanceof TwitterApiBase) {\n this._requestMaker = token._requestMaker;\n }\n else {\n this._requestMaker = new ClientRequestMaker(settings);\n this._requestMaker.initializeToken(token);\n }\n }\n /* Prefix/Token handling */\n setPrefix(prefix) {\n this._prefix = prefix;\n }\n cloneWithPrefix(prefix) {\n const clone = this.constructor(this);\n clone.setPrefix(prefix);\n return clone;\n }\n getActiveTokens() {\n return this._requestMaker.getActiveTokens();\n }\n /* Rate limit cache / Plugins */\n getPlugins() {\n return this._requestMaker.getPlugins();\n }\n getPluginOfType(type) {\n return this.getPlugins().find(plugin => plugin instanceof type);\n }\n /**\n * @deprecated - Migrate to plugin `@twitter-api-v2/plugin-rate-limit`\n *\n * Tells if you hit the Twitter rate limit for {endpoint}.\n * (local data only, this should not ask anything to Twitter)\n */\n hasHitRateLimit(endpoint) {\n var _a;\n if (this.isRateLimitStatusObsolete(endpoint)) {\n return false;\n }\n return ((_a = this.getLastRateLimitStatus(endpoint)) === null || _a === void 0 ? void 0 : _a.remaining) === 0;\n }\n /**\n * @deprecated - Migrate to plugin `@twitter-api-v2/plugin-rate-limit`\n *\n * Tells if you hit the returned Twitter rate limit for {endpoint} has expired.\n * If client has no saved rate limit data for {endpoint}, this will gives you `true`.\n */\n isRateLimitStatusObsolete(endpoint) {\n const rateLimit = this.getLastRateLimitStatus(endpoint);\n if (rateLimit === undefined) {\n return true;\n }\n // Timestamps are exprimed in seconds, JS works with ms\n return (rateLimit.reset * 1000) < Date.now();\n }\n /**\n * @deprecated - Migrate to plugin `@twitter-api-v2/plugin-rate-limit`\n *\n * Get the last obtained Twitter rate limit information for {endpoint}.\n * (local data only, this should not ask anything to Twitter)\n */\n getLastRateLimitStatus(endpoint) {\n const endpointWithPrefix = endpoint.match(/^https?:\\/\\//) ? endpoint : (this._prefix + endpoint);\n return this._requestMaker.getRateLimits()[endpointWithPrefix];\n }\n /* Current user cache */\n /** Get cached current user. */\n getCurrentUserObject(forceFetch = false) {\n if (!forceFetch && this._currentUser) {\n if (this._currentUser.value) {\n return Promise.resolve(this._currentUser.value);\n }\n return this._currentUser.promise;\n }\n this._currentUser = sharedPromise(() => this.get('account/verify_credentials.json', { tweet_mode: 'extended' }, { prefix: API_V1_1_PREFIX }));\n return this._currentUser.promise;\n }\n /**\n * Get cached current user from v2 API.\n * This can only be the slimest available `UserV2` object, with only `id`, `name` and `username` properties defined.\n *\n * To get a customized `UserV2Result`, use `.v2.me()`\n *\n * OAuth2 scopes: `tweet.read` & `users.read`\n */\n getCurrentUserV2Object(forceFetch = false) {\n if (!forceFetch && this._currentUserV2) {\n if (this._currentUserV2.value) {\n return Promise.resolve(this._currentUserV2.value);\n }\n return this._currentUserV2.promise;\n }\n this._currentUserV2 = sharedPromise(() => this.get('users/me', undefined, { prefix: API_V2_PREFIX }));\n return this._currentUserV2.promise;\n }\n async get(url, query = {}, { fullResponse, prefix = this._prefix, ...rest } = {}) {\n if (prefix)\n url = prefix + url;\n const resp = await this._requestMaker.send({\n url,\n method: 'GET',\n query,\n ...rest,\n });\n return fullResponse ? resp : resp.data;\n }\n async delete(url, query = {}, { fullResponse, prefix = this._prefix, ...rest } = {}) {\n if (prefix)\n url = prefix + url;\n const resp = await this._requestMaker.send({\n url,\n method: 'DELETE',\n query,\n ...rest,\n });\n return fullResponse ? resp : resp.data;\n }\n async post(url, body, { fullResponse, prefix = this._prefix, ...rest } = {}) {\n if (prefix)\n url = prefix + url;\n const resp = await this._requestMaker.send({\n url,\n method: 'POST',\n body,\n ...rest,\n });\n return fullResponse ? resp : resp.data;\n }\n async put(url, body, { fullResponse, prefix = this._prefix, ...rest } = {}) {\n if (prefix)\n url = prefix + url;\n const resp = await this._requestMaker.send({\n url,\n method: 'PUT',\n body,\n ...rest,\n });\n return fullResponse ? resp : resp.data;\n }\n async patch(url, body, { fullResponse, prefix = this._prefix, ...rest } = {}) {\n if (prefix)\n url = prefix + url;\n const resp = await this._requestMaker.send({\n url,\n method: 'PATCH',\n body,\n ...rest,\n });\n return fullResponse ? resp : resp.data;\n }\n getStream(url, query, { prefix = this._prefix, ...rest } = {}) {\n return this._requestMaker.sendStream({\n url: prefix ? prefix + url : url,\n method: 'GET',\n query,\n ...rest,\n });\n }\n postStream(url, body, { prefix = this._prefix, ...rest } = {}) {\n return this._requestMaker.sendStream({\n url: prefix ? prefix + url : url,\n method: 'POST',\n body,\n ...rest,\n });\n }\n}\n",
|
|
371
|
+
"import TwitterApiBase from './client.base';\n/**\n * Base subclient for every v1 and v2 client.\n */\nexport default class TwitterApiSubClient extends TwitterApiBase {\n constructor(instance) {\n if (!(instance instanceof TwitterApiBase)) {\n throw new Error('You must instance SubTwitterApi instance from existing TwitterApi instance.');\n }\n super(instance);\n }\n}\n",
|
|
372
|
+
"import TwitterPaginator from './TwitterPaginator';\n/** A generic TwitterPaginator able to consume TweetV1 timelines. */\nclass TweetTimelineV1Paginator extends TwitterPaginator {\n constructor() {\n super(...arguments);\n this.hasFinishedFetch = false;\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.push(...result);\n // HINT: This is an approximation, as \"end\" of pagination cannot be safely determined without cursors.\n this.hasFinishedFetch = result.length === 0;\n }\n }\n getNextQueryParams(maxResults) {\n const latestId = BigInt(this._realData[this._realData.length - 1].id_str);\n return {\n ...this.injectQueryParams(maxResults),\n max_id: (latestId - BigInt(1)).toString(),\n };\n }\n getPageLengthFromRequest(result) {\n return result.data.length;\n }\n isFetchLastOver(result) {\n return !result.data.length;\n }\n canFetchNextPage(result) {\n return result.length > 0;\n }\n getItemArray() {\n return this.tweets;\n }\n /**\n * Tweets returned by paginator.\n */\n get tweets() {\n return this._realData;\n }\n get done() {\n return super.done || this.hasFinishedFetch;\n }\n}\n// Timelines\n// Home\nexport class HomeTimelineV1Paginator extends TweetTimelineV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'statuses/home_timeline.json';\n }\n}\n// Mention\nexport class MentionTimelineV1Paginator extends TweetTimelineV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'statuses/mentions_timeline.json';\n }\n}\n// User\nexport class UserTimelineV1Paginator extends TweetTimelineV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'statuses/user_timeline.json';\n }\n}\n// Lists\nexport class ListTimelineV1Paginator extends TweetTimelineV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/statuses.json';\n }\n}\n// Favorites\nexport class UserFavoritesV1Paginator extends TweetTimelineV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'favorites/list.json';\n }\n}\n",
|
|
373
|
+
"import { CursoredV1Paginator } from './paginator.v1';\nexport class MuteUserListV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'mutes/users/list.json';\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.users.push(...result.users);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.users.length;\n }\n getItemArray() {\n return this.users;\n }\n /**\n * Users returned by paginator.\n */\n get users() {\n return this._realData.users;\n }\n}\nexport class MuteUserIdsV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'mutes/users/ids.json';\n this._maxResultsWhenFetchLast = 5000;\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.ids.push(...result.ids);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.ids.length;\n }\n getItemArray() {\n return this.ids;\n }\n /**\n * Users IDs returned by paginator.\n */\n get ids() {\n return this._realData.ids;\n }\n}\n",
|
|
374
|
+
"import { CursoredV1Paginator } from './paginator.v1';\nexport class UserFollowerListV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'followers/list.json';\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.users.push(...result.users);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.users.length;\n }\n getItemArray() {\n return this.users;\n }\n /**\n * Users returned by paginator.\n */\n get users() {\n return this._realData.users;\n }\n}\nexport class UserFollowerIdsV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'followers/ids.json';\n this._maxResultsWhenFetchLast = 5000;\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.ids.push(...result.ids);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.ids.length;\n }\n getItemArray() {\n return this.ids;\n }\n /**\n * Users IDs returned by paginator.\n */\n get ids() {\n return this._realData.ids;\n }\n}\n",
|
|
375
|
+
"import { CursoredV1Paginator } from './paginator.v1';\nexport class UserFriendListV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'friends/list.json';\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.users.push(...result.users);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.users.length;\n }\n getItemArray() {\n return this.users;\n }\n /**\n * Users returned by paginator.\n */\n get users() {\n return this._realData.users;\n }\n}\nexport class UserFollowersIdsV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'friends/ids.json';\n this._maxResultsWhenFetchLast = 5000;\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.ids.push(...result.ids);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.ids.length;\n }\n getItemArray() {\n return this.ids;\n }\n /**\n * Users IDs returned by paginator.\n */\n get ids() {\n return this._realData.ids;\n }\n}\n",
|
|
376
|
+
"import TwitterPaginator from './TwitterPaginator';\nimport { CursoredV1Paginator } from './paginator.v1';\n/** A generic TwitterPaginator able to consume TweetV1 timelines. */\nexport class UserSearchV1Paginator extends TwitterPaginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/search.json';\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.push(...result);\n }\n }\n getNextQueryParams(maxResults) {\n var _a;\n const previousPage = Number((_a = this._queryParams.page) !== null && _a !== void 0 ? _a : '1');\n return {\n ...this._queryParams,\n page: previousPage + 1,\n ...maxResults ? { count: maxResults } : {},\n };\n }\n getPageLengthFromRequest(result) {\n return result.data.length;\n }\n isFetchLastOver(result) {\n return !result.data.length;\n }\n canFetchNextPage(result) {\n return result.length > 0;\n }\n getItemArray() {\n return this.users;\n }\n /**\n * Users returned by paginator.\n */\n get users() {\n return this._realData;\n }\n}\nexport class FriendshipsIncomingV1Paginator extends CursoredV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'friendships/incoming.json';\n this._maxResultsWhenFetchLast = 5000;\n }\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.ids.push(...result.ids);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.ids.length;\n }\n getItemArray() {\n return this.ids;\n }\n /**\n * Users IDs returned by paginator.\n */\n get ids() {\n return this._realData.ids;\n }\n}\nexport class FriendshipsOutgoingV1Paginator extends FriendshipsIncomingV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'friendships/outgoing.json';\n }\n}\n",
|
|
377
|
+
"import { CursoredV1Paginator } from './paginator.v1';\nclass ListListsV1Paginator extends CursoredV1Paginator {\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.lists.push(...result.lists);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.lists.length;\n }\n getItemArray() {\n return this.lists;\n }\n /**\n * Lists returned by paginator.\n */\n get lists() {\n return this._realData.lists;\n }\n}\nexport class ListMembershipsV1Paginator extends ListListsV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/memberships.json';\n }\n}\nexport class ListOwnershipsV1Paginator extends ListListsV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/ownerships.json';\n }\n}\nexport class ListSubscriptionsV1Paginator extends ListListsV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/subscriptions.json';\n }\n}\nclass ListUsersV1Paginator extends CursoredV1Paginator {\n refreshInstanceFromResult(response, isNextPage) {\n const result = response.data;\n this._rateLimit = response.rateLimit;\n if (isNextPage) {\n this._realData.users.push(...result.users);\n this._realData.next_cursor = result.next_cursor;\n }\n }\n getPageLengthFromRequest(result) {\n return result.data.users.length;\n }\n getItemArray() {\n return this.users;\n }\n /**\n * Users returned by paginator.\n */\n get users() {\n return this._realData.users;\n }\n}\nexport class ListMembersV1Paginator extends ListUsersV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/members.json';\n }\n}\nexport class ListSubscribersV1Paginator extends ListUsersV1Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/subscribers.json';\n }\n}\n",
|
|
378
|
+
"import TwitterApiSubClient from '../client.subclient';\nimport { API_V1_1_PREFIX, API_V1_1_STREAM_PREFIX, API_V1_1_UPLOAD_PREFIX } from '../globals';\nimport { arrayWrap } from '../helpers';\nimport TwitterApiv1 from '../v1/client.v1';\nimport { HomeTimelineV1Paginator, ListTimelineV1Paginator, MentionTimelineV1Paginator, UserFavoritesV1Paginator, UserTimelineV1Paginator } from '../paginators/tweet.paginator.v1';\nimport { MuteUserIdsV1Paginator, MuteUserListV1Paginator } from '../paginators/mutes.paginator.v1';\nimport { UserFollowerIdsV1Paginator, UserFollowerListV1Paginator } from '../paginators/followers.paginator.v1';\nimport { UserFollowersIdsV1Paginator, UserFriendListV1Paginator } from '../paginators/friends.paginator.v1';\nimport { FriendshipsIncomingV1Paginator, FriendshipsOutgoingV1Paginator, UserSearchV1Paginator } from '../paginators/user.paginator.v1';\nimport { ListMembershipsV1Paginator, ListMembersV1Paginator, ListOwnershipsV1Paginator, ListSubscribersV1Paginator, ListSubscriptionsV1Paginator } from '../paginators/list.paginator.v1';\n/**\n * Base Twitter v1 client with only read right.\n */\nexport default class TwitterApiv1ReadOnly extends TwitterApiSubClient {\n constructor() {\n super(...arguments);\n this._prefix = API_V1_1_PREFIX;\n }\n /* Tweets */\n /**\n * Returns a single Tweet, specified by the id parameter. The Tweet's author will also be embedded within the Tweet.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-show-id\n */\n singleTweet(tweetId, options = {}) {\n return this.get('statuses/show.json', { tweet_mode: 'extended', id: tweetId, ...options });\n }\n tweets(ids, options = {}) {\n return this.post('statuses/lookup.json', { tweet_mode: 'extended', id: ids, ...options });\n }\n /**\n * Returns a single Tweet, specified by either a Tweet web URL or the Tweet ID, in an oEmbed-compatible format.\n * The returned HTML snippet will be automatically recognized as an Embedded Tweet when Twitter's widget JavaScript is included on the page.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-statuses-oembed\n */\n oembedTweet(tweetId, options = {}) {\n return this.get('oembed', {\n url: `https://x.com/i/statuses/${tweetId}`,\n ...options,\n }, { prefix: 'https://publish.x.com/' });\n }\n /* Tweets timelines */\n /**\n * Returns a collection of the most recent Tweets and Retweets posted by the authenticating user and the users they follow.\n * The home timeline is central to how most users interact with the Twitter service.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/timelines/api-reference/get-statuses-home_timeline\n */\n async homeTimeline(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('statuses/home_timeline.json', queryParams, { fullResponse: true });\n return new HomeTimelineV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns the 20 most recent mentions (Tweets containing a users's @screen_name) for the authenticating user.\n * The timeline returned is the equivalent of the one seen when you view your mentions on x.com.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/timelines/api-reference/get-statuses-mentions_timeline\n */\n async mentionTimeline(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('statuses/mentions_timeline.json', queryParams, { fullResponse: true });\n return new MentionTimelineV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns a collection of the most recent Tweets posted by the user indicated by the user_id parameters.\n * User timelines belonging to protected users may only be requested when the authenticated user either \"owns\" the timeline or is an approved follower of the owner.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/timelines/api-reference/get-statuses-user_timeline\n */\n async userTimeline(userId, options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n user_id: userId,\n ...options,\n };\n const initialRq = await this.get('statuses/user_timeline.json', queryParams, { fullResponse: true });\n return new UserTimelineV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns a collection of the most recent Tweets posted by the user indicated by the screen_name parameters.\n * User timelines belonging to protected users may only be requested when the authenticated user either \"owns\" the timeline or is an approved follower of the owner.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/timelines/api-reference/get-statuses-user_timeline\n */\n async userTimelineByUsername(username, options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n screen_name: username,\n ...options,\n };\n const initialRq = await this.get('statuses/user_timeline.json', queryParams, { fullResponse: true });\n return new UserTimelineV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns the most recent Tweets liked by the authenticating or specified user, 20 tweets by default.\n * Note: favorites are now known as likes.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-favorites-list\n */\n async favoriteTimeline(userId, options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n user_id: userId,\n ...options,\n };\n const initialRq = await this.get('favorites/list.json', queryParams, { fullResponse: true });\n return new UserFavoritesV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns the most recent Tweets liked by the authenticating or specified user, 20 tweets by default.\n * Note: favorites are now known as likes.\n * https://developer.x.com/en/docs/twitter-api/v1/tweets/post-and-engage/api-reference/get-favorites-list\n */\n async favoriteTimelineByUsername(username, options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n screen_name: username,\n ...options,\n };\n const initialRq = await this.get('favorites/list.json', queryParams, { fullResponse: true });\n return new UserFavoritesV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /* Users */\n /**\n * Returns a variety of information about the user specified by the required user_id or screen_name parameter.\n * The author's most recent Tweet will be returned inline when possible.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-users-show\n */\n user(user) {\n return this.get('users/show.json', { tweet_mode: 'extended', ...user });\n }\n /**\n * Returns fully-hydrated user objects for up to 100 users per request,\n * as specified by comma-separated values passed to the user_id and/or screen_name parameters.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-users-lookup\n */\n users(query) {\n return this.get('users/lookup.json', { tweet_mode: 'extended', ...query });\n }\n /**\n * Returns an HTTP 200 OK response code and a representation of the requesting user if authentication was successful;\n * returns a 401 status code and an error message if not.\n * Use this method to test if supplied user credentials are valid.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-account-verify_credentials\n */\n verifyCredentials(options = {}) {\n return this.get('account/verify_credentials.json', options);\n }\n /**\n * Returns an array of user objects the authenticating user has muted.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-list\n */\n async listMutedUsers(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('mutes/users/list.json', queryParams, { fullResponse: true });\n return new MuteUserListV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns an array of numeric user ids the authenticating user has muted.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-ids\n */\n async listMutedUserIds(options = {}) {\n const queryParams = {\n stringify_ids: true,\n ...options,\n };\n const initialRq = await this.get('mutes/users/ids.json', queryParams, { fullResponse: true });\n return new MuteUserIdsV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns an array of user objects of friends of the specified user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-list\n */\n async userFriendList(options = {}) {\n const queryParams = {\n ...options,\n };\n const initialRq = await this.get('friends/list.json', queryParams, { fullResponse: true });\n return new UserFriendListV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns an array of user objects of followers of the specified user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-followers-list\n */\n async userFollowerList(options = {}) {\n const queryParams = {\n ...options,\n };\n const initialRq = await this.get('followers/list.json', queryParams, { fullResponse: true });\n return new UserFollowerListV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns an array of numeric user ids of followers of the specified user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-followers-ids\n */\n async userFollowerIds(options = {}) {\n const queryParams = {\n stringify_ids: true,\n ...options,\n };\n const initialRq = await this.get('followers/ids.json', queryParams, { fullResponse: true });\n return new UserFollowerIdsV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns an array of numeric user ids of friends of the specified user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friends-ids\n */\n async userFollowingIds(options = {}) {\n const queryParams = {\n stringify_ids: true,\n ...options,\n };\n const initialRq = await this.get('friends/ids.json', queryParams, { fullResponse: true });\n return new UserFollowersIdsV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Provides a simple, relevance-based search interface to public user accounts on Twitter.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-users-search\n */\n async searchUsers(query, options = {}) {\n const queryParams = {\n q: query,\n tweet_mode: 'extended',\n page: 1,\n ...options,\n };\n const initialRq = await this.get('users/search.json', queryParams, { fullResponse: true });\n return new UserSearchV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /* Friendship API */\n /**\n * Returns detailed information about the relationship between two arbitrary users.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friendships-show\n */\n friendship(sources) {\n return this.get('friendships/show.json', sources);\n }\n /**\n * Returns the relationships of the authenticating user to the comma-separated list of up to 100 screen_names or user_ids provided.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friendships-lookup\n */\n friendships(friendships) {\n return this.get('friendships/lookup.json', friendships);\n }\n /**\n * Returns a collection of user_ids that the currently authenticated user does not want to receive retweets from.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friendships-no_retweets-ids\n */\n friendshipsNoRetweets() {\n return this.get('friendships/no_retweets/ids.json', { stringify_ids: true });\n }\n /**\n * Returns a collection of numeric IDs for every user who has a pending request to follow the authenticating user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friendships-incoming\n */\n async friendshipsIncoming(options = {}) {\n const queryParams = {\n stringify_ids: true,\n ...options,\n };\n const initialRq = await this.get('friendships/incoming.json', queryParams, { fullResponse: true });\n return new FriendshipsIncomingV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns a collection of numeric IDs for every protected user for whom the authenticating user has a pending follow request.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/follow-search-get-users/api-reference/get-friendships-outgoing\n */\n async friendshipsOutgoing(options = {}) {\n const queryParams = {\n stringify_ids: true,\n ...options,\n };\n const initialRq = await this.get('friendships/outgoing.json', queryParams, { fullResponse: true });\n return new FriendshipsOutgoingV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /* Account/user API */\n /**\n * Get current account settings for authenticating user.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-account-settings\n */\n accountSettings() {\n return this.get('account/settings.json');\n }\n /**\n * Returns a map of the available size variations of the specified user's profile banner.\n * If the user has not uploaded a profile banner, a HTTP 404 will be served instead.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-users-profile_banner\n */\n userProfileBannerSizes(params) {\n return this.get('users/profile_banner.json', params);\n }\n /* Lists */\n /**\n * Returns the specified list. Private lists will only be shown if the authenticated user owns the specified list.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-show\n */\n list(options) {\n return this.get('lists/show.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Returns all lists the authenticating or specified user subscribes to, including their own.\n * If no user is given, the authenticating user is used.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-list\n */\n lists(options = {}) {\n return this.get('lists/list.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Returns the members of the specified list. Private list members will only be shown if the authenticated user owns the specified list.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-members\n */\n async listMembers(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('lists/members.json', queryParams, { fullResponse: true });\n return new ListMembersV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Check if the specified user is a member of the specified list.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-members-show\n */\n listGetMember(options) {\n return this.get('lists/members/show.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Returns the lists the specified user has been added to.\n * If user_id or screen_name are not provided, the memberships for the authenticating user are returned.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-memberships\n */\n async listMemberships(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('lists/memberships.json', queryParams, { fullResponse: true });\n return new ListMembershipsV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns the lists owned by the specified Twitter user. Private lists will only be shown if the authenticated user is also the owner of the lists.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-ownerships\n */\n async listOwnerships(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('lists/ownerships.json', queryParams, { fullResponse: true });\n return new ListOwnershipsV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns a timeline of tweets authored by members of the specified list. Retweets are included by default.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-statuses\n */\n async listStatuses(options) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('lists/statuses.json', queryParams, { fullResponse: true });\n return new ListTimelineV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns the subscribers of the specified list. Private list subscribers will only be shown if the authenticated user owns the specified list.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-subscribers\n */\n async listSubscribers(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('lists/subscribers.json', queryParams, { fullResponse: true });\n return new ListSubscribersV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Check if the specified user is a subscriber of the specified list. Returns the user if they are a subscriber.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-subscribers-show\n */\n listGetSubscriber(options) {\n return this.get('lists/subscribers/show.json', { tweet_mode: 'extended', ...options });\n }\n /**\n * Obtain a collection of the lists the specified user is subscribed to, 20 lists per page by default.\n * Does not include the user's own lists.\n * https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-subscriptions\n */\n async listSubscriptions(options = {}) {\n const queryParams = {\n tweet_mode: 'extended',\n ...options,\n };\n const initialRq = await this.get('lists/subscriptions.json', queryParams, { fullResponse: true });\n return new ListSubscriptionsV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /* Media upload API */\n /**\n * The STATUS command (this method) is used to periodically poll for updates of media processing operation.\n * After the STATUS command response returns succeeded, you can move on to the next step which is usually create Tweet with media_id.\n * https://developer.x.com/en/docs/twitter-api/v1/media/upload-media/api-reference/get-media-upload-status\n */\n mediaInfo(mediaId) {\n return this.get('media/upload.json', {\n command: 'STATUS',\n media_id: mediaId,\n }, { prefix: API_V1_1_UPLOAD_PREFIX });\n }\n filterStream({ autoConnect, ...params } = {}) {\n const parameters = {};\n for (const [key, value] of Object.entries(params)) {\n if (key === 'follow' || key === 'track') {\n parameters[key] = value.toString();\n }\n else if (key === 'locations') {\n const locations = value;\n parameters.locations = arrayWrap(locations).map(loc => `${loc.lng},${loc.lat}`).join(',');\n }\n else {\n parameters[key] = value;\n }\n }\n const streamClient = this.stream;\n return streamClient.postStream('statuses/filter.json', parameters, { autoConnect });\n }\n sampleStream({ autoConnect, ...params } = {}) {\n const streamClient = this.stream;\n return streamClient.getStream('statuses/sample.json', params, { autoConnect });\n }\n /**\n * Create a client that is prefixed with `https//stream.x.com` instead of classic API URL.\n */\n get stream() {\n const copiedClient = new TwitterApiv1(this);\n copiedClient.setPrefix(API_V1_1_STREAM_PREFIX);\n return copiedClient;\n }\n /* Trends API */\n /**\n * Returns the top 50 trending topics for a specific id, if trending information is available for it.\n * Note: The id parameter for this endpoint is the \"where on earth identifier\" or WOEID, which is a legacy identifier created by Yahoo and has been deprecated.\n * https://developer.x.com/en/docs/twitter-api/v1/trends/trends-for-location/api-reference/get-trends-place\n */\n trendsByPlace(woeId, options = {}) {\n return this.get('trends/place.json', { id: woeId, ...options });\n }\n /**\n * Returns the locations that Twitter has trending topic information for.\n * The response is an array of \"locations\" that encode the location's WOEID\n * and some other human-readable information such as a canonical name and country the location belongs in.\n * https://developer.x.com/en/docs/twitter-api/v1/trends/locations-with-trending-topics/api-reference/get-trends-available\n */\n trendsAvailable() {\n return this.get('trends/available.json');\n }\n /**\n * Returns the locations that Twitter has trending topic information for, closest to a specified location.\n * https://developer.x.com/en/docs/twitter-api/v1/trends/locations-with-trending-topics/api-reference/get-trends-closest\n */\n trendsClosest(lat, long) {\n return this.get('trends/closest.json', { lat, long });\n }\n /* Geo API */\n /**\n * Returns all the information about a known place.\n * https://developer.x.com/en/docs/twitter-api/v1/geo/place-information/api-reference/get-geo-id-place_id\n */\n geoPlace(placeId) {\n return this.get('geo/id/:place_id.json', undefined, { params: { place_id: placeId } });\n }\n /**\n * Search for places that can be attached to a Tweet via POST statuses/update.\n * This request will return a list of all the valid places that can be used as the place_id when updating a status.\n * https://developer.x.com/en/docs/twitter-api/v1/geo/places-near-location/api-reference/get-geo-search\n */\n geoSearch(options) {\n return this.get('geo/search.json', options);\n }\n /**\n * Given a latitude and a longitude, searches for up to 20 places that can be used as a place_id when updating a status.\n * This request is an informative call and will deliver generalized results about geography.\n * https://developer.x.com/en/docs/twitter-api/v1/geo/places-near-location/api-reference/get-geo-reverse_geocode\n */\n geoReverseGeoCode(options) {\n return this.get('geo/reverse_geocode.json', options);\n }\n /* Developer utilities */\n /**\n * Returns the current rate limits for methods belonging to the specified resource families.\n * Each API resource belongs to a \"resource family\" which is indicated in its method documentation.\n * The method's resource family can be determined from the first component of the path after the resource version.\n * https://developer.x.com/en/docs/twitter-api/v1/developer-utilities/rate-limit-status/api-reference/get-application-rate_limit_status\n */\n rateLimitStatuses(...resources) {\n return this.get('application/rate_limit_status.json', { resources });\n }\n /**\n * Returns the list of languages supported by Twitter along with the language code supported by Twitter.\n * https://developer.x.com/en/docs/twitter-api/v1/developer-utilities/supported-languages/api-reference/get-help-languages\n */\n supportedLanguages() {\n return this.get('help/languages.json');\n }\n}\n",
|
|
379
|
+
"import * as fs from 'fs';\nimport { safeDeprecationWarning } from '../helpers';\nimport { EUploadMimeType } from '../types';\nexport async function readFileIntoBuffer(file) {\n const handle = await getFileHandle(file);\n if (typeof handle === 'number') {\n return new Promise((resolve, reject) => {\n fs.readFile(handle, (err, data) => {\n if (err) {\n return reject(err);\n }\n resolve(data);\n });\n });\n }\n else if (handle instanceof Buffer) {\n return handle;\n }\n else {\n return handle.readFile();\n }\n}\nexport function getFileHandle(file) {\n if (typeof file === 'string') {\n return fs.promises.open(file, 'r');\n }\n else if (typeof file === 'number') {\n return file;\n }\n else if (typeof file === 'object' && !(file instanceof Buffer)) {\n return file;\n }\n else if (!(file instanceof Buffer)) {\n throw new Error('Given file is not valid, please check its type.');\n }\n else {\n return file;\n }\n}\nexport async function getFileSizeFromFileHandle(fileHandle) {\n // Get the file size\n if (typeof fileHandle === 'number') {\n const stats = await new Promise((resolve, reject) => {\n fs.fstat(fileHandle, (err, stats) => {\n if (err)\n reject(err);\n resolve(stats);\n });\n });\n return stats.size;\n }\n else if (fileHandle instanceof Buffer) {\n return fileHandle.length;\n }\n else {\n return (await fileHandle.stat()).size;\n }\n}\nexport function getMimeType(file, type, mimeType) {\n if (typeof mimeType === 'string') {\n return mimeType;\n }\n else if (typeof file === 'string' && !type) {\n return getMimeByName(file);\n }\n else if (typeof type === 'string') {\n return getMimeByType(type);\n }\n throw new Error('You must specify type if file is a file handle or Buffer.');\n}\nfunction getMimeByName(name) {\n if (name.endsWith('.jpeg') || name.endsWith('.jpg'))\n return EUploadMimeType.Jpeg;\n if (name.endsWith('.png'))\n return EUploadMimeType.Png;\n if (name.endsWith('.webp'))\n return EUploadMimeType.Webp;\n if (name.endsWith('.gif'))\n return EUploadMimeType.Gif;\n if (name.endsWith('.mpeg4') || name.endsWith('.mp4'))\n return EUploadMimeType.Mp4;\n if (name.endsWith('.mov') || name.endsWith('.mov'))\n return EUploadMimeType.Mov;\n if (name.endsWith('.srt'))\n return EUploadMimeType.Srt;\n safeDeprecationWarning({\n instance: 'TwitterApiv1ReadWrite',\n method: 'uploadMedia',\n problem: 'options.mimeType is missing and filename couldn\\'t help to resolve MIME type, so it will fallback to image/jpeg',\n resolution: 'If you except to give filenames without extensions, please specify explicitlty the MIME type using options.mimeType',\n });\n return EUploadMimeType.Jpeg;\n}\nfunction getMimeByType(type) {\n safeDeprecationWarning({\n instance: 'TwitterApiv1ReadWrite',\n method: 'uploadMedia',\n problem: 'you\\'re using options.type',\n resolution: 'Remove options.type argument and migrate to options.mimeType which takes the real MIME type. ' +\n 'If you\\'re using type=longmp4, add options.longVideo alongside of mimeType=EUploadMimeType.Mp4',\n });\n if (type === 'gif')\n return EUploadMimeType.Gif;\n if (type === 'jpg')\n return EUploadMimeType.Jpeg;\n if (type === 'png')\n return EUploadMimeType.Png;\n if (type === 'webp')\n return EUploadMimeType.Webp;\n if (type === 'srt')\n return EUploadMimeType.Srt;\n if (type === 'mp4' || type === 'longmp4')\n return EUploadMimeType.Mp4;\n if (type === 'mov')\n return EUploadMimeType.Mov;\n return type;\n}\nexport function getMediaCategoryByMime(name, target) {\n if (name === EUploadMimeType.Mp4 || name === EUploadMimeType.Mov)\n return target === 'tweet' ? 'TweetVideo' : 'DmVideo';\n if (name === EUploadMimeType.Gif)\n return target === 'tweet' ? 'TweetGif' : 'DmGif';\n if (name === EUploadMimeType.Srt)\n return 'Subtitles';\n else\n return target === 'tweet' ? 'TweetImage' : 'DmImage';\n}\nexport function sleepSecs(seconds) {\n return new Promise(resolve => setTimeout(resolve, seconds * 1000));\n}\nexport async function readNextPartOf(file, chunkLength, bufferOffset = 0, buffer) {\n if (file instanceof Buffer) {\n const rt = file.slice(bufferOffset, bufferOffset + chunkLength);\n return [rt, rt.length];\n }\n if (!buffer) {\n throw new Error('Well, we will need a buffer to store file content.');\n }\n let bytesRead;\n if (typeof file === 'number') {\n bytesRead = await new Promise((resolve, reject) => {\n fs.read(file, buffer, 0, chunkLength, bufferOffset, (err, nread) => {\n if (err)\n reject(err);\n resolve(nread);\n });\n });\n }\n else {\n const res = await file.read(buffer, 0, chunkLength, bufferOffset);\n bytesRead = res.bytesRead;\n }\n return [buffer, bytesRead];\n}\n",
|
|
380
|
+
"import { API_V1_1_PREFIX } from '../globals';\nimport { DmEventsV1Paginator, WelcomeDmV1Paginator } from '../paginators/dm.paginator.v1';\nimport { EDirectMessageEventTypeV1, } from '../types';\nimport TwitterApiv1ReadWrite from './client.v1.write';\n/**\n * Twitter v1.1 API client with read/write/DMs rights.\n */\nexport class TwitterApiv1 extends TwitterApiv1ReadWrite {\n constructor() {\n super(...arguments);\n this._prefix = API_V1_1_PREFIX;\n }\n /**\n * Get a client with read/write rights.\n */\n get readWrite() {\n return this;\n }\n /* Direct messages */\n // Part: Sending and receiving events\n /**\n * Publishes a new message_create event resulting in a Direct Message sent to a specified user from the authenticating user.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/sending-and-receiving/api-reference/new-event\n */\n sendDm({ recipient_id, custom_profile_id, ...params }) {\n const args = {\n event: {\n type: EDirectMessageEventTypeV1.Create,\n [EDirectMessageEventTypeV1.Create]: {\n target: { recipient_id },\n message_data: params,\n },\n },\n };\n if (custom_profile_id) {\n args.event[EDirectMessageEventTypeV1.Create].custom_profile_id = custom_profile_id;\n }\n return this.post('direct_messages/events/new.json', args, {\n forceBodyMode: 'json',\n });\n }\n /**\n * Returns a single Direct Message event by the given id.\n *\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/sending-and-receiving/api-reference/get-event\n */\n getDmEvent(id) {\n return this.get('direct_messages/events/show.json', { id });\n }\n /**\n * Deletes the direct message specified in the required ID parameter.\n * The authenticating user must be the recipient of the specified direct message.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/sending-and-receiving/api-reference/delete-message-event\n */\n deleteDm(id) {\n return this.delete('direct_messages/events/destroy.json', { id });\n }\n /**\n * Returns all Direct Message events (both sent and received) within the last 30 days.\n * Sorted in reverse-chronological order.\n *\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/sending-and-receiving/api-reference/list-events\n */\n async listDmEvents(args = {}) {\n const queryParams = { ...args };\n const initialRq = await this.get('direct_messages/events/list.json', queryParams, { fullResponse: true });\n return new DmEventsV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n // Part: Welcome messages (events)\n /**\n * Creates a new Welcome Message that will be stored and sent in the future from the authenticating user in defined circumstances.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/new-welcome-message\n */\n newWelcomeDm(name, data) {\n const args = {\n [EDirectMessageEventTypeV1.WelcomeCreate]: {\n name,\n message_data: data,\n },\n };\n return this.post('direct_messages/welcome_messages/new.json', args, {\n forceBodyMode: 'json',\n });\n }\n /**\n * Returns a Welcome Message by the given id.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/get-welcome-message\n */\n getWelcomeDm(id) {\n return this.get('direct_messages/welcome_messages/show.json', { id });\n }\n /**\n * Deletes a Welcome Message by the given id.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/delete-welcome-message\n */\n deleteWelcomeDm(id) {\n return this.delete('direct_messages/welcome_messages/destroy.json', { id });\n }\n /**\n * Updates a Welcome Message by the given ID.\n * Updates to the welcome_message object are atomic.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/update-welcome-message\n */\n updateWelcomeDm(id, data) {\n const args = { message_data: data };\n return this.put('direct_messages/welcome_messages/update.json', args, {\n forceBodyMode: 'json',\n query: { id },\n });\n }\n /**\n * Returns all Direct Message events (both sent and received) within the last 30 days.\n * Sorted in reverse-chronological order.\n *\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/sending-and-receiving/api-reference/list-events\n */\n async listWelcomeDms(args = {}) {\n const queryParams = { ...args };\n const initialRq = await this.get('direct_messages/welcome_messages/list.json', queryParams, { fullResponse: true });\n return new WelcomeDmV1Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n // Part: Welcome message (rules)\n /**\n * Creates a new Welcome Message Rule that determines which Welcome Message will be shown in a given conversation.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/new-welcome-message-rule\n */\n newWelcomeDmRule(welcomeMessageId) {\n return this.post('direct_messages/welcome_messages/rules/new.json', {\n welcome_message_rule: { welcome_message_id: welcomeMessageId },\n }, {\n forceBodyMode: 'json',\n });\n }\n /**\n * Returns a Welcome Message Rule by the given id.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/get-welcome-message-rule\n */\n getWelcomeDmRule(id) {\n return this.get('direct_messages/welcome_messages/rules/show.json', { id });\n }\n /**\n * Deletes a Welcome Message Rule by the given id.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/delete-welcome-message-rule\n */\n deleteWelcomeDmRule(id) {\n return this.delete('direct_messages/welcome_messages/rules/destroy.json', { id });\n }\n /**\n * Retrieves all welcome DM rules for this account.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/welcome-messages/api-reference/list-welcome-message-rules\n */\n async listWelcomeDmRules(args = {}) {\n const queryParams = { ...args };\n return this.get('direct_messages/welcome_messages/rules/list.json', queryParams);\n }\n /**\n * Set the current showed welcome message for logged account ; wrapper for Welcome DM rules.\n * Test if a rule already exists, delete if any, then create a rule for current message ID.\n *\n * If you don't have already a welcome message, create it with `.newWelcomeMessage`.\n */\n async setWelcomeDm(welcomeMessageId, deleteAssociatedWelcomeDmWhenDeletingRule = true) {\n var _a;\n const existingRules = await this.listWelcomeDmRules();\n if ((_a = existingRules.welcome_message_rules) === null || _a === void 0 ? void 0 : _a.length) {\n for (const rule of existingRules.welcome_message_rules) {\n await this.deleteWelcomeDmRule(rule.id);\n if (deleteAssociatedWelcomeDmWhenDeletingRule) {\n await this.deleteWelcomeDm(rule.welcome_message_id);\n }\n }\n }\n return this.newWelcomeDmRule(welcomeMessageId);\n }\n // Part: Read indicator\n /**\n * Marks a message as read in the recipient’s Direct Message conversation view with the sender.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/typing-indicator-and-read-receipts/api-reference/new-read-receipt\n */\n markDmAsRead(lastEventId, recipientId) {\n return this.post('direct_messages/mark_read.json', {\n last_read_event_id: lastEventId,\n recipient_id: recipientId,\n }, { forceBodyMode: 'url' });\n }\n /**\n * Displays a visual typing indicator in the recipient’s Direct Message conversation view with the sender.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/typing-indicator-and-read-receipts/api-reference/new-typing-indicator\n */\n indicateDmTyping(recipientId) {\n return this.post('direct_messages/indicate_typing.json', {\n recipient_id: recipientId,\n }, { forceBodyMode: 'url' });\n }\n // Part: Images\n /**\n * Get a single image attached to a direct message. TwitterApi client must be logged with OAuth 1.0a.\n * https://developer.x.com/en/docs/twitter-api/v1/direct-messages/message-attachments/guides/retrieving-media\n */\n async downloadDmImage(urlOrDm) {\n if (typeof urlOrDm !== 'string') {\n const attachment = urlOrDm[EDirectMessageEventTypeV1.Create].message_data.attachment;\n if (!attachment) {\n throw new Error('The given direct message doesn\\'t contain any attachment');\n }\n urlOrDm = attachment.media.media_url_https;\n }\n const data = await this.get(urlOrDm, undefined, { forceParseMode: 'buffer', prefix: '' });\n if (!data.length) {\n throw new Error('Image not found. Make sure you are logged with credentials able to access direct messages, and check the URL.');\n }\n return data;\n }\n}\nexport default TwitterApiv1;\n",
|
|
381
|
+
"/**\n * Provide helpers for `.includes` of a v2 API result.\n * Needed expansions for a method to work are specified (*`like this`*).\n */\nexport class TwitterV2IncludesHelper {\n constructor(result) {\n this.result = result;\n }\n /* Tweets */\n get tweets() {\n return TwitterV2IncludesHelper.tweets(this.result);\n }\n static tweets(result) {\n var _a, _b;\n return (_b = (_a = result.includes) === null || _a === void 0 ? void 0 : _a.tweets) !== null && _b !== void 0 ? _b : [];\n }\n tweetById(id) {\n return TwitterV2IncludesHelper.tweetById(this.result, id);\n }\n static tweetById(result, id) {\n return this.tweets(result).find(tweet => tweet.id === id);\n }\n /** Retweet associated with the given tweet (*`referenced_tweets.id`*) */\n retweet(tweet) {\n return TwitterV2IncludesHelper.retweet(this.result, tweet);\n }\n /** Retweet associated with the given tweet (*`referenced_tweets.id`*) */\n static retweet(result, tweet) {\n var _a;\n const retweetIds = ((_a = tweet.referenced_tweets) !== null && _a !== void 0 ? _a : [])\n .filter(ref => ref.type === 'retweeted')\n .map(ref => ref.id);\n return this.tweets(result).find(t => retweetIds.includes(t.id));\n }\n /** Quoted tweet associated with the given tweet (*`referenced_tweets.id`*) */\n quote(tweet) {\n return TwitterV2IncludesHelper.quote(this.result, tweet);\n }\n /** Quoted tweet associated with the given tweet (*`referenced_tweets.id`*) */\n static quote(result, tweet) {\n var _a;\n const quoteIds = ((_a = tweet.referenced_tweets) !== null && _a !== void 0 ? _a : [])\n .filter(ref => ref.type === 'quoted')\n .map(ref => ref.id);\n return this.tweets(result).find(t => quoteIds.includes(t.id));\n }\n /** Tweet whose has been answered by the given tweet (*`referenced_tweets.id`*) */\n repliedTo(tweet) {\n return TwitterV2IncludesHelper.repliedTo(this.result, tweet);\n }\n /** Tweet whose has been answered by the given tweet (*`referenced_tweets.id`*) */\n static repliedTo(result, tweet) {\n var _a;\n const repliesIds = ((_a = tweet.referenced_tweets) !== null && _a !== void 0 ? _a : [])\n .filter(ref => ref.type === 'replied_to')\n .map(ref => ref.id);\n return this.tweets(result).find(t => repliesIds.includes(t.id));\n }\n /** Tweet author user object of the given tweet (*`author_id`* or *`referenced_tweets.id.author_id`*) */\n author(tweet) {\n return TwitterV2IncludesHelper.author(this.result, tweet);\n }\n /** Tweet author user object of the given tweet (*`author_id`* or *`referenced_tweets.id.author_id`*) */\n static author(result, tweet) {\n const authorId = tweet.author_id;\n return authorId ? this.users(result).find(u => u.id === authorId) : undefined;\n }\n /** Tweet author user object of the tweet answered by the given tweet (*`in_reply_to_user_id`*) */\n repliedToAuthor(tweet) {\n return TwitterV2IncludesHelper.repliedToAuthor(this.result, tweet);\n }\n /** Tweet author user object of the tweet answered by the given tweet (*`in_reply_to_user_id`*) */\n static repliedToAuthor(result, tweet) {\n const inReplyUserId = tweet.in_reply_to_user_id;\n return inReplyUserId ? this.users(result).find(u => u.id === inReplyUserId) : undefined;\n }\n /* Users */\n get users() {\n return TwitterV2IncludesHelper.users(this.result);\n }\n static users(result) {\n var _a, _b;\n return (_b = (_a = result.includes) === null || _a === void 0 ? void 0 : _a.users) !== null && _b !== void 0 ? _b : [];\n }\n userById(id) {\n return TwitterV2IncludesHelper.userById(this.result, id);\n }\n static userById(result, id) {\n return this.users(result).find(u => u.id === id);\n }\n /** Pinned tweet of the given user (*`pinned_tweet_id`*) */\n pinnedTweet(user) {\n return TwitterV2IncludesHelper.pinnedTweet(this.result, user);\n }\n /** Pinned tweet of the given user (*`pinned_tweet_id`*) */\n static pinnedTweet(result, user) {\n return user.pinned_tweet_id ? this.tweets(result).find(t => t.id === user.pinned_tweet_id) : undefined;\n }\n /* Medias */\n get media() {\n return TwitterV2IncludesHelper.media(this.result);\n }\n static media(result) {\n var _a, _b;\n return (_b = (_a = result.includes) === null || _a === void 0 ? void 0 : _a.media) !== null && _b !== void 0 ? _b : [];\n }\n /** Medias associated with the given tweet (*`attachments.media_keys`*) */\n medias(tweet) {\n return TwitterV2IncludesHelper.medias(this.result, tweet);\n }\n /** Medias associated with the given tweet (*`attachments.media_keys`*) */\n static medias(result, tweet) {\n var _a, _b;\n const keys = (_b = (_a = tweet.attachments) === null || _a === void 0 ? void 0 : _a.media_keys) !== null && _b !== void 0 ? _b : [];\n return this.media(result).filter(m => keys.includes(m.media_key));\n }\n /* Polls */\n get polls() {\n return TwitterV2IncludesHelper.polls(this.result);\n }\n static polls(result) {\n var _a, _b;\n return (_b = (_a = result.includes) === null || _a === void 0 ? void 0 : _a.polls) !== null && _b !== void 0 ? _b : [];\n }\n /** Poll associated with the given tweet (*`attachments.poll_ids`*) */\n poll(tweet) {\n return TwitterV2IncludesHelper.poll(this.result, tweet);\n }\n /** Poll associated with the given tweet (*`attachments.poll_ids`*) */\n static poll(result, tweet) {\n var _a, _b;\n const pollIds = (_b = (_a = tweet.attachments) === null || _a === void 0 ? void 0 : _a.poll_ids) !== null && _b !== void 0 ? _b : [];\n if (pollIds.length) {\n const pollId = pollIds[0];\n return this.polls(result).find(p => p.id === pollId);\n }\n return undefined;\n }\n /* Places */\n get places() {\n return TwitterV2IncludesHelper.places(this.result);\n }\n static places(result) {\n var _a, _b;\n return (_b = (_a = result.includes) === null || _a === void 0 ? void 0 : _a.places) !== null && _b !== void 0 ? _b : [];\n }\n /** Place associated with the given tweet (*`geo.place_id`*) */\n place(tweet) {\n return TwitterV2IncludesHelper.place(this.result, tweet);\n }\n /** Place associated with the given tweet (*`geo.place_id`*) */\n static place(result, tweet) {\n var _a;\n const placeId = (_a = tweet.geo) === null || _a === void 0 ? void 0 : _a.place_id;\n return placeId ? this.places(result).find(p => p.id === placeId) : undefined;\n }\n /* Lists */\n /** List owner of the given list (*`owner_id`*) */\n listOwner(list) {\n return TwitterV2IncludesHelper.listOwner(this.result, list);\n }\n /** List owner of the given list (*`owner_id`*) */\n static listOwner(result, list) {\n const creatorId = list.owner_id;\n return creatorId ? this.users(result).find(p => p.id === creatorId) : undefined;\n }\n /* Spaces */\n /** Creator of the given space (*`creator_id`*) */\n spaceCreator(space) {\n return TwitterV2IncludesHelper.spaceCreator(this.result, space);\n }\n /** Creator of the given space (*`creator_id`*) */\n static spaceCreator(result, space) {\n const creatorId = space.creator_id;\n return creatorId ? this.users(result).find(p => p.id === creatorId) : undefined;\n }\n /** Current hosts of the given space (*`host_ids`*) */\n spaceHosts(space) {\n return TwitterV2IncludesHelper.spaceHosts(this.result, space);\n }\n /** Current hosts of the given space (*`host_ids`*) */\n static spaceHosts(result, space) {\n var _a;\n const hostIds = (_a = space.host_ids) !== null && _a !== void 0 ? _a : [];\n return this.users(result).filter(u => hostIds.includes(u.id));\n }\n /** Current speakers of the given space (*`speaker_ids`*) */\n spaceSpeakers(space) {\n return TwitterV2IncludesHelper.spaceSpeakers(this.result, space);\n }\n /** Current speakers of the given space (*`speaker_ids`*) */\n static spaceSpeakers(result, space) {\n var _a;\n const speakerIds = (_a = space.speaker_ids) !== null && _a !== void 0 ? _a : [];\n return this.users(result).filter(u => speakerIds.includes(u.id));\n }\n /** Current invited users of the given space (*`invited_user_ids`*) */\n spaceInvitedUsers(space) {\n return TwitterV2IncludesHelper.spaceInvitedUsers(this.result, space);\n }\n /** Current invited users of the given space (*`invited_user_ids`*) */\n static spaceInvitedUsers(result, space) {\n var _a;\n const invitedUserIds = (_a = space.invited_user_ids) !== null && _a !== void 0 ? _a : [];\n return this.users(result).filter(u => invitedUserIds.includes(u.id));\n }\n}\n",
|
|
382
|
+
"import { TwitterV2IncludesHelper } from '../v2/includes.v2.helper';\nimport { PreviousableTwitterPaginator } from './TwitterPaginator';\n/** A generic PreviousableTwitterPaginator with common v2 helper methods. */\nexport class TwitterV2Paginator extends PreviousableTwitterPaginator {\n updateIncludes(data) {\n // Update errors\n if (data.errors) {\n if (!this._realData.errors) {\n this._realData.errors = [];\n }\n this._realData.errors = [...this._realData.errors, ...data.errors];\n }\n // Update includes\n if (!data.includes) {\n return;\n }\n if (!this._realData.includes) {\n this._realData.includes = {};\n }\n const includesRealData = this._realData.includes;\n for (const [includeKey, includeArray] of Object.entries(data.includes)) {\n if (!includesRealData[includeKey]) {\n includesRealData[includeKey] = [];\n }\n includesRealData[includeKey] = [\n ...includesRealData[includeKey],\n ...includeArray,\n ];\n }\n }\n /** Throw if the current paginator is not usable. */\n assertUsable() {\n if (this.unusable) {\n throw new Error('Unable to use this paginator to fetch more data, as it does not contain any metadata.' +\n ' Check .errors property for more details.');\n }\n }\n get meta() {\n return this._realData.meta;\n }\n get includes() {\n var _a;\n if (!((_a = this._realData) === null || _a === void 0 ? void 0 : _a.includes)) {\n return new TwitterV2IncludesHelper(this._realData);\n }\n if (this._includesInstance) {\n return this._includesInstance;\n }\n return this._includesInstance = new TwitterV2IncludesHelper(this._realData);\n }\n get errors() {\n var _a;\n return (_a = this._realData.errors) !== null && _a !== void 0 ? _a : [];\n }\n /** `true` if this paginator only contains error payload and no metadata found to consume data. */\n get unusable() {\n return this.errors.length > 0 && !this._realData.meta && !this._realData.data;\n }\n}\n/** A generic TwitterV2Paginator able to consume v2 timelines that use max_results and pagination tokens. */\nexport class TimelineV2Paginator extends TwitterV2Paginator {\n refreshInstanceFromResult(response, isNextPage) {\n var _a;\n const result = response.data;\n const resultData = (_a = result.data) !== null && _a !== void 0 ? _a : [];\n this._rateLimit = response.rateLimit;\n if (!this._realData.data) {\n this._realData.data = [];\n }\n if (isNextPage) {\n this._realData.meta.result_count += result.meta.result_count;\n this._realData.meta.next_token = result.meta.next_token;\n this._realData.data.push(...resultData);\n }\n else {\n this._realData.meta.result_count += result.meta.result_count;\n this._realData.meta.previous_token = result.meta.previous_token;\n this._realData.data.unshift(...resultData);\n }\n this.updateIncludes(result);\n }\n getNextQueryParams(maxResults) {\n this.assertUsable();\n return {\n ...this.injectQueryParams(maxResults),\n pagination_token: this._realData.meta.next_token,\n };\n }\n getPreviousQueryParams(maxResults) {\n this.assertUsable();\n return {\n ...this.injectQueryParams(maxResults),\n pagination_token: this._realData.meta.previous_token,\n };\n }\n getPageLengthFromRequest(result) {\n var _a, _b;\n return (_b = (_a = result.data.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;\n }\n isFetchLastOver(result) {\n var _a;\n return !((_a = result.data.data) === null || _a === void 0 ? void 0 : _a.length) || !this.canFetchNextPage(result.data);\n }\n canFetchNextPage(result) {\n var _a;\n return !!((_a = result.meta) === null || _a === void 0 ? void 0 : _a.next_token);\n }\n}\n",
|
|
383
|
+
"import { TimelineV2Paginator, TwitterV2Paginator } from './v2.paginator';\n/** A generic PreviousableTwitterPaginator able to consume TweetV2 timelines with since_id, until_id and next_token (when available). */\nclass TweetTimelineV2Paginator extends TwitterV2Paginator {\n refreshInstanceFromResult(response, isNextPage) {\n var _a;\n const result = response.data;\n const resultData = (_a = result.data) !== null && _a !== void 0 ? _a : [];\n this._rateLimit = response.rateLimit;\n if (!this._realData.data) {\n this._realData.data = [];\n }\n if (isNextPage) {\n this._realData.meta.oldest_id = result.meta.oldest_id;\n this._realData.meta.result_count += result.meta.result_count;\n this._realData.meta.next_token = result.meta.next_token;\n this._realData.data.push(...resultData);\n }\n else {\n this._realData.meta.newest_id = result.meta.newest_id;\n this._realData.meta.result_count += result.meta.result_count;\n this._realData.data.unshift(...resultData);\n }\n this.updateIncludes(result);\n }\n getNextQueryParams(maxResults) {\n this.assertUsable();\n const params = { ...this.injectQueryParams(maxResults) };\n if (this._realData.meta.next_token) {\n params.next_token = this._realData.meta.next_token;\n }\n else {\n if (params.start_time) {\n // until_id and start_time are forbidden together for some reason, so convert start_time to a since_id.\n params.since_id = this.dateStringToSnowflakeId(params.start_time);\n delete params.start_time;\n }\n if (params.end_time) {\n // until_id overrides end_time, so delete it\n delete params.end_time;\n }\n params.until_id = this._realData.meta.oldest_id;\n }\n return params;\n }\n getPreviousQueryParams(maxResults) {\n this.assertUsable();\n return {\n ...this.injectQueryParams(maxResults),\n since_id: this._realData.meta.newest_id,\n };\n }\n getPageLengthFromRequest(result) {\n var _a, _b;\n return (_b = (_a = result.data.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;\n }\n isFetchLastOver(result) {\n var _a;\n return !((_a = result.data.data) === null || _a === void 0 ? void 0 : _a.length) || !this.canFetchNextPage(result.data);\n }\n canFetchNextPage(result) {\n return !!result.meta.next_token;\n }\n getItemArray() {\n return this.tweets;\n }\n dateStringToSnowflakeId(dateStr) {\n const TWITTER_START_EPOCH = BigInt('1288834974657');\n const date = new Date(dateStr);\n if (isNaN(date.valueOf())) {\n throw new Error('Unable to convert start_time/end_time to a valid date. A ISO 8601 DateTime is excepted, please check your input.');\n }\n const dateTimestamp = BigInt(date.valueOf());\n return ((dateTimestamp - TWITTER_START_EPOCH) << BigInt('22')).toString();\n }\n /**\n * Tweets returned by paginator.\n */\n get tweets() {\n var _a;\n return (_a = this._realData.data) !== null && _a !== void 0 ? _a : [];\n }\n get meta() {\n return super.meta;\n }\n}\n/** A generic PreviousableTwitterPaginator able to consume TweetV2 timelines with pagination_tokens. */\nclass TweetPaginableTimelineV2Paginator extends TimelineV2Paginator {\n refreshInstanceFromResult(response, isNextPage) {\n super.refreshInstanceFromResult(response, isNextPage);\n const result = response.data;\n if (isNextPage) {\n this._realData.meta.oldest_id = result.meta.oldest_id;\n }\n else {\n this._realData.meta.newest_id = result.meta.newest_id;\n }\n }\n getItemArray() {\n return this.tweets;\n }\n /**\n * Tweets returned by paginator.\n */\n get tweets() {\n var _a;\n return (_a = this._realData.data) !== null && _a !== void 0 ? _a : [];\n }\n get meta() {\n return super.meta;\n }\n}\n// ----------------\n// - Tweet search -\n// ----------------\nexport class TweetSearchRecentV2Paginator extends TweetTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'tweets/search/recent';\n }\n}\nexport class TweetSearchAllV2Paginator extends TweetTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'tweets/search/all';\n }\n}\nexport class QuotedTweetsTimelineV2Paginator extends TweetPaginableTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'tweets/:id/quote_tweets';\n }\n}\n// -----------------\n// - Home timeline -\n// -----------------\nexport class TweetHomeTimelineV2Paginator extends TweetPaginableTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/timelines/reverse_chronological';\n }\n}\nexport class TweetUserTimelineV2Paginator extends TweetPaginableTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/tweets';\n }\n}\nexport class TweetUserMentionTimelineV2Paginator extends TweetPaginableTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/mentions';\n }\n}\n// -------------\n// - Bookmarks -\n// -------------\nexport class TweetBookmarksTimelineV2Paginator extends TweetPaginableTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/bookmarks';\n }\n}\n// ---------------------------------------------------------------------------------\n// - Tweet lists (consume tweets with pagination tokens instead of since/until id) -\n// ---------------------------------------------------------------------------------\n/** A generic TwitterPaginator able to consume TweetV2 timelines. */\nclass TweetListV2Paginator extends TimelineV2Paginator {\n /**\n * Tweets returned by paginator.\n */\n get tweets() {\n var _a;\n return (_a = this._realData.data) !== null && _a !== void 0 ? _a : [];\n }\n get meta() {\n return super.meta;\n }\n getItemArray() {\n return this.tweets;\n }\n}\nexport class TweetV2UserLikedTweetsPaginator extends TweetListV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/liked_tweets';\n }\n}\nexport class TweetV2ListTweetsPaginator extends TweetListV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/:id/tweets';\n }\n}\n",
|
|
384
|
+
"import { TimelineV2Paginator } from './v2.paginator';\n/** A generic PreviousableTwitterPaginator able to consume UserV2 timelines. */\nclass UserTimelineV2Paginator extends TimelineV2Paginator {\n getItemArray() {\n return this.users;\n }\n /**\n * Users returned by paginator.\n */\n get users() {\n var _a;\n return (_a = this._realData.data) !== null && _a !== void 0 ? _a : [];\n }\n get meta() {\n return super.meta;\n }\n}\nexport class UserBlockingUsersV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/blocking';\n }\n}\nexport class UserMutingUsersV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/muting';\n }\n}\nexport class UserFollowersV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/followers';\n }\n}\nexport class UserFollowingV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/following';\n }\n}\nexport class UserListMembersV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/:id/members';\n }\n}\nexport class UserListFollowersV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'lists/:id/followers';\n }\n}\nexport class TweetLikingUsersV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'tweets/:id/liking_users';\n }\n}\nexport class TweetRetweetersUsersV2Paginator extends UserTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'tweets/:id/retweeted_by';\n }\n}\n",
|
|
385
|
+
"import { TimelineV2Paginator } from './v2.paginator';\nclass ListTimelineV2Paginator extends TimelineV2Paginator {\n getItemArray() {\n return this.lists;\n }\n /**\n * Lists returned by paginator.\n */\n get lists() {\n var _a;\n return (_a = this._realData.data) !== null && _a !== void 0 ? _a : [];\n }\n get meta() {\n return super.meta;\n }\n}\nexport class UserOwnedListsV2Paginator extends ListTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/owned_lists';\n }\n}\nexport class UserListMembershipsV2Paginator extends ListTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/list_memberships';\n }\n}\nexport class UserListFollowedV2Paginator extends ListTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'users/:id/followed_lists';\n }\n}\n",
|
|
386
|
+
"import TwitterApiSubClient from '../client.subclient';\nimport { API_V2_LABS_PREFIX } from '../globals';\n/**\n * Base Twitter v2 labs client with only read right.\n */\nexport default class TwitterApiv2LabsReadOnly extends TwitterApiSubClient {\n constructor() {\n super(...arguments);\n this._prefix = API_V2_LABS_PREFIX;\n }\n}\n",
|
|
387
|
+
"import { TimelineV2Paginator } from './v2.paginator';\nexport class DMTimelineV2Paginator extends TimelineV2Paginator {\n getItemArray() {\n return this.events;\n }\n /**\n * Events returned by paginator.\n */\n get events() {\n var _a;\n return (_a = this._realData.data) !== null && _a !== void 0 ? _a : [];\n }\n get meta() {\n return super.meta;\n }\n}\nexport class FullDMTimelineV2Paginator extends DMTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'dm_events';\n }\n}\nexport class OneToOneDMTimelineV2Paginator extends DMTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'dm_conversations/with/:participant_id/dm_events';\n }\n}\nexport class ConversationDMTimelineV2Paginator extends DMTimelineV2Paginator {\n constructor() {\n super(...arguments);\n this._endpoint = 'dm_conversations/:dm_conversation_id/dm_events';\n }\n}\n",
|
|
388
|
+
"import TwitterApiSubClient from '../client.subclient';\nimport { API_V2_PREFIX } from '../globals';\nimport { TweetSearchAllV2Paginator, TweetSearchRecentV2Paginator, TweetUserMentionTimelineV2Paginator, TweetUserTimelineV2Paginator, TweetV2UserLikedTweetsPaginator, UserOwnedListsV2Paginator, UserListMembershipsV2Paginator, UserListFollowedV2Paginator, TweetV2ListTweetsPaginator, TweetBookmarksTimelineV2Paginator, QuotedTweetsTimelineV2Paginator, TweetHomeTimelineV2Paginator, } from '../paginators';\nimport TwitterApiv2LabsReadOnly from '../v2-labs/client.v2.labs.read';\nimport { TweetLikingUsersV2Paginator, TweetRetweetersUsersV2Paginator, UserBlockingUsersV2Paginator, UserFollowersV2Paginator, UserFollowingV2Paginator, UserListFollowersV2Paginator, UserListMembersV2Paginator, UserMutingUsersV2Paginator } from '../paginators/user.paginator.v2';\nimport { isTweetStreamV2ErrorPayload } from '../helpers';\nimport { ConversationDMTimelineV2Paginator, FullDMTimelineV2Paginator, OneToOneDMTimelineV2Paginator } from '../paginators/dm.paginator.v2';\n/**\n * Base Twitter v2 client with only read right.\n */\nexport default class TwitterApiv2ReadOnly extends TwitterApiSubClient {\n constructor() {\n super(...arguments);\n this._prefix = API_V2_PREFIX;\n }\n /* Sub-clients */\n /**\n * Get a client for v2 labs endpoints.\n */\n get labs() {\n if (this._labs)\n return this._labs;\n return this._labs = new TwitterApiv2LabsReadOnly(this);\n }\n async search(queryOrOptions, options = {}) {\n const queryParams = typeof queryOrOptions === 'string' ?\n { ...options, query: queryOrOptions } :\n { ...queryOrOptions };\n const initialRq = await this.get('tweets/search/recent', queryParams, { fullResponse: true });\n return new TweetSearchRecentV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * The full-archive search endpoint returns the complete history of public Tweets matching a search query;\n * since the first Tweet was created March 26, 2006.\n *\n * This endpoint is only available to those users who have been approved for the Academic Research product track.\n * https://developer.x.com/en/docs/twitter-api/tweets/search/api-reference/get-tweets-search-all\n */\n async searchAll(query, options = {}) {\n const queryParams = { ...options, query };\n const initialRq = await this.get('tweets/search/all', queryParams, { fullResponse: true });\n return new TweetSearchAllV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams,\n });\n }\n /**\n * Returns a variety of information about a single Tweet specified by the requested ID.\n * https://developer.x.com/en/docs/twitter-api/tweets/lookup/api-reference/get-tweets-id\n *\n * OAuth2 scope: `users.read`, `tweet.read`\n */\n singleTweet(tweetId, options = {}) {\n return this.get('tweets/:id', options, { params: { id: tweetId } });\n }\n /**\n * Returns a variety of information about tweets specified by list of IDs.\n * https://developer.x.com/en/docs/twitter-api/tweets/lookup/api-reference/get-tweets\n *\n * OAuth2 scope: `users.read`, `tweet.read`\n */\n tweets(tweetIds, options = {}) {\n return this.get('tweets', { ids: tweetIds, ...options });\n }\n /**\n * The recent Tweet counts endpoint returns count of Tweets from the last seven days that match a search query.\n * OAuth2 Bearer auth only.\n * https://developer.x.com/en/docs/twitter-api/tweets/counts/api-reference/get-tweets-counts-recent\n */\n tweetCountRecent(query, options = {}) {\n return this.get('tweets/counts/recent', { query, ...options });\n }\n /**\n * This endpoint is only available to those users who have been approved for the Academic Research product track.\n * The full-archive search endpoint returns the complete history of public Tweets matching a search query;\n * since the first Tweet was created March 26, 2006.\n * OAuth2 Bearer auth only.\n * **This endpoint has pagination, yet it is not supported by bundled paginators. Use `next_token` to fetch next page.**\n * https://developer.x.com/en/docs/twitter-api/tweets/counts/api-reference/get-tweets-counts-all\n */\n tweetCountAll(query, options = {}) {\n return this.get('tweets/counts/all', { query, ...options });\n }\n async tweetRetweetedBy(tweetId, options = {}) {\n const { asPaginator, ...parameters } = options;\n const initialRq = await this.get('tweets/:id/retweeted_by', parameters, {\n fullResponse: true,\n params: { id: tweetId },\n });\n if (!asPaginator) {\n return initialRq.data;\n }\n return new TweetRetweetersUsersV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: parameters,\n sharedParams: { id: tweetId },\n });\n }\n async tweetLikedBy(tweetId, options = {}) {\n const { asPaginator, ...parameters } = options;\n const initialRq = await this.get('tweets/:id/liking_users', parameters, {\n fullResponse: true,\n params: { id: tweetId },\n });\n if (!asPaginator) {\n return initialRq.data;\n }\n return new TweetLikingUsersV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: parameters,\n sharedParams: { id: tweetId },\n });\n }\n /**\n * Allows you to retrieve a collection of the most recent Tweets and Retweets posted by you and users you follow, also known as home timeline.\n * This endpoint returns up to the last 3200 Tweets.\n * https://developer.x.com/en/docs/twitter-api/tweets/timelines/api-reference/get-users-id-reverse-chronological\n *\n * OAuth 2 scopes: `tweet.read` `users.read`\n */\n async homeTimeline(options = {}) {\n const meUser = await this.getCurrentUserV2Object();\n const initialRq = await this.get('users/:id/timelines/reverse_chronological', options, {\n fullResponse: true,\n params: { id: meUser.data.id },\n });\n return new TweetHomeTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: options,\n sharedParams: { id: meUser.data.id },\n });\n }\n /**\n * Returns Tweets composed by a single user, specified by the requested user ID.\n * By default, the most recent ten Tweets are returned per request.\n * Using pagination, the most recent 3,200 Tweets can be retrieved.\n * https://developer.x.com/en/docs/twitter-api/tweets/timelines/api-reference/get-users-id-tweets\n */\n async userTimeline(userId, options = {}) {\n const initialRq = await this.get('users/:id/tweets', options, {\n fullResponse: true,\n params: { id: userId },\n });\n return new TweetUserTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: options,\n sharedParams: { id: userId },\n });\n }\n /**\n * Returns Tweets mentioning a single user specified by the requested user ID.\n * By default, the most recent ten Tweets are returned per request.\n * Using pagination, up to the most recent 800 Tweets can be retrieved.\n * https://developer.x.com/en/docs/twitter-api/tweets/timelines/api-reference/get-users-id-mentions\n */\n async userMentionTimeline(userId, options = {}) {\n const initialRq = await this.get('users/:id/mentions', options, {\n fullResponse: true,\n params: { id: userId },\n });\n return new TweetUserMentionTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: options,\n sharedParams: { id: userId },\n });\n }\n /**\n * Returns Quote Tweets for a Tweet specified by the requested Tweet ID.\n * https://developer.x.com/en/docs/twitter-api/tweets/quote-tweets/api-reference/get-tweets-id-quote_tweets\n *\n * OAuth2 scopes: `users.read` `tweet.read`\n */\n async quotes(tweetId, options = {}) {\n const initialRq = await this.get('tweets/:id/quote_tweets', options, {\n fullResponse: true,\n params: { id: tweetId },\n });\n return new QuotedTweetsTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: options,\n sharedParams: { id: tweetId },\n });\n }\n /* Bookmarks */\n /**\n * Allows you to get information about a authenticated user’s 800 most recent bookmarked Tweets.\n * https://developer.x.com/en/docs/twitter-api/tweets/bookmarks/api-reference/get-users-id-bookmarks\n *\n * OAuth2 scopes: `users.read` `tweet.read` `bookmark.read`\n */\n async bookmarks(options = {}) {\n const user = await this.getCurrentUserV2Object();\n const initialRq = await this.get('users/:id/bookmarks', options, {\n fullResponse: true,\n params: { id: user.data.id },\n });\n return new TweetBookmarksTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: options,\n sharedParams: { id: user.data.id },\n });\n }\n /* Users */\n /**\n * Returns information about an authorized user.\n * https://developer.x.com/en/docs/twitter-api/users/lookup/api-reference/get-users-me\n *\n * OAuth2 scopes: `tweet.read` & `users.read`\n */\n me(options = {}) {\n return this.get('users/me', options);\n }\n /**\n * Returns a variety of information about a single user specified by the requested ID.\n * https://developer.x.com/en/docs/twitter-api/users/lookup/api-reference/get-users-id\n */\n user(userId, options = {}) {\n return this.get('users/:id', options, { params: { id: userId } });\n }\n /**\n * Returns a variety of information about one or more users specified by the requested IDs.\n * https://developer.x.com/en/docs/twitter-api/users/lookup/api-reference/get-users\n */\n users(userIds, options = {}) {\n const ids = Array.isArray(userIds) ? userIds.join(',') : userIds;\n return this.get('users', { ...options, ids });\n }\n /**\n * Returns a variety of information about a single user specified by their username.\n * https://developer.x.com/en/docs/twitter-api/users/lookup/api-reference/get-users-by-username-username\n */\n userByUsername(username, options = {}) {\n return this.get('users/by/username/:username', options, { params: { username } });\n }\n /**\n * Returns a variety of information about one or more users specified by their usernames.\n * https://developer.x.com/en/docs/twitter-api/users/lookup/api-reference/get-users-by\n *\n * OAuth2 scope: `users.read`, `tweet.read`\n */\n usersByUsernames(usernames, options = {}) {\n usernames = Array.isArray(usernames) ? usernames.join(',') : usernames;\n return this.get('users/by', { ...options, usernames });\n }\n async followers(userId, options = {}) {\n const { asPaginator, ...parameters } = options;\n const params = { id: userId };\n if (!asPaginator) {\n return this.get('users/:id/followers', parameters, { params });\n }\n const initialRq = await this.get('users/:id/followers', parameters, { fullResponse: true, params });\n return new UserFollowersV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: parameters,\n sharedParams: params,\n });\n }\n async following(userId, options = {}) {\n const { asPaginator, ...parameters } = options;\n const params = { id: userId };\n if (!asPaginator) {\n return this.get('users/:id/following', parameters, { params });\n }\n const initialRq = await this.get('users/:id/following', parameters, { fullResponse: true, params });\n return new UserFollowingV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: parameters,\n sharedParams: params,\n });\n }\n /**\n * Allows you to get information about a user’s liked Tweets.\n * https://developer.x.com/en/docs/twitter-api/tweets/likes/api-reference/get-users-id-liked_tweets\n */\n async userLikedTweets(userId, options = {}) {\n const params = { id: userId };\n const initialRq = await this.get('users/:id/liked_tweets', options, { fullResponse: true, params });\n return new TweetV2UserLikedTweetsPaginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns a list of users who are blocked by the authenticating user.\n * https://developer.x.com/en/docs/twitter-api/users/blocks/api-reference/get-users-blocking\n */\n async userBlockingUsers(userId, options = {}) {\n const params = { id: userId };\n const initialRq = await this.get('users/:id/blocking', options, { fullResponse: true, params });\n return new UserBlockingUsersV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns a list of users who are muted by the authenticating user.\n * https://developer.x.com/en/docs/twitter-api/users/mutes/api-reference/get-users-muting\n */\n async userMutingUsers(userId, options = {}) {\n const params = { id: userId };\n const initialRq = await this.get('users/:id/muting', options, { fullResponse: true, params });\n return new UserMutingUsersV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /* Lists */\n /**\n * Returns the details of a specified List.\n * https://developer.x.com/en/docs/twitter-api/lists/list-lookup/api-reference/get-lists-id\n */\n list(id, options = {}) {\n return this.get('lists/:id', options, { params: { id } });\n }\n /**\n * Returns all Lists owned by the specified user.\n * https://developer.x.com/en/docs/twitter-api/lists/list-lookup/api-reference/get-users-id-owned_lists\n */\n async listsOwned(userId, options = {}) {\n const params = { id: userId };\n const initialRq = await this.get('users/:id/owned_lists', options, { fullResponse: true, params });\n return new UserOwnedListsV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns all Lists a specified user is a member of.\n * https://developer.x.com/en/docs/twitter-api/lists/list-members/api-reference/get-users-id-list_memberships\n */\n async listMemberships(userId, options = {}) {\n const params = { id: userId };\n const initialRq = await this.get('users/:id/list_memberships', options, { fullResponse: true, params });\n return new UserListMembershipsV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns all Lists a specified user follows.\n * https://developer.x.com/en/docs/twitter-api/lists/list-follows/api-reference/get-users-id-followed_lists\n */\n async listFollowed(userId, options = {}) {\n const params = { id: userId };\n const initialRq = await this.get('users/:id/followed_lists', options, { fullResponse: true, params });\n return new UserListFollowedV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns a list of Tweets from the specified List.\n * https://developer.x.com/en/docs/twitter-api/lists/list-tweets/api-reference/get-lists-id-tweets\n */\n async listTweets(listId, options = {}) {\n const params = { id: listId };\n const initialRq = await this.get('lists/:id/tweets', options, { fullResponse: true, params });\n return new TweetV2ListTweetsPaginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns a list of users who are members of the specified List.\n * https://developer.x.com/en/docs/twitter-api/lists/list-members/api-reference/get-lists-id-members\n */\n async listMembers(listId, options = {}) {\n const params = { id: listId };\n const initialRq = await this.get('lists/:id/members', options, { fullResponse: true, params });\n return new UserListMembersV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns a list of users who are followers of the specified List.\n * https://developer.x.com/en/docs/twitter-api/lists/list-follows/api-reference/get-lists-id-followers\n */\n async listFollowers(listId, options = {}) {\n const params = { id: listId };\n const initialRq = await this.get('lists/:id/followers', options, { fullResponse: true, params });\n return new UserListFollowersV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /* Direct messages */\n /**\n * Returns a list of Direct Messages for the authenticated user, both sent and received.\n * Direct Message events are returned in reverse chronological order.\n * Supports retrieving events from the previous 30 days.\n *\n * OAuth 2 scopes: `dm.read`, `tweet.read`, `user.read`\n *\n * https://developer.x.com/en/docs/twitter-api/direct-messages/lookup/api-reference/get-dm_events\n */\n async listDmEvents(options = {}) {\n const initialRq = await this.get('dm_events', options, { fullResponse: true });\n return new FullDMTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n });\n }\n /**\n * Returns a list of Direct Messages (DM) events within a 1-1 conversation with the user specified in the participant_id path parameter.\n * Messages are returned in reverse chronological order.\n *\n * OAuth 2 scopes: `dm.read`, `tweet.read`, `user.read`\n *\n * https://developer.x.com/en/docs/twitter-api/direct-messages/lookup/api-reference/get-dm_conversations-dm_conversation_id-dm_events\n */\n async listDmEventsWithParticipant(participantId, options = {}) {\n const params = { participant_id: participantId };\n const initialRq = await this.get('dm_conversations/with/:participant_id/dm_events', options, { fullResponse: true, params });\n return new OneToOneDMTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /**\n * Returns a list of Direct Messages within a conversation specified in the dm_conversation_id path parameter.\n * Messages are returned in reverse chronological order.\n *\n * OAuth 2 scopes: `dm.read`, `tweet.read`, `user.read`\n *\n * https://developer.x.com/en/docs/twitter-api/direct-messages/lookup/api-reference/get-dm_conversations-dm_conversation_id-dm_events\n */\n async listDmEventsOfConversation(dmConversationId, options = {}) {\n const params = { dm_conversation_id: dmConversationId };\n const initialRq = await this.get('dm_conversations/:dm_conversation_id/dm_events', options, { fullResponse: true, params });\n return new ConversationDMTimelineV2Paginator({\n realData: initialRq.data,\n rateLimit: initialRq.rateLimit,\n instance: this,\n queryParams: { ...options },\n sharedParams: params,\n });\n }\n /* Spaces */\n /**\n * Get a single space by ID.\n * https://developer.x.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-id\n *\n * OAuth2 scopes: `tweet.read`, `users.read`, `space.read`.\n */\n space(spaceId, options = {}) {\n return this.get('spaces/:id', options, { params: { id: spaceId } });\n }\n /**\n * Get spaces using their IDs.\n * https://developer.x.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces\n *\n * OAuth2 scopes: `tweet.read`, `users.read`, `space.read`.\n */\n spaces(spaceIds, options = {}) {\n return this.get('spaces', { ids: spaceIds, ...options });\n }\n /**\n * Get spaces using their creator user ID(s). (no pagination available)\n * https://developer.x.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-by-creator-ids\n *\n * OAuth2 scopes: `tweet.read`, `users.read`, `space.read`.\n */\n spacesByCreators(creatorIds, options = {}) {\n return this.get('spaces/by/creator_ids', { user_ids: creatorIds, ...options });\n }\n /**\n * Search through spaces using multiple params. (no pagination available)\n * https://developer.x.com/en/docs/twitter-api/spaces/search/api-reference/get-spaces-search\n */\n searchSpaces(options) {\n return this.get('spaces/search', options);\n }\n /**\n * Returns a list of user who purchased a ticket to the requested Space.\n * You must authenticate the request using the Access Token of the creator of the requested Space.\n *\n * **OAuth 2.0 Access Token required**\n *\n * https://developer.x.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-id-buyers\n *\n * OAuth2 scopes: `tweet.read`, `users.read`, `space.read`.\n */\n spaceBuyers(spaceId, options = {}) {\n return this.get('spaces/:id/buyers', options, { params: { id: spaceId } });\n }\n /**\n * Returns Tweets shared in the requested Spaces.\n * https://developer.x.com/en/docs/twitter-api/spaces/lookup/api-reference/get-spaces-id-tweets\n *\n * OAuth2 scope: `users.read`, `tweet.read`, `space.read`\n */\n spaceTweets(spaceId, options = {}) {\n return this.get('spaces/:id/tweets', options, { params: { id: spaceId } });\n }\n searchStream({ autoConnect, ...options } = {}) {\n return this.getStream('tweets/search/stream', options, { payloadIsError: isTweetStreamV2ErrorPayload, autoConnect });\n }\n /**\n * Return a list of rules currently active on the streaming endpoint, either as a list or individually.\n * https://developer.x.com/en/docs/twitter-api/tweets/filtered-stream/api-reference/get-tweets-search-stream-rules\n */\n streamRules(options = {}) {\n return this.get('tweets/search/stream/rules', options);\n }\n updateStreamRules(options, query = {}) {\n return this.post('tweets/search/stream/rules', options, { query });\n }\n sampleStream({ autoConnect, ...options } = {}) {\n return this.getStream('tweets/sample/stream', options, { payloadIsError: isTweetStreamV2ErrorPayload, autoConnect });\n }\n sample10Stream({ autoConnect, ...options } = {}) {\n return this.getStream('tweets/sample10/stream', options, { payloadIsError: isTweetStreamV2ErrorPayload, autoConnect });\n }\n /* Batch compliance */\n /**\n * Returns a list of recent compliance jobs.\n * https://developer.x.com/en/docs/twitter-api/compliance/batch-compliance/api-reference/get-compliance-jobs\n */\n complianceJobs(options) {\n return this.get('compliance/jobs', options);\n }\n /**\n * Get a single compliance job with the specified ID.\n * https://developer.x.com/en/docs/twitter-api/compliance/batch-compliance/api-reference/get-compliance-jobs-id\n */\n complianceJob(jobId) {\n return this.get('compliance/jobs/:id', undefined, { params: { id: jobId } });\n }\n /**\n * Creates a new compliance job for Tweet IDs or user IDs, send your file, await result and parse it into an array.\n * You can run one batch job at a time. Returns the created job, but **not the job result!**.\n *\n * You can obtain the result (**after job is completed**) with `.complianceJobResult`.\n * https://developer.x.com/en/docs/twitter-api/compliance/batch-compliance/api-reference/post-compliance-jobs\n */\n async sendComplianceJob(jobParams) {\n const job = await this.post('compliance/jobs', { type: jobParams.type, name: jobParams.name });\n // Send the IDs\n const rawIdsBody = jobParams.ids instanceof Buffer ? jobParams.ids : Buffer.from(jobParams.ids.join('\\n'));\n // Upload the IDs\n await this.put(job.data.upload_url, rawIdsBody, {\n forceBodyMode: 'raw',\n enableAuth: false,\n headers: { 'Content-Type': 'text/plain' },\n prefix: '',\n });\n return job;\n }\n /**\n * Get the result of a running or completed job, obtained through `.complianceJob`, `.complianceJobs` or `.sendComplianceJob`.\n * If job is still running (`in_progress`), it will await until job is completed. **This could be quite long!**\n * https://developer.x.com/en/docs/twitter-api/compliance/batch-compliance/api-reference/post-compliance-jobs\n */\n async complianceJobResult(job) {\n let runningJob = job;\n while (runningJob.status !== 'complete') {\n if (runningJob.status === 'expired' || runningJob.status === 'failed') {\n throw new Error('Job failed to be completed.');\n }\n await new Promise(resolve => setTimeout(resolve, 3500));\n runningJob = (await this.complianceJob(job.id)).data;\n }\n // Download and parse result\n const result = await this.get(job.download_url, undefined, {\n enableAuth: false,\n prefix: '',\n });\n return result\n .trim()\n .split('\\n')\n .filter(line => line)\n .map(line => JSON.parse(line));\n }\n /* Usage */\n /**\n * Allows you to retrieve your project usage.\n *\n * https://developer.x.com/en/docs/x-api/usage/tweets/introduction\n */\n async usage(options = {}) {\n return this.get('usage/tweets', options);\n }\n /**\n * Returns a variety of information about a single Community specified by ID.\n * https://docs.x.com/x-api/communities/communities-lookup-by-community-id\n */\n community(communityId, options = {}) {\n return this.get('communities/:id', options, { params: { id: communityId } });\n }\n /**\n * Search for Communities based on keywords.\n * https://docs.x.com/x-api/communities/search-communities\n */\n searchCommunities(query, options = {}) {\n return this.get('communities/search', { query, ...options });\n }\n}\n",
|
|
389
|
+
"import { API_V2_LABS_PREFIX } from '../globals';\nimport TwitterApiv2LabsReadOnly from './client.v2.labs.read';\n/**\n * Base Twitter v2 labs client with read/write rights.\n */\nexport default class TwitterApiv2LabsReadWrite extends TwitterApiv2LabsReadOnly {\n constructor() {\n super(...arguments);\n this._prefix = API_V2_LABS_PREFIX;\n }\n /**\n * Get a client with only read rights.\n */\n get readOnly() {\n return this;\n }\n}\n",
|
|
390
|
+
"import { API_V2_PREFIX } from '../globals';\nimport TwitterApiv2ReadOnly from './client.v2.read';\nimport TwitterApiv2LabsReadWrite from '../v2-labs/client.v2.labs.write';\n/**\n * Base Twitter v2 client with read/write rights.\n */\nexport default class TwitterApiv2ReadWrite extends TwitterApiv2ReadOnly {\n constructor() {\n super(...arguments);\n this._prefix = API_V2_PREFIX;\n }\n /* Sub-clients */\n /**\n * Get a client with only read rights.\n */\n get readOnly() {\n return this;\n }\n /**\n * Get a client for v2 labs endpoints.\n */\n get labs() {\n if (this._labs)\n return this._labs;\n return this._labs = new TwitterApiv2LabsReadWrite(this);\n }\n /* Tweets */\n /**\n * Hides or unhides a reply to a Tweet.\n * https://developer.x.com/en/docs/twitter-api/tweets/hide-replies/api-reference/put-tweets-id-hidden\n */\n hideReply(tweetId, makeHidden) {\n return this.put('tweets/:id/hidden', { hidden: makeHidden }, { params: { id: tweetId } });\n }\n /**\n * Causes the user ID identified in the path parameter to Like the target Tweet.\n * https://developer.x.com/en/docs/twitter-api/tweets/likes/api-reference/post-users-user_id-likes\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n like(loggedUserId, targetTweetId) {\n return this.post('users/:id/likes', { tweet_id: targetTweetId }, { params: { id: loggedUserId } });\n }\n /**\n * Allows a user or authenticated user ID to unlike a Tweet.\n * The request succeeds with no action when the user sends a request to a user they're not liking the Tweet or have already unliked the Tweet.\n * https://developer.x.com/en/docs/twitter-api/tweets/likes/api-reference/delete-users-id-likes-tweet_id\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n unlike(loggedUserId, targetTweetId) {\n return this.delete('users/:id/likes/:tweet_id', undefined, {\n params: { id: loggedUserId, tweet_id: targetTweetId },\n });\n }\n /**\n * Causes the user ID identified in the path parameter to Retweet the target Tweet.\n * https://developer.x.com/en/docs/twitter-api/tweets/retweets/api-reference/post-users-id-retweets\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n retweet(loggedUserId, targetTweetId) {\n return this.post('users/:id/retweets', { tweet_id: targetTweetId }, { params: { id: loggedUserId } });\n }\n /**\n * Allows a user or authenticated user ID to remove the Retweet of a Tweet.\n * The request succeeds with no action when the user sends a request to a user they're not Retweeting the Tweet or have already removed the Retweet of.\n * https://developer.x.com/en/docs/twitter-api/tweets/retweets/api-reference/delete-users-id-retweets-tweet_id\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n unretweet(loggedUserId, targetTweetId) {\n return this.delete('users/:id/retweets/:tweet_id', undefined, {\n params: { id: loggedUserId, tweet_id: targetTweetId },\n });\n }\n tweet(status, payload = {}) {\n if (typeof status === 'object') {\n payload = status;\n }\n else {\n payload = { text: status, ...payload };\n }\n return this.post('tweets', payload);\n }\n /**\n * Uploads media to Twitter using chunked upload.\n * https://docs.x.com/x-api/media/media-upload\n *\n * @param media The media buffer to upload\n * @param options Upload options including media type and category, and additional owners\n * @param chunkSize Size of each chunk in bytes (default: 1MB)\n * @returns The media ID of the uploaded media\n */\n async uploadMedia(media, options, chunkSize = 1024 * 1024) {\n let media_category = options.media_category;\n // If no media category is provided, try to infer it from the media type\n if (!options.media_category) {\n if (options.media_type.includes('gif')) {\n media_category = 'tweet_gif';\n }\n else if (options.media_type.includes('image')) {\n media_category = 'tweet_image';\n }\n else if (options.media_type.includes('video')) {\n media_category = 'tweet_video';\n }\n }\n const initArguments = {\n additional_owners: options.additional_owners,\n media_type: options.media_type,\n total_bytes: media.length,\n media_category,\n };\n const initResponse = await this.post('media/upload/initialize', initArguments);\n const mediaId = initResponse.data.id;\n const chunksCount = Math.ceil(media.length / chunkSize);\n const mediaArray = new Uint8Array(media);\n for (let i = 0; i < chunksCount; i++) {\n const start = i * chunkSize;\n const end = Math.min(start + chunkSize, media.length);\n const mediaChunk = mediaArray.slice(start, end);\n const chunkedBuffer = Buffer.from(mediaChunk);\n const appendArguments = {\n segment_index: i,\n media: chunkedBuffer,\n };\n await this.post(`media/upload/${mediaId}/append`, appendArguments, { forceBodyMode: 'form-data' });\n }\n const finalizeResponse = await this.post(`media/upload/${mediaId}/finalize`);\n if (finalizeResponse.data.processing_info) {\n await this.waitForMediaProcessing(mediaId);\n }\n return mediaId;\n }\n async waitForMediaProcessing(mediaId) {\n var _a;\n const response = await this.get('media/upload', {\n command: 'STATUS',\n media_id: mediaId,\n });\n const info = response.data.processing_info;\n if (!info)\n return;\n switch (info.state) {\n case 'succeeded':\n return;\n case 'failed':\n throw new Error(`Media processing failed: ${(_a = info.error) === null || _a === void 0 ? void 0 : _a.message}`);\n case 'pending':\n case 'in_progress': {\n const waitTime = info === null || info === void 0 ? void 0 : info.check_after_secs;\n if (waitTime && waitTime > 0) {\n await new Promise(resolve => setTimeout(resolve, waitTime * 1000));\n await this.waitForMediaProcessing(mediaId);\n }\n }\n }\n }\n /**\n * Creates the metadata for media to be uploaded.\n * This feature is currently only supported for images and GIFs.\n * https://docs.x.com/x-api/media/metadata-create\n */\n createMediaMetadata(mediaId, metadata) {\n return this.post('media/metadata', { id: mediaId, metadata });\n }\n /**\n * Reply to a Tweet on behalf of an authenticated user.\n * https://developer.x.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets\n */\n reply(status, toTweetId, payload = {}) {\n var _a;\n const reply = { in_reply_to_tweet_id: toTweetId, ...(_a = payload.reply) !== null && _a !== void 0 ? _a : {} };\n return this.post('tweets', { text: status, ...payload, reply });\n }\n /**\n * Quote an existing Tweet on behalf of an authenticated user.\n * https://developer.x.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets\n */\n quote(status, quotedTweetId, payload = {}) {\n return this.tweet(status, { ...payload, quote_tweet_id: quotedTweetId });\n }\n /**\n * Post a series of tweets.\n * https://developer.x.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/post-tweets\n */\n async tweetThread(tweets) {\n var _a, _b;\n const postedTweets = [];\n for (const tweet of tweets) {\n // Retrieve the last sent tweet\n const lastTweet = postedTweets.length ? postedTweets[postedTweets.length - 1] : null;\n // Build the tweet query params\n const queryParams = { ...(typeof tweet === 'string' ? ({ text: tweet }) : tweet) };\n // Reply to an existing tweet if needed\n const inReplyToId = lastTweet ? lastTweet.data.id : (_a = queryParams.reply) === null || _a === void 0 ? void 0 : _a.in_reply_to_tweet_id;\n const status = (_b = queryParams.text) !== null && _b !== void 0 ? _b : '';\n if (inReplyToId) {\n postedTweets.push(await this.reply(status, inReplyToId, queryParams));\n }\n else {\n postedTweets.push(await this.tweet(status, queryParams));\n }\n }\n return postedTweets;\n }\n /**\n * Allows a user or authenticated user ID to delete a Tweet\n * https://developer.x.com/en/docs/twitter-api/tweets/manage-tweets/api-reference/delete-tweets-id\n */\n deleteTweet(tweetId) {\n return this.delete('tweets/:id', undefined, {\n params: {\n id: tweetId,\n },\n });\n }\n /* Bookmarks */\n /**\n * Causes the user ID of an authenticated user identified in the path parameter to Bookmark the target Tweet provided in the request body.\n * https://developer.x.com/en/docs/twitter-api/tweets/bookmarks/api-reference/post-users-id-bookmarks\n *\n * OAuth2 scopes: `users.read` `tweet.read` `bookmark.write`\n */\n async bookmark(tweetId) {\n const user = await this.getCurrentUserV2Object();\n return this.post('users/:id/bookmarks', { tweet_id: tweetId }, { params: { id: user.data.id } });\n }\n /**\n * Allows a user or authenticated user ID to remove a Bookmark of a Tweet.\n * https://developer.x.com/en/docs/twitter-api/tweets/bookmarks/api-reference/delete-users-id-bookmarks-tweet_id\n *\n * OAuth2 scopes: `users.read` `tweet.read` `bookmark.write`\n */\n async deleteBookmark(tweetId) {\n const user = await this.getCurrentUserV2Object();\n return this.delete('users/:id/bookmarks/:tweet_id', undefined, { params: { id: user.data.id, tweet_id: tweetId } });\n }\n /* Users */\n /**\n * Allows a user ID to follow another user.\n * If the target user does not have public Tweets, this endpoint will send a follow request.\n * https://developer.x.com/en/docs/twitter-api/users/follows/api-reference/post-users-source_user_id-following\n *\n * OAuth2 scope: `follows.write`\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n follow(loggedUserId, targetUserId) {\n return this.post('users/:id/following', { target_user_id: targetUserId }, { params: { id: loggedUserId } });\n }\n /**\n * Allows a user ID to unfollow another user.\n * https://developer.x.com/en/docs/twitter-api/users/follows/api-reference/delete-users-source_id-following\n *\n * OAuth2 scope: `follows.write`\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n unfollow(loggedUserId, targetUserId) {\n return this.delete('users/:source_user_id/following/:target_user_id', undefined, {\n params: { source_user_id: loggedUserId, target_user_id: targetUserId },\n });\n }\n /**\n * Causes the user (in the path) to block the target user.\n * The user (in the path) must match the user context authorizing the request.\n * https://developer.x.com/en/docs/twitter-api/users/blocks/api-reference/post-users-user_id-blocking\n *\n * **Note**: You must specify the currently logged user ID; you can obtain it through v1.1 API.\n */\n block(loggedUserId, targetUserId) {\n return this.post('users/:id/blocking', { target_user_id: targetUserId }, { params: { id: loggedUserId } });\n }\n /**\n * Allows a user or authenticated user ID to unblock another user.\n * https://developer.x.com/en/docs/twitter-api/users/blocks/api-reference/delete-users-user_id-blocking\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n unblock(loggedUserId, targetUserId) {\n return this.delete('users/:source_user_id/blocking/:target_user_id', undefined, {\n params: { source_user_id: loggedUserId, target_user_id: targetUserId },\n });\n }\n /**\n * Allows an authenticated user ID to mute the target user.\n * https://developer.x.com/en/docs/twitter-api/users/mutes/api-reference/post-users-user_id-muting\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n mute(loggedUserId, targetUserId) {\n return this.post('users/:id/muting', { target_user_id: targetUserId }, { params: { id: loggedUserId } });\n }\n /**\n * Allows an authenticated user ID to unmute the target user.\n * The request succeeds with no action when the user sends a request to a user they're not muting or have already unmuted.\n * https://developer.x.com/en/docs/twitter-api/users/mutes/api-reference/delete-users-user_id-muting\n *\n * **Note**: You must specify the currently logged user ID ; you can obtain it through v1.1 API.\n */\n unmute(loggedUserId, targetUserId) {\n return this.delete('users/:source_user_id/muting/:target_user_id', undefined, {\n params: { source_user_id: loggedUserId, target_user_id: targetUserId },\n });\n }\n /* Lists */\n /**\n * Creates a new list for the authenticated user.\n * https://developer.x.com/en/docs/twitter-api/lists/manage-lists/api-reference/post-lists\n */\n createList(options) {\n return this.post('lists', options);\n }\n /**\n * Updates the specified list. The authenticated user must own the list to be able to update it.\n * https://developer.x.com/en/docs/twitter-api/lists/manage-lists/api-reference/put-lists-id\n */\n updateList(listId, options = {}) {\n return this.put('lists/:id', options, { params: { id: listId } });\n }\n /**\n * Deletes the specified list. The authenticated user must own the list to be able to destroy it.\n * https://developer.x.com/en/docs/twitter-api/lists/manage-lists/api-reference/delete-lists-id\n */\n removeList(listId) {\n return this.delete('lists/:id', undefined, { params: { id: listId } });\n }\n /**\n * Adds a member to a list.\n * https://developer.x.com/en/docs/twitter-api/lists/list-members/api-reference/post-lists-id-members\n */\n addListMember(listId, userId) {\n return this.post('lists/:id/members', { user_id: userId }, { params: { id: listId } });\n }\n /**\n * Remember a member to a list.\n * https://developer.x.com/en/docs/twitter-api/lists/list-members/api-reference/delete-lists-id-members-user_id\n */\n removeListMember(listId, userId) {\n return this.delete('lists/:id/members/:user_id', undefined, { params: { id: listId, user_id: userId } });\n }\n /**\n * Subscribes the authenticated user to the specified list.\n * https://developer.x.com/en/docs/twitter-api/lists/manage-lists/api-reference/post-users-id-followed-lists\n */\n subscribeToList(loggedUserId, listId) {\n return this.post('users/:id/followed_lists', { list_id: listId }, { params: { id: loggedUserId } });\n }\n /**\n * Unsubscribes the authenticated user to the specified list.\n * https://developer.x.com/en/docs/twitter-api/lists/manage-lists/api-reference/delete-users-id-followed-lists-list_id\n */\n unsubscribeOfList(loggedUserId, listId) {\n return this.delete('users/:id/followed_lists/:list_id', undefined, { params: { id: loggedUserId, list_id: listId } });\n }\n /**\n * Enables the authenticated user to pin a List.\n * https://developer.x.com/en/docs/twitter-api/lists/manage-lists/api-reference/post-users-id-pinned-lists\n */\n pinList(loggedUserId, listId) {\n return this.post('users/:id/pinned_lists', { list_id: listId }, { params: { id: loggedUserId } });\n }\n /**\n * Enables the authenticated user to unpin a List.\n * https://developer.x.com/en/docs/twitter-api/lists/manage-lists/api-reference/delete-users-id-pinned-lists-list_id\n */\n unpinList(loggedUserId, listId) {\n return this.delete('users/:id/pinned_lists/:list_id', undefined, { params: { id: loggedUserId, list_id: listId } });\n }\n /* Direct messages */\n /**\n * Creates a Direct Message on behalf of an authenticated user, and adds it to the specified conversation.\n * https://developer.x.com/en/docs/twitter-api/direct-messages/manage/api-reference/post-dm_conversations-dm_conversation_id-messages\n */\n sendDmInConversation(conversationId, message) {\n return this.post('dm_conversations/:dm_conversation_id/messages', message, { params: { dm_conversation_id: conversationId } });\n }\n /**\n * Creates a one-to-one Direct Message and adds it to the one-to-one conversation.\n * This method either creates a new one-to-one conversation or retrieves the current conversation and adds the Direct Message to it.\n * https://developer.x.com/en/docs/twitter-api/direct-messages/manage/api-reference/post-dm_conversations-with-participant_id-messages\n */\n sendDmToParticipant(participantId, message) {\n return this.post('dm_conversations/with/:participant_id/messages', message, { params: { participant_id: participantId } });\n }\n /**\n * Creates a new group conversation and adds a Direct Message to it on behalf of an authenticated user.\n * https://developer.x.com/en/docs/twitter-api/direct-messages/manage/api-reference/post-dm_conversations\n */\n createDmConversation(options) {\n return this.post('dm_conversations', options);\n }\n}\n",
|
|
391
|
+
"import { API_V2_LABS_PREFIX } from '../globals';\nimport TwitterApiv2LabsReadWrite from './client.v2.labs.write';\n/**\n * Twitter v2 labs client with all rights (read/write/DMs)\n */\nexport class TwitterApiv2Labs extends TwitterApiv2LabsReadWrite {\n constructor() {\n super(...arguments);\n this._prefix = API_V2_LABS_PREFIX;\n }\n /**\n * Get a client with read/write rights.\n */\n get readWrite() {\n return this;\n }\n}\nexport default TwitterApiv2Labs;\n",
|
|
392
|
+
"import { API_V2_PREFIX } from '../globals';\nimport TwitterApiv2ReadWrite from './client.v2.write';\nimport TwitterApiv2Labs from '../v2-labs/client.v2.labs';\n/**\n * Twitter v2 client with all rights (read/write/DMs)\n */\nexport class TwitterApiv2 extends TwitterApiv2ReadWrite {\n constructor() {\n super(...arguments);\n this._prefix = API_V2_PREFIX;\n /** API endpoints */\n }\n /* Sub-clients */\n /**\n * Get a client with read/write rights.\n */\n get readWrite() {\n return this;\n }\n /**\n * Get a client for v2 labs endpoints.\n */\n get labs() {\n if (this._labs)\n return this._labs;\n return this._labs = new TwitterApiv2Labs(this);\n }\n}\nexport default TwitterApiv2;\n",
|
|
393
|
+
"import TwitterApiBase from '../client.base';\nimport TwitterApiv1ReadOnly from '../v1/client.v1.read';\nimport TwitterApiv2ReadOnly from '../v2/client.v2.read';\nimport { OAuth2Helper } from '../client-mixins/oauth2.helper';\nimport RequestParamHelpers from '../client-mixins/request-param.helper';\n/**\n * Twitter v1.1 and v2 API client.\n */\nexport default class TwitterApiReadOnly extends TwitterApiBase {\n /* Direct access to subclients */\n get v1() {\n if (this._v1)\n return this._v1;\n return this._v1 = new TwitterApiv1ReadOnly(this);\n }\n get v2() {\n if (this._v2)\n return this._v2;\n return this._v2 = new TwitterApiv2ReadOnly(this);\n }\n /**\n * Fetch and cache current user.\n * This method can only be called with a OAuth 1.0a user authentication.\n *\n * You can use this method to test if authentication was successful.\n * Next calls to this methods will use the cached user, unless `forceFetch: true` is given.\n */\n async currentUser(forceFetch = false) {\n return await this.getCurrentUserObject(forceFetch);\n }\n /**\n * Fetch and cache current user.\n * This method can only be called with a OAuth 1.0a or OAuth2 user authentication.\n *\n * This can only be the slimest available `UserV2` object, with only id, name and username properties defined.\n * To get a customized `UserV2Result`, use `.v2.me()`\n *\n * You can use this method to test if authentication was successful.\n * Next calls to this methods will use the cached user, unless `forceFetch: true` is given.\n *\n * OAuth2 scopes: `tweet.read` & `users.read`\n */\n async currentUserV2(forceFetch = false) {\n return await this.getCurrentUserV2Object(forceFetch);\n }\n /* Shortcuts to endpoints */\n search(what, options) {\n return this.v2.search(what, options);\n }\n /* Authentication */\n /**\n * Generate the OAuth request token link for user-based OAuth 1.0 auth.\n *\n * ```ts\n * // Instantiate TwitterApi with consumer keys\n * const client = new TwitterApi({ appKey: 'consumer_key', appSecret: 'consumer_secret' });\n *\n * const tokenRequest = await client.generateAuthLink('oob-or-your-callback-url');\n * // redirect end-user to tokenRequest.url\n *\n * // Save tokenRequest.oauth_token_secret somewhere, it will be needed for next auth step.\n * ```\n */\n async generateAuthLink(oauth_callback = 'oob', { authAccessType, linkMode = 'authenticate', forceLogin, screenName, } = {}) {\n const oauthResult = await this.post('https://api.x.com/oauth/request_token', { oauth_callback, x_auth_access_type: authAccessType });\n let url = `https://api.x.com/oauth/${linkMode}?oauth_token=${encodeURIComponent(oauthResult.oauth_token)}`;\n if (forceLogin !== undefined) {\n url += `&force_login=${encodeURIComponent(forceLogin)}`;\n }\n if (screenName !== undefined) {\n url += `&screen_name=${encodeURIComponent(screenName)}`;\n }\n if (this._requestMaker.hasPlugins()) {\n this._requestMaker.applyPluginMethod('onOAuth1RequestToken', {\n client: this._requestMaker,\n url,\n oauthResult,\n });\n }\n return {\n url,\n ...oauthResult,\n };\n }\n /**\n * Obtain access to user-based OAuth 1.0 auth.\n *\n * After user is redirect from your callback, use obtained oauth_token and oauth_verifier to\n * instantiate the new TwitterApi instance.\n *\n * ```ts\n * // Use the saved oauth_token_secret associated to oauth_token returned by callback\n * const requestClient = new TwitterApi({\n * appKey: 'consumer_key',\n * appSecret: 'consumer_secret',\n * accessToken: 'oauth_token',\n * accessSecret: 'oauth_token_secret'\n * });\n *\n * // Use oauth_verifier obtained from callback request\n * const { client: userClient } = await requestClient.login('oauth_verifier');\n *\n * // {userClient} is a valid {TwitterApi} object you can use for future requests\n * ```\n */\n async login(oauth_verifier) {\n const tokens = this.getActiveTokens();\n if (tokens.type !== 'oauth-1.0a')\n throw new Error('You must setup TwitterApi instance with consumer keys to accept OAuth 1.0 login');\n const oauth_result = await this.post('https://api.x.com/oauth/access_token', { oauth_token: tokens.accessToken, oauth_verifier });\n const client = new this.constructor({\n appKey: tokens.appKey,\n appSecret: tokens.appSecret,\n accessToken: oauth_result.oauth_token,\n accessSecret: oauth_result.oauth_token_secret,\n }, this._requestMaker.clientSettings);\n return {\n accessToken: oauth_result.oauth_token,\n accessSecret: oauth_result.oauth_token_secret,\n userId: oauth_result.user_id,\n screenName: oauth_result.screen_name,\n client,\n };\n }\n /**\n * Enable application-only authentication.\n *\n * To make the request, instantiate TwitterApi with consumer and secret.\n *\n * ```ts\n * const requestClient = new TwitterApi({ appKey: 'consumer', appSecret: 'secret' });\n * const appClient = await requestClient.appLogin();\n *\n * // Use {appClient} to make requests\n * ```\n */\n async appLogin() {\n const tokens = this.getActiveTokens();\n if (tokens.type !== 'oauth-1.0a')\n throw new Error('You must setup TwitterApi instance with consumer keys to accept app-only login');\n // Create a client with Basic authentication\n const basicClient = new this.constructor({ username: tokens.appKey, password: tokens.appSecret }, this._requestMaker.clientSettings);\n const res = await basicClient.post('https://api.x.com/oauth2/token', { grant_type: 'client_credentials' });\n // New object with Bearer token\n return new this.constructor(res.access_token, this._requestMaker.clientSettings);\n }\n /* OAuth 2 user authentication */\n /**\n * Generate the OAuth request token link for user-based OAuth 2.0 auth.\n *\n * - **You can only use v2 API endpoints with this authentication method.**\n * - **You need to specify which scope you want to have when you create your auth link. Make sure it matches your needs.**\n *\n * See https://developer.x.com/en/docs/authentication/oauth-2-0/user-access-token for details.\n *\n * ```ts\n * // Instantiate TwitterApi with client ID\n * const client = new TwitterApi({ clientId: 'yourClientId' });\n *\n * // Generate a link to callback URL that will gives a token with tweet+user read access\n * const link = client.generateOAuth2AuthLink('your-callback-url', { scope: ['tweet.read', 'users.read'] });\n *\n * // Extract props from generate link\n * const { url, state, codeVerifier } = link;\n *\n * // redirect end-user to url\n * // Save `state` and `codeVerifier` somewhere, it will be needed for next auth step.\n * ```\n */\n generateOAuth2AuthLink(redirectUri, options = {}) {\n var _a, _b;\n if (!this._requestMaker.clientId) {\n throw new Error('Twitter API instance is not initialized with client ID. You can find your client ID in Twitter Developer Portal. ' +\n 'Please build an instance with: new TwitterApi({ clientId: \\'<yourClientId>\\' })');\n }\n const state = (_a = options.state) !== null && _a !== void 0 ? _a : OAuth2Helper.generateRandomString(32);\n const codeVerifier = OAuth2Helper.getCodeVerifier();\n const codeChallenge = OAuth2Helper.getCodeChallengeFromVerifier(codeVerifier);\n const rawScope = (_b = options.scope) !== null && _b !== void 0 ? _b : '';\n const scope = Array.isArray(rawScope) ? rawScope.join(' ') : rawScope;\n const url = new URL('https://x.com/i/oauth2/authorize');\n const query = {\n response_type: 'code',\n client_id: this._requestMaker.clientId,\n redirect_uri: redirectUri,\n state,\n code_challenge: codeChallenge,\n code_challenge_method: 's256',\n scope,\n };\n RequestParamHelpers.addQueryParamsToUrl(url, query);\n const result = {\n url: url.toString(),\n state,\n codeVerifier,\n codeChallenge,\n };\n if (this._requestMaker.hasPlugins()) {\n this._requestMaker.applyPluginMethod('onOAuth2RequestToken', {\n client: this._requestMaker,\n result,\n redirectUri,\n });\n }\n return result;\n }\n /**\n * Obtain access to user-based OAuth 2.0 auth.\n *\n * After user is redirect from your callback, use obtained code to\n * instantiate the new TwitterApi instance.\n *\n * You need to obtain `codeVerifier` from a call to `.generateOAuth2AuthLink`.\n *\n * ```ts\n * // Use the saved codeVerifier associated to state (present in query string of callback)\n * const requestClient = new TwitterApi({ clientId: 'yourClientId' });\n *\n * const { client: userClient, refreshToken } = await requestClient.loginWithOAuth2({\n * code: 'codeFromQueryString',\n * // the same URL given to generateOAuth2AuthLink\n * redirectUri,\n * // the verifier returned by generateOAuth2AuthLink\n * codeVerifier,\n * });\n *\n * // {userClient} is a valid {TwitterApi} object you can use for future requests\n * // {refreshToken} is defined if 'offline.access' is in scope.\n * ```\n */\n async loginWithOAuth2({ code, codeVerifier, redirectUri }) {\n if (!this._requestMaker.clientId) {\n throw new Error('Twitter API instance is not initialized with client ID. ' +\n 'Please build an instance with: new TwitterApi({ clientId: \\'<yourClientId>\\' })');\n }\n const accessTokenResult = await this.post('https://api.x.com/2/oauth2/token', {\n code,\n code_verifier: codeVerifier,\n redirect_uri: redirectUri,\n grant_type: 'authorization_code',\n client_id: this._requestMaker.clientId,\n client_secret: this._requestMaker.clientSecret,\n });\n return this.parseOAuth2AccessTokenResult(accessTokenResult);\n }\n /**\n * Obtain a new access token to user-based OAuth 2.0 auth from a refresh token.\n *\n * ```ts\n * const requestClient = new TwitterApi({ clientId: 'yourClientId' });\n *\n * const { client: userClient } = await requestClient.refreshOAuth2Token('refreshToken');\n * // {userClient} is a valid {TwitterApi} object you can use for future requests\n * ```\n */\n async refreshOAuth2Token(refreshToken) {\n if (!this._requestMaker.clientId) {\n throw new Error('Twitter API instance is not initialized with client ID. ' +\n 'Please build an instance with: new TwitterApi({ clientId: \\'<yourClientId>\\' })');\n }\n const accessTokenResult = await this.post('https://api.x.com/2/oauth2/token', {\n refresh_token: refreshToken,\n grant_type: 'refresh_token',\n client_id: this._requestMaker.clientId,\n client_secret: this._requestMaker.clientSecret,\n });\n return this.parseOAuth2AccessTokenResult(accessTokenResult);\n }\n /**\n * Revoke a single user-based OAuth 2.0 token.\n *\n * You must specify its source, access token (directly after login)\n * or refresh token (if you've called `.refreshOAuth2Token` before).\n */\n async revokeOAuth2Token(token, tokenType = 'access_token') {\n if (!this._requestMaker.clientId) {\n throw new Error('Twitter API instance is not initialized with client ID. ' +\n 'Please build an instance with: new TwitterApi({ clientId: \\'<yourClientId>\\' })');\n }\n return await this.post('https://api.x.com/2/oauth2/revoke', {\n client_id: this._requestMaker.clientId,\n client_secret: this._requestMaker.clientSecret,\n token,\n token_type_hint: tokenType,\n });\n }\n parseOAuth2AccessTokenResult(result) {\n const client = new this.constructor(result.access_token, this._requestMaker.clientSettings);\n const scope = result.scope.split(' ').filter(e => e);\n return {\n client,\n expiresIn: result.expires_in,\n accessToken: result.access_token,\n scope,\n refreshToken: result.refresh_token,\n };\n }\n}\n",
|
|
394
|
+
"import TwitterApiv1ReadWrite from '../v1/client.v1.write';\nimport TwitterApiv2ReadWrite from '../v2/client.v2.write';\nimport TwitterApiReadOnly from './readonly';\n/**\n * Twitter v1.1 and v2 API client.\n */\nexport default class TwitterApiReadWrite extends TwitterApiReadOnly {\n /* Direct access to subclients */\n get v1() {\n if (this._v1)\n return this._v1;\n return this._v1 = new TwitterApiv1ReadWrite(this);\n }\n get v2() {\n if (this._v2)\n return this._v2;\n return this._v2 = new TwitterApiv2ReadWrite(this);\n }\n /**\n * Get a client with read only rights.\n */\n get readOnly() {\n return this;\n }\n}\n",
|
|
395
|
+
"import TwitterApiSubClient from '../client.subclient';\nimport { API_ADS_PREFIX } from '../globals';\n/**\n * Base Twitter ads client with only read rights.\n */\nexport default class TwitterAdsReadOnly extends TwitterApiSubClient {\n constructor() {\n super(...arguments);\n this._prefix = API_ADS_PREFIX;\n }\n}\n",
|
|
396
|
+
"import { API_ADS_PREFIX } from '../globals';\nimport TwitterAdsReadOnly from './client.ads.read';\n/**\n * Base Twitter ads client with read/write rights.\n */\nexport default class TwitterAdsReadWrite extends TwitterAdsReadOnly {\n constructor() {\n super(...arguments);\n this._prefix = API_ADS_PREFIX;\n }\n /**\n * Get a client with only read rights.\n */\n get readOnly() {\n return this;\n }\n}\n",
|
|
397
|
+
"import TwitterApiSubClient from '../client.subclient';\nimport { API_ADS_SANDBOX_PREFIX } from '../globals';\n/**\n * Base Twitter ads sandbox client with only read rights.\n */\nexport default class TwitterAdsSandboxReadOnly extends TwitterApiSubClient {\n constructor() {\n super(...arguments);\n this._prefix = API_ADS_SANDBOX_PREFIX;\n }\n}\n",
|
|
398
|
+
"import { API_ADS_SANDBOX_PREFIX } from '../globals';\nimport TwitterAdsSandboxReadOnly from './client.ads-sandbox.read';\n/**\n * Base Twitter ads sandbox client with read/write rights.\n */\nexport default class TwitterAdsSandboxReadWrite extends TwitterAdsSandboxReadOnly {\n constructor() {\n super(...arguments);\n this._prefix = API_ADS_SANDBOX_PREFIX;\n }\n /**\n * Get a client with only read rights.\n */\n get readOnly() {\n return this;\n }\n}\n",
|
|
399
|
+
"import { API_ADS_SANDBOX_PREFIX } from '../globals';\nimport TwitterAdsSandboxReadWrite from './client.ads-sandbox.write';\n/**\n * Twitter ads sandbox client with all rights (read/write)\n */\nexport class TwitterAdsSandbox extends TwitterAdsSandboxReadWrite {\n constructor() {\n super(...arguments);\n this._prefix = API_ADS_SANDBOX_PREFIX;\n }\n /**\n * Get a client with read/write rights.\n */\n get readWrite() {\n return this;\n }\n}\nexport default TwitterAdsSandbox;\n",
|
|
400
|
+
"import { API_ADS_PREFIX } from '../globals';\nimport TwitterAdsReadWrite from './client.ads.write';\nimport TwitterAdsSandbox from '../ads-sandbox/client.ads-sandbox';\n/**\n * Twitter ads client with all rights (read/write)\n */\nexport class TwitterAds extends TwitterAdsReadWrite {\n constructor() {\n super(...arguments);\n this._prefix = API_ADS_PREFIX;\n }\n /**\n * Get a client with read/write rights.\n */\n get readWrite() {\n return this;\n }\n /**\n * Get Twitter Ads Sandbox API client\n */\n get sandbox() {\n if (this._sandbox)\n return this._sandbox;\n return this._sandbox = new TwitterAdsSandbox(this);\n }\n}\nexport default TwitterAds;\n",
|
|
401
|
+
"import TwitterApiv1 from '../v1/client.v1';\nimport TwitterApiv2 from '../v2/client.v2';\nimport TwitterApiReadWrite from './readwrite';\nimport TwitterAds from '../ads/client.ads';\n// \"Real\" exported client for usage of TwitterApi.\n/**\n * Twitter v1.1 and v2 API client.\n */\nexport class TwitterApi extends TwitterApiReadWrite {\n /* Direct access to subclients */\n get v1() {\n if (this._v1)\n return this._v1;\n return this._v1 = new TwitterApiv1(this);\n }\n get v2() {\n if (this._v2)\n return this._v2;\n return this._v2 = new TwitterApiv2(this);\n }\n /**\n * Get a client with read/write rights.\n */\n get readWrite() {\n return this;\n }\n /**\n * Get Twitter Ads API client\n */\n get ads() {\n if (this._ads)\n return this._ads;\n return this._ads = new TwitterAds(this);\n }\n /* Static helpers */\n static getErrors(error) {\n var _a;\n if (typeof error !== 'object')\n return [];\n if (!('data' in error))\n return [];\n return (_a = error.data.errors) !== null && _a !== void 0 ? _a : [];\n }\n /** Extract another image size than obtained in a `profile_image_url` or `profile_image_url_https` field of a user object. */\n static getProfileImageInSize(profileImageUrl, size) {\n const lastPart = profileImageUrl.split('/').pop();\n const sizes = ['normal', 'bigger', 'mini'];\n let originalUrl = profileImageUrl;\n for (const availableSize of sizes) {\n if (lastPart.includes(`_${availableSize}`)) {\n originalUrl = profileImageUrl.replace(`_${availableSize}`, '');\n break;\n }\n }\n if (size === 'original') {\n return originalUrl;\n }\n const extPos = originalUrl.lastIndexOf('.');\n if (extPos !== -1) {\n const ext = originalUrl.slice(extPos + 1);\n return originalUrl.slice(0, extPos) + '_' + size + '.' + ext;\n }\n else {\n return originalUrl + '_' + size;\n }\n }\n}\nexport { default as TwitterApiReadWrite } from './readwrite';\nexport { default as TwitterApiReadOnly } from './readonly';\nexport default TwitterApi;\n",
|
|
402
|
+
"import { TOAuth2Scope, TwitterApi } from \"twitter-api-v2\";\nimport { Redirect } from \"../../facades/Redirect\";\nimport { HttpRequest } from \"../../http/HttpRequest\";\nimport { OAuthProvider } from \"./OAuthProvider\";\n\ntype Config = {\n clientId: string;\n scope: TOAuth2Scope[];\n clientSecret: string;\n redirectPath: string;\n};\n\ntype OAuthState = {\n state: string;\n codeVerifier: string;\n};\n\nconst defaultConfig: Config = {\n clientId: process.env.X_CLIENT_ID!,\n clientSecret: process.env.X_SECRET!,\n redirectPath: \"/auth/oauth/x/callback\",\n scope: [\"tweet.read\", \"users.read\", \"offline.access\"],\n};\n\nexport class XOAuthProvider extends OAuthProvider {\n config: Config;\n client: TwitterApi;\n // Using a Map to store state and codeVerifier for different OAuth flows\n private oauthStates: Map<string, OAuthState> = new Map();\n\n constructor(config: Partial<Config> = {}) {\n super();\n this.config = { ...defaultConfig, ...config };\n this.client = new TwitterApi({\n clientId: this.config.clientId,\n clientSecret: this.config.clientSecret,\n });\n }\n\n getRedirectUrl() {\n const { url, codeVerifier, state } = this.client.generateOAuth2AuthLink(\n `${process.env.HOST_NAME}${this.config.redirectPath}`,\n { scope: this.config.scope },\n );\n\n // Store state and codeVerifier in a map with state as the key\n this.oauthStates.set(state, { state, codeVerifier });\n\n Redirect.to(url as never);\n return url;\n }\n\n async onCallback(req: HttpRequest) {\n const code = req.search.get(\"code\")!;\n const state = req.search.get(\"state\")!;\n\n // Retrieve the stored codeVerifier using the state from the callback\n const oauthState = this.oauthStates.get(state);\n\n if (!oauthState) {\n throw new Error(\"Invalid or expired OAuth state\");\n }\n\n const result = await this.client.loginWithOAuth2({\n code,\n codeVerifier: oauthState.codeVerifier,\n redirectUri: `${process.env.HOST_NAME}${this.config.redirectPath}`,\n });\n\n // Clean up the stored state after use\n this.oauthStates.delete(state);\n\n const { data } = await result.client.v2.me({\n \"user.fields\": [\"name\", \"username\", \"entities\"],\n });\n\n const { name, email, id = \"\", username } = data ?? ({} as any);\n return { name, email, username, providerId: id };\n }\n}\n",
|
|
403
|
+
"import { ServiceProvider } from \"../ServiceProvider\";\nimport type { CronJob } from \"./CronJob\";\nimport type { Kernel } from \"../../kernel\";\n\nexport class CronServiceProvider extends ServiceProvider {\n jobs: (new () => CronJob)[] = [];\n\n constructor(public kernel: Kernel) {\n super();\n }\n\n boot() {}\n}\n",
|
|
404
|
+
"import type { CronExpression } from \"cronbake\";\n\nexport class CronJob {\n name: string;\n cron: CronExpression;\n\n callback(): Promise<void> | void {}\n onTick(): Promise<void> | void {}\n onComplete(): Promise<void> | void {}\n\n static exp(expression: CronExpression) {\n return expression;\n }\n}\n"
|
|
405
|
+
],
|
|
406
|
+
"mappings": "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",
|
|
407
|
+
"debugId": "6F86DC4EC116930664756E2164756E21",
|
|
408
|
+
"names": []
|
|
409
|
+
}
|