From 49f81f00919cce5a75f67997227d8330f87dbe24 Mon Sep 17 00:00:00 2001 From: aditya Date: Wed, 22 Nov 2023 15:23:38 -0500 Subject: [PATCH 01/39] Prod Release 2023-11-21 - Take 1 (#2143) --- CONTRIBUTING.md | 2 +- packages/client/.nycrc | 4 + packages/client/babel.config.js | 5 + packages/client/package.json | 1 + packages/client/public/deploy-config.js | 3 +- .../client/src/arpa_reporter/views/Home.vue | 13 +- .../client/src/components/GrantsTable.vue | 2 - .../client/src/components/GrantsTableNext.vue | 9 +- packages/client/src/components/Layout.vue | 38 +- .../{AddTenants.vue => AddOrganization.vue} | 18 +- .../Modals/{AddAgency.vue => AddTeam.vue} | 14 +- .../client/src/components/Modals/AddUser.vue | 8 +- .../{EditTenant.vue => EditOrganization.vue} | 6 +- .../Modals/{EditAgency.vue => EditTeam.vue} | 30 +- .../src/components/Modals/GrantDetails.vue | 12 +- .../{ImportAgencies.vue => ImportTeams.vue} | 14 +- .../client/src/helpers/featureFlags/index.js | 4 + packages/client/src/router/index.js | 27 +- packages/client/src/store/modules/users.js | 25 +- packages/client/src/views/Agencies.vue | 129 -- packages/client/src/views/Dashboard.vue | 62 +- packages/client/src/views/MyProfile.vue | 75 +- packages/client/src/views/Organizations.vue | 96 + packages/client/src/views/RecentActivity.vue | 4 +- packages/client/src/views/Teams.vue | 130 ++ packages/client/src/views/Tenants.vue | 95 - packages/client/src/views/Users.vue | 6 + .../unit/arpa_reporter/views/Home.spec.js | 144 +- .../tests/unit/components/Layout.spec.js | 169 ++ .../components/Modals/AddOrganization.spec.js | 34 + .../unit/components/Modals/AddTeam.spec.js | 42 + .../Modals/EditOrganization.spec.js | 34 + .../unit/components/Modals/EditTeam.spec.js | 47 + .../client/tests/unit/views/Dashboard.spec.js | 70 + .../tests/unit/views/Organizations.spec.js | 50 + .../client/tests/unit/views/Teams.spec.js | 126 ++ packages/server/__tests__/api/grants.test.js | 34 +- packages/server/__tests__/api/users.test.js | 57 +- ...e_email_subscriptions_notification_type.js | 29 + ...1110030235_alter-saved-searches-cascade.js | 74 + packages/server/seeds/dev/ref/users.js | 8 + packages/server/src/db/index.js | 90 +- packages/server/src/lib/access-helpers.js | 26 +- packages/server/src/lib/email.js | 1 + packages/server/src/lib/email/constants.js | 1 + packages/server/src/routes/grants.js | 64 +- packages/server/src/routes/keywords.js | 4 +- packages/server/src/routes/users.js | 25 +- terraform/modules/gost_api/storage.tf | 4 +- terraform/modules/gost_api/task.tf | 4 +- terraform/modules/gost_website/storage.tf | 23 +- terraform/modules/gost_website/waf.tf | 2 +- terraform/prod.tfvars | 5 +- terraform/sandbox.tfvars | 5 +- terraform/staging.tfvars | 5 +- yarn.lock | 2014 +++++++++-------- 56 files changed, 2549 insertions(+), 1474 deletions(-) create mode 100644 packages/client/.nycrc rename packages/client/src/components/Modals/{AddTenants.vue => AddOrganization.vue} (84%) rename packages/client/src/components/Modals/{AddAgency.vue => AddTeam.vue} (91%) rename packages/client/src/components/Modals/{EditTenant.vue => EditOrganization.vue} (88%) rename packages/client/src/components/Modals/{EditAgency.vue => EditTeam.vue} (85%) rename packages/client/src/components/Modals/{ImportAgencies.vue => ImportTeams.vue} (72%) delete mode 100644 packages/client/src/views/Agencies.vue create mode 100644 packages/client/src/views/Organizations.vue create mode 100644 packages/client/src/views/Teams.vue delete mode 100644 packages/client/src/views/Tenants.vue create mode 100644 packages/client/tests/unit/components/Layout.spec.js create mode 100644 packages/client/tests/unit/components/Modals/AddOrganization.spec.js create mode 100644 packages/client/tests/unit/components/Modals/AddTeam.spec.js create mode 100644 packages/client/tests/unit/components/Modals/EditOrganization.spec.js create mode 100644 packages/client/tests/unit/components/Modals/EditTeam.spec.js create mode 100644 packages/client/tests/unit/views/Dashboard.spec.js create mode 100644 packages/client/tests/unit/views/Organizations.spec.js create mode 100644 packages/client/tests/unit/views/Teams.spec.js create mode 100644 packages/server/migrations/20231103202457_update_email_subscriptions_notification_type.js create mode 100644 packages/server/migrations/20231110030235_alter-saved-searches-cascade.js diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eecebd2f0..746cadee5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -102,7 +102,7 @@ Follow these steps to start contributing: ```bash $ git fetch origin - $ git rebase origin/master + $ git rebase origin/_staging ``` Push the changes to your account using: diff --git a/packages/client/.nycrc b/packages/client/.nycrc new file mode 100644 index 000000000..f80842109 --- /dev/null +++ b/packages/client/.nycrc @@ -0,0 +1,4 @@ +{ + "include": "src/**", + "extension": [".js", ".vue"] +} diff --git a/packages/client/babel.config.js b/packages/client/babel.config.js index 757ff9b16..f7cb9f0c4 100644 --- a/packages/client/babel.config.js +++ b/packages/client/babel.config.js @@ -2,4 +2,9 @@ module.exports = { presets: [ '@vue/cli-plugin-babel/preset', ], + env: { + test: { + plugins: [['babel-plugin-istanbul']], + }, + }, }; diff --git a/packages/client/package.json b/packages/client/package.json index 5ae56669f..6efe2d976 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -53,6 +53,7 @@ "@vue/eslint-config-prettier": "^7.0.0", "@vue/test-utils": "^1.0.3", "babel-eslint": "^10.1.0", + "babel-plugin-istanbul": "^6.1.1", "chai": "^4.3.4", "eslint": "^7.12.1", "eslint-config-standard": "^16.0.3", diff --git a/packages/client/public/deploy-config.js b/packages/client/public/deploy-config.js index ba9e59444..1f6284675 100644 --- a/packages/client/public/deploy-config.js +++ b/packages/client/public/deploy-config.js @@ -21,5 +21,6 @@ window.APP_CONFIG.overrideFeatureFlag = (flagName, overrideValue) => { // configuring the `website_feature_flags` input variable in Terraform (see `terraform/*.tfvars`). window.APP_CONFIG.featureFlags = { useNewTable: true, - myProfileEnabled: true + myProfileEnabled: true, + newTerminologyEnabled: true, }; diff --git a/packages/client/src/arpa_reporter/views/Home.vue b/packages/client/src/arpa_reporter/views/Home.vue index bee48e696..20748a2f8 100644 --- a/packages/client/src/arpa_reporter/views/Home.vue +++ b/packages/client/src/arpa_reporter/views/Home.vue @@ -9,7 +9,7 @@
- @@ -20,14 +20,14 @@
-
- +
@@ -36,12 +36,12 @@
-
+
This reporting period is closed.
-

+

Welcome to the ARPA reporter. To get started, click the "Download Empty Template" button, above, to get a copy of an empty template for reporting.

@@ -78,9 +78,6 @@ export default { viewingOpenPeriod() { return this.$store.getters.viewPeriodIsCurrent; }, - isClosed() { - return !(this.$store.getters.viewPeriodIsCurrent); - }, }, data() { let alert; diff --git a/packages/client/src/components/GrantsTable.vue b/packages/client/src/components/GrantsTable.vue index 06b68b57f..2e3e83516 100644 --- a/packages/client/src/components/GrantsTable.vue +++ b/packages/client/src/components/GrantsTable.vue @@ -102,11 +102,9 @@ export default { }, { key: 'viewed_by', - sortable: true, }, { key: 'interested_agencies', - sortable: true, }, { // opportunity_status diff --git a/packages/client/src/components/GrantsTableNext.vue b/packages/client/src/components/GrantsTableNext.vue index 2151bd976..bb24c2531 100644 --- a/packages/client/src/components/GrantsTableNext.vue +++ b/packages/client/src/components/GrantsTableNext.vue @@ -21,7 +21,7 @@ - @@ -75,6 +75,7 @@ diff --git a/packages/client/src/views/Dashboard.vue b/packages/client/src/views/Dashboard.vue index 304549b25..856a93437 100644 --- a/packages/client/src/views/Dashboard.vue +++ b/packages/client/src/views/Dashboard.vue @@ -9,7 +9,7 @@

Recent Activity

- Your agency has no recent activity. + Your {{newTerminologyEnabled ? 'team' : 'agency'}} has no recent activity.

Upcoming Closing Dates

- Your agency has no upcoming close dates. + Your {{newTerminologyEnabled ? 'team' : 'agency'}} has no upcoming close dates.
@@ -104,7 +104,7 @@
- + diff --git a/packages/client/src/views/Organizations.vue b/packages/client/src/views/Organizations.vue new file mode 100644 index 000000000..fd6a666ef --- /dev/null +++ b/packages/client/src/views/Organizations.vue @@ -0,0 +1,96 @@ + + + diff --git a/packages/client/src/views/RecentActivity.vue b/packages/client/src/views/RecentActivity.vue index 9bb4adea3..c9dc2cbe2 100644 --- a/packages/client/src/views/RecentActivity.vue +++ b/packages/client/src/views/RecentActivity.vue @@ -53,7 +53,7 @@ - {{ totalInterestedGrants }} of {{ totalRows }} + {{ grantsInterested.length }} of {{ totalRows }} @@ -166,7 +166,7 @@ export default { })); }, totalRows() { - return this.grantsInterested.length; + return this.totalInterestedGrants; }, }, watch: { diff --git a/packages/client/src/views/Teams.vue b/packages/client/src/views/Teams.vue new file mode 100644 index 000000000..929e9764c --- /dev/null +++ b/packages/client/src/views/Teams.vue @@ -0,0 +1,130 @@ + + + diff --git a/packages/client/src/views/Tenants.vue b/packages/client/src/views/Tenants.vue deleted file mode 100644 index 32a01eadb..000000000 --- a/packages/client/src/views/Tenants.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - diff --git a/packages/client/src/views/Users.vue b/packages/client/src/views/Users.vue index 4d7e7f9e4..17448b9a4 100644 --- a/packages/client/src/views/Users.vue +++ b/packages/client/src/views/Users.vue @@ -33,6 +33,7 @@ import { mapActions, mapGetters } from 'vuex'; import AddUserModal from '@/components/Modals/AddUser.vue'; import ImportUsersModal from '@/components/Modals/ImportUsers.vue'; +import { newTerminologyEnabled } from '@/helpers/featureFlags'; export default { components: { @@ -56,10 +57,12 @@ export default { { key: 'agency_name', sortable: true, + label: `${newTerminologyEnabled ? 'Team' : 'Agency'} Name`, }, { key: 'agency_abbrv', sortable: true, + label: `${newTerminologyEnabled ? 'Team' : 'Agency'} Abbrv`, }, { key: 'created_at', @@ -88,6 +91,9 @@ export default { role: user.role.name, })); }, + newTerminologyEnabled() { + return newTerminologyEnabled(); + }, }, watch: { selectedAgency() { diff --git a/packages/client/tests/unit/arpa_reporter/views/Home.spec.js b/packages/client/tests/unit/arpa_reporter/views/Home.spec.js index 01b58170b..bddba8324 100644 --- a/packages/client/tests/unit/arpa_reporter/views/Home.spec.js +++ b/packages/client/tests/unit/arpa_reporter/views/Home.spec.js @@ -1,30 +1,138 @@ import { expect } from 'chai'; -import { mount, createLocalVue } from '@vue/test-utils'; +import { createLocalVue, shallowMount } from '@vue/test-utils'; import Vuex from 'vuex'; import Home from '../../../../src/arpa_reporter/views/Home.vue'; const localVue = createLocalVue(); localVue.use(Vuex); +let store; +let wrapper; +let route; + +afterEach(() => { + store = undefined; + wrapper = undefined; + route = { query: { } }; +}); + describe('Home.vue', () => { - it('renders', () => { - const store = new Vuex.Store({ - state: { - viewPeriodID: 0, - }, - getters: { - user: () => ({ email: 'admin@example.com', role: 'admin' }), - periodNames: () => ['September, 2020', 'December, 2020'], - }, + describe('when a non-admin loads the home page', () => { + describe('outside the reporting period', () => { + beforeEach(() => { + store = new Vuex.Store({ + state: { }, + getters: { + user: () => ({ role: { name: 'not an admin' } }), + }, + }); + wrapper = shallowMount(Home, { + store, + localVue, + }); + }); + it('should show the Welcome text', () => { + const welcomeToArpaReporter = wrapper.get('#welcomeToArpaReporter'); + expect(welcomeToArpaReporter.text()).to.include('Welcome to the ARPA reporter'); + }); + it('should show the reporting period as closed', () => { + const reportingPeriodClosed = wrapper.get('#closedReportingPeriodMessage'); + expect(reportingPeriodClosed.text()).to.include('This reporting period is closed.'); + }); + }); + describe('during the reporting period', () => { + beforeEach(() => { + store = new Vuex.Store({ + state: { }, + getters: { + user: () => ({ role: { name: 'non-admin' } }), + viewPeriodIsCurrent: () => true, + }, + }); + wrapper = shallowMount(Home, { + store, + localVue, + mocks: { $route: route }, + }); + }); + it('should show the submit workbook button', () => { + const submitWorkbookButton = wrapper.get('#submitWorkbookButton'); + expect(submitWorkbookButton.text()).to.include('Submit Workbook'); + }); }); - const wrapper = mount(Home, { - store, - localVue, - stubs: ['router-link', 'router-view'], + }); + describe('when an admin loads the home page during the reporting period', () => { + describe('without query params', () => { + beforeEach(() => { + store = new Vuex.Store({ + state: { }, + getters: { + user: () => ({ role: { name: 'admin' } }), + viewPeriodIsCurrent: () => true, + }, + }); + route = { query: { } }; + wrapper = shallowMount(Home, { + store, + localVue, + mocks: { $route: route }, + }); + }); + it('should show the submit workbook button', () => { + const submitWorkbookButton = wrapper.get('#submitWorkbookButton'); + expect(submitWorkbookButton.text()).to.include('Submit Workbook'); + }); + it('should show the Send Treasury Report by Email Button', () => { + const sendTreasuryReportButton = wrapper.get('#sendTreasuryReportButton'); + expect(sendTreasuryReportButton.text()).to.include('Send Treasury Report by Email'); + }); + it('should show the DownloadTemplateBtn', () => { + const sendAuditReportButton = wrapper.getComponent({ name: 'DownloadTemplateBtn' }); + expect(sendAuditReportButton).not.to.be.undefined; + }); + }); + describe('with the sync_treasury_download param', () => { + beforeEach(() => { + store = new Vuex.Store({ + state: { }, + getters: { + user: () => ({ role: { name: 'admin' } }), + viewPeriodIsCurrent: () => true, + viewPeriod: () => ({}), + }, + }); + route = { query: { sync_treasury_download: true } }; + wrapper = shallowMount(Home, { + store, + localVue, + mocks: { $route: route }, + }); + }); + it('should show the Download Treasury Report button', () => { + const downloadButton = wrapper.getComponent({ name: 'DownloadButton' }); + expect(downloadButton.text()).to.include('Download Treasury Report'); + }); + }); + describe('with the sync_audit_download param', () => { + beforeEach(() => { + store = new Vuex.Store({ + state: { }, + getters: { + user: () => ({ role: { name: 'admin' } }), + viewPeriodIsCurrent: () => true, + }, + }); + route = { query: { sync_audit_download: true } }; + wrapper = shallowMount(Home, { + store, + localVue, + mocks: { $route: route }, + }); + }); + it('should show the Download Treasury Report button', () => { + const downloadAuditButton = wrapper.getComponent({ name: 'DownloadButton' }); + expect(downloadAuditButton.text()).to.include('Download Audit Report'); + }); }); - const r = wrapper.find('p'); - expect(r.text()).to.include('Welcome'); }); }); - -// NOTE: This file was copied from tests/unit/views/Home.spec.js (git @ ada8bfdc98) in the arpa-reporter repo on 2022-09-23T20:05:47.735Z diff --git a/packages/client/tests/unit/components/Layout.spec.js b/packages/client/tests/unit/components/Layout.spec.js new file mode 100644 index 000000000..89088c9ac --- /dev/null +++ b/packages/client/tests/unit/components/Layout.spec.js @@ -0,0 +1,169 @@ +import { expect } from 'chai'; + +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import Layout from '@/components/Layout.vue'; + +const localVue = createLocalVue(); +localVue.use(Vuex); + +let store; +let wrapper; + +afterEach(() => { + store = undefined; + wrapper = undefined; +}); +const defaultRoute = { + meta: { + hideLayoutTabs: false, + }, +}; +const stubs = ['b-nav-item-dropdown', 'b-navbar', 'b-navbar-nav', 'b-collapse', 'b-navbar-brand', 'b-img', 'b-nav-item', 'b-dropdown-item-button', 'b-col', 'b-nav', 'router-view', 'b-badge', 'b-nav-text']; +const noOpGetters = { + 'users/selectedAgency': () => {}, + 'users/loggedInUser': () => {}, + 'users/userRole': () => {}, + 'alerts/alerts': () => [], +}; + +describe('Layout.vue', () => { + describe('when Layout view is loaded', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { ...noOpGetters }, + }); + wrapper = shallowMount(Layout, { + localVue, + store, + mocks: { + $route: defaultRoute, + }, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should show the Grants heading', () => { + const layoutHeader = wrapper.get('h3'); + expect(layoutHeader.text()).to.include('Grants Identification Tool'); + }); + it('should show My Grants tab', () => { + const navItem = wrapper.get('[to="/my-grants"]'); + expect(navItem.text()).to.eql('My Grants'); + }); + it('should show Browse Grants tab', () => { + const navItem = wrapper.get('[to="/grants"]'); + expect(navItem.text()).to.eql('Browse Grants'); + }); + it('should show Dashboard tab', () => { + const navItem = wrapper.get('[to="/dashboard"]'); + expect(navItem.text()).to.eql('Dashboard'); + }); + it('should show Teams tab', () => { + const navItem = wrapper.get('[to="/teams"]'); + expect(navItem.text()).to.eql('Teams'); + }); + }); + describe('when user is logged in', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + 'users/loggedInUser': () => ({}), + }, + }); + wrapper = shallowMount(Layout, { + localVue, + store, + mocks: { + $route: defaultRoute, + }, + stubs, + }); + }); + it('should have a dropdown', () => { + wrapper.get('b-nav-item-dropdown-stub'); + }); + it('should have the correct options', () => { + const options = wrapper.findAllComponents('b-dropdown-item-button-stub'); + expect(options.length).to.eql(4); + expect(options.at(0).text()).to.eql('Settings'); + expect(options.at(1).text()).to.eql('Give Feedback'); + expect(options.at(2).text()).to.eql('Training Guide'); + expect(options.at(3).text()).to.eql('Sign Out'); + }); + }); + describe('when user is admin', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + 'users/userRole': () => 'admin', + }, + }); + wrapper = shallowMount(Layout, { + localVue, + store, + mocks: { + $route: defaultRoute, + }, + stubs, + }); + }); + + it('should show Users tab', () => { + const navItem = wrapper.get('[to="/users"]'); + expect(navItem.text()).to.eql('Users'); + }); + }); + describe('when user is super admin', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + 'users/loggedInUser': () => ({ isUSDRSuperAdmin: true }), + }, + }); + wrapper = shallowMount(Layout, { + localVue, + store, + mocks: { + $route: defaultRoute, + }, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + + it('should show Organizations tab', () => { + const navItem = wrapper.get('b-nav-item-stub[to="/organizations"]'); + expect(navItem.text()).to.eql('Organizations'); + }); + }); + describe('when a team is selected', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + 'users/selectedAgency': () => ({ name: 'Test Team Name' }), + }, + }); + wrapper = shallowMount(Layout, { + localVue, + store, + mocks: { + $route: defaultRoute, + }, + stubs, + }); + }); + it('should show the team name badge', () => { + const badge = wrapper.get('b-badge-stub'); + expect(badge.text()).to.eql('Test Team Name'); + }); + }); +}); diff --git a/packages/client/tests/unit/components/Modals/AddOrganization.spec.js b/packages/client/tests/unit/components/Modals/AddOrganization.spec.js new file mode 100644 index 000000000..81313c864 --- /dev/null +++ b/packages/client/tests/unit/components/Modals/AddOrganization.spec.js @@ -0,0 +1,34 @@ +import { expect } from 'chai'; +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import AddOrganization from '@/components/Modals/AddOrganization.vue'; +import Vuelidate from 'vuelidate'; + +const localVue = createLocalVue(); +localVue.use(Vuex); +localVue.use(Vuelidate); + +let wrapper; +const stubs = ['b-modal', 'b-form-group', 'b-form-input']; + +afterEach(() => { + wrapper = undefined; +}); + +describe('AddOrganization.vue', () => { + describe('when the modal is loaded', () => { + beforeEach(() => { + wrapper = shallowMount(AddOrganization, { + localVue, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should have the title Add Organization', () => { + const heading = wrapper.get('#add-tenant-modal'); + expect(heading.attributes().title).to.eql('Add Organization'); + }); + }); +}); diff --git a/packages/client/tests/unit/components/Modals/AddTeam.spec.js b/packages/client/tests/unit/components/Modals/AddTeam.spec.js new file mode 100644 index 000000000..8254045f5 --- /dev/null +++ b/packages/client/tests/unit/components/Modals/AddTeam.spec.js @@ -0,0 +1,42 @@ +import { expect } from 'chai'; +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import Vuelidate from 'vuelidate'; +import AddTeam from '@/components/Modals/AddTeam.vue'; + +const localVue = createLocalVue(); +localVue.use(Vuex); +localVue.use(Vuelidate); + +let store; +let wrapper; +const stubs = ['b-modal', 'v-select', 'b-form-group', 'b-form-input']; + +afterEach(() => { + store = undefined; + wrapper = undefined; +}); + +describe('AddTeam.vue', () => { + describe('when the modal is loaded', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + 'users/loggedInUser': () => {}, + }, + }); + wrapper = shallowMount(AddTeam, { + localVue, + store, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should have the title Add Team', () => { + const heading = wrapper.get('#add-agency-modal'); + expect(heading.attributes().title).to.eql('Add Team'); + }); + }); +}); diff --git a/packages/client/tests/unit/components/Modals/EditOrganization.spec.js b/packages/client/tests/unit/components/Modals/EditOrganization.spec.js new file mode 100644 index 000000000..46ba999db --- /dev/null +++ b/packages/client/tests/unit/components/Modals/EditOrganization.spec.js @@ -0,0 +1,34 @@ +import { expect } from 'chai'; +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import Vuelidate from 'vuelidate'; +import EditOrganization from '@/components/Modals/EditOrganization.vue'; + +const localVue = createLocalVue(); +localVue.use(Vuex); +localVue.use(Vuelidate); + +let wrapper; +const stubs = ['b-modal', 'b-form-group', 'b-form-input']; + +afterEach(() => { + wrapper = undefined; +}); + +describe('EditOrganization.vue', () => { + describe('when the modal is loaded', () => { + beforeEach(() => { + wrapper = shallowMount(EditOrganization, { + localVue, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should have the title Edit Organization', () => { + const heading = wrapper.get('#edit-tenant-modal'); + expect(heading.attributes().title).to.eql('Edit Organization'); + }); + }); +}); diff --git a/packages/client/tests/unit/components/Modals/EditTeam.spec.js b/packages/client/tests/unit/components/Modals/EditTeam.spec.js new file mode 100644 index 000000000..6535d9dd6 --- /dev/null +++ b/packages/client/tests/unit/components/Modals/EditTeam.spec.js @@ -0,0 +1,47 @@ +import { expect } from 'chai'; +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import Vuelidate from 'vuelidate'; +import EditTeam from '@/components/Modals/EditTeam.vue'; + +const localVue = createLocalVue(); +localVue.use(Vuex); +localVue.use(Vuelidate); + +let store; +let wrapper; +const stubs = [ + 'b-modal', 'v-select', 'b-form-group', 'b-form-input', 'b-button', 'b-tooltip', +]; +const noOpGetters = { + 'agencies/agencies': () => [], + 'users/userRole': () => {}, +}; +afterEach(() => { + store = undefined; + wrapper = undefined; +}); + +describe('EditTeam.vue', () => { + describe('when the modal is loaded', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + }, + }); + wrapper = shallowMount(EditTeam, { + localVue, + store, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should have the title Edit Team', () => { + const heading = wrapper.get('#edit-agency-modal'); + expect(heading.attributes().title).to.eql('Edit Team'); + }); + }); +}); diff --git a/packages/client/tests/unit/views/Dashboard.spec.js b/packages/client/tests/unit/views/Dashboard.spec.js new file mode 100644 index 000000000..a065fcdec --- /dev/null +++ b/packages/client/tests/unit/views/Dashboard.spec.js @@ -0,0 +1,70 @@ +import { expect } from 'chai'; + +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import Dashboard from '@/views/Dashboard.vue'; + +const localVue = createLocalVue(); +localVue.use(Vuex); + +let store; +let wrapper; +const stubs = ['b-row', 'b-col', 'b-table', 'b-button', 'b-card', 'b-link', 'b-container']; +const noOpGetters = { + 'dashboard/totalGrants': () => [], + 'dashboard/totalGrantsMatchingAgencyCriteria': () => [], + 'dashboard/totalViewedGrants': () => [], + 'grants/totalInterestedGrants': () => [], + 'grants/totalUpcomingGrants': () => [], + 'dashboard/grantsCreatedInTimeframe': () => [], + 'dashboard/grantsCreatedInTimeframeMatchingCriteria': () => [], + 'dashboard/grantsUpdatedInTimeframe': () => [], + 'dashboard/grantsUpdatedInTimeframeMatchingCriteria': () => [], + 'dashboard/totalInterestedGrantsByAgencies': () => [], + 'users/selectedAgency': () => undefined, + 'grants/closestGrants': () => [], + 'grants/grants': () => [], + 'grants/grantsInterested': () => [], + 'users/agency': () => undefined, + 'grants/currentGrant': () => undefined, +}; +const noOpActions = { + 'dashboard/fetchDashboard': () => {}, + 'grants/fetchGrantsInterested': () => {}, + 'grants/fetchClosestGrants': () => {}, +}; +afterEach(() => { + store = undefined; + wrapper = undefined; +}); + +describe('Dashboard.vue', () => { + describe('when user has no interested grants"', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + }, + actions: { + ...noOpActions, + }, + }); + wrapper = shallowMount(Dashboard, { + store, + localVue, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should show the no recent activity message', () => { + const noRecentActivityMessage = wrapper.find('#noRecentActivityMessage'); + expect(noRecentActivityMessage.text()).to.include('Your team has no recent activity.'); + }); + it('should show the no recent activity message', () => { + const noRecentActivityMessage = wrapper.find('#noUpcomingCloseDates'); + expect(noRecentActivityMessage.text()).to.include('Your team has no upcoming close dates.'); + }); + }); +}); diff --git a/packages/client/tests/unit/views/Organizations.spec.js b/packages/client/tests/unit/views/Organizations.spec.js new file mode 100644 index 000000000..fbd1699ca --- /dev/null +++ b/packages/client/tests/unit/views/Organizations.spec.js @@ -0,0 +1,50 @@ +import { expect } from 'chai'; + +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import Organizations from '@/views/Organizations.vue'; + +const localVue = createLocalVue(); +localVue.use(Vuex); + +let store; +let wrapper; +const stubs = ['b-row', 'b-col', 'b-button', 'b-table', 'b-icon']; +const noOpGetters = { + 'users/selectedAgency': () => {}, + 'tenants/tenants': () => [], +}; +const noOpActions = { + 'tenants/fetchTenants': () => {}, +}; +afterEach(() => { + store = undefined; + wrapper = undefined; +}); + +describe('Organizations.vue', () => { + describe('when the view is loaded', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + }, + actions: { + ...noOpActions, + }, + }); + wrapper = shallowMount(Organizations, { + store, + localVue, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should show the Organizations heading', () => { + const heading = wrapper.find('h2'); + expect(heading.text()).to.eql('Organizations'); + }); + }); +}); diff --git a/packages/client/tests/unit/views/Teams.spec.js b/packages/client/tests/unit/views/Teams.spec.js new file mode 100644 index 000000000..043b6f1d0 --- /dev/null +++ b/packages/client/tests/unit/views/Teams.spec.js @@ -0,0 +1,126 @@ +import { expect } from 'chai'; + +import { createLocalVue, shallowMount } from '@vue/test-utils'; +import Vuex from 'vuex'; +import Teams from '@/views/Teams.vue'; + +const localVue = createLocalVue(); +localVue.use(Vuex); + +let store; +let wrapper; +const stubs = ['b-row', 'b-col', 'b-button', 'b-table', 'b-icon']; +const noOpGetters = { + 'agencies/agencies': () => [], + 'users/userRole': () => undefined, + 'users/selectedAgency': () => undefined, +}; +const noOpActions = { + 'agencies/fetchAgencies': () => {}, +}; +afterEach(() => { + store = undefined; + wrapper = undefined; +}); + +describe('Teams.vue', () => { + describe('when a non-admin loads the page', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + 'users/userRole': () => 'not an admin', + }, + actions: { + ...noOpActions, + }, + }); + wrapper = shallowMount(Teams, { + store, + localVue, + stubs, + computed: { + newTerminologyEnabled: () => true, + }, + }); + }); + it('should show the Teams heading', () => { + const heading = wrapper.find('h2'); + expect(heading.text()).to.eql('Teams'); + }); + it('should not allow user to import teams', () => { + const bulkImportButtons = wrapper.findAll('#bulkTeamImportButton'); + expect(bulkImportButtons.length).to.eql(0); + }); + it('should not allow user to add a team', () => { + const addButtons = wrapper.findAll('#addTeamButton'); + expect(addButtons.length).to.eql(0); + }); + it('should not allow user to edit a team', () => { + const editButtons = wrapper.findAll('[icon="pencil-fill"]'); + expect(editButtons.length).to.eql(0); + }); + }); + describe('when an admin loads the page', () => { + describe('and there are no teams', () => { + beforeEach(() => { + store = new Vuex.Store({ + getters: { + ...noOpGetters, + 'users/userRole': () => 'admin', + 'users/selectedAgency': () => undefined, + }, + actions: { + ...noOpActions, + }, + }); + wrapper = shallowMount(Teams, { + store, + localVue, + stubs, + }); + }); + it('should allow user to import teams', () => { + const bulkImportButton = wrapper.get('#bulkTeamImportButton'); + expect(bulkImportButton.text()).to.include('Bulk Import'); + }); + it('should allow user to add a team', () => { + const addButton = wrapper.get('#addTeamButton'); + expect(addButton.text()).to.include('Add'); + }); + it.skip('should not be able to edit a team', () => { + const editButtons = wrapper.findAll('[icon="pencil-fill"]'); + expect(editButtons.length).to.eql(0); + }); + }); + describe('and there is one team', () => { + beforeEach(() => { + const teams = [ + { + id: 1, code: '001', name: 'Team 1', abbreviation: 'A1', + }, + ]; + store = new Vuex.Store({ + getters: { + ...noOpGetters, + 'users/userRole': () => 'admin', + 'agencies/agencies': () => teams, + 'users/selectedAgency': () => undefined, + }, + actions: { + ...noOpActions, + }, + }); + wrapper = shallowMount(Teams, { + store, + localVue, + stubs, + }); + }); + it.skip('should allow user to edit a team', () => { + const editButtons = wrapper.findAll('[icon="pencil-fill"]'); + expect(editButtons.length).to.eql(1); + }); + }); + }); +}); diff --git a/packages/server/__tests__/api/grants.test.js b/packages/server/__tests__/api/grants.test.js index 34bdc9ed0..3470860a8 100644 --- a/packages/server/__tests__/api/grants.test.js +++ b/packages/server/__tests__/api/grants.test.js @@ -477,22 +477,34 @@ describe('`/api/grants` endpoint', () => { 'Opportunity Number', 'Title', 'Viewed By', - 'Interested Agencies', - 'Status', + 'Interested Teams', + 'Opportunity Status', 'Opportunity Category', 'Cost Sharing', - 'Award Floor', 'Award Ceiling', 'Posted Date', 'Close Date', 'Agency Code', 'Grant Id', 'URL', + 'Funding Type', + 'Appropriations Bill', + 'Agency Code', + 'Eligibility', ]; + const txt = await response.text(); + const rows = txt.split('\n'); + expect(rows[0]).to.equal(expectedCsvHeaders.join(',')); + + const cells = rows[1].split(','); + const valMap = new Map([...Array(cells.length).keys()].map((i) => [expectedCsvHeaders[i], cells[i]])); - expect(txt.split('\n')[0]).to.equal(expectedCsvHeaders.join(',')); - expect(txt.split('\n')[1]).to.contain('HHS-2021-IHS-TPI-0001,Community Health Aide Program: Tribal Planning &'); + expect(valMap.get('Opportunity Number')).to.equal('HHS-2021-IHS-TPI-0001'); + expect(valMap.get('Title')).to.equal('Community Health Aide Program: Tribal Planning & Implementation'); + expect(valMap.get('Funding Type')).to.equal('Other'); + expect(valMap.get('Agency Code')).to.equal('HHS-IHS'); + expect(valMap.get('Eligibility')).to.equal('"Native American tribal organizations (other than Federally recognized tribal governments)|Others(see text field entitled ""Additional Information on Eligibility"" for clarification)|Native American tribal governments(Federally recognized)"'); }); it('produces same number of rows as grid', async () => { @@ -591,7 +603,7 @@ describe('`/api/grants` endpoint', () => { const query = '?searchTerm=333816'; const response = await fetchApi(`/grants/exportCSV${query}`, agencies.own, fetchOptions.staff); - const expectedCsv = `Opportunity Number,Title,Viewed By,Interested Agencies,Status,Opportunity Category,Cost Sharing,Award Floor,Award Ceiling,Posted Date,Close Date,Agency Code,Grant Id,URL + const expectedCsv = `Opportunity Number,Title,Viewed By,Interested Teams,Status,Opportunity Category,Cost Sharing,Award Ceiling,Posted Date,Close Date,Agency Code,Grant Id,URL HHS-2021-IHS-TPI-0001,Community Health Aide Program: Tribal Planning &`; expect(response.statusText).to.equal('OK'); @@ -689,7 +701,7 @@ HHS-2021-IHS-TPI-0001,Community Health Aide Program: Tribal Planning &`; }); context('GET /exportCSVRecentActivities', () => { it('produces the expected column headers', async () => { - const expectedCsvHeaders = 'Date,Agency,Grant,Status Code,Grant Assigned By,Email'; + const expectedCsvHeaders = 'Date,Team,Grant,Status Code,Grant Assigned By,Email'; const agencyId = agencies.own; const role = fetchOptions.staff; @@ -768,6 +780,14 @@ HHS-2021-IHS-TPI-0001,Community Health Aide Program: Tribal Planning &`; const response = await fetchApi(`/grants/next?pagination[currentPage]=1&pagination[perPage]=50&ordering[orderBy]=rank&criteria[excludeKeywords]=&criteria[opportunityStatuses]=posted`, agencies.own, fetchOptions.staff); expect(response.statusText).to.equal('OK'); }); + it('orderBy viewed_by is a 400 error', async () => { + const response = await fetchApi(`/grants/next?pagination[currentPage]=1&pagination[perPage]=50&ordering[orderBy]=viewed_by&criteria[opportunityStatuses]=posted`, agencies.own, fetchOptions.staff); + expect(response.status).to.equal(400); + }); + it('orderBy interested_agencies is a 400 error', async () => { + const response = await fetchApi(`/grants/next?pagination[currentPage]=1&pagination[perPage]=50&ordering[orderBy]=interested_agencies&criteria[opportunityStatuses]=posted`, agencies.own, fetchOptions.staff); + expect(response.status).to.equal(400); + }); }); }); }); diff --git a/packages/server/__tests__/api/users.test.js b/packages/server/__tests__/api/users.test.js index 61bc28ec5..5f38f5d85 100644 --- a/packages/server/__tests__/api/users.test.js +++ b/packages/server/__tests__/api/users.test.js @@ -25,6 +25,12 @@ describe('`/api/users` endpoint', () => { cookie: undefined, }, }, + subagencyAdmin: { + headers: { + 'Content-Type': 'application/json', + cookie: undefined, + }, + }, staff: { headers: { 'Content-Type': 'application/json', @@ -40,6 +46,7 @@ describe('`/api/users` endpoint', () => { fetchOptions.admin.headers.cookie = await getSessionCookie('mindy@usdigitalresponse.org'); fetchOptions.nonUSDRAdmin.headers.cookie = await getSessionCookie('joecomeau01@gmail.com'); fetchOptions.staff.headers.cookie = await getSessionCookie('mindy+testsub@usdigitalresponse.org'); + fetchOptions.subagencyAdmin.headers.cookie = await getSessionCookie('nat.hillard.usdr@gmail.com'); testServer = await makeTestServer(); fetchApi = testServer.fetchApi; @@ -78,7 +85,7 @@ describe('`/api/users` endpoint', () => { }); expect(response.statusText).to.equal('OK'); }); - it('is forbidden for an agency outside this user\'s hierarchy', async () => { + it('is forbidden for an agency outside this user\'s tenant', async () => { const response = await fetchApi(`/users`, agencies.offLimits, { ...fetchOptions.admin, method: 'post', @@ -86,6 +93,15 @@ describe('`/api/users` endpoint', () => { }); expect(response.statusText).to.equal('Forbidden'); }); + it('is forbidden for an agency that is a parent to this user\'s agency', async () => { + const parentAgency = agencies.own; + const response = await fetchApi(`/users`, parentAgency, { + ...fetchOptions.subagencyAdmin, + method: 'post', + body: JSON.stringify({ ...user, agency: parentAgency, email: `4${user.email}` }), + }); + expect(response.statusText).to.equal('Forbidden'); + }); // This really just exists to verify with new Supertest setup that we can use Chai spies it('sends a welcome email when creating user', async () => { @@ -142,7 +158,7 @@ describe('`/api/users` endpoint', () => { const response = await fetchApi(`/users`, agencies.own, fetchOptions.admin); expect(response.statusText).to.equal('OK'); const json = await response.json(); - expect(json.length).to.equal(11); + expect(json.length).to.equal(12); }); it('lists users for an agency outside this user\'s hierarchy but in the same tenant', async () => { const response = await fetchApi(`/users`, agencies.offLimits, fetchOptions.admin); @@ -185,17 +201,43 @@ describe('`/api/users` endpoint', () => { expect(response.statusText).to.equal('Bad Request'); }); }); + context('by a user with admin role', () => { + it('updates a user in this user\'s tenant and a subagency', async () => { + const response = await fetchApi(`/users/16`, agencies.staffOwn, { + ...fetchOptions.admin, + method: 'patch', + body: JSON.stringify({ name: 'Test Name' }), + }); + expect(response.statusText).to.equal('OK'); + }); + it('is forbidden for a user in this user\'s tenant and a parent agency', async () => { + const parentAgency = agencies.own; + const response = await fetchApi(`/users/2`, parentAgency, { + ...fetchOptions.subagencyAdmin, + method: 'patch', + body: JSON.stringify({ name: 'Test Name' }), + }); + expect(response.statusText).to.equal('Forbidden'); + }); + }); }); context('DELETE /api/users/:id', () => { context('by a user with admin role', () => { - it('deletes a user in this user\'s tenant', async () => { + it('deletes a user in this user\'s tenant and agency', async () => { const response = await fetchApi(`/users/4`, agencies.own, { ...fetchOptions.admin, method: 'delete', }); expect(response.statusText).to.equal('OK'); }); + it('deletes a user in this user\'s tenant and a subagency', async () => { + const response = await fetchApi(`/users/16`, agencies.staffOwn, { + ...fetchOptions.admin, + method: 'delete', + }); + expect(response.statusText).to.equal('OK'); + }); it('is forbidden for a user in an agency outside this user\'s tenant', async () => { const response = await fetchApi(`/users/8`, agencies.offLimits, { ...fetchOptions.admin, @@ -203,6 +245,14 @@ describe('`/api/users` endpoint', () => { }); expect(response.statusText).to.equal('Forbidden'); }); + it('is forbidden for a user in this user\'s tenant and a parent agency', async () => { + const parentAgency = agencies.own; + const response = await fetchApi(`/users/2`, parentAgency, { + ...fetchOptions.subagencyAdmin, + method: 'delete', + }); + expect(response.statusText).to.equal('Forbidden'); + }); }); context('by a user with staff role', () => { it('is forbidden for this user\'s own tenant', async () => { @@ -221,6 +271,7 @@ describe('`/api/users` endpoint', () => { preferences: { [emailConstants.notificationType.grantAssignment]: emailConstants.emailSubscriptionStatus.subscribed, [emailConstants.notificationType.grantDigest]: emailConstants.emailSubscriptionStatus.subscribed, + [emailConstants.notificationType.grantFinderUpdates]: emailConstants.emailSubscriptionStatus.subscribed, [emailConstants.notificationType.grantInterest]: emailConstants.emailSubscriptionStatus.unsubscribed, }, }, diff --git a/packages/server/migrations/20231103202457_update_email_subscriptions_notification_type.js b/packages/server/migrations/20231103202457_update_email_subscriptions_notification_type.js new file mode 100644 index 000000000..cd5b5c9ee --- /dev/null +++ b/packages/server/migrations/20231103202457_update_email_subscriptions_notification_type.js @@ -0,0 +1,29 @@ +/** + * @param { import("knex").Knex } knex + * @returns { Promise } + */ +exports.up = function (knex) { + return knex.schema.raw( + ` + -- Drop the existing stale constraint + ALTER TABLE email_subscriptions DROP CONSTRAINT email_subscriptions_notification_type_check; + -- Add new updated constraint + ALTER TABLE email_subscriptions ADD CONSTRAINT email_subscriptions_notification_type_check CHECK (notification_type IN ('GRANT_ASSIGNMENT', 'GRANT_INTEREST', 'GRANT_DIGEST', 'GRANT_FINDER_UPDATES')); + `, + ); +}; + +/** + * @param { import("knex").Knex } knex + * @returns { Promise } + */ +exports.down = function (knex) { + return knex.schema.raw( + ` + -- Drop the existing stale constraint + ALTER TABLE email_subscriptions DROP CONSTRAINT email_subscriptions_notification_type_check; + -- Add new updated constraint + ALTER TABLE email_subscriptions ADD CONSTRAINT email_subscriptions_notification_type_check CHECK (notification_type IN ('GRANT_ASSIGNMENT', 'GRANT_INTEREST', 'GRANT_DIGEST')); + `, + ); +}; diff --git a/packages/server/migrations/20231110030235_alter-saved-searches-cascade.js b/packages/server/migrations/20231110030235_alter-saved-searches-cascade.js new file mode 100644 index 000000000..d825ccc85 --- /dev/null +++ b/packages/server/migrations/20231110030235_alter-saved-searches-cascade.js @@ -0,0 +1,74 @@ +/** + * @param { import("knex").Knex } knex + * @returns { Promise } + */ +exports.up = async function (knex) { + return knex.transaction(async (tx1) => { + // 1. rename the existing fk constraint + await tx1.raw(` + alter table grants_saved_searches + rename CONSTRAINT grants_saved_searches_created_by_foreign + TO grants_saved_searches_created_by_foreign_old; + `); + return tx1.transaction(async (tx2) => { + // 2. create the new cascading fk constraint + // the NOT VALID marker prevents Postgres from locking out concurrent updates during creation of the constraint. + await tx2.raw(` + alter table grants_saved_searches + add constraint grants_saved_searches_created_by_foreign + foreign key (created_by) references users(id) + on delete cascade + not valid; + `); + return tx2.transaction(async (tx3) => { + // 3. drop the old fk constraint + await tx3.raw(` + alter table grants_saved_searches + drop constraint grants_saved_searches_created_by_foreign_old; + `); + return tx3.transaction(async (tx4) => { + // 4. validate the new fk constraint + await tx4.raw(` + alter table grants_saved_searches + validate constraint grants_saved_searches_created_by_foreign; + `); + }); + }); + }); + }); +}; + +/** + * @param { import("knex").Knex } knex + * @returns { Promise } + */ +exports.down = async function (knex) { + return knex.transaction(async (tx1) => { + await tx1.raw(` + alter table grants_saved_searches + rename CONSTRAINT grants_saved_searches_created_by_foreign + TO grants_saved_searches_created_by_foreign_old; + `); + return tx1.transaction(async (tx2) => { + // re-create the old fk constraint (without cascade) + await tx2.raw(` + alter table grants_saved_searches + add constraint grants_saved_searches_created_by_foreign + foreign key (created_by) references users(id) + not valid; + `); + return tx2.transaction(async (tx3) => { + await tx3.raw(` + alter table grants_saved_searches + drop constraint grants_saved_searches_created_by_foreign_old; + `); + return tx3.transaction(async (tx4) => { + await tx4.raw(` + alter table grants_saved_searches + validate constraint grants_saved_searches_created_by_foreign; + `); + }); + }); + }); + }); +}; diff --git a/packages/server/seeds/dev/ref/users.js b/packages/server/seeds/dev/ref/users.js index f8d10c653..991611872 100644 --- a/packages/server/seeds/dev/ref/users.js +++ b/packages/server/seeds/dev/ref/users.js @@ -136,4 +136,12 @@ module.exports = [ role_id: roles[0].id, tenant_id: usdrTenant.id, }, + { + id: 16, + email: 'admin1@usdigitalresponse.org', + name: 'USDR tenant sub agency admin', + agency_id: usdrSubAgency.id, + role_id: roles[1].id, + tenant_id: usdrTenant.id, + }, ]; diff --git a/packages/server/src/db/index.js b/packages/server/src/db/index.js index 72c776726..4b677eaa1 100755 --- a/packages/server/src/db/index.js +++ b/packages/server/src/db/index.js @@ -2,6 +2,7 @@ /* eslint-disable no-await-in-loop */ /* eslint-disable guard-for-in */ /* eslint-disable no-restricted-syntax */ + let v4; try { // eslint-disable-next-line global-require @@ -366,6 +367,20 @@ async function buildOrderingParams(args) { const orderingParams = { orderBy: 'open_date', orderDesc: 'true' }; if (args) { + if (args.orderBy) { + const orderArgs = args.orderBy.split('|'); + if (orderArgs.length !== 1) { + throw new Error('The number of orderBy arguments must be 1'); + } else if (!/^(rank|award_ceiling|open_date|close_date)$/.test(orderArgs[0])) { + console.error('Wat', orderArgs[0]); + throw new Error('orderBy must be one of rank|award_ceiling|open_date|close_date'); + } + } + // we treat undefined order direction as descending === true + const orderDesc = args.orderDesc || 'true'; + if (!/^(true|false)$/.test(orderDesc)) { + throw new Error('orderDesc must be true or false'); + } orderingParams.orderBy = args.orderBy; orderingParams.orderDesc = args.orderDesc; } @@ -513,23 +528,8 @@ function grantsQuery(queryBuilder, filters, agencyId, orderingParams, pagination buildFiltersQuery(queryBuilder, filters, agencyId); } if (orderingParams.orderBy && orderingParams.orderBy !== 'undefined') { - if (orderingParams.orderBy.includes('interested_agencies')) { - // Only perform the join if it was not already performed above. - if (!filters.reviewStatuses?.length) { - queryBuilder.leftJoin(TABLES.grants_interested, `${TABLES.grants}.grant_id`, `${TABLES.grants_interested}.grant_id`); - queryBuilder.select(`${TABLES.grants_interested}.grant_id`); - queryBuilder.groupBy(`${TABLES.grants_interested}.grant_id`); - } - const orderArgs = orderingParams.orderBy.split('|'); - queryBuilder.orderBy(`${TABLES.grants_interested}.grant_id`, orderArgs[1]); - queryBuilder.orderBy(`${TABLES.grants}.grant_id`, orderArgs[1]); - } else if (orderingParams.orderBy.includes('viewed_by')) { - const orderArgs = orderingParams.orderBy.split('|'); - queryBuilder.leftJoin(TABLES.grants_viewed, `${TABLES.grants}.grant_id`, `${TABLES.grants_viewed}.grant_id`); - queryBuilder.select(`${TABLES.grants_viewed}.grant_id`); - queryBuilder.orderBy(`${TABLES.grants_viewed}.grant_id`, orderArgs[1]); - queryBuilder.orderBy(`${TABLES.grants}.grant_id`, orderArgs[1]); - } else if (orderingParams.orderBy.includes('rank')) { + // we assume orderingParams is a valid construction of buildOrderingParams + if (orderingParams.orderBy.includes('rank')) { if (hasRankColumns) { queryBuilder.orderBy([ { column: 'rank_title', order: 'desc' }, @@ -537,12 +537,8 @@ function grantsQuery(queryBuilder, filters, agencyId, orderingParams, pagination ]); } } else { - const orderArgs = orderingParams.orderBy.split('|'); const orderDirection = ((orderingParams.orderDesc === 'true') ? 'desc' : 'asc'); - if (orderArgs.length > 1) { - console.log(`Too many orderArgs: ${orderArgs}`); - } - queryBuilder.orderBy(orderArgs[0], knex.raw(`${orderDirection} NULLS LAST`)); + queryBuilder.orderBy(orderingParams.orderBy, knex.raw(`${orderDirection} NULLS LAST`)); } } @@ -672,6 +668,23 @@ function validateSearchFilters(filters) { return errors; } +function addCsvData(qb) { + qb + .select(knex.raw(` + CASE + WHEN grants.funding_instrument_codes = 'G' THEN 'Grant' + WHEN grants.funding_instrument_codes = 'CA' THEN 'Cooperative Agreement' + WHEN grants.funding_instrument_codes = 'PC' THEN 'Procurement Contract' + ELSE 'Other' + END as funding_type + `)) + .select(knex.raw(`array_to_string(array_agg(${TABLES.eligibility_codes}.label), '|') AS eligibility`)) + .leftJoin( + `${TABLES.eligibility_codes}`, + `${TABLES.eligibility_codes}.code`, '=', knex.raw(`ANY(string_to_array(${TABLES.grants}.eligibility_codes, ' '))`), + ); +} + /* filters: { reviewStatuses: List[Enum['Applied', 'Not Applying', 'Interested']], @@ -693,15 +706,15 @@ function validateSearchFilters(filters) { tenantId: number agencyId: number */ -async function getGrantsNew(filters, paginationParams, orderingParams, tenantId, agencyId) { - console.log(JSON.stringify([filters, paginationParams, orderingParams, tenantId, agencyId])); +async function getGrantsNew(filters, paginationParams, orderingParams, tenantId, agencyId, toCsv) { + console.log(JSON.stringify([filters, paginationParams, orderingParams, tenantId, agencyId, toCsv])); const errors = validateSearchFilters(filters); if (errors.length > 0) { throw new Error(`Invalid filters: ${errors.join(', ')}`); } - const data = await knex(TABLES.grants) + const query = knex(TABLES.grants) .select([ 'grants.grant_id', 'grants.grant_number', @@ -771,6 +784,10 @@ async function getGrantsNew(filters, paginationParams, orderingParams, tenantId, 'grants.funding_instrument_codes', 'grants.bill', ); + if (toCsv) { + query.modify(addCsvData); + } + const data = await query; const fullCount = data.length > 0 ? data[0].full_count : 0; @@ -875,24 +892,9 @@ async function getGrants({ ); } if (orderBy && orderBy !== 'undefined') { - if (orderBy.includes('interested_agencies')) { - queryBuilder.leftJoin(TABLES.grants_interested, `${TABLES.grants}.grant_id`, `${TABLES.grants_interested}.grant_id`); - const orderArgs = orderBy.split('|'); - queryBuilder.orderBy(`${TABLES.grants_interested}.grant_id`, orderArgs[1]); - queryBuilder.orderBy(`${TABLES.grants}.grant_id`, orderArgs[1]); - } else if (orderBy.includes('viewed_by')) { - const orderArgs = orderBy.split('|'); - queryBuilder.leftJoin(TABLES.grants_viewed, `${TABLES.grants}.grant_id`, `${TABLES.grants_viewed}.grant_id`); - queryBuilder.orderBy(`${TABLES.grants_viewed}.grant_id`, orderArgs[1]); - queryBuilder.orderBy(`${TABLES.grants}.grant_id`, orderArgs[1]); - } else { - const orderArgs = orderBy.split('|'); - const orderDirection = ((orderDesc === 'true') ? 'desc' : 'asc'); - if (orderArgs.length > 1) { - console.log(`Too many orderArgs: ${orderArgs}`); - } - queryBuilder.orderBy(orderArgs[0], orderDirection); - } + // we assume orderBy is a valid construction of buildOrderingParams + const orderDirection = ((orderDesc === 'true') ? 'desc' : 'asc'); + queryBuilder.orderBy(orderBy, knex.raw(`${orderDirection} NULLS LAST`)); } queryBuilder.limit(perPage); queryBuilder.offset((currentPage - 1) * perPage); @@ -1450,6 +1452,8 @@ async function setUserEmailSubscriptionPreference(userId, agencyId, preferences) .insert(insertValues) .onConflict(['user_id', 'agency_id', 'notification_type']) .merge(['user_id', 'agency_id', 'status', 'updated_at']); + + return getUser(userId); } async function getUserEmailSubscriptionPreference(userId, agencyId) { diff --git a/packages/server/src/lib/access-helpers.js b/packages/server/src/lib/access-helpers.js index ad3a43909..0006acfa1 100755 --- a/packages/server/src/lib/access-helpers.js +++ b/packages/server/src/lib/access-helpers.js @@ -16,6 +16,25 @@ function isUSDRSuperAdmin(user) { ); } +/** + * Determine if the user's agency or subagencies includes the given agency. + * + * @param {Object} user + * @param {Number} agencyId + * @returns {Boolean} true if the agency is a subagency or same agency of the user + * */ +function isAuthorizedForAgency(user, agencyId) { + const subagency = user.agency.subagencies.find( + (agency) => agency.id === agencyId, + ); + + if (subagency) { + return true; + } + + return false; +} + /** * Determine if a user is authorized for an agency. * @@ -27,11 +46,6 @@ async function isUserAuthorized(user, ...agencyIds) { return inTenant(user.tenant_id, agencyIds); } -async function isAuthorized(userId, agencyId) { - const user = await getUser(userId); - return isUserAuthorized(user, agencyId); -} - async function getAdminAuthInfo(req) { if (!req.signedCookies.userId) { throw new Error('Unauthorized'); @@ -111,5 +125,5 @@ async function requireUSDRSuperAdminUser(req, res, next) { } module.exports = { - requireAdminUser, requireUser, isAuthorized, isUserAuthorized, isUSDRSuperAdmin, requireUSDRSuperAdminUser, getAdminAuthInfo, + requireAdminUser, requireUser, isAuthorizedForAgency, isUserAuthorized, isUSDRSuperAdmin, requireUSDRSuperAdminUser, getAdminAuthInfo, }; diff --git a/packages/server/src/lib/email.js b/packages/server/src/lib/email.js index 69b315d4c..ec9a070ea 100644 --- a/packages/server/src/lib/email.js +++ b/packages/server/src/lib/email.js @@ -269,6 +269,7 @@ async function getAndSendGrantForSavedSearch({ await db.buildPaginationParams({ currentPage: 1, perPage: 31 }), {}, userSavedSearch.tenantId, + false, ); return sendGrantDigest({ diff --git a/packages/server/src/lib/email/constants.js b/packages/server/src/lib/email/constants.js index 1cd9fca03..5f958348d 100644 --- a/packages/server/src/lib/email/constants.js +++ b/packages/server/src/lib/email/constants.js @@ -2,6 +2,7 @@ const notificationType = Object.freeze({ grantAssignment: 'GRANT_ASSIGNMENT', grantInterest: 'GRANT_INTEREST', grantDigest: 'GRANT_DIGEST', + grantFinderUpdates: 'GRANT_FINDER_UPDATES', }); const emailSubscriptionStatus = Object.freeze({ diff --git a/packages/server/src/routes/grants.js b/packages/server/src/routes/grants.js index 169184a4c..d96409bc9 100755 --- a/packages/server/src/routes/grants.js +++ b/packages/server/src/routes/grants.js @@ -8,30 +8,6 @@ const { requireUser, isUserAuthorized } = require('../lib/access-helpers'); const router = express.Router({ mergeParams: true }); -// Award floor field was requested for CSV export but is not stored as a dedicated column, -// so we have to extract it from raw_body -function getAwardFloor(grant) { - let body; - try { - body = JSON.parse(grant.raw_body); - } catch (err) { - // Some seeded test data has invalid JSON in raw_body field - return undefined; - } - - // For some reason, some grants rows have null raw_body. - // TODO: investigate how this can happen - if (!body) { - return undefined; - } - - const floor = parseInt(body.synopsis && body.synopsis.awardFloor, 10); - if (Number.isNaN(floor)) { - return undefined; - } - return floor; -} - function parseCollectionQueryParam(req, param) { const value = req.query[param]; return (value && value.split(',')) || []; @@ -92,15 +68,22 @@ function criteriaToFiltersObj(criteria, agencyId) { router.get('/next', requireUser, async (req, res) => { const { user } = req.session; + let orderingParams; + try { + orderingParams = await db.buildOrderingParams(req.query.ordering); + } catch { + return res.status(400).send('Invalid ordering parameter'); + } const grants = await db.getGrantsNew( criteriaToFiltersObj(req.query.criteria, user.agency_id), await db.buildPaginationParams(req.query.pagination), - await db.buildOrderingParams(req.query.ordering), + orderingParams, user.tenant_id, user.agency_id, + false, ); - res.json(grants); + return res.json(grants); }); // get a single grant details @@ -124,15 +107,22 @@ const MAX_CSV_EXPORT_ROWS = process.env.NODE_ENV !== 'test' ? 500 : 100; router.get('/exportCSVNew', requireUser, async (req, res) => { const { user } = req.session; + let orderingParams; + try { + orderingParams = await db.buildOrderingParams(req.query.ordering); + } catch { + return res.status(400).send('Invalid ordering parameter'); + } const { data, pagination } = await db.getGrantsNew( criteriaToFiltersObj(req.query.criteria, user.agency_id), await db.buildPaginationParams({ currentPage: 1, perPage: MAX_CSV_EXPORT_ROWS, }), - await db.buildOrderingParams(req.query.ordering), + orderingParams, user.tenant_id, user.agency_id, + true, ); // Generate CSV @@ -146,7 +136,6 @@ router.get('/exportCSVNew', requireUser, async (req, res) => { .join(', '), open_date: new Date(grant.open_date).toLocaleDateString('en-US', { timeZone: 'UTC' }), close_date: new Date(grant.close_date).toLocaleDateString('en-US', { timeZone: 'UTC' }), - award_floor: getAwardFloor(grant), url: `https://www.grants.gov/web/grants/view-opportunity.html?oppId=${grant.grant_id}`, })); @@ -167,17 +156,20 @@ router.get('/exportCSVNew', requireUser, async (req, res) => { { key: 'grant_number', header: 'Opportunity Number' }, { key: 'title', header: 'Title' }, { key: 'viewed_by', header: 'Viewed By' }, - { key: 'interested_agencies', header: 'Interested Agencies' }, - { key: 'opportunity_status', header: 'Status' }, + { key: 'interested_agencies', header: 'Interested Teams' }, + { key: 'opportunity_status', header: 'Opportunity Status' }, { key: 'opportunity_category', header: 'Opportunity Category' }, { key: 'cost_sharing', header: 'Cost Sharing' }, - { key: 'award_floor', header: 'Award Floor' }, { key: 'award_ceiling', header: 'Award Ceiling' }, { key: 'open_date', header: 'Posted Date' }, { key: 'close_date', header: 'Close Date' }, { key: 'agency_code', header: 'Agency Code' }, { key: 'grant_id', header: 'Grant Id' }, { key: 'url', header: 'URL' }, + { key: 'funding_type', header: 'Funding Type' }, + { key: 'bill', header: 'Appropriations Bill' }, + { key: 'agency_code', header: 'Agency Code' }, + { key: 'eligibility', header: 'Eligibility' }, ], }); @@ -186,7 +178,7 @@ router.get('/exportCSVNew', requireUser, async (req, res) => { res.setHeader('Content-Disposition', `attachment; filename=${filename}`); res.setHeader('Content-Type', 'text/csv'); res.setHeader('Content-Length', csv.length); - res.send(csv); + return res.send(csv); }); router.get('/exportCSV', requireUser, async (req, res) => { @@ -228,7 +220,6 @@ router.get('/exportCSV', requireUser, async (req, res) => { .join(', '), open_date: new Date(grant.open_date).toLocaleDateString('en-US', { timeZone: 'UTC' }), close_date: new Date(grant.close_date).toLocaleDateString('en-US', { timeZone: 'UTC' }), - award_floor: getAwardFloor(grant), url: `https://www.grants.gov/web/grants/view-opportunity.html?oppId=${grant.grant_id}`, })); @@ -249,11 +240,10 @@ router.get('/exportCSV', requireUser, async (req, res) => { { key: 'grant_number', header: 'Opportunity Number' }, { key: 'title', header: 'Title' }, { key: 'viewed_by', header: 'Viewed By' }, - { key: 'interested_agencies', header: 'Interested Agencies' }, + { key: 'interested_agencies', header: 'Interested Teams' }, { key: 'opportunity_status', header: 'Status' }, { key: 'opportunity_category', header: 'Opportunity Category' }, { key: 'cost_sharing', header: 'Cost Sharing' }, - { key: 'award_floor', header: 'Award Floor' }, { key: 'award_ceiling', header: 'Award Ceiling' }, { key: 'open_date', header: 'Posted Date' }, { key: 'close_date', header: 'Close Date' }, @@ -288,7 +278,7 @@ router.get('/exportCSVRecentActivities', requireUser, async (req, res) => { const formattedData = data.map((grant) => ({ ...grant, date: new Date(grant.created_at).toLocaleDateString('en-US'), - agency: grant.name, + team: grant.name, grant: grant.title, status_code: grant.status_code, name: users[grant.assigned_by]?.name, @@ -303,7 +293,7 @@ router.get('/exportCSVRecentActivities', requireUser, async (req, res) => { header: true, columns: [ { key: 'date', header: 'Date' }, - { key: 'agency', header: 'Agency' }, + { key: 'team', header: 'Team' }, { key: 'grant', header: 'Grant' }, { key: 'status_code', header: 'Status Code' }, { key: 'name', header: 'Grant Assigned By' }, diff --git a/packages/server/src/routes/keywords.js b/packages/server/src/routes/keywords.js index de35bf537..96a4701de 100755 --- a/packages/server/src/routes/keywords.js +++ b/packages/server/src/routes/keywords.js @@ -1,7 +1,7 @@ const express = require('express'); const router = express.Router({ mergeParams: true }); -const { requireUser, isAuthorized } = require('../lib/access-helpers'); +const { requireUser, isAuthorizedForAgency } = require('../lib/access-helpers'); const db = require('../db'); router.post('/', requireUser, async (req, res) => { @@ -21,7 +21,7 @@ router.delete('/:keywordId', requireUser, async (req, res) => { const { agency_id } = await db.getKeyword(req.params.keywordId); // Is this admin user authorized for that agency? - const authorized = await isAuthorized(req.signedCookies.userId, agency_id); + const authorized = isAuthorizedForAgency(req.session.user, agency_id); if (!authorized) { res.sendStatus(403); return; diff --git a/packages/server/src/routes/users.js b/packages/server/src/routes/users.js index 28aa70a45..012b01992 100755 --- a/packages/server/src/routes/users.js +++ b/packages/server/src/routes/users.js @@ -10,8 +10,7 @@ const { ensureAsyncContext } = require('../arpa_reporter/lib/ensure-async-contex const { requireAdminUser, requireUser, - isAuthorized, - isUserAuthorized, + isAuthorizedForAgency, isUSDRSuperAdmin, requireUSDRSuperAdminUser, } = require('../lib/access-helpers'); @@ -33,9 +32,9 @@ router.post('/', requireAdminUser, async (req, res, next) => { } try { - const allowed = await isUserAuthorized(user, agencyId); + const allowed = isAuthorizedForAgency(user, agencyId); if (!allowed) { - res.status(403).send('Cannot assign user to agency outside of the tenant'); + res.status(403).send('Cannot assign user to a parent agency or agency outside of the tenant'); return; } const newUser = { @@ -62,8 +61,16 @@ router.post('/', requireAdminUser, async (req, res, next) => { router.patch('/:userId', requireUser, async (req, res) => { const id = parseInt(req.params.userId, 10); - const allowedFields = new Set(['name']); + const { user } = req.session; + const userToEdit = user.id === id ? user : await db.getUser(id); + const allowed = isAuthorizedForAgency(user, userToEdit.agency_id); + if (!allowed) { + res.sendStatus(403); + return; + } + + const allowedFields = new Set(['name']); for (const key of Object.keys(req.body)) { if (!allowedFields.has(key)) { res.status(400).json({ message: `Request body contains unsupported field: ${key}` }); @@ -103,8 +110,8 @@ router.put('/:userId/email_subscription', requireUser, async (req, res) => { const { preferences } = req.body; try { - await db.setUserEmailSubscriptionPreference(userId, agencyId, preferences); - res.status(200).json({ message: 'Successfully updated preferences.' }); + const result = await db.setUserEmailSubscriptionPreference(userId, agencyId, preferences); + res.status(200).json({ user: result }); } catch (e) { console.error(`Unable to update agency email preferences for user: ${userId} agency: ${agencyId} preferences: ${preferences} error: ${e}`); res.status(500).json({ message: 'Something went wrong while updating preferences. Please try again or reach out to support.' }); @@ -140,9 +147,9 @@ router.delete('/:userId', requireAdminUser, async (req, res) => { const userToDelete = await db.getUser(req.params.userId); // Is this admin user able to delete a user in their agency - const authorized = await isAuthorized(req.signedCookies.userId, userToDelete.agency_id); + const authorized = isAuthorizedForAgency(req.session.user, userToDelete.agency_id); if (!authorized) { - res.sendStatus(403); + res.status(403).send('Cannot delete a user from a parent agency or agency outside of the tenant'); return; } diff --git a/terraform/modules/gost_api/storage.tf b/terraform/modules/gost_api/storage.tf index e52429ece..188cd64df 100644 --- a/terraform/modules/gost_api/storage.tf +++ b/terraform/modules/gost_api/storage.tf @@ -26,7 +26,7 @@ module "efs_data_volume" { module "arpa_audit_reports_bucket" { source = "cloudposse/s3-bucket/aws" - version = "4.0.0" + version = "4.0.1" context = module.s3_label.context name = "arpa_audit_reports" @@ -45,7 +45,7 @@ module "arpa_audit_reports_bucket" { abort_incomplete_multipart_upload_days = 1 expiration = { days = 14 } transition = null - noncurrent_version_expiration = { days = 7 } + noncurrent_version_expiration = { noncurrent_days = 7 } noncurrent_version_transition = null } ] diff --git a/terraform/modules/gost_api/task.tf b/terraform/modules/gost_api/task.tf index 3ed151a3e..95e52a451 100644 --- a/terraform/modules/gost_api/task.tf +++ b/terraform/modules/gost_api/task.tf @@ -17,7 +17,7 @@ locals { module "api_container_definition" { source = "cloudposse/ecs-container-definition/aws" - version = "0.61.0" + version = "0.61.1" container_name = "api" container_image = local.api_container_image @@ -95,7 +95,7 @@ module "api_container_definition" { module "datadog_container_definition" { source = "cloudposse/ecs-container-definition/aws" - version = "0.61.0" + version = "0.61.1" container_name = "datadog" container_image = "public.ecr.aws/datadog/agent:latest" diff --git a/terraform/modules/gost_website/storage.tf b/terraform/modules/gost_website/storage.tf index 779ca8d83..e1aaa7fad 100644 --- a/terraform/modules/gost_website/storage.tf +++ b/terraform/modules/gost_website/storage.tf @@ -84,7 +84,7 @@ module "github_deploy_to_origin_bucket_policy" { module "origin_bucket" { source = "cloudposse/s3-bucket/aws" - version = "4.0.0" + version = "4.0.1" context = module.s3_label.context name = "origin" @@ -96,11 +96,24 @@ module "origin_bucket" { source_policy_documents = [ module.cloudfront_to_origin_bucket_access_policy.json, ] + + lifecycle_configuration_rules = [ + { + enabled = true + id = "rule-1" + filter_and = null + abort_incomplete_multipart_upload_days = 1 + expiration = null + transition = null + noncurrent_version_expiration = { noncurrent_days = 7 } + noncurrent_version_transition = null + } + ] } module "logs_bucket" { source = "cloudposse/s3-bucket/aws" - version = "4.0.0" + version = "4.0.1" context = module.s3_label.context name = "logs" @@ -131,12 +144,12 @@ module "logs_bucket" { } noncurrent_version_transition = [ { - days = 30 - storage_class = "GLACIER" + noncurrent_days = 30 + storage_class = "GLACIER" }, ] noncurrent_version_expiration = { - days = 90 + noncurrent_days = 90 } } ] diff --git a/terraform/modules/gost_website/waf.tf b/terraform/modules/gost_website/waf.tf index 41e400a85..c08a0958f 100644 --- a/terraform/modules/gost_website/waf.tf +++ b/terraform/modules/gost_website/waf.tf @@ -18,7 +18,7 @@ locals { module "waf" { source = "cloudposse/waf/aws" - version = "0.3.0" + version = "0.4.0" scope = "CLOUDFRONT" default_action = "allow" diff --git a/terraform/prod.tfvars b/terraform/prod.tfvars index 0a893a982..24f81d09f 100644 --- a/terraform/prod.tfvars +++ b/terraform/prod.tfvars @@ -39,8 +39,9 @@ website_managed_waf_rules = { } } website_feature_flags = { - useNewTable = true, - myProfileEnabled = false + useNewTable = true, + myProfileEnabled = false, + newTerminologyEnabled = false } // ECS Cluster diff --git a/terraform/sandbox.tfvars b/terraform/sandbox.tfvars index 71ca6690f..1169588f4 100644 --- a/terraform/sandbox.tfvars +++ b/terraform/sandbox.tfvars @@ -14,8 +14,9 @@ website_enabled = true website_domain_name = "sandbox.grants.usdr.dev" website_managed_waf_rules = {} website_feature_flags = { - useNewTable = true, - myProfileEnabled = true + useNewTable = true, + myProfileEnabled = true, + newTerminologyEnabled = false } // ECS Cluster diff --git a/terraform/staging.tfvars b/terraform/staging.tfvars index 7d65bd483..95fce1d61 100644 --- a/terraform/staging.tfvars +++ b/terraform/staging.tfvars @@ -36,8 +36,9 @@ website_managed_waf_rules = { } } website_feature_flags = { - useNewTable = true, - myProfileEnabled = true + useNewTable = true, + myProfileEnabled = true, + newTerminologyEnabled = true } // ECS Cluster diff --git a/yarn.lock b/yarn.lock index e5c46c7e8..bb0545eaf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -221,650 +221,673 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@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== +"@aws-sdk/client-cognito-identity@3.454.0": + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.454.0.tgz#fba4360d912e04ff773dc249fcc55cae50364049" + integrity sha512-6Z3xYsgONJsZrn6P5XvKAgWxmUittGmp5jdX64LSz5OoPgkn0uGd01c2EACSKVivHUBc190gPg8Hg2BBmWjsMA== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.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.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.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.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.2" - "@smithy/node-http-handler" "^2.1.7" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" - "@smithy/util-base64" "^2.0.0" + "@aws-sdk/client-sts" "3.454.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" "@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.20" - "@smithy/util-retry" "^2.0.4" - "@smithy/util-utf8" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" "@aws-sdk/client-s3@^3.312.0": - 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== + version "3.456.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.456.0.tgz#5bb5093545ab203bff2144c4bd9c6adc800b212e" + integrity sha512-987Mls+9w+mpdq4Vpc/OEQ93afkM12H7l97lIejcidZySuLVo5tdOM9ErekmgjAuotFzBgu2ExL83XtYIMgA0g== 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.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.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.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.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.430.0" + "@aws-sdk/client-sts" "3.454.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/middleware-bucket-endpoint" "3.451.0" + "@aws-sdk/middleware-expect-continue" "3.451.0" + "@aws-sdk/middleware-flexible-checksums" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-location-constraint" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-sdk-s3" "3.451.0" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/middleware-ssec" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/signature-v4-multi-region" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" "@aws-sdk/xml-builder" "3.310.0" - "@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" - "@smithy/fetch-http-handler" "^2.2.3" - "@smithy/hash-blob-browser" "^2.0.11" - "@smithy/hash-node" "^2.0.11" - "@smithy/hash-stream-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.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.2" - "@smithy/node-http-handler" "^2.1.7" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" - "@smithy/util-base64" "^2.0.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/eventstream-serde-browser" "^2.0.13" + "@smithy/eventstream-serde-config-resolver" "^2.0.13" + "@smithy/eventstream-serde-node" "^2.0.13" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-blob-browser" "^2.0.14" + "@smithy/hash-node" "^2.0.15" + "@smithy/hash-stream-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/md5-js" "^2.0.15" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" "@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.20" - "@smithy/util-retry" "^2.0.4" - "@smithy/util-stream" "^2.0.16" - "@smithy/util-utf8" "^2.0.0" - "@smithy/util-waiter" "^2.0.11" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-stream" "^2.0.20" + "@smithy/util-utf8" "^2.0.2" + "@smithy/util-waiter" "^2.0.13" fast-xml-parser "4.2.5" tslib "^2.5.0" "@aws-sdk/client-ses@^3.312.0": - version "3.431.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.431.0.tgz#2e6450a28882e03a29412984a190cae80b70f4db" - integrity sha512-uya31UKYR5B5GVQzJBQUFYKpx0O3aDxE9slOwugSTGkHUmwmY5IHULUECZLMRfiEORhIEID6zVcpTYoeIvlHiw== + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.454.0.tgz#138411357dce5c25a75b946868171c7e97e0d203" + integrity sha512-6rLwDHHwjLv3gYL68V8sZeDlgiO60e/pIWmu2H7POoDTTFlQdcmS/ARdFzdIgAuA2yMAYFZvsFcrZTYxLl1q8g== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.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.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.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.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.2" - "@smithy/node-http-handler" "^2.1.7" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" - "@smithy/util-base64" "^2.0.0" + "@aws-sdk/client-sts" "3.454.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" "@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.20" - "@smithy/util-retry" "^2.0.4" - "@smithy/util-utf8" "^2.0.0" - "@smithy/util-waiter" "^2.0.11" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" + "@smithy/util-waiter" "^2.0.13" fast-xml-parser "4.2.5" tslib "^2.5.0" "@aws-sdk/client-sqs@^3.345.0": - version "3.431.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sqs/-/client-sqs-3.431.0.tgz#bebed1d876e2a1a5c9f602030e850c066776d8d9" - integrity sha512-hRj3expAeS1YOnoK1AsXqhAmRj2MjRLF9aT/hTRQUfSS8zHiwNVO5lEXr895dlshzUACTukHZRInBwv1yE2XkA== + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sqs/-/client-sqs-3.454.0.tgz#c772faf558ff4b4851843df9b23e1b0822d638b5" + integrity sha512-eBviLavFxmXAbqL/wPlVqYnmS/hYUPj63ilQvFuj8zM3WYy0DX7GgvYXz5AUWswGsEk/4F88QFjlBM7N5miepw== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.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.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.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.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.2" - "@smithy/node-http-handler" "^2.1.7" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" - "@smithy/util-base64" "^2.0.0" + "@aws-sdk/client-sts" "3.454.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-sdk-sqs" "3.451.0" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/md5-js" "^2.0.15" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" "@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.20" - "@smithy/util-retry" "^2.0.4" - "@smithy/util-utf8" "^2.0.0" - fast-xml-parser "4.2.5" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@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== +"@aws-sdk/client-sso@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.451.0.tgz#d52b961efa707b6579821942801145a2e1be8121" + integrity sha512-KkYSke3Pdv3MfVH/5fT528+MKjMyPKlcLcd4zQb0x6/7Bl7EHrPh1JZYjzPLHelb+UY5X0qN8+cb8iSu1eiwIQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.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.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.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.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.2" - "@smithy/node-http-handler" "^2.1.7" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" - "@smithy/util-base64" "^2.0.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" "@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.20" - "@smithy/util-retry" "^2.0.4" - "@smithy/util-utf8" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@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== +"@aws-sdk/client-sts@3.454.0": + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.454.0.tgz#6106999e393c264a485fc76add374b375a2da8d5" + integrity sha512-0fDvr8WeB6IYO8BUCzcivWmahgGl/zDbaYfakzGnt4mrl5ztYaXE875WI6b7+oFcKMRvN+KLvwu5TtyFuNY+GQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.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.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.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.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.2" - "@smithy/node-http-handler" "^2.1.7" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" - "@smithy/util-base64" "^2.0.0" + "@aws-sdk/core" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-sdk-sts" "3.451.0" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" "@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.20" - "@smithy/util-retry" "^2.0.4" - "@smithy/util-utf8" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" fast-xml-parser "4.2.5" tslib "^2.5.0" -"@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== +"@aws-sdk/core@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.451.0.tgz#ecd30da40d8e02050a772920485f450ea2a1b804" + integrity sha512-SamWW2zHEf1ZKe3j1w0Piauryl8BQIlej0TBS18A4ACzhjhWXhCs13bO1S88LvPR5mBFXok3XOT6zPOnKDFktw== dependencies: - "@aws-sdk/client-cognito-identity" "3.431.0" - "@aws-sdk/types" "3.428.0" + "@smithy/smithy-client" "^2.1.15" + tslib "^2.5.0" + +"@aws-sdk/credential-provider-cognito-identity@3.454.0": + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.454.0.tgz#664b06aa5c85a214edcfc573169502fa33099533" + integrity sha512-sRxDhZKgFasAVajNvpqJMEOCvtCUfofVcUO5vIp8jgPHNw5yrN5REZStjVjgYO5riFKXFI8qqHHtzttx+HhsZg== + dependencies: + "@aws-sdk/client-cognito-identity" "3.454.0" + "@aws-sdk/types" "3.451.0" "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-env@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.428.0.tgz#b977084e86491a6600d3831c8a70cc29472475dc" - integrity sha512-e6fbY174Idzw0r5ZMT1qkDh+dpOp1DX3ickhr7J6ipo3cUGLI45Y5lnR9nYXWfB5o/wiNv4zXgN+Y3ORJJHzyA== +"@aws-sdk/credential-provider-env@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.451.0.tgz#7b7429bd2e3fdebf914a88269274190781aeeab2" + integrity sha512-9dAav7DcRgaF7xCJEQR5ER9ErXxnu/tdnVJ+UPmb1NPeIZdESv1A3lxFDEq1Fs8c4/lzAj9BpshGyJVIZwZDKg== dependencies: - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-http@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.428.0.tgz#f9cc15ffbeb403f4ff419c31061deb55325d5fe2" - integrity sha512-aLrsmLVRTuO/Gx8AYxIUkZ12DdsFnVK9lbfNpeNOisVjM6ZvjCHqMgDsh12ydkUpmb7C0v+ALj8bHzwKcpyMdA== +"@aws-sdk/credential-provider-http@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.451.0.tgz#8e70dfc42e9e96156b9b3c4dbdd82f1cc32249fc" + integrity sha512-q82kEzymqimkJ2dHmuN2RGpi9HTFSxwwoXALnzPRaRcvR/v+YY8FMgSTfwXzPkHUDf/q8J+aDz6lPcYlnsP3sQ== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/fetch-http-handler" "^2.2.3" - "@smithy/node-http-handler" "^2.1.7" + "@aws-sdk/types" "3.451.0" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/node-http-handler" "^2.1.9" "@smithy/property-provider" "^2.0.0" - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/util-stream" "^2.0.20" tslib "^2.5.0" -"@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== +"@aws-sdk/credential-provider-ini@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.451.0.tgz#e38315611f70700ad9803316d7030e3472c9789c" + integrity sha512-TySt64Ci5/ZbqFw1F9Z0FIGvYx5JSC9e6gqDnizIYd8eMnn8wFRUscRrD7pIHKfrhvVKN5h0GdYovmMO/FMCBw== dependencies: - "@aws-sdk/credential-provider-env" "3.428.0" - "@aws-sdk/credential-provider-process" "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" + "@aws-sdk/credential-provider-env" "3.451.0" + "@aws-sdk/credential-provider-process" "3.451.0" + "@aws-sdk/credential-provider-sso" "3.451.0" + "@aws-sdk/credential-provider-web-identity" "3.451.0" + "@aws-sdk/types" "3.451.0" "@smithy/credential-provider-imds" "^2.0.0" "@smithy/property-provider" "^2.0.0" "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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.431.0" - "@aws-sdk/credential-provider-process" "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" +"@aws-sdk/credential-provider-node@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.451.0.tgz#72ccdef2199104379977dc06ea84c8d2a356d545" + integrity sha512-AEwM1WPyxUdKrKyUsKyFqqRFGU70e4qlDyrtBxJnSU9NRLZI8tfEZ67bN7fHSxBUBODgDXpMSlSvJiBLh5/3pw== + dependencies: + "@aws-sdk/credential-provider-env" "3.451.0" + "@aws-sdk/credential-provider-ini" "3.451.0" + "@aws-sdk/credential-provider-process" "3.451.0" + "@aws-sdk/credential-provider-sso" "3.451.0" + "@aws-sdk/credential-provider-web-identity" "3.451.0" + "@aws-sdk/types" "3.451.0" "@smithy/credential-provider-imds" "^2.0.0" "@smithy/property-provider" "^2.0.0" "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-process@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.428.0.tgz#2b8242b3ff0e78d5e58259d1f305d81700c7e101" - integrity sha512-UG2S2/4Wrskbkbgt9fBlnzwQ2hfTXvLJwUgGOluSOf6+mGCcoDku4zzc9EQdk1MwN5Us+ziyMrIMNY5sbdLg6g== +"@aws-sdk/credential-provider-process@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.451.0.tgz#3dd1d7df235f4eeb99d7e0f16b0e8cd61d555a73" + integrity sha512-HQywSdKeD5PErcLLnZfSyCJO+6T+ZyzF+Lm/QgscSC+CbSUSIPi//s15qhBRVely/3KBV6AywxwNH+5eYgt4lQ== dependencies: - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" "@smithy/property-provider" "^2.0.0" "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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== +"@aws-sdk/credential-provider-sso@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.451.0.tgz#f2482985a80f1da78e6b50ffaebbf2297d0f366f" + integrity sha512-Usm/N51+unOt8ID4HnQzxIjUJDrkAQ1vyTOC0gSEEJ7h64NSSPGD5yhN7il5WcErtRd3EEtT1a8/GTC5TdBctg== dependencies: - "@aws-sdk/client-sso" "3.431.0" - "@aws-sdk/token-providers" "3.431.0" - "@aws-sdk/types" "3.428.0" + "@aws-sdk/client-sso" "3.451.0" + "@aws-sdk/token-providers" "3.451.0" + "@aws-sdk/types" "3.451.0" "@smithy/property-provider" "^2.0.0" "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/credential-provider-web-identity@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.428.0.tgz#d9d60d4ab919c973a3c3465c39cf950550dccb27" - integrity sha512-ueuUPPlrJFvtDUVTGnClUGt1wxCbEiKArknah/w9cfcc/c1HtFd/M7x/z2Sm0gSItR45sVcK54qjzmhm29DMzg== +"@aws-sdk/credential-provider-web-identity@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.451.0.tgz#5dc40768869d5887888c6f178c7831dd2c74cfbe" + integrity sha512-Xtg3Qw65EfDjWNG7o2xD6sEmumPfsy3WDGjk2phEzVg8s7hcZGxf5wYwe6UY7RJvlEKrU0rFA+AMn6Hfj5oOzg== dependencies: - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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.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.431.0" - "@aws-sdk/credential-provider-node" "3.431.0" - "@aws-sdk/credential-provider-process" "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" +"@aws-sdk/credential-providers@3.454.0": + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.454.0.tgz#2ee4925044555cdf8ef5a1b3e899ddc4304a09e0" + integrity sha512-y+ieaocH6T5pjGx7l2NUTb2n29URUYO3uYSvvwoWKx/KK17QJEVKMbARHBHyvDIbybeHidJTO58Jz5AY7rcTQA== + dependencies: + "@aws-sdk/client-cognito-identity" "3.454.0" + "@aws-sdk/client-sso" "3.451.0" + "@aws-sdk/client-sts" "3.454.0" + "@aws-sdk/credential-provider-cognito-identity" "3.454.0" + "@aws-sdk/credential-provider-env" "3.451.0" + "@aws-sdk/credential-provider-http" "3.451.0" + "@aws-sdk/credential-provider-ini" "3.451.0" + "@aws-sdk/credential-provider-node" "3.451.0" + "@aws-sdk/credential-provider-process" "3.451.0" + "@aws-sdk/credential-provider-sso" "3.451.0" + "@aws-sdk/credential-provider-web-identity" "3.451.0" + "@aws-sdk/types" "3.451.0" "@smithy/credential-provider-imds" "^2.0.0" "@smithy/property-provider" "^2.0.0" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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== +"@aws-sdk/middleware-bucket-endpoint@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.451.0.tgz#d2853e30605771414fff762cd7680e449e3c811e" + integrity sha512-KWyZ1JGnYz2QbHuJtYTP1BVnMOfVopR8rP8dTinVb/JR5HfAYz4imICJlJUbOYRjN7wpA3PrRI8dNRjrSBjWJg== dependencies: - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" "@aws-sdk/util-arn-parser" "3.310.0" - "@smithy/node-config-provider" "^2.1.2" - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" "@smithy/util-config-provider" "^2.0.0" tslib "^2.5.0" -"@aws-sdk/middleware-expect-continue@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.428.0.tgz#441ee1026c33cf483e14501a28fe1ec2e4645bb6" - integrity sha512-d/vWUs9RD4fuO1oi7gJby6aEPb6XTf2+jCbrs/hUEYFMxQu7wwQx2c6BWAjfQca8zVadh7FY0cDNtL2Ep2d8zA== +"@aws-sdk/middleware-expect-continue@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.451.0.tgz#6fa15a51d7d894230fa6cdf8989755f476005fff" + integrity sha512-vwG8o2Uk6biLDlOZnqXemsO4dS2HvrprUdxyouwu6hlzLFskg8nL122butn19JqXJKgcVLuSSLzT+xwqBWy2Rg== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/middleware-flexible-checksums@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.428.0.tgz#e04f64b6cbd0696a3765055341e0dd80d3822e14" - integrity sha512-O54XmBSvi9A6ZBRVSYrEvoGH1BjtR1TT8042gOdJgouI0OVWtjqHT2ZPVTbQ/rKW5QeLXszVloXFW6eqOwrVTg== +"@aws-sdk/middleware-flexible-checksums@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.451.0.tgz#3617c35bceafcebd77faef5f47a3cfedc20d713c" + integrity sha512-eOkpcC2zgAvqs1w7Yp5nsk9LBIj6qLU5kaZuZEBOiFbNKIrTnPo6dQuhgvDcKHD6Y5W/cUjSBiFMs/ROb5aoug== dependencies: "@aws-crypto/crc32" "3.0.0" "@aws-crypto/crc32c" "3.0.0" - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" "@smithy/is-array-buffer" "^2.0.0" - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" - "@smithy/util-utf8" "^2.0.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@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== +"@aws-sdk/middleware-host-header@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.451.0.tgz#016fcd2b0ec58f26ce62c7ff792174bdf580972b" + integrity sha512-j8a5jAfhWmsK99i2k8oR8zzQgXrsJtgrLxc3js6U+525mcZytoiDndkWTmD5fjJ1byU1U2E5TaPq+QJeDip05Q== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/middleware-location-constraint@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.428.0.tgz#a3e46a4d853fb256d6188eae3ed73c276a1bc36d" - integrity sha512-2YvAhkdzMITTc2fVIH7FS5Hqa7AuoHBg92W0CzPOiKBkC0D6m5hw8o5Z5RnH/M9ki2eB4dn+7uB6p7Lgs+VFdw== +"@aws-sdk/middleware-location-constraint@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.451.0.tgz#eb763e777b008e7f9fef3eda8dbfce27ed54cdaa" + integrity sha512-R4U2G7mybP0BMiQBJWTcB47g49F4PSXTiCsvMDp5WOEhpWvGQuO1ZIhTxCl5s5lgTSne063Os8W6KSdK2yG2TQ== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/middleware-logger@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.428.0.tgz#215009964e8997bee9e6a38461e5d6247d4265d0" - integrity sha512-1P0V0quL9u2amdNOn6yYT7/ToQUmkLJqCKHPxsRyDB829vBThWndvvH5MkoItj/VgE1zWqMtrzN3xtzD7zx6Qg== +"@aws-sdk/middleware-logger@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.451.0.tgz#9ef8ac916199f92ea1bb6c153279727ffa2b0b36" + integrity sha512-0kHrYEyVeB2QBfP6TfbI240aRtatLZtcErJbhpiNUb+CQPgEL3crIjgVE8yYiJumZ7f0jyjo8HLPkwD1/2APaw== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/middleware-recursion-detection@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.428.0.tgz#f9491306d0613459cc4fcd7b6d381329a6235148" - integrity sha512-xC0OMduCByyRdiQz324RXy4kunnCG4LUJCfvdoegM33Elp9ex0D3fcfO1mUgV8qiLwSennIsSRVXHuhNxE2HZA== +"@aws-sdk/middleware-recursion-detection@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.451.0.tgz#333a12d4792788bfcc3cab1028868cf37fb17e76" + integrity sha512-J6jL6gJ7orjHGM70KDRcCP7so/J2SnkN4vZ9YRLTeeZY6zvBuHDjX8GCIgSqPn/nXFXckZO8XSnA7u6+3TAT0w== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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== +"@aws-sdk/middleware-sdk-s3@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.451.0.tgz#2c9b47216b46fcb46e6a505463059eff89912cec" + integrity sha512-XF4Cw8HrYUwGLKOqKtWs6ss1WXoxvQUcgGLACGSqn9a0p51446NiS5671x7qJUsfBuygdKlIKcOc8pPr9a+5Ow== dependencies: - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" "@aws-sdk/util-arn-parser" "3.310.0" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/middleware-sdk-sqs@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.428.0.tgz#313f52b152e89f19dc5c9d897f0a70f2b9914c58" - integrity sha512-pYaBV9H4NGbVB5cqVOc7GoBpo/4BpTwMDpNzWWThENFzlxndzMLHLmQlSfPQoRRUIbLL39L3YeqfrSFwwzVspQ== +"@aws-sdk/middleware-sdk-sqs@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sqs/-/middleware-sdk-sqs-3.451.0.tgz#0ab86d64ad628babfb6fed2def999681c0eb3e9f" + integrity sha512-GXpFSc9Ji4IAT/OaTkmnDrxzZrrAsJctUAC9vihpgGDof79A1Oz4R+r2uBMTKGxCIFkqyYW5Se7y2ijjTNa3ZA== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" "@smithy/util-hex-encoding" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@aws-sdk/middleware-sdk-sts@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.428.0.tgz#c4f5e6496d2fe47908de5f5549c67042398516f7" - integrity sha512-Uutl2niYXTnNP8v84v6umWDHD5no7d5/OqkZE1DsmeKR/dje90J5unJWf7MOsqvYm0JGDEWF4lk9xGVyqsw+Aw== +"@aws-sdk/middleware-sdk-sts@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.451.0.tgz#0c70b57523386fe12357b4471cd20b681a27f9aa" + integrity sha512-UJ6UfVUEgp0KIztxpAeelPXI5MLj9wUtUCqYeIMP7C1ZhoEMNm3G39VLkGN43dNhBf1LqjsV9jkKMZbVfYXuwg== dependencies: - "@aws-sdk/middleware-signing" "3.428.0" - "@aws-sdk/types" "3.428.0" - "@smithy/types" "^2.3.5" + "@aws-sdk/middleware-signing" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/middleware-signing@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.428.0.tgz#ce9f21963bac8c8bb42d84dd2901628aa661b844" - integrity sha512-oMSerTPwtsQAR7fIU/G0b0BA30wF+MC4gZSrJjbypF8MK8nPC2yMfKLR8+QavGOGEW7rUMQ0uklThMTTwQEXNQ== +"@aws-sdk/middleware-signing@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.451.0.tgz#ed7f5665dd048228e00f8e7e5925db32901a7886" + integrity sha512-s5ZlcIoLNg1Huj4Qp06iKniE8nJt/Pj1B/fjhWc6cCPCM7XJYUCejCnRh6C5ZJoBEYodjuwZBejPc1Wh3j+znA== dependencies: - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" "@smithy/property-provider" "^2.0.0" - "@smithy/protocol-http" "^3.0.7" + "@smithy/protocol-http" "^3.0.9" "@smithy/signature-v4" "^2.0.0" - "@smithy/types" "^2.3.5" - "@smithy/util-middleware" "^2.0.4" + "@smithy/types" "^2.5.0" + "@smithy/util-middleware" "^2.0.6" tslib "^2.5.0" -"@aws-sdk/middleware-ssec@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.428.0.tgz#9a0c631401c5c4bf3acaeedd7fed6f808b5f5fd5" - integrity sha512-QPKisAErRHFoopmdFhgOmjZPcUM6rvWCtnoEY4Sw9F0aIyK6yCTn+nB5j+3FAPvUvblE22srM6aow8TcGx1gjA== +"@aws-sdk/middleware-ssec@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.451.0.tgz#056e4c8afc54651481d81d6c54fc0599c70f5c67" + integrity sha512-hDkeBUiRsvuDbvsPha0/uJHE680WDzjAOoE6ZnLBoWsw7ry+Bw1ULMj0sCmpBVrQ7Gpivi/6zbezhClVmt3ITw== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/middleware-user-agent@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.428.0.tgz#85ac71da101a10adcb1ee0ecc4c5a25a080d2e5c" - integrity sha512-+GAhObeHRick2D5jr3YkPckjcggt5v6uUVtEUQW2AdD65cE5PjIvmksv6FuM/mME/9nNA+wufQnHbLI8teLeaw== +"@aws-sdk/middleware-user-agent@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.451.0.tgz#33d168e8411be4561eeef69e16c31e41b6f9a0cf" + integrity sha512-8NM/0JiKLNvT9wtAQVl1DFW0cEO7OvZyLSUBLNLTHqyvOZxKaZ8YFk7d8PL6l76LeUKRxq4NMxfZQlUIRe0eSA== dependencies: - "@aws-sdk/types" "3.428.0" - "@aws-sdk/util-endpoints" "3.428.0" - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@aws-sdk/rds-signer@^3.315.0": - 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== + version "3.454.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/rds-signer/-/rds-signer-3.454.0.tgz#6aad8be212846a32293ef4dc278acbeefb4f3ecb" + integrity sha512-nZ8W7ccdk029v62LiNfSOQ5FNhJ+pm9b7YxLle34lX/frrZNXJ2XtgcnTMc8zR3/nZAkDZs3vFDuRqSQxytXGg== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.0" - "@aws-sdk/credential-providers" "3.431.0" - "@aws-sdk/util-format-url" "3.428.0" - "@smithy/config-resolver" "^2.0.15" - "@smithy/hash-node" "^2.0.11" - "@smithy/invalid-dependency" "^2.0.11" - "@smithy/node-config-provider" "^2.1.2" - "@smithy/protocol-http" "^3.0.7" + "@aws-sdk/credential-providers" "3.454.0" + "@aws-sdk/util-format-url" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/protocol-http" "^3.0.9" "@smithy/signature-v4" "^2.0.0" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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== +"@aws-sdk/region-config-resolver@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.451.0.tgz#f4de34ebe435832dd6bcdc0a7b9fae14a42fc6de" + integrity sha512-3iMf4OwzrFb4tAAmoROXaiORUk2FvSejnHIw/XHvf/jjR4EqGGF95NZP/n/MeFZMizJWVssrwS412GmoEyoqhg== dependencies: - "@smithy/node-config-provider" "^2.1.2" - "@smithy/types" "^2.3.5" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/types" "^2.5.0" "@smithy/util-config-provider" "^2.0.0" - "@smithy/util-middleware" "^2.0.4" + "@smithy/util-middleware" "^2.0.6" tslib "^2.5.0" "@aws-sdk/s3-request-presigner@^3.312.0": - 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.2" - "@smithy/protocol-http" "^3.0.7" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" + version "3.456.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.456.0.tgz#1802178521493a65e8e785b8f22e9c114b2c7cc9" + integrity sha512-f7xATU5D4Gn5CzdS1jWUv5LUoO8LInP1zLIIRX2jmwamIfIOBdix8jvEr6NQLGg2Bp7/ygNb9dbgQ6y0vmlWIA== + dependencies: + "@aws-sdk/signature-v4-multi-region" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-format-url" "3.451.0" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@aws-sdk/signature-v4-multi-region@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.428.0.tgz#30de84c6391f140e446e1bc1b482270863b098df" - integrity sha512-ImuontXK1vEHtxK+qiPVfLTk/+bKSwYqrVkE2/o5rnsqD78/wySzTn5RnkA73Nb+UL4qSd0dkOcuubEee2aUpQ== +"@aws-sdk/signature-v4-multi-region@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.451.0.tgz#d8ec1b653037e3d979e6bb32df05a709ff32938b" + integrity sha512-qQKY7/txeNUTLyRL3WxUWEwaZ5sf76EIZgu9kLaR96cAYSxwQi/qQB3ijbfD6u7sJIA8aROMxeYK0VmRsQg0CA== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/protocol-http" "^3.0.7" + "@aws-sdk/types" "3.451.0" + "@smithy/protocol-http" "^3.0.9" "@smithy/signature-v4" "^2.0.0" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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== +"@aws-sdk/token-providers@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.451.0.tgz#fb80e2fa39bb277fb77040a59c88312a115c35bd" + integrity sha512-ij1L5iUbn6CwxVOT1PG4NFjsrsKN9c4N1YEM0lkl6DwmaNOscjLKGSNyj9M118vSWsOs1ZDbTwtj++h0O/BWrQ== dependencies: "@aws-crypto/sha256-browser" "3.0.0" "@aws-crypto/sha256-js" "3.0.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.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.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.2" - "@smithy/node-http-handler" "^2.1.7" + "@aws-sdk/middleware-host-header" "3.451.0" + "@aws-sdk/middleware-logger" "3.451.0" + "@aws-sdk/middleware-recursion-detection" "3.451.0" + "@aws-sdk/middleware-user-agent" "3.451.0" + "@aws-sdk/region-config-resolver" "3.451.0" + "@aws-sdk/types" "3.451.0" + "@aws-sdk/util-endpoints" "3.451.0" + "@aws-sdk/util-user-agent-browser" "3.451.0" + "@aws-sdk/util-user-agent-node" "3.451.0" + "@smithy/config-resolver" "^2.0.18" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/hash-node" "^2.0.15" + "@smithy/invalid-dependency" "^2.0.13" + "@smithy/middleware-content-length" "^2.0.15" + "@smithy/middleware-endpoint" "^2.2.0" + "@smithy/middleware-retry" "^2.0.20" + "@smithy/middleware-serde" "^2.0.13" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/node-http-handler" "^2.1.9" "@smithy/property-provider" "^2.0.0" - "@smithy/protocol-http" "^3.0.7" + "@smithy/protocol-http" "^3.0.9" "@smithy/shared-ini-file-loader" "^2.0.6" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" - "@smithy/util-base64" "^2.0.0" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-base64" "^2.0.1" "@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.20" - "@smithy/util-retry" "^2.0.4" - "@smithy/util-utf8" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.19" + "@smithy/util-defaults-mode-node" "^2.0.25" + "@smithy/util-endpoints" "^1.0.4" + "@smithy/util-retry" "^2.0.6" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@aws-sdk/types@3.428.0", "@aws-sdk/types@^3.222.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.428.0.tgz#fcb62a5fc38c4e579dc2b251194483aaad393df0" - integrity sha512-4T0Ps2spjg3qbWE6ZK13Vd3FnzpfliaiotqjxUK5YhjDrKXeT36HJp46JhDupElQuHtTkpdiJOSYk2lvY2H4IA== +"@aws-sdk/types@3.451.0", "@aws-sdk/types@^3.222.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.451.0.tgz#37ab4b25074c6a36152eb36abb7399b3768c2e7b" + integrity sha512-rhK+qeYwCIs+laJfWCcrYEjay2FR/9VABZJ2NRM89jV/fKqGVQR52E5DQqrI+oEIL5JHMhhnr4N4fyECMS35lw== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@aws-sdk/util-arn-parser@3.310.0": @@ -874,22 +897,23 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-endpoints@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.428.0.tgz#99e6b9ad4147a862fcabcdccf8cbab6b4cf815ac" - integrity sha512-ToKMhYlUWJ0YrbggpJLZeyZZNDXtQ4NITxqo/oeGltTT9KG4o/LqVY59EveV0f8P32ObDyj9Vh1mnjxeo3DxGw== +"@aws-sdk/util-endpoints@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.451.0.tgz#8719977c3535c6fec719a2854ffe037e02412ddb" + integrity sha512-giqLGBTnRIcKkDqwU7+GQhKbtJ5Ku35cjGQIfMyOga6pwTBUbaK0xW1Sdd8sBQ1GhApscnChzI9o/R9x0368vw== dependencies: - "@aws-sdk/types" "3.428.0" + "@aws-sdk/types" "3.451.0" + "@smithy/util-endpoints" "^1.0.4" tslib "^2.5.0" -"@aws-sdk/util-format-url@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-3.428.0.tgz#0bef8ba279d318fee1b85c88689ec9fb52de10b7" - integrity sha512-Jx3VwsGXaIGtFNRVg9IqGWMm7wTDsdTRLn29Tn2a6N38TaqrRMpC3T0YK3YrWKjNYhClo5tUIJLi5QGk2d2vBg== +"@aws-sdk/util-format-url@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-3.451.0.tgz#23cc697f02f2160cad327024e512bd78fbfa0dd8" + integrity sha512-gmcqSFTIISU9iN6rSbc8HVqB9ACluPbo4mS0ztkk9DaDz5zK/YxoKBJSfqkZFidMzxYiXeWruDCxD8ZgYRn6ug== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/querystring-builder" "^2.0.11" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/querystring-builder" "^2.0.13" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@aws-sdk/util-locate-window@^3.0.0": @@ -899,24 +923,24 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-user-agent-browser@3.428.0": - version "3.428.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.428.0.tgz#3dacafe5088e55d3bc70371886030712eeb6a0fa" - integrity sha512-qlc2UoGsmCpuh1ErY3VayZuAGl74TWWcLmhhQMkeByFSb6KooBlwOmDpDzJRtgwJoe0KXnyHBO6lzl9iczcozg== +"@aws-sdk/util-user-agent-browser@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.451.0.tgz#0b511703c3304a5c2fdaa864589246c93ad63dce" + integrity sha512-Ws5mG3J0TQifH7OTcMrCTexo7HeSAc3cBgjfhS/ofzPUzVCtsyg0G7I6T7wl7vJJETix2Kst2cpOsxygPgPD9w== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/types" "^2.5.0" bowser "^2.11.0" tslib "^2.5.0" -"@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== +"@aws-sdk/util-user-agent-node@3.451.0": + version "3.451.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.451.0.tgz#f2af3f0d3f0389a14a7dbbc835dc94c705c0a39a" + integrity sha512-TBzm6P+ql4mkGFAjPlO1CI+w3yUT+NulaiALjl/jNX/nnUp6HsJsVxJf4nVFQTG5KRV0iqMypcs7I3KIhH+LmA== dependencies: - "@aws-sdk/types" "3.428.0" - "@smithy/node-config-provider" "^2.1.2" - "@smithy/types" "^2.3.5" + "@aws-sdk/types" "3.451.0" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@aws-sdk/util-utf8-browser@^3.0.0": @@ -958,33 +982,33 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== -"@babel/core@^7.1.6", "@babel/core@^7.10.3", "@babel/core@^7.12.16", "@babel/core@^7.18.13", "@babel/core@^7.7.5": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" - integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== +"@babel/core@^7.1.6", "@babel/core@^7.10.3", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.18.13", "@babel/core@^7.7.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.3.tgz#5ec09c8803b91f51cc887dedc2654a35852849c9" + integrity sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@babel/generator" "^7.23.3" "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.0" + "@babel/helper-module-transforms" "^7.23.3" "@babel/helpers" "^7.23.2" - "@babel/parser" "^7.23.0" + "@babel/parser" "^7.23.3" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.2" - "@babel/types" "^7.23.0" + "@babel/traverse" "^7.23.3" + "@babel/types" "^7.23.3" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== +"@babel/generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.3.tgz#86e6e83d95903fbe7613f448613b8b319f330a8e" + integrity sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg== dependencies: - "@babel/types" "^7.23.0" + "@babel/types" "^7.23.3" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -1116,10 +1140,10 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" - integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0", "@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -1262,10 +1286,10 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.6", "@babel/parser@^7.16.4", "@babel/parser@^7.18.4", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.7.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.1.6", "@babel/parser@^7.14.7", "@babel/parser@^7.16.4", "@babel/parser@^7.18.4", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3", "@babel/parser@^7.7.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.3.tgz#0ce0be31a4ca4f1884b5786057cadcb6c3be58f9" + integrity sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -1983,26 +2007,26 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.23.2", "@babel/traverse@^7.7.0": - version "7.23.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" - integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== +"@babel/traverse@^7.0.0", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.23.2", "@babel/traverse@^7.23.3", "@babel/traverse@^7.7.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.3.tgz#26ee5f252e725aa7aca3474aa5b324eaf7908b5b" + integrity sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ== dependencies: "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" + "@babel/generator" "^7.23.3" "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" + "@babel/parser" "^7.23.3" + "@babel/types" "^7.23.3" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.12", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== +"@babel/types@^7.0.0", "@babel/types@^7.12.12", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.3.tgz#d5ea892c07f2ec371ac704420f4dcdb07b5f9598" + integrity sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw== dependencies: "@babel/helper-string-parser" "^7.22.5" "@babel/helper-validator-identifier" "^7.22.20" @@ -2044,16 +2068,16 @@ resolve-global "1.0.0" yargs "^15.1.0" -"@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== +"@commitlint/cli@^17.0.0", "@commitlint/cli@^17.4.4", "@commitlint/cli@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.8.1.tgz#10492114a022c91dcfb1d84dac773abb3db76d33" + integrity sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg== dependencies: - "@commitlint/format" "^17.4.4" - "@commitlint/lint" "^17.8.0" - "@commitlint/load" "^17.8.0" - "@commitlint/read" "^17.5.1" - "@commitlint/types" "^17.4.4" + "@commitlint/format" "^17.8.1" + "@commitlint/lint" "^17.8.1" + "@commitlint/load" "^17.8.1" + "@commitlint/read" "^17.8.1" + "@commitlint/types" "^17.8.1" execa "^5.0.0" lodash.isfunction "^3.0.9" resolve-from "5.0.0" @@ -2074,12 +2098,12 @@ dependencies: conventional-changelog-conventionalcommits "^5.0.0" -"@commitlint/config-validator@^17.6.7": - version "17.6.7" - resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.6.7.tgz#c664d42a1ecf5040a3bb0843845150f55734df41" - integrity sha512-vJSncmnzwMvpr3lIcm0I8YVVDJTzyjy7NZAeXbTXy+MPUdAr9pKyyg7Tx/ebOQ9kqzE6O9WT6jg2164br5UdsQ== +"@commitlint/config-validator@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-17.8.1.tgz#5cc93b6b49d5524c9cc345a60e5bf74bcca2b7f9" + integrity sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA== dependencies: - "@commitlint/types" "^17.4.4" + "@commitlint/types" "^17.8.1" ajv "^8.11.0" "@commitlint/ensure@^11.0.0": @@ -2090,12 +2114,12 @@ "@commitlint/types" "^11.0.0" lodash "^4.17.19" -"@commitlint/ensure@^17.6.7": - version "17.6.7" - resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.6.7.tgz#77a77a0c05e6a1c34589f59e82e6cb937101fc4b" - integrity sha512-mfDJOd1/O/eIb/h4qwXzUxkmskXDL9vNPnZ4AKYKiZALz4vHzwMxBSYtyL2mUIDeU9DRSpEUins8SeKtFkYHSw== +"@commitlint/ensure@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-17.8.1.tgz#59183557844999dbb6aab6d03629a3d104d01a8d" + integrity sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow== dependencies: - "@commitlint/types" "^17.4.4" + "@commitlint/types" "^17.8.1" lodash.camelcase "^4.3.0" lodash.kebabcase "^4.1.1" lodash.snakecase "^4.1.1" @@ -2107,10 +2131,10 @@ resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-11.0.0.tgz#3ed60ab7a33019e58d90e2d891b75d7df77b4b4d" integrity sha512-g01p1g4BmYlZ2+tdotCavrMunnPFPhTzG1ZiLKTCYrooHRbmvqo42ZZn4QMStUEIcn+jfLb6BRZX3JzIwA1ezQ== -"@commitlint/execute-rule@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz#4518e77958893d0a5835babe65bf87e2638f6939" - integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== +"@commitlint/execute-rule@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-17.8.1.tgz#504ed69eb61044eeb84fdfd10cc18f0dab14f34c" + integrity sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ== "@commitlint/format@^11.0.0": version "11.0.0" @@ -2120,12 +2144,12 @@ "@commitlint/types" "^11.0.0" chalk "^4.0.0" -"@commitlint/format@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.4.4.tgz#0f6e1b4d7a301c7b1dfd4b6334edd97fc050b9f5" - integrity sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ== +"@commitlint/format@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-17.8.1.tgz#6108bb6b4408e711006680649927e1b559bdc5f8" + integrity sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg== dependencies: - "@commitlint/types" "^17.4.4" + "@commitlint/types" "^17.8.1" chalk "^4.1.0" "@commitlint/is-ignored@^11.0.0": @@ -2136,12 +2160,12 @@ "@commitlint/types" "^11.0.0" semver "7.3.2" -"@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== +"@commitlint/is-ignored@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-17.8.1.tgz#cf25bcd8409c79684b63f8bdeb35df48edda244e" + integrity sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g== dependencies: - "@commitlint/types" "^17.4.4" + "@commitlint/types" "^17.8.1" semver "7.5.4" "@commitlint/lint@^11.0.0": @@ -2154,15 +2178,15 @@ "@commitlint/rules" "^11.0.0" "@commitlint/types" "^11.0.0" -"@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== +"@commitlint/lint@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-17.8.1.tgz#bfc21215f6b18d41d4d43e2aa3cb79a5d7726cd8" + integrity sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA== dependencies: - "@commitlint/is-ignored" "^17.8.0" - "@commitlint/parse" "^17.7.0" - "@commitlint/rules" "^17.7.0" - "@commitlint/types" "^17.4.4" + "@commitlint/is-ignored" "^17.8.1" + "@commitlint/parse" "^17.8.1" + "@commitlint/rules" "^17.8.1" + "@commitlint/types" "^17.8.1" "@commitlint/load@^11.0.0": version "11.0.0" @@ -2177,15 +2201,15 @@ lodash "^4.17.19" resolve-from "^5.0.0" -"@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== +"@commitlint/load@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-17.8.1.tgz#fa061e7bfa53281eb03ca8517ca26d66a189030c" + integrity sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA== dependencies: - "@commitlint/config-validator" "^17.6.7" - "@commitlint/execute-rule" "^17.4.0" - "@commitlint/resolve-extends" "^17.6.7" - "@commitlint/types" "^17.4.4" + "@commitlint/config-validator" "^17.8.1" + "@commitlint/execute-rule" "^17.8.1" + "@commitlint/resolve-extends" "^17.8.1" + "@commitlint/types" "^17.8.1" "@types/node" "20.5.1" chalk "^4.1.0" cosmiconfig "^8.0.0" @@ -2195,17 +2219,17 @@ lodash.uniq "^4.5.0" resolve-from "^5.0.0" ts-node "^10.8.1" - typescript "^4.6.4 || ^5.0.0" + typescript "^4.6.4 || ^5.2.2" "@commitlint/message@^11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-11.0.0.tgz#83554c3cbbc884fd07b473593bc3e94bcaa3ee05" integrity sha512-01ObK/18JL7PEIE3dBRtoMmU6S3ecPYDTQWWhcO+ErA3Ai0KDYqV5VWWEijdcVafNpdeUNrEMigRkxXHQLbyJA== -"@commitlint/message@^17.4.2": - version "17.4.2" - resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.4.2.tgz#f4753a79701ad6db6db21f69076e34de6580e22c" - integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== +"@commitlint/message@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-17.8.1.tgz#a5cd226c419be20ee03c3d237db6ac37b95958b3" + integrity sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA== "@commitlint/parse@^11.0.0": version "11.0.0" @@ -2215,12 +2239,12 @@ conventional-changelog-angular "^5.0.0" conventional-commits-parser "^3.0.0" -"@commitlint/parse@^17.7.0": - version "17.7.0" - resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.7.0.tgz#aacb2d189e50ab8454154b1df150aaf20478ae47" - integrity sha512-dIvFNUMCUHqq5Abv80mIEjLVfw8QNuA4DS7OWip4pcK/3h5wggmjVnlwGCDvDChkw2TjK1K6O+tAEV78oxjxag== +"@commitlint/parse@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-17.8.1.tgz#6e00b8f50ebd63562d25dcf4230da2c9f984e626" + integrity sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw== dependencies: - "@commitlint/types" "^17.4.4" + "@commitlint/types" "^17.8.1" conventional-changelog-angular "^6.0.0" conventional-commits-parser "^4.0.0" @@ -2233,13 +2257,13 @@ fs-extra "^9.0.0" git-raw-commits "^2.0.0" -"@commitlint/read@^17.5.1": - version "17.5.1" - resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.5.1.tgz#fec903b766e2c41e3cefa80630040fcaba4f786c" - integrity sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg== +"@commitlint/read@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-17.8.1.tgz#b3f28777607c756078356cc133368b0e8c08092f" + integrity sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w== dependencies: - "@commitlint/top-level" "^17.4.0" - "@commitlint/types" "^17.4.4" + "@commitlint/top-level" "^17.8.1" + "@commitlint/types" "^17.8.1" fs-extra "^11.0.0" git-raw-commits "^2.0.11" minimist "^1.2.6" @@ -2254,13 +2278,13 @@ resolve-from "^5.0.0" resolve-global "^1.0.0" -"@commitlint/resolve-extends@^17.6.7": - version "17.6.7" - resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.6.7.tgz#9c53a4601c96ab2dd20b90fb35c988639307735d" - integrity sha512-PfeoAwLHtbOaC9bGn/FADN156CqkFz6ZKiVDMjuC2N5N0740Ke56rKU7Wxdwya8R8xzLK9vZzHgNbuGhaOVKIg== +"@commitlint/resolve-extends@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-17.8.1.tgz#9af01432bf2fd9ce3dd5a00d266cce14e4c977e7" + integrity sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q== dependencies: - "@commitlint/config-validator" "^17.6.7" - "@commitlint/types" "^17.4.4" + "@commitlint/config-validator" "^17.8.1" + "@commitlint/types" "^17.8.1" import-fresh "^3.0.0" lodash.mergewith "^4.6.2" resolve-from "^5.0.0" @@ -2276,15 +2300,15 @@ "@commitlint/to-lines" "^11.0.0" "@commitlint/types" "^11.0.0" -"@commitlint/rules@^17.7.0": - version "17.7.0" - resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.7.0.tgz#b97a4933c5cba11a659a19ee467f6f000f31533e" - integrity sha512-J3qTh0+ilUE5folSaoK91ByOb8XeQjiGcdIdiB/8UT1/Rd1itKo0ju/eQVGyFzgTMYt8HrDJnGTmNWwcMR1rmA== +"@commitlint/rules@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-17.8.1.tgz#da49cab1b7ebaf90d108de9f58f684dc4ccb65a0" + integrity sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA== dependencies: - "@commitlint/ensure" "^17.6.7" - "@commitlint/message" "^17.4.2" - "@commitlint/to-lines" "^17.4.0" - "@commitlint/types" "^17.4.4" + "@commitlint/ensure" "^17.8.1" + "@commitlint/message" "^17.8.1" + "@commitlint/to-lines" "^17.8.1" + "@commitlint/types" "^17.8.1" execa "^5.0.0" "@commitlint/to-lines@^11.0.0": @@ -2292,10 +2316,10 @@ resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-11.0.0.tgz#86dea151c10eea41e39ea96fa4de07839258a7fe" integrity sha512-TIDTB0Y23jlCNubDROUVokbJk6860idYB5cZkLWcRS9tlb6YSoeLn1NLafPlrhhkkkZzTYnlKYzCVrBNVes1iw== -"@commitlint/to-lines@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.4.0.tgz#9bd02e911e7d4eab3fb4a50376c4c6d331e10d8d" - integrity sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg== +"@commitlint/to-lines@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-17.8.1.tgz#a5c4a7cf7dff3dbdd69289fc0eb19b66f3cfe017" + integrity sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA== "@commitlint/top-level@^11.0.0": version "11.0.0" @@ -2304,10 +2328,10 @@ dependencies: find-up "^5.0.0" -"@commitlint/top-level@^17.4.0": - version "17.4.0" - resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.4.0.tgz#540cac8290044cf846fbdd99f5cc51e8ac5f27d6" - integrity sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g== +"@commitlint/top-level@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-17.8.1.tgz#206d37d6782f33c9572e44fbe3758392fdeea7bc" + integrity sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA== dependencies: find-up "^5.0.0" @@ -2316,10 +2340,10 @@ resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-11.0.0.tgz#719cf05fcc1abb6533610a2e0f5dd1e61eac14fe" integrity sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ== -"@commitlint/types@^17.4.4": - version "17.4.4" - resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.4.4.tgz#1416df936e9aad0d6a7bbc979ecc31e55dade662" - integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== +"@commitlint/types@^17.8.1": + version "17.8.1" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-17.8.1.tgz#883a0ad35c5206d5fef7bc6ce1bbe648118af44e" + integrity sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ== dependencies: chalk "^4.1.0" @@ -2362,25 +2386,25 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@datadog/native-appsec@^4.0.0": +"@datadog/native-appsec@4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@datadog/native-appsec/-/native-appsec-4.0.0.tgz#ee08138b987dec557eac3650a43a972dac85b6a6" integrity sha512-myTguXJ3VQHS2E1ylNsSF1avNpDmq5t+K4Q47wdzeakGc3sDIDDyEbvuFTujl9c9wBIkup94O1mZj5DR37ajzA== dependencies: node-gyp-build "^3.9.0" -"@datadog/native-iast-rewriter@2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@datadog/native-iast-rewriter/-/native-iast-rewriter-2.1.3.tgz#1964cd856655b9c4d0e144048af59a2e90910901" - integrity sha512-4oxMFz5ZEpOK3pRc9KjquMgkRP6D+oPQVIzOk4dgG8fl2iepHtCa3gna/fQBfdWIiX5a2j65O3R1zNp2ckk8JA== +"@datadog/native-iast-rewriter@2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@datadog/native-iast-rewriter/-/native-iast-rewriter-2.2.1.tgz#3c74c5a8caa0b876e091e9c5a95256add0d73e1c" + integrity sha512-DyZlE8gNa5AoOFNKGRJU4RYF/Y/tJzv4bIAMuVBbEnMA0xhiIYqpYQG8T3OKkALl3VSEeBMjYwuOR2fCrJ6gzA== dependencies: lru-cache "^7.14.0" node-gyp-build "^4.5.0" -"@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== +"@datadog/native-iast-taint-tracking@1.6.4": + version "1.6.4" + resolved "https://registry.yarnpkg.com/@datadog/native-iast-taint-tracking/-/native-iast-taint-tracking-1.6.4.tgz#16c21ad7c36a53420c0d3c5a3720731809cc7e98" + integrity sha512-Owxk7hQ4Dxwv4zJAoMjRga0IvE6lhvxnNc8pJCHsemCWBXchjr/9bqg05Zy5JnMbKUWn4XuZeJD6RFZpRa8bfw== dependencies: node-gyp-build "^3.9.0" @@ -2392,10 +2416,10 @@ node-addon-api "^6.1.0" node-gyp-build "^3.9.0" -"@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== +"@datadog/pprof@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@datadog/pprof/-/pprof-4.0.1.tgz#f8629ecb62646d90ed49b6252dd0583d8d5001d3" + integrity sha512-TavqyiyQZOaUM9eQB07r8+K/T1CqKyOdsUGxpN79+BF+eOQBpTj/Cte6KdlhcUSKL3h5hSjC+vlgA7uW2qtVhA== dependencies: delay "^5.0.0" node-gyp-build "<4.0" @@ -2928,20 +2952,20 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"@smithy/abort-controller@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.0.11.tgz#e1d96a2ecbf103d0b075a7456ce3afeeb9f76a87" - integrity sha512-MSzE1qR2JNyb7ot3blIOT3O3H0Jn06iNDEgHRaqZUwBgx5EG+VIx24Y21tlKofzYryIOcWpIohLrIIyocD6LMA== +"@smithy/abort-controller@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.0.13.tgz#d050a969bf1a478e548a323ea0f1b83532cbc136" + integrity sha512-eeOPD+GF9BzF/Mjy3PICLePx4l0f3rG/nQegQHRLTloN5p1lSJJNZsyn+FzDnW8P2AduragZqJdtKNCxXozB1Q== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/chunked-blob-reader-native@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz#f6d0eeeb5481026b68b054f45540d924c194d558" - integrity sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ== +"@smithy/chunked-blob-reader-native@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.1.tgz#0599eaed8c2cd15c7ab43a1838cef1258ff27133" + integrity sha512-N2oCZRglhWKm7iMBu7S6wDzXirjAofi7tAd26cxmgibRYOBS4D3hGfmkwCpHdASZzwZDD8rluh0Rcqw1JeZDRw== dependencies: - "@smithy/util-base64" "^2.0.0" + "@smithy/util-base64" "^2.0.1" tslib "^2.5.0" "@smithy/chunked-blob-reader@^2.0.0": @@ -2951,15 +2975,15 @@ dependencies: tslib "^2.5.0" -"@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== +"@smithy/config-resolver@^2.0.18": + version "2.0.18" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.18.tgz#5692b491a423bfb821d12e6eca0eb5f0ca63e789" + integrity sha512-761sJSgNbvsqcsKW6/WZbrZr4H+0Vp/QKKqwyrxCPwD8BsiPEXNHyYnqNgaeK9xRWYswjon0Uxbpe3DWQo0j/g== dependencies: - "@smithy/node-config-provider" "^2.1.2" - "@smithy/types" "^2.3.5" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/types" "^2.5.0" "@smithy/util-config-provider" "^2.0.0" - "@smithy/util-middleware" "^2.0.4" + "@smithy/util-middleware" "^2.0.6" tslib "^2.5.0" "@smithy/credential-provider-imds@^2.0.0": @@ -2973,15 +2997,15 @@ "@smithy/url-parser" "^2.0.1" tslib "^2.5.0" -"@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== +"@smithy/credential-provider-imds@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.1.tgz#18607cbfce633ed81a2832889efb660c33a974e9" + integrity sha512-gw5G3FjWC6sNz8zpOJgPpH5HGKrpoVFQpToNAwLwJVyI/LJ2jDJRjSKEsM6XI25aRpYjMSE/Qptxx305gN1vHw== dependencies: - "@smithy/node-config-provider" "^2.1.2" - "@smithy/property-provider" "^2.0.12" - "@smithy/types" "^2.3.5" - "@smithy/url-parser" "^2.0.11" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/property-provider" "^2.0.14" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" tslib "^2.5.0" "@smithy/eventstream-codec@^2.0.1": @@ -2994,97 +3018,97 @@ "@smithy/util-hex-encoding" "^2.0.0" tslib "^2.5.0" -"@smithy/eventstream-codec@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.11.tgz#1ba090ea5dbf956e32d3d0d0986ffb0d0af8c57d" - integrity sha512-BQCTjxhCYRZIfXapa2LmZSaH8QUBGwMZw7XRN83hrdixbLjIcj+o549zjkedFS07Ve2TlvWUI6BTzP+nv7snBA== +"@smithy/eventstream-codec@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.13.tgz#10c57a80508125a64759e79b42ff848bee8498dc" + integrity sha512-CExbelIYp+DxAHG8RIs0l9QL7ElqhG4ym9BNoSpkPa4ptBQfzJdep3LbOSVJIE2VUdBAeObdeL6EDB3Jo85n3g== dependencies: "@aws-crypto/crc32" "3.0.0" - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" "@smithy/util-hex-encoding" "^2.0.0" tslib "^2.5.0" -"@smithy/eventstream-serde-browser@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.11.tgz#eb9e9105d04c5dd0c96d5544857fe4e4d9d113a8" - integrity sha512-p9IK4uvwT6B3pT1VGlODvcVBfPVikjBFHAcKpvvNF+7lAEI+YiC6d0SROPkpjnvCgVBYyGXa3ciqrWnFze6mwQ== +"@smithy/eventstream-serde-browser@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.13.tgz#3d3ddb347320b736c001e0a4d7cf37962a6cefc9" + integrity sha512-OJ/2g/VxkzA+mYZxV102oX3CsiE+igTSmqq/ir3oEVG2kSIdRC00ryttj/lmL14W06ExNi0ysmfLxQkL8XrAZQ== dependencies: - "@smithy/eventstream-serde-universal" "^2.0.11" - "@smithy/types" "^2.3.5" + "@smithy/eventstream-serde-universal" "^2.0.13" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/eventstream-serde-config-resolver@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.11.tgz#f5fda274bc823a5d84a1ab1634ea7f9f4e82d9cb" - integrity sha512-vN32E8yExo0Z8L7kXhlU9KRURrhqOpPdLxQMp3MwfMThrjiqbr1Sk5srUXc1ed2Ygl/l0TEN9vwNG0bQHg6AjQ== +"@smithy/eventstream-serde-config-resolver@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.13.tgz#36cb39cb4a54c26d780fc9f39406a040dab75614" + integrity sha512-2BI1CbnYuEvAYoWSeWJtPNygbIKiWeSLxCmDLnyM6wQV32Of7VptiQlaFXPxXp4zqn/rs3ocZ/T29rxE4s4Gsg== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/eventstream-serde-node@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.11.tgz#920e1b6ba6a216a58f519865b8585df61b675f87" - integrity sha512-Gjqbpg7UmD+YzkpgNShNcDNZcUpBWIkvX2XCGptz5PoxJU/UQbuF9eSc93ZlIb7j4aGjtFfqk23HUMW8Hopg2Q== +"@smithy/eventstream-serde-node@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.13.tgz#733f021b16692916f0514fdf2a98dc723cf29a31" + integrity sha512-7NbFwPafb924elFxCBDvm48jy/DeSrpFbFQN0uN2ThuY5HrEeubikS0t7WMva4Z4EnRoivpbuT0scb9vUIJKoA== dependencies: - "@smithy/eventstream-serde-universal" "^2.0.11" - "@smithy/types" "^2.3.5" + "@smithy/eventstream-serde-universal" "^2.0.13" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/eventstream-serde-universal@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.11.tgz#c86c0d29eae479590826ad61cb28301ec1105ebe" - integrity sha512-F8FsxLTbFN4+Esgpo+nNKcEajrgRZJ+pG9c8+MhLM4Odp5ejLHw2GMCXd81cGsgmfcbnzdDEXazPPVzOwj89MQ== +"@smithy/eventstream-serde-universal@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.13.tgz#2d7bba2acc36e6625891b0f8b3d42fe49c04f64e" + integrity sha512-j0yFd5UfftM+ia9dxLRbheJDCkCZBHpcEzCsPO8BxVOTbdcX/auVJCv6ov/yvpCKsf4Hv3mOqi0Is1YogM2g3Q== dependencies: - "@smithy/eventstream-codec" "^2.0.11" - "@smithy/types" "^2.3.5" + "@smithy/eventstream-codec" "^2.0.13" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/fetch-http-handler@^2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.3.tgz#86445f63dbf09ec331b6199fc2f0f44fec1b1417" - integrity sha512-0G9sePU+0R+8d7cie+OXzNbbkjnD4RfBlVCs46ZEuQAMcxK8OniemYXSSkOc80CCk8Il4DnlYZcUSvsIs2OB2w== +"@smithy/fetch-http-handler@^2.2.6": + version "2.2.6" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.6.tgz#c3390c1c0533d024a5e2b1d1e8e778bcdcb66bf4" + integrity sha512-PStY3XO1Ksjwn3wMKye5U6m6zxXpXrXZYqLy/IeCbh3nM9QB3Jgw/B0PUSLUWKdXg4U8qgEu300e3ZoBvZLsDg== dependencies: - "@smithy/protocol-http" "^3.0.7" - "@smithy/querystring-builder" "^2.0.11" - "@smithy/types" "^2.3.5" - "@smithy/util-base64" "^2.0.0" + "@smithy/protocol-http" "^3.0.9" + "@smithy/querystring-builder" "^2.0.13" + "@smithy/types" "^2.5.0" + "@smithy/util-base64" "^2.0.1" tslib "^2.5.0" -"@smithy/hash-blob-browser@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.11.tgz#6bcd0ffc1f68427dff1d8051c893df92a36f3e7e" - integrity sha512-/6vq/NiH2EN3mWdwcLdjVohP+VCng+ZA1GnlUdx959egsfgIlLWQvCyjnB2ze9Hr6VHV5XEFLLpLQH2dHA6Sgw== +"@smithy/hash-blob-browser@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.14.tgz#ec0650114432d123b62dfde90685a62f3d9252fc" + integrity sha512-yWdghyPJIEqLYsaE7YVgd3YhM7jN4Pv6eJQvTomnMsz5K2qRBlpjUx3T9fKlElp1qdeQ7DNc3sAat4i9CUBO7Q== dependencies: "@smithy/chunked-blob-reader" "^2.0.0" - "@smithy/chunked-blob-reader-native" "^2.0.0" - "@smithy/types" "^2.3.5" + "@smithy/chunked-blob-reader-native" "^2.0.1" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/hash-node@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.0.11.tgz#07d73eefa9ab28e4f03461c6ec0532b85792329d" - integrity sha512-PbleVugN2tbhl1ZoNWVrZ1oTFFas/Hq+s6zGO8B9bv4w/StTriTKA9W+xZJACOj9X7zwfoTLbscM+avCB1KqOQ== +"@smithy/hash-node@^2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.0.15.tgz#fd60ba5dd9a80f14c317bc668813a734f64786fb" + integrity sha512-t/qjEJZu/G46A22PAk1k/IiJZT4ncRkG5GOCNWN9HPPy5rCcSZUbh7gwp7CGKgJJ7ATMMg+0Td7i9o1lQTwOfQ== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" "@smithy/util-buffer-from" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@smithy/hash-stream-node@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-2.0.11.tgz#95c1ef3681d988770acdab863707daf068a851f8" - integrity sha512-Jn2yl+Dn0kvwKvSavvR1/BFVYa2wIkaJKWeTH48kno89gqHAJxMh1hrtBN6SJ7F8VhodNZTiNOlQVqCSfLheNQ== +"@smithy/hash-stream-node@^2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-2.0.15.tgz#6fcc710e1c8b134611e3d2c1be5cb49bc6e7ffcc" + integrity sha512-ZZ6kC/pHt5Dc2goXIIyC8uA7A4GUMSzdCynAabnZ3CSSaV6ctP8mlvVkqjPph0O3XzHlx/80gdLrNqi1GDPUsA== dependencies: - "@smithy/types" "^2.3.5" - "@smithy/util-utf8" "^2.0.0" + "@smithy/types" "^2.5.0" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@smithy/invalid-dependency@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.11.tgz#41811da5da9950f52a0491ea532add2b1895349b" - integrity sha512-zazq99ujxYv/NOf9zh7xXbNgzoVLsqE0wle8P/1zU/XdhPi/0zohTPKWUzIxjGdqb5hkkwfBkNkl5H+LE0mvgw== +"@smithy/invalid-dependency@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.13.tgz#6f4c5d809906bbb069074c5c11028a2631abed8d" + integrity sha512-XsGYhVhvEikX1Yz0kyIoLssJf2Rs6E0U2w2YuKdT4jSra5A/g8V2oLROC1s56NldbgnpesTYB2z55KCHHbKyjw== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@smithy/is-array-buffer@^2.0.0": @@ -3094,86 +3118,86 @@ dependencies: tslib "^2.5.0" -"@smithy/md5-js@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.11.tgz#0235c22eca4b5af72728f20348af5280bef2f275" - integrity sha512-YBIv+e95qeGvQA05ucwstmTeQ/bUzWgU+nO2Ffmif5awu6IzSR0Jfk3XLYh4mdy7f8DCgsn8qA63u7N9Lu0+5A== +"@smithy/md5-js@^2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.15.tgz#6d59e02c868ec8241bb437bfbe4d8aadaa0918a5" + integrity sha512-pAZaokib56XvhU0t/R9vAcr3L3bMhIakhF25X7EMSQ7LAURiLfce/tgON8I3x/dIbnZUyeRi8f2cx2azu6ATew== dependencies: - "@smithy/types" "^2.3.5" - "@smithy/util-utf8" "^2.0.0" + "@smithy/types" "^2.5.0" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" -"@smithy/middleware-content-length@^2.0.13": - version "2.0.13" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.0.13.tgz#eb8195510fac8e2d925e43f270f347d8e2ce038b" - integrity sha512-Md2kxWpaec3bXp1oERFPQPBhOXCkGSAF7uc1E+4rkwjgw3/tqAXRtbjbggu67HJdwaif76As8AV6XxbD1HzqTQ== +"@smithy/middleware-content-length@^2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.0.15.tgz#cd419737202f66eb441a233e9e8c8bc6bbd6a6f0" + integrity sha512-xH4kRBw01gJgWiU+/mNTrnyFXeozpZHw39gLb3JKGsFDVmSrJZ8/tRqu27tU/ki1gKkxr2wApu+dEYjI3QwV1Q== dependencies: - "@smithy/protocol-http" "^3.0.7" - "@smithy/types" "^2.3.5" + "@smithy/protocol-http" "^3.0.9" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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.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" +"@smithy/middleware-endpoint@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.2.0.tgz#b5d065e8459216502adf3d8ccb7a589cfe1ba147" + integrity sha512-tddRmaig5URk2106PVMiNX6mc5BnKIKajHHDxb7K0J5MLdcuQluHMGnjkv18iY9s9O0tF+gAcPd/pDXA5L9DZw== + dependencies: + "@smithy/middleware-serde" "^2.0.13" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/shared-ini-file-loader" "^2.2.4" + "@smithy/types" "^2.5.0" + "@smithy/url-parser" "^2.0.13" + "@smithy/util-middleware" "^2.0.6" tslib "^2.5.0" -"@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.2" - "@smithy/protocol-http" "^3.0.7" - "@smithy/service-error-classification" "^2.0.4" - "@smithy/types" "^2.3.5" - "@smithy/util-middleware" "^2.0.4" - "@smithy/util-retry" "^2.0.4" +"@smithy/middleware-retry@^2.0.20": + version "2.0.20" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.20.tgz#19f18ead244f609acc15481219cb8c944fb4620e" + integrity sha512-X2yrF/SHDk2WDd8LflRNS955rlzQ9daz9UWSp15wW8KtzoTXg3bhHM78HbK1cjr48/FWERSJKh9AvRUUGlIawg== + dependencies: + "@smithy/node-config-provider" "^2.1.5" + "@smithy/protocol-http" "^3.0.9" + "@smithy/service-error-classification" "^2.0.6" + "@smithy/types" "^2.5.0" + "@smithy/util-middleware" "^2.0.6" + "@smithy/util-retry" "^2.0.6" tslib "^2.5.0" uuid "^8.3.2" -"@smithy/middleware-serde@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.11.tgz#89c4433b9b4077e2f71f436cd4f97d613e2cf3bd" - integrity sha512-NuxnjMyf4zQqhwwdh0OTj5RqpnuT6HcH5Xg5GrPijPcKzc2REXVEVK4Yyk8ckj8ez1XSj/bCmJ+oNjmqB02GWA== +"@smithy/middleware-serde@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.13.tgz#1d105ff5ffee5563c453a8546480182912cd169b" + integrity sha512-tBGbeXw+XsE6pPr4UaXOh+UIcXARZeiA8bKJWxk2IjJcD1icVLhBSUQH9myCIZLNNzJIH36SDjUX8Wqk4xJCJg== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/middleware-stack@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.5.tgz#43cd8aa7141b23dfbb64dff9ead8a3983d3acc5c" - integrity sha512-bVQU/rZzBY7CbSxIrDTGZYnBWKtIw+PL/cRc9B7etZk1IKSOe0NvKMJyWllfhfhrTeMF6eleCzOihIQympAvPw== +"@smithy/middleware-stack@^2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.7.tgz#e462bb3b33a9d3a29b80e8a7e13b8ba4726967c9" + integrity sha512-L1KLAAWkXbGx1t2jjCI/mDJ2dDNq+rp4/ifr/HcC6FHngxho5O7A5bQLpKHGlkfATH6fUnOEx0VICEVFA4sUzw== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@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== +"@smithy/node-config-provider@^2.0.1", "@smithy/node-config-provider@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.1.5.tgz#f4be47e87c55791bf07c86c8e41383016753153f" + integrity sha512-3Omb5/h4tOCuKRx4p4pkYTvEYRCYoKk52bOYbKUyz/G/8gERbagsN8jFm4FjQubkrcIqQEghTpQaUw6uk+0edw== dependencies: - "@smithy/property-provider" "^2.0.12" - "@smithy/shared-ini-file-loader" "^2.2.1" - "@smithy/types" "^2.3.5" + "@smithy/property-provider" "^2.0.14" + "@smithy/shared-ini-file-loader" "^2.2.4" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/node-http-handler@^2.1.7": - version "2.1.7" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.1.7.tgz#a920e0e40fd04e2ea399cb4f06092fea0a1b66da" - integrity sha512-PQIKZXlp3awCDn/xNlCSTFE7aYG/5Tx33M05NfQmWYeB5yV1GZZOSz4dXpwiNJYTXb9jPqjl+ueXXkwtEluFFA== +"@smithy/node-http-handler@^2.1.9": + version "2.1.9" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.1.9.tgz#903c353dcd58990ea46e2793a10160004e2e09e4" + integrity sha512-+K0q3SlNcocmo9OZj+fz67gY4lwhOCvIJxVbo/xH+hfWObvaxrMTx7JEzzXcluK0thnnLz++K3Qe7Z/8MDUreA== dependencies: - "@smithy/abort-controller" "^2.0.11" - "@smithy/protocol-http" "^3.0.7" - "@smithy/querystring-builder" "^2.0.11" - "@smithy/types" "^2.3.5" + "@smithy/abort-controller" "^2.0.13" + "@smithy/protocol-http" "^3.0.9" + "@smithy/querystring-builder" "^2.0.13" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.1": @@ -3184,45 +3208,45 @@ "@smithy/types" "^2.0.2" tslib "^2.5.0" -"@smithy/property-provider@^2.0.12": - version "2.0.12" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.12.tgz#09391cae6f336300e88128717ee5fb7cff76c5b4" - integrity sha512-Un/OvvuQ1Kg8WYtoMCicfsFFuHb/TKL3pCA6ZIo/WvNTJTR94RtoRnL7mY4XkkUAoFMyf6KjcQJ76y1FX7S5rw== +"@smithy/property-provider@^2.0.14": + version "2.0.14" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.14.tgz#142e018ee624ae0c966c72886d4fb5d708f086d6" + integrity sha512-k3D2qp9o6imTrLaXRj6GdLYEJr1sXqS99nLhzq8fYmJjSVOeMg/G+1KVAAc7Oxpu71rlZ2f8SSZxcSxkevuR0A== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/protocol-http@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.0.7.tgz#4deec17a27f7cc5d2bea962fcb0cdfbfd311b05c" - integrity sha512-HnZW8y+r66ntYueCDbLqKwWcMNWW8o3eVpSrHNluwtBJ/EUWfQHRKSiu6vZZtc6PGfPQWgVfucoCE/C3QufMAA== +"@smithy/protocol-http@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-3.0.9.tgz#a1d973394b6da093bc8fd71556b589190352310d" + integrity sha512-U1wl+FhYu4/BC+rjwh1lg2gcJChQhytiNQSggREgQ9G2FzmoK9sACBZvx7thyWMvRyHQTE22mO2d5UM8gMKDBg== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/querystring-builder@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.11.tgz#7a56bed12474ad46059116d87eb7b81cdba9d7f6" - integrity sha512-b4kEbVMxpmfv2VWUITn2otckTi7GlMteZQxi+jlwedoATOGEyrCJPfRcYQJjbCi3fZ2QTfh3PcORvB27+j38Yg== +"@smithy/querystring-builder@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.13.tgz#3eae3ce5a99df9c3c70214ac90b6f3c4ff2a5341" + integrity sha512-JhXKwp3JtsFUe96XLHy/nUPEbaXqn6r7xE4sNaH8bxEyytE5q1fwt0ew/Ke6+vIC7gP87HCHgQpJHg1X1jN2Fw== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" "@smithy/util-uri-escape" "^2.0.0" tslib "^2.5.0" -"@smithy/querystring-parser@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.11.tgz#63b7fde68714974c220e386002100ad9b70d91a3" - integrity sha512-YXe7jhi7s3dQ0Fu9dLoY/gLu6NCyy8tBWJL/v2c9i7/RLpHgKT+uT96/OqZkHizCJ4kr0ZD46tzMjql/o60KLg== +"@smithy/querystring-parser@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.13.tgz#9825239eceb2ab6a8906d7a3fa8241d20794b5a7" + integrity sha512-TEiT6o8CPZVxJ44Rly/rrsATTQsE+b/nyBVzsYn2sa75xAaZcurNxsFd8z1haoUysONiyex24JMHoJY6iCfLdA== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/service-error-classification@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.4.tgz#05c0a30eddbf63fb5f27704757da388aec5d66c2" - integrity sha512-77506l12I5gxTZqBkx3Wb0RqMG81bMYLaVQ+EqIWFwQDJRs5UFeXogKxSKojCmz1wLUziHZQXm03MBzPQiumQw== +"@smithy/service-error-classification@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.6.tgz#173c0067c9fce7641c4634e5f2f7e0b6fe11a051" + integrity sha512-fCQ36frtYra2fqY2/DV8+3/z2d0VB/1D1hXbjRcM5wkxTToxq6xHbIY/NGGY6v4carskMyG8FHACxgxturJ9Pg== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" "@smithy/shared-ini-file-loader@^2.0.6": version "2.0.6" @@ -3232,12 +3256,12 @@ "@smithy/types" "^2.2.2" tslib "^2.5.0" -"@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== +"@smithy/shared-ini-file-loader@^2.2.4": + version "2.2.4" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.4.tgz#ed86a5afa76025ef827d84f5e07bb757174fe7c8" + integrity sha512-9dRknGgvYlRIsoTcmMJXuoR/3ekhGwhRq4un3ns2/byre4Ql5hyUN4iS0x8eITohjU90YOnUCsbRwZRvCkbRfw== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@smithy/signature-v4@^2.0.0": @@ -3254,36 +3278,36 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.5.0" -"@smithy/smithy-client@^2.1.11": - version "2.1.11" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.1.11.tgz#7e27c9969048952703ae493311245d1af62c73b8" - integrity sha512-okjMbuBBCTiieK665OFN/ap6u9+Z9z55PMphS5FYCsS6Zfp137Q3qlnt0OgBAnUVnH/mNGyoJV0LBX9gkTWptg== +"@smithy/smithy-client@^2.1.15": + version "2.1.15" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.1.15.tgz#8a6e142f52fe253fd7f868eedce0e6d308415098" + integrity sha512-rngZcQu7Jvs9UbHihK1EI67RMPuzkc3CJmu4MBgB7D7yBnMGuFR86tq5rqHfL2gAkNnMelBN/8kzQVvZjNKefQ== dependencies: - "@smithy/middleware-stack" "^2.0.5" - "@smithy/types" "^2.3.5" - "@smithy/util-stream" "^2.0.16" + "@smithy/middleware-stack" "^2.0.7" + "@smithy/types" "^2.5.0" + "@smithy/util-stream" "^2.0.20" tslib "^2.5.0" -"@smithy/types@^2.0.2", "@smithy/types@^2.2.2", "@smithy/types@^2.3.5": - version "2.3.5" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.3.5.tgz#7684a74d4368f323b478bd9e99e7dc3a6156b5e5" - integrity sha512-ehyDt8M9hehyxrLQGoA1BGPou8Js1Ocoh5M0ngDhJMqbFmNK5N6Xhr9/ZExWkyIW8XcGkiMPq3ZUEE0ScrhbuQ== +"@smithy/types@^2.0.2", "@smithy/types@^2.2.2", "@smithy/types@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.5.0.tgz#f1bd5b906e7d3c6fd559b9b4f05e4707c7039180" + integrity sha512-/a31lYofrMBkJb3BuPlYJTMKDj0hUmKUP6JFZQu6YVuQVoAjubiY0A52U9S0Uysd33n/djexCUSNJ+G9bf3/aA== dependencies: tslib "^2.5.0" -"@smithy/url-parser@^2.0.1", "@smithy/url-parser@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.11.tgz#19c157f9d47217259e587847101ef6bd83091a5e" - integrity sha512-h89yXMCCF+S5k9XIoKltMIWTYj+FcEkU/IIFZ6RtE222fskOTL4Iak6ZRG+ehSvZDt8yKEcxqheTDq7JvvtK3g== +"@smithy/url-parser@^2.0.1", "@smithy/url-parser@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.13.tgz#1e5f2812c1d5a78ae69fc248487bdd8a8902afc5" + integrity sha512-okWx2P/d9jcTsZWTVNnRMpFOE7fMkzloSFyM53fA7nLKJQObxM2T4JlZ5KitKKuXq7pxon9J6SF2kCwtdflIrA== dependencies: - "@smithy/querystring-parser" "^2.0.11" - "@smithy/types" "^2.3.5" + "@smithy/querystring-parser" "^2.0.13" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/util-base64@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.0.tgz#1beeabfb155471d1d41c8d0603be1351f883c444" - integrity sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA== +"@smithy/util-base64@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.1.tgz#57f782dafc187eddea7c8a1ff2a7c188ed1a02c4" + integrity sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ== dependencies: "@smithy/util-buffer-from" "^2.0.0" tslib "^2.5.0" @@ -3317,28 +3341,37 @@ dependencies: tslib "^2.5.0" -"@smithy/util-defaults-mode-browser@^2.0.15": - version "2.0.15" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.15.tgz#0ab82d6e88dbebcca5e570678790a0160bd2619c" - integrity sha512-2raMZOYKSuke7QlDg/HDcxQdrp0zteJ8z+S0B9Rn23J55ZFNK1+IjG4HkN6vo/0u3Xy/JOdJ93ibiBSB8F7kOw== +"@smithy/util-defaults-mode-browser@^2.0.19": + version "2.0.19" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.19.tgz#fe437b62e589812cf97b269e689b18f7bcb1d008" + integrity sha512-VHP8xdFR7/orpiABJwgoTB0t8Zhhwpf93gXhNfUBiwAE9O0rvsv7LwpQYjgvbOUDDO8JfIYQB2GYJNkqqGWsXw== dependencies: - "@smithy/property-provider" "^2.0.12" - "@smithy/smithy-client" "^2.1.11" - "@smithy/types" "^2.3.5" + "@smithy/property-provider" "^2.0.14" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" bowser "^2.11.0" tslib "^2.5.0" -"@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.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" +"@smithy/util-defaults-mode-node@^2.0.25": + version "2.0.25" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.25.tgz#76a62b8a6602b1414a0af5d0ac11fa1dfdadb308" + integrity sha512-jkmep6/JyWmn2ADw9VULDeGbugR4N/FJCKOt+gYyVswmN1BJOfzF2umaYxQ1HhQDvna3kzm1Dbo1qIfBW4iuHA== + dependencies: + "@smithy/config-resolver" "^2.0.18" + "@smithy/credential-provider-imds" "^2.1.1" + "@smithy/node-config-provider" "^2.1.5" + "@smithy/property-provider" "^2.0.14" + "@smithy/smithy-client" "^2.1.15" + "@smithy/types" "^2.5.0" + tslib "^2.5.0" + +"@smithy/util-endpoints@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-1.0.4.tgz#2b18aa7175e956e839be7aad5c5f0e0f6016d10d" + integrity sha512-FPry8j1xye5yzrdnf4xKUXVnkQErxdN7bUIaqC0OFoGsv2NfD9b2UUMuZSSt+pr9a8XWAqj0HoyVNUfPiZ/PvQ== + dependencies: + "@smithy/node-config-provider" "^2.1.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@smithy/util-hex-encoding@^2.0.0": @@ -3355,35 +3388,35 @@ dependencies: tslib "^2.5.0" -"@smithy/util-middleware@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.4.tgz#2c406efac04e341c3df6435d71fd9c73e03feb46" - integrity sha512-Pbu6P4MBwRcjrLgdTR1O4Y3c0sTZn2JdOiJNcgL7EcIStcQodj+6ZTXtbyU/WTEU3MV2NMA10LxFc3AWHZ3+4A== +"@smithy/util-middleware@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.6.tgz#fbc23119436baaa1494c11803abaabef8cb3e2c4" + integrity sha512-7W4uuwBvSLgKoLC1x4LfeArCVcbuHdtVaC4g30kKsD1erfICyQ45+tFhhs/dZNeQg+w392fhunCm/+oCcb6BSA== dependencies: - "@smithy/types" "^2.3.5" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/util-retry@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.4.tgz#b3ae28e73b4bdec21480005e76f9eeb9d7279e89" - integrity sha512-b+n1jBBKc77C1E/zfBe1Zo7S9OXGBiGn55N0apfhZHxPUP/fMH5AhFUUcWaJh7NAnah284M5lGkBKuhnr3yK5w== +"@smithy/util-retry@^2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.6.tgz#c887c2c3e356661c1336efb3f085e32fce777124" + integrity sha512-PSO41FofOBmyhPQJwBQJ6mVlaD7Sp9Uff9aBbnfBJ9eqXOE/obrqQjn0PNdkfdvViiPXl49BINfnGcFtSP4kYw== dependencies: - "@smithy/service-error-classification" "^2.0.4" - "@smithy/types" "^2.3.5" + "@smithy/service-error-classification" "^2.0.6" + "@smithy/types" "^2.5.0" tslib "^2.5.0" -"@smithy/util-stream@^2.0.16": - version "2.0.16" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.16.tgz#8501e14cfcac70913d2c4c01a8cfbf7fc73bc041" - integrity sha512-b5ZSRh1KzUzC7LoJcpfk7+iXGoRr3WylEfmPd4FnBLm90OwxSB9VgK1fDZwicfYxSEvWHdYXgvvjPtenEYBBhw== +"@smithy/util-stream@^2.0.20": + version "2.0.20" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.20.tgz#0dbff46b07856b608512688437e685c638d75431" + integrity sha512-tT8VASuD8jJu0yjHEMTCPt1o5E3FVzgdsxK6FQLAjXKqVv5V8InCnc0EOsYrijgspbfDqdAJg7r0o2sySfcHVg== dependencies: - "@smithy/fetch-http-handler" "^2.2.3" - "@smithy/node-http-handler" "^2.1.7" - "@smithy/types" "^2.3.5" - "@smithy/util-base64" "^2.0.0" + "@smithy/fetch-http-handler" "^2.2.6" + "@smithy/node-http-handler" "^2.1.9" + "@smithy/types" "^2.5.0" + "@smithy/util-base64" "^2.0.1" "@smithy/util-buffer-from" "^2.0.0" "@smithy/util-hex-encoding" "^2.0.0" - "@smithy/util-utf8" "^2.0.0" + "@smithy/util-utf8" "^2.0.2" tslib "^2.5.0" "@smithy/util-uri-escape@^2.0.0": @@ -3393,21 +3426,21 @@ dependencies: tslib "^2.5.0" -"@smithy/util-utf8@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.0.tgz#b4da87566ea7757435e153799df9da717262ad42" - integrity sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ== +"@smithy/util-utf8@^2.0.0", "@smithy/util-utf8@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.2.tgz#626b3e173ad137208e27ed329d6bea70f4a1a7f7" + integrity sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA== dependencies: "@smithy/util-buffer-from" "^2.0.0" tslib "^2.5.0" -"@smithy/util-waiter@^2.0.11": - version "2.0.11" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.0.11.tgz#1cef055d557675bb187221b510cd666643dc207a" - integrity sha512-8SJWUl9O1YhjC77EccgltI3q4XZQp3vp9DGEW6o0OdkUcwqm/H4qOLnMkA2n+NDojuM5Iia2jWoCdbluIiG7TA== +"@smithy/util-waiter@^2.0.13": + version "2.0.13" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.0.13.tgz#ececb65f582b2808b1a327c1513a840b236d9a9d" + integrity sha512-YovIQatiuM7giEsRFotqJa2i3EbU2EE3PgtpXgtLgpx5rXiZMAwPxXYDFVFhuO0lbqvc/Zx4n+ZIisXOHPSqyg== dependencies: - "@smithy/abort-controller" "^2.0.11" - "@smithy/types" "^2.3.5" + "@smithy/abort-controller" "^2.0.13" + "@smithy/types" "^2.5.0" tslib "^2.5.0" "@soda/friendly-errors-webpack-plugin@^1.8.0": @@ -4859,15 +4892,15 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== -array-includes@^3.1.3, array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== +array-includes@^3.1.3, array-includes@^3.1.5, array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" is-string "^1.0.7" array-union@^2.1.0: @@ -4880,7 +4913,7 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== -array.prototype.findlastindex@^1.2.2: +array.prototype.findlastindex@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== @@ -4891,24 +4924,24 @@ array.prototype.findlastindex@^1.2.2: es-shim-unscopables "^1.0.0" get-intrinsic "^1.2.1" -array.prototype.flat@^1.2.4, array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== +array.prototype.flat@^1.2.4, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.flatmap@^1.2.4, array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== +array.prototype.flatmap@^1.2.4, array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" array.prototype.map@^1.0.4: @@ -5114,6 +5147,17 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + babel-plugin-polyfill-corejs2@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" @@ -6036,12 +6080,12 @@ comment-patterns@^0.12.0: lodash "^4.17.11" commitlint@^17.4.4: - version "17.8.0" - resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-17.8.0.tgz#510ec00d7ff35601885fda7fd5acdfe58e290755" - integrity sha512-xo0F0n4/W4Yq1BAmyICA+1ivPzILAPBQ/fx2PAn5uUQwzTXMdN8URE3P4YzMl6ey/1mRa6NsnW5yV9HJd5NMmA== + version "17.8.1" + resolved "https://registry.yarnpkg.com/commitlint/-/commitlint-17.8.1.tgz#0a0b9b952f34d9718f06502ee8496785bf3dd8a3" + integrity sha512-X+VPJwZsQDeGj/DG1NsxhZEl+oMHKNC+1myZ/zauNDoo+7OuLHfTOUU1C1a4CjKW4b6T7NuoFcYfK0kRCjCtbA== dependencies: - "@commitlint/cli" "^17.8.0" - "@commitlint/types" "^17.4.4" + "@commitlint/cli" "^17.8.1" + "@commitlint/types" "^17.8.1" common-tags@^1.8.0: version "1.8.2" @@ -6338,9 +6382,9 @@ core-js@^2.6.12: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.21.1, core-js@^3.6.1, core-js@^3.8.3: - version "3.33.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.0.tgz#70366dbf737134761edb017990cf5ce6c6369c40" - integrity sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw== + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.3.tgz#3c644a323f0f533a0d360e9191e37f7fc059088d" + integrity sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw== core-util-is@1.0.2: version "1.0.2" @@ -6692,21 +6736,26 @@ dayjs@^1.10.4: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== +dc-polyfill@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/dc-polyfill/-/dc-polyfill-0.1.3.tgz#fe9eefc86813439dd46d6f9ad9582ec079c39720" + integrity sha512-Wyk5n/5KUj3GfVKV2jtDbtChC/Ff9fjKsBcg4ZtYW1yQe3DXNHcGURvmoxhqQdfOQ9TwyMjnfyv1lyYcOkFkFA== + dd-trace@^4.11.1: - version "4.17.0" - resolved "https://registry.yarnpkg.com/dd-trace/-/dd-trace-4.17.0.tgz#67a33d2304f9ccf9241273517b72c9ca00301502" - integrity sha512-qLutasPUGy5JiR42XVXWH4/KScqf01Xhpkp3d+ykEr5Bha1F5P8IuP6Ule9285fBQClEgVvIB0Frm+PSDO5idQ== + version "4.20.0" + resolved "https://registry.yarnpkg.com/dd-trace/-/dd-trace-4.20.0.tgz#9a2cc3f28ff558c5605927b1362eb64605df76c1" + integrity sha512-y7IDLSSt6nww6zMdw/I8oLdfgOQADIOkERCNdfSzlBrXHz5CHimEOFfsHN87ag0mn6vusr06aoi+CQRZSNJz2g== dependencies: - "@datadog/native-appsec" "^4.0.0" - "@datadog/native-iast-rewriter" "2.1.3" - "@datadog/native-iast-taint-tracking" "1.6.1" + "@datadog/native-appsec" "4.0.0" + "@datadog/native-iast-rewriter" "2.2.1" + "@datadog/native-iast-taint-tracking" "1.6.4" "@datadog/native-metrics" "^2.0.0" - "@datadog/pprof" "4.0.0" + "@datadog/pprof" "4.0.1" "@datadog/sketches-js" "^2.1.0" "@opentelemetry/api" "^1.0.0" "@opentelemetry/core" "^1.14.0" crypto-randomuuid "^1.0.0" - diagnostics_channel "^1.1.0" + dc-polyfill "^0.1.2" ignore "^5.2.4" import-in-the-middle "^1.4.2" int64-buffer "^0.1.9" @@ -6726,6 +6775,7 @@ dd-trace@^4.11.1: node-abort-controller "^3.1.1" opentracing ">=0.12.1" path-to-regexp "^0.1.2" + pprof-format "^2.0.7" protobufjs "^7.2.4" retry "^0.13.1" semver "^7.5.4" @@ -7024,11 +7074,6 @@ dezalgo@^1.0.4: asap "^2.0.0" wrappy "1" -diagnostics_channel@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/diagnostics_channel/-/diagnostics_channel-1.1.0.tgz#bd66c49124ce3bac697dff57466464487f57cea5" - integrity sha512-OE1ngLDjSBPG6Tx0YATELzYzy3RKHC+7veQ8gLa8yS7AAgw65mFbVdcsu3501abqOZCEZqZyAIemB0zXlqDSuw== - diff@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" @@ -7633,14 +7678,14 @@ eslint-config-standard@16.0.3, eslint-config-standard@^16.0.3: resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== -eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== +eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" + is-core-module "^2.13.0" + resolve "^1.22.4" eslint-import-resolver-webpack@^0.13.0: version "0.13.2" @@ -7675,25 +7720,25 @@ eslint-plugin-es@^3.0.0: regexpp "^3.0.0" eslint-plugin-import@^2.21.2, eslint-plugin-import@^2.22.1: - version "2.28.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.1.tgz#63b8b5b3c409bfc75ebaf8fb206b07ab435482c4" - integrity sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A== - dependencies: - array-includes "^3.1.6" - array.prototype.findlastindex "^1.2.2" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" + version "2.29.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" + integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== + dependencies: + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" + eslint-import-resolver-node "^0.3.9" eslint-module-utils "^2.8.0" - has "^1.0.3" - is-core-module "^2.13.0" + hasown "^2.0.0" + is-core-module "^2.13.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.fromentries "^2.0.6" - object.groupby "^1.0.0" - object.values "^1.1.6" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" semver "^6.3.1" tsconfig-paths "^3.14.2" @@ -8752,6 +8797,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + function.prototype.name@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" @@ -9310,6 +9360,13 @@ hasha@^5.0.0: is-stream "^2.0.0" type-fest "^0.8.0" +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + he@1.2.0, he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -9891,12 +9948,12 @@ is-ci@^3.0.0: dependencies: ci-info "^3.2.0" -is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.6.0, is-core-module@^2.7.0, is-core-module@^2.9.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0, is-core-module@^2.6.0, is-core-module@^2.7.0, is-core-module@^2.9.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - has "^1.0.3" + hasown "^2.0.0" is-data-descriptor@^0.1.4: version "0.1.4" @@ -10285,6 +10342,17 @@ istanbul-lib-instrument@^4.0.0: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + istanbul-lib-processinfo@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz#366d454cd0dcb7eb6e0e419378e60072c8626169" @@ -11212,9 +11280,9 @@ luxon@^1.23.x: integrity sha512-gYHAa180mKrNIUJCbwpmD0aTu9kV0dREDrwNnuyFAsO1Wt0EVYSZelPnJlbj9HplzXX/YWXHFTL45kvZ53M0pw== luxon@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.3.tgz#8ddf0358a9492267ffec6a13675fbaab5551315d" - integrity sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg== + version "3.4.4" + resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.4.tgz#cf20dc27dc532ba41a169c43fdcc0063601577af" + integrity sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA== make-dir@^1.0.0, make-dir@^1.2.0: version "1.3.0" @@ -11891,9 +11959,9 @@ node-releases@^2.0.12: integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== nodemailer@^6.6.3: - version "6.9.6" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.6.tgz#5a38a2a4d9fb1e349542a138f9e2d5c760a663ed" - integrity sha512-s7pDtWwe5fLMkQUhw8TkWB/wnZ7SRdd9HRZslq/s24hlZvBP3j32N/ETLmnqTpmj4xoBZL9fOWyCIZ7r2HORHg== + version "6.9.7" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.7.tgz#ec2f488f62ba1558e7b19239b62778df4a5c4397" + integrity sha512-rUtR77ksqex/eZRLmQ21LKVH5nAAsVicAtAYudK7JgwenEDZ0UIQ1adUGqErz7sMkWYxWTTU1aeP2Jga6WQyJw== nodemon@2.0.15: version "2.0.15" @@ -12190,7 +12258,7 @@ object.entries@^1.1.2, object.entries@^1.1.4: define-properties "^1.1.3" es-abstract "^1.19.1" -object.fromentries@^2.0.4, object.fromentries@^2.0.6: +object.fromentries@^2.0.4, object.fromentries@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== @@ -12199,7 +12267,7 @@ object.fromentries@^2.0.4, object.fromentries@^2.0.6: define-properties "^1.2.0" es-abstract "^1.22.1" -object.groupby@^1.0.0: +object.groupby@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== @@ -12224,14 +12292,14 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.4, object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== +object.values@^1.1.4, object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" obuf@^1.0.0, obuf@^1.1.2, obuf@~1.1.2: version "1.1.2" @@ -13834,12 +13902,12 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== -resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -15512,10 +15580,10 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== -"typescript@^4.6.4 || ^5.0.0": - version "5.1.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.1.6.tgz#02f8ac202b6dad2c0dd5e0913745b47a37998274" - integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== +"typescript@^4.6.4 || ^5.2.2": + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== typescript@^4.7.2: version "4.9.5" @@ -15882,9 +15950,9 @@ vue-loader@^17.0.0: loader-utils "^2.0.0" vue-multiselect@^2.1.6: - version "2.1.7" - resolved "https://registry.yarnpkg.com/vue-multiselect/-/vue-multiselect-2.1.7.tgz#f27afe3d46482b94810382af7a4826219255c47d" - integrity sha512-KIegcN+Ntwg3cbkY/jhw2s/+XJUM0Lpi/LcKFYCS8PrZHcWBl2iKCVze7ZCnRj3w8H7/lUJ9v7rj9KQiNxApBw== + version "2.1.8" + resolved "https://registry.yarnpkg.com/vue-multiselect/-/vue-multiselect-2.1.8.tgz#73839f8fde7f9d01a5771129f940353cd6d74cd8" + integrity sha512-bgpvWZlT4EiUUCcwLAR655LdiifeqF62BDL2TLVddKfS/NcdIYVlvOr456N7GQIlBFNbb7vHfq+qOl8mpGAOJw== vue-router@^3.5.2: version "3.6.5" From c2f213d05d205132a052ac22a83d045cc320c3ef Mon Sep 17 00:00:00 2001 From: Tyler Hendrickson Date: Mon, 27 Nov 2023 11:57:53 -0600 Subject: [PATCH 02/39] Revert "chore(deps): bump cloudposse/waf/aws in /terraform/modules/gost_website (#2255)" (#2257) This reverts commit 713811c1252cc3e972008855f3d0fe12fe53b36f. --- terraform/modules/gost_website/waf.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraform/modules/gost_website/waf.tf b/terraform/modules/gost_website/waf.tf index c08a0958f..41e400a85 100644 --- a/terraform/modules/gost_website/waf.tf +++ b/terraform/modules/gost_website/waf.tf @@ -18,7 +18,7 @@ locals { module "waf" { source = "cloudposse/waf/aws" - version = "0.4.0" + version = "0.3.0" scope = "CLOUDFRONT" default_action = "allow" From 1af686637b299b0e39721f36a188813395ea952b Mon Sep 17 00:00:00 2001 From: Aditya Sridhar Date: Mon, 27 Nov 2023 17:26:26 -0500 Subject: [PATCH 03/39] fix: linting error --- packages/client/src/views/MyProfile.vue | 45 ------------------------- 1 file changed, 45 deletions(-) diff --git a/packages/client/src/views/MyProfile.vue b/packages/client/src/views/MyProfile.vue index 10e3a27df..605ea64dc 100644 --- a/packages/client/src/views/MyProfile.vue +++ b/packages/client/src/views/MyProfile.vue @@ -66,27 +66,6 @@ export default { ], }; }, - data() { - return { - prefs: [ - { - name: 'New Grant Digest', - key: 'GRANT_DIGEST', - description: 'Send me a daily email if new grants match my saved search(es).', - }, - { - name: 'Grants Assignment', - key: 'GRANT_ASSIGNMENT', - description: 'Send me notifications if a grant has been assigned to my USDR Grants team.', - }, - { - name: 'Occasional Updates', - key: 'GRANT_FINDER_UPDATES', - description: 'Send me occasional emails about feature releases, surveys, and other updates.', - }, - ], - }; - }, computed: { ...mapGetters({ loggedInUser: 'users/loggedInUser', @@ -103,30 +82,6 @@ export default { emailPreferences() { return this.loggedInUser.emailPreferences; }, - emailPreferences() { - return this.loggedInUser.emailPreferences; - }, - }, - methods: { - ...mapActions({ - updateEmailSubscriptionPreferences: 'users/updateEmailSubscriptionPreferences', - }), - onUpdateEmailPreference(pref) { - const updatedPreferences = { - ...this.emailPreferences, - [pref.key]: pref.checked ? 'SUBSCRIBED' : 'UNSUBSCRIBED', - }; - this.updateEmailSubscriptionPreferences({ - userId: this.loggedInUser.id, - preferences: updatedPreferences, - }); - }, - }, - beforeMount() { - this.prefs.forEach((pref) => { - // eslint-disable-next-line no-param-reassign - pref.checked = this.emailPreferences[pref.key] === 'SUBSCRIBED'; - }); }, methods: { ...mapActions({ From a683b70ef6f46a64aed9fc2bcca4ec4dfc0dcb74 Mon Sep 17 00:00:00 2001 From: Aditya Sridhar Date: Mon, 27 Nov 2023 17:37:47 -0500 Subject: [PATCH 04/39] fix: manually reverts #2255 --- terraform/modules/gost_website/waf.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/terraform/modules/gost_website/waf.tf b/terraform/modules/gost_website/waf.tf index c08a0958f..41e400a85 100644 --- a/terraform/modules/gost_website/waf.tf +++ b/terraform/modules/gost_website/waf.tf @@ -18,7 +18,7 @@ locals { module "waf" { source = "cloudposse/waf/aws" - version = "0.4.0" + version = "0.3.0" scope = "CLOUDFRONT" default_action = "allow" From 26b324b387f50c72326d490e7eb972d267dadf81 Mon Sep 17 00:00:00 2001 From: ifranch Date: Mon, 27 Nov 2023 15:34:36 -0800 Subject: [PATCH 05/39] feat: add profile header quick menu (#2241) * feat: update header dropdown menu with profile changes and add icons * fix: make dropdown menu span the full width of the parent container * style: add margins to the right of dropdown icons * chore: split out two different dropdowns conditionally * style: update font size for dropdown item text --- packages/client/src/components/Layout.vue | 32 +++++++++++++++++++---- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/packages/client/src/components/Layout.vue b/packages/client/src/components/Layout.vue index f0ebbed24..44c8438e7 100755 --- a/packages/client/src/components/Layout.vue +++ b/packages/client/src/components/Layout.vue @@ -10,7 +10,7 @@ - +
@@ -117,19 +117,6 @@ diff --git a/packages/client/src/views/Organizations.vue b/packages/client/src/views/Organizations.vue index fd6a666ef..c385d9b0c 100644 --- a/packages/client/src/views/Organizations.vue +++ b/packages/client/src/views/Organizations.vue @@ -1,11 +1,11 @@ diff --git a/packages/client/src/views/RecentActivity.vue b/packages/client/src/views/RecentActivity.vue index c9dc2cbe2..2e5f3bea4 100644 --- a/packages/client/src/views/RecentActivity.vue +++ b/packages/client/src/views/RecentActivity.vue @@ -2,7 +2,7 @@
-

Recent Activity

+

Recent Activity