diff --git a/packages/client/src/views/RecentActivity.vue b/packages/client/src/views/RecentActivity.vue index c9dc2cbe2..9bb4adea3 100644 --- a/packages/client/src/views/RecentActivity.vue +++ b/packages/client/src/views/RecentActivity.vue @@ -53,7 +53,7 @@ - {{ grantsInterested.length }} of {{ totalRows }} + {{ totalInterestedGrants }} of {{ totalRows }} @@ -166,7 +166,7 @@ export default { })); }, totalRows() { - return this.totalInterestedGrants; + return this.grantsInterested.length; }, }, watch: { diff --git a/packages/server/src/arpa_reporter/routes/exports.js b/packages/server/src/arpa_reporter/routes/exports.js index 8a3d618c2..561c43971 100644 --- a/packages/server/src/arpa_reporter/routes/exports.js +++ b/packages/server/src/arpa_reporter/routes/exports.js @@ -3,6 +3,7 @@ const express = require('express'); const router = express.Router(); const { HeadObjectCommand, GetObjectCommand } = require('@aws-sdk/client-s3'); const _ = require('lodash'); +const { SendMessageCommand } = require('@aws-sdk/client-sqs'); const aws = require('../../lib/gost-aws'); const { requireUser, getAdminAuthInfo } = require('../../lib/access-helpers'); @@ -55,6 +56,26 @@ router.get('/', requireUser, async (req, res) => { } const tenantId = useTenantId(); + if (req.query.queue) { + // Special handling for deferring treasury report generation and sending to a task queue + console.log('/api/exports?queue=true GET'); + console.log('Generating Async treasury report via task queue'); + try { + const user = useUser(); + const sqs = aws.getSQSClient(); + await sqs.send(new SendMessageCommand({ + QueueUrl: process.env.ARPA_TREASURY_REPORT_SQS_QUEUE_URL, + MessageBody: JSON.stringify({ userId: user.userId, periodId, tenantId }), + })); + res.json({ success: true }); + return; + } catch (error) { + console.log(`Failed to generate and send treasury report ${error}`); + res.status(500).json({ error: 'Unable to generate treasury report and send email.' }); + return; + } + } + if (req.query.async) { // Special handling for async treasury report generation and sending. console.log('/api/exports?async=true GET'); diff --git a/packages/server/src/arpa_reporter/services/generate-arpa-report.js b/packages/server/src/arpa_reporter/services/generate-arpa-report.js index 6bacafade..7cb02222b 100644 --- a/packages/server/src/arpa_reporter/services/generate-arpa-report.js +++ b/packages/server/src/arpa_reporter/services/generate-arpa-report.js @@ -1,11 +1,14 @@ const moment = require('moment'); const AdmZip = require('adm-zip'); +const tracer = require('dd-trace'); +const ps = require('node:process'); const XLSX = require('xlsx'); -const asyncBatch = require('async-batch').default; const { PutObjectCommand } = require('@aws-sdk/client-s3'); const aws = require('../../lib/gost-aws'); +const { getUser } = require('../../db'); const { applicationSettings } = require('../db/settings'); +const { log } = require('../../lib/logging'); const { listRecipientsForReportingPeriod } = require('../db/arpa-subrecipients'); const { getTemplate } = require('./get-template'); const email = require('../../lib/email'); @@ -29,6 +32,26 @@ const EC_CODE_REGEX = /^(\d.\d\d?)/; // dropdown value used to differentiate payments under 50k const PAYMENTS_TO_INDIVIDUALS = 'Payments to Individuals'; +/** + * Modifies logger and returns a new child that injects a processStats object into all logs + * by default. Individual logging calls (or child loggers of the returned logger) can disable + * this behavior by passing an options object with { processStats: false }. + * + * Note that the returned logger will always overwrite a log with "processStats" in the options, + * so don't plan on using that field name for anything else. + */ +const processStatsLogger = (logger = log.child(), options = {}) => { + logger.addSerializers({ + processStats: (enabled) => { + if (enabled) { + return { memory: ps.memoryUsage(), cpu: ps.cpuUsage() }; + } + return undefined; + }, + }); + return logger.child({ processStats: true, ...options }); +}; + /** * Extract the Detailed Expenditure Category code from a record. * @@ -909,7 +932,7 @@ async function generateSubRecipient(records, periodId) { }); } -async function setCSVData(data) { +async function setCSVData(data, logger = log) { const { csvObject, admZip, records, periodId, } = data; @@ -923,6 +946,7 @@ async function setCSVData(data) { // ignore empty CSV files if (csvData.length === 0) { + logger.info('no data for csv'); return; } @@ -943,58 +967,73 @@ async function setCSVData(data) { } async function generateReport(periodId, tenantId) { - tenantId = tenantId || useTenantId(); - requiredArgument(periodId, 'must specify periodId'); - const records = await recordsForReportingPeriod(periodId, tenantId); + return tracer.trace('generateReport()', async () => { + tenantId = tenantId || useTenantId(); + requiredArgument(periodId, 'must specify periodId'); + const logger = processStatsLogger(log, { + workbook: { period: { id: periodId }, tenant: { id: tenantId } }, + }); + logger.info('Verified all necessary arguments are present.'); - // generate every csv file for the report - const csvObjects = [ - { name: 'project111210BulkUpload', func: generateProject111210 }, - { name: 'project18_229233BulkUpload', func: generateProject18 }, - { name: 'project19_234BulkUpload', func: generateProject19 }, - { name: 'project211214BulkUpload', func: generateProject211214 }, - { name: 'project2128BulkUpload', func: generateProject2128 }, - { name: 'project215218BulkUpload', func: generateProject215218 }, - { name: 'project224227BulkUpload', func: generateProject224227 }, - { name: 'project236BulkUpload', func: generateProject236 }, - { name: 'project31BulkUpload', func: generateProject31 }, - { name: 'project32BulkUpload', func: generateProject32 }, - { name: 'project4142BulkUpload', func: generateProject4142 }, - { name: 'project51518BulkUpload', func: generateProject51518 }, - { name: 'project519521BulkUpload', func: generateProject519521 }, - { name: 'projectBaselineBulkUploadTemplate', func: generateProjectBaseline }, - { - name: 'expendituresGT50000BulkUpload', - func: generateExpendituresGT50000, - }, - { - name: 'expendituresLT50000BulkUpload', - func: generateExpendituresLT50000, - }, - { - name: 'paymentsIndividualsLT50000BulkUpload', - func: generatePaymentsIndividualsLT50000, - }, - { name: 'subawardBulkUpload', func: generateSubaward }, - { name: 'subRecipientBulkUpload', func: generateSubRecipient }, - ]; + const records = await recordsForReportingPeriod(periodId, tenantId); + + // generate every csv file for the report + const csvObjects = [ + { name: 'project111210BulkUpload', func: generateProject111210 }, + { name: 'project18_229233BulkUpload', func: generateProject18 }, + { name: 'project19_234BulkUpload', func: generateProject19 }, + { name: 'project211214BulkUpload', func: generateProject211214 }, + { name: 'project2128BulkUpload', func: generateProject2128 }, + { name: 'project215218BulkUpload', func: generateProject215218 }, + { name: 'project224227BulkUpload', func: generateProject224227 }, + { name: 'project236BulkUpload', func: generateProject236 }, + { name: 'project31BulkUpload', func: generateProject31 }, + { name: 'project32BulkUpload', func: generateProject32 }, + { name: 'project4142BulkUpload', func: generateProject4142 }, + { name: 'project51518BulkUpload', func: generateProject51518 }, + { name: 'project519521BulkUpload', func: generateProject519521 }, + { name: 'projectBaselineBulkUploadTemplate', func: generateProjectBaseline }, + { + name: 'expendituresGT50000BulkUpload', + func: generateExpendituresGT50000, + }, + { + name: 'expendituresLT50000BulkUpload', + func: generateExpendituresLT50000, + }, + { + name: 'paymentsIndividualsLT50000BulkUpload', + func: generatePaymentsIndividualsLT50000, + }, + { name: 'subawardBulkUpload', func: generateSubaward }, + { name: 'subRecipientBulkUpload', func: generateSubRecipient }, + ]; - const admZip = new AdmZip(); + const admZip = new AdmZip(); - const reportName = await generateReportName(periodId, tenantId); + const reportName = await generateReportName(periodId, tenantId); - // compute the CSV data for each file, and write it into the zip container - const inputs = []; - csvObjects.forEach((c) => inputs.push({ - csvObject: c, admZip, records, periodId, - })); - await asyncBatch(inputs, setCSVData, 2); + // compute the CSV data for each file, and write it into the zip container + await tracer.trace('setCSVData', async () => { + for (const csvObject of csvObjects) { + /* here we want to evaluate each csvObject in series */ + // eslint-disable-next-line no-await-in-loop + await tracer.trace(csvObject.name, async () => { + const csvLogger = logger.child({ csvObject: { name: csvObject.name } }); + csvLogger.info('generating csv'); + await setCSVData({ + csvObject, admZip, records, periodId, + }, csvLogger); + }); + } + }); - // return the correct format - return { - filename: `${reportName}.zip`, - content: admZip.toBuffer(), - }; + // return the correct format + return { + filename: `${reportName}.zip`, + content: admZip.toBuffer(), + }; + }); } async function sendEmailWithLink(fileKey, recipientEmail) { @@ -1002,9 +1041,12 @@ async function sendEmailWithLink(fileKey, recipientEmail) { email.sendAsyncReportEmail(recipientEmail, url, email.ASYNC_REPORT_TYPES.treasury); } -async function generateAndSendEmail(recipientEmail, periodId, tenantId) { +async function generateAndSendEmail(recipientEmail, periodId, tenantId, logger = log) { + logger = logger.child({ tenant: { id: tenantId } }); // Generate the report + logger.info('generating ARPA treasury report'); const report = await module.exports.generateReport(periodId, tenantId); + logger.info('finished generating ARPA treasury report'); // Upload to S3 and send email link const reportKey = `${tenantId}/${periodId}/${report.filename}`; @@ -1015,19 +1057,53 @@ async function generateAndSendEmail(recipientEmail, periodId, tenantId) { Body: report.content, ServerSideEncryption: 'AES256', }; + try { - console.log(uploadParams); + logger.info('uploading ARPA treasury report to S3'); await s3.send(new PutObjectCommand(uploadParams)); + } catch (err) { + logger.error({ err }, 'failed to upload ARPA Treasury report'); + throw err; + } + + try { + logger.info('sending ARPA treasury report email'); await module.exports.sendEmailWithLink(reportKey, recipientEmail); } catch (err) { - console.log(`Failed to upload/email treasury report ${err}`); + logger.error({ err }, 'failed to send ARPA Treasury report email'); + throw err; + } +} + +async function processSQSMessageRequest(message) { + let requestData; + try { + requestData = JSON.parse(message.Body); + } catch (err) { + log.error({ err }, 'error parsing request data from SQS message'); + return false; + } + + try { + const user = await getUser(requestData.userId); + if (!user) { + throw new Error(`user not found: ${requestData.userId}`); + } + await generateAndSendEmail(user.email, requestData.periodId, requestData.tenantId); + } catch (err) { + log.error({ err }, 'failed to generate and send treasury report'); + return false; } + + log.info('successfully completed SQS message request'); + return true; } module.exports = { generateReport, sendEmailWithLink, generateAndSendEmail, + processSQSMessageRequest, }; // NOTE: This file was copied from src/server/services/generate-arpa-report.js (git @ ada8bfdc98) in the arpa-reporter repo on 2022-09-23T20:05:47.735Z diff --git a/packages/server/src/arpa_reporter/services/records.js b/packages/server/src/arpa_reporter/services/records.js index e4c70e21b..5d45cff7f 100644 --- a/packages/server/src/arpa_reporter/services/records.js +++ b/packages/server/src/arpa_reporter/services/records.js @@ -249,7 +249,7 @@ async function recordsForProject(periodId, tenantId) { const projectRecords = allRecords .flat() // exclude non-project records - .filter((record) => Object.values(EC_SHEET_TYPES).includes(record.type)); + .filter((record) => ([...Object.values(EC_SHEET_TYPES), 'awards50k', 'expenditures50k']).includes(record.type)); return Object.values(projectRecords); } diff --git a/packages/server/src/scripts/arpaTreasuryReport.js b/packages/server/src/scripts/arpaTreasuryReport.js new file mode 100644 index 000000000..1bac5a209 --- /dev/null +++ b/packages/server/src/scripts/arpaTreasuryReport.js @@ -0,0 +1,62 @@ +#!/usr/bin/env node +const tracer = require('dd-trace').init(); // eslint-disable-line no-unused-vars +const { ReceiveMessageCommand, DeleteMessageCommand } = require('@aws-sdk/client-sqs'); +const { log } = require('../lib/logging'); +const { getSQSClient } = require('../lib/gost-aws'); +const { processSQSMessageRequest } = require('../arpa_reporter/services/generate-arpa-report'); + +async function main() { + let shutDownRequested = false; + const requestShutdown = (signal) => { + log.warn({ signal }, 'Shutdown signal received. Requesting shutdown...'); + shutDownRequested = true; + }; + process.on('SIGTERM', requestShutdown); + process.on('SIGINT', requestShutdown); + + const queueUrl = process.env.TASK_QUEUE_URL; + const sqs = getSQSClient(); + while (shutDownRequested === false) { + // eslint-disable-next-line no-await-in-loop + await tracer.trace('arpaTreasuryReport', async () => { + log.info({ queueUrl }, 'Long-polling next SQS message batch'); + const receiveResp = await sqs.send(new ReceiveMessageCommand({ + QueueUrl: process.env.TASK_QUEUE_URL, WaitTimeSeconds: 20, MaxNumberOfMessages: 1, + })); + const message = (receiveResp?.Messages || [])[0]; + if (message !== undefined) { + const msgLog = log.child({ sqs: { message: { ReceiptHandle: message.ReceiptHandle } } }); + tracer.scope().active().setTag('message_received', 'true'); + const processingSuccessful = await tracer.trace('processSQSMessageRequest', + async (span) => { + try { + return await processSQSMessageRequest(message); + } catch (e) { + msgLog.error(e, 'Error processing SQS message request for ARPA treasury report'); + span.setTag('error', e); + } + return false; + }); + if (processingSuccessful === true) { + msgLog.info('Deleting successfully-processed SQS message'); + tracer.scope().active().setTag('processing_successful', 'true'); + await sqs.send(new DeleteMessageCommand({ + QueueUrl: queueUrl, + ReceiptHandle: message.ReceiptHandle, + })); + } else { + msgLog.warn('SQS message was not processed successfully; will not delete'); + tracer.scope().active().setTag('processing_successful', 'false'); + } + } else { + tracer.scope().active().setTag('message_received', 'false'); + log.info('Empty messages batch received from SQS'); + } + }); + } + log.warn('Shutting down'); +} + +if (require.main === module) { + main().then(() => process.exit()); +} diff --git a/terraform/datadog_monitors.tf b/terraform/datadog_monitors.tf index 0cfd9dd7b..b257071ed 100644 --- a/terraform/datadog_monitors.tf +++ b/terraform/datadog_monitors.tf @@ -74,3 +74,35 @@ resource "datadog_monitor" "arpa_audit_report-task_failed" { evaluation_delay = local.dd_monitor_default_evaluation_delay tags = local.dd_monitor_default_tags } + +resource "datadog_monitor" "arpa_treasury_report-task_failed" { + count = var.datadog_monitors_enabled ? 1 : 0 + + name = "${local.dd_monitor_name_prefix}: ARPA treasury report job failed" + type = "metric alert" + message = join("\n", [ + "{{#is_alert}}", + "Alert: One or more ARPA treasury report requests were received from the SQS source queue but several attempts to handle them have failed.", + "As a result, failing SQS messages have been redirected to the SQS dead-letter queue (DLQ).", + "Investigate the issue (especially by checking arpa_treasury_report ECS task logs).", + "Once the issue is resolved, redrive the DLQ messages back to the source queue and/or delete DLQ messages if they are no longer needed.", + "This monitor will not return to normal while there are messages in the DLQ.", + "IMPORTANT: DLQ messages are not retained indefinitely; investigation and remediation is time-sensitive.", + "{{/is_alert}}", + "{{#is_recovery}}", + "Recovery: There are no longer messages in the DLQ.", + "{{/is_recovery}}", + "Notify: ${local.dd_monitor_default_notify}", + ]) + + query = join("", [ + "min(last_1h):avg:", + "aws.sqs.approximate_number_of_messages_visible", + "{env:${var.env},queuename:${module.arpa_treasury_report.sqs_dlq_name}}", + " > 0" + ]) + + notify_no_data = false + evaluation_delay = local.dd_monitor_default_evaluation_delay + tags = local.dd_monitor_default_tags +} diff --git a/terraform/main.tf b/terraform/main.tf index 4a5e5e7f9..32a722ab1 100644 --- a/terraform/main.tf +++ b/terraform/main.tf @@ -99,6 +99,16 @@ module "arpa_audit_report_security_group" { allow_all_egress = true } +module "arpa_treasury_report_security_group" { + source = "cloudposse/security-group/aws" + version = "2.2.0" + + namespace = var.namespace + vpc_id = data.aws_ssm_parameter.vpc_id.value + attributes = ["arpa_treasury_report"] + allow_all_egress = true +} + resource "aws_ecs_cluster" "default" { count = anytrue([var.api_enabled]) ? 1 : 0 @@ -136,6 +146,7 @@ module "api" { security_group_ids = [ module.consume_grants_to_postgres_security_group.id, module.arpa_audit_report_security_group.id, + module.arpa_treasury_report_security_group.id, ] # Cluster @@ -153,7 +164,8 @@ module "api" { unified_service_tags = local.unified_service_tags datadog_environment_variables = var.api_datadog_environment_variables api_container_environment = merge(var.api_container_environment, { - ARPA_AUDIT_REPORT_SQS_QUEUE_URL = module.arpa_audit_report.sqs_queue_url + ARPA_AUDIT_REPORT_SQS_QUEUE_URL = module.arpa_audit_report.sqs_queue_url + ARPA_TREASURY_REPORT_SQS_QUEUE_URL = module.arpa_treasury_report.sqs_queue_url }) # DNS @@ -308,6 +320,94 @@ resource "aws_iam_role_policy" "api_task-publish_to_arpa_audit_report_queue" { policy = data.aws_iam_policy_document.publish_to_arpa_audit_report_queue.json } +module "arpa_treasury_report" { + source = "./modules/sqs_consumer_task" + namespace = "${var.namespace}-treasury_report" + permissions_boundary_arn = local.permissions_boundary_arn + + # Networking + subnet_ids = local.private_subnet_ids + security_group_ids = [module.arpa_treasury_report_security_group.id] + + # Task configuration + ecs_cluster_name = join("", aws_ecs_cluster.default.*.name) + docker_tag = var.api_container_image_tag + unified_service_tags = local.unified_service_tags + stop_timeout_seconds = 120 + consumer_task_command = ["node", "./src/scripts/arpaTreasuryReport.js"] + consumer_container_environment = { + API_DOMAIN = "https://${local.api_domain_name}" + AUDIT_REPORT_BUCKET = module.api.arpa_audit_reports_bucket_id + DATA_DIR = "/var/data" + LOG_LEVEL = "DEBUG" + LOG_SRC_ENABLED = "false" + NODE_OPTIONS = "--max_old_space_size=3584" # Reserve 512 MB for other task resources + NOTIFICATIONS_EMAIL = "grants-notifications@${var.website_domain_name}" + WEBSITE_DOMAIN = "https://${var.website_domain_name}" + } + datadog_environment_variables = { + DD_LOGS_INJECTION = "true" + DD_PROFILING_ENABLED = "true" + } + consumer_task_efs_volume_mounts = [{ + name = "data" + container_path = "/var/data" + read_only = false + file_system_id = module.api.efs_data_volume_id + access_point_id = module.api.efs_data_volume_access_point_id + }] + additional_task_role_json_policies = { + rw-audit-reports-bucket = data.aws_iam_policy_document.arpa_audit_report_rw_reports_bucket.json + send-emails = module.api.send_emails_policy_json + } + + # Task resource configuration + # TODO: Tune these values after observing usage in different environments. + # See also: --max_old_space_size in NODE_OPTIONS env var. + consumer_task_size = { + cpu = 1024 # 1 vCPU + memory = 4096 # 4 GB + } + + # Messaging + autoscaling_message_thresholds = [1, 3, 5, 10, 20, 50] + sqs_publisher = { + principal_type = "Service" + principal_identifier = "ecs-tasks.amazonaws.com" + source_arn = module.api.ecs_service_arn + } + sqs_max_receive_count = 2 + sqs_visibility_timeout_seconds = 900 # 15 minutes, in seconds + sqs_dlq_message_retention_seconds = 1209600 # 14 days, in seconds + + # Logging + log_retention = var.api_log_retention_in_days + + # Secrets + ssm_path_prefix = var.ssm_service_parameters_path_prefix + + # Postgres + rds_db_connect_resources = module.postgres.rds_db_connect_resources_list + postgres_username = module.postgres.master_username + postgres_endpoint = module.postgres.cluster_endpoint + postgres_port = module.postgres.cluster_port + postgres_db_name = module.postgres.default_db_name +} + +data "aws_iam_policy_document" "publish_to_arpa_treasury_report_queue" { + statement { + sid = "AllowPublishToQueue" + actions = ["sqs:SendMessage"] + resources = [module.arpa_treasury_report.sqs_queue_arn] + } +} + +resource "aws_iam_role_policy" "api_task-publish_to_arpa_treasury_report_queue" { + name_prefix = "send-arpa-treasury-report-requests" + role = module.api.ecs_task_role_name + policy = data.aws_iam_policy_document.publish_to_arpa_treasury_report_queue.json +} + module "postgres" { enabled = var.postgres_enabled source = "./modules/gost_postgres" @@ -318,9 +418,10 @@ module "postgres" { vpc_id = data.aws_ssm_parameter.vpc_id.value subnet_ids = local.private_subnet_ids ingress_security_groups = { - from_api = module.api_to_postgres_security_group.id - from_consume_grants = module.consume_grants_to_postgres_security_group.id - from_arpa_audit_report = module.arpa_audit_report_security_group.id + from_api = module.api_to_postgres_security_group.id + from_consume_grants = module.consume_grants_to_postgres_security_group.id + from_arpa_audit_report = module.arpa_audit_report_security_group.id + from_arpa_treasury_report = module.arpa_treasury_report_security_group.id } prevent_destroy = var.postgres_prevent_destroy diff --git a/yarn.lock b/yarn.lock index 05965b3c4..2f99e7364 100644 --- a/yarn.lock +++ b/yarn.lock @@ -221,35 +221,35 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/client-cognito-identity@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.428.0.tgz#46ed8c4da44a2b31808d1d9592987c7a38153e83" - integrity sha512-uj296JRU0LlMVtv7oS9cBTutAya1Gl171BJOl9s/SotMgybUAxnmE+hQdXv2HQP8qwy95wAptbcpDDh4kuOiYQ== +"@aws-sdk/client-cognito-identity@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.431.0.tgz#245729ebed35c91f4d79512fd542de32131329b3" + integrity sha512-Xf8MYs7CDEao+0BFRXueoSJswwRAfBB7AKaXs0cK3CWA9d147Gf4MhqK/qtJkoqLkN6Cz9B6cuvF74SymM9qbA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.428.0" - "@aws-sdk/credential-provider-node" "3.428.0" - "@aws-sdk/middleware-host-header" "3.428.0" + "@aws-sdk/client-sts" "3.431.0" + "@aws-sdk/credential-provider-node" "3.431.0" + "@aws-sdk/middleware-host-header" "3.431.0" "@aws-sdk/middleware-logger" "3.428.0" "@aws-sdk/middleware-recursion-detection" "3.428.0" "@aws-sdk/middleware-signing" "3.428.0" "@aws-sdk/middleware-user-agent" "3.428.0" - "@aws-sdk/region-config-resolver" "3.428.0" + "@aws-sdk/region-config-resolver" "3.430.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-endpoints" "3.428.0" "@aws-sdk/util-user-agent-browser" "3.428.0" - "@aws-sdk/util-user-agent-node" "3.428.0" - "@smithy/config-resolver" "^2.0.14" + "@aws-sdk/util-user-agent-node" "3.430.0" + "@smithy/config-resolver" "^2.0.15" "@smithy/fetch-http-handler" "^2.2.3" "@smithy/hash-node" "^2.0.11" "@smithy/invalid-dependency" "^2.0.11" "@smithy/middleware-content-length" "^2.0.13" - "@smithy/middleware-endpoint" "^2.1.0" - "@smithy/middleware-retry" "^2.0.16" + "@smithy/middleware-endpoint" "^2.1.2" + "@smithy/middleware-retry" "^2.0.17" "@smithy/middleware-serde" "^2.0.11" "@smithy/middleware-stack" "^2.0.5" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/node-http-handler" "^2.1.7" "@smithy/protocol-http" "^3.0.7" "@smithy/smithy-client" "^2.1.11" @@ -259,40 +259,40 @@ "@smithy/util-body-length-browser" "^2.0.0" "@smithy/util-body-length-node" "^2.1.0" "@smithy/util-defaults-mode-browser" "^2.0.15" - "@smithy/util-defaults-mode-node" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.20" "@smithy/util-retry" "^2.0.4" "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" "@aws-sdk/client-s3@^3.312.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.428.0.tgz#e16ccd17fbed77de784c0d1baddfd9e2b77d0bdd" - integrity sha512-qz4SV0sjeKC/m573Ox0wWhVABhN35cy0zBOvYixtEQNBzQbWefk8luHkNxntyybuLPZz6ChDzU98+EBac5RuRg== + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.431.0.tgz#08cd7015db60459017b96d3059bec1558ca5af26" + integrity sha512-Kh9GAKdhWfW//Q4HvH7yPO+2emN0h4PLoVk9rin1cCg78mkirnhJ5ffng6fRZDGDCvo7rDwrAqK/WrbcojMH9A== dependencies: "@aws-crypto/sha1-browser" "3.0.0" "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.428.0" - "@aws-sdk/credential-provider-node" "3.428.0" - "@aws-sdk/middleware-bucket-endpoint" "3.428.0" + "@aws-sdk/client-sts" "3.431.0" + "@aws-sdk/credential-provider-node" "3.431.0" + "@aws-sdk/middleware-bucket-endpoint" "3.430.0" "@aws-sdk/middleware-expect-continue" "3.428.0" "@aws-sdk/middleware-flexible-checksums" "3.428.0" - "@aws-sdk/middleware-host-header" "3.428.0" + "@aws-sdk/middleware-host-header" "3.431.0" "@aws-sdk/middleware-location-constraint" "3.428.0" "@aws-sdk/middleware-logger" "3.428.0" "@aws-sdk/middleware-recursion-detection" "3.428.0" - "@aws-sdk/middleware-sdk-s3" "3.428.0" + "@aws-sdk/middleware-sdk-s3" "3.429.0" "@aws-sdk/middleware-signing" "3.428.0" "@aws-sdk/middleware-ssec" "3.428.0" "@aws-sdk/middleware-user-agent" "3.428.0" - "@aws-sdk/region-config-resolver" "3.428.0" + "@aws-sdk/region-config-resolver" "3.430.0" "@aws-sdk/signature-v4-multi-region" "3.428.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-endpoints" "3.428.0" "@aws-sdk/util-user-agent-browser" "3.428.0" - "@aws-sdk/util-user-agent-node" "3.428.0" + "@aws-sdk/util-user-agent-node" "3.430.0" "@aws-sdk/xml-builder" "3.310.0" - "@smithy/config-resolver" "^2.0.14" + "@smithy/config-resolver" "^2.0.15" "@smithy/eventstream-serde-browser" "^2.0.11" "@smithy/eventstream-serde-config-resolver" "^2.0.11" "@smithy/eventstream-serde-node" "^2.0.11" @@ -303,11 +303,11 @@ "@smithy/invalid-dependency" "^2.0.11" "@smithy/md5-js" "^2.0.11" "@smithy/middleware-content-length" "^2.0.13" - "@smithy/middleware-endpoint" "^2.1.0" - "@smithy/middleware-retry" "^2.0.16" + "@smithy/middleware-endpoint" "^2.1.2" + "@smithy/middleware-retry" "^2.0.17" "@smithy/middleware-serde" "^2.0.11" "@smithy/middleware-stack" "^2.0.5" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/node-http-handler" "^2.1.7" "@smithy/protocol-http" "^3.0.7" "@smithy/smithy-client" "^2.1.11" @@ -317,7 +317,7 @@ "@smithy/util-body-length-browser" "^2.0.0" "@smithy/util-body-length-node" "^2.1.0" "@smithy/util-defaults-mode-browser" "^2.0.15" - "@smithy/util-defaults-mode-node" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.20" "@smithy/util-retry" "^2.0.4" "@smithy/util-stream" "^2.0.16" "@smithy/util-utf8" "^2.0.0" @@ -326,34 +326,34 @@ tslib "^2.5.0" "@aws-sdk/client-ses@^3.312.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.428.0.tgz#bcf288a0e8c4719ab01997d805736529877352a8" - integrity sha512-DfihJSz6U9RcauZXuokqxIFYSIBNcoxksmfcvUH8D3FkT2O5E4M6M6Ycuyw37UMoRz7JXOSWUI2rCHvlB6kwVg== + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.431.0.tgz#2e6450a28882e03a29412984a190cae80b70f4db" + integrity sha512-uya31UKYR5B5GVQzJBQUFYKpx0O3aDxE9slOwugSTGkHUmwmY5IHULUECZLMRfiEORhIEID6zVcpTYoeIvlHiw== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.428.0" - "@aws-sdk/credential-provider-node" "3.428.0" - "@aws-sdk/middleware-host-header" "3.428.0" + "@aws-sdk/client-sts" "3.431.0" + "@aws-sdk/credential-provider-node" "3.431.0" + "@aws-sdk/middleware-host-header" "3.431.0" "@aws-sdk/middleware-logger" "3.428.0" "@aws-sdk/middleware-recursion-detection" "3.428.0" "@aws-sdk/middleware-signing" "3.428.0" "@aws-sdk/middleware-user-agent" "3.428.0" - "@aws-sdk/region-config-resolver" "3.428.0" + "@aws-sdk/region-config-resolver" "3.430.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-endpoints" "3.428.0" "@aws-sdk/util-user-agent-browser" "3.428.0" - "@aws-sdk/util-user-agent-node" "3.428.0" - "@smithy/config-resolver" "^2.0.14" + "@aws-sdk/util-user-agent-node" "3.430.0" + "@smithy/config-resolver" "^2.0.15" "@smithy/fetch-http-handler" "^2.2.3" "@smithy/hash-node" "^2.0.11" "@smithy/invalid-dependency" "^2.0.11" "@smithy/middleware-content-length" "^2.0.13" - "@smithy/middleware-endpoint" "^2.1.0" - "@smithy/middleware-retry" "^2.0.16" + "@smithy/middleware-endpoint" "^2.1.2" + "@smithy/middleware-retry" "^2.0.17" "@smithy/middleware-serde" "^2.0.11" "@smithy/middleware-stack" "^2.0.5" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/node-http-handler" "^2.1.7" "@smithy/protocol-http" "^3.0.7" "@smithy/smithy-client" "^2.1.11" @@ -363,7 +363,7 @@ "@smithy/util-body-length-browser" "^2.0.0" "@smithy/util-body-length-node" "^2.1.0" "@smithy/util-defaults-mode-browser" "^2.0.15" - "@smithy/util-defaults-mode-node" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.20" "@smithy/util-retry" "^2.0.4" "@smithy/util-utf8" "^2.0.0" "@smithy/util-waiter" "^2.0.11" @@ -371,36 +371,36 @@ tslib "^2.5.0" "@aws-sdk/client-sqs@^3.345.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sqs/-/client-sqs-3.428.0.tgz#cc89c00a4f086f811c36dcb0a75d72a66d091073" - integrity sha512-/P+GCE8+uIhF1cRLXJ1Dsg482hLUJBt9/ajqCg89+5jHk+uHr6UvvFGj6UzvLg8J03wnUBIF067AZP81woyV3g== + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sqs/-/client-sqs-3.431.0.tgz#bebed1d876e2a1a5c9f602030e850c066776d8d9" + integrity sha512-hRj3expAeS1YOnoK1AsXqhAmRj2MjRLF9aT/hTRQUfSS8zHiwNVO5lEXr895dlshzUACTukHZRInBwv1yE2XkA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/client-sts" "3.428.0" - "@aws-sdk/credential-provider-node" "3.428.0" - "@aws-sdk/middleware-host-header" "3.428.0" + "@aws-sdk/client-sts" "3.431.0" + "@aws-sdk/credential-provider-node" "3.431.0" + "@aws-sdk/middleware-host-header" "3.431.0" "@aws-sdk/middleware-logger" "3.428.0" "@aws-sdk/middleware-recursion-detection" "3.428.0" "@aws-sdk/middleware-sdk-sqs" "3.428.0" "@aws-sdk/middleware-signing" "3.428.0" "@aws-sdk/middleware-user-agent" "3.428.0" - "@aws-sdk/region-config-resolver" "3.428.0" + "@aws-sdk/region-config-resolver" "3.430.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-endpoints" "3.428.0" "@aws-sdk/util-user-agent-browser" "3.428.0" - "@aws-sdk/util-user-agent-node" "3.428.0" - "@smithy/config-resolver" "^2.0.14" + "@aws-sdk/util-user-agent-node" "3.430.0" + "@smithy/config-resolver" "^2.0.15" "@smithy/fetch-http-handler" "^2.2.3" "@smithy/hash-node" "^2.0.11" "@smithy/invalid-dependency" "^2.0.11" "@smithy/md5-js" "^2.0.11" "@smithy/middleware-content-length" "^2.0.13" - "@smithy/middleware-endpoint" "^2.1.0" - "@smithy/middleware-retry" "^2.0.16" + "@smithy/middleware-endpoint" "^2.1.2" + "@smithy/middleware-retry" "^2.0.17" "@smithy/middleware-serde" "^2.0.11" "@smithy/middleware-stack" "^2.0.5" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/node-http-handler" "^2.1.7" "@smithy/protocol-http" "^3.0.7" "@smithy/smithy-client" "^2.1.11" @@ -410,38 +410,38 @@ "@smithy/util-body-length-browser" "^2.0.0" "@smithy/util-body-length-node" "^2.1.0" "@smithy/util-defaults-mode-browser" "^2.0.15" - "@smithy/util-defaults-mode-node" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.20" "@smithy/util-retry" "^2.0.4" "@smithy/util-utf8" "^2.0.0" fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/client-sso@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.428.0.tgz#749bdc8aceb0cfcb59228903bb7f500836b32386" - integrity sha512-6BuY7cd1licnCZTKuI/IK3ycKATIgsG53TuaK1hZcikwUB2Oiu2z6K+aWpmO9mJuJ6qAoE4dLlAy6lBBBkG6yQ== +"@aws-sdk/client-sso@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.431.0.tgz#155fcc4575e9e0e1c9fd8fc2a024de3f5edebd08" + integrity sha512-iK8RxdBHFj1HtWpdTVfFdljZHXLWFv62SuIdkDswGE7L0zNbZIqBDGfEBnbagiQuxkz5D2YtnasydC5R3BcwVw== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/middleware-host-header" "3.428.0" + "@aws-sdk/middleware-host-header" "3.431.0" "@aws-sdk/middleware-logger" "3.428.0" "@aws-sdk/middleware-recursion-detection" "3.428.0" "@aws-sdk/middleware-user-agent" "3.428.0" - "@aws-sdk/region-config-resolver" "3.428.0" + "@aws-sdk/region-config-resolver" "3.430.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-endpoints" "3.428.0" "@aws-sdk/util-user-agent-browser" "3.428.0" - "@aws-sdk/util-user-agent-node" "3.428.0" - "@smithy/config-resolver" "^2.0.14" + "@aws-sdk/util-user-agent-node" "3.430.0" + "@smithy/config-resolver" "^2.0.15" "@smithy/fetch-http-handler" "^2.2.3" "@smithy/hash-node" "^2.0.11" "@smithy/invalid-dependency" "^2.0.11" "@smithy/middleware-content-length" "^2.0.13" - "@smithy/middleware-endpoint" "^2.1.0" - "@smithy/middleware-retry" "^2.0.16" + "@smithy/middleware-endpoint" "^2.1.2" + "@smithy/middleware-retry" "^2.0.17" "@smithy/middleware-serde" "^2.0.11" "@smithy/middleware-stack" "^2.0.5" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/node-http-handler" "^2.1.7" "@smithy/protocol-http" "^3.0.7" "@smithy/smithy-client" "^2.1.11" @@ -451,40 +451,40 @@ "@smithy/util-body-length-browser" "^2.0.0" "@smithy/util-body-length-node" "^2.1.0" "@smithy/util-defaults-mode-browser" "^2.0.15" - "@smithy/util-defaults-mode-node" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.20" "@smithy/util-retry" "^2.0.4" "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/client-sts@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.428.0.tgz#6df3d2c8edc6952ab7ec5eb26b7ca5aee572f501" - integrity sha512-ko9hgmIkS5FNPYtT3pntGGmp+yi+VXBEgePUBoplEKjCxsX/aTgFcq2Rs9duD9/CzkThd42Z0l0fWsVAErVxWQ== +"@aws-sdk/client-sts@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.431.0.tgz#5ccffd99118102947c4b550a66f2a1473ae4a5d7" + integrity sha512-IM/Fg3H1WuM9fnVriEoM6+sZ9LNUExxklxAnHwjLnprPRTDGbUXUfYjSry52LaQsZffP3RgWP11CYyjCYC8CfQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/credential-provider-node" "3.428.0" - "@aws-sdk/middleware-host-header" "3.428.0" + "@aws-sdk/credential-provider-node" "3.431.0" + "@aws-sdk/middleware-host-header" "3.431.0" "@aws-sdk/middleware-logger" "3.428.0" "@aws-sdk/middleware-recursion-detection" "3.428.0" "@aws-sdk/middleware-sdk-sts" "3.428.0" "@aws-sdk/middleware-signing" "3.428.0" "@aws-sdk/middleware-user-agent" "3.428.0" - "@aws-sdk/region-config-resolver" "3.428.0" + "@aws-sdk/region-config-resolver" "3.430.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-endpoints" "3.428.0" "@aws-sdk/util-user-agent-browser" "3.428.0" - "@aws-sdk/util-user-agent-node" "3.428.0" - "@smithy/config-resolver" "^2.0.14" + "@aws-sdk/util-user-agent-node" "3.430.0" + "@smithy/config-resolver" "^2.0.15" "@smithy/fetch-http-handler" "^2.2.3" "@smithy/hash-node" "^2.0.11" "@smithy/invalid-dependency" "^2.0.11" "@smithy/middleware-content-length" "^2.0.13" - "@smithy/middleware-endpoint" "^2.1.0" - "@smithy/middleware-retry" "^2.0.16" + "@smithy/middleware-endpoint" "^2.1.2" + "@smithy/middleware-retry" "^2.0.17" "@smithy/middleware-serde" "^2.0.11" "@smithy/middleware-stack" "^2.0.5" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/node-http-handler" "^2.1.7" "@smithy/protocol-http" "^3.0.7" "@smithy/smithy-client" "^2.1.11" @@ -494,18 +494,18 @@ "@smithy/util-body-length-browser" "^2.0.0" "@smithy/util-body-length-node" "^2.1.0" "@smithy/util-defaults-mode-browser" "^2.0.15" - "@smithy/util-defaults-mode-node" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.20" "@smithy/util-retry" "^2.0.4" "@smithy/util-utf8" "^2.0.0" fast-xml-parser "4.2.5" tslib "^2.5.0" -"@aws-sdk/credential-provider-cognito-identity@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.428.0.tgz#3e850270a6cdc5209cec558ab8807ee8bdc56d3d" - integrity sha512-amq+gnybLBOyX1D+GdcjEvios8VBL4TaTyuXPnAjkhinv2e6GHQ0/7QeaI5v4dd4YT76+Nz7a577VXfMf/Ijog== +"@aws-sdk/credential-provider-cognito-identity@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.431.0.tgz#7bbe2c72b5744f556b6061c10365a1ec2a06ea40" + integrity sha512-iDYwfn+RPuGz4Dxbr+KbgsfcAXs2HJpgJ33Q8QsCRzESpIAyn3BpDVLB3m9Cd/d++33OKt0tTaX4i6z/heCwMQ== dependencies: - "@aws-sdk/client-cognito-identity" "3.428.0" + "@aws-sdk/client-cognito-identity" "3.431.0" "@aws-sdk/types" "3.428.0" "@smithy/property-provider" "^2.0.0" "@smithy/types" "^2.3.5" @@ -534,14 +534,14 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/credential-provider-ini@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.428.0.tgz#f54148d34f985e196a29f51d22b900b87f7f66e7" - integrity sha512-JPc0pVAsP8fOfMxhmPhp7PjddqHaPGBwgVI+wgbkFRUDOmeKCVhoxCB8Womx0R07qRqD5ZCUKBS2NHQ2b3MFRQ== +"@aws-sdk/credential-provider-ini@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.431.0.tgz#5a639fa2dea8bb07079144da23cda9136f52c789" + integrity sha512-SILMZuscwxeqB4kuZjWiu24wfvmvN3Tx7/j5n0t0Ob+cdpweK0IqkBQ/QkTbTiG0M1l8trMtMkrTb5510fupcQ== dependencies: "@aws-sdk/credential-provider-env" "3.428.0" "@aws-sdk/credential-provider-process" "3.428.0" - "@aws-sdk/credential-provider-sso" "3.428.0" + "@aws-sdk/credential-provider-sso" "3.431.0" "@aws-sdk/credential-provider-web-identity" "3.428.0" "@aws-sdk/types" "3.428.0" "@smithy/credential-provider-imds" "^2.0.0" @@ -550,15 +550,15 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/credential-provider-node@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.428.0.tgz#eff211f21d1ddf35cccd2d3f04eeb0dee3ccc2c7" - integrity sha512-o8toLXf6/sklBpw2e1mzAUq6SvXQzT6iag7Xbg9E0Z2EgVeXLTnWeVto3ilU3cmhTHXBp6wprwUUq2jbjTxMcg== +"@aws-sdk/credential-provider-node@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.431.0.tgz#07737466f80509a4a016aacff14f5e286350763f" + integrity sha512-jj2gm92nfsFw5e48+7OCYM5PfiW3pd9FvhEoBfvKANwM6ztXzmNpQcz3iWsGVfzd+MUooVBoO2exhH9M8t+VDg== dependencies: "@aws-sdk/credential-provider-env" "3.428.0" - "@aws-sdk/credential-provider-ini" "3.428.0" + "@aws-sdk/credential-provider-ini" "3.431.0" "@aws-sdk/credential-provider-process" "3.428.0" - "@aws-sdk/credential-provider-sso" "3.428.0" + "@aws-sdk/credential-provider-sso" "3.431.0" "@aws-sdk/credential-provider-web-identity" "3.428.0" "@aws-sdk/types" "3.428.0" "@smithy/credential-provider-imds" "^2.0.0" @@ -578,13 +578,13 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/credential-provider-sso@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.428.0.tgz#192ae441c415ee66b10415545d7c35151fbb2abc" - integrity sha512-sW2+kSlICSNntsNhLV5apqJkIOXH5hFISCjwVfyB9JXJQDAj8rzkiFfRsKwQ3aTlTYCysrGesIn46+GRP5AgZw== +"@aws-sdk/credential-provider-sso@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.431.0.tgz#255d68713e487c0dfe27adba5e04a26f36a67b79" + integrity sha512-fh/yWKJtgEpxfuzd/KTVPQz0FjykbiPnU0OLm1wKgNZAyKTE9EyNvWR6P57TWv/sU8faa5uLaxdD0TBPxWReDA== dependencies: - "@aws-sdk/client-sso" "3.428.0" - "@aws-sdk/token-providers" "3.428.0" + "@aws-sdk/client-sso" "3.431.0" + "@aws-sdk/token-providers" "3.431.0" "@aws-sdk/types" "3.428.0" "@smithy/property-provider" "^2.0.0" "@smithy/shared-ini-file-loader" "^2.0.6" @@ -601,21 +601,21 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/credential-providers@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.428.0.tgz#75208d255c410c0db72b24f43671a230682aad27" - integrity sha512-BpCrxjiZ4H5PC4vYA7SdTbmvLLrkuaudzHuoPMZ55RGFGfl9xN8caCtXktohzX8+Dn0jutsXuclPwazHOVz9cg== +"@aws-sdk/credential-providers@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.431.0.tgz#040fa81de3b625a3165d455de1c44b56f189f517" + integrity sha512-ZcNX197W9c7NRhNF7Do+2hHq8BjTqYSpzVzmAb1FVi/kTifCj7j3Y8r2jJoYwER1bT+bH9T+O4vGVoCaMabNDw== dependencies: - "@aws-sdk/client-cognito-identity" "3.428.0" - "@aws-sdk/client-sso" "3.428.0" - "@aws-sdk/client-sts" "3.428.0" - "@aws-sdk/credential-provider-cognito-identity" "3.428.0" + "@aws-sdk/client-cognito-identity" "3.431.0" + "@aws-sdk/client-sso" "3.431.0" + "@aws-sdk/client-sts" "3.431.0" + "@aws-sdk/credential-provider-cognito-identity" "3.431.0" "@aws-sdk/credential-provider-env" "3.428.0" "@aws-sdk/credential-provider-http" "3.428.0" - "@aws-sdk/credential-provider-ini" "3.428.0" - "@aws-sdk/credential-provider-node" "3.428.0" + "@aws-sdk/credential-provider-ini" "3.431.0" + "@aws-sdk/credential-provider-node" "3.431.0" "@aws-sdk/credential-provider-process" "3.428.0" - "@aws-sdk/credential-provider-sso" "3.428.0" + "@aws-sdk/credential-provider-sso" "3.431.0" "@aws-sdk/credential-provider-web-identity" "3.428.0" "@aws-sdk/types" "3.428.0" "@smithy/credential-provider-imds" "^2.0.0" @@ -623,14 +623,14 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/middleware-bucket-endpoint@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.428.0.tgz#f5e139eff974da8fa9e602e5f6a2970b0c1daae3" - integrity sha512-xZ/o6E7icVVTFlOLBKrIQJqFToL0KmWEGLFcaHhgCNz5gppEK2iGH9GondQotQPesiEyi46HwzM6GLNRylELww== +"@aws-sdk/middleware-bucket-endpoint@3.430.0": + version "3.430.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.430.0.tgz#df9f319149bd4e5198c681479e2eefbf81633894" + integrity sha512-oK0WTNpMQFewSIYcL3LPm+S46uUWFILlPYK0fEeYdMXn03380JqS9oIKOFFX7w6DhYY1ePHZI721ee1HiCtDvw== dependencies: "@aws-sdk/types" "3.428.0" "@aws-sdk/util-arn-parser" "3.310.0" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/protocol-http" "^3.0.7" "@smithy/types" "^2.3.5" "@smithy/util-config-provider" "^2.0.0" @@ -660,10 +660,10 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/middleware-host-header@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.428.0.tgz#6dd078ed9535f3514e0148d83387f9061722d3f9" - integrity sha512-iIHbW5Ym60ol9Q6vsLnaiNdeUIa9DA0OuoOe9LiHC8SYUYVAAhE+xJXUhn1qk/J7z+4qGOkDnVyEvnSaqRPL/w== +"@aws-sdk/middleware-host-header@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.431.0.tgz#70412356826b776c1fde7245802c01c1a6e29327" + integrity sha512-j+OBsCDDRXlMEQ4GCtTxVaMwxIHNKiwbDIZVyB6CDor8AFflKxWbO3cPSpUuGKlUN9OEexMR+XgwsjmaI6AGwg== dependencies: "@aws-sdk/types" "3.428.0" "@smithy/protocol-http" "^3.0.7" @@ -698,10 +698,10 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/middleware-sdk-s3@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.428.0.tgz#b3546fa0ed22411acd13a6aadbc7dbd23562cffc" - integrity sha512-C9hJlzMGlDeVNn91TvC6lsTplnH4hFPM2kiuMha5A/EXPPOg9c5vFH5awL3ubEiIUPwwDu3d583hvsPd6G3qxA== +"@aws-sdk/middleware-sdk-s3@3.429.0": + version "3.429.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.429.0.tgz#596afef2319c7e609e7c77500eb0f6af48ca64cc" + integrity sha512-wCT5GoExncHUzUbW8b9q/PN3uPsbxit4PUAHw/hkrIHDKOxd9H/ClM37ZeJHNEOml5hnJOPy+rOaF9jRqo8dGg== dependencies: "@aws-sdk/types" "3.428.0" "@aws-sdk/util-arn-parser" "3.310.0" @@ -765,43 +765,43 @@ tslib "^2.5.0" "@aws-sdk/rds-signer@^3.315.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/rds-signer/-/rds-signer-3.428.0.tgz#26d16f2d70e6f8be8b7cc3a3940d010e44ba0b88" - integrity sha512-wX62JwWCDZ5Lu22VTcQQgSWLukHYcsfM6BERVhs80L/6Nv5urCfKarLZW2YFB5NDSPpsUTC1FbgN2ZfWcbXHGA== + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/rds-signer/-/rds-signer-3.431.0.tgz#d19e9c32ddb6663570c7307d593c782d05860d0f" + integrity sha512-AL9Rbtie+sJiFvRIcI9nOG1JKJnCf0Rm9a1wmBzNW011ZvarOBBOYOXsaeSBBS2y4Cu+0RxcrUOd5KdizVodPQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/credential-providers" "3.428.0" + "@aws-sdk/credential-providers" "3.431.0" "@aws-sdk/util-format-url" "3.428.0" - "@smithy/config-resolver" "^2.0.14" + "@smithy/config-resolver" "^2.0.15" "@smithy/hash-node" "^2.0.11" "@smithy/invalid-dependency" "^2.0.11" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/protocol-http" "^3.0.7" "@smithy/signature-v4" "^2.0.0" "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/region-config-resolver@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.428.0.tgz#c275998078cbd784febd212e987e546905efafc7" - integrity sha512-VqyHZ/Hoz3WrXXMx8cAhFBl8IpjodbRsTjBI117QPq1YRCegxNdGvqmGZnJj8N2Ef9MP1iU30ZWQB+sviDcogA== +"@aws-sdk/region-config-resolver@3.430.0": + version "3.430.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.430.0.tgz#c7fe238e9771da91bafe7016afda21305a661473" + integrity sha512-9lqgtkcd4dqsQ2yN6V/i06blyDh4yLmS+fAS7LwEZih/NZZ2cBIR+5kb9c236auvTcuMcL1zFxVRloWwesYZjA== dependencies: - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/types" "^2.3.5" "@smithy/util-config-provider" "^2.0.0" "@smithy/util-middleware" "^2.0.4" tslib "^2.5.0" "@aws-sdk/s3-request-presigner@^3.312.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.428.0.tgz#ee50a2f2c054087ce1f52e1abeecaf9a117e8e15" - integrity sha512-Jup4vrMm4Xk/5aEitktjtFmFW21PQsqA4MXvhxEaUh6yk9CgLKKGIk4UvyazaNrCEqo/G/EsnMGandXN5wYnpw== + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.431.0.tgz#f0d93f48be16ec520aa76d826fe924720d128b18" + integrity sha512-R6hZfJozs9a8p5pxncMRyJOKgteshe5GGqeX6pobKZX9y29fVQkTknqFLgnSk/Zcp1JcUZz2ZiVgzoLwWaqunQ== dependencies: "@aws-sdk/signature-v4-multi-region" "3.428.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-format-url" "3.428.0" - "@smithy/middleware-endpoint" "^2.1.0" + "@smithy/middleware-endpoint" "^2.1.2" "@smithy/protocol-http" "^3.0.7" "@smithy/smithy-client" "^2.1.11" "@smithy/types" "^2.3.5" @@ -818,31 +818,31 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@aws-sdk/token-providers@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.428.0.tgz#9a5935c57f209ab20e5c2be84d1f7cf72743451b" - integrity sha512-Jciofr//rB1v1FLxADkXoHOCmYyiv2HVNlOq3z5Zkch9ipItOfD6X7f4G4n+IZzElIFzwe4OKoBtJfcnnfo3Pg== +"@aws-sdk/token-providers@3.431.0": + version "3.431.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.431.0.tgz#24b1c7fe8b099baa5e0334e8031df8d0fb73b167" + integrity sha512-0ksZogF3Gy2i+yBb7T2g2e7QXzwZeQHmf09ihR1cwXwg7UIjsap6P3gPtC085bDkOD9iY8OdpL0Esp06N6xmCg== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/middleware-host-header" "3.428.0" + "@aws-sdk/middleware-host-header" "3.431.0" "@aws-sdk/middleware-logger" "3.428.0" "@aws-sdk/middleware-recursion-detection" "3.428.0" "@aws-sdk/middleware-user-agent" "3.428.0" "@aws-sdk/types" "3.428.0" "@aws-sdk/util-endpoints" "3.428.0" "@aws-sdk/util-user-agent-browser" "3.428.0" - "@aws-sdk/util-user-agent-node" "3.428.0" - "@smithy/config-resolver" "^2.0.14" + "@aws-sdk/util-user-agent-node" "3.430.0" + "@smithy/config-resolver" "^2.0.15" "@smithy/fetch-http-handler" "^2.2.3" "@smithy/hash-node" "^2.0.11" "@smithy/invalid-dependency" "^2.0.11" "@smithy/middleware-content-length" "^2.0.13" - "@smithy/middleware-endpoint" "^2.1.0" - "@smithy/middleware-retry" "^2.0.16" + "@smithy/middleware-endpoint" "^2.1.2" + "@smithy/middleware-retry" "^2.0.17" "@smithy/middleware-serde" "^2.0.11" "@smithy/middleware-stack" "^2.0.5" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/node-http-handler" "^2.1.7" "@smithy/property-provider" "^2.0.0" "@smithy/protocol-http" "^3.0.7" @@ -854,7 +854,7 @@ "@smithy/util-body-length-browser" "^2.0.0" "@smithy/util-body-length-node" "^2.1.0" "@smithy/util-defaults-mode-browser" "^2.0.15" - "@smithy/util-defaults-mode-node" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.20" "@smithy/util-retry" "^2.0.4" "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" @@ -909,13 +909,13 @@ bowser "^2.11.0" tslib "^2.5.0" -"@aws-sdk/util-user-agent-node@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.428.0.tgz#3966016d3592f0ccff4b0123c3b223e1e231279a" - integrity sha512-s721C3H8TkNd0usWLPEAy7yW2lEglR8QAYojdQGzE0e0wymc671nZAFePSZFRtmqZiFOSfk0R602L5fDbP3a8Q== +"@aws-sdk/util-user-agent-node@3.430.0": + version "3.430.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.430.0.tgz#efa200f7c21182d769b424ba4fff569857ff42f4" + integrity sha512-DPpFPL3mFMPtipFxjY7TKQBjnhmsPzYCr4Y+qna0oR6ij8jZOz2ILQDK33GxTRNh3+bV9YYbx+ZGDOnxoK5Mhw== dependencies: "@aws-sdk/types" "3.428.0" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/types" "^2.3.5" tslib "^2.5.0" @@ -2044,14 +2044,14 @@ resolve-global "1.0.0" yargs "^15.1.0" -"@commitlint/cli@^17.0.0", "@commitlint/cli@^17.4.4", "@commitlint/cli@^17.7.2": - version "17.7.2" - resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.7.2.tgz#3a0287373224db14968ab160b2b4988c693d3400" - integrity sha512-t3N7TZq7lOeqTOyEgfGcaltHqEJf7YDlPg75MldeVPPyz14jZq/+mbGF9tueDLFX8R6RwdymrN6D+U5XwZ8Iwg== +"@commitlint/cli@^17.0.0", "@commitlint/cli@^17.4.4", "@commitlint/cli@^17.8.0": + version "17.8.0" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.8.0.tgz#917761331df4b7a0b97b2b31415b006847b6fd02" + integrity sha512-D3LdyZYbiRyAChfJMNlAd9f2P9vNQ7GWbI9gN2o7L5hF07QJDqj4z/pcJF3PjDbJWOaUUXla287RdDmmKqH2WQ== dependencies: "@commitlint/format" "^17.4.4" - "@commitlint/lint" "^17.7.0" - "@commitlint/load" "^17.7.2" + "@commitlint/lint" "^17.8.0" + "@commitlint/load" "^17.8.0" "@commitlint/read" "^17.5.1" "@commitlint/types" "^17.4.4" execa "^5.0.0" @@ -2136,10 +2136,10 @@ "@commitlint/types" "^11.0.0" semver "7.3.2" -"@commitlint/is-ignored@^17.7.0": - version "17.7.0" - resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.7.0.tgz#df9b284420bdb1aed5fdb2be44f4e98cc4826014" - integrity sha512-043rA7m45tyEfW7Zv2vZHF++176MLHH9h70fnPoYlB1slKBeKl8BwNIlnPg4xBdRBVNPaCqvXxWswx2GR4c9Hw== +"@commitlint/is-ignored@^17.8.0": + version "17.8.0" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.8.0.tgz#429a050cebe8dc56dd4fe4f4c23ea9e1a679dfc6" + integrity sha512-8bR6rxNcWaNprPBdE4ePIOwbxutTQGOsRPYWssX+zjGxnEljzaZSGzFUOMxapYILlf8Tts/O1wPQgG549Rdvdg== dependencies: "@commitlint/types" "^17.4.4" semver "7.5.4" @@ -2154,12 +2154,12 @@ "@commitlint/rules" "^11.0.0" "@commitlint/types" "^11.0.0" -"@commitlint/lint@^17.7.0": - version "17.7.0" - resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.7.0.tgz#33f831298dc43679e4de6b088aea63d1f884c7e7" - integrity sha512-TCQihm7/uszA5z1Ux1vw+Nf3yHTgicus/+9HiUQk+kRSQawByxZNESeQoX9ujfVd3r4Sa+3fn0JQAguG4xvvbA== +"@commitlint/lint@^17.8.0": + version "17.8.0" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.8.0.tgz#d3a7fafe810db060aea15322e30384896da887f9" + integrity sha512-4ihwnqOY4TcJN6iz5Jv1LeYavvBllONwFyGxOIWmCT5s4PNMb43cws2TUdbXTZL1Vq59etGKd5LWYDFPVbs5EA== dependencies: - "@commitlint/is-ignored" "^17.7.0" + "@commitlint/is-ignored" "^17.8.0" "@commitlint/parse" "^17.7.0" "@commitlint/rules" "^17.7.0" "@commitlint/types" "^17.4.4" @@ -2177,10 +2177,10 @@ lodash "^4.17.19" resolve-from "^5.0.0" -"@commitlint/load@^17.7.2": - version "17.7.2" - resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.7.2.tgz#85730900a501c50f0bc890bb50e4a2167ee3085a" - integrity sha512-XA7WTnsjHZ4YH6ZYsrnxgLdXzriwMMq+utZUET6spbOEEIPBCDLdOQXS26P+v3TTO4hUHOEhzUquaBv3jbBixw== +"@commitlint/load@^17.8.0": + version "17.8.0" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.8.0.tgz#82f6c7555daecb4ce4b8a6282fcecc3665747578" + integrity sha512-9VnGXYJCP4tXmR4YrwP8n5oX6T5ZsHfPQq6WuUQOvAI+QsDQMaTGgTRXr7us+xsjz+b+mMBSagogqfUx2aixyw== dependencies: "@commitlint/config-validator" "^17.6.7" "@commitlint/execute-rule" "^17.4.0" @@ -2377,10 +2377,10 @@ lru-cache "^7.14.0" node-gyp-build "^4.5.0" -"@datadog/native-iast-taint-tracking@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@datadog/native-iast-taint-tracking/-/native-iast-taint-tracking-1.5.0.tgz#1a55eca6692079ac6167696682acb972aa0b0181" - integrity sha512-SOWIk1M6PZH0osNB191Voz2rKBPoF5hISWVSK9GiJPrD40+xjib1Z/bFDV7EkDn3kjOyordSBdNPG5zOqZJdyg== +"@datadog/native-iast-taint-tracking@1.6.1": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@datadog/native-iast-taint-tracking/-/native-iast-taint-tracking-1.6.1.tgz#fcf2f376797dbfc368d6cb3636b922372d2be50e" + integrity sha512-V1X0UbEROcEkqP4IIovqK9uu8jPXq80m8xOW1Vb6xJ9otO3eBphvDFDSa/OJ4pEYhajjjmGlraLlV6rXjaSGlQ== dependencies: node-gyp-build "^3.9.0" @@ -2392,10 +2392,10 @@ node-addon-api "^6.1.0" node-gyp-build "^3.9.0" -"@datadog/pprof@3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@datadog/pprof/-/pprof-3.2.0.tgz#ab822caf18999a84f144dd4e0261d6e9274f4c5f" - integrity sha512-kOhWHCWB80djnMCr5KNKBAy1Ih/jK/PIj6yqnZwL1Wqni/h6IBPRUMhtIxcYJMRgsZVYrFXUV20AVXTZCzFokw== +"@datadog/pprof@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@datadog/pprof/-/pprof-4.0.0.tgz#2ef48977292496f7b300ff97605f0853f7340586" + integrity sha512-1rQV6arh5fp7BWshjHgKmhNzXELAIod1Y4ydkI7XRcRim35uBoxQgPy1VgMCuLjfzco7112Vt8bkfQxo9bIdoA== dependencies: delay "^5.0.0" node-gyp-build "<4.0" @@ -2951,12 +2951,12 @@ dependencies: tslib "^2.5.0" -"@smithy/config-resolver@^2.0.14": - version "2.0.14" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.14.tgz#16163e14053949f5a717be6f5802a7039e5ff4d1" - integrity sha512-K1K+FuWQoy8j/G7lAmK85o03O89s2Vvh6kMFmzEmiHUoQCRH1rzbDtMnGNiaMHeSeYJ6y79IyTusdRG+LuWwtg== +"@smithy/config-resolver@^2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.15.tgz#dff48ef54e989df4eeb90001a2fef9ae3c5bb884" + integrity sha512-a2Pfocla5nSrG2RyB8i20jcWgMyR71TUeFKm8pmrnZotr/X22tlg4y/EhSvBK2oTE8MKHlKh4YdpDO2AryJbGQ== dependencies: - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/types" "^2.3.5" "@smithy/util-config-provider" "^2.0.0" "@smithy/util-middleware" "^2.0.4" @@ -2973,12 +2973,12 @@ "@smithy/url-parser" "^2.0.1" tslib "^2.5.0" -"@smithy/credential-provider-imds@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.16.tgz#07da7ecd43eff92156ddc54f3b5330bbc128d5cd" - integrity sha512-tKa2xF+69TvGxJT+lnJpGrKxUuAZDLYXFhqnPEgnHz+psTpkpcB4QRjHj63+uj83KaeFJdTfW201eLZeRn6FfA== +"@smithy/credential-provider-imds@^2.0.17": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.17.tgz#004463c314b9c3df4883fe643f0b3855f1f64d40" + integrity sha512-2XcD414yrwbxxuYueTo7tzLC2/w3jj9FZqfenpv3MQkocdOEmuOVS0v9WHsY/nW6V+2EcR340rj/z5HnvsHncQ== dependencies: - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/property-provider" "^2.0.12" "@smithy/types" "^2.3.5" "@smithy/url-parser" "^2.0.11" @@ -3112,25 +3112,25 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@smithy/middleware-endpoint@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.1.tgz#6eec29c380a8f0f9cadc9b28bf8b453c5b671985" - integrity sha512-YAqGagBvHqDEew4EGz9BrQ7M+f+u7ck9EL4zzYirOhIcXeBS/+q4A5+ObHDDwEp38lD6t88YUtFy3OptqEaDQg== +"@smithy/middleware-endpoint@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.2.tgz#c6610f17b3c5773e4f272eb4de5c18a878607fe0" + integrity sha512-dua4r2EbSTRzNefz72snz+KDuXN73RCe1K+rGeemzUyYemxuh1jujFbLQbTU6DVlTgHkhtrbH0+kdOFY/SV4Qg== dependencies: "@smithy/middleware-serde" "^2.0.11" - "@smithy/node-config-provider" "^2.1.1" - "@smithy/shared-ini-file-loader" "^2.2.0" + "@smithy/node-config-provider" "^2.1.2" + "@smithy/shared-ini-file-loader" "^2.2.1" "@smithy/types" "^2.3.5" "@smithy/url-parser" "^2.0.11" "@smithy/util-middleware" "^2.0.4" tslib "^2.5.0" -"@smithy/middleware-retry@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.16.tgz#f87401a01317de351df5228e4591961d04663607" - integrity sha512-Br5+0yoiMS0ugiOAfJxregzMMGIRCbX4PYo1kDHtLgvkA/d++aHbnHB819m5zOIAMPvPE7AThZgcsoK+WOsUTA== +"@smithy/middleware-retry@^2.0.17": + version "2.0.17" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.17.tgz#bf154e441accef071e9f3455bc673c8e7cae14e6" + integrity sha512-ZYVU1MmshCTbEKTNc5h7/Pps1vhH5C7hRclQWnAbVYKkIT+PEGu9dSVqprzEo/nlMA8Zv4Dj5Y+fv3pRnUwElw== dependencies: - "@smithy/node-config-provider" "^2.1.1" + "@smithy/node-config-provider" "^2.1.2" "@smithy/protocol-http" "^3.0.7" "@smithy/service-error-classification" "^2.0.4" "@smithy/types" "^2.3.5" @@ -3155,13 +3155,13 @@ "@smithy/types" "^2.3.5" tslib "^2.5.0" -"@smithy/node-config-provider@^2.0.1", "@smithy/node-config-provider@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.1.tgz#34c861b95a4e1b66a2dc1d1aecc2bca08466bd5e" - integrity sha512-1lF6s1YWBi1LBu2O30tD3jyTgMtuvk/Z1twzXM4GPYe4dmZix4nNREPJIPOcfFikNU2o0eTYP80+izx5F2jIJA== +"@smithy/node-config-provider@^2.0.1", "@smithy/node-config-provider@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.2.tgz#fc016d065dd1153a162c83f175b6050c850491dd" + integrity sha512-tbYh/JK/ddxKWYTtjLgap0juyivJ0wCvywMqINb54zyOVHoKYM6iYl7DosQA0owFaNp6GAx1lXFjqGz7L2fAqA== dependencies: "@smithy/property-provider" "^2.0.12" - "@smithy/shared-ini-file-loader" "^2.2.0" + "@smithy/shared-ini-file-loader" "^2.2.1" "@smithy/types" "^2.3.5" tslib "^2.5.0" @@ -3232,10 +3232,10 @@ "@smithy/types" "^2.2.2" tslib "^2.5.0" -"@smithy/shared-ini-file-loader@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.0.tgz#9e4a90a29fe3f109875c26e6127802ed0953f43d" - integrity sha512-xFXqs4vAb5BdkzHSRrTapFoaqS4/3m/CGZzdw46fBjYZ0paYuLAoMY60ICCn1FfGirG+PiJ3eWcqJNe4/SkfyA== +"@smithy/shared-ini-file-loader@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.1.tgz#447c8510fee6857268c28180853ccc91d12963fc" + integrity sha512-eAYajwo2eTTVU5KPX90+V6ccfrWphrzcUwOt7n9pLOMBO0fOKlRVshbvCBqfRCxEn7OYDGH6TsL3yrx+hAjddA== dependencies: "@smithy/types" "^2.3.5" tslib "^2.5.0" @@ -3328,14 +3328,14 @@ bowser "^2.11.0" tslib "^2.5.0" -"@smithy/util-defaults-mode-node@^2.0.19": - version "2.0.19" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.19.tgz#8996479c76dd68baae65fd863180a802a66fdf5d" - integrity sha512-7pScU4jBFADB2MBYKM3zb5onMh6Nn0X3IfaFVLYPyCarTIZDLUtUl1GtruzEUJPmDzP+uGeqOtU589HDY0Ni6g== +"@smithy/util-defaults-mode-node@^2.0.20": + version "2.0.20" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.20.tgz#4381d74cb6c7cbca3a2609dc81a7437973d7cdd2" + integrity sha512-kJjcZ/Lzvs3sPDKBwlhZsFFcgPNIpB3CMb6/saCakawRzo0E+JkyS3ZZRjVR3ce29yHtwoP/0YLKC1PeH0Dffg== dependencies: - "@smithy/config-resolver" "^2.0.14" - "@smithy/credential-provider-imds" "^2.0.16" - "@smithy/node-config-provider" "^2.1.1" + "@smithy/config-resolver" "^2.0.15" + "@smithy/credential-provider-imds" "^2.0.17" + "@smithy/node-config-provider" "^2.1.2" "@smithy/property-provider" "^2.0.12" "@smithy/smithy-client" "^2.1.11" "@smithy/types" "^2.3.5" @@ -4485,12 +4485,7 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.4, acorn@^8.0.5, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -acorn@^8.4.1, acorn@^8.8.2: +acorn@^8.0.4, acorn@^8.0.5, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.2: version "8.10.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== @@ -6041,11 +6036,11 @@ comment-patterns@^0.12.0: lodash "^4.17.11" commitlint@^17.4.4: - version "17.7.2" - resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-17.7.2.tgz#b2f619c14c7e0e4653dd93a045312c909e844134" - integrity sha512-2WK/svhKxuPlBgXtZ3uJj5FYZDjfbPiD7P7BkHNgKs3ZPbj3wTXxP3TivPJPB8KY2M7/6AYwNNpc6KOOT83qww== + version "17.8.0" + resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-17.8.0.tgz#510ec00d7ff35601885fda7fd5acdfe58e290755" + integrity sha512-xo0F0n4/W4Yq1BAmyICA+1ivPzILAPBQ/fx2PAn5uUQwzTXMdN8URE3P4YzMl6ey/1mRa6NsnW5yV9HJd5NMmA== dependencies: - "@commitlint/cli" "^17.7.2" + "@commitlint/cli" "^17.8.0" "@commitlint/types" "^17.4.4" common-tags@^1.8.0: @@ -6698,15 +6693,15 @@ dayjs@^1.10.4: integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== dd-trace@^4.11.1: - version "4.16.0" - resolved "https://registry.yarnpkg.com/dd-trace/-/dd-trace-4.16.0.tgz#1ada5f5640de7975807bbae6743cee766c56ecd7" - integrity sha512-pDAZgJ9hYrRHztpSM7hcO6bAXj/Jrf1EMW/O6BiDsQS6GMzXho3rqOHIGMBeB7+pzM6/chncio1KkwOKP+d4bQ== + version "4.17.0" + resolved "https://registry.yarnpkg.com/dd-trace/-/dd-trace-4.17.0.tgz#67a33d2304f9ccf9241273517b72c9ca00301502" + integrity sha512-qLutasPUGy5JiR42XVXWH4/KScqf01Xhpkp3d+ykEr5Bha1F5P8IuP6Ule9285fBQClEgVvIB0Frm+PSDO5idQ== dependencies: "@datadog/native-appsec" "^4.0.0" "@datadog/native-iast-rewriter" "2.1.3" - "@datadog/native-iast-taint-tracking" "1.5.0" + "@datadog/native-iast-taint-tracking" "1.6.1" "@datadog/native-metrics" "^2.0.0" - "@datadog/pprof" "3.2.0" + "@datadog/pprof" "4.0.0" "@datadog/sketches-js" "^2.1.0" "@opentelemetry/api" "^1.0.0" "@opentelemetry/core" "^1.14.0" @@ -6717,6 +6712,7 @@ dd-trace@^4.11.1: int64-buffer "^0.1.9" ipaddr.js "^2.1.0" istanbul-lib-coverage "3.2.0" + jest-docblock "^29.7.0" koalas "^1.0.2" limiter "^1.1.4" lodash.kebabcase "^4.1.1" @@ -7010,6 +7006,11 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -10363,6 +10364,13 @@ javascript-stringify@^2.0.1: resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + jest-worker@^27.0.2, jest-worker@^27.4.5: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" @@ -16061,9 +16069,9 @@ webpack-virtual-modules@^0.4.2: integrity sha512-8bWq0Iluiv9lVf9YaqWQ9+liNgXSHICm+rg544yRgGYaR8yXZTVBaHZkINZSB2yZSWo4b0F6MIxqJezVfOEAlg== webpack@^5.54.0, webpack@^5.74.0: - version "5.88.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.88.2.tgz#f62b4b842f1c6ff580f3fcb2ed4f0b579f4c210e" - integrity sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ== + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.0"