From 101707a0e6fb91a95614ed3c9cff50c9dbd33a6f Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Fri, 20 Sep 2024 10:02:18 -0400 Subject: [PATCH 01/41] [Snyk] Security upgrade vite from 5.4.0 to 5.4.6 (#761) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 235 ++++++++++++++++++----------------- 2 files changed, 121 insertions(+), 116 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 559ab7245..7e9797cf0 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -37,7 +37,7 @@ "react-router-dom": "6.25.1", "react-uuid": "^1.0.3", "sass": "^1.77.8", - "vite": "^5.3.4", + "vite": "^5.4.6", "vite-tsconfig-paths": "^4.3.2", "yup": "^0.32.11", "zustand": "^4.5.2" diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index 194487118..2b9a25e7e 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -4436,85 +4436,85 @@ resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.18.0.tgz#20b033d1f542a100c1d57cfd18ecf442d1784732" integrity sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw== -"@rollup/rollup-android-arm-eabi@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz#1a32112822660ee104c5dd3a7c595e26100d4c2d" - integrity sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ== - -"@rollup/rollup-android-arm64@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz#5aeef206d65ff4db423f3a93f71af91b28662c5b" - integrity sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw== - -"@rollup/rollup-darwin-arm64@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz#6b66aaf003c70454c292cd5f0236ebdc6ffbdf1a" - integrity sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw== - -"@rollup/rollup-darwin-x64@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz#f64fc51ed12b19f883131ccbcea59fc68cbd6c0b" - integrity sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ== - -"@rollup/rollup-linux-arm-gnueabihf@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz#1a7641111be67c10111f7122d1e375d1226cbf14" - integrity sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A== - -"@rollup/rollup-linux-arm-musleabihf@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz#c93fd632923e0fee25aacd2ae414288d0b7455bb" - integrity sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg== - -"@rollup/rollup-linux-arm64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz#fa531425dd21d058a630947527b4612d9d0b4a4a" - integrity sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A== - -"@rollup/rollup-linux-arm64-musl@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz#8acc16f095ceea5854caf7b07e73f7d1802ac5af" - integrity sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA== - -"@rollup/rollup-linux-powerpc64le-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz#94e69a8499b5cf368911b83a44bb230782aeb571" - integrity sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ== - -"@rollup/rollup-linux-riscv64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz#7ef1c781c7e59e85a6ce261cc95d7f1e0b56db0f" - integrity sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg== - -"@rollup/rollup-linux-s390x-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz#f15775841c3232fca9b78cd25a7a0512c694b354" - integrity sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g== - -"@rollup/rollup-linux-x64-gnu@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz#b521d271798d037ad70c9f85dd97d25f8a52e811" - integrity sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ== - -"@rollup/rollup-linux-x64-musl@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz#9254019cc4baac35800991315d133cc9fd1bf385" - integrity sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q== - -"@rollup/rollup-win32-arm64-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz#27f65a89f6f52ee9426ec11e3571038e4671790f" - integrity sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA== - -"@rollup/rollup-win32-ia32-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz#a2fbf8246ed0bb014f078ca34ae6b377a90cb411" - integrity sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ== - -"@rollup/rollup-win32-x64-msvc@4.17.2": - version "4.17.2" - resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz#5a2d08b81e8064b34242d5cc9973ef8dd1e60503" - integrity sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w== +"@rollup/rollup-android-arm-eabi@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.0.tgz#e8c16c336f060b4cb592f62eb4f0e543d79d51fe" + integrity sha512-/IZQvg6ZR0tAkEi4tdXOraQoWeJy9gbQ/cx4I7k9dJaCk9qrXEcdouxRVz5kZXt5C2bQ9pILoAA+KB4C/d3pfw== + +"@rollup/rollup-android-arm64@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.0.tgz#7a44160a14017fa744912d7037c7d81d6f8a46e7" + integrity sha512-ETHi4bxrYnvOtXeM7d4V4kZWixib2jddFacJjsOjwbgYSRsyXYtZHC4ht134OsslPIcnkqT+TKV4eU8rNBKyyQ== + +"@rollup/rollup-darwin-arm64@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.0.tgz#6122dc37d4a09521d8abe18925956d3b46cfbac9" + integrity sha512-ZWgARzhSKE+gVUX7QWaECoRQsPwaD8ZR0Oxb3aUpzdErTvlEadfQpORPXkKSdKbFci9v8MJfkTtoEHnnW9Ulng== + +"@rollup/rollup-darwin-x64@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.0.tgz#453f345899cbf544aa0d6f5808d24d2e42f605b7" + integrity sha512-h0ZAtOfHyio8Az6cwIGS+nHUfRMWBDO5jXB8PQCARVF6Na/G6XS2SFxDl8Oem+S5ZsHQgtsI7RT4JQnI1qrlaw== + +"@rollup/rollup-linux-arm-gnueabihf@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.0.tgz#3a32fa4e80a62a6d733014838b1123fe76b060fe" + integrity sha512-9pxQJSPwFsVi0ttOmqLY4JJ9pg9t1gKhK0JDbV1yUEETSx55fdyCjt39eBQ54OQCzAF0nVGO6LfEH1KnCPvelA== + +"@rollup/rollup-linux-arm-musleabihf@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.0.tgz#55d3953c54419e93efe124882a3103c8a2f65641" + integrity sha512-YJ5Ku5BmNJZb58A4qSEo3JlIG4d3G2lWyBi13ABlXzO41SsdnUKi3HQHe83VpwBVG4jHFTW65jOQb8qyoR+qzg== + +"@rollup/rollup-linux-arm64-gnu@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.0.tgz#cd626963b9962baf8e09d792e67b87269a5bcfff" + integrity sha512-U4G4u7f+QCqHlVg1Nlx+qapZy+QoG+NV6ux+upo/T7arNGwKvKP2kmGM4W5QTbdewWFgudQxi3kDNST9GT1/mg== + +"@rollup/rollup-linux-arm64-musl@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.0.tgz#ad209270c9937a27346fce5b0670cbdfb1e6a0a6" + integrity sha512-aQpNlKmx3amwkA3a5J6nlXSahE1ijl0L9KuIjVOUhfOh7uw2S4piR3mtpxpRtbnK809SBtyPsM9q15CPTsY7HQ== + +"@rollup/rollup-linux-powerpc64le-gnu@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.0.tgz#fdd173929a5bba8b7e8b37314380213d9604088f" + integrity sha512-9fx6Zj/7vve/Fp4iexUFRKb5+RjLCff6YTRQl4CoDhdMfDoobWmhAxQWV3NfShMzQk1Q/iCnageFyGfqnsmeqQ== + +"@rollup/rollup-linux-riscv64-gnu@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.0.tgz#90b11314fbf45d04083f658e08dc3b32fd713061" + integrity sha512-VWQiCcN7zBgZYLjndIEh5tamtnKg5TGxyZPWcN9zBtXBwfcGSZ5cHSdQZfQH/GB4uRxk0D3VYbOEe/chJhPGLQ== + +"@rollup/rollup-linux-s390x-gnu@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.0.tgz#46bb2f1135aeec646b720d6032d7c86915f8b2ec" + integrity sha512-EHmPnPWvyYqncObwqrosb/CpH3GOjE76vWVs0g4hWsDRUVhg61hBmlVg5TPXqF+g+PvIbqkC7i3h8wbn4Gp2Fg== + +"@rollup/rollup-linux-x64-gnu@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.0.tgz#d731a19af5f05eabcba871bda2eeb2fa8c8adb67" + integrity sha512-tsSWy3YQzmpjDKnQ1Vcpy3p9Z+kMFbSIesCdMNgLizDWFhrLZIoN21JSq01g+MZMDFF+Y1+4zxgrlqPjid5ohg== + +"@rollup/rollup-linux-x64-musl@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.0.tgz#5438b2dc38fe467444cf769146098be083022d0f" + integrity sha512-anr1Y11uPOQrpuU8XOikY5lH4Qu94oS6j0xrulHk3NkLDq19MlX8Ng/pVipjxBJ9a2l3+F39REZYyWQFkZ4/fw== + +"@rollup/rollup-win32-arm64-msvc@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.0.tgz#6bd66c198f80c8e7050cfd901701cfb9555d768a" + integrity sha512-7LB+Bh+Ut7cfmO0m244/asvtIGQr5pG5Rvjz/l1Rnz1kDzM02pSX9jPaS0p+90H5I1x4d1FkCew+B7MOnoatNw== + +"@rollup/rollup-win32-ia32-msvc@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.0.tgz#58daea1f1e65143c44c8f3311f30ff8eefa62bae" + integrity sha512-+3qZ4rer7t/QsC5JwMpcvCVPRcJt1cJrYS/TMJZzXIJbxWFQEVhrIc26IhB+5Z9fT9umfVc+Es2mOZgl+7jdJQ== + +"@rollup/rollup-win32-x64-msvc@4.22.0": + version "4.22.0" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.0.tgz#956948629f6b87de0bdf526b28d940221540bbb6" + integrity sha512-YdicNOSJONVx/vuPkgPTyRoAPx3GbknBZRCOUkK84FJ/YTfs/F0vl/YsMscrB6Y177d+yDRcj+JWMPMCgshwrA== "@sinclair/typebox@^0.24.1": version "0.24.51" @@ -8408,6 +8408,11 @@ picocolors@^1.0.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== +picocolors@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" @@ -8450,14 +8455,14 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss@^8.4.40: - version "8.4.41" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" - integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== +postcss@^8.4.43: + version "8.4.47" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365" + integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ== dependencies: nanoid "^3.3.7" - picocolors "^1.0.1" - source-map-js "^1.2.0" + picocolors "^1.1.0" + source-map-js "^1.2.1" postinstall-postinstall@^2.1.0: version "2.1.0" @@ -8993,29 +8998,29 @@ rimraf@~2.2.8: resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" integrity sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI= -rollup@^4.13.0: - version "4.17.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.17.2.tgz#26d1785d0144122277fdb20ab3a24729ae68301f" - integrity sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ== +rollup@^4.20.0: + version "4.22.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.0.tgz#23cd9e4565a458587683accc34a054660c01f351" + integrity sha512-W21MUIFPZ4+O2Je/EU+GP3iz7PH4pVPUXSbEZdatQnxo29+3rsUjgrJmzuAZU24z7yRAnFN6ukxeAhZh/c7hzg== dependencies: "@types/estree" "1.0.5" optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.17.2" - "@rollup/rollup-android-arm64" "4.17.2" - "@rollup/rollup-darwin-arm64" "4.17.2" - "@rollup/rollup-darwin-x64" "4.17.2" - "@rollup/rollup-linux-arm-gnueabihf" "4.17.2" - "@rollup/rollup-linux-arm-musleabihf" "4.17.2" - "@rollup/rollup-linux-arm64-gnu" "4.17.2" - "@rollup/rollup-linux-arm64-musl" "4.17.2" - "@rollup/rollup-linux-powerpc64le-gnu" "4.17.2" - "@rollup/rollup-linux-riscv64-gnu" "4.17.2" - "@rollup/rollup-linux-s390x-gnu" "4.17.2" - "@rollup/rollup-linux-x64-gnu" "4.17.2" - "@rollup/rollup-linux-x64-musl" "4.17.2" - "@rollup/rollup-win32-arm64-msvc" "4.17.2" - "@rollup/rollup-win32-ia32-msvc" "4.17.2" - "@rollup/rollup-win32-x64-msvc" "4.17.2" + "@rollup/rollup-android-arm-eabi" "4.22.0" + "@rollup/rollup-android-arm64" "4.22.0" + "@rollup/rollup-darwin-arm64" "4.22.0" + "@rollup/rollup-darwin-x64" "4.22.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.22.0" + "@rollup/rollup-linux-arm-musleabihf" "4.22.0" + "@rollup/rollup-linux-arm64-gnu" "4.22.0" + "@rollup/rollup-linux-arm64-musl" "4.22.0" + "@rollup/rollup-linux-powerpc64le-gnu" "4.22.0" + "@rollup/rollup-linux-riscv64-gnu" "4.22.0" + "@rollup/rollup-linux-s390x-gnu" "4.22.0" + "@rollup/rollup-linux-x64-gnu" "4.22.0" + "@rollup/rollup-linux-x64-musl" "4.22.0" + "@rollup/rollup-win32-arm64-msvc" "4.22.0" + "@rollup/rollup-win32-ia32-msvc" "4.22.0" + "@rollup/rollup-win32-x64-msvc" "4.22.0" fsevents "~2.3.2" rsvp@^4.8.4: @@ -9257,10 +9262,10 @@ socks@^2.3.3: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== +source-map-js@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" + integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== source-map-resolve@^0.5.0: version "0.5.3" @@ -9855,14 +9860,14 @@ vite-tsconfig-paths@^4.3.2: globrex "^0.1.2" tsconfck "^3.0.3" -vite@^5.3.4: - version "5.4.0" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.0.tgz#11dca8a961369ba8b5cae42d068c7ad684d5370f" - integrity sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg== +vite@^5.4.6: + version "5.4.6" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.6.tgz#85a93a1228a7fb5a723ca1743e337a2588ed008f" + integrity sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q== dependencies: esbuild "^0.21.3" - postcss "^8.4.40" - rollup "^4.13.0" + postcss "^8.4.43" + rollup "^4.20.0" optionalDependencies: fsevents "~2.3.3" From 260fdfec322b17034e1421903387e1179b89d408 Mon Sep 17 00:00:00 2001 From: Britt Date: Fri, 20 Sep 2024 08:28:24 -0600 Subject: [PATCH 02/41] cmdct-3992 - fix hover color change (#763) --- services/ui-src/src/styles/components/link.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/services/ui-src/src/styles/components/link.ts b/services/ui-src/src/styles/components/link.ts index 576f8d65e..e60329eda 100644 --- a/services/ui-src/src/styles/components/link.ts +++ b/services/ui-src/src/styles/components/link.ts @@ -33,6 +33,7 @@ const unstyledVariant = { textDecoration: "none", ":focus, :focus-visible, :hover, :visited, :visited:hover": { textDecoration: "none", + color: "palette.base", }, }; From 98a606000b27b75f4dff3d964a1fc92e8192edb3 Mon Sep 17 00:00:00 2001 From: Jessica Eldredge Date: Fri, 20 Sep 2024 10:40:25 -0400 Subject: [PATCH 03/41] Fix disabled state for dashboard buttons (#767) --- .../ui-src/src/components/pages/Dashboard/DashboardPage.tsx | 3 ++- services/ui-src/src/styles/components/button.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/services/ui-src/src/components/pages/Dashboard/DashboardPage.tsx b/services/ui-src/src/components/pages/Dashboard/DashboardPage.tsx index 7801bee7d..fdfc202be 100644 --- a/services/ui-src/src/components/pages/Dashboard/DashboardPage.tsx +++ b/services/ui-src/src/components/pages/Dashboard/DashboardPage.tsx @@ -393,6 +393,7 @@ export const DashboardPage = ({ reportType }: Props) => { diff --git a/services/ui-src/src/styles/components/button.ts b/services/ui-src/src/styles/components/button.ts index 68af534df..b0bf07ee5 100644 --- a/services/ui-src/src/styles/components/button.ts +++ b/services/ui-src/src/styles/components/button.ts @@ -10,6 +10,7 @@ const baseStyles = { "&:disabled, &:disabled:hover": { color: "palette.gray", backgroundColor: "palette.gray_lighter", + opacity: "1", }, }; @@ -64,7 +65,7 @@ const transparentVariant = { color: "palette.primary", }, "&:disabled, &:disabled:hover": { - color: "palette.gray_lighter", + color: "palette.gray_light", backgroundColor: "transparent", }, }; From 62588fb9748cbdb505c566722a8429c7f2f8ac24 Mon Sep 17 00:00:00 2001 From: Garrett Rabian <57802560+gmrabian@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:28:08 -0400 Subject: [PATCH 04/41] fix scss deprecation warning (#765) --- services/ui-src/src/styles/index.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/ui-src/src/styles/index.scss b/services/ui-src/src/styles/index.scss index 1e16f43fe..3aeaf07cb 100644 --- a/services/ui-src/src/styles/index.scss +++ b/services/ui-src/src/styles/index.scss @@ -36,13 +36,13 @@ li::marker { a { color: var(--chakra-colors-palette-white); + transition: all 0.3s ease !important; &:hover { color: var(--chakra-colors-palette-gray_light); } &:visited { color: inherit; } - transition: all 0.3s ease !important; } // USA BANNER STYLES From 85861f9f7436865cc3a1b3404dec88639082be89 Mon Sep 17 00:00:00 2001 From: Garrett Rabian <57802560+gmrabian@users.noreply.github.com> Date: Fri, 20 Sep 2024 13:28:21 -0400 Subject: [PATCH 05/41] add project goals to readme (#766) --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 8fb7fdfe2..b75e74634 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,12 @@ MFP is the CMCS MDCT application for collecting state data related to the [Money The MFP demonstration supports state efforts for rebalancing their long-term services and supports system so that individuals have a choice of where they live and receive services. From the start of the program in 2008 through the end of 2020, states have transitioned over 107,000 people to community living under MFP. +Project Goals: +- Increase the use of home and community-based services (HCBS) in the Medicaid program +- Eliminate barriers or mechanisms that prevent or restrict the flexible use of Medicaid funds to enable Medicaid-eligible individuals to receive support for appropriate and necessary long-term services and supports in the settings of their choice +- Increase the ability of state Medicaid programs to assure continued provision of HCBS to eligible individuals who choose to transition from an institutional to a community setting +- Ensure that procedures are in place to provide quality assurance for eligible individuals receiving Medicaid HCBS and to provide for continuous quality improvement in such services + ## Table of Contents - [Quick Start](#quick-start) From 8787bef3652d2bf5aaf7651e1d750b694a8eda5f Mon Sep 17 00:00:00 2001 From: benmartin-coforma <126210497+benmartin-coforma@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:31:17 -0600 Subject: [PATCH 06/41] New API response pattern (#754) --- .../app-api/handlers/banners/create.test.ts | 31 +++- services/app-api/handlers/banners/create.ts | 55 +++--- .../app-api/handlers/banners/delete.test.ts | 16 +- services/app-api/handlers/banners/delete.ts | 12 +- .../app-api/handlers/banners/fetch.test.ts | 15 +- services/app-api/handlers/banners/fetch.ts | 7 +- services/app-api/handlers/handler-lib.test.ts | 23 ++- services/app-api/handlers/handler-lib.ts | 19 +- .../app-api/handlers/reports/approve.test.ts | 41 ++++- services/app-api/handlers/reports/approve.ts | 34 ++-- .../app-api/handlers/reports/archive.test.ts | 38 +++- services/app-api/handlers/reports/archive.ts | 39 ++-- .../app-api/handlers/reports/create.test.ts | 45 ++--- services/app-api/handlers/reports/create.ts | 78 +++----- .../app-api/handlers/reports/fetch.test.ts | 73 +++++--- services/app-api/handlers/reports/fetch.ts | 60 ++----- .../app-api/handlers/reports/release.test.ts | 112 +++++++++--- services/app-api/handlers/reports/release.ts | 61 ++----- .../app-api/handlers/reports/submit.test.ts | 23 +-- services/app-api/handlers/reports/submit.ts | 169 +++++++----------- .../app-api/handlers/reports/update.test.ts | 99 ++++++++-- services/app-api/handlers/reports/update.ts | 122 ++++--------- .../app-api/handlers/templates/fetch.test.ts | 13 +- services/app-api/handlers/templates/fetch.ts | 9 +- services/app-api/storage/dynamodb-lib.ts | 2 +- .../app-api/utils/auth/authorization.test.ts | 18 +- services/app-api/utils/auth/authorization.ts | 12 +- services/app-api/utils/constants/constants.ts | 2 +- .../utils/responses/response-lib.test.ts | 56 +++--- .../app-api/utils/responses/response-lib.ts | 101 +++++++++-- services/app-api/utils/types/other.ts | 9 - 31 files changed, 779 insertions(+), 615 deletions(-) diff --git a/services/app-api/handlers/banners/create.test.ts b/services/app-api/handlers/banners/create.test.ts index 07b8ba303..32c25c272 100644 --- a/services/app-api/handlers/banners/create.test.ts +++ b/services/app-api/handlers/banners/create.test.ts @@ -2,16 +2,18 @@ import { createBanner } from "./create"; import { DynamoDBDocumentClient, PutCommand } from "@aws-sdk/lib-dynamodb"; import { mockClient } from "aws-sdk-client-mock"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; // utils import { error } from "../../utils/constants/constants"; import { proxyEvent } from "../../utils/testing/proxyEvent"; +import { StatusCodes } from "../../utils/responses/response-lib"; +import { hasPermissions } from "../../utils/auth/authorization"; const dynamoClientMock = mockClient(DynamoDBDocumentClient); jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockReturnValue(true), - hasPermissions: jest.fn().mockReturnValueOnce(false).mockReturnValue(true), + isAuthenticated: jest.fn().mockReturnValue(true), + hasPermissions: jest.fn().mockReturnValue(true), })); const testEvent: APIGatewayProxyEvent = { @@ -21,6 +23,13 @@ const testEvent: APIGatewayProxyEvent = { pathParameters: { bannerId: "testKey" }, }; +const testInvalidEvent: APIGatewayProxyEvent = { + ...proxyEvent, + body: `{"key":"mock-id","title":"test banner","description":"test description","link":"https://www.mocklink.com","startDate":1000}`, + headers: { "cognito-identity-id": "test" }, + pathParameters: { bannerId: "testKey" }, +}; + const consoleSpy: { debug: jest.SpyInstance; error: jest.SpyInstance; @@ -31,9 +40,10 @@ const consoleSpy: { describe("Test createBanner API method", () => { test("Test unauthorized banner creation throws 403 error", async () => { + (hasPermissions as jest.Mock).mockReturnValueOnce(false); const res = await createBanner(testEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(403); + expect(res.statusCode).toBe(StatusCodes.Forbidden); expect(res.body).toContain(error.UNAUTHORIZED); }); @@ -42,20 +52,24 @@ describe("Test createBanner API method", () => { dynamoClientMock.on(PutCommand).callsFake(mockPut); const res = await createBanner(testEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.CREATED); + expect(res.statusCode).toBe(StatusCodes.Created); expect(res.body).toContain("test banner"); expect(res.body).toContain("test description"); expect(mockPut).toHaveBeenCalled(); }); + test("Test invalid banner payload returns 400", async () => { + const res = await createBanner(testInvalidEvent, null); + expect(res.statusCode).toBe(StatusCodes.BadRequest); + }); + test("Test bannerKey not provided throws 500 error", async () => { const noKeyEvent: APIGatewayProxyEvent = { ...testEvent, pathParameters: {}, }; const res = await createBanner(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(500); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -65,8 +79,7 @@ describe("Test createBanner API method", () => { pathParameters: { bannerId: "" }, }; const res = await createBanner(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(500); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); }); diff --git a/services/app-api/handlers/banners/create.ts b/services/app-api/handlers/banners/create.ts index cac466a4b..e35c7adc6 100644 --- a/services/app-api/handlers/banners/create.ts +++ b/services/app-api/handlers/banners/create.ts @@ -3,19 +3,21 @@ import handler from "../handler-lib"; import { hasPermissions } from "../../utils/auth/authorization"; import { error } from "../../utils/constants/constants"; // types -import { StatusCodes, UserRoles } from "../../utils/types"; +import { UserRoles } from "../../utils/types"; import { number, object, string } from "yup"; import { validateData } from "../../utils/validation/validation"; import { putBanner } from "../../storage/banners"; +import { + badRequest, + created, + forbidden, +} from "../../utils/responses/response-lib"; export const createBanner = handler(async (event, _context) => { if (!hasPermissions(event, [UserRoles.ADMIN])) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } else if (!event?.pathParameters?.bannerId!) { - throw new Error(error.NO_KEY); + return badRequest(error.NO_KEY); } else { const unvalidatedPayload = JSON.parse(event!.body!); @@ -28,25 +30,28 @@ export const createBanner = handler(async (event, _context) => { endDate: number().required(), }); - const validatedPayload = await validateData( - validationSchema, - unvalidatedPayload - ); - - if (validatedPayload) { - const newBanner = { - key: event.pathParameters.bannerId, - createdAt: Date.now(), - lastAltered: Date.now(), - lastAlteredBy: event?.headers["cognito-identity-id"], - title: validatedPayload.title, - description: validatedPayload.description, - link: validatedPayload.link, - startDate: validatedPayload.startDate, - endDate: validatedPayload.endDate, - }; - await putBanner(newBanner); - return { status: StatusCodes.CREATED, body: newBanner }; + let validatedPayload; + try { + validatedPayload = await validateData( + validationSchema, + unvalidatedPayload + ); + } catch { + return badRequest(error.INVALID_DATA); } + + const newBanner = { + key: event.pathParameters.bannerId, + createdAt: Date.now(), + lastAltered: Date.now(), + lastAlteredBy: event?.headers["cognito-identity-id"], + title: validatedPayload.title, + description: validatedPayload.description, + link: validatedPayload.link, + startDate: validatedPayload.startDate, + endDate: validatedPayload.endDate, + }; + await putBanner(newBanner); + return created(newBanner); } }); diff --git a/services/app-api/handlers/banners/delete.test.ts b/services/app-api/handlers/banners/delete.test.ts index c82aad559..1659d9112 100644 --- a/services/app-api/handlers/banners/delete.test.ts +++ b/services/app-api/handlers/banners/delete.test.ts @@ -5,12 +5,13 @@ import { mockClient } from "aws-sdk-client-mock"; import { proxyEvent } from "../../utils/testing/proxyEvent"; import { error } from "../../utils/constants/constants"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; const dynamoClientMock = mockClient(DynamoDBDocumentClient); jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockReturnValue(true), + isAuthenticated: jest.fn().mockReturnValue(true), hasPermissions: jest.fn().mockReturnValueOnce(false).mockReturnValue(true), })); @@ -33,7 +34,7 @@ describe("Test deleteBanner API method", () => { const res = await deleteBanner(testEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(403); + expect(res.statusCode).toBe(StatusCodes.Forbidden); expect(res.body).toContain(error.UNAUTHORIZED); }); @@ -43,8 +44,7 @@ describe("Test deleteBanner API method", () => { const res = await deleteBanner(testEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); - expect(res.body).toContain("testKey"); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(mockDelete).toHaveBeenCalled(); }); @@ -55,8 +55,7 @@ describe("Test deleteBanner API method", () => { }; const res = await deleteBanner(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(500); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -67,8 +66,7 @@ describe("Test deleteBanner API method", () => { }; const res = await deleteBanner(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(500); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); }); diff --git a/services/app-api/handlers/banners/delete.ts b/services/app-api/handlers/banners/delete.ts index 2862a7cc8..961623c50 100644 --- a/services/app-api/handlers/banners/delete.ts +++ b/services/app-api/handlers/banners/delete.ts @@ -4,19 +4,17 @@ import { hasPermissions } from "../../utils/auth/authorization"; import { error } from "../../utils/constants/constants"; import { deleteBanner as deleteBannerById } from "../../storage/banners"; // types -import { StatusCodes, UserRoles } from "../../utils/types"; +import { UserRoles } from "../../utils/types"; +import { badRequest, forbidden, ok } from "../../utils/responses/response-lib"; export const deleteBanner = handler(async (event, _context) => { if (!hasPermissions(event, [UserRoles.ADMIN])) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } else if (!event?.pathParameters?.bannerId!) { - throw new Error(error.NO_KEY); + return badRequest(error.NO_KEY); } else { const bannerId = event?.pathParameters?.bannerId!; await deleteBannerById(bannerId); - return { status: StatusCodes.SUCCESS, body: { Key: bannerId } }; + return ok(); } }); diff --git a/services/app-api/handlers/banners/fetch.test.ts b/services/app-api/handlers/banners/fetch.test.ts index 86180b8ee..ff3c9b006 100644 --- a/services/app-api/handlers/banners/fetch.test.ts +++ b/services/app-api/handlers/banners/fetch.test.ts @@ -5,10 +5,11 @@ import { error } from "../../utils/constants/constants"; import { mockBannerResponse } from "../../utils/testing/setupJest"; import { getBanner } from "../../storage/banners"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockReturnValue(true), + isAuthenticated: jest.fn().mockReturnValue(true), })); jest.mock("../../storage/banners", () => ({ @@ -41,7 +42,7 @@ describe("Test fetchBanner API method", () => { const res = await fetchBanner(testEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(res.body).toContain("testDesc"); expect(res.body).toContain("testTitle"); }); @@ -52,7 +53,7 @@ describe("Test fetchBanner API method", () => { expect(consoleSpy.debug).toHaveBeenCalled(); expect(res.body).not.toBeDefined(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); }); test("Test bannerKey not provided throws 500 error", async () => { @@ -62,8 +63,7 @@ describe("Test fetchBanner API method", () => { }; const res = await fetchBanner(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SERVER_ERROR); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -74,8 +74,7 @@ describe("Test fetchBanner API method", () => { }; const res = await fetchBanner(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SERVER_ERROR); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); }); diff --git a/services/app-api/handlers/banners/fetch.ts b/services/app-api/handlers/banners/fetch.ts index 5ea1ce093..61e544165 100644 --- a/services/app-api/handlers/banners/fetch.ts +++ b/services/app-api/handlers/banners/fetch.ts @@ -1,15 +1,14 @@ import handler from "../handler-lib"; -// types -import { StatusCodes } from "../../utils/types"; // utils import { error } from "../../utils/constants/constants"; import { getBanner } from "../../storage/banners"; +import { badRequest, ok } from "../../utils/responses/response-lib"; export const fetchBanner = handler(async (event, _context) => { if (!event?.pathParameters?.bannerId!) { - throw new Error(error.NO_KEY); + return badRequest(error.NO_KEY); } const bannerId = event?.pathParameters?.bannerId!; const banner = await getBanner(bannerId); - return { status: StatusCodes.SUCCESS, body: banner }; + return ok(banner); }); diff --git a/services/app-api/handlers/handler-lib.test.ts b/services/app-api/handlers/handler-lib.test.ts index 8df96f3ac..69895219d 100644 --- a/services/app-api/handlers/handler-lib.test.ts +++ b/services/app-api/handlers/handler-lib.test.ts @@ -1,7 +1,8 @@ import handlerLib from "./handler-lib"; import { proxyEvent } from "../utils/testing/proxyEvent"; -import { isAuthorized } from "../utils/auth/authorization"; +import { isAuthenticated } from "../utils/auth/authorization"; import * as logger from "../utils/debugging/debug-lib"; +import { ok, StatusCodes } from "../utils/responses/response-lib"; jest.mock("../utils/debugging/debug-lib", () => ({ init: jest.fn(), @@ -11,18 +12,18 @@ jest.mock("../utils/debugging/debug-lib", () => ({ })); jest.mock("../utils/auth/authorization", () => ({ - isAuthorized: jest.fn(), + isAuthenticated: jest.fn(), })); describe("Test Lambda Handler Lib", () => { test("Test successful authorized lambda workflow", async () => { - const testFunc = jest.fn().mockReturnValue({ status: 200, body: "test" }); + const testFunc = jest.fn().mockReturnValue(ok("test")); const handler = handlerLib(testFunc); - (isAuthorized as jest.Mock).mockReturnValue(true); + (isAuthenticated as jest.Mock).mockReturnValue(true); const res = await handler(proxyEvent, null); - expect(res.statusCode).toBe(200); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(res.body).toContain("test"); expect(logger.init).toHaveBeenCalled(); expect(logger.debug).toHaveBeenCalledWith( @@ -41,14 +42,12 @@ describe("Test Lambda Handler Lib", () => { const testFunc = jest.fn(); const handler = handlerLib(testFunc); - (isAuthorized as jest.Mock).mockReturnValue(false); + (isAuthenticated as jest.Mock).mockReturnValue(false); const res = await handler(proxyEvent, null); - expect(res.statusCode).toBe(403); + expect(res.statusCode).toBe(StatusCodes.Unauthenticated); expect(res.body).toStrictEqual( - JSON.stringify({ - error: "User is not authorized to access this resource.", - }) + '"User is not authorized to access this resource."' ); }); @@ -59,13 +58,13 @@ describe("Test Lambda Handler Lib", () => { }); const handler = handlerLib(testFunc); - (isAuthorized as jest.Mock).mockReturnValue(true); + (isAuthenticated as jest.Mock).mockReturnValue(true); const res = await handler(proxyEvent, null); expect(testFunc).toHaveBeenCalledWith(proxyEvent, null); expect(logger.error).toHaveBeenCalledWith("Error: %O", err); expect(logger.flush).toHaveBeenCalled(); - expect(res.statusCode).toBe(500); + expect(res.statusCode).toBe(StatusCodes.InternalServerError); expect(res.body).toStrictEqual(JSON.stringify({ error: "Test Error" })); expect(testFunc).toHaveBeenCalledWith(proxyEvent, null); }); diff --git a/services/app-api/handlers/handler-lib.ts b/services/app-api/handlers/handler-lib.ts index 85d06f9d2..7ac5ab6a1 100644 --- a/services/app-api/handlers/handler-lib.ts +++ b/services/app-api/handlers/handler-lib.ts @@ -1,19 +1,20 @@ // utils import * as logger from "../utils/debugging/debug-lib"; -import { isAuthorized } from "../utils/auth/authorization"; +import { isAuthenticated } from "../utils/auth/authorization"; import { + HttpResponse, internalServerError, - buildResponse, + unauthenticated, } from "../utils/responses/response-lib"; import { error } from "../utils/constants/constants"; import { sanitizeObject } from "../utils/sanitize/sanitize"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../utils/types"; +import { APIGatewayProxyEvent } from "../utils/types"; type LambdaFunction = ( event: APIGatewayProxyEvent, // eslint-disable-line no-unused-vars context: any // eslint-disable-line no-unused-vars -) => Promise; +) => Promise; export default function handler(lambda: LambdaFunction) { return async function (event: APIGatewayProxyEvent, context: any) { @@ -24,17 +25,14 @@ export default function handler(lambda: LambdaFunction) { pathParameters: event.pathParameters, queryStringParameters: event.queryStringParameters, }); - if (await isAuthorized(event)) { + if (await isAuthenticated(event)) { try { if (event.body) { const newEventBody = sanitizeObject(JSON.parse(event.body)); event.body = JSON.stringify(newEventBody); } - // Run the Lambda - const { status, body } = await lambda(event, context); - return buildResponse(status, body); + return await lambda(event, context); } catch (error: any) { - // Print debug messages logger.error("Error: %O", error); const body = { error: error.message }; @@ -43,8 +41,7 @@ export default function handler(lambda: LambdaFunction) { logger.flush(); } } else { - const body = { error: error.UNAUTHORIZED }; - return buildResponse(StatusCodes.UNAUTHORIZED, body); + return unauthenticated(error.UNAUTHORIZED); } }; } diff --git a/services/app-api/handlers/reports/approve.test.ts b/services/app-api/handlers/reports/approve.test.ts index c0cbd4fe8..26367d518 100644 --- a/services/app-api/handlers/reports/approve.test.ts +++ b/services/app-api/handlers/reports/approve.test.ts @@ -5,7 +5,8 @@ import { mockWPReport } from "../../utils/testing/setupJest"; import { error } from "../../utils/constants/constants"; import { getReportMetadata, putReportMetadata } from "../../storage/reports"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; jest.mock("../../storage/reports", () => ({ getReportMetadata: jest.fn(), @@ -13,7 +14,7 @@ jest.mock("../../storage/reports", () => ({ })); jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockResolvedValue(true), + isAuthenticated: jest.fn().mockResolvedValue(true), hasPermissions: jest.fn(() => {}), })); @@ -51,26 +52,52 @@ describe("Test approveReport method", () => { const res: any = await approveReport(approveEvent, null); const body = JSON.parse(res.body); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(body.status).toBe("Approved"); expect(putReportMetadata).toHaveBeenCalled(); }); - test("Test approve report with no existing record throws 404", async () => { + test("Test approve report with missing parameters returns 400", async () => { + const event = { + ...approveEvent, + pathParameters: { + ...approveEvent.pathParameters, + state: undefined, + }, + }; + + const res = await approveReport(event, null); + expect(consoleSpy.debug).toHaveBeenCalled(); + expect(res.statusCode).toBe(StatusCodes.BadRequest); + expect(res.body).toContain(error.NO_KEY); + }); + + test("Test approve report with no existing record returns 404", async () => { mockAuthUtil.hasPermissions.mockReturnValueOnce(true); (getReportMetadata as jest.Mock).mockResolvedValue(undefined); const res = await approveReport(approveEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); expect(res.body).toContain(error.NO_MATCHING_RECORD); }); - test("Test approve report without admin permissions throws 403", async () => { + test("Test approve report without admin permissions returns 403", async () => { mockAuthUtil.hasPermissions.mockReturnValueOnce(false); (getReportMetadata as jest.Mock).mockResolvedValue(undefined); const res = await approveReport(approveEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.UNAUTHORIZED); + expect(res.statusCode).toBe(StatusCodes.Forbidden); expect(res.body).toContain(error.UNAUTHORIZED); }); + + test("Test approve report gives dynamo errors nicer messages", async () => { + mockAuthUtil.hasPermissions.mockReturnValueOnce(true); + (getReportMetadata as jest.Mock).mockResolvedValue(mockWPReport); + (putReportMetadata as jest.Mock).mockImplementation(() => { + throw new Error("A scary message about Dynamo internals 👻"); + }); + const res: any = await approveReport(approveEvent, null); + expect(res.statusCode).toBe(StatusCodes.InternalServerError); + expect(res.body).toContain(error.DYNAMO_UPDATE_ERROR); + }); }); diff --git a/services/app-api/handlers/reports/approve.ts b/services/app-api/handlers/reports/approve.ts index 1cf1b6aa8..597470f3d 100644 --- a/services/app-api/handlers/reports/approve.ts +++ b/services/app-api/handlers/reports/approve.ts @@ -5,33 +5,31 @@ import { hasPermissions } from "../../utils/auth/authorization"; import { parseSpecificReportParameters } from "../../utils/auth/parameters"; import { getReportMetadata, putReportMetadata } from "../../storage/reports"; // types -import { ReportStatus, StatusCodes, UserRoles } from "../../utils/types"; +import { ReportStatus, UserRoles } from "../../utils/types"; +import { + badRequest, + forbidden, + internalServerError, + notFound, + ok, +} from "../../utils/responses/response-lib"; export const approveReport = handler(async (event) => { const { allParamsValid, reportType, state, id } = parseSpecificReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } // Return a 403 status if the user is not an admin. if (!hasPermissions(event, [UserRoles.ADMIN, UserRoles.APPROVER])) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const currentReport = await getReportMetadata(reportType, state, id); if (!currentReport) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } const updatedReport = { @@ -44,14 +42,8 @@ export const approveReport = handler(async (event) => { try { await putReportMetadata(updatedReport); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.DYNAMO_UPDATE_ERROR, - }; + return internalServerError(error.DYNAMO_UPDATE_ERROR); } - return { - status: StatusCodes.SUCCESS, - body: updatedReport, - }; + return ok(updatedReport); }); diff --git a/services/app-api/handlers/reports/archive.test.ts b/services/app-api/handlers/reports/archive.test.ts index 7a17fedb1..d0efbb796 100644 --- a/services/app-api/handlers/reports/archive.test.ts +++ b/services/app-api/handlers/reports/archive.test.ts @@ -8,7 +8,8 @@ import { import { error } from "../../utils/constants/constants"; import { getReportMetadata, putReportMetadata } from "../../storage/reports"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; jest.mock("../../storage/reports", () => ({ getReportMetadata: jest.fn(), @@ -16,7 +17,7 @@ jest.mock("../../storage/reports", () => ({ })); jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockResolvedValue(true), + isAuthenticated: jest.fn().mockResolvedValue(true), hasPermissions: jest.fn(() => {}), })); @@ -55,16 +56,30 @@ describe("Test archiveReport method", () => { const body = JSON.parse(res.body); expect(consoleSpy.debug).toHaveBeenCalled(); expect(putReportMetadata).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(body.archived).toBe(true); }); + test("Test archive report with missing parameters returns 400", async () => { + const event = { + ...archiveEvent, + pathParameters: { + ...archiveEvent.pathParameters, + state: undefined, + }, + }; + const res = await archiveReport(event, null); + expect(consoleSpy.debug).toHaveBeenCalled(); + expect(res.statusCode).toBe(StatusCodes.BadRequest); + expect(res.body).toContain(error.NO_KEY); + }); + test("Test archive report with no existing record throws 404", async () => { mockAuthUtil.hasPermissions.mockReturnValueOnce(true); (getReportMetadata as jest.Mock).mockResolvedValue(undefined); const res = await archiveReport(archiveEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); expect(res.body).toContain(error.NO_MATCHING_RECORD); }); @@ -73,7 +88,7 @@ describe("Test archiveReport method", () => { (getReportMetadata as jest.Mock).mockResolvedValue(undefined); const res = await archiveReport(archiveEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.UNAUTHORIZED); + expect(res.statusCode).toBe(StatusCodes.Forbidden); expect(res.body).toContain(error.UNAUTHORIZED); }); @@ -84,7 +99,18 @@ describe("Test archiveReport method", () => { ); const res = await archiveReport(archiveEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.BAD_REQUEST); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.INVALID_DATA); }); + + test("Test approve report gives dynamo errors nicer messages", async () => { + mockAuthUtil.hasPermissions.mockReturnValueOnce(true); + (getReportMetadata as jest.Mock).mockResolvedValue(mockWPReport); + (putReportMetadata as jest.Mock).mockImplementation(() => { + throw new Error("A scary message about Dynamo internals 👻"); + }); + const res: any = await archiveReport(archiveEvent, null); + expect(res.statusCode).toBe(StatusCodes.InternalServerError); + expect(res.body).toContain(error.DYNAMO_UPDATE_ERROR); + }); }); diff --git a/services/app-api/handlers/reports/archive.ts b/services/app-api/handlers/reports/archive.ts index 0cfc993a0..abcb352d5 100644 --- a/services/app-api/handlers/reports/archive.ts +++ b/services/app-api/handlers/reports/archive.ts @@ -5,24 +5,25 @@ import { hasPermissions } from "../../utils/auth/authorization"; import { parseSpecificReportParameters } from "../../utils/auth/parameters"; import { getReportMetadata, putReportMetadata } from "../../storage/reports"; // types -import { ReportType, StatusCodes, UserRoles } from "../../utils/types"; +import { ReportType, UserRoles } from "../../utils/types"; +import { + badRequest, + forbidden, + internalServerError, + notFound, + ok, +} from "../../utils/responses/response-lib"; export const archiveReport = handler(async (event) => { const { allParamsValid, reportType, state, id } = parseSpecificReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } // Return a 403 status if the user is not an admin. if (!hasPermissions(event, [UserRoles.ADMIN, UserRoles.APPROVER])) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const currentReport = await getReportMetadata(reportType, state, id); @@ -30,17 +31,11 @@ export const archiveReport = handler(async (event) => { // WP with associated SAR cannot be archived if (reportType !== ReportType.WP || hasAssociatedSar) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.INVALID_DATA, - }; + return badRequest(error.INVALID_DATA); } if (!currentReport) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } const updatedReport = { @@ -51,14 +46,8 @@ export const archiveReport = handler(async (event) => { try { await putReportMetadata(updatedReport); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.DYNAMO_UPDATE_ERROR, - }; + return internalServerError(error.DYNAMO_UPDATE_ERROR); } - return { - status: StatusCodes.SUCCESS, - body: updatedReport, - }; + return ok(updatedReport); }); diff --git a/services/app-api/handlers/reports/create.test.ts b/services/app-api/handlers/reports/create.test.ts index e07bc5a55..88b2d62b5 100644 --- a/services/app-api/handlers/reports/create.test.ts +++ b/services/app-api/handlers/reports/create.test.ts @@ -18,9 +18,10 @@ import { putReportFieldData, } from "../../storage/reports"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; import { copyFieldDataFromSource } from "../../utils/other/copy"; import { getOrCreateFormTemplate } from "../../utils/formTemplates/formTemplates"; +import { StatusCodes } from "../../utils/responses/response-lib"; jest.mock("../../storage/reports", () => ({ queryReportMetadatasForState: jest.fn(), @@ -47,7 +48,7 @@ jest.mock("../../utils/formTemplates/formTemplates", () => ({ jest.mock("../../utils/auth/authorization", () => ({ hasPermissions: jest.fn().mockReturnValue(true), - isAuthorized: jest.fn().mockResolvedValue(true), + isAuthenticated: jest.fn().mockResolvedValue(true), isAuthorizedToFetchState: jest.fn().mockReturnValue(true), })); @@ -158,10 +159,10 @@ describe("Test createReport API method", () => { consoleSpy.warn = jest.spyOn(console, "warn").mockImplementation(); }); - test("Test unauthorized report creation throws 403 error", async () => { - jest.spyOn(authFunctions, "isAuthorized").mockResolvedValueOnce(false); + test("Test unauthorized report creation throws 401 error", async () => { + jest.spyOn(authFunctions, "isAuthenticated").mockResolvedValueOnce(false); const res = await createReport(wpCreationEvent, null); - expect(res.statusCode).toBe(403); + expect(res.statusCode).toBe(StatusCodes.Unauthenticated); expect(res.body).toContain(error.UNAUTHORIZED); }); @@ -169,7 +170,7 @@ describe("Test createReport API method", () => { jest.spyOn(authFunctions, "hasPermissions").mockReturnValueOnce(false); const res = await createReport(wpCreationEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(403); + expect(res.statusCode).toBe(StatusCodes.Forbidden); expect(res.body).toContain(error.UNAUTHORIZED); }); @@ -181,7 +182,7 @@ describe("Test createReport API method", () => { const res = await createReport(badStateEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); }); test("Test report creation throws a 400 when given a bad ReportType", async () => { @@ -192,14 +193,14 @@ describe("Test createReport API method", () => { const res = await createReport(badReportEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); }); - test("Test report creation throws a 403 when copying a report of the same period", async () => { + test("Test report creation throws a 400 when copying a report of the same period", async () => { jest.useFakeTimers().setSystemTime(new Date(2021, 11, 1)); const res = await createReport(wpCopyCreationEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(403); + expect(res.statusCode).toBe(StatusCodes.BadRequest); }); test("Test successful run of work plan report creation, not copied", async () => { @@ -207,9 +208,9 @@ describe("Test createReport API method", () => { { reportYear: 2020, reportPeriod: 1, archived: true }, ]); const res = await createReport(wpCreationEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.CREATED); + expect(res.statusCode).toBe(StatusCodes.Created); expect(body.status).toContain("Not started"); expect(body.fieldDataId).toBeDefined; expect(body.formTemplateId).toBeDefined; @@ -227,7 +228,7 @@ describe("Test createReport API method", () => { { reportYear: 2020, reportPeriod: 1, archived: undefined }, ]); const res = await createReport(wpCreationEvent, null); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); }); test("Test successful run of work plan report creation, copied", async () => { @@ -239,9 +240,9 @@ describe("Test createReport API method", () => { ); jest.useFakeTimers().setSystemTime(new Date(2022, 11, 1)); const res = await createReport(wpCopyCreationEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.CREATED); + expect(res.statusCode).toBe(StatusCodes.Created); expect(body.status).toContain("Not started"); expect(body.fieldDataId).toBeDefined; expect(body.formTemplateId).toBeDefined; @@ -256,7 +257,7 @@ describe("Test createReport API method", () => { (getEligibleWorkPlan as jest.Mock).mockResolvedValue({}); const res = await createReport(sarCreationEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); }); test("Test successful run of sar report creation, not copied", async () => { @@ -268,9 +269,9 @@ describe("Test createReport API method", () => { { reportYear: 2020, reportPeriod: 1, archived: true }, ]); const res = await createReport(sarCreationEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.CREATED); + expect(res.statusCode).toBe(StatusCodes.Created); expect(body.status).toContain("Not started"); expect(body.fieldDataId).toBeDefined; expect(body.formTemplateId).toBeDefined; @@ -280,14 +281,14 @@ describe("Test createReport API method", () => { test("Test attempted report creation with invalid data fails", async () => { const res = await createReport(creationEventWithInvalidData, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SERVER_ERROR); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.INVALID_DATA); }); test("Test attempted report creation without field data throws 400 error", async () => { const res = await createReport(creationEventWithNoFieldData, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.BAD_REQUEST); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.MISSING_DATA); }); @@ -299,7 +300,7 @@ describe("Test createReport API method", () => { const res = await createReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.BAD_REQUEST); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -311,7 +312,7 @@ describe("Test createReport API method", () => { const res = await createReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.BAD_REQUEST); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); }); diff --git a/services/app-api/handlers/reports/create.ts b/services/app-api/handlers/reports/create.ts index 10b99152d..82e6a3716 100644 --- a/services/app-api/handlers/reports/create.ts +++ b/services/app-api/handlers/reports/create.ts @@ -36,26 +36,26 @@ import { APIGatewayProxyEvent, ReportMetadataShape, ReportType, - StatusCodes, UserRoles, } from "../../utils/types"; +import { + badRequest, + created, + forbidden, + internalServerError, + notFound, +} from "../../utils/responses/response-lib"; export const createReport = handler( async (event: APIGatewayProxyEvent, _context) => { const { allParamsValid, reportType, state } = parseStateReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } if (!hasPermissions(event, [UserRoles.STATE_USER], state)) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const reportTypeExpanded = reportNames[reportType]; @@ -80,10 +80,7 @@ export const createReport = handler( reportType === ReportType.SAR && (!workPlanMetadata || !workPlanFieldData) ) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_WORKPLANS_FOUND, - }; + return notFound(error.NO_WORKPLANS_FOUND); } // Check the payload that was sent with the request and setup validation @@ -131,10 +128,7 @@ export const createReport = handler( // Return MISSING_DATA error if missing unvalidated data or validators. if (!unvalidatedFieldData || !formTemplate.validationJson) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.MISSING_DATA, - }; + return badRequest(error.MISSING_DATA); } // Setup validation for what we expect to see in the payload @@ -155,10 +149,7 @@ export const createReport = handler( // Return INVALID_DATA error if field data is not valid. if (!validatedFieldData || Object.keys(validatedFieldData).length === 0) { - return { - status: StatusCodes.SERVER_ERROR, - body: error.INVALID_DATA, - }; + return badRequest(error.INVALID_DATA); } // End Section - Check the payload that was sent with the request and validate it @@ -178,10 +169,7 @@ export const createReport = handler( //do not allow user to create a copy if it's the same period if (isCurrentPeriod && !overrideCopyOver) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNABLE_TO_COPY, - }; + return badRequest(error.UNABLE_TO_COPY); } newFieldData = await copyFieldDataFromSource( @@ -207,10 +195,7 @@ export const createReport = handler( // Return INVALID_DATA error if metadata is not valid. if (!validatedMetadata) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.INVALID_DATA, - }; + return badRequest(error.INVALID_DATA); } const existingReports: ReportMetadataShape[] = @@ -227,10 +212,7 @@ export const createReport = handler( existingReportYear === reportYear && existingReportPeriod === reportPeriod ) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.INVALID_DATA, - }; + return badRequest(error.INVALID_DATA); } } const reportId: string = KSUID.randomSync().string; @@ -243,10 +225,7 @@ export const createReport = handler( newFieldData ); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.S3_OBJECT_CREATION_ERROR, - }; + return internalServerError(error.S3_OBJECT_CREATION_ERROR); } // Begin Section - Create DyanmoDB record @@ -277,10 +256,7 @@ export const createReport = handler( try { await putReportMetadata(createdReportMetadata); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.DYNAMO_CREATION_ERROR, - }; + return internalServerError(error.DYNAMO_CREATION_ERROR); } // End Section - Create DynamoDB record. @@ -294,23 +270,17 @@ export const createReport = handler( try { await putReportMetadata(workPlanWithSarConnection); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.DYNAMO_CREATION_ERROR, - }; + return internalServerError(error.DYNAMO_CREATION_ERROR); } } // End Section - Let the Workplan know that its been tied to a SAR that was just created // Return successful creation response! - return { - status: StatusCodes.CREATED, - body: { - ...createdReportMetadata, - fieldData: validatedFieldData, - formTemplate, - formTemplateVersion: formTemplateVersion?.versionNumber, - }, - }; + return created({ + ...createdReportMetadata, + fieldData: validatedFieldData, + formTemplate, + formTemplateVersion: formTemplateVersion?.versionNumber, + }); } ); diff --git a/services/app-api/handlers/reports/fetch.test.ts b/services/app-api/handlers/reports/fetch.test.ts index 5bf5a5e38..12bfed358 100644 --- a/services/app-api/handlers/reports/fetch.test.ts +++ b/services/app-api/handlers/reports/fetch.test.ts @@ -15,7 +15,9 @@ import { queryReportMetadatasForState, } from "../../storage/reports"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; +import { isAuthorizedToFetchState } from "../../utils/auth/authorization"; jest.mock("../../storage/reports", () => ({ getReportFieldData: jest.fn(), @@ -26,12 +28,10 @@ jest.mock("../../storage/reports", () => ({ jest.mock("../../utils/auth/authorization", () => ({ hasPermissions: jest.fn(() => {}), - isAuthorized: jest.fn().mockReturnValue(true), - isAuthorizedToFetchState: jest.fn(() => {}), + isAuthenticated: jest.fn().mockReturnValue(true), + isAuthorizedToFetchState: jest.fn().mockReturnValue(true), })); -const mockAuthUtil = require("../../utils/auth/authorization"); - const testReadEvent: APIGatewayProxyEvent = { ...proxyEvent, headers: { "cognito-identity-id": "test" }, @@ -58,8 +58,7 @@ let consoleSpy: { describe("handlers/reports/fetch", () => { beforeEach(() => { - jest.restoreAllMocks(); - mockAuthUtil.isAuthorizedToFetchState.mockReturnValueOnce(true); + jest.clearAllMocks(); consoleSpy.debug = jest.spyOn(console, "debug").mockImplementation(); consoleSpy.warn = jest.spyOn(console, "warn").mockImplementation(); }); @@ -69,7 +68,7 @@ describe("handlers/reports/fetch", () => { (getReportMetadata as jest.Mock).mockResolvedValue(undefined); const res = await fetchReport(testReadEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); }); test("Test Report Form not found in S3", async () => { @@ -78,7 +77,7 @@ describe("handlers/reports/fetch", () => { (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); const res = await fetchReport(testReadEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); }); test("Test Field Data not found in S3", async () => { @@ -87,7 +86,7 @@ describe("handlers/reports/fetch", () => { (getReportFieldData as jest.Mock).mockResolvedValue(undefined); const res = await fetchReport(testReadEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); }); test("Test Successful Report Fetch w/ Incomplete Report", async () => { @@ -96,8 +95,8 @@ describe("handlers/reports/fetch", () => { (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); const res = await fetchReport(testReadEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); - const body = JSON.parse(res.body); + expect(res.statusCode).toBe(StatusCodes.Ok); + const body = JSON.parse(res.body!); expect(body.lastAlteredBy).toContain("Thelonious States"); expect(body.submissionName).toContain("testProgram"); expect(body.completionStatus).toMatchObject( @@ -116,8 +115,8 @@ describe("handlers/reports/fetch", () => { (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); const res = await fetchReport(testReadEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); - const body = JSON.parse(res.body); + expect(res.statusCode).toBe(StatusCodes.Ok); + const body = JSON.parse(res.body!); expect(body.lastAlteredBy).toContain("Thelonious States"); expect(body.submissionName).toContain("testProgram"); expect(body.completionStatus).toMatchObject({ @@ -128,6 +127,26 @@ describe("handlers/reports/fetch", () => { expect(body.formTemplate).toStrictEqual(mockReportJson); }); + test("Test Successful Report Fetch, creating completionStatus", async () => { + const metadataWithNoCompletionStatus = { + ...mockDynamoDataWPCompleted, + completionStatus: undefined, + }; + (getReportMetadata as jest.Mock).mockResolvedValue( + metadataWithNoCompletionStatus + ); + (getReportFormTemplate as jest.Mock).mockResolvedValue(mockReportJson); + (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); + const res = await fetchReport(testReadEvent, null); + expect(res.statusCode).toBe(StatusCodes.Ok); + const body = JSON.parse(res.body!); + expect(body.completionStatus).toEqual({ + "/mock/mock-route-1": false, + "/mock/mock-route-2": {}, + }); + expect(body.isComplete).toEqual(false); + }); + test("Test reportKeys not provided throws 400 error", async () => { const noKeyEvent: APIGatewayProxyEvent = { ...testReadEvent, @@ -135,7 +154,7 @@ describe("handlers/reports/fetch", () => { }; const res = await fetchReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -146,9 +165,16 @@ describe("handlers/reports/fetch", () => { }; const res = await fetchReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); + + test("Test unauthorized returns 403", async () => { + (isAuthorizedToFetchState as jest.Mock).mockReturnValueOnce(false); + const res = await fetchReport(testReadEvent, null); + expect(res.statusCode).toBe(StatusCodes.Forbidden); + expect(res.body).toContain(error.UNAUTHORIZED); + }); }); describe("Test fetchReportsByState API method", () => { @@ -158,8 +184,8 @@ describe("handlers/reports/fetch", () => { ]); const res = await fetchReportsByState(testReadEventByState, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); - const body = JSON.parse(res.body); + expect(res.statusCode).toBe(StatusCodes.Ok); + const body = JSON.parse(res.body!); expect(body[0].lastAlteredBy).toContain("Thelonious States"); expect(body[0].submissionName).toContain("testProgram"); }); @@ -171,7 +197,7 @@ describe("handlers/reports/fetch", () => { }; const res = await fetchReportsByState(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -182,8 +208,15 @@ describe("handlers/reports/fetch", () => { }; const res = await fetchReportsByState(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); + + test("Test unauthorized returns 403", async () => { + (isAuthorizedToFetchState as jest.Mock).mockReturnValueOnce(false); + const res = await fetchReportsByState(testReadEventByState, null); + expect(res.statusCode).toBe(StatusCodes.Forbidden); + expect(res.body).toContain(error.UNAUTHORIZED); + }); }); }); diff --git a/services/app-api/handlers/reports/fetch.ts b/services/app-api/handlers/reports/fetch.ts index cad59db68..f83ce2d82 100644 --- a/services/app-api/handlers/reports/fetch.ts +++ b/services/app-api/handlers/reports/fetch.ts @@ -11,53 +11,43 @@ import { parseStateReportParameters, } from "../../utils/auth/parameters"; // types -import { StatusCodes } from "../../utils/types"; import { getReportFieldData, getReportFormTemplate, getReportMetadata, queryReportMetadatasForState, } from "../../storage/reports"; +import { + badRequest, + forbidden, + notFound, + ok, +} from "../../utils/responses/response-lib"; export const fetchReport = handler(async (event, _context) => { const { allParamsValid, reportType, state, id } = parseSpecificReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } if (!isAuthorizedToFetchState(event, state)) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const reportMetadata = await getReportMetadata(reportType, state, id); if (!reportMetadata) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } const fieldData = await getReportFieldData(reportMetadata); if (!fieldData) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } const formTemplate = await getReportFormTemplate(reportMetadata); if (!formTemplate) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } if (!reportMetadata.completionStatus) { @@ -68,37 +58,25 @@ export const fetchReport = handler(async (event, _context) => { reportMetadata.isComplete = isComplete(reportMetadata.completionStatus); } - return { - status: StatusCodes.SUCCESS, - body: { - ...reportMetadata, - formTemplate, - fieldData, - }, - }; + return ok({ + ...reportMetadata, + formTemplate, + fieldData, + }); }); export const fetchReportsByState = handler(async (event, _context) => { const { allParamsValid, reportType, state } = parseStateReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } if (!isAuthorizedToFetchState(event, state!)) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const reportsByState = await queryReportMetadatasForState(reportType, state); - return { - status: StatusCodes.SUCCESS, - body: reportsByState, - }; + return ok(reportsByState); }); diff --git a/services/app-api/handlers/reports/release.test.ts b/services/app-api/handlers/reports/release.test.ts index 3c0987a1b..2d057f6a2 100644 --- a/services/app-api/handlers/reports/release.test.ts +++ b/services/app-api/handlers/reports/release.test.ts @@ -17,7 +17,8 @@ import { putReportFieldData, } from "../../storage/reports"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; jest.mock("../../storage/reports", () => ({ getReportMetadata: jest.fn(), @@ -26,10 +27,13 @@ jest.mock("../../storage/reports", () => ({ putReportFieldData: jest.fn(), putReportMetadata: jest.fn(), })); +(getReportMetadata as jest.Mock).mockResolvedValue(mockDynamoDataWPLocked); +(getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); +(getReportFormTemplate as jest.Mock).mockResolvedValue(mockReportJson); jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockResolvedValue(true), - hasPermissions: jest.fn(() => {}), + isAuthenticated: jest.fn().mockResolvedValue(true), + hasPermissions: jest.fn().mockReturnValue(true), })); const mockAuthUtil = require("../../utils/auth/authorization"); @@ -58,16 +62,11 @@ describe("Test releaseReport method", () => { }); test("Test release report passes with valid data", async () => { - mockAuthUtil.hasPermissions.mockReturnValueOnce(true); - (getReportMetadata as jest.Mock).mockResolvedValue(mockDynamoDataWPLocked); - (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); - (getReportFormTemplate as jest.Mock).mockResolvedValue(mockReportJson); - const res = await releaseReport(releaseEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(body.locked).toBe(false); expect(body.previousRevisions).toEqual([ mockDynamoDataWPLocked.fieldDataId, @@ -80,21 +79,18 @@ describe("Test releaseReport method", () => { }); test("Test release report passes with valid data, but it has been more than the first submission", async () => { - mockAuthUtil.hasPermissions.mockReturnValueOnce(true); const newPreviousId = KSUID.randomSync().string; - (getReportMetadata as jest.Mock).mockResolvedValue({ + (getReportMetadata as jest.Mock).mockResolvedValueOnce({ ...mockDynamoDataWPLocked, previousRevisions: [newPreviousId], submissionCount: 1, }); - (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); - (getReportFormTemplate as jest.Mock).mockResolvedValue(mockReportJson); const res = await releaseReport(releaseEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(body.locked).toBe(false); expect(body.submissionCount).toBe(1); expect(body.previousRevisions.length).toBe(2); @@ -105,12 +101,65 @@ describe("Test releaseReport method", () => { expect(body.fieldDataId).not.toBe(mockDynamoDataWPLocked.fieldDataId); }); + test("Test release report on already-released report", async () => { + const unlockedReport = { + ...mockDynamoDataWPLocked, + locked: false, + }; + (getReportMetadata as jest.Mock).mockResolvedValueOnce(unlockedReport); + + const res = await releaseReport(releaseEvent, null); + const body = JSON.parse(res.body!); + + expect(res.statusCode).toBe(StatusCodes.Ok); + expect(body.locked).toBe(false); + }); + + test("Test release report on archived report", async () => { + const unlockedReport = { + ...mockDynamoDataWPLocked, + archived: true, + }; + (getReportMetadata as jest.Mock).mockResolvedValueOnce(unlockedReport); + + const res = await releaseReport(releaseEvent, null); + + expect(res.statusCode).toBe(StatusCodes.Conflict); + expect(res.body).toContain(error.ALREADY_ARCHIVED); + }); + + test("Test release report with no parameters returns 400", async () => { + const event = { + ...releaseEvent, + pathParameters: { + ...releaseEvent.pathParameters, + state: undefined, + }, + }; + const res = await releaseReport(event, null); + expect(res.statusCode).toBe(StatusCodes.BadRequest); + expect(res.body).toContain(error.NO_KEY); + }); + test("Test release report with no existing record throws 404", async () => { - mockAuthUtil.hasPermissions.mockReturnValueOnce(true); - (getReportMetadata as jest.Mock).mockResolvedValue(undefined); + (getReportMetadata as jest.Mock).mockResolvedValueOnce(undefined); const res = await releaseReport(releaseEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); + expect(res.body).toContain(error.NO_MATCHING_RECORD); + }); + + test("Test release report with no field data returns 404", async () => { + (getReportFieldData as jest.Mock).mockResolvedValueOnce(undefined); + const res = await releaseReport(releaseEvent, null); + expect(res.statusCode).toBe(StatusCodes.NotFound); + expect(res.body).toContain(error.NO_MATCHING_RECORD); + }); + + test("Test release report with no form template returns 404", async () => { + (getReportFormTemplate as jest.Mock).mockResolvedValueOnce(undefined); + const res = await releaseReport(releaseEvent, null); + expect(res.statusCode).toBe(StatusCodes.NotFound); expect(res.body).toContain(error.NO_MATCHING_RECORD); }); @@ -118,7 +167,30 @@ describe("Test releaseReport method", () => { mockAuthUtil.hasPermissions.mockReturnValueOnce(false); const res = await releaseReport(releaseEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.UNAUTHORIZED); + expect(res.statusCode).toBe(StatusCodes.Forbidden); expect(res.body).toContain(error.UNAUTHORIZED); }); + + test("Test release report gives dynamo errors nicer messages", async () => { + (putReportMetadata as jest.Mock).mockImplementationOnce(() => { + throw new Error("A scary message about Dynamo internals 👻"); + }); + + const res = await releaseReport(releaseEvent, null); + + expect(res.statusCode).toBe(StatusCodes.InternalServerError); + expect(res.body).toContain(error.DYNAMO_UPDATE_ERROR); + }); + + test("Test release report gives s3 errors nicer messages", async () => { + mockAuthUtil.hasPermissions.mockReturnValueOnce(true); + (putReportFieldData as jest.Mock).mockImplementationOnce(() => { + throw new Error("A scary message about S3 internals 👻"); + }); + + const res = await releaseReport(releaseEvent, null); + + expect(res.statusCode).toBe(StatusCodes.InternalServerError); + expect(res.body).toContain(error.S3_OBJECT_CREATION_ERROR); + }); }); diff --git a/services/app-api/handlers/reports/release.ts b/services/app-api/handlers/reports/release.ts index cfc5ee84b..aecf62776 100644 --- a/services/app-api/handlers/reports/release.ts +++ b/services/app-api/handlers/reports/release.ts @@ -16,9 +16,16 @@ import { import { ReportMetadataShape, ReportStatus, - StatusCodes, UserRoles, } from "../../utils/types"; +import { + badRequest, + conflict, + forbidden, + internalServerError, + notFound, + ok, +} from "../../utils/responses/response-lib"; /** * Locked reports can be released by admins. @@ -35,47 +42,30 @@ export const releaseReport = handler(async (event) => { const { allParamsValid, reportType, state, id } = parseSpecificReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } // Return a 403 status if the user is not an admin. if (!hasPermissions(event, [UserRoles.ADMIN, UserRoles.APPROVER])) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const metadata = await getReportMetadata(reportType, state, id); if (!metadata) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } const isLocked = metadata.locked; // Report is not locked. if (!isLocked) { - return { - status: StatusCodes.SUCCESS, - body: { - ...metadata, - }, - }; + return ok(metadata); } const isArchived = metadata.archived; if (isArchived) { - return { - status: StatusCodes.SERVER_ERROR, - body: error.ALREADY_ARCHIVED, - }; + return conflict(error.ALREADY_ARCHIVED); } const newFieldDataId = KSUID.randomSync().string; @@ -86,18 +76,12 @@ export const releaseReport = handler(async (event) => { const fieldData = await getReportFieldData(metadata); if (!fieldData) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } const formTemplate = await getReportFormTemplate(metadata); if (!formTemplate) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } const updatedFieldData = { @@ -120,23 +104,14 @@ export const releaseReport = handler(async (event) => { try { await putReportMetadata(newReportMetadata); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.DYNAMO_UPDATE_ERROR, - }; + return internalServerError(error.DYNAMO_UPDATE_ERROR); } // Copy the original field data to a new location. try { await putReportFieldData(newReportMetadata, updatedFieldData); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.S3_OBJECT_CREATION_ERROR, - }; + return internalServerError(error.S3_OBJECT_CREATION_ERROR); } - return { - status: StatusCodes.SUCCESS, - body: newReportMetadata, - }; + return ok(newReportMetadata); }); diff --git a/services/app-api/handlers/reports/submit.test.ts b/services/app-api/handlers/reports/submit.test.ts index 18dcc7f9a..4360973bf 100644 --- a/services/app-api/handlers/reports/submit.test.ts +++ b/services/app-api/handlers/reports/submit.test.ts @@ -19,7 +19,8 @@ import { putReportMetadata, } from "../../storage/reports"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; mockClient(DynamoDBDocumentClient); @@ -32,7 +33,7 @@ jest.mock("../../storage/reports", () => ({ })); jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockReturnValue(true), + isAuthenticated: jest.fn().mockReturnValue(true), hasPermissions: jest.fn().mockReturnValue(true), })); @@ -65,7 +66,7 @@ describe("Test submitReport API method", () => { (getReportMetadata as jest.Mock).mockResolvedValue(undefined); const res = await submitReport(testSubmitEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); }); test("Test Successful Report Submittal", async () => { @@ -76,10 +77,10 @@ describe("Test submitReport API method", () => { (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); const res = await submitReport(testSubmitEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(body.lastAlteredBy).toContain("Thelonious States"); expect(body.submissionName).toContain("testProgram"); expect(body.isComplete).toStrictEqual(true); @@ -99,10 +100,10 @@ describe("Test submitReport API method", () => { (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); const res = await submitReport(testSubmitEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(body.lastAlteredBy).toContain("Thelonious States"); expect(body.submissionName).toContain("testProgram"); expect(body.isComplete).toStrictEqual(true); @@ -117,10 +118,10 @@ describe("Test submitReport API method", () => { (getReportMetadata as jest.Mock).mockResolvedValue(mockDynamoData); const res = await submitReport(testSubmitEvent, null); - const body = JSON.parse(res.body); + const body = JSON.parse(res.body!); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SERVER_ERROR); + expect(res.statusCode).toBe(StatusCodes.Conflict); expect(body).toStrictEqual(error.REPORT_INCOMPLETE); }); @@ -131,7 +132,7 @@ describe("Test submitReport API method", () => { }; const res = await submitReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -142,7 +143,7 @@ describe("Test submitReport API method", () => { }; const res = await submitReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); }); diff --git a/services/app-api/handlers/reports/submit.ts b/services/app-api/handlers/reports/submit.ts index 0978c4f09..bdc5fb10b 100644 --- a/services/app-api/handlers/reports/submit.ts +++ b/services/app-api/handlers/reports/submit.ts @@ -7,7 +7,7 @@ import { parseSpecificReportParameters } from "../../utils/auth/parameters"; import { error } from "../../utils/constants/constants"; import { convertDateUtcToEt } from "../../utils/time/time"; // types -import { ReportStatus, StatusCodes, UserRoles } from "../../utils/types"; +import { ReportStatus, UserRoles } from "../../utils/types"; import { getReportFieldData, getReportFormTemplate, @@ -15,125 +15,94 @@ import { putReportFieldData, putReportMetadata, } from "../../storage/reports"; +import { + badRequest, + conflict, + forbidden, + internalServerError, + notFound, + ok, +} from "../../utils/responses/response-lib"; export const submitReport = handler(async (event, _context) => { const { allParamsValid, reportType, state, id } = parseSpecificReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } if (!hasPermissions(event, [UserRoles.STATE_USER], state)) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } - try { - const reportMetadata = await getReportMetadata(reportType, state, id); - if (!reportMetadata) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NOT_IN_DATABASE, - }; - } - - const { status, isComplete } = reportMetadata; + const reportMetadata = await getReportMetadata(reportType, state, id); + if (!reportMetadata) { + return notFound(error.NOT_IN_DATABASE); + } - if (status === "Submitted") { - return { - status: StatusCodes.SUCCESS, - body: { - ...reportMetadata, - }, - }; - } + const { status, isComplete } = reportMetadata; - if (!isComplete) { - return { - status: StatusCodes.SERVER_ERROR, - body: error.REPORT_INCOMPLETE, - }; - } + if (status === "Submitted") { + return ok(reportMetadata); + } - const jwt = jwtDecode(event.headers["x-api-key"]!) as Record< - string, - string | bool - >; + if (!isComplete) { + return conflict(error.REPORT_INCOMPLETE); + } - const date = Date.now(); - const fullName = `${jwt.given_name} ${jwt.family_name}`; - const submissionCount = reportMetadata.submissionCount - ? reportMetadata.submissionCount + 1 - : 1; - const submittedReportMetadata = { - ...reportMetadata, - submittedBy: fullName, - submittedOnDate: date, - status: ReportStatus.SUBMITTED, - locked: true, - submissionCount: submissionCount, - }; + const jwt = jwtDecode(event.headers["x-api-key"]!) as Record< + string, + string | bool + >; - try { - await putReportMetadata(submittedReportMetadata); - } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.DYNAMO_UPDATE_ERROR, - }; - } + const date = Date.now(); + const fullName = `${jwt.given_name} ${jwt.family_name}`; + const submissionCount = reportMetadata.submissionCount + ? reportMetadata.submissionCount + 1 + : 1; + const submittedReportMetadata = { + ...reportMetadata, + submittedBy: fullName, + submittedOnDate: date, + status: ReportStatus.SUBMITTED, + locked: true, + submissionCount: submissionCount, + }; - const existingFieldData = await getReportFieldData(reportMetadata); - if (!existingFieldData) { - return { - status: StatusCodes.SERVER_ERROR, - body: error.NOT_IN_DATABASE, - }; - } + try { + await putReportMetadata(submittedReportMetadata); + } catch { + return internalServerError(error.DYNAMO_UPDATE_ERROR); + } - const fieldData = { - ...existingFieldData, - submitterName: fullName, - submitterEmailAddress: jwt.email, - reportSubmissionDate: convertDateUtcToEt(date), - }; + const existingFieldData = await getReportFieldData(reportMetadata); + if (!existingFieldData) { + return internalServerError(error.NOT_IN_DATABASE); + } - const formTemplate = await getReportFormTemplate(reportMetadata); - if (!formTemplate) { - return { - status: StatusCodes.SERVER_ERROR, - body: error.NOT_IN_DATABASE, - }; - } + const fieldData = { + ...existingFieldData, + submitterName: fullName, + submitterEmailAddress: jwt.email, + reportSubmissionDate: convertDateUtcToEt(date), + }; - try { - await putReportFieldData(reportMetadata, fieldData); - } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.S3_OBJECT_UPDATE_ERROR, - }; - } + const formTemplate = await getReportFormTemplate(reportMetadata); + if (!formTemplate) { + return internalServerError(error.NOT_IN_DATABASE); + } - return { - status: StatusCodes.SUCCESS, - body: { - ...submittedReportMetadata, - fieldData: { ...fieldData }, - formTemplate: { - ...formTemplate, - }, - }, - }; + try { + await putReportFieldData(reportMetadata, fieldData); } catch { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return internalServerError(error.S3_OBJECT_UPDATE_ERROR); } + + return ok({ + ...submittedReportMetadata, + fieldData: { ...fieldData }, + formTemplate: { + ...formTemplate, + }, + }); }); diff --git a/services/app-api/handlers/reports/update.test.ts b/services/app-api/handlers/reports/update.test.ts index 7f7f2c8ec..5dab3a0ba 100644 --- a/services/app-api/handlers/reports/update.test.ts +++ b/services/app-api/handlers/reports/update.test.ts @@ -16,7 +16,9 @@ import { putReportMetadata, } from "../../storage/reports"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; +import { hasPermissions } from "../../utils/auth/authorization"; jest.mock("../../storage/reports", () => ({ getReportFieldData: jest.fn(), @@ -27,7 +29,7 @@ jest.mock("../../storage/reports", () => ({ })); jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockResolvedValue(true), + isAuthenticated: jest.fn().mockResolvedValue(true), hasPermissions: jest.fn(() => {}), })); const mockAuthUtil = require("../../utils/auth/authorization"); @@ -113,12 +115,12 @@ describe("Test updateReport API method", () => { (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); const response = await updateReport(submissionEvent, null); - const body = JSON.parse(response.body); + const body = JSON.parse(response.body!); expect(body.status).toContain("submitted"); expect(body.fieldData["mock-number-field"]).toBe("2"); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(response.statusCode).toBe(StatusCodes.SUCCESS); + expect(response.statusCode).toBe(StatusCodes.Ok); expect(putReportFieldData).toHaveBeenCalled(); expect(putReportMetadata).toHaveBeenCalled(); }); @@ -131,25 +133,62 @@ describe("Test updateReport API method", () => { const response = await updateReport(invalidFieldDataSubmissionEvent, null); expect(consoleSpy.error).toHaveBeenCalled(); - expect(response.statusCode).toBe(StatusCodes.SERVER_ERROR); + expect(response.statusCode).toBe(StatusCodes.InternalServerError); expect(response.body).toContain(error.INVALID_DATA); expect(putReportFieldData).not.toHaveBeenCalled(); expect(putReportMetadata).not.toHaveBeenCalled(); }); + test("Test attempted report update with no data returns 400", async () => { + const noBodyEvent = { + ...submissionEvent, + body: null, + }; + const res = await updateReport(noBodyEvent, null); + expect(res.statusCode).toBe(StatusCodes.BadRequest); + expect(res.body).toContain(error.MISSING_DATA); + }); + test("Test attempted report update with invalid data throws 400", async () => { (getReportMetadata as jest.Mock).mockResolvedValue(mockWPReport); const res = await updateReport(updateEventWithInvalidData, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.BAD_REQUEST); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.MISSING_DATA); }); + test("Test attempted report update with disallowed metadata properties returns 400", async () => { + const eventWritingToReadonlyMetadataFields = { + ...submissionEvent, + body: `{"metadata":{"locked":true}}`, + }; + const res = await updateReport(eventWritingToReadonlyMetadataFields, null); + expect(res.statusCode).toBe(StatusCodes.BadRequest); + expect(res.body).toContain(error.INVALID_DATA); + }); + + test("Test attempted report update with disallowed fieldData properties returns 400", async () => { + const eventWritingToReadonlyFieldDataFields = { + ...submissionEvent, + body: `{"fieldData":{"submitterName":"Abaraham Lincoln"}}`, + }; + const res = await updateReport(eventWritingToReadonlyFieldDataFields, null); + expect(res.statusCode).toBe(StatusCodes.BadRequest); + expect(res.body).toContain(error.INVALID_DATA); + }); + + test("Test attempted report update without permissions returns 403", async () => { + (hasPermissions as jest.Mock).mockReturnValueOnce(false); + const res = await updateReport(submissionEvent, null); + expect(res.statusCode).toBe(StatusCodes.Forbidden); + expect(res.body).toContain(error.UNAUTHORIZED); + }); + test("Test attempted report update with no existing record throws 404", async () => { (getReportMetadata as jest.Mock).mockResolvedValue(undefined); const res = await updateReport(updateEventWithInvalidData, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.NOT_FOUND); + expect(res.statusCode).toBe(StatusCodes.NotFound); expect(res.body).toContain(error.NO_MATCHING_RECORD); }); @@ -162,7 +201,7 @@ describe("Test updateReport API method", () => { const res = await updateReport(updateEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.UNAUTHORIZED); + expect(res.statusCode).toBe(StatusCodes.Forbidden); expect(res.body).toContain(error.UNAUTHORIZED); }); @@ -174,7 +213,7 @@ describe("Test updateReport API method", () => { const res = await updateReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); @@ -186,7 +225,47 @@ describe("Test updateReport API method", () => { const res = await updateReport(noKeyEvent, null); expect(consoleSpy.warn).toHaveBeenCalled(); - expect(res.statusCode).toBe(400); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_KEY); }); + + test("Test missing form template returns 404", async () => { + (getReportMetadata as jest.Mock).mockResolvedValue(mockDynamoData); + (getReportFormTemplate as jest.Mock).mockResolvedValue(undefined); + (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); + + const response = await updateReport(submissionEvent, null); + + expect(response.statusCode).toBe(StatusCodes.NotFound); + expect(response.body).toContain(error.MISSING_DATA); + }); + + test("Test missing field data returns 404", async () => { + (getReportMetadata as jest.Mock).mockResolvedValue(mockDynamoData); + (getReportFormTemplate as jest.Mock).mockResolvedValue(mockReportJson); + (getReportFieldData as jest.Mock).mockResolvedValue(undefined); + + const response = await updateReport(submissionEvent, null); + + expect(response.statusCode).toBe(StatusCodes.NotFound); + expect(response.body).toContain(error.MISSING_DATA); + }); + + test("Test attempted report update when form template missing validationJson throws 500", async () => { + const formTemplateWithNoValidation = { + ...mockReportJson, + validationJson: undefined, + }; + + (getReportMetadata as jest.Mock).mockResolvedValue(mockDynamoData); + (getReportFormTemplate as jest.Mock).mockResolvedValue( + formTemplateWithNoValidation + ); + (getReportFieldData as jest.Mock).mockResolvedValue(mockReportFieldData); + + const response = await updateReport(submissionEvent, null); + + expect(response.statusCode).toBe(StatusCodes.InternalServerError); + expect(response.body).toContain(error.MISSING_FORM_TEMPLATE); + }); }); diff --git a/services/app-api/handlers/reports/update.ts b/services/app-api/handlers/reports/update.ts index 5b7b6134d..173cb5627 100644 --- a/services/app-api/handlers/reports/update.ts +++ b/services/app-api/handlers/reports/update.ts @@ -13,7 +13,7 @@ import { isComplete, } from "../../utils/validation/completionStatus"; // types -import { StatusCodes, UserRoles } from "../../utils/types"; +import { UserRoles } from "../../utils/types"; import { removeNotApplicablePopsFromInitiatives } from "../../utils/data/data"; import { getReportFieldData, @@ -22,23 +22,24 @@ import { putReportFieldData, putReportMetadata, } from "../../storage/reports"; +import { + badRequest, + forbidden, + internalServerError, + notFound, + ok, +} from "../../utils/responses/response-lib"; export const updateReport = handler(async (event) => { const { allParamsValid, reportType, state, id } = parseSpecificReportParameters(event); if (!allParamsValid) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.NO_KEY, - }; + return badRequest(error.NO_KEY); } // If request body is missing, return a 400 error. if (!event?.body) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.MISSING_DATA, - }; + return badRequest(error.MISSING_DATA); } // Blocklisted keys @@ -54,67 +55,43 @@ export const updateReport = handler(async (event) => { "reportSubmissionDate", ]; - try { - const eventBody = JSON.parse(event.body); - if ( - (eventBody.metadata && - Object.keys(eventBody.metadata).some((_) => - metadataBlocklist.includes(_) - )) || - (eventBody.fieldData && - Object.keys(eventBody.fieldData).some((_) => - fieldDataBlocklist.includes(_) - )) - ) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.INVALID_DATA, - }; - } - } catch { - return { - status: StatusCodes.BAD_REQUEST, - body: error.INVALID_DATA, - }; + // This parse is guaranteed to succeed, because handler-lib already did it. + const eventBody = JSON.parse(event.body); + if ( + (eventBody.metadata && + Object.keys(eventBody.metadata).some((_) => + metadataBlocklist.includes(_) + )) || + (eventBody.fieldData && + Object.keys(eventBody.fieldData).some((_) => + fieldDataBlocklist.includes(_) + )) + ) { + return badRequest(error.INVALID_DATA); } // Ensure user has correct permissions to update a report. if (!hasPermissions(event, [UserRoles.STATE_USER], state)) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const currentReport = await getReportMetadata(reportType, state, id); if (!currentReport) { - return { - status: StatusCodes.NOT_FOUND, - body: error.NO_MATCHING_RECORD, - }; + return notFound(error.NO_MATCHING_RECORD); } if (currentReport.archived || currentReport.locked) { - return { - status: StatusCodes.UNAUTHORIZED, - body: error.UNAUTHORIZED, - }; + return forbidden(error.UNAUTHORIZED); } const formTemplate = await getReportFormTemplate(currentReport); if (!formTemplate) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.MISSING_DATA, - }; + return notFound(error.MISSING_DATA); } const existingFieldData = await getReportFieldData(currentReport); if (!existingFieldData) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.MISSING_DATA, - }; + return notFound(error.MISSING_DATA); } // Parse the passed payload. @@ -124,18 +101,12 @@ export const updateReport = handler(async (event) => { unvalidatedPayload; if (!unvalidatedFieldData) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.MISSING_DATA, - }; + return badRequest(error.MISSING_DATA); } // Validation JSON should be there—if it's not, there's an issue. if (!formTemplate.validationJson) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.MISSING_FORM_TEMPLATE, - }; + return internalServerError(error.MISSING_FORM_TEMPLATE); } // Validate passed field data @@ -145,10 +116,7 @@ export const updateReport = handler(async (event) => { ); if (!validatedFieldData) { - return { - status: StatusCodes.SERVER_ERROR, - body: error.INVALID_DATA, - }; + return badRequest(error.INVALID_DATA); } // Finalize fieldData to be sent to s3 @@ -161,10 +129,7 @@ export const updateReport = handler(async (event) => { try { await putReportFieldData(currentReport, cleanedFieldData); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.S3_OBJECT_UPDATE_ERROR, - }; + return internalServerError(error.S3_OBJECT_UPDATE_ERROR); } const completionStatus = await calculateCompletionStatus( @@ -180,10 +145,7 @@ export const updateReport = handler(async (event) => { // If metadata fails validation, return 400 if (!validatedMetadata) { - return { - status: StatusCodes.BAD_REQUEST, - body: error.INVALID_DATA, - }; + return badRequest(error.INVALID_DATA); } // Update record in report metadata table @@ -197,18 +159,12 @@ export const updateReport = handler(async (event) => { try { await putReportMetadata(updatedMetadata); } catch { - return { - status: StatusCodes.SERVER_ERROR, - body: error.DYNAMO_UPDATE_ERROR, - }; + return internalServerError(error.DYNAMO_UPDATE_ERROR); } - return { - status: StatusCodes.SUCCESS, - body: { - ...updatedMetadata, - fieldData, - formTemplate, - }, - }; + return ok({ + ...updatedMetadata, + fieldData, + formTemplate, + }); }); diff --git a/services/app-api/handlers/templates/fetch.test.ts b/services/app-api/handlers/templates/fetch.test.ts index 73815473f..55f285f70 100644 --- a/services/app-api/handlers/templates/fetch.test.ts +++ b/services/app-api/handlers/templates/fetch.test.ts @@ -3,10 +3,11 @@ import { fetchTemplate } from "./fetch"; import { proxyEvent } from "../../utils/testing/proxyEvent"; import { error } from "../../utils/constants/constants"; // types -import { APIGatewayProxyEvent, StatusCodes } from "../../utils/types"; +import { APIGatewayProxyEvent } from "../../utils/types"; +import { StatusCodes } from "../../utils/responses/response-lib"; jest.mock("../../utils/auth/authorization", () => ({ - isAuthorized: jest.fn().mockReturnValue(true), + isAuthenticated: jest.fn().mockReturnValue(true), })); jest.mock("../../storage/templates", () => ({ @@ -37,7 +38,7 @@ describe("Test fetchTemplate API method", () => { const res = await fetchTemplate(wpEvent, null); expect(consoleSpy.debug).toHaveBeenCalled(); - expect(res.statusCode).toBe(StatusCodes.SUCCESS); + expect(res.statusCode).toBe(StatusCodes.Ok); expect(res.body).toContain("s3://fakeurl.bucket.here"); }); @@ -48,8 +49,7 @@ describe("Test fetchTemplate API method", () => { }; const res = await fetchTemplate(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(500); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.NO_TEMPLATE_NAME); }); @@ -60,8 +60,7 @@ describe("Test fetchTemplate API method", () => { }; const res = await fetchTemplate(noKeyEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(res.statusCode).toBe(500); + expect(res.statusCode).toBe(StatusCodes.BadRequest); expect(res.body).toContain(error.INVALID_TEMPLATE_NAME); }); }); diff --git a/services/app-api/handlers/templates/fetch.ts b/services/app-api/handlers/templates/fetch.ts index 7f76596b4..c9d10bdde 100644 --- a/services/app-api/handlers/templates/fetch.ts +++ b/services/app-api/handlers/templates/fetch.ts @@ -3,7 +3,8 @@ import handler from "../handler-lib"; import { error } from "../../utils/constants/constants"; import { getTemplateDownloadUrl } from "../../storage/templates"; // types -import { StatusCodes, TemplateKeys } from "../../utils/types"; +import { TemplateKeys } from "../../utils/types"; +import { badRequest, ok } from "../../utils/responses/response-lib"; /* * NOTE: This handler is not concerned with _form_ templates, like wp.json! @@ -14,14 +15,14 @@ import { StatusCodes, TemplateKeys } from "../../utils/types"; export const fetchTemplate = handler(async (event, _context) => { if (!event?.pathParameters?.templateName!) { - throw new Error(error.NO_TEMPLATE_NAME); + return badRequest(error.NO_TEMPLATE_NAME); } let key: TemplateKeys | undefined; if (event.pathParameters.templateName === "WP") { key = TemplateKeys.WP; } else { - throw new Error(error.INVALID_TEMPLATE_NAME); + return badRequest(error.INVALID_TEMPLATE_NAME); } const url = await getTemplateDownloadUrl(key); - return { status: StatusCodes.SUCCESS, body: url }; + return ok(url); }); diff --git a/services/app-api/storage/dynamodb-lib.ts b/services/app-api/storage/dynamodb-lib.ts index 7d7aea0e5..0236c6e23 100644 --- a/services/app-api/storage/dynamodb-lib.ts +++ b/services/app-api/storage/dynamodb-lib.ts @@ -35,7 +35,7 @@ export const collectPageItems = async < >( paginator: Paginator ) => { - let items: Record = []; + let items: Record[] = []; for await (let page of paginator) { items = items.concat(page.Items ?? []); } diff --git a/services/app-api/utils/auth/authorization.test.ts b/services/app-api/utils/auth/authorization.test.ts index 4f40550a1..ede47e2cb 100644 --- a/services/app-api/utils/auth/authorization.test.ts +++ b/services/app-api/utils/auth/authorization.test.ts @@ -3,7 +3,7 @@ import { mockClient } from "aws-sdk-client-mock"; import { proxyEvent } from "../testing/proxyEvent"; import { hasPermissions, - isAuthorized, + isAuthenticated, isAuthorizedToFetchState, } from "./authorization"; import { UserRoles } from "../types"; @@ -46,19 +46,19 @@ describe("Test authorization with api key and environment variables", () => { }); test("is not authorized when no api key is passed", async () => { mockVerifier.mockReturnValue(true); - const authStatus = await isAuthorized(noApiKeyEvent); + const authStatus = await isAuthenticated(noApiKeyEvent); expect(authStatus).toBeFalsy(); }); test("is not authorized when token is invalid", async () => { mockVerifier.mockImplementation(() => { throw new Error("could not verify"); }); - const authStatus = await isAuthorized(apiKeyEvent); + const authStatus = await isAuthenticated(apiKeyEvent); expect(authStatus).toBeFalsy(); }); test("is authorized when api key is passed and environment variables are set", async () => { mockVerifier.mockReturnValue(true); - const authStatus = await isAuthorized(apiKeyEvent); + const authStatus = await isAuthenticated(apiKeyEvent); expect(authStatus).toBeTruthy(); }); }); @@ -75,14 +75,16 @@ describe("Test authorization with api key and ssm parameters", () => { throw new Error("failed in test"); }); ssmClientMock.on(GetParameterCommand).callsFake(mockGetSsmParameter); - await expect(isAuthorized(apiKeyEvent)).rejects.toThrow("failed in test"); + await expect(isAuthenticated(apiKeyEvent)).rejects.toThrow( + "failed in test" + ); }); test("is authorized when api key is passed and ssm parameters exist", async () => { const mockGetSsmParameter = jest .fn() .mockResolvedValue({ Parameter: { Value: "VALUE" } }); ssmClientMock.on(GetParameterCommand).callsFake(mockGetSsmParameter); - const authStatus = await isAuthorized(apiKeyEvent); + const authStatus = await isAuthenticated(apiKeyEvent); expect(authStatus).toBeTruthy(); }); @@ -92,7 +94,7 @@ describe("Test authorization with api key and ssm parameters", () => { const mockGetSsmParameter = jest.fn().mockResolvedValue(mockSsmResponse); ssmClientMock.on(GetParameterCommand).callsFake(mockGetSsmParameter); - await isAuthorized(apiKeyEvent); + await isAuthenticated(apiKeyEvent); expect(mockGetSsmParameter).toHaveBeenCalled(); }); @@ -101,7 +103,7 @@ describe("Test authorization with api key and ssm parameters", () => { delete process.env["COGNITO_USER_POOL_CLIENT_ID"]; ssmClientMock.on(GetParameterCommand).resolves({}); - await expect(isAuthorized(apiKeyEvent)).rejects.toThrow(Error); + await expect(isAuthenticated(apiKeyEvent)).rejects.toThrow(Error); }); }); diff --git a/services/app-api/utils/auth/authorization.ts b/services/app-api/utils/auth/authorization.ts index 2202f616c..3362229bb 100644 --- a/services/app-api/utils/auth/authorization.ts +++ b/services/app-api/utils/auth/authorization.ts @@ -41,7 +41,7 @@ const loadCognitoValues = async () => { } }; -export const isAuthorized = async (event: APIGatewayProxyEvent) => { +export const isAuthenticated = async (event: APIGatewayProxyEvent) => { const cognitoValues = await loadCognitoValues(); // Verifier that expects valid access tokens: @@ -51,17 +51,17 @@ export const isAuthorized = async (event: APIGatewayProxyEvent) => { clientId: cognitoValues.userPoolClientId, }); - let isAuthorized; + let isAuthenticated; if (event?.headers?.["x-api-key"]) { try { - isAuthorized = await verifier.verify(event.headers["x-api-key"]); + isAuthenticated = await verifier.verify(event.headers["x-api-key"]); } catch { - // verification failed - unauthorized - isAuthorized = false; + // verification failed - unauthenticated + isAuthenticated = false; } } - return !!isAuthorized; + return !!isAuthenticated; }; export const hasPermissions = ( diff --git a/services/app-api/utils/constants/constants.ts b/services/app-api/utils/constants/constants.ts index 4915a4cd6..15886c3be 100644 --- a/services/app-api/utils/constants/constants.ts +++ b/services/app-api/utils/constants/constants.ts @@ -28,7 +28,7 @@ export const error = { ALREADY_ARCHIVED: "Cannot update archived report.", ALREADY_LOCKED: "Cannot update locked report.", REPORT_INCOMPLETE: "Cannot submit incomplete form.", -}; +} as const; export const buckets = { FORM_TEMPLATE: "formTemplates", diff --git a/services/app-api/utils/responses/response-lib.test.ts b/services/app-api/utils/responses/response-lib.test.ts index 6cae5e812..3c24cb5eb 100644 --- a/services/app-api/utils/responses/response-lib.test.ts +++ b/services/app-api/utils/responses/response-lib.test.ts @@ -1,25 +1,39 @@ -import { buildResponse, internalServerError } from "./response-lib"; +import { + ok, + created, + badRequest, + unauthenticated, + forbidden, + notFound, + conflict, + internalServerError, +} from "./response-lib"; -test("Internal Server Error should give a 500 status", () => { - const res = internalServerError("internal error"); - expect(res.body).toBe(JSON.stringify("internal error")); - expect(res.statusCode).toBe(500); - expect(res.headers["Access-Control-Allow-Origin"]).toBe("*"); - expect(res.headers["Access-Control-Allow-Credentials"]).toBe(true); -}); +describe("HTTP Response helper functions", () => { + test("Responses should have correct status codes", () => { + expect(ok({}).statusCode).toBe(200); + expect(created({}).statusCode).toBe(201); + expect(badRequest({}).statusCode).toBe(400); + expect(unauthenticated({}).statusCode).toBe(401); + expect(forbidden({}).statusCode).toBe(403); + expect(notFound({}).statusCode).toBe(404); + expect(conflict({}).statusCode).toBe(409); + expect(internalServerError({}).statusCode).toBe(500); + }); -test("Build Response should create an object with a status code 420 and message", () => { - const res = buildResponse(400, "status is 400"); - expect(res.body).toBe(JSON.stringify("status is 400")); - expect(res.statusCode).toBe(400); - expect(res.headers["Access-Control-Allow-Origin"]).toBe("*"); - expect(res.headers["Access-Control-Allow-Credentials"]).toBe(true); -}); + test("Responses should exclude a body if not provided", () => { + const response = badRequest(); + expect(response.body).toBeUndefined(); + }); + + test("Responses should include a body if provided", () => { + const res = badRequest("try again"); + expect(res.body).toBe('"try again"'); + }); -test("Build Response should create an object with a status code 403 and message", () => { - const res = buildResponse(403, "Unauthorized"); - expect(res.body).toBe(JSON.stringify("Unauthorized")); - expect(res.statusCode).toBe(403); - expect(res.headers["Access-Control-Allow-Origin"]).toBe("*"); - expect(res.headers["Access-Control-Allow-Credentials"]).toBe(true); + test("Responses should have the correct headers", () => { + const response = ok({}); + expect(response.headers["Access-Control-Allow-Origin"]).toBe("*"); + expect(response.headers["Access-Control-Allow-Credentials"]).toBe(true); + }); }); diff --git a/services/app-api/utils/responses/response-lib.ts b/services/app-api/utils/responses/response-lib.ts index 76dc7e0c0..ea0222c9e 100644 --- a/services/app-api/utils/responses/response-lib.ts +++ b/services/app-api/utils/responses/response-lib.ts @@ -1,14 +1,95 @@ -export function internalServerError(body: any) { - return buildResponse(500, body); +/** + * The response for a successful request. + * Should include a body for GET, PUT, or POST. + * Need not include a body for DELETE + */ +export const ok = (body?: Object) => new HttpResponse(StatusCodes.Ok, body); + +/** + * The response for a successful POST or PUT request, + * which resulted in the creation of a new resource. + */ +export const created = (body: Object) => + new HttpResponse(StatusCodes.Created, body); + +/** + * The response for a failed request, due to client-side issues. + * Typically indicates a missing parameter or malformed body. + */ +export const badRequest = (body?: Object) => + new HttpResponse(StatusCodes.BadRequest, body); + +/** + * The response for a client without any authorization. + * Typically indicates an issue with the request's headers or token. + * + * Note: The usual name for HTTP 401 is "Unauthorized", but that's misleading. + * Authentication is for identity; authorization is for permissions. + */ +export const unauthenticated = (body?: Object) => + new HttpResponse(StatusCodes.Unauthenticated, body); + +/** + * The response for a client without sufficient permissions. + * This is specific to the requested operation. + * For example, a regular user requesting an admin-only endpoint. + */ +export const forbidden = (body?: Object) => + new HttpResponse(StatusCodes.Forbidden, body); + +/** + * The response for a request that assumes the existence of a missing resource. + * For example, attempting to submit a report that isn't in the database. + */ +export const notFound = (body?: Object) => + new HttpResponse(StatusCodes.NotFound, body); + +/** + * The response for a request that assumes the server is in a different state. + * For example, attempting to submit a report that's already submitted. + */ +export const conflict = (body?: Object) => + new HttpResponse(StatusCodes.Conflict, body); + +/** + * The response for a request that errored out on the server side. + * Typically indicates there is nothing the client can do to resolve the issue. + */ +export const internalServerError = (body?: Object) => + new HttpResponse(StatusCodes.InternalServerError, body); + +/** + * Note: Production code shouldn't need to reference this directly. + * Use a helper method instead. + * + * This enum is listed mainly for the purpose of unit testing. + */ +export enum StatusCodes { + Ok = 200, + Created = 201, + BadRequest = 400, + Unauthenticated = 401, + Forbidden = 403, + NotFound = 404, + Conflict = 409, + InternalServerError = 500, } -export function buildResponse(statusCode: number, body: any) { - return { - statusCode: statusCode, - headers: { - "Access-Control-Allow-Origin": "*", - "Access-Control-Allow-Credentials": true, - }, - body: JSON.stringify(body), +/** + * Note: Production code shouldn't need to reference this directly. + * Use a helper method instead. + */ +export class HttpResponse { + readonly statusCode: number; + readonly body: string | undefined; + readonly headers = { + "Access-Control-Allow-Origin": "*", + "Access-Control-Allow-Credentials": true, }; + constructor(statusCode: number, body?: Object | undefined) { + this.statusCode = statusCode; + if (body !== undefined) { + this.body = JSON.stringify(body); + } + } } diff --git a/services/app-api/utils/types/other.ts b/services/app-api/utils/types/other.ts index 1587f523e..53b2ff99d 100644 --- a/services/app-api/utils/types/other.ts +++ b/services/app-api/utils/types/other.ts @@ -4,15 +4,6 @@ export interface AnyObject { [key: string]: any; } -export const enum StatusCodes { - SUCCESS = 200, - CREATED = 201, - BAD_REQUEST = 400, - UNAUTHORIZED = 403, - NOT_FOUND = 404, - SERVER_ERROR = 500, -} - export interface CompletionData { [key: string]: boolean | CompletionData; } From 2b6b7e284252281deab0f8b7f8c70c07ac922be8 Mon Sep 17 00:00:00 2001 From: Garrett Rabian <57802560+gmrabian@users.noreply.github.com> Date: Mon, 23 Sep 2024 10:17:26 -0400 Subject: [PATCH 07/41] Improve error catching (#762) Co-authored-by: benmartin-coforma --- services/app-api/handlers/banners/create.ts | 77 ++++++++++--------- services/app-api/handlers/banners/delete.ts | 10 +-- services/app-api/handlers/reports/create.ts | 32 ++++---- .../app-api/handlers/reports/update.test.ts | 3 +- services/app-api/handlers/reports/update.ts | 28 +++---- .../app-api/utils/auth/authorization.test.ts | 4 +- services/app-api/utils/auth/authorization.ts | 15 ++-- 7 files changed, 89 insertions(+), 80 deletions(-) diff --git a/services/app-api/handlers/banners/create.ts b/services/app-api/handlers/banners/create.ts index e35c7adc6..6e6790e39 100644 --- a/services/app-api/handlers/banners/create.ts +++ b/services/app-api/handlers/banners/create.ts @@ -1,57 +1,62 @@ import handler from "../handler-lib"; -// utils -import { hasPermissions } from "../../utils/auth/authorization"; -import { error } from "../../utils/constants/constants"; // types import { UserRoles } from "../../utils/types"; import { number, object, string } from "yup"; -import { validateData } from "../../utils/validation/validation"; +// utils import { putBanner } from "../../storage/banners"; +import { hasPermissions } from "../../utils/auth/authorization"; +import { error } from "../../utils/constants/constants"; +import { validateData } from "../../utils/validation/validation"; import { badRequest, created, forbidden, + internalServerError, } from "../../utils/responses/response-lib"; +const validationSchema = object().shape({ + key: string().required(), + title: string().required(), + description: string().required(), + link: string().url().notRequired(), + startDate: number().required(), + endDate: number().required(), +}); + export const createBanner = handler(async (event, _context) => { if (!hasPermissions(event, [UserRoles.ADMIN])) { return forbidden(error.UNAUTHORIZED); - } else if (!event?.pathParameters?.bannerId!) { + } + if (!event?.pathParameters?.bannerId!) { return badRequest(error.NO_KEY); - } else { - const unvalidatedPayload = JSON.parse(event!.body!); + } + const unvalidatedPayload = JSON.parse(event.body!); - const validationSchema = object().shape({ - key: string().required(), - title: string().required(), - description: string().required(), - link: string().url().notRequired(), - startDate: number().required(), - endDate: number().required(), - }); + let validatedPayload; + try { + validatedPayload = await validateData(validationSchema, unvalidatedPayload); + } catch { + return badRequest(error.INVALID_DATA); + } - let validatedPayload; - try { - validatedPayload = await validateData( - validationSchema, - unvalidatedPayload - ); - } catch { - return badRequest(error.INVALID_DATA); - } + const { title, description, link, startDate, endDate } = validatedPayload; + const currentTime = Date.now(); - const newBanner = { - key: event.pathParameters.bannerId, - createdAt: Date.now(), - lastAltered: Date.now(), - lastAlteredBy: event?.headers["cognito-identity-id"], - title: validatedPayload.title, - description: validatedPayload.description, - link: validatedPayload.link, - startDate: validatedPayload.startDate, - endDate: validatedPayload.endDate, - }; + const newBanner = { + key: event.pathParameters.bannerId, + createdAt: currentTime, + lastAltered: currentTime, + lastAlteredBy: event?.headers["cognito-identity-id"], + title, + description, + link, + startDate, + endDate, + }; + try { await putBanner(newBanner); - return created(newBanner); + } catch { + return internalServerError(error.DYNAMO_CREATION_ERROR); } + return created(newBanner); }); diff --git a/services/app-api/handlers/banners/delete.ts b/services/app-api/handlers/banners/delete.ts index 961623c50..178030946 100644 --- a/services/app-api/handlers/banners/delete.ts +++ b/services/app-api/handlers/banners/delete.ts @@ -10,11 +10,11 @@ import { badRequest, forbidden, ok } from "../../utils/responses/response-lib"; export const deleteBanner = handler(async (event, _context) => { if (!hasPermissions(event, [UserRoles.ADMIN])) { return forbidden(error.UNAUTHORIZED); - } else if (!event?.pathParameters?.bannerId!) { + } + if (!event?.pathParameters?.bannerId!) { return badRequest(error.NO_KEY); - } else { - const bannerId = event?.pathParameters?.bannerId!; - await deleteBannerById(bannerId); - return ok(); } + const bannerId = event?.pathParameters?.bannerId!; + await deleteBannerById(bannerId); + return ok(); }); diff --git a/services/app-api/handlers/reports/create.ts b/services/app-api/handlers/reports/create.ts index 82e6a3716..223f8b6d7 100644 --- a/services/app-api/handlers/reports/create.ts +++ b/services/app-api/handlers/reports/create.ts @@ -75,7 +75,7 @@ export const createReport = handler( ? await getEligibleWorkPlan(state) : { workPlanMetadata: undefined, workPlanFieldData: undefined }; - // If we recieved no work plan information and we're trying to create a SAR, return NO_WORKPLANS_FOUND + // If we received no work plan information and we're trying to create a SAR, return NO_WORKPLANS_FOUND if ( reportType === ReportType.SAR && (!workPlanMetadata || !workPlanFieldData) @@ -132,10 +132,15 @@ export const createReport = handler( } // Setup validation for what we expect to see in the payload - let validatedFieldData = await validateFieldData( - creationFieldDataValidationJson, - unvalidatedFieldData - ); + let validatedFieldData; + try { + validatedFieldData = await validateFieldData( + creationFieldDataValidationJson, + unvalidatedFieldData + ); + } catch { + return badRequest(error.INVALID_DATA); + } // If we are creating a SAR and found a Work Plan to copy from, grab its field data and add it to our SAR if (workPlanFieldData) { @@ -147,8 +152,8 @@ export const createReport = handler( extractWorkPlanData(validatedFieldData!, reportYear, reportPeriod); } - // Return INVALID_DATA error if field data is not valid. - if (!validatedFieldData || Object.keys(validatedFieldData).length === 0) { + // Return INVALID_DATA error field data has no valid entries + if (validatedFieldData && Object.keys(validatedFieldData).length === 0) { return badRequest(error.INVALID_DATA); } // End Section - Check the payload that was sent with the request and validate it @@ -189,12 +194,13 @@ export const createReport = handler( */ // Validate the metadata for the submission - const validatedMetadata = await validateData(metadataValidationSchema, { - ...unvalidatedMetadata, - }); - - // Return INVALID_DATA error if metadata is not valid. - if (!validatedMetadata) { + let validatedMetadata; + try { + validatedMetadata = await validateData(metadataValidationSchema, { + ...unvalidatedMetadata, + }); + } catch { + // Return INVALID_DATA error if metadata is not valid. return badRequest(error.INVALID_DATA); } diff --git a/services/app-api/handlers/reports/update.test.ts b/services/app-api/handlers/reports/update.test.ts index 5dab3a0ba..3edcbdd52 100644 --- a/services/app-api/handlers/reports/update.test.ts +++ b/services/app-api/handlers/reports/update.test.ts @@ -132,8 +132,7 @@ describe("Test updateReport API method", () => { const response = await updateReport(invalidFieldDataSubmissionEvent, null); - expect(consoleSpy.error).toHaveBeenCalled(); - expect(response.statusCode).toBe(StatusCodes.InternalServerError); + expect(response.statusCode).toBe(StatusCodes.BadRequest); expect(response.body).toContain(error.INVALID_DATA); expect(putReportFieldData).not.toHaveBeenCalled(); expect(putReportMetadata).not.toHaveBeenCalled(); diff --git a/services/app-api/handlers/reports/update.ts b/services/app-api/handlers/reports/update.ts index 173cb5627..58f332c97 100644 --- a/services/app-api/handlers/reports/update.ts +++ b/services/app-api/handlers/reports/update.ts @@ -110,12 +110,13 @@ export const updateReport = handler(async (event) => { } // Validate passed field data - const validatedFieldData = await validateFieldData( - formTemplate.validationJson, - unvalidatedFieldData - ); - - if (!validatedFieldData) { + let validatedFieldData; + try { + validatedFieldData = await validateFieldData( + formTemplate.validationJson, + unvalidatedFieldData + ); + } catch { return badRequest(error.INVALID_DATA); } @@ -138,13 +139,14 @@ export const updateReport = handler(async (event) => { ); // validate report metadata - const validatedMetadata = await validateData(metadataValidationSchema, { - ...unvalidatedMetadata, - completionStatus, - }); - - // If metadata fails validation, return 400 - if (!validatedMetadata) { + let validatedMetadata; + try { + validatedMetadata = await validateData(metadataValidationSchema, { + ...unvalidatedMetadata, + completionStatus, + }); + } catch { + // If metadata fails validation, return 400 return badRequest(error.INVALID_DATA); } diff --git a/services/app-api/utils/auth/authorization.test.ts b/services/app-api/utils/auth/authorization.test.ts index ede47e2cb..0a888e4ab 100644 --- a/services/app-api/utils/auth/authorization.test.ts +++ b/services/app-api/utils/auth/authorization.test.ts @@ -45,7 +45,9 @@ describe("Test authorization with api key and environment variables", () => { jest.clearAllMocks(); }); test("is not authorized when no api key is passed", async () => { - mockVerifier.mockReturnValue(true); + mockVerifier.mockImplementation(() => { + throw new Error("no key provided"); + }); const authStatus = await isAuthenticated(noApiKeyEvent); expect(authStatus).toBeFalsy(); }); diff --git a/services/app-api/utils/auth/authorization.ts b/services/app-api/utils/auth/authorization.ts index 3362229bb..fb574cb3a 100644 --- a/services/app-api/utils/auth/authorization.ts +++ b/services/app-api/utils/auth/authorization.ts @@ -51,17 +51,12 @@ export const isAuthenticated = async (event: APIGatewayProxyEvent) => { clientId: cognitoValues.userPoolClientId, }); - let isAuthenticated; - if (event?.headers?.["x-api-key"]) { - try { - isAuthenticated = await verifier.verify(event.headers["x-api-key"]); - } catch { - // verification failed - unauthenticated - isAuthenticated = false; - } + try { + await verifier.verify(event?.headers?.["x-api-key"]!); + return true; + } catch { + return false; } - - return !!isAuthenticated; }; export const hasPermissions = ( From fdeaa4955792397e902e08f02e77e8ccaaf51de5 Mon Sep 17 00:00:00 2001 From: Britt Date: Mon, 23 Sep 2024 08:38:04 -0600 Subject: [PATCH 08/41] Cmdct 3993 - add padding between text and edit button in entity row (#764) --- services/ui-src/src/components/tables/EntityRow.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/ui-src/src/components/tables/EntityRow.tsx b/services/ui-src/src/components/tables/EntityRow.tsx index 888e30817..98097770b 100644 --- a/services/ui-src/src/components/tables/EntityRow.tsx +++ b/services/ui-src/src/components/tables/EntityRow.tsx @@ -263,8 +263,12 @@ const sx = { }, }, actionContainer: { + paddingLeft: "1.5rem", alignItems: "center", display: "flex", + ".mobile &": { + paddingLeft: 0, + }, }, editNameButton: { fontWeight: "normal", From 68c1f9d437ec8e5248279fd948df77a1f91e030b Mon Sep 17 00:00:00 2001 From: Garrett Rabian <57802560+gmrabian@users.noreply.github.com> Date: Mon, 23 Sep 2024 14:58:17 -0400 Subject: [PATCH 09/41] Remove postman folder (#768) --- .pre-commit-config.yaml | 2 - README.md | 2 - postman/MFP.postman_collection.json | 667 --------------------------- postman/MFP.postman_environment.json | 51 -- postman/README.md | 60 --- 5 files changed, 782 deletions(-) delete mode 100644 postman/MFP.postman_collection.json delete mode 100644 postman/MFP.postman_environment.json delete mode 100644 postman/README.md diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 126382d30..b78e5cb2a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -38,8 +38,6 @@ repos: args: - --exclude-files - .*test\.json - - --exclude-files - - .*\.postman_collection\.json - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. rev: v0.0.272 diff --git a/README.md b/README.md index b75e74634..078b5a7a1 100644 --- a/README.md +++ b/README.md @@ -96,8 +96,6 @@ Local dev is built around the Serverless plugin [serverless-offline](https://git Local authorization bypasses Cognito. The frontend mimics login in local storage with a mock user and sends an id in the `cognito-identity-id` header on every request. `serverless-offline` expects that and sets it as the cognitoId in the requestContext for your lambdas, just like Cognito would in AWS. -The [postman folder](./postman/) contains a full API collection and environment for this application. See the [README](./postman/README.md) for more information. - ## Testing ### Unit Testing diff --git a/postman/MFP.postman_collection.json b/postman/MFP.postman_collection.json deleted file mode 100644 index b5ac8e63d..000000000 --- a/postman/MFP.postman_collection.json +++ /dev/null @@ -1,667 +0,0 @@ -{ - "info": { - "_postman_id": "79a36b36-fb62-4847-96de-b29746a77218", - "name": "MFP", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "28634549" - }, - "item": [ - { - "name": "Banners", - "item": [ - { - "name": "Get Banner", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "javascript" - } - } - }, - "url": { - "raw": "localhost:3030/local/banners/{{admin-banner-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "banners", - "{{admin-banner-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Create Banner", - "request": { - "method": "POST", - "header": [ - { - "key": "x-api-key", - "value": "{{admin-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"key\": \"admin-banner-id\",\n \"title\": \"title\",\n \"description\": \"description\",\n \"startDate\": 1641013200000,\n \"endDate\": 1962782399000\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/banners/{{admin-banner-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "banners", - "{{admin-banner-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Delete Banner", - "request": { - "method": "DELETE", - "header": [ - { - "key": "x-api-key", - "value": "{{admin-x-api-key}}", - "type": "default" - } - ], - "url": { - "raw": "localhost:3030/local/banners/{{admin-banner-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "banners", - "{{admin-banner-id}}" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "WP", - "item": [ - { - "name": "Get WP Report", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "javascript" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/WP/{{state}}/{{wp-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "WP", - "{{state}}", - "{{wp-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Get WP Reports by state", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "javascript" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/WP/{{state}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "WP", - "{{state}}" - ] - } - }, - "response": [] - }, - { - "name": "Create WP", - "request": { - "method": "POST", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"metadata\": {\n \"submissionName\": \"Work Plan\",\n \"lastAlteredBy\": \"User Name\",\n \"locked\": false,\n \"previousRevisions\": [],\n \"reportType\": \"WP\",\n \"status\": \"Not started\",\n \"isComplete\": false\n },\n \"fieldData\": {\n \"submissionName\": \"Work Plan\",\n \"targetPopulations\": [\n {\n \"id\": \"2Vd02CVUtKgBETwqzDXpSIhi\",\n \"transitionBenchmarks_targetPopulationName\": \"Older adults\",\n \"isRequired\": true\n },\n {\n \"id\": \"2Vd02HAezQkxNu2ShmlQONHa\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with physical disabilities (PD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"PD\",\n \"isRequired\": true\n },\n {\n \"id\": \"2Vd02IvLwE59ebYAjfiU7H66\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with intellectual and developmental disabilities (I/DD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"I/DD\",\n \"isRequired\": true\n },\n {\n \"id\": \"2Vd02J1FHl3Ka1DbtU5FMSDh\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with mental health and substance use disorders (MH/SUD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"MH/SUD\",\n \"isRequired\": true\n }\n ],\n \"stateName\": \"{{stateName}}\",\n \"submissionCount\": 0\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/WP/{{state}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "WP", - "{{state}}" - ] - } - }, - "response": [] - }, - { - "name": "Fill out WP Report", - "request": { - "method": "PUT", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"metadata\": {\n \"status\": \"In progress\",\n \"lastAlteredBy\": \"User Name\"\n },\n \"fieldData\": {\n \"targetPopulations\": [\n {\n \"id\": \"2Vd02CVUtKgBETwqzDXpSIhi\",\n \"transitionBenchmarks_targetPopulationName\": \"Older adults\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIuHjl15upf6tLcgcWd\",\n \"value\": \"Yes\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"10\",\n \"quarterlyProjections2024Q2\": \"11\",\n \"quarterlyProjections2024Q3\": \"12\",\n \"quarterlyProjections2024Q4\": \"13\",\n \"quarterlyProjections2025Q1\": \"14\",\n \"quarterlyProjections2025Q2\": \"15\",\n \"quarterlyProjections2025Q3\": \"16\",\n \"quarterlyProjections2025Q4\": \"17\",\n \"quarterlyProjections2026Q1\": \"18\",\n \"quarterlyProjections2026Q2\": \"19\",\n \"quarterlyProjections2026Q3\": \"20\",\n \"quarterlyProjections2026Q4\": \"21\"\n },\n {\n \"id\": \"2Vd02HAezQkxNu2ShmlQONHa\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with physical disabilities (PD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"PD\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIwERkSKEGVUU1g8E1v\",\n \"value\": \"No\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n },\n {\n \"id\": \"2Vd02IvLwE59ebYAjfiU7H66\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with intellectual and developmental disabilities (I/DD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"I/DD\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIuHjl15upf6tLcgcWd\",\n \"value\": \"Yes\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"20\",\n \"quarterlyProjections2024Q2\": \"22\",\n \"quarterlyProjections2024Q3\": \"24\",\n \"quarterlyProjections2024Q4\": \"26\",\n \"quarterlyProjections2025Q1\": \"28\",\n \"quarterlyProjections2025Q2\": \"30\",\n \"quarterlyProjections2025Q3\": \"32\",\n \"quarterlyProjections2025Q4\": \"34\",\n \"quarterlyProjections2026Q1\": \"36\",\n \"quarterlyProjections2026Q2\": \"38\",\n \"quarterlyProjections2026Q3\": \"40\",\n \"quarterlyProjections2026Q4\": \"42\"\n },\n {\n \"id\": \"2Vd02J1FHl3Ka1DbtU5FMSDh\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with mental health and substance use disorders (MH/SUD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"MH/SUD\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIwERkSKEGVUU1g8E1v\",\n \"value\": \"No\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"strategy_explaination\": \"test\",\n \"strategy_additionalDetails\": \"test\",\n \"instructions_selfDirectedInitiatives\": [\n {\n \"key\": \"instructions_selfDirectedInitiatives-3DGAqqnOBE2kwKVFMxUt3A\",\n \"value\": \"No\"\n }\n ],\n \"instructions_tribalInitiatives\": [\n {\n \"key\": \"instructions_tribalInitiatives-3DGAqqnOBE2kwKVFMxUt3A\",\n \"value\": \"No\"\n }\n ],\n \"initiative\": [\n {\n \"id\": \"0233117-8310-812-e28a-6e1d33e3d1e1\",\n \"type\": \"initiative\",\n \"initiative_name\": \"test transitions and tcs\",\n \"initiative_wpTopic\": [\n {\n \"key\": \"initiative_wpTopic-VjQ0OFqior9Dxu5RRNiZ5u\",\n \"value\": \"Transitions and transition coordination services \"\n }\n ],\n \"initiative_wp_otherTopic\": \"\",\n \"isOtherEntity\": true,\n \"defineInitiative_describeInitiative\": \"initiative name\",\n \"defineInitiative_targetPopulations\": [\n {\n \"key\": \"targetPopulations-2Vd02CVUtKgBETwqzDXpSIhi\",\n \"value\": \"Older adults\"\n },\n {\n \"key\": \"targetPopulations-2Vd02IvLwE59ebYAjfiU7H66\",\n \"value\": \"Individuals with intellectual and developmental disabilities (I/DD)\"\n },\n {\n \"key\": \"targetPopulations-3Nc13O5GHA6Hc4KheO5FMSD2\",\n \"value\": \"HCBS infrastructure/system-level development\"\n }\n ],\n \"defineInitiative_projectedStartDate\": \"02/02/2022\",\n \"defineInitiative_projectedEndDate\": [\n {\n \"key\": \"defineInitiative_projectedEndDate-TR6HoXF3Unf2QX0zzDg2Kp\",\n \"value\": \"No\"\n }\n ],\n \"defineInitiative_projectedEndDate_value\": \"\",\n \"evaluationPlan\": [\n {\n \"id\": \"fc50c3-d41a-131a-ac5a-b73ab8361e\",\n \"evaluationPlan_objectiveName\": \"objective\",\n \"evaluationPlan_description\": \"description\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"details\",\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"fundingSources\": [\n {\n \"id\": \"17f1df3-4a0-a48f-8354-db0223b43b8c\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZCNtbcjRPq3evd1NI6\",\n \"value\": \"MFP cooperative agreement funds for administrative activities\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"12.00\",\n \"fundingSources_quarters2024Q2\": \"13.00\",\n \"fundingSources_quarters2024Q3\": \"14.00\",\n \"fundingSources_quarters2024Q4\": \"15.00\",\n \"fundingSources_quarters2025Q1\": \"16.00\",\n \"fundingSources_quarters2025Q2\": \"17.00\",\n \"fundingSources_quarters2025Q3\": \"18.00\",\n \"fundingSources_quarters2025Q4\": \"19.00\",\n \"fundingSources_quarters2026Q1\": \"20.00\",\n \"fundingSources_quarters2026Q2\": \"21.00\",\n \"fundingSources_quarters2026Q3\": \"22.00\",\n \"fundingSources_quarters2026Q4\": \"23.00\",\n \"initiative_wp_otherTopic\": \"\"\n }\n ]\n },\n {\n \"id\": \"717e8d5-88c-1dbf-cb06-15a755e5e468\",\n \"type\": \"initiative\",\n \"initiative_name\": \"test housing-related supports\",\n \"initiative_wpTopic\": [\n {\n \"key\": \"initiative_wpTopic-wbUsMMqVP7q1n10szK5h5S\",\n \"value\": \"Housing-related supports \"\n }\n ],\n \"initiative_wp_otherTopic\": \"\",\n \"isOtherEntity\": true,\n \"defineInitiative_describeInitiative\": \"key activities\",\n \"defineInitiative_targetPopulations\": [\n {\n \"key\": \"targetPopulations-2Vd02CVUtKgBETwqzDXpSIhi\",\n \"value\": \"Older adults\"\n },\n {\n \"key\": \"targetPopulations-3Nc13O5GHA6Hc4KheO5FMSD2\",\n \"value\": \"HCBS infrastructure/system-level development\"\n },\n {\n \"key\": \"targetPopulations-2Vd02IvLwE59ebYAjfiU7H66\",\n \"value\": \"Individuals with intellectual and developmental disabilities (I/DD)\"\n }\n ],\n \"defineInitiative_projectedStartDate\": \"02/02/2022\",\n \"defineInitiative_projectedEndDate\": [\n {\n \"key\": \"defineInitiative_projectedEndDate-WNsSaAHeDvRD2Pjkz6DcOE\",\n \"value\": \"Yes\"\n }\n ],\n \"defineInitiative_projectedEndDate_value\": \"02/02/2029\",\n \"evaluationPlan\": [\n {\n \"id\": \"d1f1dd1-0501-c46f-4a8c-6d28c5c4ddb\",\n \"evaluationPlan_objectiveName\": \"objective\",\n \"evaluationPlan_description\": \"description\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-7FP4jcg4jK7Ssqp3cCW5vQ\",\n \"value\": \"Yes\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"additional detail\",\n \"quarterlyProjections2024Q1\": \"99\",\n \"quarterlyProjections2024Q2\": \"99\",\n \"quarterlyProjections2024Q3\": \"99\",\n \"quarterlyProjections2024Q4\": \"99\",\n \"quarterlyProjections2025Q1\": \"99\",\n \"quarterlyProjections2025Q2\": \"99\",\n \"quarterlyProjections2025Q3\": \"99\",\n \"quarterlyProjections2025Q4\": \"99\",\n \"quarterlyProjections2026Q1\": \"99\",\n \"quarterlyProjections2026Q2\": \"99\",\n \"quarterlyProjections2026Q3\": \"99\",\n \"quarterlyProjections2026Q4\": \"99\"\n },\n {\n \"id\": \"0bafc3b-366c-181d-f1ee-a6026e606e5e\",\n \"evaluationPlan_objectiveName\": \"second obj\",\n \"evaluationPlan_description\": \"more measures\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"details\",\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"fundingSources\": [\n {\n \"id\": \"0d56d1-7bc-00c5-7841-a162068427e\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZ9A92OivbZhKvY8pE4hB65c\",\n \"value\": \"MFP cooperative agreement funds for qualified HCBS and demonstration services\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"100.00\",\n \"fundingSources_quarters2024Q2\": \"200.00\",\n \"fundingSources_quarters2024Q3\": \"100.00\",\n \"fundingSources_quarters2024Q4\": \"200.00\",\n \"fundingSources_quarters2025Q1\": \"200.00\",\n \"fundingSources_quarters2025Q2\": \"300.00\",\n \"fundingSources_quarters2025Q3\": \"200.00\",\n \"fundingSources_quarters2025Q4\": \"300.00\",\n \"fundingSources_quarters2026Q1\": \"300.00\",\n \"fundingSources_quarters2026Q2\": \"400.00\",\n \"fundingSources_quarters2026Q3\": \"300.00\",\n \"fundingSources_quarters2026Q4\": \"400.00\",\n \"initiative_wp_otherTopic\": \"\"\n },\n {\n \"id\": \"d7de16a-cc3d-26cc-8888-f8efa6dfb6fa\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZCRWieGr1Z49QX5Aqc\",\n \"value\": \"State or territory equivalent funds attributable to the MFP-enhanced match\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"80.00\",\n \"fundingSources_quarters2024Q2\": \"90.00\",\n \"fundingSources_quarters2024Q3\": \"100.00\",\n \"fundingSources_quarters2024Q4\": \"200.00\",\n \"fundingSources_quarters2025Q1\": \"120.00\",\n \"fundingSources_quarters2025Q2\": \"240.00\",\n \"fundingSources_quarters2025Q3\": \"201.00\",\n \"fundingSources_quarters2025Q4\": \"100.00\",\n \"fundingSources_quarters2026Q1\": \"200.00\",\n \"fundingSources_quarters2026Q2\": \"100.00\",\n \"fundingSources_quarters2026Q3\": \"89.00\",\n \"fundingSources_quarters2026Q4\": \"900.00\",\n \"initiative_wp_otherTopic\": \"\"\n }\n ]\n },\n {\n \"id\": \"a3c64a8-52ea-b5c1-afce-46302c4aa7c\",\n \"type\": \"initiative\",\n \"initiative_name\": \"test qmai\",\n \"initiative_wpTopic\": [\n {\n \"key\": \"initiative_wpTopic-SdaFlF3DJyzKcHCCu3Zylm\",\n \"value\": \"Quality measurement and improvement \"\n }\n ],\n \"initiative_wp_otherTopic\": \"\",\n \"isOtherEntity\": true,\n \"defineInitiative_describeInitiative\": \"init\",\n \"defineInitiative_targetPopulations\": [\n {\n \"key\": \"targetPopulations-2Vd02CVUtKgBETwqzDXpSIhi\",\n \"value\": \"Older adults\"\n },\n {\n \"key\": \"targetPopulations-2Vd02IvLwE59ebYAjfiU7H66\",\n \"value\": \"Individuals with intellectual and developmental disabilities (I/DD)\"\n },\n {\n \"key\": \"targetPopulations-3Nc13O5GHA6Hc4KheO5FMSD2\",\n \"value\": \"HCBS infrastructure/system-level development\"\n }\n ],\n \"defineInitiative_projectedStartDate\": \"02/02/2022\",\n \"defineInitiative_projectedEndDate\": [\n {\n \"key\": \"defineInitiative_projectedEndDate-TR6HoXF3Unf2QX0zzDg2Kp\",\n \"value\": \"No\"\n }\n ],\n \"defineInitiative_projectedEndDate_value\": \"\",\n \"evaluationPlan\": [\n {\n \"id\": \"6245730-f1a7-846f-32b4-fbfe7040c6e0\",\n \"evaluationPlan_objectiveName\": \"obj\",\n \"evaluationPlan_description\": \"performance measures\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"test\",\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"fundingSources\": [\n {\n \"id\": \"c73235e-8fec-37-2062-b502384bac6\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZDJ9qaKKOk78ztBdiB\",\n \"value\": \"MFP cooperative agreement funds for capacity-building initiatives\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"100.00\",\n \"fundingSources_quarters2024Q2\": \"100.00\",\n \"fundingSources_quarters2024Q3\": \"100.00\",\n \"fundingSources_quarters2024Q4\": \"100.00\",\n \"fundingSources_quarters2025Q1\": \"100.00\",\n \"fundingSources_quarters2025Q2\": \"100.00\",\n \"fundingSources_quarters2025Q3\": \"100.00\",\n \"fundingSources_quarters2025Q4\": \"200.00\",\n \"fundingSources_quarters2026Q1\": \"200.00\",\n \"fundingSources_quarters2026Q2\": \"200.00\",\n \"fundingSources_quarters2026Q3\": \"200.00\",\n \"fundingSources_quarters2026Q4\": \"200.00\",\n \"initiative_wp_otherTopic\": \"\"\n }\n ]\n }\n ]\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/WP/{{state}}/{{wp-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "WP", - "{{state}}", - "{{wp-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Submit WP Report", - "request": { - "method": "POST", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/submit/WP/{{state}}/{{wp-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "submit", - "WP", - "{{state}}", - "{{wp-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Approve WP Report", - "request": { - "method": "PUT", - "header": [ - { - "key": "x-api-key", - "value": "{{admin-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/approve/WP/{{state}}/{{wp-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "approve", - "WP", - "{{state}}", - "{{wp-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Unlock WP Report", - "request": { - "method": "PUT", - "header": [ - { - "key": "x-api-key", - "value": "{{admin-x-api-key}}", - "type": "text" - } - ], - "url": { - "raw": "localhost:3030/local/reports/release/WP/{{state}}/{{wp-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "release", - "WP", - "{{state}}", - "{{wp-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Toggle archive WP", - "request": { - "method": "PUT", - "header": [ - { - "key": "x-api-key", - "value": "{{admin-x-api-key}}", - "type": "text" - } - ], - "url": { - "raw": "localhost:3030/local/reports/archive/WP/{{state}}/{{wp-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "archive", - "WP", - "{{state}}", - "{{wp-id}}" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "SAR", - "item": [ - { - "name": "Get SAR Report", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "javascript" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/SAR/{{state}}/{{sar-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "SAR", - "{{state}}", - "{{sar-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Get SAR Reports by state", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "javascript" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/SAR/{{state}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "SAR", - "{{state}}" - ] - } - }, - "response": [] - }, - { - "name": "Create SAR", - "request": { - "method": "POST", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"metadata\": {\n \"submissionName\": \"{{stateName}} MFP Work Plan 2024 - Period 1\",\n \"stateOrTerritory\": \"{{state}}\",\n \"reportPeriod\": \"1\",\n \"lastAlteredBy\": \"User Name\",\n \"locked\": false,\n \"previousRevisions\": [],\n \"finalSar\": [\n {\n \"key\": \"finalSar-nrRmirBoVQv0ysWnEejNZD\",\n \"value\": \"Yes\"\n }\n ],\n \"populations\": [\n {\n \"id\": \"targetPopulations-2Vd02CVUtKgBETwqzDXpSIhi\",\n \"label\": \"Older adults\",\n \"name\": \"Older adults\",\n \"value\": \"Older adults\"\n },\n {\n \"id\": \"targetPopulations-2Vd02IvLwE59ebYAjfiU7H66\",\n \"label\": \"Individuals with intellectual and developmental disabilities (I/DD)\",\n \"name\": \"Individuals with intellectual and developmental disabilities (I/DD)\",\n \"value\": \"Individuals with intellectual and developmental disabilities (I/DD)\"\n }\n ],\n \"reportType\": \"SAR\",\n \"status\": \"Not started\",\n \"isComplete\": false\n },\n \"fieldData\": {\n \"submissionName\": \"{{stateName}} MFP Work Plan 2024 - Period 1\",\n \"stateOrTerritory\": \"{{state}}\",\n \"reportPeriod\": \"1\",\n \"stateName\": \"{{stateName}}\",\n \"submissionCount\": 0\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/SAR/{{state}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "SAR", - "{{state}}" - ] - } - }, - "response": [] - }, - { - "name": "Fill out SAR Report", - "request": { - "method": "PUT", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"metadata\": {\n \"status\": \"In progress\",\n \"lastAlteredBy\": \"User Name\"\n },\n \"fieldData\": {\n \"targetPopulations\": [\n {\n \"id\": \"2Vd02CVUtKgBETwqzDXpSIhi\",\n \"transitionBenchmarks_targetPopulationName\": \"Older adults\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIuHjl15upf6tLcgcWd\",\n \"value\": \"Yes\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"10\",\n \"quarterlyProjections2024Q2\": \"11\",\n \"quarterlyProjections2024Q3\": \"12\",\n \"quarterlyProjections2024Q4\": \"13\",\n \"quarterlyProjections2025Q1\": \"14\",\n \"quarterlyProjections2025Q2\": \"15\",\n \"quarterlyProjections2025Q3\": \"16\",\n \"quarterlyProjections2025Q4\": \"17\",\n \"quarterlyProjections2026Q1\": \"18\",\n \"quarterlyProjections2026Q2\": \"19\",\n \"quarterlyProjections2026Q3\": \"20\",\n \"quarterlyProjections2026Q4\": \"21\"\n },\n {\n \"id\": \"2Vd02HAezQkxNu2ShmlQONHa\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with physical disabilities (PD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"PD\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIwERkSKEGVUU1g8E1v\",\n \"value\": \"No\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n },\n {\n \"id\": \"2Vd02IvLwE59ebYAjfiU7H66\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with intellectual and developmental disabilities (I/DD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"I/DD\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIuHjl15upf6tLcgcWd\",\n \"value\": \"Yes\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"20\",\n \"quarterlyProjections2024Q2\": \"22\",\n \"quarterlyProjections2024Q3\": \"24\",\n \"quarterlyProjections2024Q4\": \"26\",\n \"quarterlyProjections2025Q1\": \"28\",\n \"quarterlyProjections2025Q2\": \"30\",\n \"quarterlyProjections2025Q3\": \"32\",\n \"quarterlyProjections2025Q4\": \"34\",\n \"quarterlyProjections2026Q1\": \"36\",\n \"quarterlyProjections2026Q2\": \"38\",\n \"quarterlyProjections2026Q3\": \"40\",\n \"quarterlyProjections2026Q4\": \"42\"\n },\n {\n \"id\": \"2Vd02J1FHl3Ka1DbtU5FMSDh\",\n \"transitionBenchmarks_targetPopulationName\": \"Individuals with mental health and substance use disorders (MH/SUD)\",\n \"transitionBenchmarks_targetPopulationName_short\": \"MH/SUD\",\n \"isRequired\": true,\n \"transitionBenchmarks_applicableToMfpDemonstration\": [\n {\n \"key\": \"transitionBenchmarks_applicableToMfpDemonstration-2UObIwERkSKEGVUU1g8E1v\",\n \"value\": \"No\"\n }\n ],\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"instructions_selfDirectedInitiatives\": [\n {\n \"key\": \"instructions_selfDirectedInitiatives-3DGAqqnOBE2kwKVFMxUt3A\",\n \"value\": \"No\"\n }\n ],\n \"instructions_tribalInitiatives\": [\n {\n \"key\": \"instructions_tribalInitiatives-3DGAqqnOBE2kwKVFMxUt3A\",\n \"value\": \"No\"\n }\n ],\n \"initiative\": [\n {\n \"id\": \"0233117-8310-812-e28a-6e1d33e3d1e1\",\n \"type\": \"initiative\",\n \"initiative_name\": \"test transitions and tcs\",\n \"initiative_wpTopic\": [\n {\n \"key\": \"initiative_wpTopic-VjQ0OFqior9Dxu5RRNiZ5u\",\n \"value\": \"Transitions and transition coordination services \"\n }\n ],\n \"initiative_wp_otherTopic\": \"\",\n \"isOtherEntity\": true,\n \"defineInitiative_describeInitiative\": \"initiative name\",\n \"defineInitiative_targetPopulations\": [\n {\n \"key\": \"targetPopulations-2Vd02CVUtKgBETwqzDXpSIhi\",\n \"value\": \"Older adults\"\n },\n {\n \"key\": \"targetPopulations-2Vd02IvLwE59ebYAjfiU7H66\",\n \"value\": \"Individuals with intellectual and developmental disabilities (I/DD)\"\n },\n {\n \"key\": \"targetPopulations-3Nc13O5GHA6Hc4KheO5FMSD2\",\n \"value\": \"HCBS infrastructure/system-level development\"\n }\n ],\n \"defineInitiative_projectedStartDate\": \"02/02/2022\",\n \"defineInitiative_projectedEndDate\": [\n {\n \"key\": \"defineInitiative_projectedEndDate-TR6HoXF3Unf2QX0zzDg2Kp\",\n \"value\": \"No\"\n }\n ],\n \"defineInitiative_projectedEndDate_value\": \"\",\n \"evaluationPlan\": [\n {\n \"id\": \"fc50c3-d41a-131a-ac5a-b73ab8361e\",\n \"evaluationPlan_objectiveName\": \"objective\",\n \"evaluationPlan_description\": \"description\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"details\",\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"fundingSources\": [\n {\n \"id\": \"17f1df3-4a0-a48f-8354-db0223b43b8c\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZCNtbcjRPq3evd1NI6\",\n \"value\": \"MFP cooperative agreement funds for administrative activities\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"12.00\",\n \"fundingSources_quarters2024Q2\": \"13.00\",\n \"fundingSources_quarters2024Q3\": \"14.00\",\n \"fundingSources_quarters2024Q4\": \"15.00\",\n \"fundingSources_quarters2025Q1\": \"16.00\",\n \"fundingSources_quarters2025Q2\": \"17.00\",\n \"fundingSources_quarters2025Q3\": \"18.00\",\n \"fundingSources_quarters2025Q4\": \"19.00\",\n \"fundingSources_quarters2026Q1\": \"20.00\",\n \"fundingSources_quarters2026Q2\": \"21.00\",\n \"fundingSources_quarters2026Q3\": \"22.00\",\n \"fundingSources_quarters2026Q4\": \"23.00\",\n \"initiative_wp_otherTopic\": \"\"\n }\n ],\n \"fundingSources_projected_2024Q1_17f1df3-4a0-a48f-8354-db0223b43b8c\": \"12.00\",\n \"fundingSources_projected_2024Q2_17f1df3-4a0-a48f-8354-db0223b43b8c\": \"13.00\",\n \"objectiveProgress\": [\n {\n \"id\": \"fc50c3-d41a-131a-ac5a-b73ab8361e\",\n \"objectiveProgress_objectiveName\": \"objective\",\n \"objectiveProgress_description\": \"description\",\n \"objectiveProgress_targets\": \"targets\",\n \"objectiveProgress_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"objectiveProgress_additionalDetails\": \"details\",\n \"objectiveTargets_projections_2024Q1\": \"\",\n \"objectiveTargets_projections_2024Q2\": \"\",\n \"objectivesProgress_performanceMeasuresIndicators\": \"data for measures\",\n \"objectivesProgress_deliverablesMet\": [\n {\n \"key\": \"objectivesProgress_deliverablesMet-2WaO1Jj3pyUN0j9KjeOqR\",\n \"value\": \"Yes\"\n }\n ],\n \"objectivesProgress_deliverablesMet_otherText\": \"\"\n }\n ],\n \"isCopied\": true,\n \"initiativeProgress_describeProgress\": \"progress\",\n \"initiativeProgress_describeIssuesChallenges\": \"issues\",\n \"initiativeProgress_describeCollaborationsWithExternalParties\": \"collaborations\",\n \"fundingSources_actual_2024Q1_17f1df3-4a0-a48f-8354-db0223b43b8c\": \"12.00\",\n \"fundingSources_actual_2024Q2_17f1df3-4a0-a48f-8354-db0223b43b8c\": \"13.00\",\n \"expenditures_onTrackToFullExpendFunds\": [\n {\n \"key\": \"expenditures_onTrackToFullExpendFunds-2WaUKOjwgUvHO6CMAqE8aOC\",\n \"value\": \"Yes\"\n }\n ],\n \"expenditures_onTrackToFullExpendFunds-otherText\": \"\"\n },\n {\n \"id\": \"717e8d5-88c-1dbf-cb06-15a755e5e468\",\n \"type\": \"initiative\",\n \"initiative_name\": \"test housing-related supports\",\n \"initiative_wpTopic\": [\n {\n \"key\": \"initiative_wpTopic-wbUsMMqVP7q1n10szK5h5S\",\n \"value\": \"Housing-related supports \"\n }\n ],\n \"initiative_wp_otherTopic\": \"\",\n \"isOtherEntity\": true,\n \"defineInitiative_describeInitiative\": \"key activities\",\n \"defineInitiative_targetPopulations\": [\n {\n \"key\": \"targetPopulations-2Vd02CVUtKgBETwqzDXpSIhi\",\n \"value\": \"Older adults\"\n },\n {\n \"key\": \"targetPopulations-3Nc13O5GHA6Hc4KheO5FMSD2\",\n \"value\": \"HCBS infrastructure/system-level development\"\n },\n {\n \"key\": \"targetPopulations-2Vd02IvLwE59ebYAjfiU7H66\",\n \"value\": \"Individuals with intellectual and developmental disabilities (I/DD)\"\n }\n ],\n \"defineInitiative_projectedStartDate\": \"02/02/2022\",\n \"defineInitiative_projectedEndDate\": [\n {\n \"key\": \"defineInitiative_projectedEndDate-WNsSaAHeDvRD2Pjkz6DcOE\",\n \"value\": \"Yes\"\n }\n ],\n \"defineInitiative_projectedEndDate_value\": \"02/02/2029\",\n \"evaluationPlan\": [\n {\n \"id\": \"d1f1dd1-0501-c46f-4a8c-6d28c5c4ddb\",\n \"evaluationPlan_objectiveName\": \"objective\",\n \"evaluationPlan_description\": \"description\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-7FP4jcg4jK7Ssqp3cCW5vQ\",\n \"value\": \"Yes\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"additional detail\",\n \"quarterlyProjections2024Q1\": \"99\",\n \"quarterlyProjections2024Q2\": \"99\",\n \"quarterlyProjections2024Q3\": \"99\",\n \"quarterlyProjections2024Q4\": \"99\",\n \"quarterlyProjections2025Q1\": \"99\",\n \"quarterlyProjections2025Q2\": \"99\",\n \"quarterlyProjections2025Q3\": \"99\",\n \"quarterlyProjections2025Q4\": \"99\",\n \"quarterlyProjections2026Q1\": \"99\",\n \"quarterlyProjections2026Q2\": \"99\",\n \"quarterlyProjections2026Q3\": \"99\",\n \"quarterlyProjections2026Q4\": \"99\"\n },\n {\n \"id\": \"0bafc3b-366c-181d-f1ee-a6026e606e5e\",\n \"evaluationPlan_objectiveName\": \"second obj\",\n \"evaluationPlan_description\": \"more measures\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"details\",\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"fundingSources\": [\n {\n \"id\": \"0d56d1-7bc-00c5-7841-a162068427e\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZ9A92OivbZhKvY8pE4hB65c\",\n \"value\": \"MFP cooperative agreement funds for qualified HCBS and demonstration services\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"100.00\",\n \"fundingSources_quarters2024Q2\": \"200.00\",\n \"fundingSources_quarters2024Q3\": \"100.00\",\n \"fundingSources_quarters2024Q4\": \"200.00\",\n \"fundingSources_quarters2025Q1\": \"200.00\",\n \"fundingSources_quarters2025Q2\": \"300.00\",\n \"fundingSources_quarters2025Q3\": \"200.00\",\n \"fundingSources_quarters2025Q4\": \"300.00\",\n \"fundingSources_quarters2026Q1\": \"300.00\",\n \"fundingSources_quarters2026Q2\": \"400.00\",\n \"fundingSources_quarters2026Q3\": \"300.00\",\n \"fundingSources_quarters2026Q4\": \"400.00\",\n \"initiative_wp_otherTopic\": \"\"\n },\n {\n \"id\": \"d7de16a-cc3d-26cc-8888-f8efa6dfb6fa\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZCRWieGr1Z49QX5Aqc\",\n \"value\": \"State or territory equivalent funds attributable to the MFP-enhanced match\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"80.00\",\n \"fundingSources_quarters2024Q2\": \"90.00\",\n \"fundingSources_quarters2024Q3\": \"100.00\",\n \"fundingSources_quarters2024Q4\": \"200.00\",\n \"fundingSources_quarters2025Q1\": \"120.00\",\n \"fundingSources_quarters2025Q2\": \"240.00\",\n \"fundingSources_quarters2025Q3\": \"201.00\",\n \"fundingSources_quarters2025Q4\": \"100.00\",\n \"fundingSources_quarters2026Q1\": \"200.00\",\n \"fundingSources_quarters2026Q2\": \"100.00\",\n \"fundingSources_quarters2026Q3\": \"89.00\",\n \"fundingSources_quarters2026Q4\": \"900.00\",\n \"initiative_wp_otherTopic\": \"\"\n }\n ],\n \"fundingSources_projected_2024Q1_0d56d1-7bc-00c5-7841-a162068427e\": \"100.00\",\n \"fundingSources_projected_2024Q2_0d56d1-7bc-00c5-7841-a162068427e\": \"200.00\",\n \"fundingSources_projected_2024Q1_d7de16a-cc3d-26cc-8888-f8efa6dfb6fa\": \"80.00\",\n \"fundingSources_projected_2024Q2_d7de16a-cc3d-26cc-8888-f8efa6dfb6fa\": \"90.00\",\n \"objectiveProgress\": [\n {\n \"id\": \"d1f1dd1-0501-c46f-4a8c-6d28c5c4ddb\",\n \"objectiveProgress_objectiveName\": \"objective\",\n \"objectiveProgress_description\": \"description\",\n \"objectiveProgress_targets\": \"targets\",\n \"objectiveProgress_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-7FP4jcg4jK7Ssqp3cCW5vQ\",\n \"value\": \"Yes\"\n }\n ],\n \"objectiveProgress_additionalDetails\": \"additional detail\",\n \"objectiveTargets_projections_2024Q1\": \"99\",\n \"objectiveTargets_projections_2024Q2\": \"99\",\n \"objectivesProgress_performanceMeasuresIndicators\": \"data\",\n \"objectiveTargets_actual_2024Q1\": \"99\",\n \"objectiveTargets_actual_2024Q2\": \"99\",\n \"objectivesProgress_deliverablesMet\": [\n {\n \"key\": \"objectivesProgress_deliverablesMet-2WaO1Jj3pyUN0j9KjeOqR\",\n \"value\": \"Yes\"\n }\n ],\n \"objectivesProgress_deliverablesMet_otherText\": \"\"\n },\n {\n \"id\": \"0bafc3b-366c-181d-f1ee-a6026e606e5e\",\n \"objectiveProgress_objectiveName\": \"second obj\",\n \"objectiveProgress_description\": \"more measures\",\n \"objectiveProgress_targets\": \"targets\",\n \"objectiveProgress_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"objectiveProgress_additionalDetails\": \"details\",\n \"objectiveTargets_projections_2024Q1\": \"\",\n \"objectiveTargets_projections_2024Q2\": \"\",\n \"objectivesProgress_performanceMeasuresIndicators\": \"data\",\n \"objectivesProgress_deliverablesMet\": [\n {\n \"key\": \"objectivesProgress_deliverablesMet-2WaO1Jj3pyUN0j9KjeOqR\",\n \"value\": \"Yes\"\n }\n ],\n \"objectivesProgress_deliverablesMet_otherText\": \"\"\n }\n ],\n \"isCopied\": true,\n \"initiativeProgress_describeProgress\": \"progress\",\n \"initiativeProgress_describeIssuesChallenges\": \"issues\",\n \"initiativeProgress_describeCollaborationsWithExternalParties\": \"collaborations\",\n \"fundingSources_actual_2024Q1_0d56d1-7bc-00c5-7841-a162068427e\": \"100.00\",\n \"fundingSources_actual_2024Q2_0d56d1-7bc-00c5-7841-a162068427e\": \"200.00\",\n \"fundingSources_actual_2024Q1_d7de16a-cc3d-26cc-8888-f8efa6dfb6fa\": \"80.00\",\n \"fundingSources_actual_2024Q2_d7de16a-cc3d-26cc-8888-f8efa6dfb6fa\": \"90.00\",\n \"expenditures_onTrackToFullExpendFunds\": [\n {\n \"key\": \"expenditures_onTrackToFullExpendFunds-2WaUKOjwgUvHO6CMAqE8aOC\",\n \"value\": \"Yes\"\n }\n ],\n \"expenditures_onTrackToFullExpendFunds-otherText\": \"\"\n },\n {\n \"id\": \"a3c64a8-52ea-b5c1-afce-46302c4aa7c\",\n \"type\": \"initiative\",\n \"initiative_name\": \"test qmai\",\n \"initiative_wpTopic\": [\n {\n \"key\": \"initiative_wpTopic-SdaFlF3DJyzKcHCCu3Zylm\",\n \"value\": \"Quality measurement and improvement \"\n }\n ],\n \"initiative_wp_otherTopic\": \"\",\n \"isOtherEntity\": true,\n \"defineInitiative_describeInitiative\": \"init\",\n \"defineInitiative_targetPopulations\": [\n {\n \"key\": \"targetPopulations-2Vd02CVUtKgBETwqzDXpSIhi\",\n \"value\": \"Older adults\"\n },\n {\n \"key\": \"targetPopulations-2Vd02IvLwE59ebYAjfiU7H66\",\n \"value\": \"Individuals with intellectual and developmental disabilities (I/DD)\"\n },\n {\n \"key\": \"targetPopulations-3Nc13O5GHA6Hc4KheO5FMSD2\",\n \"value\": \"HCBS infrastructure/system-level development\"\n }\n ],\n \"defineInitiative_projectedStartDate\": \"02/02/2022\",\n \"defineInitiative_projectedEndDate\": [\n {\n \"key\": \"defineInitiative_projectedEndDate-TR6HoXF3Unf2QX0zzDg2Kp\",\n \"value\": \"No\"\n }\n ],\n \"defineInitiative_projectedEndDate_value\": \"\",\n \"evaluationPlan\": [\n {\n \"id\": \"6245730-f1a7-846f-32b4-fbfe7040c6e0\",\n \"evaluationPlan_objectiveName\": \"obj\",\n \"evaluationPlan_description\": \"performance measures\",\n \"evaluationPlan_targets\": \"targets\",\n \"evaluationPlan_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"evaluationPlan_additionalDetails\": \"test\",\n \"quarterlyProjections2024Q1\": \"\",\n \"quarterlyProjections2024Q2\": \"\",\n \"quarterlyProjections2024Q3\": \"\",\n \"quarterlyProjections2024Q4\": \"\",\n \"quarterlyProjections2025Q1\": \"\",\n \"quarterlyProjections2025Q2\": \"\",\n \"quarterlyProjections2025Q3\": \"\",\n \"quarterlyProjections2025Q4\": \"\",\n \"quarterlyProjections2026Q1\": \"\",\n \"quarterlyProjections2026Q2\": \"\",\n \"quarterlyProjections2026Q3\": \"\",\n \"quarterlyProjections2026Q4\": \"\"\n }\n ],\n \"fundingSources\": [\n {\n \"id\": \"c73235e-8fec-37-2062-b502384bac6\",\n \"fundingSources_wpTopic\": [\n {\n \"key\": \"fundingSources_wpTopic-2VLpZDJ9qaKKOk78ztBdiB\",\n \"value\": \"MFP cooperative agreement funds for capacity-building initiatives\"\n }\n ],\n \"fundingSources_quarters2024Q1\": \"100.00\",\n \"fundingSources_quarters2024Q2\": \"100.00\",\n \"fundingSources_quarters2024Q3\": \"100.00\",\n \"fundingSources_quarters2024Q4\": \"100.00\",\n \"fundingSources_quarters2025Q1\": \"100.00\",\n \"fundingSources_quarters2025Q2\": \"100.00\",\n \"fundingSources_quarters2025Q3\": \"100.00\",\n \"fundingSources_quarters2025Q4\": \"200.00\",\n \"fundingSources_quarters2026Q1\": \"200.00\",\n \"fundingSources_quarters2026Q2\": \"200.00\",\n \"fundingSources_quarters2026Q3\": \"200.00\",\n \"fundingSources_quarters2026Q4\": \"200.00\",\n \"initiative_wp_otherTopic\": \"\"\n }\n ],\n \"fundingSources_projected_2024Q1_c73235e-8fec-37-2062-b502384bac6\": \"100.00\",\n \"fundingSources_projected_2024Q2_c73235e-8fec-37-2062-b502384bac6\": \"100.00\",\n \"objectiveProgress\": [\n {\n \"id\": \"6245730-f1a7-846f-32b4-fbfe7040c6e0\",\n \"objectiveProgress_objectiveName\": \"obj\",\n \"objectiveProgress_description\": \"performance measures\",\n \"objectiveProgress_targets\": \"targets\",\n \"objectiveProgress_includesTargets\": [\n {\n \"key\": \"evaluationPlan_includesTargets-UL4dAeyyvCFAXttxZioacR\",\n \"value\": \"No\"\n }\n ],\n \"objectiveProgress_additionalDetails\": \"test\",\n \"objectiveTargets_projections_2024Q1\": \"\",\n \"objectiveTargets_projections_2024Q2\": \"\",\n \"objectivesProgress_performanceMeasuresIndicators\": \"data\",\n \"objectivesProgress_deliverablesMet\": [\n {\n \"key\": \"objectivesProgress_deliverablesMet-2WaO1K5umgZcZV4bAW5sPu\",\n \"value\": \"No\"\n }\n ],\n \"objectivesProgress_deliverablesMet_otherText\": \"progress to target\"\n }\n ],\n \"isCopied\": true,\n \"initiativeProgress_describeProgress\": \"progress\",\n \"initiativeProgress_describeIssuesChallenges\": \"issues\",\n \"initiativeProgress_describeCollaborationsWithExternalParties\": \"collaborations\",\n \"fundingSources_actual_2024Q1_c73235e-8fec-37-2062-b502384bac6\": \"120.00\",\n \"fundingSources_actual_2024Q2_c73235e-8fec-37-2062-b502384bac6\": \"80.00\",\n \"expenditures_onTrackToFullExpendFunds\": [\n {\n \"key\": \"expenditures_onTrackToFullExpendFunds-2WaUKNbCmetqXVFsKnaHqeK\",\n \"value\": \"No\"\n }\n ],\n \"expenditures_onTrackToFullExpendFunds-otherText\": \"description\"\n }\n ],\n \"generalInformation_MfpOperatingOrganizationName\": \"operating org\",\n \"generalInformation_stateTerritoryMedicaidAgency\": \"agency\",\n \"generalInformation_stateTerritoryMedicaidDirector\": \"director\",\n \"generalInformation_mfpProgramPublicName\": \"public name\",\n \"generalInformation_mfpProgramWebsite\": \"http://mfpweb.com\",\n \"generalInformation_aorName\": \"aor name\",\n \"generalInformation_aorTitleAgency\": \"agency\",\n \"generalInformation_aorEmail\": \"email@aor.com\",\n \"generalInformation_hasAorChangedSinceLastReport\": [\n {\n \"key\": \"generalInformation_hasAorChangedSinceLastReport-2VffASWS2XRfAlc3uLzxCVAC\",\n \"value\": \"No\"\n }\n ],\n \"generalInformation_projectDirectorName\": \"director name\",\n \"generalInformation_projectDirectorTitle\": \"title\",\n \"generalInformation_projectDirectorEmail\": \"email@director.com\",\n \"generalInformation_cmsProjectOfficerName\": \"officer name\",\n \"ret_psmicf_target_populations_Period1_Older adults\": \"200\",\n \"ret_psmicf_target_populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret_mtrp_quarter_1_populations_Period1_Older adults\": \"200\",\n \"ret_mtrp_quarter_1_populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret_mtrp_quarter_2_populations_Period1_Older adults\": \"200\",\n \"ret_mtrp_quarter_2_populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqi-1-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqi-1-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqi-2-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqi-2-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqi-3-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqi-3-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqi-4-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqi-4-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqi-5-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqi-5-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqr-1-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqr-1-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqr-2-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqr-2-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqr-3-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqr-3-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mtfqr-4-populations_Period1_Older adults\": \"200\",\n \"ret-mtfqr-4-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-tnamprp-1-populations_Period1_Older adults\": \"200\",\n \"ret-tnamprp-1-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-nmpcprp-1-populations_Period1_Older adults\": \"200\",\n \"ret-nmpcprp-1-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-npremrp-1-populations_Period1_Older adults\": \"200\",\n \"ret-npremrp-1-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mpdprp-1-populations_Period1_Older adults\": \"200\",\n \"ret-mpdprp-1-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mpdprp-2-populations_Period1_Older adults\": \"200\",\n \"ret-mpdprp-2-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret-mpdprp-3-populations_Period1_Older adults\": \"200\",\n \"ret-mpdprp-3-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"200\",\n \"ret_otherReasons\": [\n {\n \"key\": \"ret_otherReasons-2VffASWS2XRfAlc3uLzxCVAC\",\n \"value\": \"Moved out of MFP jurisdiction/state/territory\"\n }\n ],\n \"ret-movedout-populations_Period1_Older adults\": \"50\",\n \"ret-movedout-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"50\",\n \"ret-incarceration-populations_Period1_Older adults\": \"\",\n \"ret-incarceration-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"\",\n \"ret-moved-populations_Period1_Older adults\": \"\",\n \"ret-moved-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"\",\n \"otherReasons-otherText\": \"\",\n \"ret-other-specify-populations_Period1_Older adults\": \"\",\n \"ret-other-specify-populations_Period1_Individuals with intellectual and developmental disabilities (I/DD)\": \"\",\n \"oa_changesOrganizationAdministration\": [\n {\n \"key\": \"oa_changesOrganizationAdministration-2VfuG4GRc4ApcknSSgbMvvHg\",\n \"value\": \"Yes\"\n }\n ],\n \"oa_describeOAChanges\": \"changes\",\n \"oa_projectDirectorEmployment\": [\n {\n \"key\": \"oa_projectDirectorEmployment-2VfuG2OUicDROyaE5RmbtqWM\",\n \"value\": \"No\"\n }\n ],\n \"oa_provideNameOfEmployerAndReportingRelationship\": \"name of employer\",\n \"oa_hiringRetentionChallengesMfpStaff\": [\n {\n \"key\": \"oa_hiringRetentionChallengesMfpStaff-2VfuyVGyPc6ePgAicM69ayDqTpX\",\n \"value\": \"Yes\"\n }\n ],\n \"oa_describeHiringRetentionChallenges\": \"challenges\",\n \"oa_describeTechnicalAssitanceActivities\": \"technical assistance\",\n \"oa_additionalTechnicalResourcesSupports\": [\n {\n \"key\": \"oa_additionalTechnicalResourcesSupports-2VfvDSkVxhYZwQ8AMXqR5QX8\",\n \"value\": \"Yes\"\n }\n ],\n \"oa_describeAdditionalTechnicalResourcesSupports\": \"additional resources\",\n \"aa_notableAchievementsPromisingPractices\": \"notable achievements\",\n \"aa_changesMfpProgramAdministration\": [\n {\n \"key\": \"aa_changesMfpProgramAdministration-2Vfw3X48qEyKOAxXt7HPlMMg\",\n \"value\": \"Yes\"\n }\n ],\n \"oa_describeDevelopmentsChanges\": \"developments\"\n }\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/SAR/{{state}}/{{sar-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "SAR", - "{{state}}", - "{{sar-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Submit SAR Report", - "request": { - "method": "POST", - "header": [ - { - "key": "x-api-key", - "value": "{{state-x-api-key}}", - "type": "default" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/submit/SAR/{{state}}/{{sar-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "submit", - "SAR", - "{{state}}", - "{{sar-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Unlock SAR Report", - "request": { - "method": "PUT", - "header": [ - { - "key": "x-api-key", - "value": "{{admin-x-api-key}}", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "localhost:3030/local/reports/release/SAR/{{state}}/{{sar-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "release", - "SAR", - "{{state}}", - "{{sar-id}}" - ] - } - }, - "response": [] - }, - { - "name": "Toggle archive SAR", - "request": { - "method": "PUT", - "header": [ - { - "key": "x-api-key", - "value": "{{admin-x-api-key}}", - "type": "text" - } - ], - "url": { - "raw": "localhost:3030/local/reports/archive/SAR/{{state}}/{{sar-id}}", - "host": [ - "localhost" - ], - "port": "3030", - "path": [ - "local", - "reports", - "archive", - "SAR", - "{{state}}", - "{{sar-id}}" - ] - } - }, - "response": [] - } - ] - } - ] -} \ No newline at end of file diff --git a/postman/MFP.postman_environment.json b/postman/MFP.postman_environment.json deleted file mode 100644 index fed3af943..000000000 --- a/postman/MFP.postman_environment.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "id": "f38ba46d-6ff1-4bdc-a56e-dc78115cc0f8", - "name": "MFP", - "values": [ - { - "key": "state-x-api-key", - "value": "", - "type": "default", - "enabled": true - }, - { - "key": "admin-x-api-key", - "value": "", - "type": "default", - "enabled": true - }, - { - "key": "state", - "value": "", - "type": "default", - "enabled": true - }, - { - "key": "stateName", - "value": "", - "type": "default", - "enabled": true - }, - { - "key": "wp-id", - "value": "", - "type": "default", - "enabled": true - }, - { - "key": "sar-id", - "value": "", - "type": "default", - "enabled": true - }, - { - "key": "admin-banner-id", - "value": "admin-banner-id", - "type": "default", - "enabled": true - } - ], - "_postman_variable_scope": "environment", - "_postman_exported_at": "2024-02-27T14:51:30.863Z", - "_postman_exported_using": "Postman/10.23.5" -} \ No newline at end of file diff --git a/postman/README.md b/postman/README.md deleted file mode 100644 index 8f36d181e..000000000 --- a/postman/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Postman Collection - -This directory contains the Postman collection and environment configuration for MFP. - -## Prerequisites - -- [Postman](https://www.postman.com/downloads/) - -## Setup - -1. Open Postman - > If this is your first time you will need to create an account. If your organization has Google SSO you can use that for ease. -2. Click "Import" in your workspace -3. Select the [MFP.postman_collection.json](./MFP.postman_collection.json) file from this folder and import it -4. Repeat steps 2 and 3 with the [environment](./MFP.postman_environment.json) file -5. Go to the MFP environment page (option in left sidebar) and set the following values: - -- `state` will be the two letter abbreviation of the state associated with the state user you typically use locally. Ex: TX -- `stateName` will be the full name of the associated state. Ex: Texas - -Unfortunately this GitHub repository will not automatically update your collection. If you need to update your local collection with the latest changes, repeat steps 2–4 above. - -## Using the collection - -### Folders - -The collection has three folders: Banners, WP, and SAR. Each folder contains associated API requests. Some requests use state user credentials and some use admin user credentials. You can see which under the "Authorization" tab of any given request. Many requests have a "Body" as well. These are set with a reasonable default for that request. If you find issues with the bodies of requests, or you update the associated APIs, please update this collection. - -### Environment - -Ensure you've set your workspace environment to the MFP environment. The dropdown for this is in the upper right of your workspace view. It will say "No Environment" if you have none selected. Next to this dropdown is a quick access menu that is convenient for updating values without leaving the collections view. Simply hover over a table item and click the pencil icon to update the "Current value". - -### Getting credentials - -1. Start MFP locally -2. In your browser, log in as a state or admin user -3. Open the network tab and select any request that hit your local api (the banner request on the homepage is an easy choice) -4. Scroll to the bottom of the request headers and copy the `x-api-key` value -5. Paste this value in your environment "Current value" cell for that user type -6. Repeat steps 2–5 for the other user type - -These credentials are valid for about 20 minutes. You can reuse the same credentials even after restarting MFP locally. If you change state users, you will need to get new credentials and update the `state` and `stateName` values in the environment. - -### Working with reports - -Requests in the WP and SAR folders interact with the associated reports. If you create a WP or SAR report, either in the browser or in Postman, be sure to copy the report `id` and put that in the MFP environment under `wp-id` or `sar-id` as appropriate. This ensures future requests, like filling out or submitting a report, interact with the expected report. - -## Full example flow - -At any time you can refresh the browser to verify each step - -1. Perform steps 1–6 from [Getting credentials](#getting-credentials) -2. Open the "WP" folder -3. Go to "Create WP" and click "Send" -4. Copy the `id` from the response and put that in the `wp-id` environment variable -5. Select "Fill out WP Report" and click "Send" -6. Select "Submit WP Report" and click "Send" -7. Select "Approve WP Report" and click "Send" - -You've now created, completely filled out, submitted, and approved a Work Plan report. You can repeat this with the SAR to finish the full app flow. From fb8646befa9077388d9fcc0694db5130a5b2426b Mon Sep 17 00:00:00 2001 From: Bangbay Siboliban Date: Fri, 27 Sep 2024 09:37:36 -0700 Subject: [PATCH 10/41] Add text translate util (#771) --- services/app-api/forms/sar.json | 8 ++ .../src/components/app/AppRoutes.test.tsx | 3 - .../export/ExportedReportBanner.tsx | 2 + .../components/modals/CreateWorkPlanModal.tsx | 2 +- .../pages/Export/ExportedReportPage.test.tsx | 79 +++++++++++++++++-- .../pages/Export/ExportedReportPage.tsx | 69 +++++++++++++--- .../components/pages/Home/HomePage.test.tsx | 4 +- .../pages/ReviewSubmit/AdminReview.test.tsx | 3 - .../ReviewSubmit/ReviewSubmitPage.test.tsx | 3 - services/ui-src/src/types/reports.ts | 1 + services/ui-src/src/utils/other/time.ts | 6 +- .../ui-src/src/utils/testing/setupJest.tsx | 16 +--- .../ui-src/src/utils/text/translate.test.ts | 34 ++++++++ services/ui-src/src/utils/text/translate.ts | 14 ++++ .../src/verbiage/pages/sar/sar-export.ts | 2 + .../ui-src/src/verbiage/pages/wp/wp-export.ts | 2 + 16 files changed, 202 insertions(+), 46 deletions(-) create mode 100644 services/ui-src/src/utils/text/translate.test.ts create mode 100644 services/ui-src/src/utils/text/translate.ts diff --git a/services/app-api/forms/sar.json b/services/app-api/forms/sar.json index 1fc868e9f..b192bc0d2 100644 --- a/services/app-api/forms/sar.json +++ b/services/app-api/forms/sar.json @@ -182,6 +182,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Number of people who signed an MFP informed consent form in the reporting period", + "subsectionTitle": "Number of people who signed an MFP informed consent form in the {{reportingPeriod}}", "info": [ { "type": "text", @@ -220,6 +221,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Number of MFP transitions in the reporting period", + "subsectionTitle": "Number of MFP transitions in the {{reportingPeriod}}", "info": [ { "type": "text", @@ -283,6 +285,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Number of MFP transitions from qualified institutions in the reporting period", + "subsectionTitle": "Number of MFP transitions from qualified institutions in the {{reportingPeriod}}", "info": [ { "type": "text", @@ -400,6 +403,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Number of MFP transitions to qualified residences in the reporting period", + "subsectionTitle": "Number of MFP transitions to qualified residences in the {{reportingPeriod}}", "info": [ { "type": "text", @@ -499,6 +503,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Total number of active MFP participants in the reporting period", + "subsectionTitle": "Total number of active MFP participants in the {{reportingPeriod}}", "info": [ { "type": "text", @@ -537,6 +542,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Number of MFP participants completing the program in the reporting period", + "subsectionTitle": "Number of MFP participants completing the program in the {{reportingPeriod}}", "info": [ { "type": "text", @@ -575,6 +581,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Number of people re-enrolled in MFP during the reporting period", + "subsectionTitle": "Number of people re-enrolled in MFP during the {{reportingPeriod}}", "info": [ { "type": "text", @@ -613,6 +620,7 @@ "intro": { "section": "Recruitment, Enrollment, and Transitions", "subsection": "Number of MFP participants disenrolled from the program during the reporting period", + "subsectionTitle": "Number of MFP participants disenrolled from the program during the {{reportingPeriod}}", "info": [ { "type": "text", diff --git a/services/ui-src/src/components/app/AppRoutes.test.tsx b/services/ui-src/src/components/app/AppRoutes.test.tsx index 9b4f760e3..d389aa684 100644 --- a/services/ui-src/src/components/app/AppRoutes.test.tsx +++ b/services/ui-src/src/components/app/AppRoutes.test.tsx @@ -7,7 +7,6 @@ import { AppRoutes } from "components"; import { useStore, UserProvider } from "utils"; import { mockStateUserStore, - mockLDFlags, mockBannerStore, mockReportStore, } from "utils/testing/setupJest"; @@ -20,8 +19,6 @@ mockedUseStore.mockReturnValue({ ...mockReportStore, }); -mockLDFlags.setDefault({ wpReport: true, sarReport: true }); - global.structuredClone = jest.fn((val) => { return val ? JSON.parse(JSON.stringify(val)) : val; }); diff --git a/services/ui-src/src/components/export/ExportedReportBanner.tsx b/services/ui-src/src/components/export/ExportedReportBanner.tsx index 9b8e89a81..10c1c88f6 100644 --- a/services/ui-src/src/components/export/ExportedReportBanner.tsx +++ b/services/ui-src/src/components/export/ExportedReportBanner.tsx @@ -23,6 +23,8 @@ export const ExportedReportBanner = () => { const verbiage = verbiageMap[reportType]; const { reportBanner } = verbiage; + + // LaunchDarkly const printExperience = useFlags()?.printExperience; const onClickHandler = () => { diff --git a/services/ui-src/src/components/modals/CreateWorkPlanModal.tsx b/services/ui-src/src/components/modals/CreateWorkPlanModal.tsx index c1cdf0513..3f3abad5f 100644 --- a/services/ui-src/src/components/modals/CreateWorkPlanModal.tsx +++ b/services/ui-src/src/components/modals/CreateWorkPlanModal.tsx @@ -58,7 +58,7 @@ export const CreateWorkPlanModal = ({ const [showAlert, setShowAlert] = useState(false); const [submitting, setSubmitting] = useState(false); - // temporary flag for testing copyover + // LaunchDarkly - temporary flag for testing copyover const isCopyOverTest = useFlags()?.isCopyOverTest; const form: FormJson = !previousReport diff --git a/services/ui-src/src/components/pages/Export/ExportedReportPage.test.tsx b/services/ui-src/src/components/pages/Export/ExportedReportPage.test.tsx index 13099f273..ef43d8cf7 100644 --- a/services/ui-src/src/components/pages/Export/ExportedReportPage.test.tsx +++ b/services/ui-src/src/components/pages/Export/ExportedReportPage.test.tsx @@ -13,6 +13,7 @@ import { import { mockEmptyReportStore, mockForm, + mockLDFlags, mockReportJson, mockReportPeriod, mockReportStore, @@ -39,6 +40,8 @@ const mockedUseStore = useStore as jest.MockedFunction; const mockReport = mockUseStore.report; +mockLDFlags.setDefault({ translateReport: false }); + const createRoutes = (routes: string[], withChildren: boolean) => routes.map((name, index) => ({ name, @@ -51,6 +54,7 @@ const createRoutes = (routes: string[], withChildren: boolean) => info: `${name} - Info`, section: name, subsection: name, + subsectionTitle: `${name} - Translate`, }, dashboardSubtitle: `${name} - Dashboard Subtitle`, }, @@ -64,6 +68,7 @@ const createRoutes = (routes: string[], withChildren: boolean) => intro: { section: "", subsection: `${name} - Child Subsection Intro`, + subsectionTitle: `${name} - Child Subsection Intro Translate`, }, }, }, @@ -117,7 +122,11 @@ describe("", () => { level: 2, name: WP_SAR_STATE_TERRITORY_INITIATIVES, }); - const childHeading = page.getByRole("heading", { + const childHeading1 = page.getByRole("heading", { + level: 3, + name: `${WP_SAR_GENERAL_INFORMATION} - Child Subsection Intro`, + }); + const childHeading2 = page.getByRole("heading", { level: 3, name: `${WP_SAR_STATE_TERRITORY_INITIATIVES} - Child Subsection Intro`, }); @@ -126,10 +135,30 @@ describe("", () => { `${mockStateName} MFP Work Plan for ${mockReportYear} - Period ${mockReportPeriod}` ); expect(sectionHeading).not.toBeInTheDocument(); + expect(childHeading1).toBeVisible(); + expect(childHeading2).toBeVisible(); + }); + + test("loads WP with children with translate()", async () => { + mockLDFlags.set({ translateReport: true }); + + mockWpReportContext.report.formTemplate.routes = createRoutes( + wpRoutes, + true + ); + + const page = render(exportedReportPage(mockReportJson)); + const childHeading = page.getByRole("heading", { + level: 3, + name: `${WP_SAR_GENERAL_INFORMATION} - Child Subsection Intro Translate`, + }); + expect(childHeading).toBeVisible(); }); test("loads WP initiatives with correct heading level", async () => { + mockLDFlags.set({ translateReport: false }); + const initiativeRoute = { name: "WP", path: "/mock/mock-route", @@ -251,7 +280,19 @@ describe("", () => { const reportType = ReportType.WP; const reportPage = { heading: "MFP Work Plan for" }; const report: ReportShape = mockReport!; - const result = reportTitle(reportType, reportPage, report); + const result = reportTitle(reportType, report, reportPage); + + expect(result).toBe( + `${mockStateName} MFP Work Plan for ${mockReportYear} - Period ${mockReportPeriod}` + ); + }); + + test("generates the correct title for WP report type using translate()", () => { + mockLDFlags.set({ translateReport: true }); + + const reportType = ReportType.WP; + const report: ReportShape = mockReport!; + const result = reportTitle(reportType, report); expect(result).toBe( `${mockStateName} MFP Work Plan for ${mockReportYear} - Period ${mockReportPeriod}` @@ -259,10 +300,24 @@ describe("", () => { }); test("generates the correct title for SAR report type", () => { + mockLDFlags.set({ translateReport: false }); + const reportType = ReportType.SAR; const reportPage = { heading: "Semi-Annual Progress Report (SAR) for" }; const report: ReportShape = mockReport!; - const result = reportTitle(reportType, reportPage, report); + const result = reportTitle(reportType, report, reportPage); + + expect(result).toBe( + `${mockStateName} Semi-Annual Progress Report (SAR) for ${mockReportYear} - Period ${mockReportPeriod}` + ); + }); + + test("generates the correct title for SAR report type using translate()", () => { + mockLDFlags.set({ translateReport: true }); + + const reportType = ReportType.SAR; + const report: ReportShape = mockReport!; + const result = reportTitle(reportType, report); expect(result).toBe( `${mockStateName} Semi-Annual Progress Report (SAR) for ${mockReportYear} - Period ${mockReportPeriod}` @@ -273,7 +328,7 @@ describe("", () => { const reportType: any = "unknown report type"; const report: ReportShape = mockReport!; - expect(() => reportTitle(reportType, undefined, report)).toThrowError( + expect(() => reportTitle(reportType, report, undefined)).toThrowError( `The title for report type ${reportType} has not been implemented.` ); }); @@ -281,9 +336,23 @@ describe("", () => { describe("formatSectionHeader()", () => { test("generates the correct header", () => { + mockLDFlags.set({ translateReport: false }); + const header = "Test reporting period"; const report: ReportShape = mockReport!; - const result = formatSectionHeader(report, header); + const result = formatSectionHeader(report, header, false); + + expect(result).toBe( + `Test January 1 to June 30, ${mockReportYear} reporting period` + ); + }); + + test("generates the correct header with translate()", () => { + mockLDFlags.set({ translateReport: true }); + + const header = "Test {{reportingPeriod}}"; + const report: ReportShape = mockReport!; + const result = formatSectionHeader(report, header, true); expect(result).toBe( `Test January 1 to June 30, ${mockReportYear} reporting period` diff --git a/services/ui-src/src/components/pages/Export/ExportedReportPage.tsx b/services/ui-src/src/components/pages/Export/ExportedReportPage.tsx index 84470fa57..ce18c4311 100644 --- a/services/ui-src/src/components/pages/Export/ExportedReportPage.tsx +++ b/services/ui-src/src/components/pages/Export/ExportedReportPage.tsx @@ -22,6 +22,8 @@ import { // verbiage import wpVerbiage from "verbiage/pages/wp/wp-export"; import sarVerbiage from "verbiage/pages/sar/sar-export"; +import { useFlags } from "launchdarkly-react-client-sdk"; +import { translate } from "utils/text/translate"; export const SAR_RET = "Recruitment, Enrollment, and Transitions"; export const WP_SAR_STATE_TERRITORY_INITIATIVES = @@ -52,14 +54,14 @@ export const ExportedReportPage = () => { {/* pdf metadata */} - {reportTitle(reportType, reportPage, report)} + {reportTitle(reportType, report, reportPage)} {/* report heading */} - {reportTitle(reportType, reportPage, report)} + {reportTitle(reportType, report, reportPage)} {/* report metadata tables */} { export const reportTitle = ( reportType: ReportType, - reportPage: any, - report: ReportShape + report: ReportShape, + reportPage?: any ): string => { + // LaunchDarkly + const translateReport = useFlags()?.translateReport; + + const { fieldData, reportYear, reportPeriod } = report; + const { stateName } = fieldData; switch (reportType) { - case ReportType.WP: - case ReportType.SAR: - return `${report.fieldData.stateName} ${reportPage.heading} ${report.reportYear} - Period ${report.reportPeriod}`; + case ReportType.WP: { + if (translateReport) { + return translate(wpVerbiage.reportPage.reportTitle, { + stateName, + reportYear, + reportPeriod, + }); + } + + return `${stateName} ${reportPage.heading} ${reportYear} - Period ${reportPeriod}`; + } + case ReportType.SAR: { + if (translateReport) { + return translate(sarVerbiage.reportPage.reportTitle, { + stateName, + reportYear, + reportPeriod, + }); + } + + return `${stateName} ${reportPage.heading} ${reportYear} - Period ${reportPeriod}`; + } default: assertExhaustive(reportType); throw new Error( @@ -95,12 +121,21 @@ export const reportTitle = ( } }; -export const formatSectionHeader = (report: ReportShape, header: string) => { +export const formatSectionHeader = ( + report: ReportShape, + header: string, + translateReport: boolean +) => { const newPeriod = `${displayLongformPeriod( report.reportPeriod, report.reportYear )}`; - const newHeader = header.replace(" reporting period", newPeriod); + + if (translateReport) { + return translate(header, { reportingPeriod: newPeriod }); + } + + const newHeader = header.replace("reporting period", newPeriod); return newHeader; }; @@ -123,13 +158,25 @@ export const renderReportSections = ( reportRoutes: ReportRoute[], report: ReportShape ) => { + // LaunchDarkly + let translateReport = useFlags()?.translateReport; + const { reportType } = report; // recursively render sections const renderSection = (section: ReportRoute, headingLevel: HeadingLevel) => { //because R,E & T section needs numbers added, switch from shallow copy to deep copy const childSections = structuredClone(section.children) || []; - const heading = section.verbiage?.intro.subsection - ? formatSectionHeader(report, section.verbiage.intro.subsection) + let subsection; + + if (translateReport && section.verbiage?.intro.subsectionTitle) { + subsection = section.verbiage.intro.subsectionTitle; + } else { + subsection = section.verbiage?.intro.subsection; + translateReport = false; + } + + const heading = subsection + ? formatSectionHeader(report, subsection, translateReport) : section.name; const sectionHeading = section.verbiage?.intro.exportSectionHeader || heading; diff --git a/services/ui-src/src/components/pages/Home/HomePage.test.tsx b/services/ui-src/src/components/pages/Home/HomePage.test.tsx index 998813825..ba9394ab2 100644 --- a/services/ui-src/src/components/pages/Home/HomePage.test.tsx +++ b/services/ui-src/src/components/pages/Home/HomePage.test.tsx @@ -2,7 +2,7 @@ import { render, screen } from "@testing-library/react"; // components import { HomePage } from "components"; // utils -import { mockLDFlags, RouterWrappedComponent } from "utils/testing/setupJest"; +import { RouterWrappedComponent } from "utils/testing/setupJest"; import { testA11y } from "utils/testing/commonTests"; const homeView = ( @@ -11,8 +11,6 @@ const homeView = ( ); -mockLDFlags.setDefault({ wpReport: true, sarReport: true }); - describe("", () => { test("Check that HomePage renders", () => { render(homeView); diff --git a/services/ui-src/src/components/pages/ReviewSubmit/AdminReview.test.tsx b/services/ui-src/src/components/pages/ReviewSubmit/AdminReview.test.tsx index 547b46d96..189b82fc9 100644 --- a/services/ui-src/src/components/pages/ReviewSubmit/AdminReview.test.tsx +++ b/services/ui-src/src/components/pages/ReviewSubmit/AdminReview.test.tsx @@ -4,7 +4,6 @@ import { ReportContext } from "components"; // utils import { mockAdminUserStore, - mockLDFlags, mockReportMethods, mockUseStore, RouterWrappedComponent, @@ -19,8 +18,6 @@ import { ReportStatus } from "types"; jest.mock("utils/state/useStore"); const mockedUseStore = useStore as jest.MockedFunction; -mockLDFlags.setDefault({ pdfExport: false }); - const ReviewSubmitPage = (verbiage: any) => { return ( diff --git a/services/ui-src/src/components/pages/ReviewSubmit/ReviewSubmitPage.test.tsx b/services/ui-src/src/components/pages/ReviewSubmit/ReviewSubmitPage.test.tsx index 00a2549ab..c867e4dfd 100644 --- a/services/ui-src/src/components/pages/ReviewSubmit/ReviewSubmitPage.test.tsx +++ b/services/ui-src/src/components/pages/ReviewSubmit/ReviewSubmitPage.test.tsx @@ -7,7 +7,6 @@ import { ReportStatus } from "types"; // utils import { mockAdminUserStore, - mockLDFlags, mockReportMethods, mockUseStore, RouterWrappedComponent, @@ -21,8 +20,6 @@ import { testA11y } from "utils/testing/commonTests"; jest.mock("utils/state/useStore"); const mockedUseStore = useStore as jest.MockedFunction; -mockLDFlags.setDefault({ pdfExport: false }); - const WpReviewSubmitPage = ( diff --git a/services/ui-src/src/types/reports.ts b/services/ui-src/src/types/reports.ts index b9e5d2c16..a3fed43c3 100644 --- a/services/ui-src/src/types/reports.ts +++ b/services/ui-src/src/types/reports.ts @@ -17,6 +17,7 @@ export interface ReportPageVerbiage { intro: { section: string; subsection?: string; + subsectionTitle?: string; hint?: string; info?: string | CustomHtmlElement[]; title?: string; diff --git a/services/ui-src/src/utils/other/time.ts b/services/ui-src/src/utils/other/time.ts index a9cbca6b0..53e584794 100644 --- a/services/ui-src/src/utils/other/time.ts +++ b/services/ui-src/src/utils/other/time.ts @@ -153,16 +153,16 @@ export const displayLongformPeriod = ( reportYear: number | undefined ) => { if (period === 1) { - return ` January 1 to June 30, ${reportYear} reporting period`; + return `January 1 to June 30, ${reportYear} reporting period`; } else { - return ` July 1 to December 31, ${reportYear} reporting period`; + return `July 1 to December 31, ${reportYear} reporting period`; } }; export const displayLongformPeriodSection9 = ( reportYear: number | undefined ) => { - return ` August 1, ${ + return `August 1, ${ reportYear ? reportYear - 1 : reportYear } to July 31, ${reportYear}`; }; diff --git a/services/ui-src/src/utils/testing/setupJest.tsx b/services/ui-src/src/utils/testing/setupJest.tsx index eddca5615..d3c0e898f 100644 --- a/services/ui-src/src/utils/testing/setupJest.tsx +++ b/services/ui-src/src/utils/testing/setupJest.tsx @@ -2,7 +2,6 @@ import React from "react"; import { BrowserRouter as Router } from "react-router-dom"; import "@testing-library/jest-dom"; import "jest-axe/extend-expect"; -import { mockFlags, resetLDMocks } from "jest-launchdarkly-mock"; // types import { UserRoles, @@ -55,13 +54,6 @@ jest.mock("@chakra-ui/transition", () => ({ )), })); -/* Mock LaunchDarkly (see https://bit.ly/3QAeS7j) */ -export const mockLDFlags = { - setDefault: (baseline: any) => mockFlags(baseline), - clear: resetLDMocks, - set: mockFlags, -}; - // AUTH jest.mock("aws-amplify", () => ({ @@ -343,12 +335,6 @@ export const RouterWrappedComponent: React.FC = ({ children }) => ( {children} ); -// LAUNCHDARKLY - -export const mockLDClient = { - variation: jest.fn(() => true), -}; - // ASSET export * from "./mockAsset"; // BANNER @@ -357,6 +343,8 @@ export * from "./mockBanner"; export * from "./mockEntities"; // FORM export * from "./mockForm"; +// LAUNCHDARKLY +export * from "./mockLaunchDarkly"; // REPORT export * from "./mockReport"; // ROUTER diff --git a/services/ui-src/src/utils/text/translate.test.ts b/services/ui-src/src/utils/text/translate.test.ts new file mode 100644 index 000000000..4ff5aa3da --- /dev/null +++ b/services/ui-src/src/utils/text/translate.test.ts @@ -0,0 +1,34 @@ +import { translate } from "./translate"; + +describe("translate()", () => { + const stateName = "Puerto Rico"; + const heading = "MFP Work Plan for"; + const reportYear = "2024"; + const reportPeriod = "1"; + + test("returns translated text", () => { + const result = translate( + "{{stateName}} {{heading}} {{reportYear}} - Period {{reportPeriod}}", + { stateName, heading, reportYear, reportPeriod } + ); + expect(result).toBe("Puerto Rico MFP Work Plan for 2024 - Period 1"); + }); + + test("returns empty value for missing key", () => { + const result = translate( + "{{stateName}} {{heading}} {{reportYear}} - Period {{reportPeriod}}", + { heading, reportYear, reportPeriod } + ); + + expect(result).toBe(" MFP Work Plan for 2024 - Period 1"); + }); + + test("returns empty value for non-existent key", () => { + const result = translate( + "{{stateName}} {{heading}} {{reportYear}} - Period {{reportPeriod}}", + { stateName, nonExistent: "nonExistent", reportYear, reportPeriod } + ); + + expect(result).toBe("Puerto Rico 2024 - Period 1"); + }); +}); diff --git a/services/ui-src/src/utils/text/translate.ts b/services/ui-src/src/utils/text/translate.ts new file mode 100644 index 000000000..1d964890e --- /dev/null +++ b/services/ui-src/src/utils/text/translate.ts @@ -0,0 +1,14 @@ +export function translate(text: string, keysToReplace: any = {}) { + const keys = Object.keys(keysToReplace); + let translatedText = text; + + keys.forEach((key) => { + const matches = new RegExp(`{{${key}}}`, "gm"); + translatedText = translatedText.replace(matches, keysToReplace[key]); + }); + + const unmatched = /{{\w*}}/gm; + translatedText = translatedText.replace(unmatched, ""); + + return translatedText; +} diff --git a/services/ui-src/src/verbiage/pages/sar/sar-export.ts b/services/ui-src/src/verbiage/pages/sar/sar-export.ts index b2e8919f1..4759b5b11 100644 --- a/services/ui-src/src/verbiage/pages/sar/sar-export.ts +++ b/services/ui-src/src/verbiage/pages/sar/sar-export.ts @@ -37,6 +37,8 @@ export default { "Select the target populations applicable to your state during this reporting period.", ], }, + reportTitle: + "{{stateName}} Semi-Annual Progress Report (SAR) for {{reportYear}} - Period {{reportPeriod}}", }, generalInformationTable: { headings: [ diff --git a/services/ui-src/src/verbiage/pages/wp/wp-export.ts b/services/ui-src/src/verbiage/pages/wp/wp-export.ts index 37315b9e8..0af6281f6 100644 --- a/services/ui-src/src/verbiage/pages/wp/wp-export.ts +++ b/services/ui-src/src/verbiage/pages/wp/wp-export.ts @@ -26,6 +26,8 @@ export default { subtitle: "Enrollees in separate CHIP programs funded under Title XXI should not be reported in the WP. Please check this box if the state is unable to remove information about Separate CHIP enrollees from its reporting on this program.", }, + reportTitle: + "{{stateName}} MFP Work Plan for {{reportYear}} - Period {{reportPeriod}}", }, tableHeaders: { indicator: "Indicator", From e8768fe9569b9ed7eb1952c77fd267bd93095499 Mon Sep 17 00:00:00 2001 From: Britt Date: Fri, 27 Sep 2024 14:03:40 -0500 Subject: [PATCH 11/41] Cmdct 3983 - updates to tables (#770) --- .../overlays/EntityDetailsDashboardOverlay.tsx | 14 ++++++++++++-- .../reports/DynamicModalOverlayReportPage.tsx | 16 ++++++++++++---- .../components/reports/ModalDrawerReportPage.tsx | 7 ++----- .../reports/ModalOverlayReportPage.tsx | 6 +++++- .../ui-src/src/components/tables/EntityRow.tsx | 9 +++++---- 5 files changed, 36 insertions(+), 16 deletions(-) diff --git a/services/ui-src/src/components/overlays/EntityDetailsDashboardOverlay.tsx b/services/ui-src/src/components/overlays/EntityDetailsDashboardOverlay.tsx index a4cb6669b..9fe2673d1 100644 --- a/services/ui-src/src/components/overlays/EntityDetailsDashboardOverlay.tsx +++ b/services/ui-src/src/components/overlays/EntityDetailsDashboardOverlay.tsx @@ -45,7 +45,7 @@ export const EntityDetailsDashboardOverlay = ({ }; const tableHeaders = () => { - return { headRow: ["", "", ""] }; + return { headRow: ["", ""] }; }; const reportPageTitle = selectedEntity?.isInitiativeClosed @@ -106,7 +106,7 @@ export const EntityDetailsDashboardOverlay = ({ text={dashboard?.verbiage?.intro} initiativeName={reportPageTitle} /> - +
{entitySteps?.map((step, index) => ( { if (isTablet || isMobile) return { headRow: ["", ""] }; - return { headRow: ["", verbiage.tableHeader, ""] }; + return { headRow: ["", verbiage.tableHeader] }; }; // Open/Close overlay action methods @@ -194,9 +194,6 @@ const sx = { paddingRight: "0", borderBottom: "1px solid", borderColor: "palette.gray_light", - ".tablet &, .mobile &": { - border: "none", - }, "&:nth-of-type(1)": { width: "2.5rem", }, @@ -204,5 +201,16 @@ const sx = { width: "260px", }, }, + /** + * removes bottom border only for + * State or Territory-Specific Initiatives + */ + tr: { + "&:last-of-type": { + td: { + border: "none", + }, + }, + }, }, }; diff --git a/services/ui-src/src/components/reports/ModalDrawerReportPage.tsx b/services/ui-src/src/components/reports/ModalDrawerReportPage.tsx index b32ef146b..b34818a13 100644 --- a/services/ui-src/src/components/reports/ModalDrawerReportPage.tsx +++ b/services/ui-src/src/components/reports/ModalDrawerReportPage.tsx @@ -184,7 +184,7 @@ export const ModalDrawerReportPage = ({ route, validateOnRender }: Props) => { }; const tableHeaders = { - headRow: ["", "", "", ""], + headRow: ["", ""], }; const defaultsPopsNotSelected = (targetPopulations: AnyObject[]) => { @@ -326,10 +326,7 @@ const sx = { paddingLeft: "1rem", paddingRight: "0", borderBottom: "1px solid", - borderColor: "palette.gray_lighter", - ".tablet &, .mobile &": { - border: "none", - }, + borderColor: "palette.gray_light", "&:nth-of-type(1)": { width: "2.5rem", }, diff --git a/services/ui-src/src/components/reports/ModalOverlayReportPage.tsx b/services/ui-src/src/components/reports/ModalOverlayReportPage.tsx index 46eb77604..ab5fcbac0 100644 --- a/services/ui-src/src/components/reports/ModalOverlayReportPage.tsx +++ b/services/ui-src/src/components/reports/ModalOverlayReportPage.tsx @@ -61,7 +61,7 @@ export const ModalOverlayReportPage = ({ route, setSidebarHidden }: Props) => { const dashSubTitle = (verbiage as AnyObject)?.dashboardSubtitle; const tableHeaders = () => { if (isTablet || isMobile) return { headRow: ["", ""] }; - return { headRow: ["", verbiage.tableHeader, ""] }; + return { headRow: ["", verbiage.tableHeader] }; }; // Add/edit entity modal disclosure and methods @@ -257,6 +257,10 @@ const sx = { width: "260px", }, }, + tr: { + borderBottom: "1px solid", + borderColor: "palette.gray_light", + }, }, addEntityButton: { marginTop: "2rem", diff --git a/services/ui-src/src/components/tables/EntityRow.tsx b/services/ui-src/src/components/tables/EntityRow.tsx index 98097770b..1ec2d2944 100644 --- a/services/ui-src/src/components/tables/EntityRow.tsx +++ b/services/ui-src/src/components/tables/EntityRow.tsx @@ -130,7 +130,7 @@ export const EntityRow = ({ > - - {rowDepth == 1 ? ( - - ) : ( - - )} + - {!isMobile && } + {displayDefaultEditButton && ( + + )} ); }; From 010dd252c93add94aa6a539122aef95335126c21 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Fri, 18 Oct 2024 09:31:17 -0400 Subject: [PATCH 24/41] [Snyk] Upgrade dompurify from 2.5.5 to 2.5.7 (#790) Co-authored-by: snyk-bot --- services/app-api/package.json | 2 +- services/app-api/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/services/app-api/package.json b/services/app-api/package.json index 06cd4cbc5..42fb52e8f 100644 --- a/services/app-api/package.json +++ b/services/app-api/package.json @@ -44,7 +44,7 @@ "@aws-sdk/lib-dynamodb": "^3.662.0", "@aws-sdk/s3-request-presigner": "^3.662.0", "aws-jwt-verify": "^3.1.0", - "dompurify": "^2.5.5", + "dompurify": "^2.5.7", "jsdom": "^24.1.3", "jwt-decode": "^3.1.2", "jwt-encode": "^1.0.1", diff --git a/services/app-api/yarn.lock b/services/app-api/yarn.lock index 0e7d85ee9..480f117d4 100644 --- a/services/app-api/yarn.lock +++ b/services/app-api/yarn.lock @@ -2719,10 +2719,10 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -dompurify@^2.5.5: - version "2.5.5" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.5.tgz#0540a05b8020d4691ee9c6083fb23b2c919276fc" - integrity sha512-FgbqnEPiv5Vdtwt6Mxl7XSylttCC03cqP5ldNT2z+Kj0nLxPHJH4+1Cyf5Jasxhw93Rl4Oo11qRoUV72fmya2Q== +dompurify@^2.5.7: + version "2.5.7" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.7.tgz#6e0d36b9177db5a99f18ade1f28579db5ab839d7" + integrity sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q== dotenv@^16.4.5: version "16.4.5" From 50f77456bfc3910ee2db74ca130c5d8129fff746 Mon Sep 17 00:00:00 2001 From: Britt Date: Fri, 18 Oct 2024 08:23:45 -0600 Subject: [PATCH 25/41] get correct initiative wp topic text to render (#789) --- ...ExportedModalOverlayReportSection.test.tsx | 105 +++------------- .../ExportedModalOverlayReportSection.tsx | 3 +- .../ui-src/src/utils/testing/mockReport.ts | 112 +++++++++++++++++- 3 files changed, 127 insertions(+), 93 deletions(-) diff --git a/services/ui-src/src/components/export/ExportedModalOverlayReportSection.test.tsx b/services/ui-src/src/components/export/ExportedModalOverlayReportSection.test.tsx index 22bebffdf..725da4b56 100644 --- a/services/ui-src/src/components/export/ExportedModalOverlayReportSection.test.tsx +++ b/services/ui-src/src/components/export/ExportedModalOverlayReportSection.test.tsx @@ -4,13 +4,16 @@ import { mockReportStore, RouterWrappedComponent, } from "utils/testing/setupJest"; -import { mockSARFullReport, mockWPFullReport } from "utils/testing/mockReport"; +import { + mockSARReportWithOverlays, + mockWPReportWithOtherTypeOverlays, + mockWPReportWithOverlays, +} from "utils/testing/mockReport"; import { EntityDetailsStepTypes, ModalOverlayReportPageVerbiage, OverlayModalPageShape, OverlayModalTypes, - ReportRoute, OverlayModalStepTypes, } from "types"; import { @@ -24,95 +27,6 @@ global.structuredClone = (x: any) => JSON.parse(JSON.stringify(x)); jest.mock("utils/state/useStore"); const mockedUseStore = useStore as jest.MockedFunction; -const mockWPReportWithOverlays = { - ...mockWPFullReport, - fieldData: { - ...mockWPFullReport.fieldData, - [OverlayModalTypes.INITIATIVE]: [ - { - ...mockWPFullReport.fieldData.entityType[0], - type: OverlayModalTypes.INITIATIVE, - id: "mock wip id", // this is both our search filter and our search target in renderFieldRow - initiative_wpTopic: [ - { - value: "mock WP topic", - }, - ], - }, - ], - }, - formTemplate: { - ...mockWPFullReport.formTemplate, - routes: [ - /* - * We need the 3th route to have a child with entityType initiative, - * to avoid a null reference in getInitiativeStatus() - */ - ...mockWPFullReport.formTemplate.routes.slice(0, 3), - { - name: "mock-route-4", - path: "/mock/mock-route-4", - children: [ - { - entityType: OverlayModalTypes.INITIATIVE, - }, - ], - } as ReportRoute, - ...mockWPFullReport.formTemplate.routes.slice(3), - ], - }, -}; - -const mockSARReportWithOverlays = { - ...mockSARFullReport, - fieldData: { - ...mockSARFullReport.fieldData, - [OverlayModalTypes.INITIATIVE]: [ - { - ...mockSARFullReport.fieldData.entityType[0], - type: OverlayModalTypes.INITIATIVE, - id: "mock wip id", // this is both our search filter and our search target in renderFieldRow - initiative_wpTopic: [ - { - value: "mock WP topic", - }, - ], - "mock-expenditure-field-1": "5", - "mock-expenditure-field-2": "10", - "mock-expenditure-field-3": "15", - "mock-expenditure-field-4": "20", - }, - ], - }, - formTemplate: { - ...mockSARFullReport.formTemplate, - routes: [ - /* - * We need the 2th route to have a child with entityType initiative, - * to avoid a null reference in getInitiativeStatus() - */ - ...mockSARFullReport.formTemplate.routes.slice(0, 2), - { - name: "mock-dynamic-route", - path: "/mock/mock-dynamic-route", - initiatives: [ - { - initiatiaveId: "mock-init-id", - name: "mock init name", - entitySteps: [ - { - // TODO what here? - foo: "bar", - }, - ], - }, - ], - } as ReportRoute, - ...mockSARFullReport.formTemplate.routes.slice(2), - ], - }, -}; - const wpMockProps = { section: { entityType: OverlayModalTypes.INITIATIVE, @@ -419,6 +333,15 @@ describe("", () => { ).toBeInTheDocument(); }); + test("should render correct initiative topic", () => { + mockedUseStore.mockReturnValue({ + ...mockReportStore, + report: mockWPReportWithOtherTypeOverlays, + }); + render(testComponent(wpMockProps)); + expect(screen.getByText("Unique initiative type")).toBeInTheDocument(); + }); + test("should render for SAR", () => { mockedUseStore.mockReturnValue({ ...mockReportStore, diff --git a/services/ui-src/src/components/export/ExportedModalOverlayReportSection.tsx b/services/ui-src/src/components/export/ExportedModalOverlayReportSection.tsx index d9f70a9ce..09e071fb7 100644 --- a/services/ui-src/src/components/export/ExportedModalOverlayReportSection.tsx +++ b/services/ui-src/src/components/export/ExportedModalOverlayReportSection.tsx @@ -164,7 +164,8 @@ export function renderModalOverlayTableBody( {`${idx + 1}. ${entity.initiative_name}` ?? "Not entered"} - {entity.initiative_wpTopic[0].value} + {entity.initiative_wp_otherTopic ?? + entity.initiative_wpTopic[0].value} diff --git a/services/ui-src/src/utils/testing/mockReport.ts b/services/ui-src/src/utils/testing/mockReport.ts index 25d7b41db..a75664bd0 100644 --- a/services/ui-src/src/utils/testing/mockReport.ts +++ b/services/ui-src/src/utils/testing/mockReport.ts @@ -1,4 +1,4 @@ -import { ReportStatus } from "types"; +import { OverlayModalTypes, ReportRoute, ReportStatus } from "types"; import { genericErrorContent } from "verbiage/errors"; import { mockStandardReportPageJson, @@ -480,3 +480,113 @@ export const mockReportContextNoReports = { ...mockWpReportContext, reportsByState: undefined, }; + +export const mockWPReportWithOverlays = { + ...mockWPFullReport, + fieldData: { + ...mockWPFullReport.fieldData, + [OverlayModalTypes.INITIATIVE]: [ + { + ...mockWPFullReport.fieldData.entityType[0], + type: OverlayModalTypes.INITIATIVE, + id: "mock wip id", // this is both our search filter and our search target in renderFieldRow + initiative_wpTopic: [ + { + value: "mock WP topic", + }, + ], + }, + ], + }, + formTemplate: { + ...mockWPFullReport.formTemplate, + routes: [ + /* + * We need the 3th route to have a child with entityType initiative, + * to avoid a null reference in getInitiativeStatus() + */ + ...mockWPFullReport.formTemplate.routes.slice(0, 3), + { + name: "mock-route-4", + path: "/mock/mock-route-4", + children: [ + { + entityType: OverlayModalTypes.INITIATIVE, + }, + ], + } as ReportRoute, + ...mockWPFullReport.formTemplate.routes.slice(3), + ], + }, +}; + +export const mockWPReportWithOtherTypeOverlays = { + ...mockWPFullReport, + fieldData: { + ...mockWPFullReport.fieldData, + [OverlayModalTypes.INITIATIVE]: [ + { + ...mockWPFullReport.fieldData.entityType[0], + type: OverlayModalTypes.INITIATIVE, + id: "mock wip id", + initiative_wpTopic: [ + { + key: "other-type-key", + value: "Other, specify", + }, + ], + initiative_wp_otherTopic: "Unique initiative type", + }, + ], + }, +}; + +export const mockSARReportWithOverlays = { + ...mockSARFullReport, + fieldData: { + ...mockSARFullReport.fieldData, + [OverlayModalTypes.INITIATIVE]: [ + { + ...mockSARFullReport.fieldData.entityType[0], + type: OverlayModalTypes.INITIATIVE, + id: "mock wip id", // this is both our search filter and our search target in renderFieldRow + initiative_wpTopic: [ + { + value: "mock WP topic", + }, + ], + "mock-expenditure-field-1": "5", + "mock-expenditure-field-2": "10", + "mock-expenditure-field-3": "15", + "mock-expenditure-field-4": "20", + }, + ], + }, + formTemplate: { + ...mockSARFullReport.formTemplate, + routes: [ + /* + * We need the 2th route to have a child with entityType initiative, + * to avoid a null reference in getInitiativeStatus() + */ + ...mockSARFullReport.formTemplate.routes.slice(0, 2), + { + name: "mock-dynamic-route", + path: "/mock/mock-dynamic-route", + initiatives: [ + { + initiatiaveId: "mock-init-id", + name: "mock init name", + entitySteps: [ + { + // TODO what here? + foo: "bar", + }, + ], + }, + ], + } as ReportRoute, + ...mockSARFullReport.formTemplate.routes.slice(2), + ], + }, +}; From 5fc5dde5f7e947bf88ecf92a5708da2729ee4562 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Mon, 21 Oct 2024 09:23:20 -0400 Subject: [PATCH 26/41] [Snyk] Upgrade dompurify from 2.5.5 to 2.5.7 (#793) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 4f8556aba..844acdc92 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -23,7 +23,7 @@ "aws-amplify": "^5.3.19", "date-fns": "^2.26.0", "date-fns-tz": "^1.3.8", - "dompurify": "^2.5.3", + "dompurify": "^2.5.7", "framer-motion": "^4", "html-react-parser": "^3.0.16", "jest": "^28.0.0", diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index 99df7aa5a..991baf84b 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -5921,10 +5921,10 @@ domhandler@5.0.3, domhandler@^5.0.1, domhandler@^5.0.2, domhandler@^5.0.3: dependencies: domelementtype "^2.3.0" -dompurify@^2.5.3: - version "2.5.5" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.5.tgz#0540a05b8020d4691ee9c6083fb23b2c919276fc" - integrity sha512-FgbqnEPiv5Vdtwt6Mxl7XSylttCC03cqP5ldNT2z+Kj0nLxPHJH4+1Cyf5Jasxhw93Rl4Oo11qRoUV72fmya2Q== +dompurify@^2.5.7: + version "2.5.7" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.5.7.tgz#6e0d36b9177db5a99f18ade1f28579db5ab839d7" + integrity sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q== domutils@^3.0.1: version "3.0.1" From 08fd51d53c23f1a78dd6870cf51236e5e16bb9c1 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Tue, 29 Oct 2024 09:23:24 -0400 Subject: [PATCH 27/41] [Snyk] Upgrade @vitejs/plugin-react from 4.3.1 to 4.3.2 (#794) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 239 +++++++++++++++++++++++++++++++---- 2 files changed, 218 insertions(+), 23 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 844acdc92..f6317f9a9 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -19,7 +19,7 @@ "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@hookform/resolvers": "^2.9.11", - "@vitejs/plugin-react": "^4.3.0", + "@vitejs/plugin-react": "^4.3.2", "aws-amplify": "^5.3.19", "date-fns": "^2.26.0", "date-fns-tz": "^1.3.8", diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index 991baf84b..ea60dfeec 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -1883,6 +1883,14 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" +"@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== + dependencies: + "@babel/highlight" "^7.25.7" + picocolors "^1.0.0" + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" @@ -1893,6 +1901,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== +"@babel/compat-data@^7.25.7": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402" + integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA== + "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.13.16": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" @@ -1914,7 +1927,7 @@ json5 "^2.2.1" semver "^6.3.0" -"@babel/core@^7.11.6", "@babel/core@^7.24.5": +"@babel/core@^7.11.6": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.7.tgz#b676450141e0b52a3d43bc91da86aa608f950ac4" integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g== @@ -1935,6 +1948,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.25.2": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.8.tgz#a57137d2a51bbcffcfaeba43cb4dd33ae3e0e1c6" + integrity sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helpers" "^7.25.7" + "@babel/parser" "^7.25.8" + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.8" + 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.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" @@ -1974,6 +2008,16 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" +"@babel/generator@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== + dependencies: + "@babel/types" "^7.25.7" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" @@ -2010,6 +2054,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" + integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== + dependencies: + "@babel/compat-data" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" @@ -2138,6 +2193,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-module-imports@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" @@ -2163,6 +2226,16 @@ "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-module-transforms@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a" + integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ== + dependencies: + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/helper-optimise-call-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" @@ -2180,10 +2253,10 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== -"@babel/helper-plugin-utils@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" - integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== +"@babel/helper-plugin-utils@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c" + integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw== "@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" @@ -2220,6 +2293,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-simple-access@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0" + integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -2270,6 +2351,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== + "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" @@ -2290,6 +2376,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + "@babel/helper-validator-option@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" @@ -2300,6 +2391,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== +"@babel/helper-validator-option@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729" + integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ== + "@babel/helper-wrap-function@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" @@ -2327,6 +2423,14 @@ "@babel/template" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helpers@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2" + integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA== + dependencies: + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/highlight@^7.16.7": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" @@ -2365,6 +2469,16 @@ js-tokens "^4.0.0" picocolors "^1.0.0" +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" + chalk "^2.4.2" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.9": version "7.17.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" @@ -2385,6 +2499,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== +"@babel/parser@^7.25.7", "@babel/parser@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.8.tgz#f6aaf38e80c36129460c1657c0762db584c9d5e2" + integrity sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ== + dependencies: + "@babel/types" "^7.25.8" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" @@ -2847,19 +2968,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-react-jsx-self@^7.24.5": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.7.tgz#66bff0248ea0b549972e733516ffad577477bdab" - integrity sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw== +"@babel/plugin-transform-react-jsx-self@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.7.tgz#3d11df143131fd8f5486a1f7d3839890f88f8c85" + integrity sha512-JD9MUnLbPL0WdVK8AWC7F7tTG2OS6u/AKKnsK+NdRhUiVdnzyR1S3kKQCaRLOiaULvUiqK6Z4JQE635VgtCFeg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-react-jsx-source@^7.24.1": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.7.tgz#1198aab2548ad19582013815c938d3ebd8291ee3" - integrity sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ== +"@babel/plugin-transform-react-jsx-source@^7.24.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.7.tgz#a0d8372310d5ea5b0447dfa03a8485f960eff7be" + integrity sha512-S/JXG/KrbIY06iyJPKfxr0qRxnhNOdkNXYBl/rmwgDd72cQLH9tEGkDm/yJPGvcSIUoikzfjMios9i+xT/uv9w== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-transform-react-jsx@^7.13.12": version "7.17.3" @@ -3094,6 +3215,15 @@ "@babel/parser" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/template@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" + "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" @@ -3126,6 +3256,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.25.7": + version "7.25.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + debug "^4.3.1" + globals "^11.1.0" + "@babel/traverse@^7.7.2": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" @@ -3177,6 +3320,15 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" +"@babel/types@^7.25.7", "@babel/types@^7.25.8": + version "7.25.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.8.tgz#5cf6037258e8a9bcad533f4979025140cb9993e1" + integrity sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg== + dependencies: + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -4862,14 +5014,14 @@ dependencies: "@types/node" "*" -"@vitejs/plugin-react@^4.3.0": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.1.tgz#d0be6594051ded8957df555ff07a991fb618b48e" - integrity sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg== +"@vitejs/plugin-react@^4.3.2": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-4.3.3.tgz#28301ac6d7aaf20b73a418ee5c65b05519b4836c" + integrity sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA== dependencies: - "@babel/core" "^7.24.5" - "@babel/plugin-transform-react-jsx-self" "^7.24.5" - "@babel/plugin-transform-react-jsx-source" "^7.24.1" + "@babel/core" "^7.25.2" + "@babel/plugin-transform-react-jsx-self" "^7.24.7" + "@babel/plugin-transform-react-jsx-source" "^7.24.7" "@types/babel__core" "^7.20.5" react-refresh "^0.14.2" @@ -5346,6 +5498,16 @@ browserslist@^4.22.2: node-releases "^2.0.14" update-browserslist-db "^1.0.13" +browserslist@^4.24.0: + version "4.24.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.2.tgz#f5845bc91069dbd55ee89faf9822e1d885d16580" + integrity sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg== + dependencies: + caniuse-lite "^1.0.30001669" + electron-to-chromium "^1.5.41" + node-releases "^2.0.18" + update-browserslist-db "^1.1.1" + bser@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -5442,6 +5604,11 @@ caniuse-lite@^1.0.30001587: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001620.tgz#78bb6f35b8fe315b96b8590597094145d0b146b4" integrity sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew== +caniuse-lite@^1.0.30001669: + version "1.0.30001669" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz#fda8f1d29a8bfdc42de0c170d7f34a9cf19ed7a3" + integrity sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -5955,6 +6122,11 @@ electron-to-chromium@^1.4.668: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.776.tgz#1580009f42f9f2ffc1b238e3d8d6e6baa7ca1682" integrity sha512-s694bi3+gUzlliqxjPHpa9NRTlhzTgB34aan+pVKZmOTGy2xoZXl+8E1B8i5p5rtev3PKMK/H4asgNejC+YHNg== +electron-to-chromium@^1.5.41: + version "1.5.41" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.41.tgz#eae1ba6c49a1a61d84cf8263351d3513b2bcc534" + integrity sha512-dfdv/2xNjX0P8Vzme4cfzHqnPm5xsZXwsolTYr0eyW18IUmNyG08vL+fttvinTfhKfIKdRoqkDIC9e9iWQCNYQ== + emittery@^0.10.2: version "0.10.2" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" @@ -6038,6 +6210,11 @@ escalade@^3.1.2: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -7642,6 +7819,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -8031,6 +8213,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.18: + version "2.0.18" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" + integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== + node-releases@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.4.tgz#f38252370c43854dc48aa431c766c6c398f40476" @@ -9695,6 +9882,14 @@ update-browserslist-db@^1.0.13: escalade "^3.1.2" picocolors "^1.0.1" +update-browserslist-db@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.0" + urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" From ad1414a9afc7e209374fcdea73dbebd9b49c18b4 Mon Sep 17 00:00:00 2001 From: Garrett Rabian <57802560+gmrabian@users.noreply.github.com> Date: Tue, 29 Oct 2024 10:03:32 -0400 Subject: [PATCH 28/41] Upgrade amplify to v6 (#791) --- services/ui-src/package.json | 2 +- .../components/logins/LoginCognito.test.tsx | 51 +- .../src/components/logins/LoginCognito.tsx | 4 +- .../src/components/reports/ReportProvider.tsx | 1 + services/ui-src/src/index.tsx | 55 +- services/ui-src/src/types/users.ts | 2 +- services/ui-src/src/utils/api/apiLib.test.ts | 70 + services/ui-src/src/utils/api/apiLib.ts | 37 + .../src/utils/api/providers/ApiProvider.tsx | 25 +- .../utils/api/requestMethods/banner.test.ts | 43 +- .../src/utils/api/requestMethods/banner.ts | 24 +- .../requestMethods/getRequestHeaders.test.ts | 33 +- .../api/requestMethods/getRequestHeaders.ts | 7 +- .../api/requestMethods/getTemplateUrl.test.ts | 15 +- .../api/requestMethods/getTemplateUrl.ts | 7 +- .../utils/api/requestMethods/report.test.ts | 73 +- .../src/utils/api/requestMethods/report.ts | 92 +- ...rovider.test.tsx => UserProvider.test.tsx} | 87 +- .../ui-src/src/utils/auth/UserProvider.tsx | 39 +- .../src/utils/auth/authLifecycle.test.tsx | 2 +- .../ui-src/src/utils/auth/authLifecycle.tsx | 7 +- services/ui-src/src/utils/index.ts | 1 + services/ui-src/src/utils/other/print.test.ts | 43 +- services/ui-src/src/utils/other/print.ts | 14 +- .../ui-src/src/utils/testing/mockUsers.tsx | 12 +- .../ui-src/src/utils/testing/setupJest.tsx | 64 +- services/ui-src/yarn.lock | 3216 ++++++----------- tests/cypress/e2e/accessibility/admin.cy.js | 1 + tests/cypress/e2e/accessibility/help.cy.js | 2 + tests/cypress/e2e/accessibility/home.cy.js | 3 + tests/cypress/e2e/accessibility/profile.cy.js | 2 + 31 files changed, 1688 insertions(+), 2346 deletions(-) create mode 100644 services/ui-src/src/utils/api/apiLib.test.ts create mode 100644 services/ui-src/src/utils/api/apiLib.ts rename services/ui-src/src/utils/auth/{userProvider.test.tsx => UserProvider.test.tsx} (76%) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index f6317f9a9..89b6de688 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -20,7 +20,7 @@ "@emotion/styled": "^11.13.0", "@hookform/resolvers": "^2.9.11", "@vitejs/plugin-react": "^4.3.2", - "aws-amplify": "^5.3.19", + "aws-amplify": "^6.6.4", "date-fns": "^2.26.0", "date-fns-tz": "^1.3.8", "dompurify": "^2.5.7", diff --git a/services/ui-src/src/components/logins/LoginCognito.test.tsx b/services/ui-src/src/components/logins/LoginCognito.test.tsx index 64db62c61..02bc85d72 100644 --- a/services/ui-src/src/components/logins/LoginCognito.test.tsx +++ b/services/ui-src/src/components/logins/LoginCognito.test.tsx @@ -1,11 +1,21 @@ import { render, screen } from "@testing-library/react"; import userEvent from "@testing-library/user-event"; -// utils -import { RouterWrappedComponent } from "utils/testing/setupJest"; -import { Auth } from "aws-amplify"; //components import { LoginCognito } from "components"; import { testA11y } from "utils/testing/commonTests"; +// utils +import { RouterWrappedComponent } from "utils/testing/setupJest"; + +const mockSignIn = jest.fn(); +jest.mock("aws-amplify/auth", () => ({ + signIn: (credentials: any) => mockSignIn(credentials), +})); + +const mockUseNavigate = jest.fn(); + +jest.mock("react-router-dom", () => ({ + useNavigate: () => mockUseNavigate, +})); const loginCognitoComponent = ( @@ -13,37 +23,24 @@ const loginCognitoComponent = ( ); -jest.mock("aws-amplify", () => ({ - Auth: { - signIn: jest.fn(), - }, -})); - describe("", () => { describe("Renders", () => { beforeEach(() => { render(loginCognitoComponent); }); - test("LoginCognito email field is visible", () => { - expect(screen.getByText("Email")).toBeVisible(); - }); - - test("LoginCognito password field is visible", () => { - expect(screen.getByText("Password")).toBeVisible(); - }); - - test("LoginCognito login button is visible", () => { - expect(screen.getByRole("button")).toBeVisible(); - }); - - test("LoginCognito calls Auth.signIn", async () => { - const loginButton = screen.getByText("Log In with Cognito", { - selector: "button", + test("LoginCognito login calls amplify auth login", async () => { + const emailInput = screen.getByLabelText("Email"); + const passwordInput = screen.getByLabelText("Password"); + const submitButton = screen.getByRole("button"); + await userEvent.type(emailInput, "email@address.com"); + await userEvent.type(passwordInput, "p@$$w0rd"); //pragma: allowlist secret + await userEvent.click(submitButton); + expect(mockSignIn).toHaveBeenCalledWith({ + username: "email@address.com", + password: "p@$$w0rd", //pragma: allowlist secret }); - await userEvent.click(loginButton); - - expect(Auth.signIn).toHaveBeenCalled(); + expect(mockUseNavigate).toHaveBeenCalledWith("/"); }); }); diff --git a/services/ui-src/src/components/logins/LoginCognito.tsx b/services/ui-src/src/components/logins/LoginCognito.tsx index 6ae25ed28..e8ea313ad 100644 --- a/services/ui-src/src/components/logins/LoginCognito.tsx +++ b/services/ui-src/src/components/logins/LoginCognito.tsx @@ -1,6 +1,6 @@ import { useState } from "react"; import { useNavigate } from "react-router-dom"; -import { Auth } from "aws-amplify"; +import { signIn } from "aws-amplify/auth"; // components import { Box, Button, Heading, Input, Stack, Text } from "@chakra-ui/react"; import { ErrorAlert } from "components"; @@ -32,7 +32,7 @@ export const LoginCognito = () => { const handleLogin = async (event: any) => { event.preventDefault(); try { - await Auth.signIn(fields.email, fields.password); + await signIn({ username: fields.email, password: fields.password }); navigate(`/`); } catch (error: any) { let errorMessage: ErrorVerbiage = { diff --git a/services/ui-src/src/components/reports/ReportProvider.tsx b/services/ui-src/src/components/reports/ReportProvider.tsx index df44497f9..7b55c2823 100644 --- a/services/ui-src/src/components/reports/ReportProvider.tsx +++ b/services/ui-src/src/components/reports/ReportProvider.tsx @@ -93,6 +93,7 @@ export const ReportProvider = ({ children }: Props) => { return result; } catch { setError(reportErrors.GET_REPORT_FAILED); + return; } }; diff --git a/services/ui-src/src/index.tsx b/services/ui-src/src/index.tsx index 02e575368..a04401a92 100644 --- a/services/ui-src/src/index.tsx +++ b/services/ui-src/src/index.tsx @@ -3,6 +3,7 @@ import { BrowserRouter as Router } from "react-router-dom"; import { ErrorBoundary } from "react-error-boundary"; import { Amplify } from "aws-amplify"; import config from "config"; +import "aws-amplify/auth/enable-oauth-listener"; // utils import { ApiProvider, UserProvider } from "utils"; import { asyncWithLDProvider } from "launchdarkly-react-client-sdk"; @@ -13,27 +14,53 @@ import { ChakraProvider } from "@chakra-ui/react"; import theme from "styles/theme"; import "./styles/index.scss"; +let apiRestConfig: any = { + mfp: { + endpoint: config.apiGateway.URL, + region: config.apiGateway.REGION, + }, +}; + +if (config.DEV_API_URL) { + apiRestConfig = { + ...apiRestConfig, + mfpDev: { + endpoint: config.DEV_API_URL, + region: "us-east-1", + }, + }; +} + Amplify.configure({ Storage: { - region: config.s3.REGION, - bucket: config.s3.BUCKET, - identityPoolId: config.cognito.IDENTITY_POOL_ID, + S3: { + region: config.s3.REGION, + bucket: config.s3.BUCKET, + }, }, Auth: { - mandatorySignIn: true, - region: config.cognito.REGION, - userPoolId: config.cognito.USER_POOL_ID, - identityPoolId: config.cognito.IDENTITY_POOL_ID, - userPoolWebClientId: config.cognito.APP_CLIENT_ID, - oauth: { - domain: config.cognito.APP_CLIENT_DOMAIN, - redirectSignIn: config.cognito.REDIRECT_SIGNIN, - redirectSignOut: config.cognito.REDIRECT_SIGNOUT, - scope: ["email", "openid", "profile"], - responseType: "code", + Cognito: { + userPoolId: config.cognito.USER_POOL_ID, + identityPoolId: config.cognito.IDENTITY_POOL_ID, + userPoolClientId: config.cognito.APP_CLIENT_ID, + loginWith: { + oauth: { + domain: config.cognito.APP_CLIENT_DOMAIN, + redirectSignIn: [config.cognito.REDIRECT_SIGNIN], + redirectSignOut: [config.cognito.REDIRECT_SIGNOUT], + scopes: ["email", "openid", "profile"], + responseType: "code", + }, + }, + }, + }, + API: { + REST: { + ...apiRestConfig, }, }, }); + // LaunchDarkly configuration const ldClientId = config.REACT_APP_LD_SDK_CLIENT; (async () => { diff --git a/services/ui-src/src/types/users.ts b/services/ui-src/src/types/users.ts index 6067ee591..a55a0be46 100644 --- a/services/ui-src/src/types/users.ts +++ b/services/ui-src/src/types/users.ts @@ -24,7 +24,7 @@ export interface UserContextShape { user?: MFPUser; getExpiration: Function; logout: () => Promise; - loginWithIDM: () => void; + loginWithIDM: () => Promise; showLocalLogins?: boolean; updateTimeout: () => void; } diff --git a/services/ui-src/src/utils/api/apiLib.test.ts b/services/ui-src/src/utils/api/apiLib.test.ts new file mode 100644 index 000000000..d81690260 --- /dev/null +++ b/services/ui-src/src/utils/api/apiLib.test.ts @@ -0,0 +1,70 @@ +import { apiLib } from "./apiLib"; +import { updateTimeout } from "utils"; + +const mockAmplifyApi = require("aws-amplify/api"); + +jest.mock("utils", () => ({ + updateTimeout: jest.fn(), +})); + +const path = "my/url"; +const mockOptions = { + headers: { + "x-api-key": "mock key", + }, + body: { + foo: "bar", + }, +}; +const requestObj = { + apiName: "mfp", + path, + options: mockOptions, +}; + +describe("API lib", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("Calling post should update the session timeout", async () => { + const apiSpy = jest.spyOn(mockAmplifyApi, "post"); + await apiLib.post(path, mockOptions); + + expect(apiSpy).toBeCalledWith(requestObj); + expect(updateTimeout).toBeCalled(); + }); + + test("Calling put should update the session timeout", async () => { + const apiSpy = jest.spyOn(mockAmplifyApi, "put"); + await apiLib.put(path, mockOptions); + + expect(apiSpy).toBeCalledWith(requestObj); + expect(updateTimeout).toBeCalled(); + }); + + test("Calling get should update the session timeout", async () => { + const apiSpy = jest.spyOn(mockAmplifyApi, "get"); + await apiLib.get(path, mockOptions); + + expect(apiSpy).toBeCalledWith(requestObj); + expect(updateTimeout).toBeCalled(); + }); + + test("Calling del should update the session timeout", async () => { + const apiSpy = jest.spyOn(mockAmplifyApi, "del"); + await apiLib.del(path, mockOptions); + + expect(apiSpy).toBeCalledWith(requestObj); + expect(updateTimeout).toBeCalled(); + }); + + test("API errors should be surfaced for handling", async () => { + const apiSpy = jest.spyOn(mockAmplifyApi, "del"); + apiSpy.mockImplementationOnce(() => { + throw new Error("500"); + }); + + await expect(apiLib.del(path, mockOptions)).rejects.toThrow(Error); + }); +}); diff --git a/services/ui-src/src/utils/api/apiLib.ts b/services/ui-src/src/utils/api/apiLib.ts new file mode 100644 index 000000000..4f9d5e969 --- /dev/null +++ b/services/ui-src/src/utils/api/apiLib.ts @@ -0,0 +1,37 @@ +/* eslint-disable no-console */ +import { get, put, post, del } from "aws-amplify/api"; +import { AnyObject } from "types"; +import { updateTimeout } from "utils"; + +const apiName = "mfp"; + +/** + * Wrap the AWS API so we can handle any before or after behaviors. + * Below we just key off of these API calls as our source of user activity to make sure + * credentials don't expire. + */ +const apiRequest = async (request: any, path: string, options: AnyObject) => { + try { + updateTimeout(); + const { body } = await request({ apiName, path, options }).response; + const res = await body.text(); // body.json() dies on an empty response, spectacularly + return res && res.length > 0 ? JSON.parse(res) : null; + } catch (e: any) { + // Return our own error for handling in the app + const info = `Request Failed - ${path} - ${e.response?.body}`; + console.log(e); + console.log(info); + throw new Error(info); + } +}; + +export const apiLib = { + del: async (path: string, options: AnyObject) => + apiRequest(del, path, options), + get: async (path: string, options: AnyObject) => + apiRequest(get, path, options), + post: async (path: string, options: AnyObject) => + apiRequest(post, path, options), + put: async (path: string, options: AnyObject) => + apiRequest(put, path, options), +}; diff --git a/services/ui-src/src/utils/api/providers/ApiProvider.tsx b/services/ui-src/src/utils/api/providers/ApiProvider.tsx index 2e01a7217..d726bf6e3 100644 --- a/services/ui-src/src/utils/api/providers/ApiProvider.tsx +++ b/services/ui-src/src/utils/api/providers/ApiProvider.tsx @@ -1,6 +1,4 @@ -import { ReactNode, useEffect, useMemo, createContext } from "react"; -import { API } from "aws-amplify"; -import config from "config"; +import { ReactNode, useMemo, createContext } from "react"; export const ApiContext = createContext(null); @@ -9,27 +7,6 @@ interface Props { } export const ApiProvider = ({ children }: Props) => { - useEffect(() => { - const endpoints = [ - { - name: "mfp", - endpoint: config.apiGateway.URL, - region: config.apiGateway.REGION, - }, - ]; - if (config.DEV_API_URL) { - // Add dev endpoint for pdf printing access locally - endpoints.push({ - name: "mfpDev", - endpoint: config.DEV_API_URL, - region: "us-east-1", - }); - } - API.configure({ - endpoints: endpoints, - }); - }, []); - const values = useMemo(() => ({}), []); // @ts-ignore return {children}; diff --git a/services/ui-src/src/utils/api/requestMethods/banner.test.ts b/services/ui-src/src/utils/api/requestMethods/banner.test.ts index fe4452174..b1bed6d22 100644 --- a/services/ui-src/src/utils/api/requestMethods/banner.test.ts +++ b/services/ui-src/src/utils/api/requestMethods/banner.test.ts @@ -2,30 +2,35 @@ import { getBanner, writeBanner, deleteBanner } from "./banner"; // utils import { bannerId } from "../../../constants"; import { mockBannerData } from "utils/testing/setupJest"; -import { initAuthManager } from "utils/auth/authLifecycle"; +import { AnyObject } from "types"; -describe("utils/banner", () => { - beforeEach(async () => { - jest.useFakeTimers(); - initAuthManager(); - jest.runAllTimers(); - }); +const mockDel = jest.fn(); +const mockGet = jest.fn(); +const mockPost = jest.fn(); +jest.mock("../apiLib", () => ({ + apiLib: { + del: (path: string, options: AnyObject) => mockDel(path, options), + get: (path: string, options: AnyObject) => mockGet(path, options), + post: (path: string, options: AnyObject) => mockPost(path, options), + }, +})); - describe("getBanner()", () => { - test("executes", () => { - expect(getBanner(bannerId)).toBeTruthy(); - }); +describe("Test banner methods", () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + test("getBanner", async () => { + await getBanner(bannerId); + expect(mockGet).toHaveBeenCalledTimes(1); }); - describe("writeBanner()", () => { - test("executes", () => { - expect(writeBanner(mockBannerData)).toBeTruthy(); - }); + test("postBanner", async () => { + await writeBanner(mockBannerData); + expect(mockPost).toHaveBeenCalledTimes(1); }); - describe("deleteBanner()", () => { - test("executes", () => { - expect(deleteBanner(bannerId)).toBeTruthy(); - }); + test("delBanner", async () => { + await deleteBanner(bannerId); + expect(mockDel).toHaveBeenCalledTimes(1); }); }); diff --git a/services/ui-src/src/utils/api/requestMethods/banner.ts b/services/ui-src/src/utils/api/requestMethods/banner.ts index 12dfbc663..73d0d2990 100644 --- a/services/ui-src/src/utils/api/requestMethods/banner.ts +++ b/services/ui-src/src/utils/api/requestMethods/banner.ts @@ -1,40 +1,36 @@ -import { API } from "aws-amplify"; import { getRequestHeaders } from "./getRequestHeaders"; import { AdminBannerData } from "types/banners"; -import { updateTimeout } from "utils"; +import { apiLib } from "utils"; async function getBanner(bannerKey: string) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; + const path = `/banners/${bannerKey}`; - updateTimeout(); - const response = await API.get("mfp", `/banners/${bannerKey}`, request); - return response; + return await apiLib.get(path, options); } async function writeBanner(bannerData: AdminBannerData) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, body: bannerData, }; + const path = `/banners/${bannerData.key}`; - updateTimeout(); - const response = await API.post("mfp", `/banners/${bannerData.key}`, request); - return response; + await apiLib.post(path, options); } async function deleteBanner(bannerKey: string) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; + const path = `/banners/${bannerKey}`; - updateTimeout(); - const response = await API.del("mfp", `/banners/${bannerKey}`, request); - return response; + await apiLib.del(path, options); } export { getBanner, writeBanner, deleteBanner }; diff --git a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts b/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts index 27865a69a..af96f4182 100644 --- a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts +++ b/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts @@ -1,19 +1,32 @@ import { getRequestHeaders } from "./getRequestHeaders"; +const mockAmplify = require("aws-amplify/auth"); + describe("utils/getRequestHeaders", () => { - describe("getRequestHeaders()", () => { - test("Logs error to console if Auth throws error", async () => { - jest.spyOn(console, "log").mockImplementation(jest.fn()); - const spy = jest.spyOn(console, "log"); + test("Logs error to console if Auth throws error", async () => { + jest.spyOn(console, "log").mockImplementation(jest.fn()); + const spy = jest.spyOn(console, "log"); + + mockAmplify.fetchAuthSession = jest.fn().mockImplementation(() => { + throw new Error(); + }); - const mockAmplify = require("aws-amplify"); - mockAmplify.Auth.currentSession = jest.fn().mockImplementation(() => { - throw new Error(); - }); + await getRequestHeaders(); - await getRequestHeaders(); + await expect(spy).toHaveBeenCalled(); + }); - await expect(spy).toHaveBeenCalled(); + test("Returns token if current idToken exists", async () => { + mockAmplify.fetchAuthSession = jest.fn().mockResolvedValue({ + tokens: { + idToken: { + toString: () => "stringToken", + }, + }, }); + + const result = await getRequestHeaders(); + + expect(result).toStrictEqual({ "x-api-key": "stringToken" }); }); }); diff --git a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts b/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts index ba8eca88c..0149cee6c 100644 --- a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts +++ b/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts @@ -1,11 +1,10 @@ -import { Auth } from "aws-amplify"; +import { fetchAuthSession } from "aws-amplify/auth"; export const getRequestHeaders = async (): Promise => { try { - const session = await Auth.currentSession(); - const token = await session.getIdToken().getJwtToken(); + const { idToken } = (await fetchAuthSession()).tokens ?? {}; const headers = { - "x-api-key": token, + "x-api-key": idToken?.toString(), }; return headers; } catch (error) { diff --git a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts index 0084ffe39..eef5effda 100644 --- a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts +++ b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts @@ -1,9 +1,18 @@ +import { AnyObject } from "types"; import { getSignedTemplateUrl } from "./getTemplateUrl"; const testTemplateName = "TestName"; -describe("utils/getTemplateUrl", () => { - test("getSignedTemplateUrl()", () => { - expect(getSignedTemplateUrl(testTemplateName)).toBeTruthy(); +const mockGet = jest.fn(); +jest.mock("../apiLib", () => ({ + apiLib: { + get: (path: string, options: AnyObject) => mockGet(path, options), + }, +})); + +describe("Test template methods", () => { + test("getSignedTemplateUrl", async () => { + await getSignedTemplateUrl(testTemplateName); + expect(mockGet).toHaveBeenCalledTimes(1); }); }); diff --git a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts index 19206da8c..9b7c03e84 100644 --- a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts +++ b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts @@ -1,12 +1,11 @@ -import { API } from "aws-amplify"; import { getRequestHeaders } from "./getRequestHeaders"; +import { apiLib } from "utils"; export async function getSignedTemplateUrl(templateName: string) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; - const response = await API.get("mfp", `/templates/${templateName}`, request); - return response; + return await apiLib.get(`/templates/${templateName}`, options); } diff --git a/services/ui-src/src/utils/api/requestMethods/report.test.ts b/services/ui-src/src/utils/api/requestMethods/report.test.ts index 3bc163175..854ab9e78 100644 --- a/services/ui-src/src/utils/api/requestMethods/report.test.ts +++ b/services/ui-src/src/utils/api/requestMethods/report.test.ts @@ -1,28 +1,73 @@ -import { getReport, getReportsByState, postReport, putReport } from "./report"; +import { + approveReport, + archiveReport, + getReport, + getReportsByState, + postReport, + putReport, + releaseReport, + submitReport, +} from "./report"; +// types +import { AnyObject } from "types"; // utils import { mockReportKeys, mockWPReport } from "utils/testing/setupJest"; -import { initAuthManager } from "utils/auth/authLifecycle"; + +const mockDel = jest.fn(); +const mockGet = jest.fn(); +const mockPost = jest.fn(); +const mockPut = jest.fn(); +jest.mock("../apiLib", () => ({ + apiLib: { + del: (path: string, options: AnyObject) => mockDel(path, options), + get: (path: string, options: AnyObject) => mockGet(path, options), + post: (path: string, options: AnyObject) => mockPost(path, options), + put: (path: string, options: AnyObject) => mockPut(path, options), + }, +})); describe("utils/report", () => { - beforeEach(async () => { - jest.useFakeTimers(); - initAuthManager(); - jest.runAllTimers(); + beforeEach(() => { + jest.clearAllMocks(); + }); + + test("approveReport", async () => { + await approveReport(mockReportKeys, mockWPReport); + expect(mockPut).toHaveBeenCalledTimes(1); + }); + + test("archiveReport", async () => { + await archiveReport(mockReportKeys); + expect(mockPut).toHaveBeenCalledTimes(1); + }); + + test("getReport", async () => { + await getReport(mockReportKeys); + expect(mockGet).toHaveBeenCalledTimes(1); + }); + + test("getReportsByState", async () => { + await getReportsByState("WP", "NJ"); + expect(mockGet).toHaveBeenCalledTimes(1); }); - test("getReport()", () => { - expect(getReport(mockReportKeys)).toBeTruthy(); + test("postReport", async () => { + await postReport("WP", "NJ", mockWPReport); + expect(mockPost).toHaveBeenCalledTimes(1); }); - test("getReportsByState()", () => { - expect(getReportsByState("WP", "NJ")).toBeTruthy(); + test("putReport", async () => { + await putReport(mockReportKeys, mockWPReport); + expect(mockPut).toHaveBeenCalledTimes(1); }); - test("postReport()", () => { - expect(postReport("WP", "NJ", mockWPReport)).toBeTruthy(); + test("releaseReport", async () => { + await releaseReport(mockReportKeys); + expect(mockPut).toHaveBeenCalledTimes(1); }); - test("putReport()", () => { - expect(putReport(mockReportKeys, mockWPReport)).toBeTruthy(); + test("submitReport", async () => { + await submitReport(mockReportKeys); + expect(mockPost).toHaveBeenCalledTimes(1); }); }); diff --git a/services/ui-src/src/utils/api/requestMethods/report.ts b/services/ui-src/src/utils/api/requestMethods/report.ts index 58c073518..8fe5a1dae 100644 --- a/services/ui-src/src/utils/api/requestMethods/report.ts +++ b/services/ui-src/src/utils/api/requestMethods/report.ts @@ -1,52 +1,37 @@ -import { API } from "aws-amplify"; import { AnyObject, ReportKeys } from "types"; import { getRequestHeaders } from "./getRequestHeaders"; -import { updateTimeout } from "utils"; +import { apiLib } from "utils"; async function archiveReport(reportKeys: ReportKeys) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; const { reportType, state, id } = reportKeys; + const path = `/reports/archive/${reportType}/${state}/${id}`; - updateTimeout(); - const response = await API.put( - "mfp", - `/reports/archive/${reportType}/${state}/${id}`, - request - ); - return response; + await apiLib.put(path, options); } async function getReportsByState(reportType: string, state: string) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; - updateTimeout(); - const response = await API.get( - "mfp", - `/reports/${reportType}/${state}`, - request - ); - return response; + const path = `/reports/${reportType}/${state}`; + + return await apiLib.get(path, options); } async function getReport(reportKeys: ReportKeys) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; const { reportType, state, id } = reportKeys; + const path = `/reports/${reportType}/${state}/${id}`; - updateTimeout(); - const response = await API.get( - "mfp", - `/reports/${reportType}/${state}/${id}`, - request - ); - return response; + return await apiLib.get(path, options); } /** @@ -58,84 +43,59 @@ async function postReport( report: AnyObject ) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, body: { ...report }, }; + const path = `/reports/${reportType}/${state}`; - updateTimeout(); - const response = await API.post( - "mfp", - `/reports/${reportType}/${state}`, - request - ); - return response; + return await apiLib.post(path, options); } async function putReport(reportKeys: ReportKeys, report: AnyObject) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, body: { ...report }, }; const { reportType, state, id } = reportKeys; + const path = `/reports/${reportType}/${state}/${id}`; - updateTimeout(); - const response = await API.put( - "mfp", - `/reports/${reportType}/${state}/${id}`, - request - ); - return response; + return await apiLib.put(path, options); } async function releaseReport(reportKeys: ReportKeys) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; const { reportType, state, id } = reportKeys; + const path = `/reports/release/${reportType}/${state}/${id}`; - updateTimeout(); - const response = await API.put( - "mfp", - `/reports/release/${reportType}/${state}/${id}`, - request - ); - return response; + await apiLib.put(path, options); } async function submitReport(reportKeys: ReportKeys) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, }; const { reportType, state, id } = reportKeys; + const path = `/reports/submit/${reportType}/${state}/${id}`; - updateTimeout(); - const response = await API.post( - "mfp", - `/reports/submit/${reportType}/${state}/${id}`, - request - ); - return response; + return await apiLib.post(path, options); } async function approveReport(reportKeys: ReportKeys, report: AnyObject) { const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, body: { ...report }, }; const { reportType, state, id } = reportKeys; + const path = `/reports/approve/${reportType}/${state}/${id}`; - updateTimeout(); - const response = await API.put( - "mfp", - `/reports/approve/${reportType}/${state}/${id}`, - request - ); - return response; + await apiLib.put(path, options); } export { diff --git a/services/ui-src/src/utils/auth/userProvider.test.tsx b/services/ui-src/src/utils/auth/UserProvider.test.tsx similarity index 76% rename from services/ui-src/src/utils/auth/userProvider.test.tsx rename to services/ui-src/src/utils/auth/UserProvider.test.tsx index 8ea4ad87b..f3343ab56 100644 --- a/services/ui-src/src/utils/auth/userProvider.test.tsx +++ b/services/ui-src/src/utils/auth/UserProvider.test.tsx @@ -4,40 +4,15 @@ import userEvent from "@testing-library/user-event"; import { act } from "react-dom/test-utils"; // utils import { UserContext, UserProvider, useStore } from "utils"; -import { - mockBannerStore, - mockStateUserStore, - RouterWrappedComponent, -} from "utils/testing/setupJest"; -// types -import { UserRoles } from "types/users"; - -const mockAuthPayload = { - email: "test@email.com", - given_name: "Test", - family_name: "IsMe", - ["custom:cms_roles"]: UserRoles.STATE_USER, - ["custom:cms_state"]: "AL", -}; - -jest.mock("aws-amplify", () => ({ - Auth: { - currentSession: jest.fn().mockReturnValue({ - getIdToken: () => ({ - payload: mockAuthPayload, - }), - }), - configure: () => {}, - signOut: jest.fn().mockImplementation(() => {}), - federatedSignIn: () => {}, - }, - Hub: { - listen: jest.fn(), - }, -})); +import { mockUseStore, RouterWrappedComponent } from "utils/testing/setupJest"; jest.mock("utils/state/useStore"); +const mockSetUser = jest.fn(); const mockedUseStore = useStore as jest.MockedFunction; +mockedUseStore.mockReturnValue({ + ...mockUseStore, + setUser: mockSetUser, +}); // COMPONENTS @@ -73,9 +48,6 @@ const testComponent = ( ); // HELPERS - -const mockReplace = jest.fn(); - const originalLocationDescriptor: any = Object.getOwnPropertyDescriptor( global, "location" @@ -87,7 +59,6 @@ const setWindowOrigin = (windowOrigin: string) => { value: { assign: jest.fn(), origin: windowOrigin, - replace: mockReplace, pathname: "/", }, writable: true, @@ -95,8 +66,8 @@ const setWindowOrigin = (windowOrigin: string) => { }; const breakCheckAuthState = async () => { - const mockAmplify = require("aws-amplify"); - mockAmplify.Auth.currentSession = jest.fn().mockImplementation(() => { + const mockAmplify = require("aws-amplify/auth"); + mockAmplify.currentSession = jest.fn().mockImplementation(() => { throw new Error(); }); }; @@ -115,9 +86,6 @@ describe("", () => { describe("Test UserProvider", () => { beforeEach(async () => { await act(async () => { - mockedUseStore - .mockReturnValue(mockBannerStore) - .mockReturnValue(mockStateUserStore); render(testComponent); }); }); @@ -148,12 +116,10 @@ describe("", () => { setWindowOrigin("mdctmfp.cms.gov"); await breakCheckAuthState(); await act(async () => { - mockedUseStore.mockReturnValue(mockStateUserStore); render(testComponent); }); expect(window.location.origin).toContain("mdctmfp.cms.gov"); expect(screen.getByTestId("testdiv")).toHaveTextContent("User Test"); - expect(mockReplace).toHaveBeenCalled(); }); }); @@ -162,7 +128,6 @@ describe("", () => { setWindowOrigin("wherever"); await breakCheckAuthState(); await act(async () => { - mockedUseStore.mockReturnValue(mockStateUserStore); render(testComponent); }); expect(window.location.origin).toContain("wherever"); @@ -176,13 +141,12 @@ describe("", () => { jest.spyOn(console, "log").mockImplementation(jest.fn()); const spy = jest.spyOn(console, "log"); - const mockAmplify = require("aws-amplify"); - mockAmplify.Auth.signOut = jest.fn().mockImplementation(() => { + const mockAmplify = require("aws-amplify/auth"); + mockAmplify.signOut = jest.fn().mockImplementation(() => { throw new Error(); }); await act(async () => { - mockedUseStore.mockReturnValue(mockStateUserStore); render(testComponent); }); @@ -194,4 +158,35 @@ describe("", () => { expect(spy).toHaveBeenCalled(); }); }); + + test("test check auth function", async () => { + const mockAmplify = require("aws-amplify/auth"); + mockAmplify.fetchAuthSession = jest.fn().mockResolvedValue({ + tokens: { + idToken: { + payload: { + email: "email@address.com", + given_name: "first", + family_name: "last", + "custom:cms_roles": "roles", + "custom:cms_state": "ZZ", + }, + }, + }, + }); + await act(async () => { + render(testComponent); + }); + expect(mockSetUser).toHaveBeenCalledWith({ + email: "email@address.com", + given_name: "first", + family_name: "last", + full_name: "first last", + userRole: undefined, + state: "ZZ", + userIsAdmin: false, + userIsReadOnly: false, + userIsEndUser: false, + }); + }); }); diff --git a/services/ui-src/src/utils/auth/UserProvider.tsx b/services/ui-src/src/utils/auth/UserProvider.tsx index 935fec3b2..c03c32c44 100644 --- a/services/ui-src/src/utils/auth/UserProvider.tsx +++ b/services/ui-src/src/utils/auth/UserProvider.tsx @@ -6,7 +6,11 @@ import { useMemo, } from "react"; import { useLocation } from "react-router-dom"; -import { Auth } from "aws-amplify"; +import { + fetchAuthSession, + signInWithRedirect, + signOut, +} from "aws-amplify/auth"; import config from "config"; import { initAuthManager, updateTimeout, getExpiration, useStore } from "utils"; import { PRODUCTION_HOST_DOMAIN } from "../../constants"; @@ -15,26 +19,13 @@ import { MFPUser, UserContextShape, UserRoles } from "types/users"; export const UserContext = createContext({ logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: () => {}, getExpiration: () => {}, }); const authenticateWithIDM = async () => { - const authConfig = Auth.configure(); - if (authConfig?.oauth) { - const oAuthOpts = authConfig.oauth; - const domain = oAuthOpts.domain; - const responseType = oAuthOpts.responseType; - const redirectSignIn = (oAuthOpts as any).redirectSignIn; - const clientId = authConfig.userPoolWebClientId; - const url = `https://${domain}/oauth2/authorize?identity_provider=Okta&redirect_uri=${redirectSignIn}&response_type=${responseType}&client_id=${clientId}`; - window.location.assign(url); - } - const cognitoHostedUrl = new URL( - `https://${config.cognito.APP_CLIENT_DOMAIN}/oauth2/authorize?identity_provider=${config.cognito.COGNITO_IDP_NAME}&redirect_uri=${config.APPLICATION_ENDPOINT}&response_type=CODE&client_id=${config.cognito.APP_CLIENT_ID}&scope=email openid profile` - ); - window.location.replace(cognitoHostedUrl); + await signInWithRedirect({ provider: { custom: "Okta" } }); }; export const UserProvider = ({ children }: Props) => { @@ -50,7 +41,7 @@ export const UserProvider = ({ children }: Props) => { const logout = async () => { try { setUser(undefined); - await Auth.signOut(); + await signOut(); localStorage.clear(); } catch (error) { console.log(error); // eslint-disable-line no-console @@ -66,9 +57,15 @@ export const UserProvider = ({ children }: Props) => { } try { - const session = await Auth.currentSession(); - const payload = session.getIdToken().payload; - const { email, given_name, family_name } = payload; + const tokens = (await fetchAuthSession()).tokens; + if (!tokens?.idToken) { + throw new Error("Missing tokens auth session."); + } + const payload = tokens.idToken.payload; + const { email, given_name, family_name } = payload as Record< + string, + string + >; // "custom:cms_roles" is an string of concat roles so we need to check for the one applicable to MFP const cms_role = payload["custom:cms_roles"] as string; const userRole = cms_role.split(",").find((r) => r.includes("mdctmfp")); @@ -93,7 +90,7 @@ export const UserProvider = ({ children }: Props) => { setUser(currentUser); } catch { if (isProduction) { - authenticateWithIDM(); + await authenticateWithIDM(); } else { setShowLocalLogins(true); } diff --git a/services/ui-src/src/utils/auth/authLifecycle.test.tsx b/services/ui-src/src/utils/auth/authLifecycle.test.tsx index 1d9359945..0f0879684 100644 --- a/services/ui-src/src/utils/auth/authLifecycle.test.tsx +++ b/services/ui-src/src/utils/auth/authLifecycle.test.tsx @@ -1,7 +1,7 @@ import { initAuthManager, updateTimeout, getExpiration } from "utils"; import { refreshCredentials } from "./authLifecycle"; import { sub } from "date-fns"; -import { Hub } from "aws-amplify"; +import { Hub } from "aws-amplify/utils"; describe("utils/auth", () => { describe("Test AuthManager Init", () => { diff --git a/services/ui-src/src/utils/auth/authLifecycle.tsx b/services/ui-src/src/utils/auth/authLifecycle.tsx index 56959725b..6c79bcb3c 100644 --- a/services/ui-src/src/utils/auth/authLifecycle.tsx +++ b/services/ui-src/src/utils/auth/authLifecycle.tsx @@ -1,4 +1,5 @@ -import { Auth, Hub } from "aws-amplify"; +import { fetchAuthSession, signOut } from "aws-amplify/auth"; +import { Hub } from "aws-amplify/utils"; import { add } from "date-fns"; import { IDLE_WINDOW } from "../../constants"; @@ -18,7 +19,7 @@ class AuthManager { expiration && new Date(expiration).valueOf() < Date.now().valueOf(); if (isExpired) { localStorage.removeItem("mdctmfp_session_exp"); - Auth.signOut().then(() => { + signOut().then(() => { window.location.href = "/"; }); } @@ -47,7 +48,7 @@ class AuthManager { * Manual refresh of credentials paired with an instant timer clear */ refreshCredentials = async () => { - await Auth.currentAuthenticatedUser({ bypassCache: true }); // Force a token refresh + await fetchAuthSession({ forceRefresh: true }); // Force a token refresh this.setTimer(); }; diff --git a/services/ui-src/src/utils/index.ts b/services/ui-src/src/utils/index.ts index 0daef3033..b1379b3a7 100644 --- a/services/ui-src/src/utils/index.ts +++ b/services/ui-src/src/utils/index.ts @@ -1,4 +1,5 @@ // api +export * from "./api/apiLib"; export * from "./api/providers/ApiProvider"; export * from "./api/requestMethods/banner"; export * from "./api/requestMethods/getRequestHeaders"; diff --git a/services/ui-src/src/utils/other/print.test.ts b/services/ui-src/src/utils/other/print.test.ts index 965fe9f52..b878dc771 100644 --- a/services/ui-src/src/utils/other/print.test.ts +++ b/services/ui-src/src/utils/other/print.test.ts @@ -1,12 +1,24 @@ -import { API } from "aws-amplify"; import { printPdf } from "utils"; import config from "config"; +const mockAmplifyApi = require("aws-amplify/api"); + const testBody = "

Hello

<"; -const mockPost = jest.fn().mockResolvedValue(btoa(testBody)); -API.post = mockPost; const originalURLConfig = config.DEV_API_URL; window.open = jest.fn(); + +const expectedDevRequestObject = { + apiName: "mfpDev", + options: { + body: { + encodedHtml: + "PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxoMT5IZWxsbzwvaDE+Jmx0OzwvYm9keT48L2h0bWw+", //pragma: allowlist secret + }, + headers: { "x-api-key": undefined }, + }, + path: "/print_pdf", +}; + describe("utils/print", () => { describe("printPdf()", () => { beforeEach(() => { @@ -20,19 +32,40 @@ describe("utils/print", () => { }); test("Call to the dev api if an env flag is provided", async () => { + const apiSpy = jest.spyOn(mockAmplifyApi, "post"); + apiSpy.mockImplementation(() => ({ + response: Promise.resolve({ + body: { + json: () => Promise.resolve(btoa(testBody)), + }, + }), + })); config.DEV_API_URL = "test.com"; document.body.innerHTML = testBody; await printPdf(); - expect(mockPost.mock.calls[0][0]).toEqual("mfpDev"); + expect(apiSpy).toHaveBeenCalledTimes(1); + expect(apiSpy).toHaveBeenCalledWith(expectedDevRequestObject); expect(window.open).toBeCalled(); }); test("Calls normal API env flag is not provided", async () => { + const apiSpy = jest.spyOn(mockAmplifyApi, "post"); + apiSpy.mockImplementation(() => ({ + response: Promise.resolve({ + body: { + json: () => Promise.resolve(btoa(testBody)), + }, + }), + })); config.DEV_API_URL = null; await printPdf(); - expect(mockPost.mock.calls[0][0]).not.toEqual("mfpDev"); + expect(apiSpy).toHaveBeenCalledTimes(1); + expect(apiSpy).toHaveBeenCalledWith({ + ...expectedDevRequestObject, + apiName: "mfp", + }); expect(window.open).toBeCalled(); }); }); diff --git a/services/ui-src/src/utils/other/print.ts b/services/ui-src/src/utils/other/print.ts index c5fefba80..66d0eee5a 100644 --- a/services/ui-src/src/utils/other/print.ts +++ b/services/ui-src/src/utils/other/print.ts @@ -1,5 +1,5 @@ import { getRequestHeaders } from "utils"; -import { API } from "aws-amplify"; +import { post } from "aws-amplify/api"; import config from "config"; export const printPdf = async () => { @@ -21,16 +21,14 @@ export const printPdf = async () => { .replaceAll("\u2014", "-"); const base64String = btoa(unescape(encodeURIComponent(htmlString))); const requestHeaders = await getRequestHeaders(); - const request = { + const options = { headers: { ...requestHeaders }, body: { encodedHtml: base64String }, }; - let response; - if (config.DEV_API_URL) { - response = await API.post("mfpDev", `/print_pdf`, request); - } else { - response = await API.post("mfp", `/print_pdf`, request); - } + const path = `/print_pdf`; + const apiName = config.DEV_API_URL ? "mfpDev" : "mfp"; + const { body } = await post({ apiName, path, options }).response; + const response = (await body.json()) as string; openPdf(response); }; diff --git a/services/ui-src/src/utils/testing/mockUsers.tsx b/services/ui-src/src/utils/testing/mockUsers.tsx index 806327769..fe8c3cb98 100644 --- a/services/ui-src/src/utils/testing/mockUsers.tsx +++ b/services/ui-src/src/utils/testing/mockUsers.tsx @@ -6,7 +6,7 @@ export const mockNoUser: UserContextShape = { user: undefined, showLocalLogins: true, logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: async () => {}, getExpiration: () => {}, }; @@ -23,7 +23,7 @@ export const mockStateUser: UserContextShape = { }, showLocalLogins: true, logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: async () => {}, getExpiration: () => {}, }; @@ -40,7 +40,7 @@ export const mockStateUserNoReports: UserContextShape = { }, showLocalLogins: true, logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: async () => {}, getExpiration: () => {}, }; @@ -57,7 +57,7 @@ export const mockStateApprover: UserContextShape = { }, showLocalLogins: true, logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: async () => {}, getExpiration: () => {}, }; @@ -74,7 +74,7 @@ export const mockHelpDeskUser: UserContextShape = { }, showLocalLogins: false, logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: async () => {}, getExpiration: () => {}, }; @@ -91,7 +91,7 @@ export const mockAdminUser: UserContextShape = { }, showLocalLogins: false, logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: async () => {}, getExpiration: () => {}, }; diff --git a/services/ui-src/src/utils/testing/setupJest.tsx b/services/ui-src/src/utils/testing/setupJest.tsx index d3c0e898f..363527375 100644 --- a/services/ui-src/src/utils/testing/setupJest.tsx +++ b/services/ui-src/src/utils/testing/setupJest.tsx @@ -54,30 +54,46 @@ jest.mock("@chakra-ui/transition", () => ({ )), })); -// AUTH - -jest.mock("aws-amplify", () => ({ - Auth: { - currentSession: jest.fn().mockReturnValue({ - getIdToken: () => ({ - getJwtToken: () => "eyJLongToken", - }), +/* Mock Amplify */ +jest.mock("aws-amplify/api", () => ({ + get: jest.fn().mockImplementation(() => ({ + response: Promise.resolve({ + body: { + text: () => Promise.resolve(`{"json":"blob"}`), + }, }), - currentAuthenticatedUser: () => {}, - configure: () => {}, - signOut: async () => {}, - federatedSignIn: () => {}, - }, - API: { - get: () => {}, - post: () => {}, - put: () => {}, - del: () => {}, - configure: () => {}, - }, - Hub: { - listen: jest.fn(), - }, + })), + post: jest.fn().mockImplementation(() => ({ + response: Promise.resolve({ + body: { + text: () => Promise.resolve(`{"json":"blob"}`), + }, + }), + })), + put: jest.fn().mockImplementation(() => ({ + response: Promise.resolve({ + body: { + text: () => Promise.resolve(`{"json":"blob"}`), + }, + }), + })), + del: jest.fn().mockImplementation(() => ({ + response: Promise.resolve({ + body: { + text: () => Promise.resolve(`{"json":"blob"}`), + }, + }), + })), +})); + +jest.mock("aws-amplify/auth", () => ({ + fetchAuthSession: jest.fn().mockReturnValue({ + idToken: () => ({ + payload: "eyJLongToken", + }), + }), + signOut: jest.fn().mockImplementation(() => Promise.resolve()), + signInWithRedirect: () => {}, })); // USER CONTEXT @@ -85,7 +101,7 @@ jest.mock("aws-amplify", () => ({ export const mockUserContext: UserContextShape = { user: undefined, logout: async () => {}, - loginWithIDM: () => {}, + loginWithIDM: async () => {}, updateTimeout: async () => {}, getExpiration: () => {}, }; diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index ea60dfeec..abd9d564e 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -33,1714 +33,658 @@ rimraf "~2.2.8" streamsink "~1.2.0" -"@aws-amplify/analytics@6.5.12": - version "6.5.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/analytics/-/analytics-6.5.12.tgz#3fd76b9ed119b86abd5c96513b21b5b2ab24f862" - integrity sha512-8z3mXLzUoMkR47W9UrK/yNw7Qo98HuhYaPW9gQa0/H5mC4IIiN/ka0RurefKTx89xkPUxIuv7pAIWqMcg8NMCA== - dependencies: - "@aws-amplify/cache" "5.1.18" - "@aws-amplify/core" "5.8.12" - "@aws-sdk/client-firehose" "3.6.1" - "@aws-sdk/client-kinesis" "3.6.1" - "@aws-sdk/client-personalize-events" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - lodash "^4.17.20" - tslib "^1.8.0" - uuid "^3.2.1" - -"@aws-amplify/api-graphql@3.4.18": - version "3.4.18" - resolved "https://registry.yarnpkg.com/@aws-amplify/api-graphql/-/api-graphql-3.4.18.tgz#2ea2c720f0c966ef780b05062e933514f4c292ad" - integrity sha512-4rZ0vhfTQnP+kCL+uc0BZdHsjNU1vLj5+xOPIkNrI0Y0VdN9I2aKfWjBQx8i2BIPeF3B+xSKKuGhIJD6WCxcpg== - dependencies: - "@aws-amplify/api-rest" "3.5.12" - "@aws-amplify/auth" "5.6.12" - "@aws-amplify/cache" "5.1.18" - "@aws-amplify/core" "5.8.12" - "@aws-amplify/pubsub" "5.5.12" - graphql "15.8.0" - tslib "^1.8.0" - uuid "^3.2.1" - zen-observable-ts "0.8.19" - -"@aws-amplify/api-rest@3.5.12": - version "3.5.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/api-rest/-/api-rest-3.5.12.tgz#96361fba42e8ebbd3d92c6455243d9abe867b82d" - integrity sha512-WWUZU7MaKxxt9xw+FwnSWfbsXEwoDbGH6G8/S0YrcQeILbutLLcW4boW3d2vRaYjjC/1saVUHyrdO1mWZ++C5Q== - dependencies: - "@aws-amplify/core" "5.8.12" - axios "^1.6.5" - tslib "^1.8.0" - url "0.11.0" - -"@aws-amplify/api@5.4.12": - version "5.4.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/api/-/api-5.4.12.tgz#fc79e55d7c812e9deee3c1faf1d9f32d40564299" - integrity sha512-LHxfHpwu6hFm6sMiPB6UAKzj5Aoccp/r4527dTg6N/aQwQXyWEGkGSK4dBSSM/Sf0vPADo9jn6WGNttCXulDyw== - dependencies: - "@aws-amplify/api-graphql" "3.4.18" - "@aws-amplify/api-rest" "3.5.12" - tslib "^1.8.0" - -"@aws-amplify/auth@5.6.12": - version "5.6.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/auth/-/auth-5.6.12.tgz#3381e0f36deb4db17c9f5d4074ec62037027db66" - integrity sha512-NX5E2l9Ovsbfsh2R0iNweNVVY3QtJRWpBrHPIOxzhqSxiwK0Cay/+9bQ8Uv7/O8s2NHByG1+kXM7zR+iDuYxfA== - dependencies: - "@aws-amplify/core" "5.8.12" - amazon-cognito-identity-js "6.3.13" - buffer "4.9.2" - tslib "^1.8.0" - url "0.11.0" - -"@aws-amplify/cache@5.1.18": - version "5.1.18" - resolved "https://registry.yarnpkg.com/@aws-amplify/cache/-/cache-5.1.18.tgz#20700d3fb8ad5bd28d56a4b399b9239c0532bffd" - integrity sha512-1aZ8MvA+8PJur5cnJAbBUnCUCw3ACfjCI/s/qY+Fx1jKahci3J9Yl2+pf4A6Nk6e0IjtN6FVCOKUKcWV/5+QYQ== - dependencies: - "@aws-amplify/core" "5.8.12" - tslib "^1.8.0" - -"@aws-amplify/core@5.8.12": - version "5.8.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/core/-/core-5.8.12.tgz#e95386c6798db1652c84f58ac06f71cb06884a82" - integrity sha512-kQkIRBiowtMawBPTviAkz6q9Od6IImrYxdnjFebHNqF1fuLq016jxhBLxiq5ztZDvkZX+IpSr1gzOZtNGkikvA== - dependencies: - "@aws-crypto/sha256-js" "1.2.2" - "@aws-sdk/client-cloudwatch-logs" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/util-hex-encoding" "3.6.1" - "@types/node-fetch" "2.6.4" - isomorphic-unfetch "^3.0.0" - react-native-url-polyfill "^1.3.0" - tslib "^1.8.0" - universal-cookie "^4.0.4" - zen-observable-ts "0.8.19" - -"@aws-amplify/datastore@4.7.12": - version "4.7.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/datastore/-/datastore-4.7.12.tgz#420efa0701cd3b5d64b6d0b79b4cd4ec2e748177" - integrity sha512-BnyZZPvYAka6D4OHfid7/UCBvXgpZTvXTydBW0YFZ3mIoRiTZC9+rcWm0i3EjtjUuGJuzbLhxDqklXGvUsXCkg== - dependencies: - "@aws-amplify/api" "5.4.12" - "@aws-amplify/auth" "5.6.12" - "@aws-amplify/core" "5.8.12" - "@aws-amplify/pubsub" "5.5.12" - amazon-cognito-identity-js "6.3.13" - buffer "4.9.2" - idb "5.0.6" - immer "9.0.6" - ulid "2.3.0" - uuid "3.4.0" - zen-observable-ts "0.8.19" - zen-push "0.2.1" - -"@aws-amplify/geo@2.3.12": - version "2.3.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/geo/-/geo-2.3.12.tgz#22f8954547b1c3943b58da337155fccc08191f2c" - integrity sha512-H8cyusFfWhXANefNJz/rYAMAmD8cNPC36xzFfXrqHJTKplEUY+3dRMvkOx2gDZpqYF8Ij9qJ5BOoPfs7Jh6ySA== - dependencies: - "@aws-amplify/core" "5.8.12" - "@aws-sdk/client-location" "3.186.3" - "@turf/boolean-clockwise" "6.5.0" - camelcase-keys "6.2.2" - tslib "^1.8.0" - -"@aws-amplify/interactions@5.2.18": - version "5.2.18" - resolved "https://registry.yarnpkg.com/@aws-amplify/interactions/-/interactions-5.2.18.tgz#88799cde53cf4b82685d20efdab14304e9b175eb" - integrity sha512-K1oo6GFS7kgq86QMjmF+dabuFEeJLAu1FK1tfTyFIhvrgZ4xfVnzdTXlJhS+ZJ5ZKc6WyzVmE8di/KllI+pTAA== - dependencies: - "@aws-amplify/core" "5.8.12" - "@aws-sdk/client-lex-runtime-service" "3.186.3" - "@aws-sdk/client-lex-runtime-v2" "3.186.3" - base-64 "1.0.0" - fflate "0.7.3" - pako "2.0.4" - tslib "^1.8.0" - -"@aws-amplify/notifications@1.6.13": - version "1.6.13" - resolved "https://registry.yarnpkg.com/@aws-amplify/notifications/-/notifications-1.6.13.tgz#a14c8362b3d05e77fc5a7e58122b583bca90b60e" - integrity sha512-fH1k8P1Nts/1OIy8IKQjWpJgdsql0562CPpwGBVvPnRYqnkPxvzImjZdhwTgpu+vxjDBKEky/Buu9ws+ST7Myg== - dependencies: - "@aws-amplify/cache" "5.1.18" - "@aws-amplify/core" "5.8.12" - "@aws-amplify/rtn-push-notification" "1.1.14" - lodash "^4.17.21" - uuid "^3.2.1" - -"@aws-amplify/predictions@5.5.12": - version "5.5.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/predictions/-/predictions-5.5.12.tgz#ac45dfcdd76027075290df9c31bb8bacf895cdad" - integrity sha512-KY2YUDkhNGtRIHDYDcuNIVxAfUbLP2vH1268TXRoUaZvRz5NKTKAje8Ht5AnoCDhSWTN7nduoivL97fRzo6bJA== - dependencies: - "@aws-amplify/core" "5.8.12" - "@aws-amplify/storage" "5.9.12" - "@aws-sdk/client-comprehend" "3.6.1" - "@aws-sdk/client-polly" "3.6.1" - "@aws-sdk/client-rekognition" "3.6.1" - "@aws-sdk/client-textract" "3.6.1" - "@aws-sdk/client-translate" "3.6.1" - "@aws-sdk/eventstream-marshaller" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - buffer "4.9.2" - tslib "^1.8.0" - uuid "^3.2.1" - -"@aws-amplify/pubsub@5.5.12": - version "5.5.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/pubsub/-/pubsub-5.5.12.tgz#93360b6d22d3a5963f9f286d62486955fb1f8e69" - integrity sha512-eD57TUee9n7ECNPWFIl1TcZmQf8+usiB2vo7t6nBgjCoudYRhYh8ZPfxg94uqfDdWBXMbRoBI0JPISyEQo2xKA== +"@aws-amplify/analytics@7.0.52": + version "7.0.52" + resolved "https://registry.yarnpkg.com/@aws-amplify/analytics/-/analytics-7.0.52.tgz#a3c942a4762fc998baecbce5abfa48b1288904dc" + integrity sha512-Ja6nKlKkIHlkZk/Rl5auLcLRwf8yFHlL65UVXzpBrafmVSl72ygNAT4dsxRMOWse/aiEw1Y/Jqb/XpkgAweBCw== + dependencies: + "@aws-sdk/client-firehose" "3.621.0" + "@aws-sdk/client-kinesis" "3.621.0" + "@aws-sdk/client-personalize-events" "3.621.0" + "@smithy/util-utf8" "2.0.0" + tslib "^2.5.0" + +"@aws-amplify/api-graphql@4.4.1": + version "4.4.1" + resolved "https://registry.yarnpkg.com/@aws-amplify/api-graphql/-/api-graphql-4.4.1.tgz#681018e3082676fd65313f72d3534664195ebc7c" + integrity sha512-Waec2UbCQ4OssG2/lrAiZgQuS9WUlsth0AnuPjbsUKQpw7k7Rq0OOhGJepAXnn8v1YGVmr9ilyzKevN799qFCw== dependencies: - "@aws-amplify/auth" "5.6.12" - "@aws-amplify/cache" "5.1.18" - "@aws-amplify/core" "5.8.12" - buffer "4.9.2" + "@aws-amplify/api-rest" "4.0.52" + "@aws-amplify/core" "6.4.5" + "@aws-amplify/data-schema" "^1.7.0" + "@aws-sdk/types" "3.387.0" graphql "15.8.0" - tslib "^1.8.0" - url "0.11.0" - uuid "^3.2.1" - zen-observable-ts "0.8.19" - -"@aws-amplify/rtn-push-notification@1.1.14": - version "1.1.14" - resolved "https://registry.yarnpkg.com/@aws-amplify/rtn-push-notification/-/rtn-push-notification-1.1.14.tgz#abbeeb047d34ef14e8522f9cf8871dcaa32f69eb" - integrity sha512-C3y+iL8/9800wWOyIAVYAKzrHZkFeI3y2ZoJlj0xot+dCbQZkMr/XjO2ZwfC58XRKUiDKFfzCJW/XoyZlvthfw== - -"@aws-amplify/storage@5.9.12": - version "5.9.12" - resolved "https://registry.yarnpkg.com/@aws-amplify/storage/-/storage-5.9.12.tgz#66774348d5b0b35c9826ea10730a2df09b8cd7e3" - integrity sha512-aQ9JCRJL+Dlrg5mxlvZtKuBm1NjrU/8aFZ51VdHr4BWQBfAchSk9s3UcnHeh+o8pGWCl1z9W05yp12eXTWauEw== - dependencies: - "@aws-amplify/core" "5.8.12" - "@aws-sdk/md5-js" "3.6.1" - "@aws-sdk/types" "3.6.1" - buffer "4.9.2" - events "^3.1.0" - fast-xml-parser "^4.2.5" - tslib "^1.8.0" - -"@aws-crypto/crc32@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-2.0.0.tgz#4ad432a3c03ec3087c5540ff6e41e6565d2dc153" - integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== - dependencies: - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/crc32@^1.0.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-1.2.2.tgz#4a758a596fa8cb3ab463f037a78c2ca4992fe81f" - integrity sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw== - dependencies: - "@aws-crypto/util" "^1.2.2" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/ie11-detection@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-1.0.0.tgz#d3a6af29ba7f15458f79c41d1cd8cac3925e726a" - integrity sha512-kCKVhCF1oDxFYgQrxXmIrS5oaWulkvRcPz+QBDMsUr2crbF4VGgGT6+uQhSwJFdUAQ2A//Vq+uT83eJrkzFgXA== - dependencies: - tslib "^1.11.1" - -"@aws-crypto/ie11-detection@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-2.0.0.tgz#bb6c2facf8f03457e949dcf0921477397ffa4c6e" - integrity sha512-pkVXf/dq6PITJ0jzYZ69VhL8VFOFoPZLZqtU/12SGnzYuJOOGNfF41q9GxdI1yqC8R13Rq3jOLKDFpUJFT5eTA== - dependencies: - tslib "^1.11.1" - -"@aws-crypto/sha256-browser@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz#741c9024df55ec59b51e5b1f5d806a4852699fb5" - integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== - dependencies: - "@aws-crypto/ie11-detection" "^2.0.0" - "@aws-crypto/sha256-js" "^2.0.0" - "@aws-crypto/supports-web-crypto" "^2.0.0" - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-locate-window" "^3.0.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-browser@^1.0.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz#004d806e3bbae130046c259ec3279a02d4a0b576" - integrity sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg== - dependencies: - "@aws-crypto/ie11-detection" "^1.0.0" - "@aws-crypto/sha256-js" "^1.2.2" - "@aws-crypto/supports-web-crypto" "^1.0.0" - "@aws-crypto/util" "^1.2.2" - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-locate-window" "^3.0.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-js@1.2.2", "@aws-crypto/sha256-js@^1.0.0", "@aws-crypto/sha256-js@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz#02acd1a1fda92896fc5a28ec7c6e164644ea32fc" - integrity sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g== - dependencies: - "@aws-crypto/util" "^1.2.2" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-js@2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz#f1f936039bdebd0b9e2dd834d65afdc2aac4efcb" - integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== - dependencies: - "@aws-crypto/util" "^2.0.0" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/sha256-js@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.1.tgz#79e1e6cf61f652ef2089c08d471c722ecf1626a9" - integrity sha512-mbHTBSPBvg6o/mN/c18Z/zifM05eJrapj5ggoOIeHIWckvkv5VgGi7r/wYpt+QAO2ySKXLNvH2d8L7bne4xrMQ== - dependencies: - "@aws-crypto/util" "^2.0.1" - "@aws-sdk/types" "^3.1.0" - tslib "^1.11.1" - -"@aws-crypto/supports-web-crypto@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-1.0.0.tgz#c40901bc17ac1e875e248df16a2b47ad8bfd9a93" - integrity sha512-IHLfv+WmVH89EW4n6a5eE8/hUlz6qkWGMn/v4r5ZgzcXdTC5nolii2z3k46y01hWRiC2PPhOdeSLzMUCUMco7g== - dependencies: - tslib "^1.11.1" - -"@aws-crypto/supports-web-crypto@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.0.tgz#fd6cde30b88f77d5a4f57b2c37c560d918014f9e" - integrity sha512-Ge7WQ3E0OC7FHYprsZV3h0QIcpdyJLvIeg+uTuHqRYm8D6qCFJoiC+edSzSyFiHtZf+NOQDJ1q46qxjtzIY2nA== - dependencies: - tslib "^1.11.1" - -"@aws-crypto/util@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-1.2.2.tgz#b28f7897730eb6538b21c18bd4de22d0ea09003c" - integrity sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg== - dependencies: - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" - -"@aws-crypto/util@^2.0.0", "@aws-crypto/util@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-2.0.1.tgz#976cf619cf85084ca85ec5eb947a6ac6b8b5c98c" - integrity sha512-JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ== - dependencies: - "@aws-sdk/types" "^3.1.0" - "@aws-sdk/util-utf8-browser" "^3.0.0" - tslib "^1.11.1" - -"@aws-sdk/abort-controller@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.186.0.tgz#dfaccd296d57136930582e1a19203d6cb60debc7" - integrity sha512-JFvvvtEcbYOvVRRXasi64Dd1VcOz5kJmPvtzsJ+HzMHvPbGGs/aopOJAZQJMJttzJmJwVTay0QL6yag9Kk8nYA== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/abort-controller@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.6.1.tgz#75812875bbef6ad17e0e3a6d96aab9df636376f9" - integrity sha512-X81XkxX/2Tvv9YNcEto/rcQzPIdKJHFSnl9hBl/qkSdCFV/GaQ2XNWfKm5qFXMLlZNFS0Fn5CnBJ83qnBm47vg== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/client-cloudwatch-logs@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.6.1.tgz#5e8dba495a2ba9a901b0a1a2d53edef8bd452398" - integrity sha512-QOxIDnlVTpnwJ26Gap6RGz61cDLH6TKrIp30VqwdMeT1pCGy8mn9rWln6XA+ymkofHy/08RfpGp+VN4axwd4Lw== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-comprehend@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-comprehend/-/client-comprehend-3.6.1.tgz#d640d510b49feafa94ac252cdd7942cbe5537249" - integrity sha512-Y2ixlSTjjAp2HJhkUArtYqC/X+zG5Qqu3Bl+Ez22u4u4YnG8HsNFD6FE1axuWSdSa5AFtWTEt+Cz2Ghj/tDySA== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - uuid "^3.0.0" - -"@aws-sdk/client-firehose@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-firehose/-/client-firehose-3.6.1.tgz#87a8ef0c18267907b3ce712e6d3de8f36b0a7c7b" - integrity sha512-KhiKCm+cJmnRFuAEyO3DBpFVDNix1XcVikdxk2lvYbFWkM1oUZoBpudxaJ+fPf2W3stF3CXIAOP+TnGqSZCy9g== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-kinesis@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-kinesis/-/client-kinesis-3.6.1.tgz#48583cc854f9108bc8ff6168005d9a05b24bae31" - integrity sha512-Ygo+92LxHeUZmiyhiHT+k7hIOhJd6S7ckCEVUsQs2rfwe9bAygUY/3cCoZSqgWy7exFRRKsjhzStcyV6i6jrVQ== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/eventstream-serde-browser" "3.6.1" - "@aws-sdk/eventstream-serde-config-resolver" "3.6.1" - "@aws-sdk/eventstream-serde-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - "@aws-sdk/util-waiter" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-lex-runtime-service@3.186.3": - version "3.186.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-lex-runtime-service/-/client-lex-runtime-service-3.186.3.tgz#cc1130254d50dc1a5b85ac736e6f764b0fa145c3" - integrity sha512-YP+GDY9OxyW4rJDqjreaNpiDBvH1uzO3ShJKl57hT92Kw2auDQxttcMf//J8dQXvrVkW/fVXCLI9TmtxS7XJOQ== - dependencies: - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/client-sts" "3.186.3" - "@aws-sdk/config-resolver" "3.186.0" - "@aws-sdk/credential-provider-node" "3.186.0" - "@aws-sdk/fetch-http-handler" "3.186.0" - "@aws-sdk/hash-node" "3.186.0" - "@aws-sdk/invalid-dependency" "3.186.0" - "@aws-sdk/middleware-content-length" "3.186.0" - "@aws-sdk/middleware-host-header" "3.186.0" - "@aws-sdk/middleware-logger" "3.186.0" - "@aws-sdk/middleware-recursion-detection" "3.186.0" - "@aws-sdk/middleware-retry" "3.186.0" - "@aws-sdk/middleware-serde" "3.186.0" - "@aws-sdk/middleware-signing" "3.186.0" - "@aws-sdk/middleware-stack" "3.186.0" - "@aws-sdk/middleware-user-agent" "3.186.0" - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/node-http-handler" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/smithy-client" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/url-parser" "3.186.0" - "@aws-sdk/util-base64-browser" "3.186.0" - "@aws-sdk/util-base64-node" "3.186.0" - "@aws-sdk/util-body-length-browser" "3.186.0" - "@aws-sdk/util-body-length-node" "3.186.0" - "@aws-sdk/util-defaults-mode-browser" "3.186.0" - "@aws-sdk/util-defaults-mode-node" "3.186.0" - "@aws-sdk/util-user-agent-browser" "3.186.0" - "@aws-sdk/util-user-agent-node" "3.186.0" - "@aws-sdk/util-utf8-browser" "3.186.0" - "@aws-sdk/util-utf8-node" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/client-lex-runtime-v2@3.186.3": - version "3.186.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-lex-runtime-v2/-/client-lex-runtime-v2-3.186.3.tgz#7baa6772ce3fdd7265fca2daa75eb0e896f27764" - integrity sha512-4MJfSnb+qM8BYW4ToCvg7sDWN0NcEqK738hCZUV89cjp7pIHZ6osJuS/PsmZEommVj+71GviZ4buu5KUCfCGFQ== - dependencies: - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/client-sts" "3.186.3" - "@aws-sdk/config-resolver" "3.186.0" - "@aws-sdk/credential-provider-node" "3.186.0" - "@aws-sdk/eventstream-handler-node" "3.186.0" - "@aws-sdk/eventstream-serde-browser" "3.186.0" - "@aws-sdk/eventstream-serde-config-resolver" "3.186.0" - "@aws-sdk/eventstream-serde-node" "3.186.0" - "@aws-sdk/fetch-http-handler" "3.186.0" - "@aws-sdk/hash-node" "3.186.0" - "@aws-sdk/invalid-dependency" "3.186.0" - "@aws-sdk/middleware-content-length" "3.186.0" - "@aws-sdk/middleware-eventstream" "3.186.0" - "@aws-sdk/middleware-host-header" "3.186.0" - "@aws-sdk/middleware-logger" "3.186.0" - "@aws-sdk/middleware-recursion-detection" "3.186.0" - "@aws-sdk/middleware-retry" "3.186.0" - "@aws-sdk/middleware-serde" "3.186.0" - "@aws-sdk/middleware-signing" "3.186.0" - "@aws-sdk/middleware-stack" "3.186.0" - "@aws-sdk/middleware-user-agent" "3.186.0" - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/node-http-handler" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/smithy-client" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/url-parser" "3.186.0" - "@aws-sdk/util-base64-browser" "3.186.0" - "@aws-sdk/util-base64-node" "3.186.0" - "@aws-sdk/util-body-length-browser" "3.186.0" - "@aws-sdk/util-body-length-node" "3.186.0" - "@aws-sdk/util-defaults-mode-browser" "3.186.0" - "@aws-sdk/util-defaults-mode-node" "3.186.0" - "@aws-sdk/util-user-agent-browser" "3.186.0" - "@aws-sdk/util-user-agent-node" "3.186.0" - "@aws-sdk/util-utf8-browser" "3.186.0" - "@aws-sdk/util-utf8-node" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/client-location@3.186.3": - version "3.186.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-location/-/client-location-3.186.3.tgz#c812ae3dabf76153ad046413298a1ab53cadee9a" - integrity sha512-LCMFgoWfvKBnZhhtl93RLhrsHCalM7huaxErHSKoqWDBUDP0i7rOX73qW8E25j/vQ4emEkT0d6ts1rDu4EnlNw== - dependencies: - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/client-sts" "3.186.3" - "@aws-sdk/config-resolver" "3.186.0" - "@aws-sdk/credential-provider-node" "3.186.0" - "@aws-sdk/fetch-http-handler" "3.186.0" - "@aws-sdk/hash-node" "3.186.0" - "@aws-sdk/invalid-dependency" "3.186.0" - "@aws-sdk/middleware-content-length" "3.186.0" - "@aws-sdk/middleware-host-header" "3.186.0" - "@aws-sdk/middleware-logger" "3.186.0" - "@aws-sdk/middleware-recursion-detection" "3.186.0" - "@aws-sdk/middleware-retry" "3.186.0" - "@aws-sdk/middleware-serde" "3.186.0" - "@aws-sdk/middleware-signing" "3.186.0" - "@aws-sdk/middleware-stack" "3.186.0" - "@aws-sdk/middleware-user-agent" "3.186.0" - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/node-http-handler" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/smithy-client" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/url-parser" "3.186.0" - "@aws-sdk/util-base64-browser" "3.186.0" - "@aws-sdk/util-base64-node" "3.186.0" - "@aws-sdk/util-body-length-browser" "3.186.0" - "@aws-sdk/util-body-length-node" "3.186.0" - "@aws-sdk/util-defaults-mode-browser" "3.186.0" - "@aws-sdk/util-defaults-mode-node" "3.186.0" - "@aws-sdk/util-user-agent-browser" "3.186.0" - "@aws-sdk/util-user-agent-node" "3.186.0" - "@aws-sdk/util-utf8-browser" "3.186.0" - "@aws-sdk/util-utf8-node" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/client-personalize-events@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-personalize-events/-/client-personalize-events-3.6.1.tgz#86942bb64108cfc2f6c31a8b54aab6fa7f7be00f" - integrity sha512-x9Jl/7emSQsB6GwBvjyw5BiSO26CnH4uvjNit6n54yNMtJ26q0+oIxkplnUDyjLTfLRe373c/z5/4dQQtDffkw== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-polly@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-polly/-/client-polly-3.6.1.tgz#869deb186e57fca29737bfa7af094599d7879841" - integrity sha512-y6fxVYndGS7z2KqHViPCqagBEOsZlxBUYUJZuD6WWTiQrI0Pwe5qG02oKJVaa5OmxE20QLf6bRBWj2rQpeF4IQ== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-rekognition@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-rekognition/-/client-rekognition-3.6.1.tgz#710ba6d4509a2caa417cf0702ba81b5b65aa73eb" - integrity sha512-Ia4FEog9RrI0IoDRbOJO6djwhVAAaEZutxEKrWbjrVz4bgib28L+V+yAio2SUneeirj8pNYXwBKPfoYOUqGHhA== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - "@aws-sdk/util-waiter" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-sso@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.186.0.tgz#233bdd1312dbf88ef9452f8a62c3c3f1ac580330" - integrity sha512-qwLPomqq+fjvp42izzEpBEtGL2+dIlWH5pUCteV55hTEwHgo+m9LJPIrMWkPeoMBzqbNiu5n6+zihnwYlCIlEA== - dependencies: - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/config-resolver" "3.186.0" - "@aws-sdk/fetch-http-handler" "3.186.0" - "@aws-sdk/hash-node" "3.186.0" - "@aws-sdk/invalid-dependency" "3.186.0" - "@aws-sdk/middleware-content-length" "3.186.0" - "@aws-sdk/middleware-host-header" "3.186.0" - "@aws-sdk/middleware-logger" "3.186.0" - "@aws-sdk/middleware-recursion-detection" "3.186.0" - "@aws-sdk/middleware-retry" "3.186.0" - "@aws-sdk/middleware-serde" "3.186.0" - "@aws-sdk/middleware-stack" "3.186.0" - "@aws-sdk/middleware-user-agent" "3.186.0" - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/node-http-handler" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/smithy-client" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/url-parser" "3.186.0" - "@aws-sdk/util-base64-browser" "3.186.0" - "@aws-sdk/util-base64-node" "3.186.0" - "@aws-sdk/util-body-length-browser" "3.186.0" - "@aws-sdk/util-body-length-node" "3.186.0" - "@aws-sdk/util-defaults-mode-browser" "3.186.0" - "@aws-sdk/util-defaults-mode-node" "3.186.0" - "@aws-sdk/util-user-agent-browser" "3.186.0" - "@aws-sdk/util-user-agent-node" "3.186.0" - "@aws-sdk/util-utf8-browser" "3.186.0" - "@aws-sdk/util-utf8-node" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/client-sts@3.186.3": - version "3.186.3" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.186.3.tgz#1c12355cb9d3cadc64ab74c91c3d57515680dfbd" - integrity sha512-mnttdyYBtqO+FkDtOT3F1FGi8qD11fF5/3zYLaNuFFULqKneaIwW2YIsjFlgvPGpmoyo/tNplnZwhQ9xQtT3Sw== - dependencies: - "@aws-crypto/sha256-browser" "2.0.0" - "@aws-crypto/sha256-js" "2.0.0" - "@aws-sdk/config-resolver" "3.186.0" - "@aws-sdk/credential-provider-node" "3.186.0" - "@aws-sdk/fetch-http-handler" "3.186.0" - "@aws-sdk/hash-node" "3.186.0" - "@aws-sdk/invalid-dependency" "3.186.0" - "@aws-sdk/middleware-content-length" "3.186.0" - "@aws-sdk/middleware-host-header" "3.186.0" - "@aws-sdk/middleware-logger" "3.186.0" - "@aws-sdk/middleware-recursion-detection" "3.186.0" - "@aws-sdk/middleware-retry" "3.186.0" - "@aws-sdk/middleware-sdk-sts" "3.186.0" - "@aws-sdk/middleware-serde" "3.186.0" - "@aws-sdk/middleware-signing" "3.186.0" - "@aws-sdk/middleware-stack" "3.186.0" - "@aws-sdk/middleware-user-agent" "3.186.0" - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/node-http-handler" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/smithy-client" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/url-parser" "3.186.0" - "@aws-sdk/util-base64-browser" "3.186.0" - "@aws-sdk/util-base64-node" "3.186.0" - "@aws-sdk/util-body-length-browser" "3.186.0" - "@aws-sdk/util-body-length-node" "3.186.0" - "@aws-sdk/util-defaults-mode-browser" "3.186.0" - "@aws-sdk/util-defaults-mode-node" "3.186.0" - "@aws-sdk/util-user-agent-browser" "3.186.0" - "@aws-sdk/util-user-agent-node" "3.186.0" - "@aws-sdk/util-utf8-browser" "3.186.0" - "@aws-sdk/util-utf8-node" "3.186.0" - entities "2.2.0" - fast-xml-parser "4.2.5" - tslib "^2.3.1" - -"@aws-sdk/client-textract@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-textract/-/client-textract-3.6.1.tgz#b8972f53f0353222b4c052adc784291e602be6aa" - integrity sha512-nLrBzWDt3ToiGVFF4lW7a/eZpI2zjdvu7lwmOWyXX8iiPzhBVVEfd5oOorRyJYBsGMslp4sqV8TBkU5Ld/a97Q== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - -"@aws-sdk/client-translate@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-translate/-/client-translate-3.6.1.tgz#ce855c9fe7885b930d4039c2e45c869e3c0a6656" - integrity sha512-RIHY+Og1i43B5aWlfUUk0ZFnNfM7j2vzlYUwOqhndawV49GFf96M3pmskR5sKEZI+5TXY77qR9TgZ/r3UxVCRQ== - dependencies: - "@aws-crypto/sha256-browser" "^1.0.0" - "@aws-crypto/sha256-js" "^1.0.0" - "@aws-sdk/config-resolver" "3.6.1" - "@aws-sdk/credential-provider-node" "3.6.1" - "@aws-sdk/fetch-http-handler" "3.6.1" - "@aws-sdk/hash-node" "3.6.1" - "@aws-sdk/invalid-dependency" "3.6.1" - "@aws-sdk/middleware-content-length" "3.6.1" - "@aws-sdk/middleware-host-header" "3.6.1" - "@aws-sdk/middleware-logger" "3.6.1" - "@aws-sdk/middleware-retry" "3.6.1" - "@aws-sdk/middleware-serde" "3.6.1" - "@aws-sdk/middleware-signing" "3.6.1" - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/middleware-user-agent" "3.6.1" - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/node-http-handler" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/smithy-client" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/url-parser" "3.6.1" - "@aws-sdk/url-parser-native" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - "@aws-sdk/util-base64-node" "3.6.1" - "@aws-sdk/util-body-length-browser" "3.6.1" - "@aws-sdk/util-body-length-node" "3.6.1" - "@aws-sdk/util-user-agent-browser" "3.6.1" - "@aws-sdk/util-user-agent-node" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - "@aws-sdk/util-utf8-node" "3.6.1" - tslib "^2.0.0" - uuid "^3.0.0" - -"@aws-sdk/config-resolver@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.186.0.tgz#68bbf82b572f03ee3ec9ac84d000147e1050149b" - integrity sha512-l8DR7Q4grEn1fgo2/KvtIfIHJS33HGKPQnht8OPxkl0dMzOJ0jxjOw/tMbrIcPnr2T3Fi7LLcj3dY1Fo1poruQ== - dependencies: - "@aws-sdk/signature-v4" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-config-provider" "3.186.0" - "@aws-sdk/util-middleware" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/config-resolver@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.6.1.tgz#3bcc5e6a0ebeedf0981b0540e1f18a72b4dafebf" - integrity sha512-qjP1g3jLIm+XvOIJ4J7VmZRi87vsDmTRzIFePVeG+EFWwYQLxQjTGMdIj3yKTh1WuZ0HByf47mGcpiS4HZLm1Q== - dependencies: - "@aws-sdk/signature-v4" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-env@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.186.0.tgz#55dec9c4c29ebbdff4f3bce72de9e98f7a1f92e1" - integrity sha512-N9LPAqi1lsQWgxzmU4NPvLPnCN5+IQ3Ai1IFf3wM6FFPNoSUd1kIA2c6xaf0BE7j5Kelm0raZOb4LnV3TBAv+g== - dependencies: - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-env@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.6.1.tgz#d8b2dd36836432a9b8ec05a5cf9fe428b04c9964" - integrity sha512-coeFf/HnhpGidcAN1i1NuFgyFB2M6DeN1zNVy4f6s4mAh96ftr9DgWM1CcE3C+cLHEdpNqleVgC/2VQpyzOBLQ== - dependencies: - "@aws-sdk/property-provider" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-imds@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.186.0.tgz#73e0f62832726c7734b4f6c50a02ab0d869c00e1" - integrity sha512-iJeC7KrEgPPAuXjCZ3ExYZrRQvzpSdTZopYgUm5TnNZ8S1NU/4nvv5xVy61JvMj3JQAeG8UDYYgC421Foc8wQw== - dependencies: - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/url-parser" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-imds@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.6.1.tgz#b5a8b8ef15eac26c58e469451a6c7c34ab3ca875" - integrity sha512-bf4LMI418OYcQbyLZRAW8Q5AYM2IKrNqOnIcfrFn2f17ulG7TzoWW3WN/kMOw4TC9+y+vIlCWOv87GxU1yP0Bg== - dependencies: - "@aws-sdk/property-provider" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-ini@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.186.0.tgz#3b3873ccae855ee3f6f15dcd8212c5ca4ec01bf3" - integrity sha512-ecrFh3MoZhAj5P2k/HXo/hMJQ3sfmvlommzXuZ/D1Bj2yMcyWuBhF1A83Fwd2gtYrWRrllsK3IOMM5Jr8UIVZA== - dependencies: - "@aws-sdk/credential-provider-env" "3.186.0" - "@aws-sdk/credential-provider-imds" "3.186.0" - "@aws-sdk/credential-provider-sso" "3.186.0" - "@aws-sdk/credential-provider-web-identity" "3.186.0" - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/shared-ini-file-loader" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-ini@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.6.1.tgz#0da6d9341e621f8e0815814ed017b88e268fbc3d" - integrity sha512-3jguW6+ttRNddRZvbrs1yb3F1jrUbqyv0UfRoHuOGthjTt+L9sDpJaJGugYnT3bS9WBu1NydLVE2kDV++mJGVw== - dependencies: - "@aws-sdk/property-provider" "3.6.1" - "@aws-sdk/shared-ini-file-loader" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.186.0.tgz#0be58623660b41eed3a349a89b31a01d4cc773ea" - integrity sha512-HIt2XhSRhEvVgRxTveLCzIkd/SzEBQfkQ6xMJhkBtfJw1o3+jeCk+VysXM0idqmXytctL0O3g9cvvTHOsUgxOA== - dependencies: - "@aws-sdk/credential-provider-env" "3.186.0" - "@aws-sdk/credential-provider-imds" "3.186.0" - "@aws-sdk/credential-provider-ini" "3.186.0" - "@aws-sdk/credential-provider-process" "3.186.0" - "@aws-sdk/credential-provider-sso" "3.186.0" - "@aws-sdk/credential-provider-web-identity" "3.186.0" - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/shared-ini-file-loader" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-node@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.6.1.tgz#0055292a4f0f49d053e8dfcc9174d8d2cf6862bb" - integrity sha512-VAHOcsqkPrF1k/fA62pv9c75lUWe5bHpcbFX83C3EUPd2FXV10Lfkv6bdWhyZPQy0k8T+9/yikHH3c7ZQeFE5A== - dependencies: - "@aws-sdk/credential-provider-env" "3.6.1" - "@aws-sdk/credential-provider-imds" "3.6.1" - "@aws-sdk/credential-provider-ini" "3.6.1" - "@aws-sdk/credential-provider-process" "3.6.1" - "@aws-sdk/property-provider" "3.6.1" - "@aws-sdk/shared-ini-file-loader" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-process@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.186.0.tgz#e3be60983261a58c212f5c38b6fb76305bbb8ce7" - integrity sha512-ATRU6gbXvWC1TLnjOEZugC/PBXHBoZgBADid4fDcEQY1vF5e5Ux1kmqkJxyHtV5Wl8sE2uJfwWn+FlpUHRX67g== - dependencies: - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/shared-ini-file-loader" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-process@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.6.1.tgz#5bf851f3ee232c565b8c82608926df0ad28c1958" - integrity sha512-d0/TpMoEV4qMYkdpyyjU2Otse9X2jC1DuxWajHOWZYEw8oejMvXYTZ10hNaXZvAcNM9q214rp+k4mkt6gIcI6g== - dependencies: - "@aws-sdk/credential-provider-ini" "3.6.1" - "@aws-sdk/property-provider" "3.6.1" - "@aws-sdk/shared-ini-file-loader" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/credential-provider-sso@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.186.0.tgz#e1aa466543b3b0877d45b885a1c11b329232df22" - integrity sha512-mJ+IZljgXPx99HCmuLgBVDPLepHrwqnEEC/0wigrLCx6uz3SrAWmGZsNbxSEtb2CFSAaczlTHcU/kIl7XZIyeQ== - dependencies: - "@aws-sdk/client-sso" "3.186.0" - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/shared-ini-file-loader" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/credential-provider-web-identity@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.186.0.tgz#db43f37f7827b553490dd865dbaa9a2c45f95494" - integrity sha512-KqzI5eBV72FE+8SuOQAu+r53RXGVHg4AuDJmdXyo7Gc4wS/B9FNElA8jVUjjYgVnf0FSiri+l41VzQ44dCopSA== - dependencies: - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-codec@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-codec/-/eventstream-codec-3.186.0.tgz#9da9608866b38179edf72987f2bc3b865d11db13" - integrity sha512-3kLcJ0/H+zxFlhTlE1SGoFpzd/SitwXOsTSlYVwrwdISKRjooGg0BJpm1CSTkvmWnQIUlYijJvS96TAJ+fCPIA== - dependencies: - "@aws-crypto/crc32" "2.0.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-hex-encoding" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-handler-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-handler-node/-/eventstream-handler-node-3.186.0.tgz#d58aec9a8617ed1a9a3800d5526333deb3efebb2" - integrity sha512-S8eAxCHyFAGSH7F6GHKU2ckpiwFPwJUQwMzewISLg3wzLQeu6lmduxBxVaV3/SoEbEMsbNmrgw9EXtw3Vt/odQ== - dependencies: - "@aws-sdk/eventstream-codec" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-marshaller@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.6.1.tgz#6abfbdf3639249d1a77686cbcae5d8e47bcba989" - integrity sha512-ZvN3Nvxn2Gul08L9MOSN123LwSO0E1gF/CqmOGZtEWzPnoSX/PWM9mhPPeXubyw2KdlXylOodYYw3EAATk3OmA== - dependencies: - "@aws-crypto/crc32" "^1.0.0" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/util-hex-encoding" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/eventstream-serde-browser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.186.0.tgz#2a0bd942f977b3e2f1a77822ac091ddebe069475" - integrity sha512-0r2c+yugBdkP5bglGhGOgztjeHdHTKqu2u6bvTByM0nJShNO9YyqWygqPqDUOE5axcYQE1D0aFDGzDtP3mGJhw== - dependencies: - "@aws-sdk/eventstream-serde-universal" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-browser@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.6.1.tgz#1253bd5215745f79d534fc9bc6bd006ee7a0f239" - integrity sha512-J8B30d+YUfkBtgWRr7+9AfYiPnbG28zjMlFGsJf8Wxr/hDCfff+Z8NzlBYFEbS7McXXhRiIN8DHUvCtolJtWJQ== - dependencies: - "@aws-sdk/eventstream-marshaller" "3.6.1" - "@aws-sdk/eventstream-serde-universal" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/eventstream-serde-config-resolver@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.186.0.tgz#6c277058bb0fa14752f0b6d7043576e0b5f13da4" - integrity sha512-xhwCqYrAX5c7fg9COXVw6r7Sa3BO5cCfQMSR5S1QisE7do8K1GDKEHvUCheOx+RLon+P3glLjuNBMdD0HfCVNA== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-config-resolver@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.6.1.tgz#ebb5c1614f55d0ebb225defac1f76c420e188086" - integrity sha512-72pCzcT/KeD4gPgRVBSQzEzz4JBim8bNwPwZCGaIYdYAsAI8YMlvp0JNdis3Ov9DFURc87YilWKQlAfw7CDJxA== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/eventstream-serde-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.186.0.tgz#dabeab714f447790c5dd31d401c5a3822b795109" - integrity sha512-9p/gdukJYfmA+OEYd6MfIuufxrrfdt15lBDM3FODuc9j09LSYSRHSxthkIhiM5XYYaaUM+4R0ZlSMdaC3vFDFQ== - dependencies: - "@aws-sdk/eventstream-serde-universal" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-node@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.6.1.tgz#705e12bea185905a198d7812af10e3a679dfc841" - integrity sha512-rjBbJFjCrEcm2NxZctp+eJmyPxKYayG3tQZo8PEAQSViIlK5QexQI3fgqNAeCtK7l/SFAAvnOMRZF6Z3NdUY6A== - dependencies: - "@aws-sdk/eventstream-marshaller" "3.6.1" - "@aws-sdk/eventstream-serde-universal" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/eventstream-serde-universal@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.186.0.tgz#85a88a2cd5c336b1271976fa8db70654ec90fbf4" - integrity sha512-rIgPmwUxn2tzainBoh+cxAF+b7o01CcW+17yloXmawsi0kiR7QK7v9m/JTGQPWKtHSsPOrtRzuiWQNX57SlcsQ== - dependencies: - "@aws-sdk/eventstream-codec" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/eventstream-serde-universal@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.6.1.tgz#5be6865adb55436cbc90557df3a3c49b53553470" - integrity sha512-rpRu97yAGHr9GQLWMzcGICR2PxNu1dHU/MYc9Kb6UgGeZd4fod4o1zjhAJuj98cXn2xwHNFM4wMKua6B4zKrZg== - dependencies: - "@aws-sdk/eventstream-marshaller" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/fetch-http-handler@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.186.0.tgz#c1adc5f741e1ba9ad9d3fb13c9c2afdc88530a85" - integrity sha512-k2v4AAHRD76WnLg7arH94EvIclClo/YfuqO7NoQ6/KwOxjRhs4G6TgIsAZ9E0xmqoJoV81Xqy8H8ldfy9F8LEw== - dependencies: - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/querystring-builder" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-base64-browser" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/fetch-http-handler@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.6.1.tgz#c5fb4a4ee158161fca52b220d2c11dddcda9b092" - integrity sha512-N8l6ZbwhINuWG5hsl625lmIQmVjzsqRPmlgh061jm5D90IhsM5/3A3wUxpB/k0av1dmuMRw/m0YtBU5w4LOwvw== - dependencies: - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/querystring-builder" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/util-base64-browser" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/hash-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.186.0.tgz#8cb13aae8f46eb360fed76baf5062f66f27dfb70" - integrity sha512-G3zuK8/3KExDTxqrGqko+opOMLRF0BwcwekV/wm3GKIM/NnLhHblBs2zd/yi7VsEoWmuzibfp6uzxgFpEoJ87w== - dependencies: - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-buffer-from" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/hash-node@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.6.1.tgz#72d75ec3b9c7e7f9b0c498805364f1f897165ce9" - integrity sha512-iKEpzpyaG9PYCnaOGwTIf0lffsF/TpsXrzAfnBlfeOU/3FbgniW2z/yq5xBbtMDtLobtOYC09kUFwDnDvuveSA== - dependencies: - "@aws-sdk/types" "3.6.1" - "@aws-sdk/util-buffer-from" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/invalid-dependency@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.186.0.tgz#aa6331ccf404cb659ec38483116080e4b82b0663" - integrity sha512-hjeZKqORhG2DPWYZ776lQ9YO3gjw166vZHZCZU/43kEYaCZHsF4mexHwHzreAY6RfS25cH60Um7dUh1aeVIpkw== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/invalid-dependency@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.6.1.tgz#fd2519f5482c6d6113d38a73b7143fd8d5b5b670" - integrity sha512-d0RLqK7yeDCZJKopnGmGXo2rYkQNE7sGKVmBHQD1j1kKZ9lWwRoJeWqo834JNPZzY5XRvZG5SuIjJ1kFy8LpyQ== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/is-array-buffer@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.186.0.tgz#7700e36f29d416c2677f4bf8816120f96d87f1b7" - integrity sha512-fObm+P6mjWYzxoFY4y2STHBmSdgKbIAXez0xope563mox62I8I4hhVPUCaDVydXvDpJv8tbedJMk0meJl22+xA== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/is-array-buffer@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.6.1.tgz#96df5d64b2d599947f81b164d5d92623f85c659c" - integrity sha512-qm2iDJmCrxlQE2dsFG+TujPe7jw4DF+4RTrsFMhk/e3lOl3MAzQ6Fc2kXtgeUcVrZVFTL8fQvXE1ByYyI6WbCw== - dependencies: - tslib "^1.8.0" - -"@aws-sdk/md5-js@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.6.1.tgz#bffe21106fba0174d73ccc2c29ca1c5364d2af2d" - integrity sha512-lzCqkZF1sbzGFDyq1dI+lR3AmlE33rbC/JhZ5fzw3hJZvfZ6Beq3Su7YwDo65IWEu0zOKYaNywTeOloXP/CkxQ== - dependencies: - "@aws-sdk/types" "3.6.1" - "@aws-sdk/util-utf8-browser" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/middleware-content-length@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.186.0.tgz#8cc7aeec527738c46fdaf4a48b17c5cbfdc7ce58" - integrity sha512-Ol3c1ks3IK1s+Okc/rHIX7w2WpXofuQdoAEme37gHeml+8FtUlWH/881h62xfMdf+0YZpRuYv/eM7lBmJBPNJw== - dependencies: - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-content-length@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.6.1.tgz#f9c00a4045b2b56c1ff8bcbb3dec9c3d42332992" - integrity sha512-QRcocG9f5YjYzbjs2HjKla6ZIjvx8Y8tm1ZSFOPey81m18CLif1O7M3AtJXvxn+0zeSck9StFdhz5gfjVNYtDg== - dependencies: - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/middleware-eventstream@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-eventstream/-/middleware-eventstream-3.186.0.tgz#64a66102ed2e182182473948f131f23dda84e729" - integrity sha512-7yjFiitTGgfKL6cHK3u3HYFnld26IW5aUAFuEd6ocR/FjliysfBd8g0g1bw3bRfIMgCDD8OIOkXK8iCk2iYGWQ== - dependencies: - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-host-header@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.186.0.tgz#fce4f1219ce1835e2348c787d8341080b0024e34" - integrity sha512-5bTzrRzP2IGwyF3QCyMGtSXpOOud537x32htZf344IvVjrqZF/P8CDfGTkHkeBCIH+wnJxjK+l/QBb3ypAMIqQ== - dependencies: - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-host-header@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.6.1.tgz#6e1b4b95c5bfea5a4416fa32f11d8fa2e6edaeff" - integrity sha512-nwq8R2fGBRZQE0Fr/jiOgqfppfiTQCUoD8hyX3qSS7Qc2uqpsDOt2TnnoZl56mpQYkF/344IvMAkp+ew6wR73w== - dependencies: - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/middleware-logger@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.186.0.tgz#8a027fbbb1b8098ccc888bce51f34b000c0a0550" - integrity sha512-/1gGBImQT8xYh80pB7QtyzA799TqXtLZYQUohWAsFReYB7fdh5o+mu2rX0FNzZnrLIh2zBUNs4yaWGsnab4uXg== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-logger@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.6.1.tgz#78b3732cf188d5e4df13488db6418f7f98a77d6d" - integrity sha512-zxaSLpwKlja7JvK20UsDTxPqBZUo3rbDA1uv3VWwpxzOrEWSlVZYx/KLuyGWGkx9V71ZEkf6oOWWJIstS0wyQQ== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/middleware-recursion-detection@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.186.0.tgz#9d9d3212e9a954b557840bb80415987f4484487e" - integrity sha512-Za7k26Kovb4LuV5tmC6wcVILDCt0kwztwSlB991xk4vwNTja8kKxSt53WsYG8Q2wSaW6UOIbSoguZVyxbIY07Q== - dependencies: - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-retry@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.186.0.tgz#0ff9af58d73855863683991a809b40b93c753ad1" - integrity sha512-/VI9emEKhhDzlNv9lQMmkyxx3GjJ8yPfXH3HuAeOgM1wx1BjCTLRYEWnTbQwq7BDzVENdneleCsGAp7yaj80Aw== - dependencies: - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/service-error-classification" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-middleware" "3.186.0" - tslib "^2.3.1" - uuid "^8.3.2" - -"@aws-sdk/middleware-retry@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.6.1.tgz#202aadb1a3bf0e1ceabcd8319a5fa308b32db247" - integrity sha512-WHeo4d2jsXxBP+cec2SeLb0btYXwYXuE56WLmNt0RvJYmiBzytUeGJeRa9HuwV574kgigAuHGCeHlPO36G4Y0Q== - dependencies: - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/service-error-classification" "3.6.1" - "@aws-sdk/types" "3.6.1" - react-native-get-random-values "^1.4.0" - tslib "^1.8.0" - uuid "^3.0.0" - -"@aws-sdk/middleware-sdk-sts@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.186.0.tgz#18f3d6b7b42c1345b5733ac3e3119d370a403e94" - integrity sha512-GDcK0O8rjtnd+XRGnxzheq1V2jk4Sj4HtjrxW/ROyhzLOAOyyxutBt+/zOpDD6Gba3qxc69wE+Cf/qngOkEkDw== - dependencies: - "@aws-sdk/middleware-signing" "3.186.0" - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/signature-v4" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-serde@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.186.0.tgz#f7944241ad5fb31cb15cd250c9e92147942b9ec6" - integrity sha512-6FEAz70RNf18fKL5O7CepPSwTKJEIoyG9zU6p17GzKMgPeFsxS5xO94Hcq5tV2/CqeHliebjqhKY7yi+Pgok7g== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-serde@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.6.1.tgz#734c7d16c2aa9ccc01f6cca5e2f6aa2993b6739d" - integrity sha512-EdQCFZRERfP3uDuWcPNuaa2WUR3qL1WFDXafhcx+7ywQxagdYqBUWKFJlLYi6njbkOKXFM+eHBzoXGF0OV3MJA== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/middleware-signing@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.186.0.tgz#37633bf855667b4841464e0044492d0aec5778b9" - integrity sha512-riCJYG/LlF/rkgVbHkr4xJscc0/sECzDivzTaUmfb9kJhAwGxCyNqnTvg0q6UO00kxSdEB9zNZI2/iJYVBijBQ== - dependencies: - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/signature-v4" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-middleware" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-signing@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.6.1.tgz#e70a2f35d85d70e33c9fddfb54b9520f6382db16" - integrity sha512-1woKq+1sU3eausdl8BNdAMRZMkSYuy4mxhLsF0/qAUuLwo1eJLLUCOQp477tICawgu4O4q2OAyUHk7wMqYnQCg== - dependencies: - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/signature-v4" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/middleware-stack@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.186.0.tgz#da3445fe74b867ee6d7eec4f0dde28aaca1125d6" - integrity sha512-fENMoo0pW7UBrbuycPf+3WZ+fcUgP9PnQ0jcOK3WWZlZ9d2ewh4HNxLh4EE3NkNYj4VIUFXtTUuVNHlG8trXjQ== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/middleware-stack@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.6.1.tgz#d7483201706bb5935a62884e9b60f425f1c6434f" - integrity sha512-EPsIxMi8LtCt7YwTFpWGlVGYJc0q4kwFbOssY02qfqdCnyqi2y5wo089dH7OdxUooQ0D7CPsXM1zTTuzvm+9Fw== - dependencies: - tslib "^1.8.0" - -"@aws-sdk/middleware-user-agent@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.186.0.tgz#6d881e9cea5fe7517e220f3a47c2f3557c7f27fc" - integrity sha512-fb+F2PF9DLKOVMgmhkr+ltN8ZhNJavTla9aqmbd01846OLEaN1n5xEnV7p8q5+EznVBWDF38Oz9Ae5BMt3Hs7w== - dependencies: - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/middleware-user-agent@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.6.1.tgz#6845dfb3bc6187897f348c2c87dec833e6a65c99" - integrity sha512-YvXvwllNDVvxQ30vIqLsx+P6jjnfFEQUmhlv64n98gOme6h2BqoyQDcC3yHRGctuxRZEsR7W/H1ASTKC+iabbQ== - dependencies: - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/node-config-provider@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.186.0.tgz#64259429d39f2ef5a76663162bf2e8db6032a322" - integrity sha512-De93mgmtuUUeoiKXU8pVHXWKPBfJQlS/lh1k2H9T2Pd9Tzi0l7p5ttddx4BsEx4gk+Pc5flNz+DeptiSjZpa4A== - dependencies: - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/shared-ini-file-loader" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/node-config-provider@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.6.1.tgz#cb85d06329347fde566f08426f8714b1f65d2fb7" - integrity sha512-x2Z7lm0ZhHYqMybvkaI5hDKfBkaLaXhTDfgrLl9TmBZ3QHO4fIHgeL82VZ90Paol+OS+jdq2AheLmzbSxv3HrA== - dependencies: - "@aws-sdk/property-provider" "3.6.1" - "@aws-sdk/shared-ini-file-loader" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/node-http-handler@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.186.0.tgz#8be1598a9187637a767dc337bf22fe01461e86eb" - integrity sha512-CbkbDuPZT9UNJ4dAZJWB3BV+Z65wFy7OduqGkzNNrKq6ZYMUfehthhUOTk8vU6RMe/0FkN+J0fFXlBx/bs/cHw== - dependencies: - "@aws-sdk/abort-controller" "3.186.0" - "@aws-sdk/protocol-http" "3.186.0" - "@aws-sdk/querystring-builder" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/node-http-handler@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.6.1.tgz#4b65c4dcc0cf46ba44cb6c3bf29c5f817bb8d9a7" - integrity sha512-6XSaoqbm9ZF6T4UdBCcs/Gn2XclwBotkdjj46AxO+9vRAgZDP+lH/8WwZsvfqJhhRhS0qxWrks98WGJwmaTG8g== - dependencies: - "@aws-sdk/abort-controller" "3.6.1" - "@aws-sdk/protocol-http" "3.6.1" - "@aws-sdk/querystring-builder" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/property-provider@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.186.0.tgz#af41e615662a2749d3ff7da78c41f79f4be95b3b" - integrity sha512-nWKqt36UW3xV23RlHUmat+yevw9up+T+953nfjcmCBKtgWlCWu/aUzewTRhKj3VRscbN+Wer95SBw9Lr/MMOlQ== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/property-provider@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.6.1.tgz#d973fc87d199d32c44d947e17f2ee2dd140a9593" - integrity sha512-2gR2DzDySXKFoj9iXLm1TZBVSvFIikEPJsbRmAZx5RBY+tp1IXWqZM6PESjaLdLg/ZtR0QhW2ZcRn0fyq2JfnQ== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/protocol-http@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.186.0.tgz#99115870846312dd4202b5e2cc68fe39324b9bfa" - integrity sha512-l/KYr/UBDUU5ginqTgHtFfHR3X6ljf/1J1ThIiUg3C3kVC/Zwztm7BEOw8hHRWnWQGU/jYasGYcrcPLdQqFZyQ== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/protocol-http@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.6.1.tgz#d3d276846bec19ddb339d06bbc48116d17bbc656" - integrity sha512-WkQz7ncVYTLvCidDfXWouDzqxgSNPZDz3Bql+7VhZeITnzAEcr4hNMyEqMAVYBVugGmkG2W6YiUqNNs1goOcDA== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/querystring-builder@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.186.0.tgz#a380db0e1c71004932d9e2f3e6dc6761d1165c47" - integrity sha512-mweCpuLufImxfq/rRBTEpjGuB4xhQvbokA+otjnUxlPdIobytLqEs7pCGQfLzQ7+1ZMo8LBXt70RH4A2nSX/JQ== - dependencies: - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-uri-escape" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/querystring-builder@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.6.1.tgz#4c769829a3760ef065d0d3801f297a7f0cd324d4" - integrity sha512-ESe255Yl6vB1AMNqaGSQow3TBYYnpw0AFjE40q2VyiNrkbaqKmW2EzjeCy3wEmB1IfJDHy3O12ZOMUMOnjFT8g== - dependencies: - "@aws-sdk/types" "3.6.1" - "@aws-sdk/util-uri-escape" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/querystring-parser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.186.0.tgz#4db6d31ad4df0d45baa2a35e371fbaa23e45ddd2" - integrity sha512-0iYfEloghzPVXJjmnzHamNx1F1jIiTW9Svy5ZF9LVqyr/uHZcQuiWYsuhWloBMLs8mfWarkZM02WfxZ8buAuhg== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/querystring-parser@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.6.1.tgz#e3fa5a710429c7dd411e802a0b82beb48012cce2" - integrity sha512-hh6dhqamKrWWaDSuO2YULci0RGwJWygoy8hpCRxs/FpzzHIcbm6Cl6Jhrn5eKBzOBv+PhCcYwbfad0kIZZovcQ== - dependencies: - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/service-error-classification@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.186.0.tgz#6e4e1d4b53d68bd28c28d9cf0b3b4cb6a6a59dbb" - integrity sha512-DRl3ORk4tF+jmH5uvftlfaq0IeKKpt0UPAOAFQ/JFWe+TjOcQd/K+VC0iiIG97YFp3aeFmH1JbEgsNxd+8fdxw== - -"@aws-sdk/service-error-classification@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.6.1.tgz#296fe62ac61338341e8a009c9a2dab013a791903" - integrity sha512-kZ7ZhbrN1f+vrSRkTJvXsu7BlOyZgym058nPA745+1RZ1Rtv4Ax8oknf2RvJyj/1qRUi8LBaAREjzQ3C8tmLBA== - -"@aws-sdk/shared-ini-file-loader@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.186.0.tgz#a2d285bb3c4f8d69f7bfbde7a5868740cd3f7795" - integrity sha512-2FZqxmICtwN9CYid4dwfJSz/gGFHyStFQ3HCOQ8DsJUf2yREMSBsVmKqsyWgOrYcQ98gPcD5GIa7QO5yl3XF6A== - dependencies: - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/shared-ini-file-loader@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.6.1.tgz#2b7182cbb0d632ad7c9712bebffdeee24a6f7eb6" - integrity sha512-BnLHtsNLOoow6rPV+QVi6jnovU5g1m0YzoUG0BQYZ1ALyVlWVr0VvlUX30gMDfdYoPMp+DHvF8GXdMuGINq6kQ== - dependencies: - tslib "^1.8.0" - -"@aws-sdk/signature-v4@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.186.0.tgz#bbd56e71af95548abaeec6307ea1dfe7bd26b4e4" - integrity sha512-18i96P5c4suMqwSNhnEOqhq4doqqyjH4fn0YV3F8TkekHPIWP4mtIJ0PWAN4eievqdtcKgD/GqVO6FaJG9texw== - dependencies: - "@aws-sdk/is-array-buffer" "3.186.0" - "@aws-sdk/types" "3.186.0" - "@aws-sdk/util-hex-encoding" "3.186.0" - "@aws-sdk/util-middleware" "3.186.0" - "@aws-sdk/util-uri-escape" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/signature-v4@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.6.1.tgz#b20a3cf3e891131f83b012651f7d4af2bf240611" - integrity sha512-EAR0qGVL4AgzodZv4t+BSuBfyOXhTNxDxom50IFI1MqidR9vI6avNZKcPHhgXbm7XVcsDGThZKbzQ2q7MZ2NTA== - dependencies: - "@aws-sdk/is-array-buffer" "3.6.1" - "@aws-sdk/types" "3.6.1" - "@aws-sdk/util-hex-encoding" "3.6.1" - "@aws-sdk/util-uri-escape" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/smithy-client@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.186.0.tgz#67514544fb55d7eff46300e1e73311625cf6f916" - integrity sha512-rdAxSFGSnrSprVJ6i1BXi65r4X14cuya6fYe8dSdgmFSa+U2ZevT97lb3tSINCUxBGeMXhENIzbVGkRZuMh+DQ== - dependencies: - "@aws-sdk/middleware-stack" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/smithy-client@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.6.1.tgz#683fef89802e318922f8529a5433592d71a7ce9d" - integrity sha512-AVpRK4/iUxNeDdAm8UqP0ZgtgJMQeWcagTylijwelhWXyXzHUReY1sgILsWcdWnoy6gq845W7K2VBhBleni8+w== - dependencies: - "@aws-sdk/middleware-stack" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/types@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.186.0.tgz#f6fb6997b6a364f399288bfd5cd494bc680ac922" - integrity sha512-NatmSU37U+XauMFJCdFI6nougC20JUFZar+ump5wVv0i54H+2Refg1YbFDxSs0FY28TSB9jfhWIpfFBmXgL5MQ== - -"@aws-sdk/types@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.6.1.tgz#00686db69e998b521fcd4a5f81ef0960980f80c4" - integrity sha512-4Dx3eRTrUHLxhFdLJL8zdNGzVsJfAxtxPYYGmIddUkO2Gj3WA1TGjdfG4XN/ClI6e1XonCHafQX3UYO/mgnH3g== - -"@aws-sdk/types@^3.1.0": - version "3.78.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.78.0.tgz#51dc80b2142ee20821fb9f476bdca6e541021443" - integrity sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ== - -"@aws-sdk/url-parser-native@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser-native/-/url-parser-native-3.6.1.tgz#a5e787f98aafa777e73007f9490df334ef3389a2" - integrity sha512-3O+ktsrJoE8YQCho9L41YXO8EWILXrSeES7amUaV3mgIV5w4S3SB/r4RkmylpqRpQF7Ry8LFiAnMqH1wa4WBPA== - dependencies: - "@aws-sdk/querystring-parser" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - url "^0.11.0" - -"@aws-sdk/url-parser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.186.0.tgz#e42f845cd405c1920fdbdcc796a350d4ace16ae9" - integrity sha512-jfdJkKqJZp8qjjwEjIGDqbqTuajBsddw02f86WiL8bPqD8W13/hdqbG4Fpwc+Bm6GwR6/4MY6xWXFnk8jDUKeA== - dependencies: - "@aws-sdk/querystring-parser" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/url-parser@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.6.1.tgz#f5d89fb21680469a61cb9fe08a7da3ef887884dd" - integrity sha512-pWFIePDx0PMCleQRsQDWoDl17YiijOLj0ZobN39rQt+wv5PhLSZDz9PgJsqS48nZ6hqsKgipRcjiBMhn5NtFcQ== - dependencies: - "@aws-sdk/querystring-parser" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/util-base64-browser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.186.0.tgz#0310482752163fa819718ce9ea9250836b20346d" - integrity sha512-TpQL8opoFfzTwUDxKeon/vuc83kGXpYqjl6hR8WzmHoQgmFfdFlV+0KXZOohra1001OP3FhqvMqaYbO8p9vXVQ== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-base64-browser@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.6.1.tgz#eddea1311b41037fc3fddd889d3e0a9882363215" - integrity sha512-+DHAIgt0AFARDVC7J0Z9FkSmJhBMlkYdOPeAAgO0WaQoKj7rtsLQJ7P3v3aS1paKN5/sk5xNY7ziVB6uHtOvHA== - dependencies: - tslib "^1.8.0" - -"@aws-sdk/util-base64-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.186.0.tgz#500bd04b1ef7a6a5c0a2d11c0957a415922e05c7" - integrity sha512-wH5Y/EQNBfGS4VkkmiMyZXU+Ak6VCoFM1GKWopV+sj03zR2D4FHexi4SxWwEBMpZCd6foMtihhbNBuPA5fnh6w== - dependencies: - "@aws-sdk/util-buffer-from" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/util-base64-node@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.6.1.tgz#a79c233861e50d3a30728c72b736afdee07d4009" - integrity sha512-oiqzpsvtTSS92+cL3ykhGd7t3qBJKeHvrgOwUyEf1wFWHQ2DPJR+dIMy5rMFRXWLKCl3w7IddY2rJCkLYMjaqQ== - dependencies: - "@aws-sdk/util-buffer-from" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/util-body-length-browser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.186.0.tgz#a898eda9f874f6974a9c5c60fcc76bcb6beac820" - integrity sha512-zKtjkI/dkj9oGkjo+7fIz+I9KuHrVt1ROAeL4OmDESS8UZi3/O8uMDFMuCp8jft6H+WFuYH6qRVWAVwXMiasXw== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-body-length-browser@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.6.1.tgz#2e8088f2d9a5a8258b4f56079a8890f538c2797e" - integrity sha512-IdWwE3rm/CFDk2F+IwTZOFTnnNW5SB8y1lWiQ54cfc7y03hO6jmXNnpZGZ5goHhT+vf1oheNQt1J47m0pM/Irw== + rxjs "^7.8.1" + tslib "^2.5.0" + uuid "^9.0.0" + +"@aws-amplify/api-rest@4.0.52": + version "4.0.52" + resolved "https://registry.yarnpkg.com/@aws-amplify/api-rest/-/api-rest-4.0.52.tgz#711bc9addf8cf6656b99a3e64bd3ef66ec3e50d9" + integrity sha512-A1kI7/6UqLUyOoPbPrUUjg84dPORAJzyC+xnk+o9ZKbVZVcfyHDU/XsbZgEi9NGZBMMPNgCek/m6O/FI5hd1VQ== + dependencies: + tslib "^2.5.0" + +"@aws-amplify/api@6.0.54": + version "6.0.54" + resolved "https://registry.yarnpkg.com/@aws-amplify/api/-/api-6.0.54.tgz#0e2b4b581171fa5318a028487e05fcd9eddedaf0" + integrity sha512-aZ2rqapEtZHuHKgGhZ9F+E9VTah61PqxGEJWuJFQYhBA3Ui5dA5m98Rt49666xvQ7dJo1KkUqw9vrpPyE/mW/Q== + dependencies: + "@aws-amplify/api-graphql" "4.4.1" + "@aws-amplify/api-rest" "4.0.52" + tslib "^2.5.0" + +"@aws-amplify/auth@6.5.2": + version "6.5.2" + resolved "https://registry.yarnpkg.com/@aws-amplify/auth/-/auth-6.5.2.tgz#4aa286bc18fdf99ffeb6b91b9f540e6445a5ebd9" + integrity sha512-YxLcfhWWt9AtkePPo4aRH3OeRrlIWoo5+FV8gyOkeaHBiF3fkWcWZ3YAxMz7jG+iycgQMzj0bkFFTaNAy0Ohgw== + dependencies: + tslib "^2.5.0" + +"@aws-amplify/core@6.4.5": + version "6.4.5" + resolved "https://registry.yarnpkg.com/@aws-amplify/core/-/core-6.4.5.tgz#a40e7c5d4857d9864fc44d94a0590844fdb2ad3d" + integrity sha512-YE1CUOEoDs6gwZbTXYcrg5BSC1yfKAPM5yh4/Yy7BdIyev3WZl0RwukWk6Z/rdM1/ePKyDAbVeiGO7GOaWhJNw== + dependencies: + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/types" "3.398.0" + "@smithy/util-hex-encoding" "2.0.0" + "@types/uuid" "^9.0.0" + js-cookie "^3.0.5" + rxjs "^7.8.1" + tslib "^2.5.0" + uuid "^9.0.0" + +"@aws-amplify/data-schema-types@*": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema-types/-/data-schema-types-1.1.1.tgz#5b0331626321a9407d0438e4a29c715f6f4f4afe" + integrity sha512-WhWEEsztpSSxIY0lJ3Ge5iA4g3PBm66SQmy1fBH1FBq0T+cxUBijifOU8MNwf+tf6lGpArMX0RS54HRVF5fUSA== dependencies: - tslib "^1.8.0" + graphql "15.8.0" + rxjs "^7.8.1" -"@aws-sdk/util-body-length-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.186.0.tgz#95efbacbd13cb739b942c126c5d16ecf6712d4db" - integrity sha512-U7Ii8u8Wvu9EnBWKKeuwkdrWto3c0j7LG677Spe6vtwWkvY70n9WGfiKHTgBpVeLNv8jvfcx5+H0UOPQK1o9SQ== +"@aws-amplify/data-schema@^1.7.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema/-/data-schema-1.10.0.tgz#016fe8e9e1f40d268d26867c1bd925d71e902a12" + integrity sha512-tp1dtpNmc5X8B9M3yg1TmkXvnMH10UicPrnfpNCVfsuCQZk7r/hNkzLaLlAyD8/f5/sXatpYl91zo7owbIuPPw== dependencies: - tslib "^2.3.1" + "@aws-amplify/data-schema-types" "*" + "@smithy/util-base64" "^3.0.0" + "@types/aws-lambda" "^8.10.134" + "@types/json-schema" "^7.0.15" + rxjs "^7.8.1" -"@aws-sdk/util-body-length-node@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.6.1.tgz#6e4f2eae46c5a7b0417a12ca7f4b54c390d4cacd" - integrity sha512-CUG3gc18bSOsqViQhB3M4AlLpAWV47RE6yWJ6rLD0J6/rSuzbwbjzxM39q0YTAVuSo/ivdbij+G9c3QCirC+QQ== +"@aws-amplify/datastore@5.0.54": + version "5.0.54" + resolved "https://registry.yarnpkg.com/@aws-amplify/datastore/-/datastore-5.0.54.tgz#1a1569737ec9000052c0010d2c0367cb97cb17e1" + integrity sha512-WYoUMWbpQci1Ah6Ft+EyWmTzKKxB+MrtgBa8CmYsNYm7PSGcOQ/SyGDdaxxBj0YnXv8KKA46/O/ofT9SrxX9Wg== dependencies: - tslib "^1.8.0" + "@aws-amplify/api" "6.0.54" + buffer "4.9.2" + idb "5.0.6" + immer "9.0.6" + rxjs "^7.8.1" + ulid "^2.3.0" -"@aws-sdk/util-buffer-from@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.186.0.tgz#01f7edb683d2f40374d0ca8ef2d16346dc8040a1" - integrity sha512-be2GCk2lsLWg/2V5Y+S4/9pOMXhOQo4DR4dIqBdR2R+jrMMHN9Xsr5QrkT6chcqLaJ/SBlwiAEEi3StMRmCOXA== +"@aws-amplify/notifications@2.0.52": + version "2.0.52" + resolved "https://registry.yarnpkg.com/@aws-amplify/notifications/-/notifications-2.0.52.tgz#332c401d65cfafadfa95c9c5f831182bff834394" + integrity sha512-jvReh1i4e80pY+XUtahIeGZ5I1plpQgq3lgYYky4Z9lViMQKJrrNdl6Yy0AKbkv+7/3h/m/wtKF2d/PSqJtrDw== dependencies: - "@aws-sdk/is-array-buffer" "3.186.0" - tslib "^2.3.1" + lodash "^4.17.21" + tslib "^2.5.0" -"@aws-sdk/util-buffer-from@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.6.1.tgz#24184ce74512f764d84002201b7f5101565e26f9" - integrity sha512-OGUh2B5NY4h7iRabqeZ+EgsrzE1LUmNFzMyhoZv0tO4NExyfQjxIYXLQQvydeOq9DJUbCw+yrRZrj8vXNDQG+g== +"@aws-amplify/storage@6.6.10": + version "6.6.10" + resolved "https://registry.yarnpkg.com/@aws-amplify/storage/-/storage-6.6.10.tgz#ef0236b03456efbd0d4e96db3cdb9c562390e1e9" + integrity sha512-wQ4Xj74Xh+TOlT9Lt7xv8zlgE5Jgtswgzap10rcNxLd45mo0KzC3dMBvIN1EW5+25HUQaQMzSByyI1T1GijE2g== dependencies: - "@aws-sdk/is-array-buffer" "3.6.1" - tslib "^1.8.0" + "@aws-sdk/types" "3.398.0" + "@smithy/md5-js" "2.0.7" + buffer "4.9.2" + fast-xml-parser "^4.4.1" + tslib "^2.5.0" -"@aws-sdk/util-config-provider@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.186.0.tgz#52ce3711edceadfac1b75fccc7c615e90c33fb2f" - integrity sha512-71Qwu/PN02XsRLApyxG0EUy/NxWh/CXxtl2C7qY14t+KTiRapwbDkdJ1cMsqYqghYP4BwJoj1M+EFMQSSlkZQQ== +"@aws-crypto/crc32@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1" + integrity sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg== dependencies: - tslib "^2.3.1" + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" -"@aws-sdk/util-defaults-mode-browser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.186.0.tgz#d30b2f572e273d7d98287274c37c9ee00b493507" - integrity sha512-U8GOfIdQ0dZ7RRVpPynGteAHx4URtEh+JfWHHVfS6xLPthPHWTbyRhkQX++K/F8Jk+T5U8Anrrqlea4TlcO2DA== +"@aws-crypto/sha256-browser@5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz#153895ef1dba6f9fce38af550e0ef58988eb649e" + integrity sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw== dependencies: - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/types" "3.186.0" - bowser "^2.11.0" - tslib "^2.3.1" + "@aws-crypto/sha256-js" "^5.2.0" + "@aws-crypto/supports-web-crypto" "^5.2.0" + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" -"@aws-sdk/util-defaults-mode-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.186.0.tgz#8572453ba910fd2ab08d2cfee130ce5a0db83ba7" - integrity sha512-N6O5bpwCiE4z8y7SPHd7KYlszmNOYREa+mMgtOIXRU3VXSEHVKVWTZsHKvNTTHpW0qMqtgIvjvXCo3vsch5l3A== +"@aws-crypto/sha256-js@5.2.0", "@aws-crypto/sha256-js@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz#c4fdb773fdbed9a664fc1a95724e206cf3860042" + integrity sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA== dependencies: - "@aws-sdk/config-resolver" "3.186.0" - "@aws-sdk/credential-provider-imds" "3.186.0" - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/property-provider" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" + "@aws-crypto/util" "^5.2.0" + "@aws-sdk/types" "^3.222.0" + tslib "^2.6.2" -"@aws-sdk/util-hex-encoding@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.186.0.tgz#7ed58b923997c6265f4dce60c8704237edb98895" - integrity sha512-UL9rdgIZz1E/jpAfaKH8QgUxNK9VP5JPgoR0bSiaefMjnsoBh0x/VVMsfUyziOoJCMLebhJzFowtwrSKEGsxNg== +"@aws-crypto/supports-web-crypto@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz#a1e399af29269be08e695109aa15da0a07b5b5fb" + integrity sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg== dependencies: - tslib "^2.3.1" + tslib "^2.6.2" -"@aws-sdk/util-hex-encoding@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.6.1.tgz#84954fcc47b74ffbd2911ba5113e93bd9b1c6510" - integrity sha512-pzsGOHtU2eGca4NJgFg94lLaeXDOg8pcS9sVt4f9LmtUGbrqRveeyBv0XlkHeZW2n0IZBssPHipVYQFlk7iaRA== - dependencies: - tslib "^1.8.0" +"@aws-crypto/util@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-5.2.0.tgz#71284c9cffe7927ddadac793c14f14886d3876da" + integrity sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ== + dependencies: + "@aws-sdk/types" "^3.222.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-firehose@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-firehose/-/client-firehose-3.621.0.tgz#2bfb5bc59808dde055ccc18fcb89f6322326729a" + integrity sha512-XAjAkXdb35PDvBYph609Fxn4g00HYH/U6N4+KjF9gLQrdTU+wkjf3D9YD02DZNbApJVcu4eIxWh/8M25YkW02A== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-kinesis@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-kinesis/-/client-kinesis-3.621.0.tgz#3af1e18622638d20cd0fa3df5182978cb130ab86" + integrity sha512-53Omt/beFmTQPjQNpMuPMk5nMzYVsXCRiO+MeqygZEKYG1fWw/UGluCWVbi7WjClOHacsW8lQcsqIRvkPDFNag== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/eventstream-serde-browser" "^3.0.5" + "@smithy/eventstream-serde-config-resolver" "^3.0.3" + "@smithy/eventstream-serde-node" "^3.0.4" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + "@smithy/util-waiter" "^3.1.2" + tslib "^2.6.2" + +"@aws-sdk/client-personalize-events@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-personalize-events/-/client-personalize-events-3.621.0.tgz#f061e00d2dc75b1165ace8280879119e78f9a577" + integrity sha512-qkVkqYvOe3WVuVNL/gRITGYFfHJCx2ijGFK7H3hNUJH3P4AwskmouAd1pWf+3cbGedRnj2is7iw7E602LeJIHA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/client-sts" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-sso-oidc@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz#3fa3d468fbebbd93a5f75c1d51b63cc7af3ef17b" + integrity sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-sso@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz#c0eefeb9adcbc6bb7c91c32070404c8c91846825" + integrity sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@aws-sdk/client-sts@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz#2994f601790893901704c5df56c837e89f279952" + integrity sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.621.0" + "@aws-sdk/core" "3.621.0" + "@aws-sdk/credential-provider-node" "3.621.0" + "@aws-sdk/middleware-host-header" "3.620.0" + "@aws-sdk/middleware-logger" "3.609.0" + "@aws-sdk/middleware-recursion-detection" "3.620.0" + "@aws-sdk/middleware-user-agent" "3.620.0" + "@aws-sdk/region-config-resolver" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@aws-sdk/util-user-agent-browser" "3.609.0" + "@aws-sdk/util-user-agent-node" "3.614.0" + "@smithy/config-resolver" "^3.0.5" + "@smithy/core" "^2.3.1" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/hash-node" "^3.0.3" + "@smithy/invalid-dependency" "^3.0.3" + "@smithy/middleware-content-length" "^3.0.5" + "@smithy/middleware-endpoint" "^3.1.0" + "@smithy/middleware-retry" "^3.0.13" + "@smithy/middleware-serde" "^3.0.3" + "@smithy/middleware-stack" "^3.0.3" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/url-parser" "^3.0.3" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.13" + "@smithy/util-defaults-mode-node" "^3.0.13" + "@smithy/util-endpoints" "^2.0.5" + "@smithy/util-middleware" "^3.0.3" + "@smithy/util-retry" "^3.0.3" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@aws-sdk/core@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.621.0.tgz#e38c56c3ce0c819ca1185eaabcb98412429aaca3" + integrity sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ== + dependencies: + "@smithy/core" "^2.3.1" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/protocol-http" "^4.1.0" + "@smithy/signature-v4" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/util-middleware" "^3.0.3" + fast-xml-parser "4.4.1" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-env@3.620.1": + version "3.620.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz#d4692c49a65ebc11dae3f7f8b053fee9268a953c" + integrity sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-http@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz#5f944bf548f203d842cf71a5792f73c205544627" + integrity sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/fetch-http-handler" "^3.2.4" + "@smithy/node-http-handler" "^3.1.4" + "@smithy/property-provider" "^3.1.3" + "@smithy/protocol-http" "^4.1.0" + "@smithy/smithy-client" "^3.1.11" + "@smithy/types" "^3.3.0" + "@smithy/util-stream" "^3.1.3" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-ini@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz#bda2365f88fee40e3ae067b08bf484106c339222" + integrity sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA== + dependencies: + "@aws-sdk/credential-provider-env" "3.620.1" + "@aws-sdk/credential-provider-http" "3.621.0" + "@aws-sdk/credential-provider-process" "3.620.1" + "@aws-sdk/credential-provider-sso" "3.621.0" + "@aws-sdk/credential-provider-web-identity" "3.621.0" + "@aws-sdk/types" "3.609.0" + "@smithy/credential-provider-imds" "^3.2.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-node@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz#9cc5052760a9f9d70d70f12ddbdbf0d59bf13a47" + integrity sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw== + dependencies: + "@aws-sdk/credential-provider-env" "3.620.1" + "@aws-sdk/credential-provider-http" "3.621.0" + "@aws-sdk/credential-provider-ini" "3.621.0" + "@aws-sdk/credential-provider-process" "3.620.1" + "@aws-sdk/credential-provider-sso" "3.621.0" + "@aws-sdk/credential-provider-web-identity" "3.621.0" + "@aws-sdk/types" "3.609.0" + "@smithy/credential-provider-imds" "^3.2.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-process@3.620.1": + version "3.620.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz#10387cf85400420bb4bbda9cc56937dcc6d6d0ee" + integrity sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-sso@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz#710f413708cb372f9f94e8eb9726cf263ffd83e3" + integrity sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw== + dependencies: + "@aws-sdk/client-sso" "3.621.0" + "@aws-sdk/token-providers" "3.614.0" + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-web-identity@3.621.0": + version "3.621.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz#b25878c0a05dad60cd5f91e7e5a31a145c2f14be" + integrity sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-host-header@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz#b561d419a08a984ba364c193376b482ff5224d74" + integrity sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-logger@3.609.0": + version "3.609.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz#ed44d201f091b8bac908cbf14724c7a4d492553f" + integrity sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-recursion-detection@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz#f8270dfff843fd756be971e5673f89c6a24c6513" + integrity sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-user-agent@3.620.0": + version "3.620.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz#1fe3104f04f576a942cf0469bfbd73c38eef3d9e" + integrity sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A== + dependencies: + "@aws-sdk/types" "3.609.0" + "@aws-sdk/util-endpoints" "3.614.0" + "@smithy/protocol-http" "^4.1.0" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/region-config-resolver@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz#9cebb31a5bcfea2a41891fff7f28d0164cde179a" + integrity sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/types" "^3.3.0" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.3" + tslib "^2.6.2" + +"@aws-sdk/token-providers@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz#88da04f6d4ce916b0b0f6e045676d04201fb47fd" + integrity sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/property-provider" "^3.1.3" + "@smithy/shared-ini-file-loader" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/types@3.387.0": + version "3.387.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.387.0.tgz#15a968344956b2587dbab1224718d72329e050f4" + integrity sha512-YTjFabNwjTF+6yl88f0/tWff018qmmgMmjlw45s6sdVKueWxdxV68U7gepNLF2nhaQPZa6FDOBoA51NaviVs0Q== + dependencies: + "@smithy/types" "^2.1.0" + tslib "^2.5.0" + +"@aws-sdk/types@3.398.0": + version "3.398.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.398.0.tgz#8ce02559536670f9188cddfce32e9dd12b4fe965" + integrity sha512-r44fkS+vsEgKCuEuTV+TIk0t0m5ZlXHNjSDYEUvzLStbbfUFiNus/YG4UCa0wOk9R7VuQI67badsvvPeVPCGDQ== + dependencies: + "@smithy/types" "^2.2.2" + tslib "^2.5.0" + +"@aws-sdk/types@3.609.0": + version "3.609.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.609.0.tgz#06b39d799c9f197a7b43670243e8e78a3bf7d6a5" + integrity sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q== + dependencies: + "@smithy/types" "^3.3.0" + tslib "^2.6.2" + +"@aws-sdk/types@^3.222.0": + version "3.664.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.664.0.tgz#e6de1c0a2cdfe4f1e43271223dc0b55e613ced58" + integrity sha512-+GtXktvVgpreM2b+NJL9OqZGsOzHwlCUrO8jgQUvH/yA6Kd8QO2YFhQCp0C9sSzTteZJVqGBu8E0CQurxJHPbw== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@aws-sdk/util-endpoints@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz#6564b0ffd7dc3728221e9f9821f5aab1cc58468e" + integrity sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw== + dependencies: + "@aws-sdk/types" "3.609.0" + "@smithy/types" "^3.3.0" + "@smithy/util-endpoints" "^2.0.5" + tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": version "3.55.0" @@ -1749,108 +693,25 @@ dependencies: tslib "^2.3.1" -"@aws-sdk/util-middleware@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.186.0.tgz#ba2e286b206cbead306b6d2564f9d0495f384b40" - integrity sha512-fddwDgXtnHyL9mEZ4s1tBBsKnVQHqTUmFbZKUUKPrg9CxOh0Y/zZxEa5Olg/8dS/LzM1tvg0ATkcyd4/kEHIhg== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-uri-escape@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.186.0.tgz#1752a93dfe58ec88196edb6929806807fd8986da" - integrity sha512-imtOrJFpIZAipAg8VmRqYwv1G/x4xzyoxOJ48ZSn1/ZGnKEEnB6n6E9gwYRebi4mlRuMSVeZwCPLq0ey5hReeQ== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-uri-escape@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.6.1.tgz#433e87458bb510d0e457a86c0acf12b046a5068c" - integrity sha512-tgABiT71r0ScRJZ1pMX0xO0QPMMiISCtumph50IU5VDyZWYgeIxqkMhIcrL1lX0QbNCMgX0n6rZxGrrbjDNavA== - dependencies: - tslib "^1.8.0" - -"@aws-sdk/util-user-agent-browser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.186.0.tgz#02e214887d30a69176c6a6c2d6903ce774b013b4" - integrity sha512-fbRcTTutMk4YXY3A2LePI4jWSIeHOT8DaYavpc/9Xshz/WH9RTGMmokeVOcClRNBeDSi5cELPJJ7gx6SFD3ZlQ== - dependencies: - "@aws-sdk/types" "3.186.0" - bowser "^2.11.0" - tslib "^2.3.1" - -"@aws-sdk/util-user-agent-browser@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.6.1.tgz#11b9cc8743392761adb304460f4b54ec8acc2ee6" - integrity sha512-KhJ4VED4QpuBVPXoTjb5LqspX1xHWJTuL8hbPrKfxj+cAaRRW2CNEe7PPy2CfuHtPzP3dU3urtGTachbwNb0jg== +"@aws-sdk/util-user-agent-browser@3.609.0": + version "3.609.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz#aa15421b2e32ae8bc589dac2bd6e8969832ce588" + integrity sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA== dependencies: - "@aws-sdk/types" "3.6.1" + "@aws-sdk/types" "3.609.0" + "@smithy/types" "^3.3.0" bowser "^2.11.0" - tslib "^1.8.0" + tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.186.0.tgz#1ef74973442c8650c7b64ff2fd15cf3c09d8c004" - integrity sha512-oWZR7hN6NtOgnT6fUvHaafgbipQc2xJCRB93XHiF9aZGptGNLJzznIOP7uURdn0bTnF73ejbUXWLQIm8/6ue6w== +"@aws-sdk/util-user-agent-node@3.614.0": + version "3.614.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz#1e3f49a80f841a3f21647baed2adce01aac5beb5" + integrity sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA== dependencies: - "@aws-sdk/node-config-provider" "3.186.0" - "@aws-sdk/types" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/util-user-agent-node@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.6.1.tgz#98384095fa67d098ae7dd26f3ccaad028e8aebb6" - integrity sha512-PWwL5EDRwhkXX40m5jjgttlBmLA7vDhHBen1Jcle0RPIDFRVPSE7GgvLF3y4r3SNH0WD6hxqadT50bHQynXW6w== - dependencies: - "@aws-sdk/node-config-provider" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/util-utf8-browser@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.186.0.tgz#5fee6385cfc3effa2be704edc2998abfd6633082" - integrity sha512-n+IdFYF/4qT2WxhMOCeig8LndDggaYHw3BJJtfIBZRiS16lgwcGYvOUmhCkn0aSlG1f/eyg9YZHQG0iz9eLdHQ== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-utf8-browser@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.6.1.tgz#97a8770cae9d29218adc0f32c7798350261377c7" - integrity sha512-gZPySY6JU5gswnw3nGOEHl3tYE7vPKvtXGYoS2NRabfDKRejFvu+4/nNW6SSpoOxk6LSXsrWB39NO51k+G4PVA== - dependencies: - tslib "^1.8.0" - -"@aws-sdk/util-utf8-browser@^3.0.0": - version "3.55.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz#a045bf1a93f6e0ff9c846631b168ea55bbb37668" - integrity sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug== - dependencies: - tslib "^2.3.1" - -"@aws-sdk/util-utf8-node@3.186.0": - version "3.186.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.186.0.tgz#722d9b0f5675ae2e9d79cf67322126d9c9d8d3d8" - integrity sha512-7qlE0dOVdjuRbZTb7HFywnHHCrsN7AeQiTnsWT63mjXGDbPeUWQQw3TrdI20um3cxZXnKoeudGq8K6zbXyQ4iA== - dependencies: - "@aws-sdk/util-buffer-from" "3.186.0" - tslib "^2.3.1" - -"@aws-sdk/util-utf8-node@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.6.1.tgz#18534c2069b61f5739ee4cdc70060c9f4b4c4c4f" - integrity sha512-4s0vYfMUn74XLn13rUUhNsmuPMh0j1d4rF58wXtjlVUU78THxonnN8mbCLC48fI3fKDHTmDDkeEqy7+IWP9VyA== - dependencies: - "@aws-sdk/util-buffer-from" "3.6.1" - tslib "^1.8.0" - -"@aws-sdk/util-waiter@3.6.1": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.6.1.tgz#5c66c2da33ff98468726fefddc2ca7ac3352c17d" - integrity sha512-CQMRteoxW1XZSzPBVrTsOTnfzsEGs8N/xZ8BuBnXLBjoIQmRKVxIH9lgphm1ohCtVHoSWf28XH/KoOPFULQ4Tg== - dependencies: - "@aws-sdk/abort-controller" "3.6.1" - "@aws-sdk/types" "3.6.1" - tslib "^1.8.0" + "@aws-sdk/types" "3.609.0" + "@smithy/node-config-provider" "^3.1.4" + "@smithy/types" "^3.3.0" + tslib "^2.6.2" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7": version "7.16.7" @@ -4655,6 +3516,484 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@smithy/abort-controller@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.5.tgz#ca7a86a3c6b20fabe59667143f58d9e198616d14" + integrity sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/config-resolver@^3.0.5", "@smithy/config-resolver@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.9.tgz#dcf4b7747ca481866f9bfac21469ebe2031a599e" + integrity sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg== + dependencies: + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.7" + tslib "^2.6.2" + +"@smithy/core@^2.3.1": + version "2.4.8" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.8.tgz#397ac17dfa8ad658b77f96f19484f0eeaf22d397" + integrity sha512-x4qWk7p/a4dcf7Vxb2MODIf4OIcqNbK182WxRvZ/3oKPrf/6Fdic5sSElhO1UtXpWKBazWfqg0ZEK9xN1DsuHA== + dependencies: + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.23" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.4.0" + "@smithy/types" "^3.5.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/credential-provider-imds@^3.2.0", "@smithy/credential-provider-imds@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.4.tgz#e1a2bfc8a0066f673756ad8735247cf284b9735c" + integrity sha512-S9bb0EIokfYEuar4kEbLta+ivlKCWOCFsLZuilkNy9i0uEUEHSi47IFLPaxqqCl+0ftKmcOTHayY5nQhAuq7+w== + dependencies: + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" + tslib "^2.6.2" + +"@smithy/eventstream-codec@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.6.tgz#70ca95aad82d5140522eb883fbc140f1f22dcb27" + integrity sha512-SBiOYPBH+5wOyPS7lfI150ePfGLhnp/eTu5RnV9xvhGvRiKfnl6HzRK9wehBph+il8FxS9KTeadx7Rcmf1GLPQ== + dependencies: + "@aws-crypto/crc32" "5.2.0" + "@smithy/types" "^3.5.0" + "@smithy/util-hex-encoding" "^3.0.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-browser@^3.0.5": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.10.tgz#ffca366a4edee5097be5a710f87627a5b2da5dec" + integrity sha512-1i9aMY6Pl/SmA6NjvidxnfBLHMPzhKu2BP148pEt5VwhMdmXn36PE2kWKGa9Hj8b0XGtCTRucpCncylevCtI7g== + dependencies: + "@smithy/eventstream-serde-universal" "^3.0.9" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-config-resolver@^3.0.3": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.7.tgz#1f352f384665f322e024a1396a7a2cca52fce9e3" + integrity sha512-eVzhGQBPEqXXYHvIUku0jMTxd4gDvenRzUQPTmKVWdRvp9JUCKrbAXGQRYiGxUYq9+cqQckRm0wq3kTWnNtDhw== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-node@^3.0.4": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.9.tgz#e985340093c2ca6587ae2fdd0663e6845fbe9463" + integrity sha512-JE0Guqvt0xsmfQ5y1EI342/qtJqznBv8cJqkHZV10PwC8GWGU5KNgFbQnsVCcX+xF+qIqwwfRmeWoJCjuOLmng== + dependencies: + "@smithy/eventstream-serde-universal" "^3.0.9" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/eventstream-serde-universal@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.9.tgz#1832b190a3018204e33487ba1f7f0f6e2fb0da34" + integrity sha512-bydfgSisfepCufw9kCEnWRxqxJFzX/o8ysXWv+W9F2FIyiaEwZ/D8bBKINbh4ONz3i05QJ1xE7A5OKYvgJsXaw== + dependencies: + "@smithy/eventstream-codec" "^3.1.6" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/fetch-http-handler@^3.2.4", "@smithy/fetch-http-handler@^3.2.9": + version "3.2.9" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz#8d5199c162a37caa37a8b6848eefa9ca58221a0b" + integrity sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A== + dependencies: + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" + "@smithy/util-base64" "^3.0.0" + tslib "^2.6.2" + +"@smithy/hash-node@^3.0.3": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.7.tgz#03b5a382fb588b8c2bac11b4fe7300aaf1661c88" + integrity sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw== + dependencies: + "@smithy/types" "^3.5.0" + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/invalid-dependency@^3.0.3": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.7.tgz#b36f258d94498f3c72ab6020091a66fc7cc16eda" + integrity sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/is-array-buffer@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111" + integrity sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA== + dependencies: + tslib "^2.6.2" + +"@smithy/is-array-buffer@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz#9a95c2d46b8768946a9eec7f935feaddcffa5e7a" + integrity sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ== + dependencies: + tslib "^2.6.2" + +"@smithy/md5-js@2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.7.tgz#4dea27b20b065857f953c74dbaa050003f48a374" + integrity sha512-2i2BpXF9pI5D1xekqUsgQ/ohv5+H//G9FlawJrkOJskV18PgJ8LiNbLiskMeYt07yAsSTZR7qtlcAaa/GQLWww== + dependencies: + "@smithy/types" "^2.3.1" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + +"@smithy/middleware-content-length@^3.0.5": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.9.tgz#fb613d1a6b8c91e828d11c0d7a0a8576dba89b8b" + integrity sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA== + dependencies: + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/middleware-endpoint@^3.1.0", "@smithy/middleware-endpoint@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz#222c9fa49c8af6ebf8bea8ab220d92d9b8c90d3d" + integrity sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ== + dependencies: + "@smithy/middleware-serde" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" + "@smithy/util-middleware" "^3.0.7" + tslib "^2.6.2" + +"@smithy/middleware-retry@^3.0.13", "@smithy/middleware-retry@^3.0.23": + version "3.0.23" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.23.tgz#ce5574e278dd14a7995afd5a4ed2a6c9891da8ed" + integrity sha512-x9PbGXxkcXIpm6L26qRSCC+eaYcHwybRmqU8LO/WM2RRlW0g8lz6FIiKbKgGvHuoK3dLZRiQVSQJveiCzwnA5A== + dependencies: + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/service-error-classification" "^3.0.7" + "@smithy/smithy-client" "^3.4.0" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" + tslib "^2.6.2" + uuid "^9.0.1" + +"@smithy/middleware-serde@^3.0.3", "@smithy/middleware-serde@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz#03f0dda75edffc4cc90ea422349cbfb82368efa7" + integrity sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/middleware-stack@^3.0.3", "@smithy/middleware-stack@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz#813fa7b47895ce0d085eac89c056d21b1e46e771" + integrity sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/node-config-provider@^3.1.4", "@smithy/node-config-provider@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz#2c1092040b4062eae0f7c9e121cc00ac6a77efee" + integrity sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q== + dependencies: + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/node-http-handler@^3.1.4", "@smithy/node-http-handler@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz#3c57c40d082c3bacac1e49955bd1240e8ccc40b2" + integrity sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ== + dependencies: + "@smithy/abort-controller" "^3.1.5" + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/property-provider@^3.1.3", "@smithy/property-provider@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.7.tgz#8a304a4b9110a067a93c784e4c11e175f82da379" + integrity sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/protocol-http@^4.1.0", "@smithy/protocol-http@^4.1.4": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.4.tgz#6940d652b1825bda2422163ec9baab552669a338" + integrity sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/querystring-builder@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz#8c443c65f4249ff1637088db1166d18411d41555" + integrity sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw== + dependencies: + "@smithy/types" "^3.5.0" + "@smithy/util-uri-escape" "^3.0.0" + tslib "^2.6.2" + +"@smithy/querystring-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz#936206d1e6da9d862384dae730b4bad042d6a948" + integrity sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/service-error-classification@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.7.tgz#5bab4ad802d30bd3fa52b8134f6c171582358226" + integrity sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA== + dependencies: + "@smithy/types" "^3.5.0" + +"@smithy/shared-ini-file-loader@^3.1.4", "@smithy/shared-ini-file-loader@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz#7a0bf5f20cfe8e0c4a36d8dcab8194d0d2ee958e" + integrity sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/signature-v4@^4.1.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.2.0.tgz#291f5a0e756cc251377e1e8af2a1f494e6173029" + integrity sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ== + dependencies: + "@smithy/is-array-buffer" "^3.0.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + "@smithy/util-hex-encoding" "^3.0.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-uri-escape" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/smithy-client@^3.1.11", "@smithy/smithy-client@^3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.4.0.tgz#ceffb92108a4ad60cbede3baf44ed224dc70b333" + integrity sha512-nOfJ1nVQsxiP6srKt43r2My0Gp5PLWCW2ASqUioxIiGmu6d32v4Nekidiv5qOmmtzIrmaD+ADX5SKHUuhReeBQ== + dependencies: + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + "@smithy/util-stream" "^3.1.9" + tslib "^2.6.2" + +"@smithy/types@^2.1.0", "@smithy/types@^2.2.2", "@smithy/types@^2.3.1": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.12.0.tgz#c44845f8ba07e5e8c88eda5aed7e6a0c462da041" + integrity sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== + dependencies: + tslib "^2.6.2" + +"@smithy/types@^3.3.0", "@smithy/types@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.5.0.tgz#9589e154c50d9c5d00feb7d818112ef8fc285d6e" + integrity sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q== + dependencies: + tslib "^2.6.2" + +"@smithy/url-parser@^3.0.3", "@smithy/url-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.7.tgz#9d7d7e4e38514bf75ade6e8a30d2300f3db17d1b" + integrity sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA== + dependencies: + "@smithy/querystring-parser" "^3.0.7" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/util-base64@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-3.0.0.tgz#f7a9a82adf34e27a72d0719395713edf0e493017" + integrity sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ== + dependencies: + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-body-length-browser@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz#86ec2f6256310b4845a2f064e2f571c1ca164ded" + integrity sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-body-length-node@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz#99a291bae40d8932166907fe981d6a1f54298a6d" + integrity sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA== + dependencies: + tslib "^2.6.2" + +"@smithy/util-buffer-from@^2.0.0", "@smithy/util-buffer-from@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b" + integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== + dependencies: + "@smithy/is-array-buffer" "^2.2.0" + tslib "^2.6.2" + +"@smithy/util-buffer-from@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz#559fc1c86138a89b2edaefc1e6677780c24594e3" + integrity sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA== + dependencies: + "@smithy/is-array-buffer" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-config-provider@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz#62c6b73b22a430e84888a8f8da4b6029dd5b8efe" + integrity sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-defaults-mode-browser@^3.0.13": + version "3.0.23" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.23.tgz#6920b473126ae8857a04dd6941793bbda12adc8b" + integrity sha512-Y07qslyRtXDP/C5aWKqxTPBl4YxplEELG3xRrz2dnAQ6Lq/FgNrcKWmV561nNaZmFH+EzeGOX3ZRMbU8p1T6Nw== + dependencies: + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.4.0" + "@smithy/types" "^3.5.0" + bowser "^2.11.0" + tslib "^2.6.2" + +"@smithy/util-defaults-mode-node@^3.0.13": + version "3.0.23" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.23.tgz#d03d21816e8b2f586ccf4a87cd0b1cc55b4d75e0" + integrity sha512-9Y4WH7f0vnDGuHUa4lGX9e2p+sMwODibsceSV6rfkZOvMC+BY3StB2LdO1NHafpsyHJLpwAgChxQ38tFyd6vkg== + dependencies: + "@smithy/config-resolver" "^3.0.9" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.4.0" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/util-endpoints@^2.0.5": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.3.tgz#7498151e9dc714bdd0c6339314dd2350fa4d250a" + integrity sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw== + dependencies: + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/util-hex-encoding@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz#0aa3515acd2b005c6d55675e377080a7c513b59e" + integrity sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA== + dependencies: + tslib "^2.5.0" + +"@smithy/util-hex-encoding@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz#32938b33d5bf2a15796cd3f178a55b4155c535e6" + integrity sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ== + dependencies: + tslib "^2.6.2" + +"@smithy/util-middleware@^3.0.3", "@smithy/util-middleware@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.7.tgz#770d09749b6d170a1641384a2e961487447446fa" + integrity sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA== + dependencies: + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/util-retry@^3.0.3", "@smithy/util-retry@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.7.tgz#694e0667574ffe9772f620b35d3c7286aced35e9" + integrity sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug== + dependencies: + "@smithy/service-error-classification" "^3.0.7" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@smithy/util-stream@^3.1.3", "@smithy/util-stream@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.9.tgz#d39656eae27696bdc5a3ec7c2f6b89c32dccd1ca" + integrity sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ== + dependencies: + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/types" "^3.5.0" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-hex-encoding" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-uri-escape@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz#e43358a78bf45d50bb736770077f0f09195b6f54" + integrity sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg== + dependencies: + tslib "^2.6.2" + +"@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== + dependencies: + "@smithy/util-buffer-from" "^2.0.0" + tslib "^2.5.0" + +"@smithy/util-utf8@^2.0.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5" + integrity sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A== + dependencies: + "@smithy/util-buffer-from" "^2.2.0" + tslib "^2.6.2" + +"@smithy/util-utf8@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-3.0.0.tgz#1a6a823d47cbec1fd6933e5fc87df975286d9d6a" + integrity sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA== + dependencies: + "@smithy/util-buffer-from" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-waiter@^3.1.2": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.6.tgz#c65870d0c802e33b96112fac5c4471b3bf2eeecb" + integrity sha512-xs/KAwWOeCklq8aMlnpk25LgxEYHKOEodfjfKclDMLcBJEVEKzDLxZxBQyztcuPJ7F54213NJS8PxoiHNMdItQ== + dependencies: + "@smithy/abort-controller" "^3.1.5" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + "@testing-library/dom@^8.0.0": version "8.13.0" resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.13.0.tgz#bc00bdd64c7d8b40841e27a70211399ad3af46f5" @@ -4708,31 +4047,16 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== -"@turf/boolean-clockwise@6.5.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz#34573ecc18f900080f00e4ff364631a8b1135794" - integrity sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw== - dependencies: - "@turf/helpers" "^6.5.0" - "@turf/invariant" "^6.5.0" - -"@turf/helpers@^6.5.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@turf/helpers/-/helpers-6.5.0.tgz#f79af094bd6b8ce7ed2bd3e089a8493ee6cae82e" - integrity sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw== - -"@turf/invariant@^6.5.0": - version "6.5.0" - resolved "https://registry.yarnpkg.com/@turf/invariant/-/invariant-6.5.0.tgz#970afc988023e39c7ccab2341bd06979ddc7463f" - integrity sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg== - dependencies: - "@turf/helpers" "^6.5.0" - "@types/aria-query@^4.2.0": version "4.2.2" resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== +"@types/aws-lambda@^8.10.134": + version "8.10.145" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.145.tgz#b2d31a987f4888e5553ff1819f57cafa475594d9" + integrity sha512-dtByW6WiFk5W5Jfgz1VM+YPA21xMXTuSFoLYIDY0L44jDLLflVPtZkYuu3/YxpGcvjzKFBZLU+GyKjR0HOYtyw== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.19" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" @@ -4777,11 +4101,6 @@ dependencies: "@babel/types" "^7.3.0" -"@types/cookie@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.3.3.tgz#85bc74ba782fb7aa3a514d11767832b0e3bc6803" - integrity sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow== - "@types/dompurify@^2.3.3": version "2.3.3" resolved "https://registry.yarnpkg.com/@types/dompurify/-/dompurify-2.3.3.tgz#c24c92f698f77ed9cc9d9fa7888f90cf2bfaa23f" @@ -4862,6 +4181,11 @@ "@types/parse5" "^6.0.3" "@types/tough-cookie" "*" +"@types/json-schema@^7.0.15": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + "@types/lodash.mergewith@4.6.6": version "4.6.6" resolved "https://registry.yarnpkg.com/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz#c4698f5b214a433ff35cb2c75ee6ec7f99d79f10" @@ -4874,14 +4198,6 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.182.tgz#05301a4d5e62963227eaafe0ce04dd77c54ea5c2" integrity sha512-/THyiqyQAP9AfARo4pF+aCGcyiQ94tX/Is2I7HofNRqoYLgN1PBoOWu2/zTA5zMxzP5EFutMtWtGAFRKUe961Q== -"@types/node-fetch@2.6.4": - version "2.6.4" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.4.tgz#1bc3a26de814f6bf466b25aeb1473fa1afe6a660" - integrity sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - "@types/node@*": version "17.0.29" resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.29.tgz#7f2e1159231d4a077bb660edab0fde373e375a3d" @@ -4983,6 +4299,11 @@ resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== +"@types/uuid@^9.0.0": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== + "@types/warning@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/warning/-/warning-3.0.0.tgz#0d2501268ad8f9962b740d387c4654f5f8e23e52" @@ -5065,17 +4386,6 @@ agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: dependencies: debug "4" -amazon-cognito-identity-js@6.3.13: - version "6.3.13" - resolved "https://registry.yarnpkg.com/amazon-cognito-identity-js/-/amazon-cognito-identity-js-6.3.13.tgz#887e42077c4bac9ac66be5a63d81325a7416c5cb" - integrity sha512-AOROAQHQYvXYnhzhB9L1cZdz+linq/xaPTBfXhvXsx1tyhbbzmA7HX8Ap3mKBPsjsG8UWfzDhdRCb7hmH3S14A== - dependencies: - "@aws-crypto/sha256-js" "1.2.2" - buffer "4.9.2" - fast-base64-decode "^1.0.0" - isomorphic-unfetch "^3.0.0" - js-cookie "^2.2.1" - ansi-escapes@^4.2.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" @@ -5189,24 +4499,19 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-amplify@^5.3.19: - version "5.3.19" - resolved "https://registry.yarnpkg.com/aws-amplify/-/aws-amplify-5.3.19.tgz#1d8ec76d3c43f0edb41df867b75fe01570d3c5b4" - integrity sha512-/Sbgow1Zfe5RDnKyVlNZblaDuphz2g7IPBF6w6NKnM1JfuVCREHb5FwKUPr5RzfH8JAdCh/OFiCqhLDk2wo7dw== - dependencies: - "@aws-amplify/analytics" "6.5.12" - "@aws-amplify/api" "5.4.12" - "@aws-amplify/auth" "5.6.12" - "@aws-amplify/cache" "5.1.18" - "@aws-amplify/core" "5.8.12" - "@aws-amplify/datastore" "4.7.12" - "@aws-amplify/geo" "2.3.12" - "@aws-amplify/interactions" "5.2.18" - "@aws-amplify/notifications" "1.6.13" - "@aws-amplify/predictions" "5.5.12" - "@aws-amplify/pubsub" "5.5.12" - "@aws-amplify/storage" "5.9.12" - tslib "^2.0.0" +aws-amplify@^6.6.4: + version "6.6.5" + resolved "https://registry.yarnpkg.com/aws-amplify/-/aws-amplify-6.6.5.tgz#d033d165d9e29fabcb2be79f81f9e5029d6bb755" + integrity sha512-m8NzejjZi5ASY9ynkeEZ1maM+F2Ho1vb4IyM5ZLDPIHz4kk1zOZPIuWAPUbOPu4Q3kDr0jvoBSpq/rfTqa630w== + dependencies: + "@aws-amplify/analytics" "7.0.52" + "@aws-amplify/api" "6.0.54" + "@aws-amplify/auth" "6.5.2" + "@aws-amplify/core" "6.4.5" + "@aws-amplify/datastore" "5.0.54" + "@aws-amplify/notifications" "2.0.52" + "@aws-amplify/storage" "6.6.10" + tslib "^2.5.0" aws-sdk@^2.224.1, aws-sdk@^2.346.0: version "2.1124.0" @@ -5238,15 +4543,6 @@ axe-core@~4.2.1: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.4.tgz#626cfbd1827985c5b20a9b9ae5bc3dbe8a3df490" integrity sha512-9AiDKFKUCWEQm1Kj4lcq7KFavLqSXdf2m/zJo+NVh4VXlW5iwXRJ6alkKmipCyYorsRnqsICH9XLubP1jBF+Og== -axios@^1.6.5: - version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - babel-jest@^26.6.3: version "26.6.3" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" @@ -5389,11 +4685,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-64@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base-64/-/base-64-1.0.0.tgz#09d0f2084e32a3fd08c2475b973788eee6ae8f4a" - integrity sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg== - base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -5534,7 +4825,7 @@ buffer@4.9.2: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0: +buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -5575,15 +4866,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -5796,11 +5078,6 @@ convert-source-map@^2.0.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== -cookie@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" @@ -6144,11 +5421,6 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -entities@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - entities@^4.2.0: version "4.3.1" resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.1.tgz#c34062a94c865c322f9d67b4384e4169bcede6a4" @@ -6283,11 +5555,6 @@ events@1.1.1: resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= -events@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - exec-sh@^0.3.2: version "0.3.6" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" @@ -6390,11 +5657,6 @@ extract-zip@^2.0.0: optionalDependencies: "@types/yauzl" "^2.9.1" -fast-base64-decode@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-base64-decode/-/fast-base64-decode-1.0.0.tgz#b434a0dd7d92b12b43f26819300d2dafb83ee418" - integrity sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q== - fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" @@ -6410,17 +5672,17 @@ fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fast-xml-parser@4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f" - integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g== +fast-xml-parser@4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz#86dbf3f18edf8739326447bcaac31b4ae7f6514f" + integrity sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw== dependencies: strnum "^1.0.5" -fast-xml-parser@^4.2.5: - version "4.3.6" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz#190f9d99097f0c8f2d3a0e681a10404afca052ff" - integrity sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw== +fast-xml-parser@^4.4.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.5.0.tgz#2882b7d01a6825dfdf909638f2de0256351def37" + integrity sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg== dependencies: strnum "^1.0.5" @@ -6445,11 +5707,6 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -fflate@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.3.tgz#288b034ff0e9c380eaa2feff48c787b8371b7fa5" - integrity sha512-0Zz1jOzJWERhyhsimS54VTqOteCNwRtIlh8isdL0AXLo0g7xNTfTL7oWrkmCnPhZGocKIkWHBistBrrpoNH3aw== - file-uri-to-path@2: version "2.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" @@ -6533,25 +5790,11 @@ focus-trap@^4.0.2: tabbable "^3.1.2" xtend "^4.0.1" -follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== - for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -7211,14 +6454,6 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isomorphic-unfetch@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" - integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== - dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" - istanbul-lib-coverage@^3.0.0: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" @@ -7763,10 +6998,10 @@ jmespath@0.16.0: resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== -js-cookie@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" - integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== +js-cookie@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc" + integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -7973,7 +7208,7 @@ lodash.snakecase@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8023,11 +7258,6 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -8428,11 +7658,6 @@ pac-resolver@^4.1.0: ip "^1.1.5" netmask "^2.0.1" -pako@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pako/-/pako-2.0.4.tgz#6cebc4bbb0b6c73b0d5b8d7e8476e2b2fbea576d" - integrity sha512-v8tweI900AUkZN6heMU/4Uy4cXRc2AYNRggVmTR+dEncawDJgCdLMximOVA2p4qO57WMynangsfGRb5WD6L1Bg== - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -8706,11 +7931,6 @@ querystringify@^2.1.1: resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - randombytes@2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" @@ -8830,20 +8050,6 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== -react-native-get-random-values@^1.4.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/react-native-get-random-values/-/react-native-get-random-values-1.7.2.tgz#60a9b6497d22e713779b71139f016a5fcec7ac04" - integrity sha512-28KRYGpIG/upV8+k/qFA+TwGW+yGjmtOHaCduJHpOQK1QUTyhiA6E2IgL4UvvU2dybeCTYFmUi9wcEQ0GiWe5g== - dependencies: - fast-base64-decode "^1.0.0" - -react-native-url-polyfill@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/react-native-url-polyfill/-/react-native-url-polyfill-1.3.0.tgz#c1763de0f2a8c22cc3e959b654c8790622b6ef6a" - integrity sha512-w9JfSkvpqqlix9UjDvJjm1EjSt652zVQ6iwCIj1cVVkwXf4jQhQgTNXY6EVTwuAmUjg6BC6k9RHCBynoLFo3IQ== - dependencies: - whatwg-url-without-unicode "8.0.0-3" - react-property@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/react-property/-/react-property-2.0.0.tgz#2156ba9d85fa4741faf1918b38efc1eae3c6a136" @@ -9142,6 +8348,13 @@ rsvp@^4.8.4: resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== +rxjs@^7.8.1: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== + dependencies: + tslib "^2.1.0" + safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -9753,7 +8966,7 @@ tsconfck@^3.0.3: resolved "https://registry.yarnpkg.com/tsconfck/-/tsconfck-3.0.3.tgz#d9bda0e87d05b1c360e996c9050473c7e6f8084f" integrity sha512-4t0noZX9t6GcPTfBAbIbbIU4pfpCwh0ueq3S4O/5qXI1VwK1outmxhe9dOiEWqMz3MW2LKgDTpqWV+37IWuVbA== -tslib@^1.0.0, tslib@^1.11.1, tslib@^1.8.0, tslib@^1.9.3: +tslib@^1.0.0: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -9763,6 +8976,11 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +tslib@^2.5.0, tslib@^2.6.2: + version "2.8.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.0.tgz#d124c86c3c05a40a91e6fdea4021bd31d377971b" + integrity sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA== + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -9792,7 +9010,7 @@ typescript@^4.6.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== -ulid@2.3.0: +ulid@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/ulid/-/ulid-2.3.0.tgz#93063522771a9774121a84d126ecd3eb9804071f" integrity sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw== @@ -9805,11 +9023,6 @@ unbzip2-stream@^1.3.3: buffer "^5.2.1" through "^2.3.8" -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== - unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -9843,14 +9056,6 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" -universal-cookie@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/universal-cookie/-/universal-cookie-4.0.4.tgz#06e8b3625bf9af049569ef97109b4bb226ad798d" - integrity sha512-lbRVHoOMtItjWbM7TwDLdl8wug7izB0tq3/YVKhT/ahB4VDvWMyvnADfnJI8y6fSvsjh51Ix7lTGC6Tn4rMPhw== - dependencies: - "@types/cookie" "^0.3.3" - cookie "^0.4.0" - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -9911,14 +9116,6 @@ url@0.10.3: punycode "1.3.2" querystring "0.2.0" -url@0.11.0, url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - use-callback-ref@^1.2.3, use-callback-ref@^1.2.5: version "1.3.0" resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5" @@ -9954,16 +9151,16 @@ uuid@3.3.2: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== -uuid@3.4.0, uuid@^3.0.0, uuid@^3.2.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.0.0, uuid@^8.3.2: +uuid@^8.0.0: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@^9.0.0, uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + v8-to-istanbul@^9.0.1: version "9.2.0" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" @@ -10026,11 +9223,6 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - webidl-conversions@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" @@ -10048,15 +9240,6 @@ whatwg-mimetype@^3.0.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== -whatwg-url-without-unicode@8.0.0-3: - version "8.0.0-3" - resolved "https://registry.yarnpkg.com/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz#ab6df4bf6caaa6c85a59f6e82c026151d4bb376b" - integrity sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig== - dependencies: - buffer "^5.4.3" - punycode "^2.1.1" - webidl-conversions "^5.0.0" - whatwg-url@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-10.0.0.tgz#37264f720b575b4a311bd4094ed8c760caaa05da" @@ -10239,31 +9422,6 @@ yup@^0.32.11: property-expr "^2.0.4" toposort "^2.0.2" -zen-observable-ts@0.8.19: - version "0.8.19" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.19.tgz#c094cd20e83ddb02a11144a6e2a89706946b5694" - integrity sha512-u1a2rpE13G+jSzrg3aiCqXU5tN2kw41b+cBZGmnc+30YimdkKiDj9bTowcB41eL77/17RF/h+393AuVgShyheQ== - dependencies: - tslib "^1.9.3" - zen-observable "^0.8.0" - -zen-observable@^0.7.0: - version "0.7.1" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.7.1.tgz#f84075c0ee085594d3566e1d6454207f126411b3" - integrity sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg== - -zen-observable@^0.8.0: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== - -zen-push@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/zen-push/-/zen-push-0.2.1.tgz#ddc33b90f66f9a84237d5f1893970f6be60c3c28" - integrity sha512-Qv4qvc8ZIue51B/0zmeIMxpIGDVhz4GhJALBvnKs/FRa2T7jy4Ori9wFwaHVt0zWV7MIFglKAHbgnVxVTw7U1w== - dependencies: - zen-observable "^0.7.0" - zustand@^4.5.2: version "4.5.2" resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.5.2.tgz#fddbe7cac1e71d45413b3682cdb47b48034c3848" diff --git a/tests/cypress/e2e/accessibility/admin.cy.js b/tests/cypress/e2e/accessibility/admin.cy.js index 5c519345d..7c29e60cb 100644 --- a/tests/cypress/e2e/accessibility/admin.cy.js +++ b/tests/cypress/e2e/accessibility/admin.cy.js @@ -2,6 +2,7 @@ describe("Admin Page - Accessibility Test", () => { it("is accessible on all device types for admin user", () => { cy.authenticate("adminUser"); cy.visit("/admin"); + cy.get("h1"); // ensure page loaded cy.testPageAccessibility(); }); }); diff --git a/tests/cypress/e2e/accessibility/help.cy.js b/tests/cypress/e2e/accessibility/help.cy.js index 28abcf0cc..199927187 100644 --- a/tests/cypress/e2e/accessibility/help.cy.js +++ b/tests/cypress/e2e/accessibility/help.cy.js @@ -3,6 +3,7 @@ describe("Help Page - Accessibility Test", () => { cy.authenticate("adminUser"); cy.visit("/help"); + cy.get("h1"); // ensure page loaded cy.location("pathname").should("match", /help/); cy.testPageAccessibility(); @@ -12,6 +13,7 @@ describe("Help Page - Accessibility Test", () => { cy.authenticate("stateUser"); cy.visit("/help"); + cy.get("h1"); // ensure page loaded cy.location("pathname").should("match", /help/); cy.testPageAccessibility(); diff --git a/tests/cypress/e2e/accessibility/home.cy.js b/tests/cypress/e2e/accessibility/home.cy.js index 9848da1de..b5f5307aa 100644 --- a/tests/cypress/e2e/accessibility/home.cy.js +++ b/tests/cypress/e2e/accessibility/home.cy.js @@ -1,18 +1,21 @@ describe("Home Page - Accessibility Test", () => { it("Is assessible when not logged in", () => { cy.visit("/"); + cy.get("h1"); // ensure page loaded cy.testPageAccessibility(); }); it("is accessible on all device types for admin user", () => { cy.authenticate("adminUser"); + cy.get("h1"); // ensure page loaded cy.testPageAccessibility(); }); it("is accessible on all device types for state user", () => { cy.authenticate("stateUser"); + cy.get("h1"); // ensure page loaded cy.testPageAccessibility(); }); }); diff --git a/tests/cypress/e2e/accessibility/profile.cy.js b/tests/cypress/e2e/accessibility/profile.cy.js index 17828c434..e92559ca2 100644 --- a/tests/cypress/e2e/accessibility/profile.cy.js +++ b/tests/cypress/e2e/accessibility/profile.cy.js @@ -3,6 +3,7 @@ describe("Profile Page - Accessibility Test", () => { cy.authenticate("adminUser"); cy.visit("/profile"); + cy.get("h1"); // ensure page loaded cy.location("pathname").should("match", /profile/); cy.testPageAccessibility(); @@ -12,6 +13,7 @@ describe("Profile Page - Accessibility Test", () => { cy.authenticate("stateUser"); cy.visit("/profile"); + cy.get("h1"); // ensure page loaded cy.location("pathname").should("match", /profile/); cy.testPageAccessibility(); From 690caf8ff85482a7e9159e7a7888bb82aaff21b3 Mon Sep 17 00:00:00 2001 From: Bangbay Siboliban Date: Fri, 1 Nov 2024 15:24:39 -0400 Subject: [PATCH 29/41] Improve error handling in seed script (#798) --- services/app-api/db/helpers.ts | 14 +- services/app-api/db/options.ts | 53 +++++++ services/app-api/db/seed.ts | 225 +++++++++++++---------------- tests/seeds/fixtures/banner.ts | 6 +- tests/seeds/fixtures/work-plan.ts | 15 +- tests/seeds/helpers.ts | 11 +- tests/seeds/options.ts | 231 +++++++++++++++++++++--------- tests/seeds/types.ts | 9 +- 8 files changed, 341 insertions(+), 223 deletions(-) diff --git a/services/app-api/db/helpers.ts b/services/app-api/db/helpers.ts index 15b707222..d9d990975 100644 --- a/services/app-api/db/helpers.ts +++ b/services/app-api/db/helpers.ts @@ -1,9 +1,19 @@ /* eslint-disable no-console */ -export const createdLog = (obj: any, type: string): void => { +export const createdLog = (obj: any, action: string, type: string): void => { const { id, submissionName } = obj; - console.log(`${type} created: ${submissionName} (${id})`); + if (id) { + console.log(`${action} ${type} created: ${submissionName} (${id})`); + } else { + console.log(`ℹ️ ${obj}`); + console.log( + `⚠️ Could not create ${action.toLowerCase()} ${type} for reporting period.` + ); + } }; export const expandedLog = (json: any): void => { console.log(JSON.stringify(json, null, 2)); }; + +export const generateReportingPeriod = (year: number, period: number) => + `${year} Period ${period}`; diff --git a/services/app-api/db/options.ts b/services/app-api/db/options.ts index 04527cfc5..34e5d24cd 100644 --- a/services/app-api/db/options.ts +++ b/services/app-api/db/options.ts @@ -2,8 +2,10 @@ import { Choice } from "prompts"; import { getSemiAnnualReportsByState, getWorkPlansByState, + state, } from "../../../tests/seeds/options"; import { SeedReportShape } from "../../../tests/seeds/types"; +import { generateReportingPeriod } from "./helpers"; export const workPlanChoices = async (): Promise => { try { @@ -28,3 +30,54 @@ export const semiAnnualReportChoices = async (): Promise => { process.exit(); } }; + +export const backToMenu = { + title: "Back to Menu", + value: "back", +}; + +export const generateChoices = ( + type: string, + year: number, + period: number +): Choice[] => { + const reportingPeriod = generateReportingPeriod(year, period); + + const choices = [ + { + title: `Create base ${type}: ${reportingPeriod}`, + value: `create${type}`, + }, + { + title: `Create filled ${type}: ${reportingPeriod}`, + value: `createFilled${type}`, + }, + { + title: `Create submitted ${type}: ${reportingPeriod}`, + value: `createSubmitted${type}`, + }, + { + title: `Create locked ${type}: ${reportingPeriod}`, + value: `createLocked${type}`, + }, + { + title: `Create archived ${type}: ${reportingPeriod}`, + value: `createArchived${type}`, + }, + { title: `Get ${type} by id`, value: `get${type}ById` }, + { + title: `Get ${type}s by state: ${state}`, + value: `get${type}sByState`, + }, + backToMenu, + ]; + + if (type === "WP") { + choices.splice(3, 0, { + title: `Create approved ${type}: ${reportingPeriod}`, + value: `createApproved${type}`, + }); + } + + return choices; +}; diff --git a/services/app-api/db/seed.ts b/services/app-api/db/seed.ts index fff6599a7..51e7ecd6d 100644 --- a/services/app-api/db/seed.ts +++ b/services/app-api/db/seed.ts @@ -1,11 +1,17 @@ /* eslint-disable no-console */ -import prompts, { Choice as PromptChoice, PromptObject } from "prompts"; -import { createdLog, expandedLog } from "./helpers"; -import { semiAnnualReportChoices, workPlanChoices } from "./options"; +import prompts, { Choice, PromptObject } from "prompts"; +import { createdLog, expandedLog, generateReportingPeriod } from "./helpers"; +import { + backToMenu, + generateChoices, + semiAnnualReportChoices, + workPlanChoices, +} from "./options"; import { currentYear } from "../../../tests/seeds/helpers"; import { bannerKey, createApprovedWorkPlan, + createArchivedSemiAnnualReport, createArchivedWorkPlan, createBanner, createFilledSemiAnnualReport, @@ -23,70 +29,24 @@ import { getWorkPlanById, getWorkPlansByState, loginSeedUsers, - state, } from "../../../tests/seeds/options"; -const seed = async (): Promise => { +const seed = async ( + chosenYear?: number, + chosenPeriod?: number +): Promise => { await loginSeedUsers(); - const wpIds: PromptChoice[] = await workPlanChoices(); - const sarIds: PromptChoice[] = await semiAnnualReportChoices(); + const wpIds: Choice[] = await workPlanChoices(); + const sarIds: Choice[] = await semiAnnualReportChoices(); - const entityChoices: PromptChoice[] = [ + const entityChoices: Choice[] = [ { title: "Work Plan (WP)", value: "WP" }, { title: "Semi-Annual Report (SAR)", value: "SAR" }, { title: "Banner", value: "banner" }, ]; - let reportYear = currentYear; - let reportPeriod = 1; - - const generateReportingPeriod = (year: number, period: number) => - `${year} Period ${period}`; - - const generateChoices = ( - type: string, - year: number, - period: number - ): PromptChoice[] => { - const reportingPeriod = generateReportingPeriod(year, period); - - const choices = [ - { - title: `Create base ${type}: ${reportingPeriod}`, - value: `create${type}`, - }, - { - title: `Create filled ${type}: ${reportingPeriod}`, - value: `createFilled${type}`, - }, - { - title: `Create submitted ${type}: ${reportingPeriod}`, - value: `createSubmitted${type}`, - }, - { - title: `Create locked ${type}: ${reportingPeriod}`, - value: `createLocked${type}`, - }, - { - title: `Create archived ${type}: ${reportingPeriod}`, - value: `createArchived${type}`, - }, - { title: `Get ${type} by id`, value: `get${type}ById` }, - { - title: `Get ${type}s by state: ${state}`, - value: `get${type}sByState`, - }, - ]; - - if (type === "WP") { - choices.splice(3, 0, { - title: `Create approved ${type}: ${reportingPeriod}`, - value: `createApproved${type}`, - }); - } - - return choices; - }; + let reportYear = chosenYear || currentYear; + let reportPeriod = chosenPeriod || 1; const questions: PromptObject[] = [ { @@ -95,58 +55,47 @@ const seed = async (): Promise => { message: "Type", choices: [ { - title: `Change Reporting Period: ${generateReportingPeriod( + title: `Change Reporting Year: ${reportYear}`, + value: "chooseReportingYear", + }, + { + title: `Change Reporting Period: ${reportPeriod}`, + value: "chooseReportingPeriod", + }, + { + title: `Create approved WP and filled SAR: ${generateReportingPeriod( reportYear, reportPeriod )}`, - value: "chooseReportingPeriod", + value: "createFilledSAR", }, - { title: "Create filled WP and filled SAR", value: "createFilledEach" }, ...entityChoices, ], }, { type: (prev: string) => - prev === "chooseReportingPeriod" ? "select" : null, - name: "reportingPeriod", - message: "Reporting Period", + prev === "chooseReportingYear" ? "select" : null, + name: "reportingYear", + message: "Reporting Year", choices: () => { return [ - { title: `${currentYear} Period 1`, value: "period1" }, - { title: `${currentYear} Period 2`, value: "period2" }, - { title: `${currentYear + 1} Period 1`, value: "period3" }, - { title: `${currentYear + 1} Period 2`, value: "period4" }, + { title: `${currentYear}`, value: `${currentYear}` }, + { title: `${currentYear + 1}`, value: `${currentYear + 1}` }, + { title: `${currentYear + 2}`, value: `${currentYear + 2}` }, + { title: `${currentYear + 3}`, value: `${currentYear + 3}` }, + { title: `${currentYear + 4}`, value: `${currentYear + 4}` }, ]; }, }, { type: (prev: string) => - ["period1", "period2", "period3", "period4"].includes(prev) - ? "select" - : null, - name: "type", - message: "Type", - choices: (prev: string) => { - reportYear = currentYear; - reportPeriod = 1; - - if (["period2", "period4"].includes(prev)) { - reportPeriod = 2; - } - - if (["period3", "period4"].includes(prev)) { - reportYear = currentYear + 1; - } - + prev === "chooseReportingPeriod" ? "select" : null, + name: "reportingPeriod", + message: "Reporting Period", + choices: () => { return [ - { - title: `Create filled WP and filled SAR: ${generateReportingPeriod( - reportYear, - reportPeriod - )}`, - value: "createFilledEach", - }, - ...entityChoices, + { title: "1", value: "1" }, + { title: "2", value: "2" }, ]; }, }, @@ -155,11 +104,7 @@ const seed = async (): Promise => { name: "task", message: "Task", choices: (prev: string) => { - return generateChoices( - prev, - reportYear, - reportPeriod - ) as PromptChoice[]; + return generateChoices(prev, reportYear, reportPeriod) as Choice[]; }, }, { @@ -176,6 +121,7 @@ const seed = async (): Promise => { title: `Delete Banner: ${bannerKey}`, value: "deleteBanner", }, + backToMenu, ], }, { @@ -193,7 +139,10 @@ const seed = async (): Promise => { choices: sarIds, }, { - type: "confirm", + type: (prev: string) => + Number.isInteger(parseInt(prev, 10)) || prev === "back" + ? null + : "confirm", name: "exit", message: "Exit?", }, @@ -204,6 +153,21 @@ const seed = async (): Promise => { answer: string | boolean ): Promise => { switch (prompt.name) { + case "reportingPeriod": + case "reportingYear": { + const answerInt = parseInt(answer as string, 10); + + if ([1, 2].includes(answerInt)) { + reportPeriod = answerInt; + } + + if (answerInt >= currentYear) { + reportYear = answerInt; + } + + seed(reportYear, reportPeriod); + break; + } case "workPlanId": expandedLog(await getWorkPlanById(answer as string)); break; @@ -212,7 +176,7 @@ const seed = async (): Promise => { break; case "exit": { if (answer === false) { - seed(); + seed(reportYear, reportPeriod); } break; } @@ -221,53 +185,54 @@ const seed = async (): Promise => { } switch (answer) { - case "createFilledEach": { + case "back": + seed(reportYear, reportPeriod); + break; + case "createFilledWP": { createdLog( await createFilledWorkPlan(reportYear, reportPeriod), - "Filled WP" - ); - createdLog( - await createFilledSemiAnnualReport(reportYear, reportPeriod), - "Filled SAR" + "Filled", + "WP" ); break; } case "createWP": { - createdLog(await createWorkPlan(reportYear, reportPeriod), "Base WP"); - break; - } - case "createFilledWP": { createdLog( - await createFilledWorkPlan(reportYear, reportPeriod), - "Filled WP" + await createWorkPlan(reportYear, reportPeriod), + "Base", + "WP" ); break; } case "createSubmittedWP": { createdLog( await createSubmittedWorkPlan(reportYear, reportPeriod), - "Submitted WP" + "Submitted", + "WP" ); break; } case "createApprovedWP": { createdLog( await createApprovedWorkPlan(reportYear, reportPeriod), - "Approved WP" + "Approved", + "WP" ); break; } case "createLockedWP": { createdLog( await createLockedWorkPlan(reportYear, reportPeriod), - "Locked WP" + "Locked", + "WP" ); break; } case "createArchivedWP": { createdLog( await createArchivedWorkPlan(reportYear, reportPeriod), - "Archived WP" + "Archived", + "WP" ); break; } @@ -277,28 +242,40 @@ const seed = async (): Promise => { case "createSAR": { createdLog( await createSemiAnnualReport(reportYear, reportPeriod), - "Base SAR" + "Base", + "SAR" ); break; } case "createFilledSAR": { createdLog( await createFilledSemiAnnualReport(reportYear, reportPeriod), - "Filled SAR" + "Filled", + "SAR" ); break; } case "createSubmittedSAR": { createdLog( await createSubmittedSemiAnnualReport(reportYear, reportPeriod), - "Submitted SAR" + "Submitted", + "SAR" ); break; } case "createLockedSAR": { createdLog( await createLockedSemiAnnualReport(reportYear, reportPeriod), - "Locked SAR" + "Locked", + "SAR" + ); + break; + } + case "createArchivedSAR": { + createdLog( + await createArchivedSemiAnnualReport(reportYear, reportPeriod), + "Archived", + "SAR" ); break; } @@ -306,16 +283,16 @@ const seed = async (): Promise => { expandedLog(await getSemiAnnualReportsByState()); break; case "createBanner": { - const { Item } = await createBanner(); - console.log(`Banner created: ${Item?.key}`); + await createBanner(); + console.log("Banner created."); break; } case "getBanner": expandedLog(await getBannerById()); break; case "deleteBanner": { - const { Key } = await deleteBannerById(); - console.log(`Banner deleted: ${Key?.key}`); + await deleteBannerById(); + console.log("Banner deleted."); break; } default: diff --git a/tests/seeds/fixtures/banner.ts b/tests/seeds/fixtures/banner.ts index 5fe1cd017..4fddc8a8c 100644 --- a/tests/seeds/fixtures/banner.ts +++ b/tests/seeds/fixtures/banner.ts @@ -1,8 +1,10 @@ import { faker } from "@faker-js/faker"; -import { SeedBannerDataShape } from "../types"; +import { SeedBannerShape } from "../types"; -export const newBanner = (key: string): SeedBannerDataShape => ({ +export const newBanner = (key: string): SeedBannerShape => ({ key, + createdAt: faker.date.past({ years: 1 }).getTime(), + lastAltered: faker.date.past({ years: 1 }).getTime(), title: faker.lorem.sentence(), description: faker.lorem.sentence(), startDate: faker.date.past({ years: 1 }).getTime(), diff --git a/tests/seeds/fixtures/work-plan.ts b/tests/seeds/fixtures/work-plan.ts index e5bffb104..75fea9d63 100644 --- a/tests/seeds/fixtures/work-plan.ts +++ b/tests/seeds/fixtures/work-plan.ts @@ -5,27 +5,22 @@ import { ReportStatus, ReportType, } from "../../../services/app-api/utils/types"; -import { - dateFormat, - quarterlyKeyValueGenerator, - randomReportPeriod, - randomReportYear, -} from "../helpers"; +import { dateFormat, quarterlyKeyValueGenerator } from "../helpers"; import { SeedFillReportShape, SeedNewReportShape } from "../types"; export const newWorkPlan = ( stateName: string, - reportYear?: number, - reportPeriod?: number + reportYear: number, + reportPeriod: number ): SeedNewReportShape => ({ metadata: { isComplete: false, lastAlteredBy: faker.person.fullName(), locked: false, previousRevisions: [], - reportPeriod: reportPeriod || randomReportPeriod, + reportPeriod: reportPeriod, reportType: ReportType.WP, - reportYear: reportYear || randomReportYear, + reportYear: reportYear, status: ReportStatus.NOT_STARTED, submissionCount: 0, submissionName: "Work Plan", diff --git a/tests/seeds/helpers.ts b/tests/seeds/helpers.ts index 13391ff1b..e3a11bbb0 100644 --- a/tests/seeds/helpers.ts +++ b/tests/seeds/helpers.ts @@ -115,8 +115,8 @@ const del = async ( }; try { - const response = await fetch(url, request); - return response.json(); + await fetch(url, request); + return {}; } catch (error) { errorResponse(error); } @@ -201,13 +201,6 @@ export const dateFormat: Intl.DateTimeFormat = new Intl.DateTimeFormat( export const currentYear: number = new Date().getFullYear(); -export const randomReportPeriod: number = faker.number.int({ min: 1, max: 2 }); - -export const randomReportYear: number = faker.number.int({ - min: currentYear, - max: currentYear + 1, -}); - export const quarterlyKeyValueGenerator = ( year: number, period: number, diff --git a/tests/seeds/options.ts b/tests/seeds/options.ts index 465281779..9015b715e 100644 --- a/tests/seeds/options.ts +++ b/tests/seeds/options.ts @@ -1,3 +1,4 @@ +import { ReportStatus } from "../../services/app-api/utils/types"; import { fillSemiAnnualReport, fillWorkPlan, @@ -28,25 +29,31 @@ export const loginSeedUsers = async (): Promise => { // Work Plan (WP) export const createWorkPlan = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number ): Promise => { const report = await postApi( `/reports/WP/${state}`, headers, - newWorkPlan(stateName, customReportYear, customReportPeriod) + newWorkPlan(stateName, year, period) ); return report; }; export const createFilledWorkPlan = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number ): Promise => { - const { id, reportYear, reportPeriod } = await createWorkPlan( - customReportYear, - customReportPeriod - ); + const { id } = await createWorkPlan(year, period); + const report = await updateFillWorkPlan(id); + return report; +}; + +export const updateFillWorkPlan = async ( + id: string +): Promise => { + const { reportYear, reportPeriod } = await getWorkPlanById(id); + const report = await putApi( `/reports/WP/${state}/${id}`, headers, @@ -56,13 +63,17 @@ export const createFilledWorkPlan = async ( }; export const createSubmittedWorkPlan = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number +): Promise => { + const { id } = await createFilledWorkPlan(year, period); + const report = await updateSubmitWorkPlan(id); + return report; +}; + +export const updateSubmitWorkPlan = async ( + id: string ): Promise => { - const { id } = await createFilledWorkPlan( - customReportYear, - customReportPeriod - ); const report = await postApi( `/reports/submit/WP/${state}/${id}`, headers, @@ -72,13 +83,17 @@ export const createSubmittedWorkPlan = async ( }; export const createApprovedWorkPlan = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number +): Promise => { + const { id } = await createSubmittedWorkPlan(year, period); + const report = await updateApproveWorkPlan(id); + return report; +}; + +export const updateApproveWorkPlan = async ( + id: string ): Promise => { - const { id } = await createSubmittedWorkPlan( - customReportYear, - customReportPeriod - ); const report = await putApi( `/reports/approve/WP/${state}/${id}`, adminHeaders, @@ -88,13 +103,17 @@ export const createApprovedWorkPlan = async ( }; export const createLockedWorkPlan = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number +): Promise => { + const { id } = await createApprovedWorkPlan(year, period); + const report = await updateLockWorkPlan(id); + return report; +}; + +export const updateLockWorkPlan = async ( + id: string ): Promise => { - const { id } = await createApprovedWorkPlan( - customReportYear, - customReportPeriod - ); const report = await putApi( `/reports/release/WP/${state}/${id}`, adminHeaders, @@ -104,13 +123,17 @@ export const createLockedWorkPlan = async ( }; export const createArchivedWorkPlan = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number +): Promise => { + const { id } = await createApprovedWorkPlan(year, period); + const report = await updateArchiveWorkPlan(id); + return report; +}; + +export const updateArchiveWorkPlan = async ( + id: string ): Promise => { - const { id } = await createApprovedWorkPlan( - customReportYear, - customReportPeriod - ); const report = await putApi( `/reports/archive/WP/${state}/${id}`, adminHeaders, @@ -119,6 +142,17 @@ export const createArchivedWorkPlan = async ( return report; }; +export const getWorkPlansByReportingPeriod = async ( + year: number, + period: number +): Promise => { + const wps = await getWorkPlansByState(); + const reports = wps.filter( + (w) => w.reportYear === year && w.reportPeriod === period + ); + return reports; +}; + export const getWorkPlanById = async (id: string): Promise => { const report = await getApi(`/reports/WP/${state}/${id}`, headers); return report; @@ -131,13 +165,28 @@ export const getWorkPlansByState = async (): Promise => { // Semi-Annual Report (SAR) export const createSemiAnnualReport = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number ): Promise => { - const { id } = await createApprovedWorkPlan( - customReportYear, - customReportPeriod - ); + let id; + + const newWP = await createApprovedWorkPlan(year, period); + + if (newWP.id) { + id = newWP.id; + } else { + const existingWPs = await getWorkPlansByReportingPeriod(year, period); + const approvedWPs = existingWPs.filter( + (w) => w.status === ReportStatus.APPROVED + ); + + if (approvedWPs.length === 0) { + return "No approved WP available for this SAR." as unknown as SeedReportShape; + } + + id = approvedWPs[0].id; + } + const wp = await getWorkPlanById(id); const report = await postApi( @@ -150,31 +199,50 @@ export const createSemiAnnualReport = async ( }; export const createFilledSemiAnnualReport = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number ): Promise => { - const sar = await createSemiAnnualReport( - customReportYear, - customReportPeriod - ); + const sar = await createSemiAnnualReport(year, period); + + if (sar.id) { + const report = await updateFillSemiAnnualReport(sar.id); + return report; + } + + // Error message + return sar; +}; +export const updateFillSemiAnnualReport = async ( + id: string +): Promise => { + const sar = await getSemiAnnualReportById(id); const report = await putApi( - `/reports/SAR/${state}/${sar.id}`, + `/reports/SAR/${state}/${id}`, headers, fillSemiAnnualReport(sar) ); - return report; }; export const createSubmittedSemiAnnualReport = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number +): Promise => { + const sar = await createFilledSemiAnnualReport(year, period); + + if (sar.id) { + const report = await updateSubmitSemiAnnualReport(sar.id); + return report; + } + + // Error message + return sar; +}; + +export const updateSubmitSemiAnnualReport = async ( + id: string ): Promise => { - const { id } = await createFilledSemiAnnualReport( - customReportYear, - customReportPeriod - ); const report = await postApi( `/reports/submit/SAR/${state}/${id}`, headers, @@ -184,13 +252,23 @@ export const createSubmittedSemiAnnualReport = async ( }; export const createLockedSemiAnnualReport = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number +): Promise => { + const sar = await createFilledSemiAnnualReport(year, period); + + if (sar.id) { + const report = await updateLockSemiAnnualReport(sar.id); + return report; + } + + // Error message + return sar; +}; + +export const updateLockSemiAnnualReport = async ( + id: string ): Promise => { - const { id } = await createFilledSemiAnnualReport( - customReportYear, - customReportPeriod - ); const report = await putApi( `/reports/release/SAR/${state}/${id}`, adminHeaders, @@ -200,13 +278,23 @@ export const createLockedSemiAnnualReport = async ( }; export const createArchivedSemiAnnualReport = async ( - customReportYear?: number, - customReportPeriod?: number + year: number, + period: number +): Promise => { + const sar = await createFilledSemiAnnualReport(year, period); + + if (sar.id) { + const report = await updateArchiveSemiAnnualReport(sar.id); + return report; + } + + // Error message + return sar; +}; + +export const updateArchiveSemiAnnualReport = async ( + id: string ): Promise => { - const { id } = await createFilledSemiAnnualReport( - customReportYear, - customReportPeriod - ); const report = await putApi( `/reports/archive/SAR/${state}/${id}`, adminHeaders, @@ -242,11 +330,14 @@ export const createBanner = async (): Promise => { }; export const getBannerById = async (): Promise => { - const banner = await getApi(`/banners/${bannerKey}`, headers); - return banner; + try { + const banner = await getApi(`/banners/${bannerKey}`, adminHeaders); + return banner; + } catch { + return {} as SeedBannerShape; + } }; -export const deleteBannerById = async (): Promise => { - const banner = await deleteApi(`/banners/${bannerKey}`, adminHeaders); - return banner; +export const deleteBannerById = async (): Promise => { + await deleteApi(`/banners/${bannerKey}`, adminHeaders); }; diff --git a/tests/seeds/types.ts b/tests/seeds/types.ts index 5778af048..c6705ac4d 100644 --- a/tests/seeds/types.ts +++ b/tests/seeds/types.ts @@ -38,15 +38,12 @@ export type SeedReportShape = ReportMetadataShape & { fieldData: ReportFieldData; }; -export type SeedBannerDataShape = { +export type SeedBannerShape = { key: string; + createdAt: number; + lastAltered: number; title: string; description: string; startDate: number; endDate: number; }; - -export type SeedBannerShape = { - Item?: SeedBannerDataShape; - Key?: SeedBannerDataShape; -}; From 65b8b24aaf72bdebe94e0b56148d44e2f61cf8b3 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Thu, 7 Nov 2024 08:36:52 -0500 Subject: [PATCH 30/41] [Snyk] Upgrade sass from 1.79.4 to 1.79.5 (#800) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 129 +++++++++++++++++++++++++++++++++-- 2 files changed, 126 insertions(+), 5 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 89b6de688..e3ff35256 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -36,7 +36,7 @@ "react-icons": "^4.12.0", "react-router-dom": "6.26.2", "react-uuid": "^1.0.3", - "sass": "^1.79.1", + "sass": "^1.79.5", "vite": "^5.4.7", "vite-tsconfig-paths": "^4.3.2", "yup": "^0.32.11", diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index abd9d564e..af3f0d9d0 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -3364,6 +3364,95 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@parcel/watcher-android-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz#e32d3dda6647791ee930556aee206fcd5ea0fb7a" + integrity sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ== + +"@parcel/watcher-darwin-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz#0d9e680b7e9ec1c8f54944f1b945aa8755afb12f" + integrity sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw== + +"@parcel/watcher-darwin-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz#f9f1d5ce9d5878d344f14ef1856b7a830c59d1bb" + integrity sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA== + +"@parcel/watcher-freebsd-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz#2b77f0c82d19e84ff4c21de6da7f7d096b1a7e82" + integrity sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw== + +"@parcel/watcher-linux-arm-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz#92ed322c56dbafa3d2545dcf2803334aee131e42" + integrity sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA== + +"@parcel/watcher-linux-arm-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz#cd48e9bfde0cdbbd2ecd9accfc52967e22f849a4" + integrity sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA== + +"@parcel/watcher-linux-arm64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz#7b81f6d5a442bb89fbabaf6c13573e94a46feb03" + integrity sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA== + +"@parcel/watcher-linux-arm64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz#dcb8ff01077cdf59a18d9e0a4dff7a0cfe5fd732" + integrity sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q== + +"@parcel/watcher-linux-x64-glibc@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz#2e254600fda4e32d83942384d1106e1eed84494d" + integrity sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw== + +"@parcel/watcher-linux-x64-musl@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz#01fcea60fedbb3225af808d3f0a7b11229792eef" + integrity sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA== + +"@parcel/watcher-win32-arm64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz#87cdb16e0783e770197e52fb1dc027bb0c847154" + integrity sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig== + +"@parcel/watcher-win32-ia32@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz#778c39b56da33e045ba21c678c31a9f9d7c6b220" + integrity sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA== + +"@parcel/watcher-win32-x64@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz#33873876d0bbc588aacce38e90d1d7480ce81cb7" + integrity sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw== + +"@parcel/watcher@^2.4.1": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.5.0.tgz#5c88818b12b8de4307a9d3e6dc3e28eba0dfbd10" + integrity sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.5.0" + "@parcel/watcher-darwin-arm64" "2.5.0" + "@parcel/watcher-darwin-x64" "2.5.0" + "@parcel/watcher-freebsd-x64" "2.5.0" + "@parcel/watcher-linux-arm-glibc" "2.5.0" + "@parcel/watcher-linux-arm-musl" "2.5.0" + "@parcel/watcher-linux-arm64-glibc" "2.5.0" + "@parcel/watcher-linux-arm64-musl" "2.5.0" + "@parcel/watcher-linux-x64-glibc" "2.5.0" + "@parcel/watcher-linux-x64-musl" "2.5.0" + "@parcel/watcher-win32-arm64" "2.5.0" + "@parcel/watcher-win32-ia32" "2.5.0" + "@parcel/watcher-win32-x64" "2.5.0" + "@popperjs/core@^2.4.4", "@popperjs/core@^2.9.3": version "2.11.5" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.5.tgz#db5a11bf66bdab39569719555b0f76e138d7bd64" @@ -5299,6 +5388,11 @@ depd@2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -6361,6 +6455,11 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -6371,6 +6470,13 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -7305,6 +7411,14 @@ micromatch@^4.0.4: braces "^3.0.3" picomatch "^4.0.2" +micromatch@^4.0.5: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -7426,6 +7540,11 @@ no-scroll@^2.0.0: resolved "https://registry.yarnpkg.com/no-scroll/-/no-scroll-2.1.1.tgz#f37e08cb159b75a5bdbfc0a87cd9223e120e6e27" integrity sha512-YTzGAJOo/B6hkodeT5SKKHpOhAzjMfkUCCXjLJwjWk2F4/InIg+HbdH9kmT7bKpleDuqLZDTRy2OdNtAj0IVyQ== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + node-fetch@^2.6.1: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -8392,14 +8511,16 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sass@^1.79.1: - version "1.79.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.4.tgz#f9c45af35fbeb53d2c386850ec842098d9935267" - integrity sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg== +sass@^1.79.5: + version "1.80.6" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.80.6.tgz#5d0aa55763984effe41e40019c9571ab73e6851f" + integrity sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg== dependencies: chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" + optionalDependencies: + "@parcel/watcher" "^2.4.1" sax@1.2.1: version "1.2.1" From d883c65104140228352c1e3d6095b307704dde46 Mon Sep 17 00:00:00 2001 From: Jessica Eldredge Date: Tue, 12 Nov 2024 09:47:58 -0500 Subject: [PATCH 31/41] knock out these aws-sdk upgrades (#802) --- services/database/package.json | 6 +- services/database/yarn.lock | 1371 +++++++++++++++++--------------- 2 files changed, 740 insertions(+), 637 deletions(-) diff --git a/services/database/package.json b/services/database/package.json index 5ce85987a..29e51497e 100644 --- a/services/database/package.json +++ b/services/database/package.json @@ -14,8 +14,8 @@ "serverless-dynamodb": "^0.2.53" }, "dependencies": { - "@aws-sdk/client-dynamodb": "^3.662.0", - "@aws-sdk/client-s3": "^3.662.0", - "@aws-sdk/lib-dynamodb": "^3.662.0" + "@aws-sdk/client-dynamodb": "^3.667.0", + "@aws-sdk/client-s3": "^3.667.0", + "@aws-sdk/lib-dynamodb": "^3.667.0" } } diff --git a/services/database/yarn.lock b/services/database/yarn.lock index 8009b02ee..ecc7de6f0 100644 --- a/services/database/yarn.lock +++ b/services/database/yarn.lock @@ -120,118 +120,119 @@ tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-dynamodb@^3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.662.0.tgz#462c8155eb2cc38f894a87c4f06d2371d4bf6b1b" - integrity sha512-d5t6hDQkVYqRvp6Cf6WygbseY8gln7Ca/tI4+1B6JXSl2UzffX5ovx2SOjNEPlyGGtZYIiOfqOnKnFlaj0+Gxg== +"@aws-sdk/client-dynamodb@^3.667.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.686.0.tgz#8070b6905e951c4c5eba64d87057aeb5dc31d93f" + integrity sha512-h5re3MsCcKFRvUg+oFJgr5ZjvbLwn6CQguMFh6j3KOggHgsXnrWYNBGXb6+EfvuIH8QHt8XrBIGspvKyb/k0jA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.662.0" - "@aws-sdk/client-sts" "3.662.0" - "@aws-sdk/core" "3.662.0" - "@aws-sdk/credential-provider-node" "3.662.0" - "@aws-sdk/middleware-endpoint-discovery" "3.662.0" - "@aws-sdk/middleware-host-header" "3.662.0" - "@aws-sdk/middleware-logger" "3.662.0" - "@aws-sdk/middleware-recursion-detection" "3.662.0" - "@aws-sdk/middleware-user-agent" "3.662.0" - "@aws-sdk/region-config-resolver" "3.662.0" - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-endpoints" "3.662.0" - "@aws-sdk/util-user-agent-browser" "3.662.0" - "@aws-sdk/util-user-agent-node" "3.662.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.7" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.22" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/client-sso-oidc" "3.686.0" + "@aws-sdk/client-sts" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-endpoint-discovery" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.22" - "@smithy/util-defaults-mode-node" "^3.0.22" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.6" + "@smithy/util-waiter" "^3.1.7" + "@types/uuid" "^9.0.1" tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-s3@^3.662.0": - version "3.663.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.663.0.tgz#02ee62efd49a11aaae66e805dd446f3f2ea43fab" - integrity sha512-XWoy6wglrxFngdswGbccR7cwmafe3ycx2/vIRDuVnIeSYdj/PgYACBt5JEM5NEzW26kFtlJpeN9hUH1i6tyfuQ== +"@aws-sdk/client-s3@^3.667.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.686.0.tgz#4079406b60856445bdfb2f5544b433d6c7813a09" + integrity sha512-FE/xDZ529Xr+pOyLk8Ilc6sabb2b/K+QgSqS7ZsKcRuuHcKm6/h9tU1/U/F908IFiLmi3pI9i7Jl9Uoj7XlPmw== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.662.0" - "@aws-sdk/client-sts" "3.662.0" - "@aws-sdk/core" "3.662.0" - "@aws-sdk/credential-provider-node" "3.662.0" - "@aws-sdk/middleware-bucket-endpoint" "3.662.0" - "@aws-sdk/middleware-expect-continue" "3.662.0" - "@aws-sdk/middleware-flexible-checksums" "3.662.0" - "@aws-sdk/middleware-host-header" "3.662.0" - "@aws-sdk/middleware-location-constraint" "3.662.0" - "@aws-sdk/middleware-logger" "3.662.0" - "@aws-sdk/middleware-recursion-detection" "3.662.0" - "@aws-sdk/middleware-sdk-s3" "3.662.0" - "@aws-sdk/middleware-ssec" "3.662.0" - "@aws-sdk/middleware-user-agent" "3.662.0" - "@aws-sdk/region-config-resolver" "3.662.0" - "@aws-sdk/signature-v4-multi-region" "3.662.0" - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-endpoints" "3.662.0" - "@aws-sdk/util-user-agent-browser" "3.662.0" - "@aws-sdk/util-user-agent-node" "3.662.0" - "@aws-sdk/xml-builder" "3.662.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.7" - "@smithy/eventstream-serde-browser" "^3.0.10" - "@smithy/eventstream-serde-config-resolver" "^3.0.7" - "@smithy/eventstream-serde-node" "^3.0.9" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-blob-browser" "^3.1.6" - "@smithy/hash-node" "^3.0.7" - "@smithy/hash-stream-node" "^3.1.6" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/md5-js" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.22" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/client-sso-oidc" "3.686.0" + "@aws-sdk/client-sts" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-bucket-endpoint" "3.686.0" + "@aws-sdk/middleware-expect-continue" "3.686.0" + "@aws-sdk/middleware-flexible-checksums" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-location-constraint" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-sdk-s3" "3.686.0" + "@aws-sdk/middleware-ssec" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/signature-v4-multi-region" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@aws-sdk/xml-builder" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/eventstream-serde-browser" "^3.0.11" + "@smithy/eventstream-serde-config-resolver" "^3.0.8" + "@smithy/eventstream-serde-node" "^3.0.10" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-blob-browser" "^3.1.7" + "@smithy/hash-node" "^3.0.8" + "@smithy/hash-stream-node" "^3.1.7" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/md5-js" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.22" - "@smithy/util-defaults-mode-node" "^3.0.22" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" - "@smithy/util-stream" "^3.1.9" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" + "@smithy/util-stream" "^3.2.1" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.6" + "@smithy/util-waiter" "^3.1.7" tslib "^2.6.2" "@aws-sdk/client-sso-oidc@3.616.0": @@ -279,48 +280,48 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso-oidc@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.662.0.tgz#f2816f674b4125ff900435cc8b7fadc227455c81" - integrity sha512-YZrH0sftdmjvEIY8u0LCrfEhyaMVpN0+K0K9WsUrFRMZ7DK6nB9YD1f5EaKUN5UjNw5S7gbjSdI8neSCoELjhw== +"@aws-sdk/client-sso-oidc@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.686.0.tgz#9cba2e47d80b0e73ab201eee6e98c3a00dc164b0" + integrity sha512-bV8yw1tpEj9WOVEnIJTcHPmTqikGccvh9RCg9ohc5DVKLajt/pUF4b+8dDyqNrEijUqlpDDwpSnh1GFhfe298A== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.662.0" - "@aws-sdk/credential-provider-node" "3.662.0" - "@aws-sdk/middleware-host-header" "3.662.0" - "@aws-sdk/middleware-logger" "3.662.0" - "@aws-sdk/middleware-recursion-detection" "3.662.0" - "@aws-sdk/middleware-user-agent" "3.662.0" - "@aws-sdk/region-config-resolver" "3.662.0" - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-endpoints" "3.662.0" - "@aws-sdk/util-user-agent-browser" "3.662.0" - "@aws-sdk/util-user-agent-node" "3.662.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.7" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.22" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.22" - "@smithy/util-defaults-mode-node" "^3.0.22" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -368,47 +369,47 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.662.0.tgz#43c9238799a2271e3652089bcddf105752fdacea" - integrity sha512-4j3+eNSnNblcIYCJrsRRdyXFjAWGpGa7s7pdIyDMLwtYA7AKNlnlyQV14jtezhMrN2j6qZ7zZmnwEyFGipgfWA== +"@aws-sdk/client-sso@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.686.0.tgz#837e9c7af186d2f3f1970f639445463f2ebcfa9e" + integrity sha512-D8huL2BSHNP9QdQrqPcx4DCJXcG/vrPimNbymgCBgnYyS1HNs11Hu27ZPrbWCZFC8n/bvfXGXOhm8WAHOi4Vtw== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.662.0" - "@aws-sdk/middleware-host-header" "3.662.0" - "@aws-sdk/middleware-logger" "3.662.0" - "@aws-sdk/middleware-recursion-detection" "3.662.0" - "@aws-sdk/middleware-user-agent" "3.662.0" - "@aws-sdk/region-config-resolver" "3.662.0" - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-endpoints" "3.662.0" - "@aws-sdk/util-user-agent-browser" "3.662.0" - "@aws-sdk/util-user-agent-node" "3.662.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.7" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.22" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.22" - "@smithy/util-defaults-mode-node" "^3.0.22" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -458,49 +459,49 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sts@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.662.0.tgz#8d35b7d25c813e3b2ba0d8efd42d9e61823e088f" - integrity sha512-RjiXvfW3a36ybHuzYuZ6ZgddYiENiXLDGC3tlZMsKWuoVQNeoh2grx1wxUA6e4ajAIqJLXs5dAYTSXzGaAqHTA== +"@aws-sdk/client-sts@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.686.0.tgz#9ef94c56ec3379d2bb23e717cfb9b2095de65e1a" + integrity sha512-WVyOYdK3w7RhK6UrA2MY8KPIbcZ88BGIoKmRhcOXdIUC8CLL1UIECgdRthFXOU+MBqDPFS+VeF+COk0CpRhE8Q== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.662.0" - "@aws-sdk/core" "3.662.0" - "@aws-sdk/credential-provider-node" "3.662.0" - "@aws-sdk/middleware-host-header" "3.662.0" - "@aws-sdk/middleware-logger" "3.662.0" - "@aws-sdk/middleware-recursion-detection" "3.662.0" - "@aws-sdk/middleware-user-agent" "3.662.0" - "@aws-sdk/region-config-resolver" "3.662.0" - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-endpoints" "3.662.0" - "@aws-sdk/util-user-agent-browser" "3.662.0" - "@aws-sdk/util-user-agent-node" "3.662.0" - "@smithy/config-resolver" "^3.0.9" - "@smithy/core" "^2.4.7" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/hash-node" "^3.0.7" - "@smithy/invalid-dependency" "^3.0.7" - "@smithy/middleware-content-length" "^3.0.9" - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.22" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" + "@aws-sdk/client-sso-oidc" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-node" "3.686.0" + "@aws-sdk/middleware-host-header" "3.686.0" + "@aws-sdk/middleware-logger" "3.686.0" + "@aws-sdk/middleware-recursion-detection" "3.686.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/region-config-resolver" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@aws-sdk/util-user-agent-browser" "3.686.0" + "@aws-sdk/util-user-agent-node" "3.686.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/core" "^2.5.1" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/hash-node" "^3.0.8" + "@smithy/invalid-dependency" "^3.0.8" + "@smithy/middleware-content-length" "^3.0.10" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-retry" "^3.0.25" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.22" - "@smithy/util-defaults-mode-node" "^3.0.22" - "@smithy/util-endpoints" "^2.1.3" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/util-defaults-mode-browser" "^3.0.25" + "@smithy/util-defaults-mode-node" "^3.0.25" + "@smithy/util-endpoints" "^2.1.4" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -517,19 +518,20 @@ fast-xml-parser "4.2.5" tslib "^2.6.2" -"@aws-sdk/core@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.662.0.tgz#93764660c9fabbc10e77ddcde283f088e22bebc3" - integrity sha512-w64Fa4dsgM8vN7Z+QPR3n+aAl5GXThQRH8deT/iF1rLrzfq7V8xxACJ/CLVaxrZMZUPUUgG7DUAo95nXFWmGjA== +"@aws-sdk/core@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.686.0.tgz#106a3733c250094db15ba765386db4643f5613b6" + integrity sha512-Xt3DV4DnAT3v2WURwzTxWQK34Ew+iiLzoUoguvLaZrVMFOqMMrwVjP+sizqIaHp1j7rGmFcN5I8saXnsDLuQLA== dependencies: - "@smithy/core" "^2.4.7" - "@smithy/node-config-provider" "^3.1.8" + "@aws-sdk/types" "3.686.0" + "@smithy/core" "^2.5.1" + "@smithy/node-config-provider" "^3.1.9" "@smithy/property-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.4" + "@smithy/protocol-http" "^4.1.5" "@smithy/signature-v4" "^4.2.0" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/util-middleware" "^3.0.7" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/util-middleware" "^3.0.8" fast-xml-parser "4.4.1" tslib "^2.6.2" @@ -543,14 +545,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.662.0.tgz#fe58b29abefd0fa968f79c7e7d15381009945a75" - integrity sha512-Dgwb0c/FH4xT5QZZFdLTFmCkdG3woXIAgLx5HCoH9Ty5G7T8keHOU9Jm4Vpe2ZJXL7JJHlLakGS65+bgXTuLSQ== +"@aws-sdk/credential-provider-env@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.686.0.tgz#71ce2df0be065dacddd873d1be7426bc8c6038ec" + integrity sha512-osD7lPO8OREkgxPiTWmA1i6XEmOth1uW9HWWj/+A2YGCj1G/t2sHu931w4Qj9NWHYZtbTTXQYVRg+TErALV7nQ== dependencies: - "@aws-sdk/types" "3.662.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/credential-provider-http@3.616.0": @@ -568,19 +571,20 @@ "@smithy/util-stream" "^3.1.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.662.0.tgz#02e3e97e28ec1bb99bdd91ddc9df5d48e1a31b42" - integrity sha512-Wnle/uJI4Ku9ABJHof9sio28VlaSbF3jVQKTSVCJftvbKELlFOlY5aXSjtu0wwcJqDS5r78N5KM7aARUJES+DA== +"@aws-sdk/credential-provider-http@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.686.0.tgz#fe84ea67fea6bb61effc0f10b99a0c3e9378d6c3" + integrity sha512-xyGAD/f3vR/wssUiZrNFWQWXZvI4zRm2wpHhoHA1cC2fbRMNFYtFn365yw6dU7l00ZLcdFB1H119AYIUZS7xbw== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/node-http-handler" "^3.2.4" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/node-http-handler" "^3.2.5" "@smithy/property-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/util-stream" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/util-stream" "^3.2.1" tslib "^2.6.2" "@aws-sdk/credential-provider-ini@3.616.0": @@ -600,21 +604,22 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.662.0.tgz#505e37298cc6e2909020c25d555bf6b6d3f4cbdc" - integrity sha512-jk+A5B0NRYG4KrjJ8ef1+r9bFjhpwUm/A9grJmp3JOwcHKXvI2Gy9BXNqfqqVgrK0Gns+WyhJZy6rsRaC+v1oQ== +"@aws-sdk/credential-provider-ini@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.686.0.tgz#41679c5845a26a003ffaeaaf4e2f557e7431ee41" + integrity sha512-90yr47QsduNiuVizMaJ2GctXZfp/z6s9eSk8ryMxMEJ2zJtaQHmJXIxaNnXj5Kh7V+HhCK7rYu58eyhZvz2Seg== dependencies: - "@aws-sdk/credential-provider-env" "3.662.0" - "@aws-sdk/credential-provider-http" "3.662.0" - "@aws-sdk/credential-provider-process" "3.662.0" - "@aws-sdk/credential-provider-sso" "3.662.0" - "@aws-sdk/credential-provider-web-identity" "3.662.0" - "@aws-sdk/types" "3.662.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/credential-provider-env" "3.686.0" + "@aws-sdk/credential-provider-http" "3.686.0" + "@aws-sdk/credential-provider-process" "3.686.0" + "@aws-sdk/credential-provider-sso" "3.686.0" + "@aws-sdk/credential-provider-web-identity" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/credential-provider-imds" "^3.2.4" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/credential-provider-node@3.616.0": @@ -635,22 +640,22 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.662.0.tgz#086aa57b4fbca4701566f9ac88d59aa67658a5f8" - integrity sha512-2O9wjxdLcU1b+bWVkp3YYbPHo15SU3pW4KfWTca5bB/C01i1eqiHnwsOFz/WKPYYKNj0FhXtJJjeDQLtNFYI8A== +"@aws-sdk/credential-provider-node@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.686.0.tgz#118c10e5fde68d02fb4acaa5bfc75d3620b95ed2" + integrity sha512-d5etJJD5rE3ALxrZag80EuFYI+tmJrS4E4dvFNRCosVFKvIC89VVpVY0W+OaA0J+D4FD3OzBwxan31BQAW3IyA== dependencies: - "@aws-sdk/credential-provider-env" "3.662.0" - "@aws-sdk/credential-provider-http" "3.662.0" - "@aws-sdk/credential-provider-ini" "3.662.0" - "@aws-sdk/credential-provider-process" "3.662.0" - "@aws-sdk/credential-provider-sso" "3.662.0" - "@aws-sdk/credential-provider-web-identity" "3.662.0" - "@aws-sdk/types" "3.662.0" + "@aws-sdk/credential-provider-env" "3.686.0" + "@aws-sdk/credential-provider-http" "3.686.0" + "@aws-sdk/credential-provider-ini" "3.686.0" + "@aws-sdk/credential-provider-process" "3.686.0" + "@aws-sdk/credential-provider-sso" "3.686.0" + "@aws-sdk/credential-provider-web-identity" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/credential-provider-imds" "^3.2.4" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/credential-provider-process@3.614.0": @@ -664,15 +669,16 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.662.0.tgz#2c9fef18cffc827c26b599fb2a9dfb812ca1409e" - integrity sha512-1QUdtr/JiuvRjVgA8enpgCwjq7Eud8eVUT0i/vpWuFp5TV2FFq/8BD3GBkesTdy4Ylms6QVGf7J6INdfUWQEmw== +"@aws-sdk/credential-provider-process@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.686.0.tgz#7b02591d9b81fb16288618ce23d3244496c1b538" + integrity sha512-sXqaAgyzMOc+dm4CnzAR5Q6S9OWVHyZjLfW6IQkmGjqeQXmZl24c4E82+w64C+CTkJrFLzH1VNOYp1Hy5gE6Qw== dependencies: - "@aws-sdk/types" "3.662.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/credential-provider-sso@3.616.0": @@ -688,17 +694,18 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.662.0.tgz#6d0c9f5f819da6b473d39d0cf4cd42cbbca3a524" - integrity sha512-zxze6pDPgwBwl7S3h4JDALCCz93pTAfulbCY8FqMEd7GvnAiofHpL9svyt4+gytXwwUSsQ6KxCMVLbi+8k8YIg== +"@aws-sdk/credential-provider-sso@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.686.0.tgz#4575296bb6dc090d0ca7c983ac7f9665486208ae" + integrity sha512-bGDFRcqpGUe2YBL5gmRZTLcxGwbtFd916JsdqmNgJwhhlOXPF6nqjGil5ZYruS3AMPy0BMntnG0Mvn/ZbusT/A== dependencies: - "@aws-sdk/client-sso" "3.662.0" - "@aws-sdk/token-providers" "3.662.0" - "@aws-sdk/types" "3.662.0" + "@aws-sdk/client-sso" "3.686.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/token-providers" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/credential-provider-web-identity@3.609.0": @@ -711,14 +718,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.662.0.tgz#18246e29d5f8b242a0717ff7110680cc5816d163" - integrity sha512-GhPwxmHSFtwCckuT+34JG+U99qKfDWVYPLJOPI6b35+aLhfVqW5CHPmVjtM4WZqbxzsA0a3KAYA/U1ZaluI4SA== +"@aws-sdk/credential-provider-web-identity@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.686.0.tgz#228be45b2f840ebf227d96ee5e326c1efa3c25a9" + integrity sha512-40UqCpPxyHCXDP7CGd9JIOZDgDZf+u1OyLaGBpjQJlz1HYuEsIWnnbTe29Yg3Ah/Zc3g4NBWcUdlGVotlnpnDg== dependencies: - "@aws-sdk/types" "3.662.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/endpoint-cache@3.572.0": @@ -729,6 +737,14 @@ mnemonist "0.38.3" tslib "^2.6.2" +"@aws-sdk/endpoint-cache@3.679.0": + version "3.679.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/endpoint-cache/-/endpoint-cache-3.679.0.tgz#0d53148d770fe0d37f1fd3d734c59808a776430f" + integrity sha512-6+DMgt91IkyO1gXqANH0lOZr/Em7CpzRQOD7Mku1icXDVfpVFnW4DZyUP+6EYeZlHgi2KwVYh5Hp7++oKcYWiw== + dependencies: + mnemonist "0.38.3" + tslib "^2.6.2" + "@aws-sdk/lib-dynamodb@^3.428.0": version "3.619.0" resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.619.0.tgz#23ce8f6a623bfb7d3f4c5450916bebc10db4225d" @@ -739,27 +755,28 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/lib-dynamodb@^3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.662.0.tgz#425073c71c284cff3636faf8daa07e692c8b0504" - integrity sha512-DCmhc9hccIsMbYl8xINLtxYmsUlSVCUKcDA19Z+7901Jlu8OwzidwMBy4ZK8wAmy6/aG4agH67FY4i0Hee3z9g== +"@aws-sdk/lib-dynamodb@^3.667.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.686.0.tgz#b5150df01724e2304606891cb8ee0d378b714587" + integrity sha512-FHb30V7gsoCKfDahc7NoN6kdHw+N+8TqNeuCkg5MqbeCTJ6wAr/slsqlLn+GJ/mhlxaA/tNgqInipL905dQPpw== dependencies: - "@aws-sdk/util-dynamodb" "3.662.0" - "@smithy/core" "^2.4.7" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/util-dynamodb" "3.686.0" + "@smithy/core" "^2.5.1" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-bucket-endpoint@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.662.0.tgz#49c223b868a72a5d49deadfa799136b7c638381d" - integrity sha512-qBdQ7zqdanCPep7puYw1s6lH8lQ2uWP6+klp35cAYjCMbGiItclteXRQOuldkd9Oc7dtoYlTJBDKeAybJZShlw== +"@aws-sdk/middleware-bucket-endpoint@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.686.0.tgz#12772aa4ce5448995b108f636e15d76cea95a7d9" + integrity sha512-6qCoWI73/HDzQE745MHQUYz46cAQxHCgy1You8MZQX9vHAQwqBnkcsb2hGp7S6fnQY5bNsiZkMWVQ/LVd2MNjg== dependencies: - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-arn-parser" "3.679.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" "@smithy/util-config-provider" "^3.0.0" tslib "^2.6.2" @@ -775,41 +792,42 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-endpoint-discovery@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.662.0.tgz#ad1e99eeb5b13282d26f3032822ec41840eaa03c" - integrity sha512-os/gBtal8DDOZHUVQNymy8K/8JNC1tPqznsUoEkjoYaQoerT9PR3PPrc/oWTB9h1VLXZOwJ8HcCtsEbXUAddTg== +"@aws-sdk/middleware-endpoint-discovery@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.686.0.tgz#2851c0e260049fef86a09de9209856378a7b3e3a" + integrity sha512-4A+VmWf3vUirzncM0reyG/J3m82mDv2UbmCBz+RcYQ6S41JCC2WxN/MD2oIN/Qkd1N+4OW2U+T62VmqFQgeBKg== dependencies: - "@aws-sdk/endpoint-cache" "3.572.0" - "@aws-sdk/types" "3.662.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/endpoint-cache" "3.679.0" + "@aws-sdk/types" "3.686.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.662.0.tgz#04f3df778ec20a7e508f4576c89cea489bfd53b4" - integrity sha512-kSSeblAz0bdE8golejbEp9tLoP1EcYGWqrAjv5kDwbo56J9vbBh12shxDULpDBNXXLBoK4DktHgJl3RqwXlK5g== +"@aws-sdk/middleware-expect-continue@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.686.0.tgz#4446a7f06098a8c6bc5f06717a8d65986383c81f" + integrity sha512-5yYqIbyhLhH29vn4sHiTj7sU6GttvLMk3XwCmBXjo2k2j3zHqFUwh9RyFGF9VY6Z392Drf/E/cl+qOGypwULpg== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.662.0.tgz#18b04ce5ea0a354560019961c1d28ecf5b150695" - integrity sha512-aZEA0a0hYfOL2ah+ZlFAVr2HMWetNooyrDFq+iP04CmE674WCJBp71DdQrRvNQsW+PBkq7iHsgfYEQumYMqz9Q== +"@aws-sdk/middleware-flexible-checksums@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.686.0.tgz#201bdc479c4ac5627f2d333b42ad1a93fa09aa47" + integrity sha512-S3bRlsu6p1yRBNqfFTJ4qOM0ybkBAggG0ZCxF+thzFFlyDCjfb46sA6SczwHimKBpMVXJr/XMvbWdfpW0DXsqA== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" - "@aws-sdk/types" "3.662.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" "@smithy/is-array-buffer" "^3.0.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" - "@smithy/util-middleware" "^3.0.7" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" + "@smithy/util-middleware" "^3.0.8" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -823,23 +841,23 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.662.0.tgz#f3d647d294b19da17ef5845b87dc5c0788196a1e" - integrity sha512-Gkb0J1LTvD8LOS8uwoRI5weFXvvJwP1jfnYwzQrFgLymRFHJm5JtORQZtmw34dtdou+IBTUsH1mgI8b3QVVH3w== +"@aws-sdk/middleware-host-header@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.686.0.tgz#16f0be33fc738968a4e10ff77cb8a04e2b2c2359" + integrity sha512-+Yc6rO02z+yhFbHmRZGvEw1vmzf/ifS9a4aBjJGeVVU+ZxaUvnk+IUZWrj4YQopUQ+bSujmMUzJLXSkbDq7yuw== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-location-constraint@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.662.0.tgz#7abc6484bd517142f4a8e711480382e28bf2bbd9" - integrity sha512-+OAm1hKXGy+F/KJFAc8RKX/z74ZOPEqVzg70kzy/mdSNGzJwvEOfT+KwDVncZ01jk9jso1Q8DXGmxfWzZ/n4aw== +"@aws-sdk/middleware-location-constraint@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.686.0.tgz#bddc9553c2452672ded9830810cb6f08471a3f75" + integrity sha512-pCLeZzt5zUGY3NbW4J/5x3kaHyJEji4yqtoQcUlJmkoEInhSxJ0OE8sTxAfyL3nIOF4yr6L2xdaLCqYgQT8Aog== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/middleware-logger@3.609.0": @@ -851,13 +869,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-logger@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.662.0.tgz#8c2ff7d543fe691a06020be853eeb9481409614d" - integrity sha512-aSpwVHtfMlqzpmnmmUgRNCaIcxXdRrGqGWG+VWXuYR1F6jJARDDCxGkSuKiPEOLX0h0BroUo4gqbM8ILXQ8rVw== +"@aws-sdk/middleware-logger@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.686.0.tgz#4e094e42e10bf17d43b9c9afc3fc594f4aa72e02" + integrity sha512-cX43ODfA2+SPdX7VRxu6gXk4t4bdVJ9pkktbfnkE5t27OlwNfvSGGhnHrQL8xTOFeyQ+3T+oowf26gf1OI+vIg== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/middleware-recursion-detection@3.616.0": @@ -870,43 +888,43 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.662.0.tgz#5af684014a604d474e6bd763a5d2a3fbfff84d36" - integrity sha512-V/MYE+LOFIQDLnpWMHLxnKu+ELhD3pLOrWXVhKpVit6YcHxaOz6nvB40CPamSPDXenA11FGXKAGNHZ0loTpDQg== +"@aws-sdk/middleware-recursion-detection@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.686.0.tgz#aba097d2dcc9d3b9d4523d7ae03ac3b387617db1" + integrity sha512-jF9hQ162xLgp9zZ/3w5RUNhmwVnXDBlABEUX8jCgzaFpaa742qR/KKtjjZQ6jMbQnP+8fOCSXFAVNMU+s6v81w== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/middleware-sdk-s3@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.662.0.tgz#f4980918bc2295c9432cbe3940dfe4ab986bc86d" - integrity sha512-Ur5UGuS/bP5ftBxepOYJmTYES4Crh9TwIbBMUqsaal/XcdvQ7uYXK/PvlYg9P/bLpStmDBb1bxmnmjdsQBwSgw== +"@aws-sdk/middleware-sdk-s3@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.686.0.tgz#88bf3c68a0c820f76ad7118e1b077b76721468c3" + integrity sha512-nQ38oBZD2UJLt+N2hPgeZju8Vz9WvfOYE0ao4cGCSWwcUI72Tx162GxC+VK04V7krYQkmwWtcdtzZD40rMWdgw== dependencies: - "@aws-sdk/core" "3.662.0" - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/core" "^2.4.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-arn-parser" "3.679.0" + "@smithy/core" "^2.5.1" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" "@smithy/signature-v4" "^4.2.0" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-stream" "^3.1.9" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-stream" "^3.2.1" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-ssec@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.662.0.tgz#e70ebcf2cf3ec9ac9f0e222b8d60467c6fccded0" - integrity sha512-7dxSUCeSLYFlMEr6BwNoYiF+4X7/JyIAyjOOI/hh9hyK8D8f3/xenACb67rPb59wUs6WgWZVg+hvWBC55a5KGg== +"@aws-sdk/middleware-ssec@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.686.0.tgz#03c231c6a130a0562ccf915245a28c2c8a17fb64" + integrity sha512-zJXml/CpVHFUdlGQqja87vNQ3rPB5SlDbfdwxlj1KBbjnRRwpBtxxmOlWRShg8lnVV6aIMGv95QmpIFy4ayqnQ== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/middleware-user-agent@3.616.0": @@ -920,15 +938,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.662.0.tgz#a428403ced5d6684f29d45dd0f39c6c4ef10ab7b" - integrity sha512-NT940BLSSys/A8W3zO3g2Kj+zpeydqGbSQgN6qz84jTskQjnrlamoq+Zl9Rrp8Cn8sC10UQ09kGg97lvjVOlmg== +"@aws-sdk/middleware-user-agent@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.686.0.tgz#f634a2f767d6f347d9f8d5822a3da00923c9ffee" + integrity sha512-/GRU68H5J66OD2a/RtX5s2ECtXTlMq6NneLlzcx0mIWnZ2VRMS2vFW2j2jrBEPJ5Y5us1/lK/fbun6gNo3qh7Q== dependencies: - "@aws-sdk/types" "3.662.0" - "@aws-sdk/util-endpoints" "3.662.0" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" + "@aws-sdk/core" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@aws-sdk/util-endpoints" "3.686.0" + "@smithy/core" "^2.5.1" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/region-config-resolver@3.614.0": @@ -943,28 +963,28 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@aws-sdk/region-config-resolver@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.662.0.tgz#1dcb6850059baa54dcb6e4556ece7ec1a4ee9d1b" - integrity sha512-MDiWl4wZSVnnTELLb+jFSe0nj9HwxJPX2JnghXKkOXmbKEiE2/21DCQwU9mr9VUq2ZOQqaSnMFPr94iRu0AVTQ== +"@aws-sdk/region-config-resolver@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.686.0.tgz#3ef61e2cd95eb0ae80ecd5eef284744eb0a76d7c" + integrity sha512-6zXD3bSD8tcsMAVVwO1gO7rI1uy2fCD3czgawuPGPopeLiPpo6/3FoUWCQzk2nvEhj7p9Z4BbjwZGSlRkVrXTw== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/types" "^3.6.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.7" + "@smithy/util-middleware" "^3.0.8" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.662.0.tgz#5bdcafb93fbceb8787d5c2ccc15ef9eb22f8f82e" - integrity sha512-nXjFNs/VCT4jh8JyfCDTzUKfnhQU4JTwc0fi6mpQIig88fScKSBNxN4zm1zyg196xf6CBKlQc9UVnMsJYtWYDA== +"@aws-sdk/signature-v4-multi-region@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.686.0.tgz#c5e0a48193f3e4d0a5420516e6a0ce4cf4abda0a" + integrity sha512-/e6nLBVSBXd2QC9hXLK7ka4pw5V1TlVg0VhoRIRspWxVmWmyQykyymAq0Z1kvg+D3Y6K8UiB2nE0QAsNqowPOA== dependencies: - "@aws-sdk/middleware-sdk-s3" "3.662.0" - "@aws-sdk/types" "3.662.0" - "@smithy/protocol-http" "^4.1.4" + "@aws-sdk/middleware-sdk-s3" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@smithy/protocol-http" "^4.1.5" "@smithy/signature-v4" "^4.2.0" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/token-providers@3.614.0": @@ -978,15 +998,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/token-providers@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.662.0.tgz#89c60983e13036cebc0e0310ae226e2254f5a741" - integrity sha512-OqtBPutNC9Am10P1W5IwqRvzCVQAHRxWxZnfDBh1FQjNmoboGWYSriKxbrCRYLFffusNuzo8KnOFOmg1sRlhJQ== +"@aws-sdk/token-providers@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.686.0.tgz#c7733a0a079adc9404bd9d8fc4ff52edef0a123a" + integrity sha512-9oL4kTCSePFmyKPskibeiOXV6qavPZ63/kXM9Wh9V6dTSvBtLeNnMxqGvENGKJcTdIgtoqyqA6ET9u0PJ5IRIg== dependencies: - "@aws-sdk/types" "3.662.0" + "@aws-sdk/types" "3.686.0" "@smithy/property-provider" "^3.1.7" "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@aws-sdk/types@3.609.0", "@aws-sdk/types@^3.222.0": @@ -997,18 +1017,18 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/types@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.662.0.tgz#323de11059df4fd7169a381c166a8aae03abe757" - integrity sha512-Ff9/KRmIm8iEzodxzISLj4/pB/0hX2nVw1RFeOBC65OuM6nHrAdWHHog/CVx25hS5JPU0uE3h6NlWRaBJ7AV5w== +"@aws-sdk/types@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.686.0.tgz#01aa5307c727de9e69969c538f99ae8b53f1074f" + integrity sha512-xFnrb3wxOoJcW2Xrh63ZgFo5buIu9DF7bOHnwoUxHdNpUXicUh0AHw85TjXxyxIAd0d1psY/DU7QHoNI3OswgQ== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/util-arn-parser@3.568.0": - version "3.568.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz#6a19a8c6bbaa520b6be1c278b2b8c17875b91527" - integrity sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w== +"@aws-sdk/util-arn-parser@3.679.0": + version "3.679.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.679.0.tgz#1b7793c8ae31305ca6c6f7497066f3e74ad69716" + integrity sha512-CwzEbU8R8rq9bqUFryO50RFBlkfufV9UfMArHPWlo+lmsC+NlSluHQALoj6Jkq3zf5ppn1CN0c1DDLrEqdQUXg== dependencies: tslib "^2.6.2" @@ -1019,10 +1039,10 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-dynamodb@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.662.0.tgz#47b1747f14300384af66b6a07fb4ba7a01318194" - integrity sha512-V079cMhwUTu086eS1grS/F7WeOrfqAW2a2KSFKR/zxLwZPYIoMiCUeoqCgK0PL5DEqdO0EVDPuWe/glEiO52dw== +"@aws-sdk/util-dynamodb@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.686.0.tgz#64f22ca7ea7f4305160d115a5c8b9cb93fd53617" + integrity sha512-kW689EdaeNQXoNGNA7B246G8/B+2Zis+u0X4kImZvn19+trtfb7ymJlwqmxUUvDDGUyW3dsf/6OmJlpzGd9UNw== dependencies: tslib "^2.6.2" @@ -1036,14 +1056,14 @@ "@smithy/util-endpoints" "^2.0.5" tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.662.0.tgz#a124838077ae230bba605310a73e43493e58e3d1" - integrity sha512-RQ/78yNUxZZZULFg7VxT7oObGOR/FBc0ojiFoCAKC20ycY8VvVX5Eof4gyxoVpwOP7EoZO3UlWSIqtaEV/X70w== +"@aws-sdk/util-endpoints@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.686.0.tgz#c9a621961b8efda6d82ab3523d673acb0629d6d0" + integrity sha512-7msZE2oYl+6QYeeRBjlDgxQUhq/XRky3cXE0FqLFs2muLS7XSuQEXkpOXB3R782ygAP6JX0kmBxPTLurRTikZg== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/types" "^3.5.0" - "@smithy/util-endpoints" "^2.1.3" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" + "@smithy/util-endpoints" "^2.1.4" tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": @@ -1063,13 +1083,13 @@ bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-browser@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.662.0.tgz#b17b847b38ffa88944939534069bf78a277723ed" - integrity sha512-5wQd+HbNTY1r1Gndxf93dAEFtKz1DqcalI4Ym40To+RIonSsYQNRomFoizYNgJ1P+Mkfsr4P1dy/MNTlkqTZuQ== +"@aws-sdk/util-user-agent-browser@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.686.0.tgz#953ef68c1b54e02f9de742310f47c33452f088bc" + integrity sha512-YiQXeGYZegF1b7B2GOR61orhgv79qmI0z7+Agm3NXLO6hGfVV3kFUJbXnjtH1BgWo5hbZYW7HQ2omGb3dnb6Lg== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/types" "^3.5.0" + "@aws-sdk/types" "3.686.0" + "@smithy/types" "^3.6.0" bowser "^2.11.0" tslib "^2.6.2" @@ -1083,22 +1103,23 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.662.0.tgz#7199eef53edb1c175e455c94596294541a5aaef4" - integrity sha512-vBRbZ9Hr1OGmdJPWj36X0fR8/VdI2JiwK6+oJRa6qfJ6AnhqCYZbCyeA6JIDeEu3M9iu1OLjenU8NdXhTz8c2w== +"@aws-sdk/util-user-agent-node@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.686.0.tgz#73b39d428e259fedbc1442e184bbd401be398ec5" + integrity sha512-XXUhZPeacJt5BmWc0qNXA4/yyQGXPmFcTOFe5aqXuZbhtTCNVJ0fPQHFip37iGSHCg8eAFykiBn9W8hD4swolQ== dependencies: - "@aws-sdk/types" "3.662.0" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/types" "^3.5.0" + "@aws-sdk/middleware-user-agent" "3.686.0" + "@aws-sdk/types" "3.686.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@aws-sdk/xml-builder@3.662.0": - version "3.662.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.662.0.tgz#6cbe5aea6205fd2280ec043189985240628d1cb2" - integrity sha512-ikLkXn0igUpnJu2mCZjklvmcDGWT9OaLRv3JyC/cRkTaaSrblPjPM7KKsltxdMTLQ+v7fjCN0TsJpxphMfaOPA== +"@aws-sdk/xml-builder@3.686.0": + version "3.686.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.686.0.tgz#adcf39a9bcbecb62ae88dd104896b9744222f98e" + integrity sha512-k0z5b5dkYSuOHY0AOZ4iyjcGBeVL9lWsQNF4+c+1oK3OW4fRWl/bNa1soMRMpangsHPzgyn/QkzuDbl7qR4qrw== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/abort-controller@^3.1.1": @@ -1109,27 +1130,38 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/abort-controller@^3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.5.tgz#ca7a86a3c6b20fabe59667143f58d9e198616d14" - integrity sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg== +"@smithy/abort-controller@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.6.tgz#d9de97b85ca277df6ffb9ee7cd83d5da793ee6de" + integrity sha512-0XuhuHQlEqbNQZp7QxxrFTdVWdwxch4vjxYgfInF91hZFkPxf9QDrdQka0KfxFMPqLNzSw0b95uGTrLliQUavQ== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/chunked-blob-reader-native@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz#f1104b30030f76f9aadcbd3cdca4377bd1ba2695" - integrity sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg== +"@smithy/chunked-blob-reader-native@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.1.tgz#39045ed278ee1b6f4c12715c7565678557274c29" + integrity sha512-VEYtPvh5rs/xlyqpm5NRnfYLZn+q0SRPELbvBV+C/G7IQ+ouTuo+NKKa3ShG5OaFR8NYVMXls9hPYLTvIKKDrQ== dependencies: "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/chunked-blob-reader@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-3.0.0.tgz#e5d3b04e9b273ba8b7ede47461e2aa96c8aa49e0" - integrity sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA== +"@smithy/chunked-blob-reader@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-4.0.0.tgz#754099909957fb1986c16eb88afad75919d7129d" + integrity sha512-jSqRnZvkT4egkq/7b6/QRCNXmmYVcHwnJldqJ3IhVpQE2atObVJ137xmGeuGFhjFUr8gCEVAOKwSY79OvpbDaQ== + dependencies: + tslib "^2.6.2" + +"@smithy/config-resolver@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.10.tgz#d9529d9893e5fae1f14cb1ffd55517feb6d7e50f" + integrity sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw== dependencies: + "@smithy/node-config-provider" "^3.1.9" + "@smithy/types" "^3.6.0" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.8" tslib "^2.6.2" "@smithy/config-resolver@^3.0.5": @@ -1143,17 +1175,6 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/config-resolver@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.9.tgz#dcf4b7747ca481866f9bfac21469ebe2031a599e" - integrity sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg== - dependencies: - "@smithy/node-config-provider" "^3.1.8" - "@smithy/types" "^3.5.0" - "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.7" - tslib "^2.6.2" - "@smithy/core@^2.2.7": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.3.0.tgz#305da2d99f9239e6e6737d55fd073b38edad89ed" @@ -1168,19 +1189,17 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/core@^2.4.7": - version "2.4.7" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.7.tgz#c4dc9ab3ba5f4b36addf967ca5fce036ce3b767d" - integrity sha512-goqMjX+IoVEnHZjYuzu8xwoZjoteMiLXsPHuXPBkWsGwu0o9c3nTjqkUlP1Ez/V8E501aOU7CJ3INk8mQcW2gw== +"@smithy/core@^2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.5.1.tgz#7f635b76778afca845bcb401d36f22fa37712f15" + integrity sha512-DujtuDA7BGEKExJ05W5OdxCoyekcKT3Rhg1ZGeiUWaz2BJIWXjZmsG/DIP4W48GHno7AQwRsaCb8NcBgH3QZpg== dependencies: - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-retry" "^3.0.22" - "@smithy/middleware-serde" "^3.0.7" - "@smithy/protocol-http" "^4.1.4" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-middleware" "^3.0.7" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-stream" "^3.2.1" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1206,49 +1225,60 @@ "@smithy/url-parser" "^3.0.7" tslib "^2.6.2" -"@smithy/eventstream-codec@^3.1.6": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.6.tgz#70ca95aad82d5140522eb883fbc140f1f22dcb27" - integrity sha512-SBiOYPBH+5wOyPS7lfI150ePfGLhnp/eTu5RnV9xvhGvRiKfnl6HzRK9wehBph+il8FxS9KTeadx7Rcmf1GLPQ== +"@smithy/credential-provider-imds@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.5.tgz#dbfd849a4a7ebd68519cd9fc35f78d091e126d0a" + integrity sha512-4FTQGAsuwqTzVMmiRVTn0RR9GrbRfkP0wfu/tXWVHd2LgNpTY0uglQpIScXK4NaEyXbB3JmZt8gfVqO50lP8wg== + dependencies: + "@smithy/node-config-provider" "^3.1.9" + "@smithy/property-provider" "^3.1.8" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" + tslib "^2.6.2" + +"@smithy/eventstream-codec@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.7.tgz#5bfaffbc83ae374ffd85a755a8200ba3c7aed016" + integrity sha512-kVSXScIiRN7q+s1x7BrQtZ1Aa9hvvP9FeCqCdBxv37GimIHgBCOnZ5Ip80HLt0DhnAKpiobFdGqTFgbaJNrazA== dependencies: "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" "@smithy/util-hex-encoding" "^3.0.0" tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^3.0.10": - version "3.0.10" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.10.tgz#ffca366a4edee5097be5a710f87627a5b2da5dec" - integrity sha512-1i9aMY6Pl/SmA6NjvidxnfBLHMPzhKu2BP148pEt5VwhMdmXn36PE2kWKGa9Hj8b0XGtCTRucpCncylevCtI7g== +"@smithy/eventstream-serde-browser@^3.0.11": + version "3.0.11" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.11.tgz#019f3d1016d893b65ef6efec8c5e2fa925d0ac3d" + integrity sha512-Pd1Wnq3CQ/v2SxRifDUihvpXzirJYbbtXfEnnLV/z0OGCTx/btVX74P86IgrZkjOydOASBGXdPpupYQI+iO/6A== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.9" - "@smithy/types" "^3.5.0" + "@smithy/eventstream-serde-universal" "^3.0.10" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/eventstream-serde-config-resolver@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.7.tgz#1f352f384665f322e024a1396a7a2cca52fce9e3" - integrity sha512-eVzhGQBPEqXXYHvIUku0jMTxd4gDvenRzUQPTmKVWdRvp9JUCKrbAXGQRYiGxUYq9+cqQckRm0wq3kTWnNtDhw== +"@smithy/eventstream-serde-config-resolver@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.8.tgz#bba17a358818e61993aaa73e36ea4023c5805556" + integrity sha512-zkFIG2i1BLbfoGQnf1qEeMqX0h5qAznzaZmMVNnvPZz9J5AWBPkOMckZWPedGUPcVITacwIdQXoPcdIQq5FRcg== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/eventstream-serde-node@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.9.tgz#e985340093c2ca6587ae2fdd0663e6845fbe9463" - integrity sha512-JE0Guqvt0xsmfQ5y1EI342/qtJqznBv8cJqkHZV10PwC8GWGU5KNgFbQnsVCcX+xF+qIqwwfRmeWoJCjuOLmng== +"@smithy/eventstream-serde-node@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.10.tgz#da40b872001390bb47807186855faba8172b3b5b" + integrity sha512-hjpU1tIsJ9qpcoZq9zGHBJPBOeBGYt+n8vfhDwnITPhEre6APrvqq/y3XMDEGUT2cWQ4ramNqBPRbx3qn55rhw== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.9" - "@smithy/types" "^3.5.0" + "@smithy/eventstream-serde-universal" "^3.0.10" + "@smithy/types" "^3.6.0" tslib "^2.6.2" -"@smithy/eventstream-serde-universal@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.9.tgz#1832b190a3018204e33487ba1f7f0f6e2fb0da34" - integrity sha512-bydfgSisfepCufw9kCEnWRxqxJFzX/o8ysXWv+W9F2FIyiaEwZ/D8bBKINbh4ONz3i05QJ1xE7A5OKYvgJsXaw== +"@smithy/eventstream-serde-universal@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.10.tgz#b24e66fec9ec003eb0a1d6733fa22ded43129281" + integrity sha512-ewG1GHbbqsFZ4asaq40KmxCmXO+AFSM1b+DcO2C03dyJj/ZH71CiTg853FSE/3SHK9q3jiYQIFjlGSwfxQ9kww== dependencies: - "@smithy/eventstream-codec" "^3.1.6" - "@smithy/types" "^3.5.0" + "@smithy/eventstream-codec" "^3.1.7" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/fetch-http-handler@^3.2.2", "@smithy/fetch-http-handler@^3.2.3": @@ -1262,25 +1292,25 @@ "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/fetch-http-handler@^3.2.9": - version "3.2.9" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz#8d5199c162a37caa37a8b6848eefa9ca58221a0b" - integrity sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A== +"@smithy/fetch-http-handler@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-4.0.0.tgz#3763cb5178745ed630ed5bc3beb6328abdc31f36" + integrity sha512-MLb1f5tbBO2X6K4lMEKJvxeLooyg7guq48C2zKr4qM7F2Gpkz4dc+hdSgu77pCJ76jVqFBjZczHYAs6dp15N+g== dependencies: - "@smithy/protocol-http" "^4.1.4" - "@smithy/querystring-builder" "^3.0.7" - "@smithy/types" "^3.5.0" + "@smithy/protocol-http" "^4.1.5" + "@smithy/querystring-builder" "^3.0.8" + "@smithy/types" "^3.6.0" "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-blob-browser@^3.1.6": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.6.tgz#d61de344aa3cef0bc83e3ab8166558256262dfcd" - integrity sha512-BKNcMIaeZ9lB67sgo88iCF4YB35KT8X2dNJ8DqrtZNTgN6tUDYBKThzfGtos/mnZkGkW91AYHisESHmSiYQmKw== +"@smithy/hash-blob-browser@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.7.tgz#717a75129f3587e78c3cac74727448257a59dcc3" + integrity sha512-4yNlxVNJifPM5ThaA5HKnHkn7JhctFUHvcaz6YXxHlYOSIrzI6VKQPTN8Gs1iN5nqq9iFcwIR9THqchUCouIfg== dependencies: - "@smithy/chunked-blob-reader" "^3.0.0" - "@smithy/chunked-blob-reader-native" "^3.0.0" - "@smithy/types" "^3.5.0" + "@smithy/chunked-blob-reader" "^4.0.0" + "@smithy/chunked-blob-reader-native" "^3.0.1" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/hash-node@^3.0.3": @@ -1293,22 +1323,22 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-node@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.7.tgz#03b5a382fb588b8c2bac11b4fe7300aaf1661c88" - integrity sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw== +"@smithy/hash-node@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.8.tgz#f451cc342f74830466b0b39bf985dc3022634065" + integrity sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-stream-node@^3.1.6": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.6.tgz#854ad354a865a1334baa2abc2f2247f2723de688" - integrity sha512-sFSSt7cmCpFWZPfVx7k80Bgb1K2VJ27VmMxH8X+dDhp7Wv8IBgID4K2VK5ehMJROF8hQgcj4WywnkHIwX/xlwQ== +"@smithy/hash-stream-node@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.7.tgz#df5c3b7aa8dbe9c389ff7857ce9145694f550b7e" + integrity sha512-xMAsvJ3hLG63lsBVi1Hl6BBSfhd8/Qnp8fC06kjOpJvyyCEXdwHITa5Kvdsk6gaAXLhbZMhQMIGvgUbfnJDP6Q== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1320,12 +1350,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/invalid-dependency@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.7.tgz#b36f258d94498f3c72ab6020091a66fc7cc16eda" - integrity sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA== +"@smithy/invalid-dependency@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.8.tgz#4d381a4c24832371ade79e904a72c173c9851e5f" + integrity sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/is-array-buffer@^2.2.0": @@ -1342,15 +1372,24 @@ dependencies: tslib "^2.6.2" -"@smithy/md5-js@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.7.tgz#0a645dd9c139254353fd6e6a6b65154baeab7d2e" - integrity sha512-+wco9IN9uOW4tNGkZIqTR6IXyfO7Z8A+IOq82QCRn/f/xcmt7H1fXwmQVbfDSvbeFwfNnhv7s+u0G9PzPG6o2w== +"@smithy/md5-js@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.8.tgz#837e54094007e87bf5196e11eca453d1c1e83a26" + integrity sha512-LwApfTK0OJ/tCyNUXqnWCKoE2b4rDSr4BJlDAVCkiWYeHESr+y+d5zlAanuLW6fnitVJRD/7d9/kN/ZM9Su4mA== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" +"@smithy/middleware-content-length@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.10.tgz#738266f6d81436d7e3a86bea931bc64e04ae7dbf" + integrity sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg== + dependencies: + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/middleware-content-length@^3.0.4": version "3.0.5" resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz#1680aa4fb2a1c0505756103c9a5c2916307d9035" @@ -1360,15 +1399,6 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/middleware-content-length@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.9.tgz#fb613d1a6b8c91e828d11c0d7a0a8576dba89b8b" - integrity sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA== - dependencies: - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" - tslib "^2.6.2" - "@smithy/middleware-endpoint@^3.0.5", "@smithy/middleware-endpoint@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz#9b8a496d87a68ec43f3f1a0139868d6765a88119" @@ -1382,17 +1412,18 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/middleware-endpoint@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz#222c9fa49c8af6ebf8bea8ab220d92d9b8c90d3d" - integrity sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ== +"@smithy/middleware-endpoint@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.1.tgz#b9ee42d29d8f3a266883d293c4d6a586f7b60979" + integrity sha512-wWO3xYmFm6WRW8VsEJ5oU6h7aosFXfszlz3Dj176pTij6o21oZnzkCLzShfmRaaCHDkBXWBdO0c4sQAvLFP6zA== dependencies: - "@smithy/middleware-serde" "^3.0.7" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/shared-ini-file-loader" "^3.1.8" - "@smithy/types" "^3.5.0" - "@smithy/url-parser" "^3.0.7" - "@smithy/util-middleware" "^3.0.7" + "@smithy/core" "^2.5.1" + "@smithy/middleware-serde" "^3.0.8" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/shared-ini-file-loader" "^3.1.9" + "@smithy/types" "^3.6.0" + "@smithy/url-parser" "^3.0.8" + "@smithy/util-middleware" "^3.0.8" tslib "^2.6.2" "@smithy/middleware-retry@^3.0.10", "@smithy/middleware-retry@^3.0.12": @@ -1410,18 +1441,18 @@ tslib "^2.6.2" uuid "^9.0.1" -"@smithy/middleware-retry@^3.0.22": - version "3.0.22" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.22.tgz#578ceafd72fd655cde35c35b462a8aad26fd07e2" - integrity sha512-svEN7O2Tf7BoaBkPzX/8AE2Bv7p16d9/ulFAD1Gmn5g19iMqNk1WIkMxAY7SpB9/tVtUwKx0NaIsBRl88gumZA== +"@smithy/middleware-retry@^3.0.25": + version "3.0.25" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.25.tgz#a6b1081fc1a0991ffe1d15e567e76198af01f37c" + integrity sha512-m1F70cPaMBML4HiTgCw5I+jFNtjgz5z5UdGnUbG37vw6kh4UvizFYjqJGHvicfgKMkDL6mXwyPp5mhZg02g5sg== dependencies: - "@smithy/node-config-provider" "^3.1.8" - "@smithy/protocol-http" "^4.1.4" - "@smithy/service-error-classification" "^3.0.7" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" - "@smithy/util-middleware" "^3.0.7" - "@smithy/util-retry" "^3.0.7" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/protocol-http" "^4.1.5" + "@smithy/service-error-classification" "^3.0.8" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" + "@smithy/util-middleware" "^3.0.8" + "@smithy/util-retry" "^3.0.8" tslib "^2.6.2" uuid "^9.0.1" @@ -1433,12 +1464,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/middleware-serde@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz#03f0dda75edffc4cc90ea422349cbfb82368efa7" - integrity sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g== +"@smithy/middleware-serde@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.8.tgz#a46d10dba3c395be0d28610d55c89ff8c07c0cd3" + integrity sha512-Xg2jK9Wc/1g/MBMP/EUn2DLspN8LNt+GMe7cgF+Ty3vl+Zvu+VeZU5nmhveU+H8pxyTsjrAkci8NqY6OuvZnjA== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/middleware-stack@^3.0.3": @@ -1449,12 +1480,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/middleware-stack@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz#813fa7b47895ce0d085eac89c056d21b1e46e771" - integrity sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA== +"@smithy/middleware-stack@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.8.tgz#f1c7d9c7fe8280c6081141c88f4a76875da1fc43" + integrity sha512-d7ZuwvYgp1+3682Nx0MD3D/HtkmZd49N3JUndYWQXfRZrYEnCWYc8BHcNmVsPAp9gKvlurdg/mubE6b/rPS9MA== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/node-config-provider@^3.1.4": @@ -1477,6 +1508,16 @@ "@smithy/types" "^3.5.0" tslib "^2.6.2" +"@smithy/node-config-provider@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.9.tgz#d27ba8e4753f1941c24ed0af824dbc6c492f510a" + integrity sha512-qRHoah49QJ71eemjuS/WhUXB+mpNtwHRWQr77J/m40ewBVVwvo52kYAmb7iuaECgGTTcYxHS4Wmewfwy++ueew== + dependencies: + "@smithy/property-provider" "^3.1.8" + "@smithy/shared-ini-file-loader" "^3.1.9" + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/node-http-handler@^3.1.3", "@smithy/node-http-handler@^3.1.4": version "3.1.4" resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz#be4195e45639e690d522cd5f11513ea822ff9d5f" @@ -1488,15 +1529,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/node-http-handler@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz#3c57c40d082c3bacac1e49955bd1240e8ccc40b2" - integrity sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ== +"@smithy/node-http-handler@^3.2.5": + version "3.2.5" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.5.tgz#ad9d9ba1528bf0d4a655135e978ecc14b3df26a2" + integrity sha512-PkOwPNeKdvX/jCpn0A8n9/TyoxjGZB8WVoJmm9YzsnAgggTj4CrjpRHlTQw7dlLZ320n1mY1y+nTRUDViKi/3w== dependencies: - "@smithy/abort-controller" "^3.1.5" - "@smithy/protocol-http" "^4.1.4" - "@smithy/querystring-builder" "^3.0.7" - "@smithy/types" "^3.5.0" + "@smithy/abort-controller" "^3.1.6" + "@smithy/protocol-http" "^4.1.5" + "@smithy/querystring-builder" "^3.0.8" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/property-provider@^3.1.3": @@ -1515,6 +1556,14 @@ "@smithy/types" "^3.5.0" tslib "^2.6.2" +"@smithy/property-provider@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.8.tgz#b1c5a3949effbb9772785ad7ddc5b4b235b10fbe" + integrity sha512-ukNUyo6rHmusG64lmkjFeXemwYuKge1BJ8CtpVKmrxQxc6rhUX0vebcptFA9MmrGsnLhwnnqeH83VTU9hwOpjA== + dependencies: + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/protocol-http@^4.0.4", "@smithy/protocol-http@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.0.tgz#23519d8f45bf4f33960ea5415847bc2b620a010b" @@ -1531,6 +1580,14 @@ "@smithy/types" "^3.5.0" tslib "^2.6.2" +"@smithy/protocol-http@^4.1.5": + version "4.1.5" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.5.tgz#a1f397440f299b6a5abeed6866957fecb1bf5013" + integrity sha512-hsjtwpIemmCkm3ZV5fd/T0bPIugW1gJXwZ/hpuVubt2hEUApIoUTrf6qIdh9MAWlw0vjMrA1ztJLAwtNaZogvg== + dependencies: + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/querystring-builder@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz#6b0e566f885bb84938d077c69e8f8555f686af13" @@ -1540,12 +1597,12 @@ "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" -"@smithy/querystring-builder@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz#8c443c65f4249ff1637088db1166d18411d41555" - integrity sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw== +"@smithy/querystring-builder@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.8.tgz#0d845be53aa624771c518d1412881236ce12ed4f" + integrity sha512-btYxGVqFUARbUrN6VhL9c3dnSviIwBYD9Rz1jHuN1hgh28Fpv2xjU1HeCeDJX68xctz7r4l1PBnFhGg1WBBPuA== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" @@ -1565,6 +1622,14 @@ "@smithy/types" "^3.5.0" tslib "^2.6.2" +"@smithy/querystring-parser@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.8.tgz#057a8e2d301eea8eac7071923100ba38a824d7df" + integrity sha512-BtEk3FG7Ks64GAbt+JnKqwuobJNX8VmFLBsKIwWr1D60T426fGrV2L3YS5siOcUhhp6/Y6yhBw1PSPxA5p7qGg== + dependencies: + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/service-error-classification@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz#73484255060a094aa9372f6cd972dcaf97e3ce80" @@ -1572,12 +1637,12 @@ dependencies: "@smithy/types" "^3.3.0" -"@smithy/service-error-classification@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.7.tgz#5bab4ad802d30bd3fa52b8134f6c171582358226" - integrity sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA== +"@smithy/service-error-classification@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.8.tgz#265ad2573b972f6c7bdd1ad6c5155a88aeeea1c4" + integrity sha512-uEC/kCCFto83bz5ZzapcrgGqHOh/0r69sZ2ZuHlgoD5kYgXJEThCoTuw/y1Ub3cE7aaKdznb+jD9xRPIfIwD7g== dependencies: - "@smithy/types" "^3.5.0" + "@smithy/types" "^3.6.0" "@smithy/shared-ini-file-loader@^3.1.4": version "3.1.4" @@ -1595,6 +1660,14 @@ "@smithy/types" "^3.5.0" tslib "^2.6.2" +"@smithy/shared-ini-file-loader@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.9.tgz#1b77852b5bb176445e1d80333fa3f739313a4928" + integrity sha512-/+OsJRNtoRbtsX0UpSgWVxFZLsJHo/4sTr+kBg/J78sr7iC+tHeOvOJrS5hCpVQ6sWBbhWLp1UNiuMyZhE6pmA== + dependencies: + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/signature-v4@^4.0.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" @@ -1635,16 +1708,17 @@ "@smithy/util-stream" "^3.1.2" tslib "^2.6.2" -"@smithy/smithy-client@^3.3.6": - version "3.3.6" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.3.6.tgz#882fcc4b5db35c284c7a7c6116b27be324c41202" - integrity sha512-qdH+mvDHgq1ss6mocyIl2/VjlWXew7pGwZQydwYJczEc22HZyX3k8yVPV9aZsbYbssHPvMDRA5rfBDrjQUbIIw== +"@smithy/smithy-client@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.4.2.tgz#a6e3ed98330ce170cf482e765bd0c21e0fde8ae4" + integrity sha512-dxw1BDxJiY9/zI3cBqfVrInij6ShjpV4fmGHesGZZUiP9OSE/EVfdwdRz0PgvkEvrZHpsj2htRaHJfftE8giBA== dependencies: - "@smithy/middleware-endpoint" "^3.1.4" - "@smithy/middleware-stack" "^3.0.7" - "@smithy/protocol-http" "^4.1.4" - "@smithy/types" "^3.5.0" - "@smithy/util-stream" "^3.1.9" + "@smithy/core" "^2.5.1" + "@smithy/middleware-endpoint" "^3.2.1" + "@smithy/middleware-stack" "^3.0.8" + "@smithy/protocol-http" "^4.1.5" + "@smithy/types" "^3.6.0" + "@smithy/util-stream" "^3.2.1" tslib "^2.6.2" "@smithy/types@^3.3.0": @@ -1661,6 +1735,13 @@ dependencies: tslib "^2.6.2" +"@smithy/types@^3.6.0": + version "3.6.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.6.0.tgz#03a52bfd62ee4b7b2a1842c8ae3ada7a0a5ff3a4" + integrity sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w== + dependencies: + tslib "^2.6.2" + "@smithy/url-parser@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.3.tgz#e8a060d9810b24b1870385fc2b02485b8a6c5955" @@ -1679,6 +1760,15 @@ "@smithy/types" "^3.5.0" tslib "^2.6.2" +"@smithy/url-parser@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.8.tgz#8057d91d55ba8df97d74576e000f927b42da9e18" + integrity sha512-4FdOhwpTW7jtSFWm7SpfLGKIBC9ZaTKG5nBF0wK24aoQKQyDIKUw3+KFWCQ9maMzrgTJIuOvOnsV2lLGW5XjTg== + dependencies: + "@smithy/querystring-parser" "^3.0.8" + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/util-base64@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-3.0.0.tgz#f7a9a82adf34e27a72d0719395713edf0e493017" @@ -1736,14 +1826,14 @@ bowser "^2.11.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^3.0.22": - version "3.0.22" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.22.tgz#e9141ed58109d572337a621d96131526aaf4f42f" - integrity sha512-WKzUxNsOun5ETwEOrvooXeI1mZ8tjDTOcN4oruELWHhEYDgQYWwxZupURVyovcv+h5DyQT/DzK5nm4ZoR/Tw5Q== +"@smithy/util-defaults-mode-browser@^3.0.25": + version "3.0.25" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.25.tgz#ef9b84272d1db23503ff155f9075a4543ab6dab7" + integrity sha512-fRw7zymjIDt6XxIsLwfJfYUfbGoO9CmCJk6rjJ/X5cd20+d2Is7xjU5Kt/AiDt6hX8DAf5dztmfP5O82gR9emA== dependencies: - "@smithy/property-provider" "^3.1.7" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" + "@smithy/property-provider" "^3.1.8" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" bowser "^2.11.0" tslib "^2.6.2" @@ -1760,17 +1850,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^3.0.22": - version "3.0.22" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.22.tgz#fc51f37aaa5ec03edec0da890a1ca1e3e3cdc70b" - integrity sha512-hUsciOmAq8fsGwqg4+pJfNRmrhfqMH4Y9UeGcgeUl88kPAoYANFATJqCND+O4nUvwp5TzsYwGpqpcBKyA8LUUg== +"@smithy/util-defaults-mode-node@^3.0.25": + version "3.0.25" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.25.tgz#c16fe3995c8e90ae318e336178392173aebe1e37" + integrity sha512-H3BSZdBDiVZGzt8TG51Pd2FvFO0PAx/A0mJ0EH8a13KJ6iUCdYnw/Dk/MdC1kTd0eUuUGisDFaxXVXo4HHFL1g== dependencies: - "@smithy/config-resolver" "^3.0.9" - "@smithy/credential-provider-imds" "^3.2.4" - "@smithy/node-config-provider" "^3.1.8" - "@smithy/property-provider" "^3.1.7" - "@smithy/smithy-client" "^3.3.6" - "@smithy/types" "^3.5.0" + "@smithy/config-resolver" "^3.0.10" + "@smithy/credential-provider-imds" "^3.2.5" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/property-provider" "^3.1.8" + "@smithy/smithy-client" "^3.4.2" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/util-endpoints@^2.0.5": @@ -1782,13 +1872,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-endpoints@^2.1.3": - version "2.1.3" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.3.tgz#7498151e9dc714bdd0c6339314dd2350fa4d250a" - integrity sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw== +"@smithy/util-endpoints@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.4.tgz#a29134c2b1982442c5fc3be18d9b22796e8eb964" + integrity sha512-kPt8j4emm7rdMWQyL0F89o92q10gvCUa6sBkBtDJ7nV2+P7wpXczzOfoDJ49CKXe5CCqb8dc1W+ZdLlrKzSAnQ== dependencies: - "@smithy/node-config-provider" "^3.1.8" - "@smithy/types" "^3.5.0" + "@smithy/node-config-provider" "^3.1.9" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/util-hex-encoding@^3.0.0": @@ -1814,6 +1904,14 @@ "@smithy/types" "^3.5.0" tslib "^2.6.2" +"@smithy/util-middleware@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.8.tgz#372bc7a2845408ad69da039d277fc23c2734d0c6" + integrity sha512-p7iYAPaQjoeM+AKABpYWeDdtwQNxasr4aXQEA/OmbOaug9V0odRVDy3Wx4ci8soljE/JXQo+abV0qZpW8NX0yA== + dependencies: + "@smithy/types" "^3.6.0" + tslib "^2.6.2" + "@smithy/util-retry@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.3.tgz#9b2ac0dbb1c81f69812a8affa4d772bebfc0e049" @@ -1823,13 +1921,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-retry@^3.0.7": - version "3.0.7" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.7.tgz#694e0667574ffe9772f620b35d3c7286aced35e9" - integrity sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug== +"@smithy/util-retry@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.8.tgz#9c607c175a4d8a87b5d8ebaf308f6b849e4dc4d0" + integrity sha512-TCEhLnY581YJ+g1x0hapPz13JFqzmh/pMWL2KEFASC51qCfw3+Y47MrTmea4bUE5vsdxQ4F6/KFbUeSz22Q1ow== dependencies: - "@smithy/service-error-classification" "^3.0.7" - "@smithy/types" "^3.5.0" + "@smithy/service-error-classification" "^3.0.8" + "@smithy/types" "^3.6.0" tslib "^2.6.2" "@smithy/util-stream@^3.1.0", "@smithy/util-stream@^3.1.2": @@ -1846,14 +1944,14 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/util-stream@^3.1.9": - version "3.1.9" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.9.tgz#d39656eae27696bdc5a3ec7c2f6b89c32dccd1ca" - integrity sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ== +"@smithy/util-stream@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.2.1.tgz#f3055dc4c8caba8af4e47191ea7e773d0e5a429d" + integrity sha512-R3ufuzJRxSJbE58K9AEnL/uSZyVdHzud9wLS8tIbXclxKzoe09CRohj2xV8wpx5tj7ZbiJaKYcutMm1eYgz/0A== dependencies: - "@smithy/fetch-http-handler" "^3.2.9" - "@smithy/node-http-handler" "^3.2.4" - "@smithy/types" "^3.5.0" + "@smithy/fetch-http-handler" "^4.0.0" + "@smithy/node-http-handler" "^3.2.5" + "@smithy/types" "^3.6.0" "@smithy/util-base64" "^3.0.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-hex-encoding" "^3.0.0" @@ -1892,15 +1990,20 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-waiter@^3.1.6": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.6.tgz#c65870d0c802e33b96112fac5c4471b3bf2eeecb" - integrity sha512-xs/KAwWOeCklq8aMlnpk25LgxEYHKOEodfjfKclDMLcBJEVEKzDLxZxBQyztcuPJ7F54213NJS8PxoiHNMdItQ== +"@smithy/util-waiter@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.7.tgz#e94f7b9fb8e3b627d78f8886918c76030cf41815" + integrity sha512-d5yGlQtmN/z5eoTtIYgkvOw27US2Ous4VycnXatyoImIF9tzlcpnKqQ/V7qhvJmb2p6xZne1NopCLakdTnkBBQ== dependencies: - "@smithy/abort-controller" "^3.1.5" - "@smithy/types" "^3.5.0" + "@smithy/abort-controller" "^3.1.6" + "@smithy/types" "^3.6.0" tslib "^2.6.2" +"@types/uuid@^9.0.1": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== + ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" From f5348518d3ca080912fff28007c4e0403e0aa681 Mon Sep 17 00:00:00 2001 From: Jessica Eldredge Date: Tue, 12 Nov 2024 12:24:31 -0500 Subject: [PATCH 32/41] More Playwright tinkerings (#792) --- tests/e2e/utils/archive.ts | 44 ------------------- tests/e2e/utils/index.ts | 1 - tests/e2e/utils/pageObjects/adminHome.page.ts | 8 +++- .../utils/pageObjects/wp/wpDashboard.page.ts | 25 +++++++++++ .../pageObjects/wp/wpInitiativeDefine.page.ts | 9 +++- .../wp/wpInitiativeOverlay.page.ts | 6 ++- tests/e2e/wp/create.spec.ts | 30 ++++++++++--- 7 files changed, 67 insertions(+), 56 deletions(-) delete mode 100644 tests/e2e/utils/archive.ts diff --git a/tests/e2e/utils/archive.ts b/tests/e2e/utils/archive.ts deleted file mode 100644 index 25d3871f8..000000000 --- a/tests/e2e/utils/archive.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { Page } from "@playwright/test"; -import { logInAdminUser, logOutUser } from "./login"; -import { stateAbbreviation } from "./consts"; - -export async function archiveReports(page: Page) { - const archiveButtons = await page - .getByRole("button", { name: "Archive", exact: true }) - .all(); - if (archiveButtons.length > 0) { - await archiveButtons[0].click(); - const modal = page.getByRole("dialog"); - await modal.isVisible(); - await modal.getByRole("textbox").fill("ARCHIVE"); - await modal.getByRole("button", { name: "Archive" }).click(); - await page.waitForResponse( - (response) => - response.url().includes(`reports/archive/WP/${stateAbbreviation}/`) && - response.status() == 200 - ); - await modal.isHidden(); - await page.getByRole("table").isVisible(); - await archiveReports(page); - } -} - -export async function archiveExistingWPs(page: Page) { - await logInAdminUser(page); - await page - .getByRole("combobox", { - name: "List of states, including District of Columbia and Puerto Rico", - }) - .selectOption(stateAbbreviation); - await page.getByLabel("MFP Work Plan").click(); - - await page.getByRole("button", { name: "Go to Report Dashboard" }).click(); - await page.waitForResponse( - (response) => - response.url().includes(`/reports/WP/${stateAbbreviation}`) && - response.status() == 200 - ); - await page.getByRole("table").isVisible(); - await archiveReports(page); - await logOutUser(page); -} diff --git a/tests/e2e/utils/index.ts b/tests/e2e/utils/index.ts index e3941e044..1b4506130 100644 --- a/tests/e2e/utils/index.ts +++ b/tests/e2e/utils/index.ts @@ -1,4 +1,3 @@ export * from "./consts"; export * from "./login"; -export * from "./archive"; export * from "./a11y"; diff --git a/tests/e2e/utils/pageObjects/adminHome.page.ts b/tests/e2e/utils/pageObjects/adminHome.page.ts index bc661873c..943bce86c 100644 --- a/tests/e2e/utils/pageObjects/adminHome.page.ts +++ b/tests/e2e/utils/pageObjects/adminHome.page.ts @@ -19,8 +19,14 @@ export default class AdminHomePage extends BasePage { }); } - public async selectWP() { + public async selectWP(state: string) { + await this.page + .getByRole("combobox", { + name: "List of states, including District of Columbia and Puerto Rico", + }) + .selectOption(state); await this.page.getByRole("radio", { name: "MFP Work Plan" }).click(); + await this.goToDashboard(); } public async selectSAR() { diff --git a/tests/e2e/utils/pageObjects/wp/wpDashboard.page.ts b/tests/e2e/utils/pageObjects/wp/wpDashboard.page.ts index da808c665..adeacb858 100644 --- a/tests/e2e/utils/pageObjects/wp/wpDashboard.page.ts +++ b/tests/e2e/utils/pageObjects/wp/wpDashboard.page.ts @@ -67,4 +67,29 @@ export class WPDashboardPage extends BasePage { .click(); await this.modal.getByRole("button", { name: "Start new" }).click(); } + + public async archiveAllReports() { + const archiveButtons = await this.page + .getByRole("button", { + name: "Archive", + exact: true, + }) + .all(); + + if (archiveButtons.length > 0) { + await archiveButtons[0].click(); + const modal = this.page.getByRole("dialog"); + await modal.isVisible(); + await modal.getByRole("textbox").fill("ARCHIVE"); + await modal.getByRole("button", { name: "Archive" }).click(); + await this.page.waitForResponse( + (response) => + response.url().includes(`reports/archive/WP/${stateAbbreviation}/`) && + response.status() == 200 + ); + await modal.isHidden(); + await this.getReports(); + await this.archiveAllReports(); + } + } } diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts index 8172ccc35..e787276e8 100644 --- a/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts @@ -42,8 +42,15 @@ export class WPDefineInitiativePage extends BasePage { public async fillFields() { await this.description.fill("test"); await this.olderAdultsCheckbox.check(); + await this.olderAdultsCheckbox.blur(); + // ChoiceListField component has a hard timeout in the onblur handler to call the updateReport function and a hard timeout this is how we are working with that. :( + await this.page.waitForTimeout(200); await this.individualsPhysicalCheckbox.check(); + await this.individualsPhysicalCheckbox.blur(); + await this.page.waitForTimeout(200); await this.startDate.fill("01/01/2024"); - await this.endDate.getByLabel("No").click(); + await this.endDate.getByLabel("No").check(); + await this.endDate.getByLabel("No").blur(); + await this.page.waitForTimeout(200); } } diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts index d2caca840..25b85a6eb 100644 --- a/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts @@ -1,4 +1,4 @@ -import { expect, Locator, Page } from "@playwright/test"; +import { Locator, Page } from "@playwright/test"; import BasePage from "../base.page"; import { WPDefineInitiativePage } from "./wpInitiativeDefine.page"; import { WPEvaluationPlanPage } from "./wpInitiativeEvaluation.page"; @@ -44,7 +44,7 @@ export class WPInitiativeOverlayPage extends BasePage { await definePage.isReady(); await definePage.fillFields(); await definePage.saveButton.click(); - await expect(definePage.page.getByRole("alert")).not.toBeVisible(); + await this.defineInitiative.isVisible(); } public async completeEvaluationPlan(page: Page) { @@ -59,6 +59,7 @@ export class WPInitiativeOverlayPage extends BasePage { await evaluationPage.fillFields(); } await evaluationPage.backButton.click(); + await this.evaluationPlan.isVisible(); } public async completeFundingSources(page: Page) { @@ -72,5 +73,6 @@ export class WPInitiativeOverlayPage extends BasePage { await fundingPage.fillFields(); } await fundingPage.backButton.click(); + await this.fundingSources.isVisible(); } } diff --git a/tests/e2e/wp/create.spec.ts b/tests/e2e/wp/create.spec.ts index cbb056a70..154d394ba 100644 --- a/tests/e2e/wp/create.spec.ts +++ b/tests/e2e/wp/create.spec.ts @@ -1,5 +1,4 @@ import { BrowserContext, Page } from "@playwright/test"; -import { archiveExistingWPs, logInStateUser } from "../utils"; import { test, expect } from "../utils/fixtures/base"; import { WPInitiativeOverlayPage } from "../utils/pageObjects/wp/wpInitiativeOverlay.page"; import StateHomePage from "../utils/pageObjects/stateHome.page"; @@ -10,9 +9,12 @@ import { WPTransitionBenchmarkStrategyPage } from "../utils/pageObjects/wp/wpTra import { WPInitiativesInstructionsPage } from "../utils/pageObjects/wp/wpInitiativesInstructions.page"; import { WPInitiativesDashboardPage } from "../utils/pageObjects/wp/wpInitiativesDashboard.page"; import { WPReviewAndSubmitPage } from "../utils/pageObjects/wp/wpReviewAndSubmit.page"; +import AdminHomePage from "../utils/pageObjects/adminHome.page"; let userPage: Page; let userContext: BrowserContext; +let adminPage: Page; +let adminContext: BrowserContext; let homePage: StateHomePage; let wpDashboard: WPDashboardPage; let wpGeneralInformation: WPGeneralInformationPage; @@ -21,12 +23,18 @@ let wpTransitionBenchmarkStrategy: WPTransitionBenchmarkStrategyPage; let wpInitiativesInstructions: WPInitiativesInstructionsPage; let wpInitiativesDashboard: WPInitiativesDashboardPage; let wpReviewAndSubmit: WPReviewAndSubmitPage; +let adminHomePage: AdminHomePage; +let adminWpDashboard: WPDashboardPage; test.beforeAll(async ({ browser }) => { userContext = await browser.newContext({ storageState: "playwright/.auth/user.json", }); + adminContext = await browser.newContext({ + storageState: "playwright/.auth/admin.json", + }); userPage = await userContext.newPage(); + adminPage = await adminContext.newPage(); homePage = new StateHomePage(userPage); wpDashboard = new WPDashboardPage(userPage); @@ -40,6 +48,8 @@ test.beforeAll(async ({ browser }) => { wpInitiativesInstructions = new WPInitiativesInstructionsPage(userPage); wpInitiativesDashboard = new WPInitiativesDashboardPage(userPage); wpReviewAndSubmit = new WPReviewAndSubmitPage(userPage); + adminHomePage = new AdminHomePage(adminPage); + adminWpDashboard = new WPDashboardPage(adminPage); }); test.afterAll(async () => { @@ -47,10 +57,11 @@ test.afterAll(async () => { }); test.describe("Creating a new Work Plan", () => { - test("State user can create a Work Plan", async ({ page }) => { - // TODO: migrate these functions to use the save auth model - await archiveExistingWPs(page); - await logInStateUser(page); + test("State user can create a Work Plan", async () => { + await adminHomePage.goto(); + await adminHomePage.selectWP("PR"); + await adminWpDashboard.reportsReady(); + await adminWpDashboard.archiveAllReports(); // View WPs await homePage.goto(); @@ -95,8 +106,7 @@ test.describe("Creating a new Work Plan", () => { } }); - test("State user can fill and submit a Work Plan", async ({ page }) => { - await logInStateUser(page); + test("State user can fill and submit a Work Plan", async () => { await homePage.goto(); await homePage.wpButton.click(); @@ -154,6 +164,12 @@ test.describe("Creating a new Work Plan", () => { await overlayPage.completeDefineInitiative(userPage); await overlayPage.completeEvaluationPlan(userPage); await overlayPage.completeFundingSources(userPage); + await overlayPage.isReady(); + const errorIcons = await wpReviewAndSubmit.page + .getByAltText("warning icon") + .all(); + await expect(errorIcons.length).toBe(0); + await overlayPage.backButton.click(); } From e98bf89cc1b9011b3cc11bb997925c96259aef91 Mon Sep 17 00:00:00 2001 From: Bangbay Siboliban Date: Thu, 14 Nov 2024 10:54:09 -0500 Subject: [PATCH 33/41] Refactor amplify methods to single file (#801) --- .../app-api/handlers/banners/fetch.test.ts | 2 +- services/app-api/handlers/banners/fetch.ts | 12 +- .../utils/responses/response-lib.test.ts | 2 + .../app-api/utils/responses/response-lib.ts | 7 + .../components/logins/LoginCognito.test.tsx | 36 ++-- .../src/components/logins/LoginCognito.tsx | 6 +- .../src/components/reports/ReportProvider.tsx | 10 +- services/ui-src/src/utils/api/apiLib.test.ts | 185 +++++++++++++----- services/ui-src/src/utils/api/apiLib.ts | 129 +++++++++--- .../utils/api/requestMethods/banner.test.ts | 25 ++- .../src/utils/api/requestMethods/banner.ts | 22 +-- .../requestMethods/getRequestHeaders.test.ts | 32 --- .../api/requestMethods/getRequestHeaders.ts | 13 -- .../api/requestMethods/getTemplateUrl.test.ts | 12 +- .../api/requestMethods/getTemplateUrl.ts | 10 +- .../utils/api/requestMethods/report.test.ts | 39 ++-- .../src/utils/api/requestMethods/report.ts | 62 ++---- .../src/utils/auth/UserProvider.test.tsx | 47 +++-- .../ui-src/src/utils/auth/UserProvider.tsx | 23 ++- .../ui-src/src/utils/auth/authLifecycle.tsx | 6 +- services/ui-src/src/utils/index.ts | 1 - services/ui-src/src/utils/other/print.test.ts | 57 +++--- services/ui-src/src/utils/other/print.ts | 31 ++- .../ui-src/src/utils/testing/setupJest.tsx | 8 +- 24 files changed, 421 insertions(+), 356 deletions(-) delete mode 100644 services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts delete mode 100644 services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts diff --git a/services/app-api/handlers/banners/fetch.test.ts b/services/app-api/handlers/banners/fetch.test.ts index ff3c9b006..e435162c3 100644 --- a/services/app-api/handlers/banners/fetch.test.ts +++ b/services/app-api/handlers/banners/fetch.test.ts @@ -53,7 +53,7 @@ describe("Test fetchBanner API method", () => { expect(consoleSpy.debug).toHaveBeenCalled(); expect(res.body).not.toBeDefined(); - expect(res.statusCode).toBe(StatusCodes.Ok); + expect(res.statusCode).toBe(StatusCodes.NoContent); }); test("Test bannerKey not provided throws 500 error", async () => { diff --git a/services/app-api/handlers/banners/fetch.ts b/services/app-api/handlers/banners/fetch.ts index 61e544165..d484563da 100644 --- a/services/app-api/handlers/banners/fetch.ts +++ b/services/app-api/handlers/banners/fetch.ts @@ -2,13 +2,17 @@ import handler from "../handler-lib"; // utils import { error } from "../../utils/constants/constants"; import { getBanner } from "../../storage/banners"; -import { badRequest, ok } from "../../utils/responses/response-lib"; +import { badRequest, noContent, ok } from "../../utils/responses/response-lib"; export const fetchBanner = handler(async (event, _context) => { - if (!event?.pathParameters?.bannerId!) { + const bannerId = event?.pathParameters?.bannerId; + if (!bannerId) { return badRequest(error.NO_KEY); } - const bannerId = event?.pathParameters?.bannerId!; const banner = await getBanner(bannerId); - return ok(banner); + if (banner) { + return ok(banner); + } + // Instead of 404, return 204 for silent error + return noContent(); }); diff --git a/services/app-api/utils/responses/response-lib.test.ts b/services/app-api/utils/responses/response-lib.test.ts index 3c24cb5eb..4b09e0e94 100644 --- a/services/app-api/utils/responses/response-lib.test.ts +++ b/services/app-api/utils/responses/response-lib.test.ts @@ -1,6 +1,7 @@ import { ok, created, + noContent, badRequest, unauthenticated, forbidden, @@ -13,6 +14,7 @@ describe("HTTP Response helper functions", () => { test("Responses should have correct status codes", () => { expect(ok({}).statusCode).toBe(200); expect(created({}).statusCode).toBe(201); + expect(noContent({}).statusCode).toBe(204); expect(badRequest({}).statusCode).toBe(400); expect(unauthenticated({}).statusCode).toBe(401); expect(forbidden({}).statusCode).toBe(403); diff --git a/services/app-api/utils/responses/response-lib.ts b/services/app-api/utils/responses/response-lib.ts index ea0222c9e..29dcce13d 100644 --- a/services/app-api/utils/responses/response-lib.ts +++ b/services/app-api/utils/responses/response-lib.ts @@ -12,6 +12,12 @@ export const ok = (body?: Object) => new HttpResponse(StatusCodes.Ok, body); export const created = (body: Object) => new HttpResponse(StatusCodes.Created, body); +/** + * The response for a successful request which returns no content. + */ +export const noContent = (body?: Object) => + new HttpResponse(StatusCodes.NoContent, body); + /** * The response for a failed request, due to client-side issues. * Typically indicates a missing parameter or malformed body. @@ -67,6 +73,7 @@ export const internalServerError = (body?: Object) => export enum StatusCodes { Ok = 200, Created = 201, + NoContent = 204, BadRequest = 400, Unauthenticated = 401, Forbidden = 403, diff --git a/services/ui-src/src/components/logins/LoginCognito.test.tsx b/services/ui-src/src/components/logins/LoginCognito.test.tsx index 02bc85d72..b1f9c3b2c 100644 --- a/services/ui-src/src/components/logins/LoginCognito.test.tsx +++ b/services/ui-src/src/components/logins/LoginCognito.test.tsx @@ -6,9 +6,11 @@ import { testA11y } from "utils/testing/commonTests"; // utils import { RouterWrappedComponent } from "utils/testing/setupJest"; -const mockSignIn = jest.fn(); -jest.mock("aws-amplify/auth", () => ({ - signIn: (credentials: any) => mockSignIn(credentials), +const mockLoginUser = jest.fn(); + +jest.mock("utils", () => ({ + loginUser: (username: string, password: string) => + mockLoginUser(username, password), })); const mockUseNavigate = jest.fn(); @@ -24,24 +26,16 @@ const loginCognitoComponent = ( ); describe("", () => { - describe("Renders", () => { - beforeEach(() => { - render(loginCognitoComponent); - }); - - test("LoginCognito login calls amplify auth login", async () => { - const emailInput = screen.getByLabelText("Email"); - const passwordInput = screen.getByLabelText("Password"); - const submitButton = screen.getByRole("button"); - await userEvent.type(emailInput, "email@address.com"); - await userEvent.type(passwordInput, "p@$$w0rd"); //pragma: allowlist secret - await userEvent.click(submitButton); - expect(mockSignIn).toHaveBeenCalledWith({ - username: "email@address.com", - password: "p@$$w0rd", //pragma: allowlist secret - }); - expect(mockUseNavigate).toHaveBeenCalledWith("/"); - }); + test("LoginCognito login calls amplify auth login", async () => { + render(loginCognitoComponent); + const emailInput = screen.getByLabelText("Email"); + const passwordInput = screen.getByLabelText("Password"); + const submitButton = screen.getByRole("button"); + await userEvent.type(emailInput, "email@address.com"); + await userEvent.type(passwordInput, "test"); + await userEvent.click(submitButton); + expect(mockLoginUser).toHaveBeenCalledWith("email@address.com", "test"); + expect(mockUseNavigate).toHaveBeenCalledWith("/"); }); testA11y(loginCognitoComponent); diff --git a/services/ui-src/src/components/logins/LoginCognito.tsx b/services/ui-src/src/components/logins/LoginCognito.tsx index e8ea313ad..26bb441a8 100644 --- a/services/ui-src/src/components/logins/LoginCognito.tsx +++ b/services/ui-src/src/components/logins/LoginCognito.tsx @@ -1,10 +1,10 @@ import { useState } from "react"; import { useNavigate } from "react-router-dom"; -import { signIn } from "aws-amplify/auth"; // components import { Box, Button, Heading, Input, Stack, Text } from "@chakra-ui/react"; import { ErrorAlert } from "components"; import { ErrorVerbiage } from "types"; +import { loginUser } from "utils"; const useFormFields = (initialState: any) => { const [fields, setValues] = useState(initialState); @@ -32,8 +32,8 @@ export const LoginCognito = () => { const handleLogin = async (event: any) => { event.preventDefault(); try { - await signIn({ username: fields.email, password: fields.password }); - navigate(`/`); + await loginUser(fields.email, fields.password); + navigate("/"); } catch (error: any) { let errorMessage: ErrorVerbiage = { title: "Unable to login", diff --git a/services/ui-src/src/components/reports/ReportProvider.tsx b/services/ui-src/src/components/reports/ReportProvider.tsx index 7b55c2823..ce7f221f5 100644 --- a/services/ui-src/src/components/reports/ReportProvider.tsx +++ b/services/ui-src/src/components/reports/ReportProvider.tsx @@ -154,7 +154,12 @@ export const ReportProvider = ({ children }: Props) => { report: ReportShape ) => { try { - const result = await postReport(reportType, state, report); + // TODO: Remove casting + const result = (await postReport( + reportType, + state, + report + )) as ReportShape; hydrateAndSetReport(result); setLastSavedTime(getLocalHourMinuteTime()); setWorkPlanToCopyFrom(undefined); @@ -166,7 +171,8 @@ export const ReportProvider = ({ children }: Props) => { const updateReport = async (reportKeys: ReportKeys, report: ReportShape) => { try { - const result = await putReport(reportKeys, report); + // TODO: Remove casting + const result = (await putReport(reportKeys, report)) as ReportShape; hydrateAndSetReport(result); setLastSavedTime(getLocalHourMinuteTime()); setError(undefined); diff --git a/services/ui-src/src/utils/api/apiLib.test.ts b/services/ui-src/src/utils/api/apiLib.test.ts index d81690260..0420b1e88 100644 --- a/services/ui-src/src/utils/api/apiLib.test.ts +++ b/services/ui-src/src/utils/api/apiLib.test.ts @@ -1,70 +1,163 @@ -import { apiLib } from "./apiLib"; -import { updateTimeout } from "utils"; +import { + authenticateWithIDM, + del, + get, + getRequestHeaders, + getTokens, + loginUser, + logoutUser, + post, + put, + refreshSession, +} from "utils"; -const mockAmplifyApi = require("aws-amplify/api"); +const mockResponse = (method?: string) => ({ + response: { body: { json: () => ({ test: method }) } }, +}); +const mockDelete = jest.fn().mockImplementation(() => ({ response: {} })); +const mockGet = jest.fn().mockImplementation(() => mockResponse("get")); +const mockPost = jest.fn().mockImplementation(() => mockResponse("post")); +const mockPut = jest.fn().mockImplementation(() => mockResponse("put")); +const mockSession = jest.fn(); +const mockSignInWithRedirect = jest.fn(); +const mockSignIn = jest.fn(); +const mockSignOut = jest.fn(); +const mockTimeout = jest.fn(); + +jest.mock("aws-amplify/api", () => ({ + del: () => mockDelete(), + get: () => mockGet(), + post: () => mockPost(), + put: () => mockPut(), +})); -jest.mock("utils", () => ({ - updateTimeout: jest.fn(), +jest.mock("aws-amplify/auth", () => ({ + fetchAuthSession: () => mockSession(), + signIn: () => mockSignIn(), + signOut: () => mockSignOut(), + signInWithRedirect: () => mockSignInWithRedirect(), })); -const path = "my/url"; -const mockOptions = { - headers: { - "x-api-key": "mock key", - }, - body: { - foo: "bar", - }, -}; -const requestObj = { - apiName: "mfp", - path, - options: mockOptions, -}; - -describe("API lib", () => { +jest.mock("utils/auth/authLifecycle", () => ({ + updateTimeout: () => mockTimeout(), +})); + +describe("utils/api/apiLib", () => { beforeEach(() => { jest.clearAllMocks(); }); - test("Calling post should update the session timeout", async () => { - const apiSpy = jest.spyOn(mockAmplifyApi, "post"); - await apiLib.post(path, mockOptions); + describe("getRequestHeaders()", () => { + test("Logs error to console if Auth throws error", async () => { + jest.spyOn(console, "log").mockImplementation(jest.fn()); + const spy = jest.spyOn(console, "log"); + + mockSession.mockImplementation(() => { + throw new Error(); + }); + + await getRequestHeaders(); - expect(apiSpy).toBeCalledWith(requestObj); - expect(updateTimeout).toBeCalled(); + expect(spy).toHaveBeenCalledTimes(1); + }); + + test("Returns token if current idToken exists", async () => { + mockSession.mockResolvedValue({ + tokens: { + idToken: { + toString: () => "stringToken", + }, + }, + }); + + const result = await getRequestHeaders(); + + expect(result).toStrictEqual({ "x-api-key": "stringToken" }); + }); }); - test("Calling put should update the session timeout", async () => { - const apiSpy = jest.spyOn(mockAmplifyApi, "put"); - await apiLib.put(path, mockOptions); + test("getTokens()", async () => { + await getTokens(); + expect(mockSession).toHaveBeenCalledTimes(1); + }); - expect(apiSpy).toBeCalledWith(requestObj); - expect(updateTimeout).toBeCalled(); + test("authenticateWithIDM()", async () => { + await authenticateWithIDM(); + expect(mockSignInWithRedirect).toHaveBeenCalledTimes(1); }); - test("Calling get should update the session timeout", async () => { - const apiSpy = jest.spyOn(mockAmplifyApi, "get"); - await apiLib.get(path, mockOptions); + test("loginUser()", async () => { + await loginUser("email@address.com", "test"); + expect(mockSignIn).toHaveBeenCalledTimes(1); + }); - expect(apiSpy).toBeCalledWith(requestObj); - expect(updateTimeout).toBeCalled(); + test("logoutUser()", async () => { + await logoutUser(); + expect(mockSignOut).toHaveBeenCalledTimes(1); }); - test("Calling del should update the session timeout", async () => { - const apiSpy = jest.spyOn(mockAmplifyApi, "del"); - await apiLib.del(path, mockOptions); + test("refreshSession()", async () => { + await refreshSession(); + expect(mockSession).toHaveBeenCalledTimes(1); + }); + + test("del()", async () => { + const test = async () => await del("/del"); + await expect(test()).resolves.toBeUndefined(); + expect(mockDelete).toHaveBeenCalledTimes(1); + expect(mockTimeout).toHaveBeenCalledTimes(1); + }); + + test("get()", async () => { + const test = async () => await get("/get"); + await expect(test()).resolves.toEqual({ test: "get" }); + expect(mockGet).toHaveBeenCalledTimes(1); + expect(mockTimeout).toHaveBeenCalledTimes(1); + }); + + test("post()", async () => { + const test = async () => await post("/post"); + await expect(test()).resolves.toEqual({ test: "post" }); + expect(mockPost).toHaveBeenCalledTimes(1); + expect(mockTimeout).toHaveBeenCalledTimes(1); + }); - expect(apiSpy).toBeCalledWith(requestObj); - expect(updateTimeout).toBeCalled(); + test("put()", async () => { + const test = async () => await put("/put"); + await expect(test()).resolves.toEqual({ test: "put" }); + expect(mockPut).toHaveBeenCalledTimes(1); + expect(mockTimeout).toHaveBeenCalledTimes(1); }); - test("API errors should be surfaced for handling", async () => { - const apiSpy = jest.spyOn(mockAmplifyApi, "del"); - apiSpy.mockImplementationOnce(() => { - throw new Error("500"); + test("API error throws with response info", async () => { + jest.spyOn(console, "log").mockImplementation(jest.fn()); + const spy = jest.spyOn(console, "log"); + + mockGet.mockImplementationOnce(() => { + throw { + response: { + body: "Error Info", + }, + }; + }); + + await expect(get("/get")).rejects.toThrow( + "Request Failed - /get - Error Info" + ); + expect(spy).toHaveBeenCalledTimes(2); + }); + + test("API error throws without response info", async () => { + jest.spyOn(console, "log").mockImplementation(jest.fn()); + const spy = jest.spyOn(console, "log"); + + mockPost.mockImplementationOnce(() => { + throw "String Error"; }); - await expect(apiLib.del(path, mockOptions)).rejects.toThrow(Error); + await expect(post("/post")).rejects.toThrow( + "Request Failed - /post - undefined" + ); + expect(spy).toHaveBeenCalledTimes(2); }); }); diff --git a/services/ui-src/src/utils/api/apiLib.ts b/services/ui-src/src/utils/api/apiLib.ts index 4f9d5e969..23505ebf7 100644 --- a/services/ui-src/src/utils/api/apiLib.ts +++ b/services/ui-src/src/utils/api/apiLib.ts @@ -1,37 +1,116 @@ /* eslint-disable no-console */ -import { get, put, post, del } from "aws-amplify/api"; -import { AnyObject } from "types"; + +import { + del as ampDel, + get as ampGet, + post as ampPost, + put as ampPut, +} from "aws-amplify/api"; +import { + AuthTokens, + fetchAuthSession, + signIn, + signInWithRedirect, + signOut, +} from "aws-amplify/auth"; import { updateTimeout } from "utils"; const apiName = "mfp"; -/** - * Wrap the AWS API so we can handle any before or after behaviors. - * Below we just key off of these API calls as our source of user activity to make sure - * credentials don't expire. - */ -const apiRequest = async (request: any, path: string, options: AnyObject) => { +interface RequestHeaders { + "x-api-key": string | undefined; +} + +export interface RequestOptions { + body: any; +} + +export async function getRequestHeaders(): Promise { + try { + const tokens = await getTokens(); + const headers = { + "x-api-key": tokens?.idToken?.toString(), + }; + + return headers; + } catch (error) { + console.log(error); + return; + } +} + +export async function getTokens(): Promise { + return (await fetchAuthSession()).tokens; +} + +export async function authenticateWithIDM(): Promise { + await signInWithRedirect({ provider: { custom: "Okta" } }); +} + +export async function loginUser( + username: string, + password: string +): Promise { + await signIn({ username, password }); +} + +export async function logoutUser(): Promise { + await signOut(); +} + +export async function refreshSession(): Promise { + await fetchAuthSession({ forceRefresh: true }); +} + +export async function apiRequest( + request: any, + path: string, + opts?: RequestOptions, + customApiName?: string, + hasResponseBody?: Boolean +): Promise { + const requestHeaders = await getRequestHeaders(); + const options = { + headers: { ...requestHeaders }, + ...opts, + }; + const name = customApiName || apiName; + try { - updateTimeout(); - const { body } = await request({ apiName, path, options }).response; - const res = await body.text(); // body.json() dies on an empty response, spectacularly - return res && res.length > 0 ? JSON.parse(res) : null; + await updateTimeout(); + + const { body, statusCode } = await request({ apiName: name, path, options }) + .response; + + if (hasResponseBody === false || statusCode === 204) { + return undefined as unknown as T; + } + + return (await body.json()) as unknown as T; } catch (e: any) { - // Return our own error for handling in the app const info = `Request Failed - ${path} - ${e.response?.body}`; console.log(e); console.log(info); throw new Error(info); } -}; - -export const apiLib = { - del: async (path: string, options: AnyObject) => - apiRequest(del, path, options), - get: async (path: string, options: AnyObject) => - apiRequest(get, path, options), - post: async (path: string, options: AnyObject) => - apiRequest(post, path, options), - put: async (path: string, options: AnyObject) => - apiRequest(put, path, options), -}; +} + +export async function del(path: string, opts?: RequestOptions): Promise { + return apiRequest(ampDel, path, opts, undefined, false); +} + +export async function get(path: string, opts?: RequestOptions): Promise { + return apiRequest(ampGet, path, opts); +} + +export async function post( + path: string, + opts?: RequestOptions, + customApiName?: string +): Promise { + return apiRequest(ampPost, path, opts, customApiName); +} + +export async function put(path: string, opts?: RequestOptions): Promise { + return apiRequest(ampPut, path, opts); +} diff --git a/services/ui-src/src/utils/api/requestMethods/banner.test.ts b/services/ui-src/src/utils/api/requestMethods/banner.test.ts index b1bed6d22..d3eeead29 100644 --- a/services/ui-src/src/utils/api/requestMethods/banner.test.ts +++ b/services/ui-src/src/utils/api/requestMethods/banner.test.ts @@ -2,35 +2,34 @@ import { getBanner, writeBanner, deleteBanner } from "./banner"; // utils import { bannerId } from "../../../constants"; import { mockBannerData } from "utils/testing/setupJest"; -import { AnyObject } from "types"; -const mockDel = jest.fn(); +const mockDelete = jest.fn(); const mockGet = jest.fn(); const mockPost = jest.fn(); -jest.mock("../apiLib", () => ({ - apiLib: { - del: (path: string, options: AnyObject) => mockDel(path, options), - get: (path: string, options: AnyObject) => mockGet(path, options), - post: (path: string, options: AnyObject) => mockPost(path, options), - }, + +jest.mock("utils", () => ({ + del: () => mockDelete(), + get: () => mockGet(), + post: () => mockPost(), })); -describe("Test banner methods", () => { +describe("utils/requestMethods/banner", () => { beforeEach(() => { jest.clearAllMocks(); }); - test("getBanner", async () => { + + test("getBanner()", async () => { await getBanner(bannerId); expect(mockGet).toHaveBeenCalledTimes(1); }); - test("postBanner", async () => { + test("postBanner()", async () => { await writeBanner(mockBannerData); expect(mockPost).toHaveBeenCalledTimes(1); }); - test("delBanner", async () => { + test("deleteBanner()", async () => { await deleteBanner(bannerId); - expect(mockDel).toHaveBeenCalledTimes(1); + expect(mockDelete).toHaveBeenCalledTimes(1); }); }); diff --git a/services/ui-src/src/utils/api/requestMethods/banner.ts b/services/ui-src/src/utils/api/requestMethods/banner.ts index 73d0d2990..b17263712 100644 --- a/services/ui-src/src/utils/api/requestMethods/banner.ts +++ b/services/ui-src/src/utils/api/requestMethods/banner.ts @@ -1,36 +1,22 @@ -import { getRequestHeaders } from "./getRequestHeaders"; import { AdminBannerData } from "types/banners"; -import { apiLib } from "utils"; +import { del, get, post } from "utils"; async function getBanner(bannerKey: string) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; const path = `/banners/${bannerKey}`; - - return await apiLib.get(path, options); + return get(path); } async function writeBanner(bannerData: AdminBannerData) { - const requestHeaders = await getRequestHeaders(); const options = { - headers: { ...requestHeaders }, body: bannerData, }; const path = `/banners/${bannerData.key}`; - - await apiLib.post(path, options); + return post(path, options); } async function deleteBanner(bannerKey: string) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; const path = `/banners/${bannerKey}`; - - await apiLib.del(path, options); + return del(path); } export { getBanner, writeBanner, deleteBanner }; diff --git a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts b/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts deleted file mode 100644 index af96f4182..000000000 --- a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { getRequestHeaders } from "./getRequestHeaders"; - -const mockAmplify = require("aws-amplify/auth"); - -describe("utils/getRequestHeaders", () => { - test("Logs error to console if Auth throws error", async () => { - jest.spyOn(console, "log").mockImplementation(jest.fn()); - const spy = jest.spyOn(console, "log"); - - mockAmplify.fetchAuthSession = jest.fn().mockImplementation(() => { - throw new Error(); - }); - - await getRequestHeaders(); - - await expect(spy).toHaveBeenCalled(); - }); - - test("Returns token if current idToken exists", async () => { - mockAmplify.fetchAuthSession = jest.fn().mockResolvedValue({ - tokens: { - idToken: { - toString: () => "stringToken", - }, - }, - }); - - const result = await getRequestHeaders(); - - expect(result).toStrictEqual({ "x-api-key": "stringToken" }); - }); -}); diff --git a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts b/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts deleted file mode 100644 index 0149cee6c..000000000 --- a/services/ui-src/src/utils/api/requestMethods/getRequestHeaders.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { fetchAuthSession } from "aws-amplify/auth"; - -export const getRequestHeaders = async (): Promise => { - try { - const { idToken } = (await fetchAuthSession()).tokens ?? {}; - const headers = { - "x-api-key": idToken?.toString(), - }; - return headers; - } catch (error) { - console.log(error); //eslint-disable-line no-console - } -}; diff --git a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts index eef5effda..020391968 100644 --- a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts +++ b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.test.ts @@ -1,17 +1,15 @@ -import { AnyObject } from "types"; import { getSignedTemplateUrl } from "./getTemplateUrl"; const testTemplateName = "TestName"; const mockGet = jest.fn(); -jest.mock("../apiLib", () => ({ - apiLib: { - get: (path: string, options: AnyObject) => mockGet(path, options), - }, + +jest.mock("utils", () => ({ + get: () => mockGet(), })); -describe("Test template methods", () => { - test("getSignedTemplateUrl", async () => { +describe("utils/requestMethods/getTemplateUrl", () => { + test("getSignedTemplateUrl()", async () => { await getSignedTemplateUrl(testTemplateName); expect(mockGet).toHaveBeenCalledTimes(1); }); diff --git a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts index 9b7c03e84..0db1a6ef1 100644 --- a/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts +++ b/services/ui-src/src/utils/api/requestMethods/getTemplateUrl.ts @@ -1,11 +1,5 @@ -import { getRequestHeaders } from "./getRequestHeaders"; -import { apiLib } from "utils"; +import { get } from "utils"; export async function getSignedTemplateUrl(templateName: string) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; - - return await apiLib.get(`/templates/${templateName}`, options); + return get(`/templates/${templateName}`); } diff --git a/services/ui-src/src/utils/api/requestMethods/report.test.ts b/services/ui-src/src/utils/api/requestMethods/report.test.ts index 854ab9e78..7135b8d1a 100644 --- a/services/ui-src/src/utils/api/requestMethods/report.test.ts +++ b/services/ui-src/src/utils/api/requestMethods/report.test.ts @@ -8,65 +8,66 @@ import { releaseReport, submitReport, } from "./report"; -// types -import { AnyObject } from "types"; // utils import { mockReportKeys, mockWPReport } from "utils/testing/setupJest"; +import { initAuthManager } from "utils/auth/authLifecycle"; -const mockDel = jest.fn(); +const mockDelete = jest.fn(); const mockGet = jest.fn(); const mockPost = jest.fn(); const mockPut = jest.fn(); -jest.mock("../apiLib", () => ({ - apiLib: { - del: (path: string, options: AnyObject) => mockDel(path, options), - get: (path: string, options: AnyObject) => mockGet(path, options), - post: (path: string, options: AnyObject) => mockPost(path, options), - put: (path: string, options: AnyObject) => mockPut(path, options), - }, + +jest.mock("utils", () => ({ + del: () => mockDelete(), + get: () => mockGet(), + post: () => mockPost(), + put: () => mockPut(), })); -describe("utils/report", () => { +describe("utils/requestMethods/report", () => { beforeEach(() => { + jest.useFakeTimers(); + initAuthManager(); + jest.runAllTimers(); jest.clearAllMocks(); }); - test("approveReport", async () => { + test("approveReport()", async () => { await approveReport(mockReportKeys, mockWPReport); expect(mockPut).toHaveBeenCalledTimes(1); }); - test("archiveReport", async () => { + test("archiveReport()", async () => { await archiveReport(mockReportKeys); expect(mockPut).toHaveBeenCalledTimes(1); }); - test("getReport", async () => { + test("getReport()", async () => { await getReport(mockReportKeys); expect(mockGet).toHaveBeenCalledTimes(1); }); - test("getReportsByState", async () => { + test("getReportsByState()", async () => { await getReportsByState("WP", "NJ"); expect(mockGet).toHaveBeenCalledTimes(1); }); - test("postReport", async () => { + test("postReport()", async () => { await postReport("WP", "NJ", mockWPReport); expect(mockPost).toHaveBeenCalledTimes(1); }); - test("putReport", async () => { + test("putReport()", async () => { await putReport(mockReportKeys, mockWPReport); expect(mockPut).toHaveBeenCalledTimes(1); }); - test("releaseReport", async () => { + test("releaseReport()", async () => { await releaseReport(mockReportKeys); expect(mockPut).toHaveBeenCalledTimes(1); }); - test("submitReport", async () => { + test("submitReport()", async () => { await submitReport(mockReportKeys); expect(mockPost).toHaveBeenCalledTimes(1); }); diff --git a/services/ui-src/src/utils/api/requestMethods/report.ts b/services/ui-src/src/utils/api/requestMethods/report.ts index 8fe5a1dae..2a8d6f4b5 100644 --- a/services/ui-src/src/utils/api/requestMethods/report.ts +++ b/services/ui-src/src/utils/api/requestMethods/report.ts @@ -1,101 +1,67 @@ -import { AnyObject, ReportKeys } from "types"; -import { getRequestHeaders } from "./getRequestHeaders"; -import { apiLib } from "utils"; +import { AnyObject, ReportShape, ReportKeys } from "types"; +import { get, post, put } from "utils"; async function archiveReport(reportKeys: ReportKeys) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; const { reportType, state, id } = reportKeys; const path = `/reports/archive/${reportType}/${state}/${id}`; - - await apiLib.put(path, options); + return put(path); } async function getReportsByState(reportType: string, state: string) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; const path = `/reports/${reportType}/${state}`; - - return await apiLib.get(path, options); + return get(path); } async function getReport(reportKeys: ReportKeys) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; const { reportType, state, id } = reportKeys; const path = `/reports/${reportType}/${state}/${id}`; - - return await apiLib.get(path, options); + return get(path); } /** - * @todo Swap report from AnyObject to a ReportMetaData + FieldData type + * TODO: Swap report from AnyObject to a ReportMetaData + FieldData type */ async function postReport( reportType: string, state: string, report: AnyObject ) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, + const options: any = { body: { ...report }, }; const path = `/reports/${reportType}/${state}`; - - return await apiLib.post(path, options); + return post(path, options); } async function putReport(reportKeys: ReportKeys, report: AnyObject) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, + const options: any = { body: { ...report }, }; const { reportType, state, id } = reportKeys; const path = `/reports/${reportType}/${state}/${id}`; - return await apiLib.put(path, options); + return put(path, options); } async function releaseReport(reportKeys: ReportKeys) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; const { reportType, state, id } = reportKeys; const path = `/reports/release/${reportType}/${state}/${id}`; - - await apiLib.put(path, options); + return put(path); } async function submitReport(reportKeys: ReportKeys) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, - }; const { reportType, state, id } = reportKeys; const path = `/reports/submit/${reportType}/${state}/${id}`; - - return await apiLib.post(path, options); + return post(path); } async function approveReport(reportKeys: ReportKeys, report: AnyObject) { - const requestHeaders = await getRequestHeaders(); - const options = { - headers: { ...requestHeaders }, + const options: any = { body: { ...report }, }; const { reportType, state, id } = reportKeys; const path = `/reports/approve/${reportType}/${state}/${id}`; - - await apiLib.put(path, options); + return put(path, options); } export { diff --git a/services/ui-src/src/utils/auth/UserProvider.test.tsx b/services/ui-src/src/utils/auth/UserProvider.test.tsx index f3343ab56..5d9ddd5ef 100644 --- a/services/ui-src/src/utils/auth/UserProvider.test.tsx +++ b/services/ui-src/src/utils/auth/UserProvider.test.tsx @@ -6,7 +6,18 @@ import { act } from "react-dom/test-utils"; import { UserContext, UserProvider, useStore } from "utils"; import { mockUseStore, RouterWrappedComponent } from "utils/testing/setupJest"; +const mockAuthenticateWithIDM = jest.fn(); +const mockGetTokens = jest.fn(); +const mockLogoutUser = jest.fn(); + +jest.mock("utils/api/apiLib", () => ({ + authenticateWithIDM: () => mockAuthenticateWithIDM(), + getTokens: () => mockGetTokens(), + logoutUser: () => mockLogoutUser(), +})); + jest.mock("utils/state/useStore"); + const mockSetUser = jest.fn(); const mockedUseStore = useStore as jest.MockedFunction; mockedUseStore.mockReturnValue({ @@ -31,7 +42,7 @@ const TestComponent = () => { User Test

- {mockedUseStore().showLocalLogins + {context.showLocalLogins ? "showLocalLogins is true" : "showLocalLogins is false"}

@@ -65,13 +76,6 @@ const setWindowOrigin = (windowOrigin: string) => { }); }; -const breakCheckAuthState = async () => { - const mockAmplify = require("aws-amplify/auth"); - mockAmplify.currentSession = jest.fn().mockImplementation(() => { - throw new Error(); - }); -}; - // TESTS describe("", () => { @@ -114,7 +118,6 @@ describe("", () => { describe("Test UserProvider with production path", () => { test("test production authenticates with idm when current authenticated user throws an error", async () => { setWindowOrigin("mdctmfp.cms.gov"); - await breakCheckAuthState(); await act(async () => { render(testComponent); }); @@ -126,7 +129,6 @@ describe("", () => { describe("Test UserProvider with non-production path", () => { test("Non-production error state correctly sets showLocalLogins", async () => { setWindowOrigin("wherever"); - await breakCheckAuthState(); await act(async () => { render(testComponent); }); @@ -141,36 +143,31 @@ describe("", () => { jest.spyOn(console, "log").mockImplementation(jest.fn()); const spy = jest.spyOn(console, "log"); - const mockAmplify = require("aws-amplify/auth"); - mockAmplify.signOut = jest.fn().mockImplementation(() => { + mockLogoutUser.mockImplementation(() => { throw new Error(); }); await act(async () => { render(testComponent); }); - await act(async () => { const logoutButton = screen.getByTestId("logout-button"); await userEvent.click(logoutButton); }); - expect(spy).toHaveBeenCalled(); + expect(spy).toHaveBeenCalledTimes(1); }); }); test("test check auth function", async () => { - const mockAmplify = require("aws-amplify/auth"); - mockAmplify.fetchAuthSession = jest.fn().mockResolvedValue({ - tokens: { - idToken: { - payload: { - email: "email@address.com", - given_name: "first", - family_name: "last", - "custom:cms_roles": "roles", - "custom:cms_state": "ZZ", - }, + mockGetTokens.mockResolvedValue({ + idToken: { + payload: { + email: "email@address.com", + given_name: "first", + family_name: "last", + "custom:cms_roles": "roles", + "custom:cms_state": "ZZ", }, }, }); diff --git a/services/ui-src/src/utils/auth/UserProvider.tsx b/services/ui-src/src/utils/auth/UserProvider.tsx index c03c32c44..e2fd4a883 100644 --- a/services/ui-src/src/utils/auth/UserProvider.tsx +++ b/services/ui-src/src/utils/auth/UserProvider.tsx @@ -6,13 +6,16 @@ import { useMemo, } from "react"; import { useLocation } from "react-router-dom"; -import { - fetchAuthSession, - signInWithRedirect, - signOut, -} from "aws-amplify/auth"; import config from "config"; -import { initAuthManager, updateTimeout, getExpiration, useStore } from "utils"; +import { + authenticateWithIDM, + getExpiration, + getTokens, + initAuthManager, + logoutUser, + updateTimeout, + useStore, +} from "utils"; import { PRODUCTION_HOST_DOMAIN } from "../../constants"; import { MFPUser, UserContextShape, UserRoles } from "types/users"; @@ -24,10 +27,6 @@ export const UserContext = createContext({ getExpiration: () => {}, }); -const authenticateWithIDM = async () => { - await signInWithRedirect({ provider: { custom: "Okta" } }); -}; - export const UserProvider = ({ children }: Props) => { const location = useLocation(); const isProduction = window.location.origin.includes(PRODUCTION_HOST_DOMAIN); @@ -41,7 +40,7 @@ export const UserProvider = ({ children }: Props) => { const logout = async () => { try { setUser(undefined); - await signOut(); + await logoutUser(); localStorage.clear(); } catch (error) { console.log(error); // eslint-disable-line no-console @@ -57,7 +56,7 @@ export const UserProvider = ({ children }: Props) => { } try { - const tokens = (await fetchAuthSession()).tokens; + const tokens = await getTokens(); if (!tokens?.idToken) { throw new Error("Missing tokens auth session."); } diff --git a/services/ui-src/src/utils/auth/authLifecycle.tsx b/services/ui-src/src/utils/auth/authLifecycle.tsx index 6c79bcb3c..6a63f40bb 100644 --- a/services/ui-src/src/utils/auth/authLifecycle.tsx +++ b/services/ui-src/src/utils/auth/authLifecycle.tsx @@ -1,7 +1,7 @@ -import { fetchAuthSession, signOut } from "aws-amplify/auth"; import { Hub } from "aws-amplify/utils"; import { add } from "date-fns"; import { IDLE_WINDOW } from "../../constants"; +import { logoutUser, refreshSession } from "utils"; let authManager: AuthManager; @@ -19,7 +19,7 @@ class AuthManager { expiration && new Date(expiration).valueOf() < Date.now().valueOf(); if (isExpired) { localStorage.removeItem("mdctmfp_session_exp"); - signOut().then(() => { + logoutUser().then(() => { window.location.href = "/"; }); } @@ -48,7 +48,7 @@ class AuthManager { * Manual refresh of credentials paired with an instant timer clear */ refreshCredentials = async () => { - await fetchAuthSession({ forceRefresh: true }); // Force a token refresh + await refreshSession(); // Force a token refresh this.setTimer(); }; diff --git a/services/ui-src/src/utils/index.ts b/services/ui-src/src/utils/index.ts index b1379b3a7..289b01011 100644 --- a/services/ui-src/src/utils/index.ts +++ b/services/ui-src/src/utils/index.ts @@ -2,7 +2,6 @@ export * from "./api/apiLib"; export * from "./api/providers/ApiProvider"; export * from "./api/requestMethods/banner"; -export * from "./api/requestMethods/getRequestHeaders"; export * from "./api/requestMethods/getTemplateUrl"; export * from "./api/requestMethods/report"; // auth diff --git a/services/ui-src/src/utils/other/print.test.ts b/services/ui-src/src/utils/other/print.test.ts index b878dc771..450ae4dca 100644 --- a/services/ui-src/src/utils/other/print.test.ts +++ b/services/ui-src/src/utils/other/print.test.ts @@ -1,23 +1,24 @@ -import { printPdf } from "utils"; +import { printPdf, RequestOptions } from "utils"; import config from "config"; -const mockAmplifyApi = require("aws-amplify/api"); +const mockPost = jest.fn(); +jest.mock("utils/api/apiLib", () => ({ + post: (path: string, opts?: RequestOptions, apiName?: string) => + mockPost(path, opts, apiName), +})); const testBody = "

Hello

<"; const originalURLConfig = config.DEV_API_URL; window.open = jest.fn(); -const expectedDevRequestObject = { - apiName: "mfpDev", - options: { - body: { - encodedHtml: - "PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxoMT5IZWxsbzwvaDE+Jmx0OzwvYm9keT48L2h0bWw+", //pragma: allowlist secret - }, - headers: { "x-api-key": undefined }, +const path = "/print_pdf"; +const options = { + body: { + encodedHtml: + "PGh0bWw+PGhlYWQ+PC9oZWFkPjxib2R5PjxoMT5IZWxsbzwvaDE+Jmx0OzwvYm9keT48L2h0bWw+", //pragma: allowlist secret }, - path: "/print_pdf", }; +const apiName = "mfpDev"; describe("utils/print", () => { describe("printPdf()", () => { @@ -32,40 +33,28 @@ describe("utils/print", () => { }); test("Call to the dev api if an env flag is provided", async () => { - const apiSpy = jest.spyOn(mockAmplifyApi, "post"); - apiSpy.mockImplementation(() => ({ - response: Promise.resolve({ - body: { - json: () => Promise.resolve(btoa(testBody)), - }, - }), - })); + mockPost.mockImplementation(() => + Buffer.from(testBody).toString("base64") + ); config.DEV_API_URL = "test.com"; document.body.innerHTML = testBody; await printPdf(); - expect(apiSpy).toHaveBeenCalledTimes(1); - expect(apiSpy).toHaveBeenCalledWith(expectedDevRequestObject); + expect(mockPost).toHaveBeenCalledTimes(1); + expect(mockPost).toHaveBeenCalledWith(path, options, apiName); expect(window.open).toBeCalled(); }); test("Calls normal API env flag is not provided", async () => { - const apiSpy = jest.spyOn(mockAmplifyApi, "post"); - apiSpy.mockImplementation(() => ({ - response: Promise.resolve({ - body: { - json: () => Promise.resolve(btoa(testBody)), - }, - }), - })); + mockPost.mockImplementation(() => + Buffer.from(testBody).toString("base64") + ); + config.DEV_API_URL = null; await printPdf(); - expect(apiSpy).toHaveBeenCalledTimes(1); - expect(apiSpy).toHaveBeenCalledWith({ - ...expectedDevRequestObject, - apiName: "mfp", - }); + expect(mockPost).toHaveBeenCalledTimes(1); + expect(mockPost).toHaveBeenCalledWith(path, options, undefined); expect(window.open).toBeCalled(); }); }); diff --git a/services/ui-src/src/utils/other/print.ts b/services/ui-src/src/utils/other/print.ts index 66d0eee5a..4db0a897c 100644 --- a/services/ui-src/src/utils/other/print.ts +++ b/services/ui-src/src/utils/other/print.ts @@ -1,12 +1,18 @@ -import { getRequestHeaders } from "utils"; -import { post } from "aws-amplify/api"; import config from "config"; +import { post } from "utils"; export const printPdf = async () => { const noscriptTag = document.querySelector("noscript"); if (noscriptTag) { noscriptTag.remove(); } + const path = "/print_pdf"; + let apiName; + + if (config.DEV_API_URL) { + apiName = "mfpDev"; + } + const htmlString = document! .querySelector("html")! .outerHTML.replaceAll( @@ -19,27 +25,18 @@ export const printPdf = async () => { .replaceAll(`“`, `"`) .replaceAll("\u2013", "-") .replaceAll("\u2014", "-"); - const base64String = btoa(unescape(encodeURIComponent(htmlString))); - const requestHeaders = await getRequestHeaders(); + + const base64String = Buffer.from(htmlString, "utf-8").toString("base64"); const options = { - headers: { ...requestHeaders }, body: { encodedHtml: base64String }, }; - const path = `/print_pdf`; - const apiName = config.DEV_API_URL ? "mfpDev" : "mfp"; - const { body } = await post({ apiName, path, options }).response; - const response = (await body.json()) as string; + const response = await post(path, options, apiName); openPdf(response); }; const openPdf = (basePdf: string) => { - let byteCharacters = atob(basePdf); - let byteNumbers = new Array(byteCharacters.length); - for (let i = 0; i < byteCharacters.length; i++) { - byteNumbers[i] = byteCharacters.charCodeAt(i); - } - let byteArray = new Uint8Array(byteNumbers); - let file = new Blob([byteArray], { type: "application/pdf;base64" }); - let fileURL = URL.createObjectURL(file); + const byteArray = new Uint8Array(Buffer.from(basePdf, "base64")); + const file = new Blob([byteArray], { type: "application/pdf" }); + const fileURL = URL.createObjectURL(file); window.open(fileURL); }; diff --git a/services/ui-src/src/utils/testing/setupJest.tsx b/services/ui-src/src/utils/testing/setupJest.tsx index 363527375..048409d75 100644 --- a/services/ui-src/src/utils/testing/setupJest.tsx +++ b/services/ui-src/src/utils/testing/setupJest.tsx @@ -59,28 +59,28 @@ jest.mock("aws-amplify/api", () => ({ get: jest.fn().mockImplementation(() => ({ response: Promise.resolve({ body: { - text: () => Promise.resolve(`{"json":"blob"}`), + json: () => Promise.resolve(`{"json":"blob"}`), }, }), })), post: jest.fn().mockImplementation(() => ({ response: Promise.resolve({ body: { - text: () => Promise.resolve(`{"json":"blob"}`), + json: () => Promise.resolve(`{"json":"blob"}`), }, }), })), put: jest.fn().mockImplementation(() => ({ response: Promise.resolve({ body: { - text: () => Promise.resolve(`{"json":"blob"}`), + json: () => Promise.resolve(`{"json":"blob"}`), }, }), })), del: jest.fn().mockImplementation(() => ({ response: Promise.resolve({ body: { - text: () => Promise.resolve(`{"json":"blob"}`), + json: () => Promise.resolve(`{"json":"blob"}`), }, }), })), From 973690cd71062d58df3ee3461ba3837a641009c2 Mon Sep 17 00:00:00 2001 From: Britt Date: Thu, 14 Nov 2024 10:38:20 -0700 Subject: [PATCH 34/41] limit branch name character count to 20 (#804) --- .github/branch-name-validation.sh | 5 +++-- .github/workflows/pull-request.yml | 5 ++++- .pre-commit-config.yaml | 7 +++++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/branch-name-validation.sh b/.github/branch-name-validation.sh index e071a65ae..20cd856f5 100755 --- a/.github/branch-name-validation.sh +++ b/.github/branch-name-validation.sh @@ -3,6 +3,7 @@ set -e local_branch=${1} +[ -z "${1}" ] && local_branch=$(git rev-parse --abbrev-ref HEAD) valid_branch='^[a-z][a-z0-9-]*$' @@ -15,7 +16,7 @@ join_by() { local IFS='|'; echo "$*"; } #creates glob match to check for reserved words used in branch names which would trigger failures glob=$(join_by $(for i in ${reserved_words[@]}; do echo "^$i-|-$i$|-$i-|^$i$"; done;)) -if [[ ! $local_branch =~ $valid_branch ]] || [[ $local_branch =~ $glob ]] || [[ ${#local_branch} -gt 64 ]]; then +if [[ ! $local_branch =~ $valid_branch ]] || [[ $local_branch =~ $glob ]] || [[ ${#local_branch} -gt 20 ]]; then echo """ ------------------------------------------------------------------------------------------------------------------------------ ERROR: Please read below @@ -28,7 +29,7 @@ if [[ ! $local_branch =~ $valid_branch ]] || [[ $local_branch =~ $glob ]] || [[ Therefore, the branch name must be a valid service name. Branch name must be all lower case with no spaces and no underscores. From Serverless: - A service name should only contain alphanumeric (case sensitive) and hyphens. It should start with an alphabetic character and shouldnt exceed 128 characters. + A service name should only contain alphanumeric (case sensitive) and hyphens. It should start with an alphabetic character and shouldnt exceed 20 characters. For Github Actions support, please push your code to a new branch with a name that meets Serverless' service name requirements. So, make a new branch with a name that begins with a letter and is made up of only letters, numbers, and hyphens... then delete this branch. ------------------------------------------------------------------------------------------------------------------------------ diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 37ba909e0..11fd87459 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -9,7 +9,10 @@ jobs: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: - python-version: '3.10' + python-version: "3.10" + - name: Configure pre-commit to skip branch name validation + run: | + echo "SKIP=branch-name-validation" >> $GITHUB_ENV - uses: pre-commit/action@v3.0.1 - uses: actions/setup-node@v4 with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b78e5cb2a..bed55f249 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -47,3 +47,10 @@ repos: rev: v8.12.0 hooks: - id: gitleaks + - repo: local + hooks: + - id: branch-name-validation + name: branch-name-validation + entry: .github/branch-name-validation.sh + language: script + pass_filenames: false From 7c6d280006a2c45820915a79b1e755031ca12dc0 Mon Sep 17 00:00:00 2001 From: Garrett Rabian <57802560+gmrabian@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:32:53 -0500 Subject: [PATCH 35/41] change admin delete banner button style to primary (#806) --- services/ui-src/src/components/pages/Admin/AdminPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/ui-src/src/components/pages/Admin/AdminPage.tsx b/services/ui-src/src/components/pages/Admin/AdminPage.tsx index 8b3079c8f..a1ecf5a50 100644 --- a/services/ui-src/src/components/pages/Admin/AdminPage.tsx +++ b/services/ui-src/src/components/pages/Admin/AdminPage.tsx @@ -73,7 +73,7 @@ export const AdminPage = () => {
+ Date: Tue, 1 Oct 2024 09:28:25 -0400 Subject: [PATCH 12/41] Playwright test for creating and submitting a WP (#759) --- tests/e2e/utils/archive.ts | 7 +- tests/e2e/utils/fixtures/wp.ts | 20 ++ .../pageObjects/wp/wpInitiativeDefine.page.ts | 45 +++++ .../wp/wpInitiativeEvaluation.page.ts | 50 +++++ .../wp/wpInitiativeFunding.page.ts | 52 +++++ .../wp/wpInitiativeOverlay.page.ts | 76 ++++++++ .../wp/wpInitiativesDashboard.page.ts | 47 +++++ .../wp/wpInitiativesInstructions.page.ts | 25 +++ .../pageObjects/wp/wpReviewAndSubmit.page.ts | 17 ++ .../wpTransitionBenchmarkProjections.page.ts | 60 ++++++ .../wp/wpTransitionBenchmarkStrategy.page.ts | 25 +++ tests/e2e/wp/create.spec.ts | 184 ++++++++++++++---- 12 files changed, 564 insertions(+), 44 deletions(-) create mode 100644 tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts create mode 100644 tests/e2e/utils/pageObjects/wp/wpInitiativeEvaluation.page.ts create mode 100644 tests/e2e/utils/pageObjects/wp/wpInitiativeFunding.page.ts create mode 100644 tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts create mode 100644 tests/e2e/utils/pageObjects/wp/wpInitiativesDashboard.page.ts create mode 100644 tests/e2e/utils/pageObjects/wp/wpInitiativesInstructions.page.ts create mode 100644 tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkProjections.page.ts create mode 100644 tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkStrategy.page.ts diff --git a/tests/e2e/utils/archive.ts b/tests/e2e/utils/archive.ts index cbefc9356..25d3871f8 100644 --- a/tests/e2e/utils/archive.ts +++ b/tests/e2e/utils/archive.ts @@ -13,7 +13,7 @@ export async function archiveReports(page: Page) { await modal.getByRole("textbox").fill("ARCHIVE"); await modal.getByRole("button", { name: "Archive" }).click(); await page.waitForResponse( - (response: Response) => + (response) => response.url().includes(`reports/archive/WP/${stateAbbreviation}/`) && response.status() == 200 ); @@ -33,6 +33,11 @@ export async function archiveExistingWPs(page: Page) { await page.getByLabel("MFP Work Plan").click(); await page.getByRole("button", { name: "Go to Report Dashboard" }).click(); + await page.waitForResponse( + (response) => + response.url().includes(`/reports/WP/${stateAbbreviation}`) && + response.status() == 200 + ); await page.getByRole("table").isVisible(); await archiveReports(page); await logOutUser(page); diff --git a/tests/e2e/utils/fixtures/wp.ts b/tests/e2e/utils/fixtures/wp.ts index de095ca54..f33780da3 100644 --- a/tests/e2e/utils/fixtures/wp.ts +++ b/tests/e2e/utils/fixtures/wp.ts @@ -2,10 +2,18 @@ import { test as base } from "@playwright/test"; import { WPDashboardPage } from "../pageObjects/wp/wpDashboard.page"; import { WPGeneralInformationPage } from "../pageObjects/wp/wpGeneral.page"; import { WPReviewAndSubmitPage } from "../pageObjects/wp/wpReviewAndSubmit.page"; +import { WPTransitionBenchmarkProjectionsPage } from "../pageObjects/wp/wpTransitionBenchmarkProjections.page"; +import { WPTransitionBenchmarkStrategyPage } from "../pageObjects/wp/wpTransitionBenchmarkStrategy.page"; +import { WPInitiativesInstructionsPage } from "../pageObjects/wp/wpInitiativesInstructions.page"; +import { WPInitiativesDashboardPage } from "../pageObjects/wp/wpInitiativesDashboard.page"; type WPFixtures = { wpDashboard: WPDashboardPage; wpGeneralInformation: WPGeneralInformationPage; + wpTransitionBenchmarksProjections: WPTransitionBenchmarkProjectionsPage; + wpTransitionBenchmarkStrategy: WPTransitionBenchmarkStrategyPage; + wpInitiativesInstructions: WPInitiativesInstructionsPage; + wpInitiativesDashboard: WPInitiativesDashboardPage; wpReviewAndSubmit: WPReviewAndSubmitPage; }; @@ -16,6 +24,18 @@ export const test = base.extend({ wpGeneralInformation: async ({ page }, use) => { await use(new WPGeneralInformationPage(page)); }, + wpTransitionBenchmarksProjections: async ({ page }, use) => { + await use(new WPTransitionBenchmarkProjectionsPage(page)); + }, + wpTransitionBenchmarkStrategy: async ({ page }, use) => { + await use(new WPTransitionBenchmarkStrategyPage(page)); + }, + wpInitiativesInstructions: async ({ page }, use) => { + await use(new WPInitiativesInstructionsPage(page)); + }, + wpInitiativesDashboard: async ({ page }, use) => { + await use(new WPInitiativesDashboardPage(page)); + }, wpReviewAndSubmit: async ({ page }, use) => { await use(new WPReviewAndSubmitPage(page)); }, diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts new file mode 100644 index 000000000..4880cf53f --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts @@ -0,0 +1,45 @@ +import { Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; + +export class WPDefineInitiativePage extends BasePage { + public path = "/wp/state-or-territory-specific-initiatives/initiatives"; + + readonly page: Page; + readonly title: Locator; + readonly backButton: Locator; + readonly description: Locator; + readonly targetPopulations: Locator; + readonly startDate: Locator; + readonly endDate: Locator; + readonly saveButton: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "State or Territory-Specific Initiatives: I. Define initiative", + }); + this.backButton = page + .getByRole("button", { + name: "Return to dashboard for this initiative", + }) + .first(); + this.description = page.getByLabel( + "Describe the initiative, including key activities:" + ); + this.targetPopulations = page.getByRole("checkbox"); + this.startDate = page.getByLabel("Start date"); + this.endDate = page.getByRole("group", { + name: "Does the initiative have a projected end date?", + }); + this.saveButton = page.getByRole("button", { name: "Save & return" }); + } + + public async fillFields() { + await this.description.fill("test"); + await this.page.getByLabel("Older adults").check(); + await this.page.getByLabel("Individuals with physical").check(); + await this.startDate.fill("01/01/2024"); + await this.endDate.getByLabel("No").click(); + } +} diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeEvaluation.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeEvaluation.page.ts new file mode 100644 index 000000000..1ffa92e6e --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeEvaluation.page.ts @@ -0,0 +1,50 @@ +import { expect, Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; + +export class WPEvaluationPlanPage extends BasePage { + public path = "/wp/state-or-territory-specific-initiatives/initiatives"; + + readonly page: Page; + readonly title: Locator; + readonly backButton: Locator; + readonly addObjectiveButton: Locator; + readonly modal: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "State or Territory-Specific Initiatives: I. Define initiative", + }); + this.backButton = page + .getByRole("button", { + name: "Return to dashboard for this initiative", + }) + .first(); + this.addObjectiveButton = page + .getByRole("button", { + name: "Add objective", + }) + .first(); + this.modal = page.getByRole("dialog"); + } + + public async fillFields() { + const modal = this.page.getByRole("dialog"); + const textAreas = await modal.getByRole("textbox").all(); + const radioGroup = await modal.getByRole("group", { + name: "Does the performance measure include quantitative targets?", + }); + + // Fill all the text boxes in the modal + for (const textArea of textAreas) { + await textArea.fill("test"); + } + + // Click the "No" radio option so we don't have to fill out conditional fields + await radioGroup.getByLabel("No").click(); + await modal.getByRole("button", { name: "Save" }).click(); + await expect(this.page.getByRole("alert")).not.toBeVisible(); + await modal.isHidden(); + } +} diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeFunding.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeFunding.page.ts new file mode 100644 index 000000000..4cd53de77 --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeFunding.page.ts @@ -0,0 +1,52 @@ +import { expect, Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; + +export class WPFundingSourcesPage extends BasePage { + public path = "/wp/state-or-territory-specific-initiatives/initiatives"; + + readonly page: Page; + readonly title: Locator; + readonly backButton: Locator; + readonly modal: Locator; + readonly addSourceButton: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "State or Territory-Specific Initiatives: I. Define initiative", + }); + this.backButton = page + .getByRole("button", { + name: "Return to dashboard for this initiative", + }) + .first(); + this.modal = page.getByRole("dialog"); + this.addSourceButton = page + .getByRole("button", { + name: "Add funding source", + }) + .first(); + } + + public async fillFields() { + const radioGroup = this.modal.getByRole("group", { + name: "Funding source:", + }); + const quarterFields = await this.modal.getByRole("textbox").all(); + + await radioGroup + .getByLabel( + "MFP cooperative agreement funds for qualified HCBS and demonstration services" + ) + .click(); + + for (const textInput of quarterFields) { + await textInput.fill("99"); + } + + await this.modal.getByRole("button", { name: "Save" }).click(); + await expect(this.page.getByRole("alert")).not.toBeVisible(); + await this.modal.isHidden(); + } +} diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts new file mode 100644 index 000000000..e72126e11 --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts @@ -0,0 +1,76 @@ +import { expect, Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; +import { WPDefineInitiativePage } from "./wpInitiativeDefine.page"; +import { WPEvaluationPlanPage } from "./wpInitiativeEvaluation.page"; +import { WPFundingSourcesPage } from "./wpInitiativeFunding.page"; + +export class WPInitiativeOverlayPage extends BasePage { + public path = "/wp/state-or-territory-specific-initiatives/initiatives"; + + readonly page: Page; + readonly title: Locator; + readonly backButton: Locator; + readonly defineInitiative: Locator; + readonly evaluationPlan: Locator; + readonly fundingSources: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "State or Territory-Specific Initiatives", + }); + this.backButton = page + .getByRole("button", { name: "Return to all initiatives" }) + .first(); + this.defineInitiative = page.getByRole("row", { + name: "I. Define initiative", + }); + this.evaluationPlan = page.getByRole("row", { + name: "II. Evaluation plan", + }); + this.fundingSources = page.getByRole("row", { + name: "III. Funding sources", + }); + } + + public async isTitleReady(topic: string) { + return this.page.getByRole("heading", { name: topic }).isVisible(); + } + + public async completeDefineInitiative() { + await this.defineInitiative.getByRole("button", { name: "Edit" }).click(); + const definePage = new WPDefineInitiativePage(this.page); + await definePage.isReady(); + await definePage.fillFields(); + await definePage.saveButton.click(); + await expect(definePage.page.getByRole("alert")).not.toBeVisible(); + } + + public async completeEvaluationPlan() { + await this.evaluationPlan.getByRole("button", { name: "Edit" }).click(); + const evaluationPage = new WPEvaluationPlanPage(this.page); + await evaluationPage.isReady(); + const noObjectivesText = evaluationPage.page.getByText( + "Objective total count: 0" + ); + if (noObjectivesText) { + await evaluationPage.addObjectiveButton.click(); + await evaluationPage.fillFields(); + } + await evaluationPage.backButton.click(); + } + + public async completeFundingSources() { + await this.fundingSources.getByRole("button", { name: "Edit" }).click(); + const fundingPage = new WPFundingSourcesPage(this.page); + await fundingPage.isReady(); + const noFundingSourcesText = + fundingPage.page.getByText("Funding Sources: 0"); + if (noFundingSourcesText) { + await fundingPage.addSourceButton.click(); + await fundingPage.fillFields(); + } + await fundingPage.backButton.click(); + } +} diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativesDashboard.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativesDashboard.page.ts new file mode 100644 index 000000000..9c835e819 --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativesDashboard.page.ts @@ -0,0 +1,47 @@ +import { Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; +import { stateAbbreviation } from "../../consts"; + +export class WPInitiativesDashboardPage extends BasePage { + public path = "/wp/state-or-territory-specific-initiatives/initiatives"; + + readonly page: Page; + readonly title: Locator; + readonly alert: Locator; + readonly addInitiativeButton: Locator; + readonly requiredTopics: string[]; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "State or Territory-Specific Initiatives", + }); + this.alert = page.getByText( + "This alert will disappear once you add initiatives that meet the topic requirements" + ); + this.addInitiativeButton = page.getByRole("button", { + name: "Add initiative", + }); + this.requiredTopics = [ + "Transitions and transition coordination services", + "Housing-related supports", + "Quality measurement and improvement", + ]; + } + + public async addInitiative(topic: string) { + await this.addInitiativeButton.click(); + const modal = this.page.getByRole("dialog"); + await modal.isVisible(); + await modal.getByLabel("Initiative name").fill(`Initiative: ${topic}`); + await modal.getByLabel(topic).click(); + await modal.getByRole("button", { name: "Save" }).click(); + await this.page.waitForResponse( + (response) => + response.url().includes(`/reports/WP/${stateAbbreviation}`) && + response.status() == 200 + ); + await modal.isHidden(); + } +} diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativesInstructions.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativesInstructions.page.ts new file mode 100644 index 000000000..2b9271c8c --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativesInstructions.page.ts @@ -0,0 +1,25 @@ +import { Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; + +export class WPInitiativesInstructionsPage extends BasePage { + public path = "/wp/state-or-territory-specific-initiatives/instructions"; + + readonly page: Page; + readonly title: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "State or Territory-Specific Initiatives Instructions", + }); + } + + public async fillFormFields() { + const radioButtons = await this.page.getByLabel("No").all(); + + for (const radio of radioButtons) { + await radio.click(); + } + } +} diff --git a/tests/e2e/utils/pageObjects/wp/wpReviewAndSubmit.page.ts b/tests/e2e/utils/pageObjects/wp/wpReviewAndSubmit.page.ts index fef6afe62..a93ae0f8f 100644 --- a/tests/e2e/utils/pageObjects/wp/wpReviewAndSubmit.page.ts +++ b/tests/e2e/utils/pageObjects/wp/wpReviewAndSubmit.page.ts @@ -8,6 +8,7 @@ export class WPReviewAndSubmitPage extends BasePage { readonly title: Locator; readonly reviewPDFButton: Locator; readonly submitButton: Locator; + readonly confirmModal: Locator; readonly approveButton: Locator; readonly unlockButton: Locator; readonly approveModal: Locator; @@ -17,6 +18,12 @@ export class WPReviewAndSubmitPage extends BasePage { this.page = page; this.title = page.getByRole("heading", { name: "Review & Submit" }); this.reviewPDFButton = page.getByRole("button", { name: "Review PDF" }); + this.confirmModal = page.getByRole("dialog", { + name: "Are you sure you want to submit MFP Work Plan?", + }); + this.submitButton = page.getByRole("button", { + name: "Submit MFP Work Plan", + }); this.approveButton = page.getByRole("button", { name: "Approve" }); this.unlockButton = page.getByRole("button", { name: "Unlock" }); this.approveModal = page.getByRole("dialog", { @@ -24,6 +31,16 @@ export class WPReviewAndSubmitPage extends BasePage { }); } + public async confirmSubmit() { + await this.confirmModal.isVisible(); + await this.confirmModal + .getByRole("button", { + name: "Submit MFP Work Plan", + }) + .click(); + await this.confirmModal.waitFor({ state: "hidden" }); + } + public async approveReport() { await this.approveModal.getByRole("textbox").fill("APPROVE"); await this.approveModal.getByRole("button", { name: "Approve" }).click(); diff --git a/tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkProjections.page.ts b/tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkProjections.page.ts new file mode 100644 index 000000000..95cc70b2a --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkProjections.page.ts @@ -0,0 +1,60 @@ +import { Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; + +export class WPTransitionBenchmarkProjectionsPage extends BasePage { + public path = "/wp/transition-benchmarks"; + + readonly page: Page; + readonly title: Locator; + readonly addNewButton: Locator; + readonly reviewPdfButton: Locator; + readonly drawer: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "Transition Benchmark Projections", + }); + this.addNewButton = page.getByRole("button", { + name: "Add other target population", + }); + this.reviewPdfButton = page.getByRole("button", { name: "Review PDF" }); + this.drawer = page.locator("dialog", { + hasText: "Report transition benchmarks for", + }); + } + + public async editPopulations() { + await this.isReady(); + const hasWarnings = await this.page + .getByRole("row", { name: "warning icon" }) + .count(); + + if (hasWarnings) { + const rows = await this.page + .locator("tr", { has: this.page.getByRole("button") }) + .all(); + + for (const row of rows) { + const editButton = row.getByLabel("edit button"); + await editButton.click(); + const drawer = this.page.getByRole("dialog"); + await drawer.isVisible(); + await drawer.getByLabel("Yes").click(); + await this.fillBenchmarks(); + await drawer.getByRole("button", { name: "Save & Close" }).click(); + await drawer.waitFor({ state: "hidden" }); + } + } + } + + public async fillBenchmarks() { + const drawer = this.page.getByRole("dialog"); + await drawer.getByLabel("Yes").click(); + const inputs = await drawer.getByRole("textbox").all(); + for (const input of inputs) { + await input.fill("99"); + } + } +} diff --git a/tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkStrategy.page.ts b/tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkStrategy.page.ts new file mode 100644 index 000000000..3f85b5409 --- /dev/null +++ b/tests/e2e/utils/pageObjects/wp/wpTransitionBenchmarkStrategy.page.ts @@ -0,0 +1,25 @@ +import { Locator, Page } from "@playwright/test"; +import BasePage from "../base.page"; + +export class WPTransitionBenchmarkStrategyPage extends BasePage { + public path = "/wp/transition-benchmark-strategy"; + + readonly page: Page; + readonly title: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "Transition Benchmark Projections", + }); + } + + public async fillTextFields() { + const textFields = await this.page.getByRole("textbox").all(); + + for (const textField of textFields) { + await textField.fill("test"); + } + } +} diff --git a/tests/e2e/wp/create.spec.ts b/tests/e2e/wp/create.spec.ts index 814470359..da2929e53 100644 --- a/tests/e2e/wp/create.spec.ts +++ b/tests/e2e/wp/create.spec.ts @@ -1,52 +1,150 @@ import { archiveExistingWPs, logInStateUser } from "../utils"; import { test, expect } from "../utils/fixtures/base"; +import { WPInitiativeOverlayPage } from "../utils/pageObjects/wp/wpInitiativeOverlay.page"; -test("State user can create a Work Plan", async ({ - page, - stateHomePage, - wpDashboard, -}) => { - await archiveExistingWPs(page); - await logInStateUser(page); - - // View WPs - await stateHomePage.wpButton.click(); - await wpDashboard.isReady(); - - // check if work plans exist already or not - if (await wpDashboard.createButton.isVisible()) { - await wpDashboard.createButton.click(); - await expect(wpDashboard.modal).toBeVisible(); - await expect(wpDashboard.modal).toContainText("Add new MFP Work Plan"); - - await wpDashboard.createNewWP(); - - // Confirm created WP is in table - await wpDashboard.getReports(); - await expect(wpDashboard.firstReport).toBeVisible(); +test.describe("Creating a new Work Plan", () => { + test("State user can create a Work Plan", async ({ + page, + stateHomePage, + wpDashboard, + }) => { + await archiveExistingWPs(page); + await logInStateUser(page); + + // View WPs + await stateHomePage.wpButton.click(); + await wpDashboard.isReady(); + + // check if work plans exist already or not + if (await wpDashboard.createButton.isVisible()) { + await wpDashboard.createButton.click(); + await expect(wpDashboard.modal).toBeVisible(); + await expect(wpDashboard.modal).toContainText("Add new MFP Work Plan"); + + await wpDashboard.createNewWP(); + + // Confirm created WP is in table + await wpDashboard.getReports(); + await expect(wpDashboard.firstReport).toBeVisible(); + const editNewWPButton = wpDashboard.firstReport.getByRole("button", { + name: "Edit", + exact: true, + }); + await expect(editNewWPButton).toBeVisible(); + } else { + await wpDashboard.copyoverButton.click(); + await expect(wpDashboard.modal).toBeVisible(); + await expect(wpDashboard.modal).toContainText("Continue"); + await page + .getByRole("button", { name: "Continue from previous period" }) + .click(); + + // Confirm created WP is in table + await wpDashboard.getReports(); + await expect(wpDashboard.copiedReport).toBeVisible(); + const editCopiedReportButton = wpDashboard.copiedReport.getByRole( + "button", + { + name: "Edit", + exact: true, + } + ); + await expect(editCopiedReportButton).toBeVisible(); + } + }); + + test("State user can fill and submit a Work Plan", async ({ + page, + stateHomePage, + wpDashboard, + wpGeneralInformation, + wpTransitionBenchmarksProjections, + wpTransitionBenchmarkStrategy, + wpInitiativesInstructions, + wpInitiativesDashboard, + wpReviewAndSubmit, + }) => { + await logInStateUser(page); + await stateHomePage.wpButton.click(); + + // Dashboard + await wpDashboard.isReady(); const editNewWPButton = wpDashboard.firstReport.getByRole("button", { name: "Edit", exact: true, }); - await expect(editNewWPButton).toBeVisible(); - } else { - await wpDashboard.copyoverButton.click(); - await expect(wpDashboard.modal).toBeVisible(); - await expect(wpDashboard.modal).toContainText("Continue"); - await page - .getByRole("button", { name: "Continue from previous period" }) - .click(); - - // Confirm created WP is in table - await wpDashboard.getReports(); - await expect(wpDashboard.copiedReport).toBeVisible(); - const editCopiedReportButton = wpDashboard.copiedReport.getByRole( - "button", - { - name: "Edit", - exact: true, + await editNewWPButton.click(); + + // General Information + await wpGeneralInformation.isReady(); + await expect(wpGeneralInformation.disclosure).toBeVisible(); + + // Transition Benchmarks + await wpGeneralInformation.continueButton.click(); + await wpTransitionBenchmarksProjections.isReady(); + await wpTransitionBenchmarksProjections.editPopulations(); + + // Transition Benchmark Strategy + await wpTransitionBenchmarksProjections.continueButton.click(); + await wpTransitionBenchmarkStrategy.isReady(); + await wpTransitionBenchmarkStrategy.fillTextFields(); + + // Initiatives Instructions + await wpTransitionBenchmarkStrategy.continueButton.click(); + await wpInitiativesInstructions.isReady(); + await wpInitiativesInstructions.fillFormFields(); + + // Initiatives Dashboard + await wpInitiativesInstructions.continueButton.click(); + await wpInitiativesDashboard.isReady(); + + if (await wpInitiativesDashboard.alert.isVisible()) { + for (const topic of wpInitiativesDashboard.requiredTopics) { + await wpInitiativesDashboard.addInitiative(topic); } - ); - await expect(editCopiedReportButton).toBeVisible(); - } + } + + await expect(wpInitiativesDashboard.alert).not.toBeVisible(); + + // Initiatives Overlays + const initiatives = await wpInitiativesDashboard.page + .getByRole("row", { + name: "Edit", + }) + .all(); + + for (const initiative of initiatives) { + await initiative.getByRole("button", { name: "edit button" }).click(); + const overlayPage = new WPInitiativeOverlayPage(page); + await overlayPage.isReady(); + + await overlayPage.completeDefineInitiative(); + await overlayPage.completeEvaluationPlan(); + await overlayPage.completeFundingSources(); + await overlayPage.backButton.click(); + } + + await wpInitiativesDashboard.isReady(); + + // Review and Submit + await wpInitiativesDashboard.continueButton.click(); + await wpReviewAndSubmit.isReady(); + const errorIcons = await wpReviewAndSubmit.page + .getByAltText("Error notification") + .all(); + await expect(errorIcons.length).toBe(0); + + await wpReviewAndSubmit.submitButton.click(); + await wpReviewAndSubmit.confirmSubmit(); + + // Confirmation + await wpReviewAndSubmit.isReady(); + await expect( + wpReviewAndSubmit.page.getByRole("heading", { + name: "Successfully Submitted", + }) + ).toBeVisible(); + + await wpDashboard.goto(); + }); }); From 7ee741baf63d26f48518100970d1b5e3df8e9b10 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Tue, 1 Oct 2024 11:03:34 -0400 Subject: [PATCH 13/41] [Snyk] Upgrade @aws-sdk/client-s3 from 3.621.0 to 3.637.0 (#769) Co-authored-by: snyk-bot --- services/database/package.json | 2 +- services/database/yarn.lock | 988 +++++++++++++++++++++++++++------ 2 files changed, 820 insertions(+), 170 deletions(-) diff --git a/services/database/package.json b/services/database/package.json index e8e1d5b04..e3011238f 100644 --- a/services/database/package.json +++ b/services/database/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@aws-sdk/client-dynamodb": "^3.621.0", - "@aws-sdk/client-s3": "^3.621.0", + "@aws-sdk/client-s3": "^3.637.0", "@aws-sdk/lib-dynamodb": "^3.621.0" } } diff --git a/services/database/yarn.lock b/services/database/yarn.lock index 90f23d599..56b370741 100644 --- a/services/database/yarn.lock +++ b/services/database/yarn.lock @@ -170,68 +170,68 @@ tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-s3@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.621.0.tgz#86a0e77913cd1e82308299835431887fe306c3a0" - integrity sha512-YhGkd2HQTM4HCYJIAVWvfbUMpOF7XUr1W/e2LN3CFP0WTF4zcCJKesJ2iNHrExqC0Ek1+qarMxiXBK95itfjYQ== +"@aws-sdk/client-s3@^3.637.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.658.0.tgz#667ba8fe9b49763d87e7f9d4b6e6e14a95cf06e4" + integrity sha512-3lyew20RoLKg9S1RzVyYgLNxknoXkN/0o9PMiRq77yBIQHZj3x7/wmKseiGEFoF08YKFkh1MPq/p34qRlOmtBg== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/client-sts" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-bucket-endpoint" "3.620.0" - "@aws-sdk/middleware-expect-continue" "3.620.0" - "@aws-sdk/middleware-flexible-checksums" "3.620.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-location-constraint" "3.609.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-sdk-s3" "3.621.0" - "@aws-sdk/middleware-signing" "3.620.0" - "@aws-sdk/middleware-ssec" "3.609.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/signature-v4-multi-region" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@aws-sdk/xml-builder" "3.609.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/eventstream-serde-browser" "^3.0.5" - "@smithy/eventstream-serde-config-resolver" "^3.0.3" - "@smithy/eventstream-serde-node" "^3.0.4" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-blob-browser" "^3.1.2" - "@smithy/hash-node" "^3.0.3" - "@smithy/hash-stream-node" "^3.1.2" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/md5-js" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.658.0" + "@aws-sdk/client-sts" "3.658.0" + "@aws-sdk/core" "3.658.0" + "@aws-sdk/credential-provider-node" "3.658.0" + "@aws-sdk/middleware-bucket-endpoint" "3.654.0" + "@aws-sdk/middleware-expect-continue" "3.654.0" + "@aws-sdk/middleware-flexible-checksums" "3.657.0" + "@aws-sdk/middleware-host-header" "3.654.0" + "@aws-sdk/middleware-location-constraint" "3.654.0" + "@aws-sdk/middleware-logger" "3.654.0" + "@aws-sdk/middleware-recursion-detection" "3.654.0" + "@aws-sdk/middleware-sdk-s3" "3.658.0" + "@aws-sdk/middleware-ssec" "3.654.0" + "@aws-sdk/middleware-user-agent" "3.654.0" + "@aws-sdk/region-config-resolver" "3.654.0" + "@aws-sdk/signature-v4-multi-region" "3.658.0" + "@aws-sdk/types" "3.654.0" + "@aws-sdk/util-endpoints" "3.654.0" + "@aws-sdk/util-user-agent-browser" "3.654.0" + "@aws-sdk/util-user-agent-node" "3.654.0" + "@aws-sdk/xml-builder" "3.654.0" + "@smithy/config-resolver" "^3.0.8" + "@smithy/core" "^2.4.3" + "@smithy/eventstream-serde-browser" "^3.0.9" + "@smithy/eventstream-serde-config-resolver" "^3.0.6" + "@smithy/eventstream-serde-node" "^3.0.8" + "@smithy/fetch-http-handler" "^3.2.7" + "@smithy/hash-blob-browser" "^3.1.5" + "@smithy/hash-node" "^3.0.6" + "@smithy/hash-stream-node" "^3.1.5" + "@smithy/invalid-dependency" "^3.0.6" + "@smithy/md5-js" "^3.0.6" + "@smithy/middleware-content-length" "^3.0.8" + "@smithy/middleware-endpoint" "^3.1.3" + "@smithy/middleware-retry" "^3.0.18" + "@smithy/middleware-serde" "^3.0.6" + "@smithy/middleware-stack" "^3.0.6" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/node-http-handler" "^3.2.2" + "@smithy/protocol-http" "^4.1.3" + "@smithy/smithy-client" "^3.3.2" + "@smithy/types" "^3.4.2" + "@smithy/url-parser" "^3.0.6" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-stream" "^3.1.3" + "@smithy/util-defaults-mode-browser" "^3.0.18" + "@smithy/util-defaults-mode-node" "^3.0.18" + "@smithy/util-endpoints" "^2.1.2" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-retry" "^3.0.6" + "@smithy/util-stream" "^3.1.6" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" + "@smithy/util-waiter" "^3.1.5" tslib "^2.6.2" "@aws-sdk/client-sso-oidc@3.616.0": @@ -324,6 +324,51 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" +"@aws-sdk/client-sso-oidc@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.658.0.tgz#13ceea667a40349dfc27737f12da1152d4cc03b6" + integrity sha512-+oZcf9Wm7BlAhakSnxftmpeMwJLXQPesOcIX+ViF6HWSfMid4LY8Cq0jJ9si3HSe216GVMiAlBbNksayzHNdlA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.658.0" + "@aws-sdk/credential-provider-node" "3.658.0" + "@aws-sdk/middleware-host-header" "3.654.0" + "@aws-sdk/middleware-logger" "3.654.0" + "@aws-sdk/middleware-recursion-detection" "3.654.0" + "@aws-sdk/middleware-user-agent" "3.654.0" + "@aws-sdk/region-config-resolver" "3.654.0" + "@aws-sdk/types" "3.654.0" + "@aws-sdk/util-endpoints" "3.654.0" + "@aws-sdk/util-user-agent-browser" "3.654.0" + "@aws-sdk/util-user-agent-node" "3.654.0" + "@smithy/config-resolver" "^3.0.8" + "@smithy/core" "^2.4.3" + "@smithy/fetch-http-handler" "^3.2.7" + "@smithy/hash-node" "^3.0.6" + "@smithy/invalid-dependency" "^3.0.6" + "@smithy/middleware-content-length" "^3.0.8" + "@smithy/middleware-endpoint" "^3.1.3" + "@smithy/middleware-retry" "^3.0.18" + "@smithy/middleware-serde" "^3.0.6" + "@smithy/middleware-stack" "^3.0.6" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/node-http-handler" "^3.2.2" + "@smithy/protocol-http" "^4.1.3" + "@smithy/smithy-client" "^3.3.2" + "@smithy/types" "^3.4.2" + "@smithy/url-parser" "^3.0.6" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.18" + "@smithy/util-defaults-mode-node" "^3.0.18" + "@smithy/util-endpoints" "^2.1.2" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-retry" "^3.0.6" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + "@aws-sdk/client-sso@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.616.0.tgz#d4bbb279daf6b4fde7ec2df9243526eb5119b0c0" @@ -412,6 +457,50 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" +"@aws-sdk/client-sso@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.658.0.tgz#52401b8630885cf263602d4fbf449034b1981f8c" + integrity sha512-OtT6bXthyP/z7x2QDTWYz0mteXhQvV+mH4JgT7dW1Y5Kc/Xr85kIQ0ouypSLH14DeiT1Gd21kXKy4YuLEoWaYQ== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "3.658.0" + "@aws-sdk/middleware-host-header" "3.654.0" + "@aws-sdk/middleware-logger" "3.654.0" + "@aws-sdk/middleware-recursion-detection" "3.654.0" + "@aws-sdk/middleware-user-agent" "3.654.0" + "@aws-sdk/region-config-resolver" "3.654.0" + "@aws-sdk/types" "3.654.0" + "@aws-sdk/util-endpoints" "3.654.0" + "@aws-sdk/util-user-agent-browser" "3.654.0" + "@aws-sdk/util-user-agent-node" "3.654.0" + "@smithy/config-resolver" "^3.0.8" + "@smithy/core" "^2.4.3" + "@smithy/fetch-http-handler" "^3.2.7" + "@smithy/hash-node" "^3.0.6" + "@smithy/invalid-dependency" "^3.0.6" + "@smithy/middleware-content-length" "^3.0.8" + "@smithy/middleware-endpoint" "^3.1.3" + "@smithy/middleware-retry" "^3.0.18" + "@smithy/middleware-serde" "^3.0.6" + "@smithy/middleware-stack" "^3.0.6" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/node-http-handler" "^3.2.2" + "@smithy/protocol-http" "^4.1.3" + "@smithy/smithy-client" "^3.3.2" + "@smithy/types" "^3.4.2" + "@smithy/url-parser" "^3.0.6" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.18" + "@smithy/util-defaults-mode-node" "^3.0.18" + "@smithy/util-endpoints" "^2.1.2" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-retry" "^3.0.6" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + "@aws-sdk/client-sts@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.616.0.tgz#9616c3693d9ae5232ccc12d570f46abe4ec49d2b" @@ -504,6 +593,52 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" +"@aws-sdk/client-sts@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.658.0.tgz#7c83318ecc01fca194c36a88505508b4c8e095a3" + integrity sha512-SffIgt/Mzwq3ijkg3lZjndkrqS1d6OeDcUi7IAO2w4KC4nM6yH1zZNSjNWvdjEvUp0Gz2kk54HvyP/r9DqTg6Q== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/client-sso-oidc" "3.658.0" + "@aws-sdk/core" "3.658.0" + "@aws-sdk/credential-provider-node" "3.658.0" + "@aws-sdk/middleware-host-header" "3.654.0" + "@aws-sdk/middleware-logger" "3.654.0" + "@aws-sdk/middleware-recursion-detection" "3.654.0" + "@aws-sdk/middleware-user-agent" "3.654.0" + "@aws-sdk/region-config-resolver" "3.654.0" + "@aws-sdk/types" "3.654.0" + "@aws-sdk/util-endpoints" "3.654.0" + "@aws-sdk/util-user-agent-browser" "3.654.0" + "@aws-sdk/util-user-agent-node" "3.654.0" + "@smithy/config-resolver" "^3.0.8" + "@smithy/core" "^2.4.3" + "@smithy/fetch-http-handler" "^3.2.7" + "@smithy/hash-node" "^3.0.6" + "@smithy/invalid-dependency" "^3.0.6" + "@smithy/middleware-content-length" "^3.0.8" + "@smithy/middleware-endpoint" "^3.1.3" + "@smithy/middleware-retry" "^3.0.18" + "@smithy/middleware-serde" "^3.0.6" + "@smithy/middleware-stack" "^3.0.6" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/node-http-handler" "^3.2.2" + "@smithy/protocol-http" "^4.1.3" + "@smithy/smithy-client" "^3.3.2" + "@smithy/types" "^3.4.2" + "@smithy/url-parser" "^3.0.6" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-body-length-node" "^3.0.0" + "@smithy/util-defaults-mode-browser" "^3.0.18" + "@smithy/util-defaults-mode-node" "^3.0.18" + "@smithy/util-endpoints" "^2.1.2" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-retry" "^3.0.6" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + "@aws-sdk/core@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.616.0.tgz#4d7f79cd62e545e6db677216a17dab84c2b4cda3" @@ -532,6 +667,22 @@ fast-xml-parser "4.4.1" tslib "^2.6.2" +"@aws-sdk/core@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.658.0.tgz#7d2fcaebd640d9d9709b76797744b7db098ed9e4" + integrity sha512-vtOUqYD2/SfWGxmfYneiqv4R64qtSRPqznHUcMCusq71ZG9iz90ZxRYxS8ABrvhWD+oUqnxHesO08VYtaL4oAg== + dependencies: + "@smithy/core" "^2.4.3" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/property-provider" "^3.1.6" + "@smithy/protocol-http" "^4.1.3" + "@smithy/signature-v4" "^4.1.3" + "@smithy/smithy-client" "^3.3.2" + "@smithy/types" "^3.4.2" + "@smithy/util-middleware" "^3.0.6" + fast-xml-parser "4.4.1" + tslib "^2.6.2" + "@aws-sdk/credential-provider-env@3.609.0": version "3.609.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.609.0.tgz#b3f32e5a8ff8b541e151eadadfb60283aa3d835e" @@ -552,6 +703,16 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-env@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.654.0.tgz#5773a9d969ede7e30059472b26c9e39b3992cc0a" + integrity sha512-kogsx3Ql81JouHS7DkheCDU9MYAvK0AokxjcshDveGmf7BbgbWCA8Fnb9wjQyNDaOXNvkZu8Z8rgkX91z324/w== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/property-provider" "^3.1.6" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-http@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.616.0.tgz#207cbe3e74c6c55208fd4bf0ff59df6e765d2c41" @@ -582,6 +743,21 @@ "@smithy/util-stream" "^3.1.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-http@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.654.0.tgz#72ce2ff0136eb87ef0c90d435bf1dd61558fe96d" + integrity sha512-tgmAH4MBi/aDR882lfw48+tDV95ZH3GWc1Eoe6DpNLiM3GN2VfU/cZwuHmi6aq+vAbdIlswBHJ/+va0fOvlyjw== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/fetch-http-handler" "^3.2.7" + "@smithy/node-http-handler" "^3.2.2" + "@smithy/property-provider" "^3.1.6" + "@smithy/protocol-http" "^4.1.3" + "@smithy/smithy-client" "^3.3.2" + "@smithy/types" "^3.4.2" + "@smithy/util-stream" "^3.1.6" + tslib "^2.6.2" + "@aws-sdk/credential-provider-ini@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.616.0.tgz#5bb726e969908a28e960d65016e7440b78056209" @@ -616,6 +792,23 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-ini@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.658.0.tgz#d56423bcb39edb54029a71909e5590cca89a65f5" + integrity sha512-fL4hAeF2jjSZ3Dm/kmU9AEDO8UARhUagUJ/UfXMxvkvmQ/jLydKA3ip5jMSf1fhu1TWoi/JBE/4cjKDbjwMzXA== + dependencies: + "@aws-sdk/credential-provider-env" "3.654.0" + "@aws-sdk/credential-provider-http" "3.654.0" + "@aws-sdk/credential-provider-process" "3.654.0" + "@aws-sdk/credential-provider-sso" "3.658.0" + "@aws-sdk/credential-provider-web-identity" "3.654.0" + "@aws-sdk/types" "3.654.0" + "@smithy/credential-provider-imds" "^3.2.3" + "@smithy/property-provider" "^3.1.6" + "@smithy/shared-ini-file-loader" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-node@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.616.0.tgz#0887ab7b9bab3031fe3ed8aaee2d4abb5091a67f" @@ -652,6 +845,24 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-node@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.658.0.tgz#f1e9b4c8adbdb14c60b363868d009128b9fd618b" + integrity sha512-rdWBylUdT6/dK+zBj7jajJpUQ3rP/YvKo0peYhpTgpUSHjqkjrx/BRXE+iccbFimR8QSxwOJ4tsb15Gvuv0E4Q== + dependencies: + "@aws-sdk/credential-provider-env" "3.654.0" + "@aws-sdk/credential-provider-http" "3.654.0" + "@aws-sdk/credential-provider-ini" "3.658.0" + "@aws-sdk/credential-provider-process" "3.654.0" + "@aws-sdk/credential-provider-sso" "3.658.0" + "@aws-sdk/credential-provider-web-identity" "3.654.0" + "@aws-sdk/types" "3.654.0" + "@smithy/credential-provider-imds" "^3.2.3" + "@smithy/property-provider" "^3.1.6" + "@smithy/shared-ini-file-loader" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-process@3.614.0": version "3.614.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.614.0.tgz#b6b9382346dfe51c8fb448595ae55b930532c897" @@ -674,6 +885,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-process@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.654.0.tgz#2c526d0d059eddfe4176933fadbbf8bd59480642" + integrity sha512-PmQoo8sZ9Q2Ow8OMzK++Z9lI7MsRUG7sNq3E72DVA215dhtTICTDQwGlXH2AAmIp7n+G9LLRds+4wo2ehG4mkg== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/property-provider" "^3.1.6" + "@smithy/shared-ini-file-loader" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-sso@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.616.0.tgz#051b1a2eb31fa30866f2c1e95bbcf965911b16c3" @@ -700,6 +922,19 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-sso@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.658.0.tgz#ba79472129b796d94cdc3989c34bd84dd1cff53c" + integrity sha512-zK5FwCZJ9OovBPpoVfhlNyUhdFCgkkVbQolR47UKXCREH/P6sOsVay4/CnwtVQeMGlv9c8F41ELJXWaTRmdwHA== + dependencies: + "@aws-sdk/client-sso" "3.658.0" + "@aws-sdk/token-providers" "3.654.0" + "@aws-sdk/types" "3.654.0" + "@smithy/property-provider" "^3.1.6" + "@smithy/shared-ini-file-loader" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/credential-provider-web-identity@3.609.0": version "3.609.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.609.0.tgz#d29222d6894347ee89c781ea090d388656df1d2a" @@ -720,6 +955,16 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/credential-provider-web-identity@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.654.0.tgz#67dc0463d20f801c8577276e2066f9151b2d5eb1" + integrity sha512-6a2g9gMtZToqSu+CusjNK5zvbLJahQ9di7buO3iXgbizXpLXU1rnawCpWxwslMpT5fLgMSKDnKDrr6wdEk7jSw== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/property-provider" "^3.1.6" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/endpoint-cache@3.572.0": version "3.572.0" resolved "https://registry.yarnpkg.com/@aws-sdk/endpoint-cache/-/endpoint-cache-3.572.0.tgz#414970b764db207eba4d93228363d61af33ea03b" @@ -748,16 +993,16 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-bucket-endpoint@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz#c5dc0e98b6209a91479cad6c2c74fbc5a3429fab" - integrity sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg== +"@aws-sdk/middleware-bucket-endpoint@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.654.0.tgz#f8241db792eb951e1aaa127911e9d35ae11f45f2" + integrity sha512-/lWkyeLESiK+rAB4+NCw1cVPle9RN7RW/v7B4b8ORiCn1FwZLUPmEiZSYzyh4in5oa3Mri+W/g+KafZDH6LCbA== dependencies: - "@aws-sdk/types" "3.609.0" + "@aws-sdk/types" "3.654.0" "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" "@smithy/util-config-provider" "^3.0.0" tslib "^2.6.2" @@ -785,27 +1030,29 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz#6a362c0f0696dc6749108a33de9998e0fa6b50ec" - integrity sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A== +"@aws-sdk/middleware-expect-continue@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.654.0.tgz#ccf64bd5dbde3266181a00052bad8f78fcc1914e" + integrity sha512-S7fSlo8vdjkQTy9DmdF54ZsPwc+aA4z5Y9JVqAlGL9QiZe/fPtRE3GZ8BBbMICjBfMEa12tWjzhDz9su2c6PIA== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.654.0" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz#42cd48cdc0ad9639545be000bf537969210ce8c5" - integrity sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA== +"@aws-sdk/middleware-flexible-checksums@3.657.0": + version "3.657.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.657.0.tgz#7679218f783c602e9787a85044015742801eaa4f" + integrity sha512-aOfK0YmuL8baCqJ5nArHKyyFko/tSWMjGcegOA4Jo+XAu1PEk0wDi78vOHlv4dfSlF8sXJsAo4kaCEDF3UkGAQ== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" - "@aws-sdk/types" "3.609.0" + "@aws-sdk/types" "3.654.0" "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" + "@smithy/util-middleware" "^3.0.6" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -829,13 +1076,23 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-location-constraint@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz#7ed82d71e5ddcd50683ef2bbde10d1cc2492057e" - integrity sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A== +"@aws-sdk/middleware-host-header@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.654.0.tgz#8b02dcc28467d5b48c32cec22fd6e10ffd2a0549" + integrity sha512-rxGgVHWKp8U2ubMv+t+vlIk7QYUaRCHaVpmUlJv0Wv6Q0KeO9a42T9FxHphjOTlCGQOLcjCreL9CF8Qhtb4mdQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.654.0" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + +"@aws-sdk/middleware-location-constraint@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.654.0.tgz#a64ab011c390e4c7be75a08e0e104e06ccb4d961" + integrity sha512-Duvv5c4DEQ7P6c0YlcvEUW3xCJi6X2uktafNGjILhVDMQwShSF/aFqNv/ikWU/luQcmWHZ9DtDjTR9UKLh6eTA== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/types" "^3.4.2" tslib "^2.6.2" "@aws-sdk/middleware-logger@3.609.0": @@ -847,6 +1104,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/middleware-logger@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.654.0.tgz#510495302fb134e1ef2163205f8eaedd46ffe05f" + integrity sha512-OQYb+nWlmASyXfRb989pwkJ9EVUMP1CrKn2eyTk3usl20JZmKo2Vjis6I0tLUkMSxMhnBJJlQKyWkRpD/u1FVg== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/middleware-recursion-detection@3.616.0": version "3.616.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.616.0.tgz#fa87c9d77c6f85d02b9cf8394f52b2d6334a63af" @@ -867,43 +1133,43 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-sdk-s3@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.621.0.tgz#da9cc709fffa4d269bb472e8ca42f2a4d80a842b" - integrity sha512-CJrQrtKylcqvyPkRR16JmPZkHroCkWwLErQrg30ZcBPNNok8xbfX6cYqG16XDTnu4lSYzv2Yqc4w4oOBv8xerQ== +"@aws-sdk/middleware-recursion-detection@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.654.0.tgz#4ade897efb6cbbfd72dd62a66999f28fd1552f9a" + integrity sha512-gKSomgltKVmsT8sC6W7CrADZ4GHwX9epk3GcH6QhebVO3LA9LRbkL3TwOPUXakxxOLLUTYdOZLIOtFf7iH00lg== dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-stream" "^3.1.3" - "@smithy/util-utf8" "^3.0.0" + "@aws-sdk/types" "3.654.0" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" tslib "^2.6.2" -"@aws-sdk/middleware-signing@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.620.0.tgz#8aface959d610732b0a5ede6f2c48119b33c4f3f" - integrity sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ== +"@aws-sdk/middleware-sdk-s3@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.658.0.tgz#7be274b10082ae488b0f8d1127b906170ef2b6fd" + integrity sha512-LLJjO+74tXiJvMEsZ7v4M+1aJKZsNWbf/TvZCuNpNkvUakVWCkmPQl2Qmaft/y0LABADSz5yCSFAe2CZz5nIHw== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" + "@aws-sdk/core" "3.658.0" + "@aws-sdk/types" "3.654.0" + "@aws-sdk/util-arn-parser" "3.568.0" + "@smithy/core" "^2.4.3" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.3" + "@smithy/signature-v4" "^4.1.3" + "@smithy/smithy-client" "^3.3.2" + "@smithy/types" "^3.4.2" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-stream" "^3.1.6" + "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-ssec@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz#b87a8bc6133f3f6bdc6801183d0f9dad3f93cf9f" - integrity sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg== +"@aws-sdk/middleware-ssec@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.654.0.tgz#025cddb3317e5ab8cfdb1f449c4135441810119b" + integrity sha512-k7hkQDJh4hcRJC7YojQ11kc37SY4foryen26Eafj5qYjeG2OGMW0oZTJDl1TVFJ7AcCjqIuMIo0Ho2US/2JspQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.654.0" + "@smithy/types" "^3.4.2" tslib "^2.6.2" "@aws-sdk/middleware-user-agent@3.616.0": @@ -928,6 +1194,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/middleware-user-agent@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.654.0.tgz#5fa56514b97ced923fefe2653429d7b2bfb102bb" + integrity sha512-liCcqPAyRsr53cy2tYu4qeH4MMN0eh9g6k56XzI5xd4SghXH5YWh4qOYAlQ8T66ZV4nPMtD8GLtLXGzsH8moFg== + dependencies: + "@aws-sdk/types" "3.654.0" + "@aws-sdk/util-endpoints" "3.654.0" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/region-config-resolver@3.614.0": version "3.614.0" resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz#9cebb31a5bcfea2a41891fff7f28d0164cde179a" @@ -940,16 +1217,28 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.621.0.tgz#d8bd2e8bab970acaecfaca3de85c6924b43f07ff" - integrity sha512-u+ulCaHFveqHaTxgiYrEAyfBVP6GRKjnmDut67CtjhjslshPWYpo/ndtlCW1zc0RDne3uUeK13Pqp7dp7p1d6g== +"@aws-sdk/region-config-resolver@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.654.0.tgz#f98e25a6669fde3d747db23eb589732384e213ef" + integrity sha512-ydGOrXJxj3x0sJhsXyTmvJVLAE0xxuTWFJihTl67RtaO7VRNtd82I3P3bwoMMaDn5WpmV5mPo8fEUDRlBm3fPg== dependencies: - "@aws-sdk/middleware-sdk-s3" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.654.0" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/types" "^3.4.2" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.6" + tslib "^2.6.2" + +"@aws-sdk/signature-v4-multi-region@3.658.0": + version "3.658.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.658.0.tgz#0d5fff03386c443cd2a02847c5e46f18fc1edb7f" + integrity sha512-eK00rYVQVG2fqqR8QxrjxZxgJKasyz3honFfKFNB5nKyOvKXkVI5QJ3HvbrWgRaMt21n2qcYQZxTO6dTkfeWVA== + dependencies: + "@aws-sdk/middleware-sdk-s3" "3.658.0" + "@aws-sdk/types" "3.654.0" + "@smithy/protocol-http" "^4.1.3" + "@smithy/signature-v4" "^4.1.3" + "@smithy/types" "^3.4.2" tslib "^2.6.2" "@aws-sdk/token-providers@3.614.0": @@ -963,6 +1252,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/token-providers@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.654.0.tgz#1aba36d510d471ccac43f90b59e2a354399ed069" + integrity sha512-D8GeJYmvbfWkQDtTB4owmIobSMexZel0fOoetwvgCQ/7L8VPph3Q2bn1TRRIXvH7wdt6DcDxA3tKMHPBkT3GlA== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/property-provider" "^3.1.6" + "@smithy/shared-ini-file-loader" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/types@3.609.0", "@aws-sdk/types@^3.222.0": version "3.609.0" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.609.0.tgz#06b39d799c9f197a7b43670243e8e78a3bf7d6a5" @@ -971,6 +1271,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@aws-sdk/types@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.654.0.tgz#d368dda5e8aff9e7b6575985bb425bbbaf67aa97" + integrity sha512-VWvbED3SV+10QJIcmU/PKjsKilsTV16d1I7/on4bvD/jo1qGeMXqLDBSen3ks/tuvXZF/mFc7ZW/W2DiLVtO7A== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@aws-sdk/util-arn-parser@3.568.0": version "3.568.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.568.0.tgz#6a19a8c6bbaa520b6be1c278b2b8c17875b91527" @@ -1002,6 +1310,16 @@ "@smithy/util-endpoints" "^2.0.5" tslib "^2.6.2" +"@aws-sdk/util-endpoints@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.654.0.tgz#ae8ac05c8afe73cf1428942c3a6d0ab8765f3911" + integrity sha512-i902fcBknHs0Irgdpi62+QMvzxE+bczvILXigYrlHL4+PiEnlMVpni5L5W1qCkNZXf8AaMrSBuR1NZAGp6UOUw== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/types" "^3.4.2" + "@smithy/util-endpoints" "^2.1.2" + tslib "^2.6.2" + "@aws-sdk/util-locate-window@^3.0.0": version "3.568.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz#2acc4b2236af0d7494f7e517401ba6b3c4af11ff" @@ -1019,6 +1337,16 @@ bowser "^2.11.0" tslib "^2.6.2" +"@aws-sdk/util-user-agent-browser@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.654.0.tgz#caa5e5d6d502aad1fe5a436cffbabfff1ec3b92c" + integrity sha512-ykYAJqvnxLt7wfrqya28wuH3/7NdrwzfiFd7NqEVQf7dXVxL5RPEpD7DxjcyQo3DsHvvdUvGZVaQhozycn1pzA== + dependencies: + "@aws-sdk/types" "3.654.0" + "@smithy/types" "^3.4.2" + bowser "^2.11.0" + tslib "^2.6.2" + "@aws-sdk/util-user-agent-node@3.614.0": version "3.614.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz#1e3f49a80f841a3f21647baed2adce01aac5beb5" @@ -1029,12 +1357,22 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/xml-builder@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz#eeb3d5cde000a23cfeeefe0354b6193440dc7d87" - integrity sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA== +"@aws-sdk/util-user-agent-node@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.654.0.tgz#d4b88fa9f3fce2fd70118d2c01abd941d30cffa7" + integrity sha512-a0ojjdBN6pqv6gB4H/QPPSfhs7mFtlVwnmKCM/QrTaFzN0U810PJ1BST3lBx5sa23I5jWHGaoFY+5q65C3clLQ== dependencies: - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.654.0" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + +"@aws-sdk/xml-builder@3.654.0": + version "3.654.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.654.0.tgz#28d295a1a9bbe6313ba240ce9cf851e894fcd449" + integrity sha512-qA2diK3d/ztC8HUb7NwPKbJRV01NpzTzxFn+L5G3HzJBNeKbjLcprQ/9uG9gp2UEx2Go782FI1ddrMNa0qBICA== + dependencies: + "@smithy/types" "^3.4.2" tslib "^2.6.2" "@smithy/abort-controller@^3.1.1": @@ -1045,6 +1383,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/abort-controller@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.4.tgz#7cb22871f7392319c565d1d9ab3cb04e635c4dd9" + integrity sha512-VupaALAQlXViW3/enTf/f5l5JZYSAxoJL7f0nanhNNKnww6DGCg1oYIuNP78KDugnkwthBO6iEcym16HhWV8RQ== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/chunked-blob-reader-native@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.0.tgz#f1104b30030f76f9aadcbd3cdca4377bd1ba2695" @@ -1071,6 +1417,17 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" +"@smithy/config-resolver@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.8.tgz#8717ea934f1d72474a709fc3535d7b8a11de2e33" + integrity sha512-Tv1obAC18XOd2OnDAjSWmmthzx6Pdeh63FbLin8MlPiuJ2ATpKkq0NcNOJFr0dO+JmZXnwu8FQxKJ3TKJ3Hulw== + dependencies: + "@smithy/node-config-provider" "^3.1.7" + "@smithy/types" "^3.4.2" + "@smithy/util-config-provider" "^3.0.0" + "@smithy/util-middleware" "^3.0.6" + tslib "^2.6.2" + "@smithy/core@^2.2.7": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.3.0.tgz#305da2d99f9239e6e6737d55fd073b38edad89ed" @@ -1099,6 +1456,22 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" +"@smithy/core@^2.4.3": + version "2.4.6" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.6.tgz#d367a047a88aceee22eda5a598db00a7e5c50e72" + integrity sha512-6lQQp99hnyuNNIzeTYSzCUXJHwvvFLY7hfdFGSJM95tjRDJGfzWYFRBXPaM9766LiiTsQ561KErtbufzUFSYUg== + dependencies: + "@smithy/middleware-endpoint" "^3.1.3" + "@smithy/middleware-retry" "^3.0.21" + "@smithy/middleware-serde" "^3.0.6" + "@smithy/protocol-http" "^4.1.3" + "@smithy/smithy-client" "^3.3.5" + "@smithy/types" "^3.4.2" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + "@smithy/credential-provider-imds@^3.1.4", "@smithy/credential-provider-imds@^3.2.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz#0e0e7ddaff1a8633cb927aee1056c0ab506b7ecf" @@ -1110,49 +1483,60 @@ "@smithy/url-parser" "^3.0.3" tslib "^2.6.2" -"@smithy/eventstream-codec@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz#4a1c72b34400631b829241151984a1ad8c4f963c" - integrity sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw== +"@smithy/credential-provider-imds@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.3.tgz#93314e58e4f81f2b641de6efac037c7a3250c050" + integrity sha512-VoxMzSzdvkkjMJNE38yQgx4CfnmT+Z+5EUXkg4x7yag93eQkVQgZvN3XBSHC/ylfBbLbAtdu7flTCChX9I+mVg== + dependencies: + "@smithy/node-config-provider" "^3.1.7" + "@smithy/property-provider" "^3.1.6" + "@smithy/types" "^3.4.2" + "@smithy/url-parser" "^3.0.6" + tslib "^2.6.2" + +"@smithy/eventstream-codec@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.5.tgz#2b0d65818425d60e043b8e9d8dee9c6744de0e7b" + integrity sha512-6pu+PT2r+5ZnWEV3vLV1DzyrpJ0TmehQlniIDCSpZg6+Ji2SfOI38EqUyQ+O8lotVElCrfVc9chKtSMe9cmCZQ== dependencies: "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.4.2" "@smithy/util-hex-encoding" "^3.0.0" tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz#3e971afd2b8a02a098af8decc4b9e3f35296d6a2" - integrity sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ== +"@smithy/eventstream-serde-browser@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.9.tgz#bb71b836a8755dd5d5fed85ac2fa500702f60544" + integrity sha512-PiQLo6OQmZAotJweIcObL1H44gkvuJACKMNqpBBe5Rf2Ax1DOcGi/28+feZI7yTe1ERHlQQaGnm8sSkyDUgsMg== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" - "@smithy/types" "^3.3.0" + "@smithy/eventstream-serde-universal" "^3.0.8" + "@smithy/types" "^3.4.2" tslib "^2.6.2" -"@smithy/eventstream-serde-config-resolver@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz#f852e096d0ad112363b4685e1d441088d1fce67a" - integrity sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ== +"@smithy/eventstream-serde-config-resolver@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.6.tgz#538862ef05e549c0ef97b060100a5ffbb5d7adfb" + integrity sha512-iew15It+c7WfnVowWkt2a7cdPp533LFJnpjDQgfZQcxv2QiOcyEcea31mnrk5PVbgo0nNH3VbYGq7myw2q/F6A== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.4.2" tslib "^2.6.2" -"@smithy/eventstream-serde-node@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz#6301752ca51b3ebabcd2dec112f1dacd990de4c1" - integrity sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg== +"@smithy/eventstream-serde-node@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.8.tgz#0221c555f2851fd847b041f27a6231945822018f" + integrity sha512-6m+wI+fT0na+6oao6UqALVA38fsScCpoG5UO/A8ZSyGLnPM2i4MS1cFUhpuALgvLMxfYoTCh7qSeJa0aG4IWpQ== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" - "@smithy/types" "^3.3.0" + "@smithy/eventstream-serde-universal" "^3.0.8" + "@smithy/types" "^3.4.2" tslib "^2.6.2" -"@smithy/eventstream-serde-universal@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz#6754de5b94bdc286d8ef1d6bcf22d80f6ab68f30" - integrity sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A== +"@smithy/eventstream-serde-universal@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.8.tgz#0dac5365e3bb349960999b10a4a3c66b77b79dc3" + integrity sha512-09tqzIQ6e+7jLqGvRji1yJoDbL/zob0OFhq75edgStWErGLf16+yI5hRc/o9/YAybOhUZs/swpW2SPn892G5Gg== dependencies: - "@smithy/eventstream-codec" "^3.1.2" - "@smithy/types" "^3.3.0" + "@smithy/eventstream-codec" "^3.1.5" + "@smithy/types" "^3.4.2" tslib "^2.6.2" "@smithy/fetch-http-handler@^3.2.2", "@smithy/fetch-http-handler@^3.2.3": @@ -1177,14 +1561,25 @@ "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-blob-browser@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz#90281c1f183d93686fb4f26107f1819644d68829" - integrity sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg== +"@smithy/fetch-http-handler@^3.2.7", "@smithy/fetch-http-handler@^3.2.8": + version "3.2.8" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.8.tgz#985623d2824138b770c81db7c872474160b3c5b1" + integrity sha512-Lqe0B8F5RM7zkw//6avq1SJ8AfaRd3ubFUS1eVp5WszV7p6Ne5hQ4dSuMHDpNRPhgTvj4va9Kd/pcVigHEHRow== + dependencies: + "@smithy/protocol-http" "^4.1.3" + "@smithy/querystring-builder" "^3.0.6" + "@smithy/types" "^3.4.2" + "@smithy/util-base64" "^3.0.0" + tslib "^2.6.2" + +"@smithy/hash-blob-browser@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.5.tgz#db1cf756647f8f39b4214403482750afbb8f2236" + integrity sha512-Vi3eoNCmao4iKglS80ktYnBOIqZhjbDDwa1IIbF/VaJ8PsHnZTQ5wSicicPrU7nTI4JPFn92/txzWkh4GlK18Q== dependencies: "@smithy/chunked-blob-reader" "^3.0.0" "@smithy/chunked-blob-reader-native" "^3.0.0" - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.4.2" tslib "^2.6.2" "@smithy/hash-node@^3.0.3": @@ -1197,12 +1592,22 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-stream-node@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz#89f0290ae44b113863878e75b10c484ff48af71c" - integrity sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g== +"@smithy/hash-node@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.6.tgz#7c1a869afcbd411eac04c4777dd193ea7ac4e588" + integrity sha512-c/FHEdKK/7DU2z6ZE91L36ahyXWayR3B+FzELjnYq7wH5YqIseM24V+pWCS9kFn1Ln8OFGTf+pyYPiHZuX0s/Q== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.4.2" + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/hash-stream-node@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.5.tgz#4c8d290f6e4d55fdb143d65d645031da12af7fc1" + integrity sha512-61CyFCzqN3VBfcnGX7mof/rkzLb8oHjm4Lr6ZwBIRpBssBb8d09ChrZAqinP2rUrA915BRNkq9NpJz18N7+3hQ== + dependencies: + "@smithy/types" "^3.4.2" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1214,6 +1619,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/invalid-dependency@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.6.tgz#3b3e30a55b92341412626b412fe919929871eeb1" + integrity sha512-czM7Ioq3s8pIXht7oD+vmgy4Wfb4XavU/k/irO8NdXFFOx7YAlsCCcKOh/lJD1mJSYQqiR7NmpZ9JviryD/7AQ== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/is-array-buffer@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz#f84f0d9f9a36601a9ca9381688bd1b726fd39111" @@ -1228,12 +1641,12 @@ dependencies: tslib "^2.6.2" -"@smithy/md5-js@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.3.tgz#55ee40aa24075b096c39f7910590c18ff7660c98" - integrity sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q== +"@smithy/md5-js@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.6.tgz#cb8881ffef4ffbf68b0daf52d8add30dc57e3a7a" + integrity sha512-Ze690T8O3M5SVbb70WormwrKzVf9QQRtIuxtJDgpUQDkmt+PtdYDetBbyCbF9ryupxLw6tgzWKgwffAShhVIXQ== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.4.2" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1246,6 +1659,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/middleware-content-length@^3.0.8": + version "3.0.8" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.8.tgz#4e1c1631718e4d6dfe9a06f37faa90de92e884ed" + integrity sha512-VuyszlSO49WKh3H9/kIO2kf07VUwGV80QRiaDxUfP8P8UKlokz381ETJvwLhwuypBYhLymCYyNhB3fLAGBX2og== + dependencies: + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/middleware-endpoint@^3.0.5", "@smithy/middleware-endpoint@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz#9b8a496d87a68ec43f3f1a0139868d6765a88119" @@ -1259,6 +1681,19 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" +"@smithy/middleware-endpoint@^3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.3.tgz#8c84d40c9d26b77e2bbb99721fd4a3d379828505" + integrity sha512-KeM/OrK8MVFUsoJsmCN0MZMVPjKKLudn13xpgwIMpGTYpA8QZB2Xq5tJ+RE6iu3A6NhOI4VajDTwBsm8pwwrhg== + dependencies: + "@smithy/middleware-serde" "^3.0.6" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.7" + "@smithy/types" "^3.4.2" + "@smithy/url-parser" "^3.0.6" + "@smithy/util-middleware" "^3.0.6" + tslib "^2.6.2" + "@smithy/middleware-retry@^3.0.10", "@smithy/middleware-retry@^3.0.12": version "3.0.12" resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.12.tgz#e20b0ebeac724f815340a37bd927ae5401a5c94b" @@ -1289,6 +1724,21 @@ tslib "^2.6.2" uuid "^9.0.1" +"@smithy/middleware-retry@^3.0.18", "@smithy/middleware-retry@^3.0.21": + version "3.0.21" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.21.tgz#c26168f761d5b72c750fb4ed66c18a2b195b7f4d" + integrity sha512-/h0fElV95LekVVEJuSw+aI11S1Y3zIUwBc6h9ZbUv43Gl2weXsbQwjLoet6j/Qtb0phfrSxS6pNg6FqgJOWZkA== + dependencies: + "@smithy/node-config-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.3" + "@smithy/service-error-classification" "^3.0.6" + "@smithy/smithy-client" "^3.3.5" + "@smithy/types" "^3.4.2" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-retry" "^3.0.6" + tslib "^2.6.2" + uuid "^9.0.1" + "@smithy/middleware-serde@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz#74d974460f74d99f38c861e6862984543a880a66" @@ -1297,6 +1747,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/middleware-serde@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.6.tgz#9f7a9c152989b59c12865ef3a17acbdb7b6a1566" + integrity sha512-KKTUSl1MzOM0MAjGbudeaVNtIDo+PpekTBkCNwvfZlKndodrnvRo+00USatiyLOc0ujjO9UydMRu3O9dYML7ag== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/middleware-stack@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz#91845c7e61e6f137fa912b623b6def719a4f6ce7" @@ -1305,6 +1763,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/middleware-stack@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.6.tgz#e63d09b3e292b7a46ac3b9eb482973701de15a6f" + integrity sha512-2c0eSYhTQ8xQqHMcRxLMpadFbTXg6Zla5l0mwNftFCZMQmuhI7EbAJMx6R5eqfuV3YbJ3QGyS3d5uSmrHV8Khg== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/node-config-provider@^3.1.4": version "3.1.4" resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz#05647bed666aa8036a1ad72323c1942e5d421be1" @@ -1315,6 +1781,16 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/node-config-provider@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.7.tgz#6ae71aeff45e8c9792720986f0b1623cf6da671f" + integrity sha512-g3mfnC3Oo8pOI0dYuPXLtdW1WGVb3bR2tkV21GNkm0ZvQjLTtamXAwCWt/FCb0HGvKt3gHHmF1XerG0ICfalOg== + dependencies: + "@smithy/property-provider" "^3.1.6" + "@smithy/shared-ini-file-loader" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/node-http-handler@^3.1.3", "@smithy/node-http-handler@^3.1.4": version "3.1.4" resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz#be4195e45639e690d522cd5f11513ea822ff9d5f" @@ -1326,6 +1802,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/node-http-handler@^3.2.2", "@smithy/node-http-handler@^3.2.3": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.3.tgz#6d10ece149b441f5417d34db45ddb76407d5c186" + integrity sha512-/gcm5DJ3k1b1zEInzBGAZC8ntJ+jwrz1NcSIu+9dSXd1FfG0G6QgkDI40tt8/WYUbHtLyo8fEqtm2v29koWo/w== + dependencies: + "@smithy/abort-controller" "^3.1.4" + "@smithy/protocol-http" "^4.1.3" + "@smithy/querystring-builder" "^3.0.6" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/property-provider@^3.1.3": version "3.1.3" resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.3.tgz#afd57ea82a3f6c79fbda95e3cb85c0ee0a79f39a" @@ -1334,6 +1821,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/property-provider@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.6.tgz#141a245ad8cac074d29a836ec992ef7dc3363bf7" + integrity sha512-NK3y/T7Q/Bw+Z8vsVs9MYIQ5v7gOX7clyrXcwhhIBQhbPgRl6JDrZbusO9qWDhcEus75Tg+VCxtIRfo3H76fpw== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/protocol-http@^4.0.4", "@smithy/protocol-http@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.0.tgz#23519d8f45bf4f33960ea5415847bc2b620a010b" @@ -1342,6 +1837,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/protocol-http@^4.1.3": + version "4.1.3" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.3.tgz#91d894ec7d82c012c5674cb3e209800852f05abd" + integrity sha512-GcbMmOYpH9iRqtC05RbRnc/0FssxSTHlmaNhYBTgSgNCYpdR3Kt88u5GAZTBmouzv+Zlj/VRv92J9ruuDeJuEw== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/querystring-builder@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz#6b0e566f885bb84938d077c69e8f8555f686af13" @@ -1351,6 +1854,15 @@ "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" +"@smithy/querystring-builder@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.6.tgz#bcb718b860697dca5257ca38dc8041a4696c486f" + integrity sha512-sQe08RunoObe+Usujn9+R2zrLuQERi3CWvRO3BvnoWSYUaIrLKuAIeY7cMeDax6xGyfIP3x/yFWbEKSXvOnvVg== + dependencies: + "@smithy/types" "^3.4.2" + "@smithy/util-uri-escape" "^3.0.0" + tslib "^2.6.2" + "@smithy/querystring-parser@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz#272a6b83f88dfcbbec8283d72a6bde850cc00091" @@ -1359,6 +1871,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/querystring-parser@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.6.tgz#f30e7e244fa674d77bdfd3c65481c5dc0aa083ef" + integrity sha512-UJKw4LlEkytzz2Wq+uIdHf6qOtFfee/o7ruH0jF5I6UAuU+19r9QV7nU3P/uI0l6+oElRHmG/5cBBcGJrD7Ozg== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/service-error-classification@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz#73484255060a094aa9372f6cd972dcaf97e3ce80" @@ -1366,6 +1886,13 @@ dependencies: "@smithy/types" "^3.3.0" +"@smithy/service-error-classification@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.6.tgz#e0ca00b79d9ccf00795284e01cfdc48b43b81d76" + integrity sha512-53SpchU3+DUZrN7J6sBx9tBiCVGzsib2e4sc512Q7K9fpC5zkJKs6Z9s+qbMxSYrkEkle6hnMtrts7XNkMJJMg== + dependencies: + "@smithy/types" "^3.4.2" + "@smithy/shared-ini-file-loader@^3.1.4": version "3.1.4" resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz#7dceaf5a5307a2ee347ace8aba17312a1a3ede15" @@ -1374,6 +1901,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/shared-ini-file-loader@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.7.tgz#bdcf3f0213c3c5779c3fbb41580e9a217ad52e8f" + integrity sha512-IA4K2qTJYXkF5OfVN4vsY1hfnUZjaslEE8Fsr/gGFza4TAC2A9NfnZuSY2srQIbt9bwtjHiAayrRVgKse4Q7fA== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/signature-v4@^4.0.0", "@smithy/signature-v4@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" @@ -1388,6 +1923,20 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" +"@smithy/signature-v4@^4.1.3": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.4.tgz#6baa7fe14e86516d2c2568d081c67553449cbb5e" + integrity sha512-72MiK7xYukNsnLJI9NqvUHqTu0ziEsfMsYNlWpiJfuGQnCTFKpckThlEatirvcA/LmT1h7rRO+pJD06PYsPu9Q== + dependencies: + "@smithy/is-array-buffer" "^3.0.0" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" + "@smithy/util-hex-encoding" "^3.0.0" + "@smithy/util-middleware" "^3.0.6" + "@smithy/util-uri-escape" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + "@smithy/smithy-client@^3.1.10", "@smithy/smithy-client@^3.1.8": version "3.1.10" resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.10.tgz#f2eb339006d48cf1c8f797f6e3896ec5af6ab80b" @@ -1412,6 +1961,18 @@ "@smithy/util-stream" "^3.1.3" tslib "^2.6.2" +"@smithy/smithy-client@^3.3.2", "@smithy/smithy-client@^3.3.5": + version "3.3.5" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.3.5.tgz#ded1f89b9d8b17689a87351f6d7708ce4f3b9ea6" + integrity sha512-7IZi8J3Dr9n3tX+lcpmJ/5tCYIqoXdblFBaPuv0SEKZFRpCxE+TqIWL6I3t7jLlk9TWu3JSvEZAhtjB9yvB+zA== + dependencies: + "@smithy/middleware-endpoint" "^3.1.3" + "@smithy/middleware-stack" "^3.0.6" + "@smithy/protocol-http" "^4.1.3" + "@smithy/types" "^3.4.2" + "@smithy/util-stream" "^3.1.8" + tslib "^2.6.2" + "@smithy/types@^3.3.0": version "3.3.0" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.3.0.tgz#fae037c733d09bc758946a01a3de0ef6e210b16b" @@ -1419,6 +1980,13 @@ dependencies: tslib "^2.6.2" +"@smithy/types@^3.4.2": + version "3.4.2" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.4.2.tgz#aa2d087922d57205dbad68df8a45c848699c551e" + integrity sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w== + dependencies: + tslib "^2.6.2" + "@smithy/url-parser@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.3.tgz#e8a060d9810b24b1870385fc2b02485b8a6c5955" @@ -1428,6 +1996,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/url-parser@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.6.tgz#98b426f9a492e0c992fcd5dceac35444c2632837" + integrity sha512-47Op/NU8Opt49KyGpHtVdnmmJMsp2hEwBdyjuFB9M2V5QVOwA7pBhhxKN5z6ztKGrMw76gd8MlbPuzzvaAncuQ== + dependencies: + "@smithy/querystring-parser" "^3.0.6" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/util-base64@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-3.0.0.tgz#f7a9a82adf34e27a72d0719395713edf0e493017" @@ -1496,6 +2073,17 @@ bowser "^2.11.0" tslib "^2.6.2" +"@smithy/util-defaults-mode-browser@^3.0.18": + version "3.0.21" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.21.tgz#cdcb9a29433d2659b7c83902e8f5fca396b8a805" + integrity sha512-M/FhTBk4c/SsB91dD/M4gMGfJO7z/qJaM9+XQQIqBOf4qzZYMExnP7R4VdGwxxH8IKMGW+8F0I4rNtVRrcfPoA== + dependencies: + "@smithy/property-provider" "^3.1.6" + "@smithy/smithy-client" "^3.3.5" + "@smithy/types" "^3.4.2" + bowser "^2.11.0" + tslib "^2.6.2" + "@smithy/util-defaults-mode-node@^3.0.10": version "3.0.12" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.12.tgz#bfd460af0b7dc5e50fe6dcdf35ec1c709e91c632" @@ -1522,6 +2110,19 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/util-defaults-mode-node@^3.0.18": + version "3.0.21" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.21.tgz#f767702cb1416610b6818c9edb966967ea75f524" + integrity sha512-NiLinPvF86U3S2Pdx/ycqd4bnY5dmFSPNL5KYRwbNjqQFS09M5Wzqk8BNk61/47xCYz1X/6KeiSk9qgYPTtuDw== + dependencies: + "@smithy/config-resolver" "^3.0.8" + "@smithy/credential-provider-imds" "^3.2.3" + "@smithy/node-config-provider" "^3.1.7" + "@smithy/property-provider" "^3.1.6" + "@smithy/smithy-client" "^3.3.5" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/util-endpoints@^2.0.5": version "2.0.5" resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz#e3a7a4d1c41250bfd2b2d890d591273a7d8934be" @@ -1531,6 +2132,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/util-endpoints@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.2.tgz#e1d789d598da9ab955b8cf3257ab2f263c35031a" + integrity sha512-FEISzffb4H8DLzGq1g4MuDpcv6CIG15fXoQzDH9SjpRJv6h7J++1STFWWinilG0tQh9H1v2UKWG19Jjr2B16zQ== + dependencies: + "@smithy/node-config-provider" "^3.1.7" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/util-hex-encoding@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz#32938b33d5bf2a15796cd3f178a55b4155c535e6" @@ -1546,6 +2156,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/util-middleware@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.6.tgz#463c41e74d6e8d758f6cceba4dbed4dc5a4afe50" + integrity sha512-BxbX4aBhI1O9p87/xM+zWy0GzT3CEVcXFPBRDoHAM+pV0eSW156pR+PSYEz0DQHDMYDsYAflC2bQNz2uaDBUZQ== + dependencies: + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/util-retry@^3.0.3": version "3.0.3" resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.3.tgz#9b2ac0dbb1c81f69812a8affa4d772bebfc0e049" @@ -1555,6 +2173,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/util-retry@^3.0.6": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.6.tgz#297de1cd5a836fb957ab2ad3439041e848815499" + integrity sha512-BRZiuF7IwDntAbevqMco67an0Sr9oLQJqqRCsSPZZHYRnehS0LHDAkJk/pSmI7Z8c/1Vet294H7fY2fWUgB+Rg== + dependencies: + "@smithy/service-error-classification" "^3.0.6" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + "@smithy/util-stream@^3.1.0", "@smithy/util-stream@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.2.tgz#404e2437eecad13aa89269c1cc2255f253d7843e" @@ -1583,6 +2210,20 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" +"@smithy/util-stream@^3.1.6", "@smithy/util-stream@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.8.tgz#31bcf460c54aae816e0789682426da522f894058" + integrity sha512-hoKOqSmb8FD3WLObuB5hwbM7bNIWgcnvkThokTvVq7J5PKjlLUK5qQQcB9zWLHIoSaIlf3VIv2OxZY2wtQjcRQ== + dependencies: + "@smithy/fetch-http-handler" "^3.2.8" + "@smithy/node-http-handler" "^3.2.3" + "@smithy/types" "^3.4.2" + "@smithy/util-base64" "^3.0.0" + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-hex-encoding" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + "@smithy/util-uri-escape@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz#e43358a78bf45d50bb736770077f0f09195b6f54" @@ -1615,6 +2256,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" +"@smithy/util-waiter@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.5.tgz#56b3a0fa6498ed22dfee7f40c64d13a54dd04fcc" + integrity sha512-jYOSvM3H6sZe3CHjzD2VQNCjWBJs+4DbtwBMvUp9y5EnnwNa7NQxTeYeQw0CKCAdGGZ3QvVkyJmvbvs5M/B10A== + dependencies: + "@smithy/abort-controller" "^3.1.4" + "@smithy/types" "^3.4.2" + tslib "^2.6.2" + ansi-colors@^4.1.3: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" From e6d040154921ad68a4a89768932d17603b6804fc Mon Sep 17 00:00:00 2001 From: Garrett Rabian <57802560+gmrabian@users.noreply.github.com> Date: Thu, 3 Oct 2024 08:36:09 -0600 Subject: [PATCH 14/41] update aws-sdk dependencies (#776) --- services/app-api/package.json | 10 +- services/app-api/yarn.lock | 1514 ++++++++++++++------------- services/database/package.json | 6 +- services/database/yarn.lock | 1740 +++++++++++++------------------- services/ui-auth/package.json | 2 +- services/ui-auth/yarn.lock | 1013 ++++++++++--------- 6 files changed, 1960 insertions(+), 2325 deletions(-) diff --git a/services/app-api/package.json b/services/app-api/package.json index 2a9da2cf1..e4323c017 100644 --- a/services/app-api/package.json +++ b/services/app-api/package.json @@ -38,11 +38,11 @@ "typescript": "^4.5.4" }, "dependencies": { - "@aws-sdk/client-dynamodb": "^3.621.0", - "@aws-sdk/client-s3": "^3.621.0", - "@aws-sdk/client-ssm": "^3.621.0", - "@aws-sdk/lib-dynamodb": "^3.621.0", - "@aws-sdk/s3-request-presigner": "^3.621.0", + "@aws-sdk/client-dynamodb": "^3.662.0", + "@aws-sdk/client-s3": "^3.662.0", + "@aws-sdk/client-ssm": "^3.662.0", + "@aws-sdk/lib-dynamodb": "^3.662.0", + "@aws-sdk/s3-request-presigner": "^3.662.0", "aws-jwt-verify": "^3.1.0", "dompurify": "^2.5.5", "jsdom": "^24.1.0", diff --git a/services/app-api/yarn.lock b/services/app-api/yarn.lock index 5e252f0eb..252bc660f 100644 --- a/services/app-api/yarn.lock +++ b/services/app-api/yarn.lock @@ -78,411 +78,412 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-sdk/client-dynamodb@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.621.0.tgz#de0a23830a742f42ed031abb745d3787b0d4e759" - integrity sha512-aczOoVyufYwBCc/zZKJOP/xwbnojKQJ6Y8O7ZAZnxMPRyZXKXpoAxmlxLfOU6GUzXqzXdvj+Ir3VBd7MWB4KuQ== +"@aws-sdk/client-dynamodb@^3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.662.0.tgz#462c8155eb2cc38f894a87c4f06d2371d4bf6b1b" + integrity sha512-d5t6hDQkVYqRvp6Cf6WygbseY8gln7Ca/tI4+1B6JXSl2UzffX5ovx2SOjNEPlyGGtZYIiOfqOnKnFlaj0+Gxg== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/client-sts" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-endpoint-discovery" "3.620.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/client-sts" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-endpoint-discovery" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" + "@smithy/util-waiter" "^3.1.6" tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-s3@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.621.0.tgz#86a0e77913cd1e82308299835431887fe306c3a0" - integrity sha512-YhGkd2HQTM4HCYJIAVWvfbUMpOF7XUr1W/e2LN3CFP0WTF4zcCJKesJ2iNHrExqC0Ek1+qarMxiXBK95itfjYQ== +"@aws-sdk/client-s3@^3.662.0": + version "3.663.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.663.0.tgz#02ee62efd49a11aaae66e805dd446f3f2ea43fab" + integrity sha512-XWoy6wglrxFngdswGbccR7cwmafe3ycx2/vIRDuVnIeSYdj/PgYACBt5JEM5NEzW26kFtlJpeN9hUH1i6tyfuQ== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/client-sts" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-bucket-endpoint" "3.620.0" - "@aws-sdk/middleware-expect-continue" "3.620.0" - "@aws-sdk/middleware-flexible-checksums" "3.620.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-location-constraint" "3.609.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-sdk-s3" "3.621.0" - "@aws-sdk/middleware-signing" "3.620.0" - "@aws-sdk/middleware-ssec" "3.609.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/signature-v4-multi-region" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@aws-sdk/xml-builder" "3.609.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/eventstream-serde-browser" "^3.0.5" - "@smithy/eventstream-serde-config-resolver" "^3.0.3" - "@smithy/eventstream-serde-node" "^3.0.4" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-blob-browser" "^3.1.2" - "@smithy/hash-node" "^3.0.3" - "@smithy/hash-stream-node" "^3.1.2" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/md5-js" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/client-sts" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-bucket-endpoint" "3.662.0" + "@aws-sdk/middleware-expect-continue" "3.662.0" + "@aws-sdk/middleware-flexible-checksums" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-location-constraint" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-sdk-s3" "3.662.0" + "@aws-sdk/middleware-ssec" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/signature-v4-multi-region" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@aws-sdk/xml-builder" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/eventstream-serde-browser" "^3.0.10" + "@smithy/eventstream-serde-config-resolver" "^3.0.7" + "@smithy/eventstream-serde-node" "^3.0.9" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-blob-browser" "^3.1.6" + "@smithy/hash-node" "^3.0.7" + "@smithy/hash-stream-node" "^3.1.6" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/md5-js" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-stream" "^3.1.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" + "@smithy/util-stream" "^3.1.9" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" + "@smithy/util-waiter" "^3.1.6" tslib "^2.6.2" -"@aws-sdk/client-ssm@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-ssm/-/client-ssm-3.621.0.tgz#d5928d86c65c2cb072f8d3bdaa739d3ff06cd1e5" - integrity sha512-E4OM7HH9qU2TZGDrX2MlBlBr9gVgDm573Qa1CTFih58dUZyaPEOiZSYLUNOyw4nMyVLyDMR/5zQ4wAorNwKVPw== +"@aws-sdk/client-ssm@^3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-ssm/-/client-ssm-3.662.0.tgz#fa15013e4485a5e2a5dd726e45afd7eb08f60feb" + integrity sha512-69rDJozJRBuUjvejZceoG1Xdm0L7elsH7OIPVoNyHwN7CyPzIY1j0fm7+G+3GK9N4VdPC4m0xge5mNVfEeV7hQ== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/client-sts" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/client-sts" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" + "@smithy/util-waiter" "^3.1.6" tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-sso-oidc@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz#3fa3d468fbebbd93a5f75c1d51b63cc7af3ef17b" - integrity sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg== +"@aws-sdk/client-sso-oidc@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.662.0.tgz#f2816f674b4125ff900435cc8b7fadc227455c81" + integrity sha512-YZrH0sftdmjvEIY8u0LCrfEhyaMVpN0+K0K9WsUrFRMZ7DK6nB9YD1f5EaKUN5UjNw5S7gbjSdI8neSCoELjhw== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz#c0eefeb9adcbc6bb7c91c32070404c8c91846825" - integrity sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA== +"@aws-sdk/client-sso@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.662.0.tgz#43c9238799a2271e3652089bcddf105752fdacea" + integrity sha512-4j3+eNSnNblcIYCJrsRRdyXFjAWGpGa7s7pdIyDMLwtYA7AKNlnlyQV14jtezhMrN2j6qZ7zZmnwEyFGipgfWA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sts@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz#2994f601790893901704c5df56c837e89f279952" - integrity sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA== +"@aws-sdk/client-sts@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.662.0.tgz#8d35b7d25c813e3b2ba0d8efd42d9e61823e088f" + integrity sha512-RjiXvfW3a36ybHuzYuZ6ZgddYiENiXLDGC3tlZMsKWuoVQNeoh2grx1wxUA6e4ajAIqJLXs5dAYTSXzGaAqHTA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/core@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.621.0.tgz#e38c56c3ce0c819ca1185eaabcb98412429aaca3" - integrity sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ== - dependencies: - "@smithy/core" "^2.3.1" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" +"@aws-sdk/core@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.662.0.tgz#93764660c9fabbc10e77ddcde283f088e22bebc3" + integrity sha512-w64Fa4dsgM8vN7Z+QPR3n+aAl5GXThQRH8deT/iF1rLrzfq7V8xxACJ/CLVaxrZMZUPUUgG7DUAo95nXFWmGjA== + dependencies: + "@smithy/core" "^2.4.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/signature-v4" "^4.2.0" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" fast-xml-parser "4.4.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz#d4692c49a65ebc11dae3f7f8b053fee9268a953c" - integrity sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg== +"@aws-sdk/credential-provider-env@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.662.0.tgz#fe58b29abefd0fa968f79c7e7d15381009945a75" + integrity sha512-Dgwb0c/FH4xT5QZZFdLTFmCkdG3woXIAgLx5HCoH9Ty5G7T8keHOU9Jm4Vpe2ZJXL7JJHlLakGS65+bgXTuLSQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz#5f944bf548f203d842cf71a5792f73c205544627" - integrity sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.3" +"@aws-sdk/credential-provider-http@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.662.0.tgz#02e3e97e28ec1bb99bdd91ddc9df5d48e1a31b42" + integrity sha512-Wnle/uJI4Ku9ABJHof9sio28VlaSbF3jVQKTSVCJftvbKELlFOlY5aXSjtu0wwcJqDS5r78N5KM7aARUJES+DA== + dependencies: + "@aws-sdk/types" "3.662.0" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-stream" "^3.1.9" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz#bda2365f88fee40e3ae067b08bf484106c339222" - integrity sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA== - dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.621.0" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.621.0" - "@aws-sdk/credential-provider-web-identity" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" +"@aws-sdk/credential-provider-ini@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.662.0.tgz#505e37298cc6e2909020c25d555bf6b6d3f4cbdc" + integrity sha512-jk+A5B0NRYG4KrjJ8ef1+r9bFjhpwUm/A9grJmp3JOwcHKXvI2Gy9BXNqfqqVgrK0Gns+WyhJZy6rsRaC+v1oQ== + dependencies: + "@aws-sdk/credential-provider-env" "3.662.0" + "@aws-sdk/credential-provider-http" "3.662.0" + "@aws-sdk/credential-provider-process" "3.662.0" + "@aws-sdk/credential-provider-sso" "3.662.0" + "@aws-sdk/credential-provider-web-identity" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz#9cc5052760a9f9d70d70f12ddbdbf0d59bf13a47" - integrity sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw== - dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.621.0" - "@aws-sdk/credential-provider-ini" "3.621.0" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.621.0" - "@aws-sdk/credential-provider-web-identity" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" +"@aws-sdk/credential-provider-node@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.662.0.tgz#086aa57b4fbca4701566f9ac88d59aa67658a5f8" + integrity sha512-2O9wjxdLcU1b+bWVkp3YYbPHo15SU3pW4KfWTca5bB/C01i1eqiHnwsOFz/WKPYYKNj0FhXtJJjeDQLtNFYI8A== + dependencies: + "@aws-sdk/credential-provider-env" "3.662.0" + "@aws-sdk/credential-provider-http" "3.662.0" + "@aws-sdk/credential-provider-ini" "3.662.0" + "@aws-sdk/credential-provider-process" "3.662.0" + "@aws-sdk/credential-provider-sso" "3.662.0" + "@aws-sdk/credential-provider-web-identity" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz#10387cf85400420bb4bbda9cc56937dcc6d6d0ee" - integrity sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg== +"@aws-sdk/credential-provider-process@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.662.0.tgz#2c9fef18cffc827c26b599fb2a9dfb812ca1409e" + integrity sha512-1QUdtr/JiuvRjVgA8enpgCwjq7Eud8eVUT0i/vpWuFp5TV2FFq/8BD3GBkesTdy4Ylms6QVGf7J6INdfUWQEmw== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz#710f413708cb372f9f94e8eb9726cf263ffd83e3" - integrity sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw== - dependencies: - "@aws-sdk/client-sso" "3.621.0" - "@aws-sdk/token-providers" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" +"@aws-sdk/credential-provider-sso@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.662.0.tgz#6d0c9f5f819da6b473d39d0cf4cd42cbbca3a524" + integrity sha512-zxze6pDPgwBwl7S3h4JDALCCz93pTAfulbCY8FqMEd7GvnAiofHpL9svyt4+gytXwwUSsQ6KxCMVLbi+8k8YIg== + dependencies: + "@aws-sdk/client-sso" "3.662.0" + "@aws-sdk/token-providers" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz#b25878c0a05dad60cd5f91e7e5a31a145c2f14be" - integrity sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w== +"@aws-sdk/credential-provider-web-identity@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.662.0.tgz#18246e29d5f8b242a0717ff7110680cc5816d163" + integrity sha512-GhPwxmHSFtwCckuT+34JG+U99qKfDWVYPLJOPI6b35+aLhfVqW5CHPmVjtM4WZqbxzsA0a3KAYA/U1ZaluI4SA== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/endpoint-cache@3.572.0": @@ -493,208 +494,201 @@ mnemonist "0.38.3" tslib "^2.6.2" -"@aws-sdk/lib-dynamodb@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.621.0.tgz#f8c320af1b286f2827d3be97aaffc571fa4bbfeb" - integrity sha512-RJJwaR15BLSTtegf2kgJjlJofvxeR+0Jm0rnEbJmRZ/HZhjow1LawrMbCR0YxfcWKUMsDw9tp8BDkLlrH1+RJQ== +"@aws-sdk/lib-dynamodb@^3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.662.0.tgz#425073c71c284cff3636faf8daa07e692c8b0504" + integrity sha512-DCmhc9hccIsMbYl8xINLtxYmsUlSVCUKcDA19Z+7901Jlu8OwzidwMBy4ZK8wAmy6/aG4agH67FY4i0Hee3z9g== dependencies: - "@aws-sdk/util-dynamodb" "3.621.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" + "@aws-sdk/util-dynamodb" "3.662.0" + "@smithy/core" "^2.4.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-bucket-endpoint@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.620.0.tgz#c5dc0e98b6209a91479cad6c2c74fbc5a3429fab" - integrity sha512-eGLL0W6L3HDb3OACyetZYOWpHJ+gLo0TehQKeQyy2G8vTYXqNTeqYhuI6up9HVjBzU9eQiULVQETmgQs7TFaRg== +"@aws-sdk/middleware-bucket-endpoint@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.662.0.tgz#49c223b868a72a5d49deadfa799136b7c638381d" + integrity sha512-qBdQ7zqdanCPep7puYw1s6lH8lQ2uWP6+klp35cAYjCMbGiItclteXRQOuldkd9Oc7dtoYlTJBDKeAybJZShlw== dependencies: - "@aws-sdk/types" "3.609.0" + "@aws-sdk/types" "3.662.0" "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-endpoint-discovery@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.620.0.tgz#45acd6cf2a77ceaf736f2758274c383838c8584a" - integrity sha512-T6kuydHBF4BPP5CVH53Fze7c2b9rqxWP88XrGtmNMXXdY4sXur1v/itGdS2l3gqRjxKo0LsmjmuQm9zL4vGneQ== +"@aws-sdk/middleware-endpoint-discovery@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.662.0.tgz#ad1e99eeb5b13282d26f3032822ec41840eaa03c" + integrity sha512-os/gBtal8DDOZHUVQNymy8K/8JNC1tPqznsUoEkjoYaQoerT9PR3PPrc/oWTB9h1VLXZOwJ8HcCtsEbXUAddTg== dependencies: "@aws-sdk/endpoint-cache" "3.572.0" - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.620.0.tgz#6a362c0f0696dc6749108a33de9998e0fa6b50ec" - integrity sha512-QXeRFMLfyQ31nAHLbiTLtk0oHzG9QLMaof5jIfqcUwnOkO8YnQdeqzakrg1Alpy/VQ7aqzIi8qypkBe2KXZz0A== +"@aws-sdk/middleware-expect-continue@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.662.0.tgz#04f3df778ec20a7e508f4576c89cea489bfd53b4" + integrity sha512-kSSeblAz0bdE8golejbEp9tLoP1EcYGWqrAjv5kDwbo56J9vbBh12shxDULpDBNXXLBoK4DktHgJl3RqwXlK5g== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.620.0.tgz#42cd48cdc0ad9639545be000bf537969210ce8c5" - integrity sha512-ftz+NW7qka2sVuwnnO1IzBku5ccP+s5qZGeRTPgrKB7OzRW85gthvIo1vQR2w+OwHFk7WJbbhhWwbCbktnP4UA== +"@aws-sdk/middleware-flexible-checksums@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.662.0.tgz#18b04ce5ea0a354560019961c1d28ecf5b150695" + integrity sha512-aZEA0a0hYfOL2ah+ZlFAVr2HMWetNooyrDFq+iP04CmE674WCJBp71DdQrRvNQsW+PBkq7iHsgfYEQumYMqz9Q== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" - "@aws-sdk/types" "3.609.0" + "@aws-sdk/types" "3.662.0" "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz#b561d419a08a984ba364c193376b482ff5224d74" - integrity sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg== +"@aws-sdk/middleware-host-header@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.662.0.tgz#f3d647d294b19da17ef5845b87dc5c0788196a1e" + integrity sha512-Gkb0J1LTvD8LOS8uwoRI5weFXvvJwP1jfnYwzQrFgLymRFHJm5JtORQZtmw34dtdou+IBTUsH1mgI8b3QVVH3w== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-location-constraint@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.609.0.tgz#7ed82d71e5ddcd50683ef2bbde10d1cc2492057e" - integrity sha512-xzsdoTkszGVqGVPjUmgoP7TORiByLueMHieI1fhQL888WPdqctwAx3ES6d/bA9Q/i8jnc6hs+Fjhy8UvBTkE9A== +"@aws-sdk/middleware-location-constraint@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.662.0.tgz#7abc6484bd517142f4a8e711480382e28bf2bbd9" + integrity sha512-+OAm1hKXGy+F/KJFAc8RKX/z74ZOPEqVzg70kzy/mdSNGzJwvEOfT+KwDVncZ01jk9jso1Q8DXGmxfWzZ/n4aw== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-logger@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz#ed44d201f091b8bac908cbf14724c7a4d492553f" - integrity sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ== +"@aws-sdk/middleware-logger@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.662.0.tgz#8c2ff7d543fe691a06020be853eeb9481409614d" + integrity sha512-aSpwVHtfMlqzpmnmmUgRNCaIcxXdRrGqGWG+VWXuYR1F6jJARDDCxGkSuKiPEOLX0h0BroUo4gqbM8ILXQ8rVw== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz#f8270dfff843fd756be971e5673f89c6a24c6513" - integrity sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w== +"@aws-sdk/middleware-recursion-detection@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.662.0.tgz#5af684014a604d474e6bd763a5d2a3fbfff84d36" + integrity sha512-V/MYE+LOFIQDLnpWMHLxnKu+ELhD3pLOrWXVhKpVit6YcHxaOz6nvB40CPamSPDXenA11FGXKAGNHZ0loTpDQg== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-sdk-s3@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.621.0.tgz#da9cc709fffa4d269bb472e8ca42f2a4d80a842b" - integrity sha512-CJrQrtKylcqvyPkRR16JmPZkHroCkWwLErQrg30ZcBPNNok8xbfX6cYqG16XDTnu4lSYzv2Yqc4w4oOBv8xerQ== +"@aws-sdk/middleware-sdk-s3@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.662.0.tgz#f4980918bc2295c9432cbe3940dfe4ab986bc86d" + integrity sha512-Ur5UGuS/bP5ftBxepOYJmTYES4Crh9TwIbBMUqsaal/XcdvQ7uYXK/PvlYg9P/bLpStmDBb1bxmnmjdsQBwSgw== dependencies: - "@aws-sdk/types" "3.609.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/types" "3.662.0" "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" + "@smithy/core" "^2.4.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/signature-v4" "^4.2.0" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-stream" "^3.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-stream" "^3.1.9" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-signing@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.620.0.tgz#8aface959d610732b0a5ede6f2c48119b33c4f3f" - integrity sha512-gxI7rubiaanUXaLfJ4NybERa9MGPNg2Ycl/OqANsozrBnR3Pw8vqy3EuVImQOyn2pJ2IFvl8ZPoSMHf4pX56FQ== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - tslib "^2.6.2" - -"@aws-sdk/middleware-ssec@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.609.0.tgz#b87a8bc6133f3f6bdc6801183d0f9dad3f93cf9f" - integrity sha512-GZSD1s7+JswWOTamVap79QiDaIV7byJFssBW68GYjyRS5EBjNfwA/8s+6uE6g39R3ojyTbYOmvcANoZEhSULXg== +"@aws-sdk/middleware-ssec@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.662.0.tgz#e70ebcf2cf3ec9ac9f0e222b8d60467c6fccded0" + integrity sha512-7dxSUCeSLYFlMEr6BwNoYiF+4X7/JyIAyjOOI/hh9hyK8D8f3/xenACb67rPb59wUs6WgWZVg+hvWBC55a5KGg== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz#1fe3104f04f576a942cf0469bfbd73c38eef3d9e" - integrity sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A== +"@aws-sdk/middleware-user-agent@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.662.0.tgz#a428403ced5d6684f29d45dd0f39c6c4ef10ab7b" + integrity sha512-NT940BLSSys/A8W3zO3g2Kj+zpeydqGbSQgN6qz84jTskQjnrlamoq+Zl9Rrp8Cn8sC10UQ09kGg97lvjVOlmg== dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/region-config-resolver@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz#9cebb31a5bcfea2a41891fff7f28d0164cde179a" - integrity sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g== +"@aws-sdk/region-config-resolver@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.662.0.tgz#1dcb6850059baa54dcb6e4556ece7ec1a4ee9d1b" + integrity sha512-MDiWl4wZSVnnTELLb+jFSe0nj9HwxJPX2JnghXKkOXmbKEiE2/21DCQwU9mr9VUq2ZOQqaSnMFPr94iRu0AVTQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" -"@aws-sdk/s3-request-presigner@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.621.0.tgz#0c6d033dd3b3ae17061407766466ce66362c6d92" - integrity sha512-7XCH5wy1guywSa4PHKrSiAqm/mYpuKURQWD9nGN9tl2DWec6OK7z+TTTCOml8lBX8Mg5Hx2GUdO3V8uRVYnEmw== - dependencies: - "@aws-sdk/signature-v4-multi-region" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-format-url" "3.609.0" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" +"@aws-sdk/s3-request-presigner@^3.662.0": + version "3.663.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.663.0.tgz#472920fc8deea330672a83f11e2da02c954c8f7d" + integrity sha512-Z29C20dDEFo8e+j8zrk826cguY/n1WMzGSGhv8/m49zqLCgrrkYkv2/peTv+jl46lLOhFigsToYn+G+46YBOdw== + dependencies: + "@aws-sdk/signature-v4-multi-region" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-format-url" "3.662.0" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.621.0.tgz#d8bd2e8bab970acaecfaca3de85c6924b43f07ff" - integrity sha512-u+ulCaHFveqHaTxgiYrEAyfBVP6GRKjnmDut67CtjhjslshPWYpo/ndtlCW1zc0RDne3uUeK13Pqp7dp7p1d6g== +"@aws-sdk/signature-v4-multi-region@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.662.0.tgz#5bdcafb93fbceb8787d5c2ccc15ef9eb22f8f82e" + integrity sha512-nXjFNs/VCT4jh8JyfCDTzUKfnhQU4JTwc0fi6mpQIig88fScKSBNxN4zm1zyg196xf6CBKlQc9UVnMsJYtWYDA== dependencies: - "@aws-sdk/middleware-sdk-s3" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/middleware-sdk-s3" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/signature-v4" "^4.2.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/token-providers@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz#88da04f6d4ce916b0b0f6e045676d04201fb47fd" - integrity sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw== +"@aws-sdk/token-providers@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.662.0.tgz#89c60983e13036cebc0e0310ae226e2254f5a741" + integrity sha512-OqtBPutNC9Am10P1W5IwqRvzCVQAHRxWxZnfDBh1FQjNmoboGWYSriKxbrCRYLFffusNuzo8KnOFOmg1sRlhJQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/types@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.609.0.tgz#06b39d799c9f197a7b43670243e8e78a3bf7d6a5" - integrity sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q== +"@aws-sdk/types@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.662.0.tgz#323de11059df4fd7169a381c166a8aae03abe757" + integrity sha512-Ff9/KRmIm8iEzodxzISLj4/pB/0hX2nVw1RFeOBC65OuM6nHrAdWHHog/CVx25hS5JPU0uE3h6NlWRaBJ7AV5w== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/types@^3.222.0": @@ -712,31 +706,31 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-dynamodb@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.621.0.tgz#a0d6501e5ab9aca695dc794963adf46a475ee5f3" - integrity sha512-/3qEmZ52FdP4+3AUsUX0/wKcCF3jvAG+avVKuSCUYIdKgSIYKSeYfH8F3/r6DE3czaFevBwHRiuKHEihCMApGw== +"@aws-sdk/util-dynamodb@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.662.0.tgz#47b1747f14300384af66b6a07fb4ba7a01318194" + integrity sha512-V079cMhwUTu086eS1grS/F7WeOrfqAW2a2KSFKR/zxLwZPYIoMiCUeoqCgK0PL5DEqdO0EVDPuWe/glEiO52dw== dependencies: tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz#6564b0ffd7dc3728221e9f9821f5aab1cc58468e" - integrity sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw== +"@aws-sdk/util-endpoints@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.662.0.tgz#a124838077ae230bba605310a73e43493e58e3d1" + integrity sha512-RQ/78yNUxZZZULFg7VxT7oObGOR/FBc0ojiFoCAKC20ycY8VvVX5Eof4gyxoVpwOP7EoZO3UlWSIqtaEV/X70w== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - "@smithy/util-endpoints" "^2.0.5" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" + "@smithy/util-endpoints" "^2.1.3" tslib "^2.6.2" -"@aws-sdk/util-format-url@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-3.609.0.tgz#f53907193bb636b52b61c81bbe6d7bd5ddc76c68" - integrity sha512-fuk29BI/oLQlJ7pfm6iJ4gkEpHdavffAALZwXh9eaY1vQ0ip0aKfRTiNudPoJjyyahnz5yJ1HkmlcDitlzsOrQ== +"@aws-sdk/util-format-url@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-format-url/-/util-format-url-3.662.0.tgz#dbf45c6ace10b4e9d949f68ef1cf0932732ce9fc" + integrity sha512-McyEyXsZMzuk/nqrVEbjCSmsKykJ7UI4lTDMdaqFdL0l5K/6VWgbFc3xOZcxEGBIvNucHiusQhqJXYHCAG65Dg== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": @@ -746,32 +740,32 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-user-agent-browser@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz#aa15421b2e32ae8bc589dac2bd6e8969832ce588" - integrity sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA== +"@aws-sdk/util-user-agent-browser@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.662.0.tgz#b17b847b38ffa88944939534069bf78a277723ed" + integrity sha512-5wQd+HbNTY1r1Gndxf93dAEFtKz1DqcalI4Ym40To+RIonSsYQNRomFoizYNgJ1P+Mkfsr4P1dy/MNTlkqTZuQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz#1e3f49a80f841a3f21647baed2adce01aac5beb5" - integrity sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA== +"@aws-sdk/util-user-agent-node@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.662.0.tgz#7199eef53edb1c175e455c94596294541a5aaef4" + integrity sha512-vBRbZ9Hr1OGmdJPWj36X0fR8/VdI2JiwK6+oJRa6qfJ6AnhqCYZbCyeA6JIDeEu3M9iu1OLjenU8NdXhTz8c2w== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/xml-builder@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.609.0.tgz#eeb3d5cde000a23cfeeefe0354b6193440dc7d87" - integrity sha512-l9XxNcA4HX98rwCC2/KoiWcmEiRfZe4G+mYwDbCFT87JIMj6GBhLDkAzr/W8KAaA2IDr8Vc6J8fZPgVulxxfMA== +"@aws-sdk/xml-builder@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.662.0.tgz#6cbe5aea6205fd2280ec043189985240628d1cb2" + integrity sha512-ikLkXn0igUpnJu2mCZjklvmcDGWT9OaLRv3JyC/cRkTaaSrblPjPM7KKsltxdMTLQ+v7fjCN0TsJpxphMfaOPA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4": @@ -1459,12 +1453,12 @@ resolved "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== -"@smithy/abort-controller@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.1.tgz#291210611ff6afecfc198d0ca72d5771d8461d16" - integrity sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ== +"@smithy/abort-controller@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.5.tgz#ca7a86a3c6b20fabe59667143f58d9e198616d14" + integrity sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/chunked-blob-reader-native@^3.0.0": @@ -1482,133 +1476,135 @@ dependencies: tslib "^2.6.2" -"@smithy/config-resolver@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.5.tgz#727978bba7ace754c741c259486a19d3083431fd" - integrity sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA== +"@smithy/config-resolver@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.9.tgz#dcf4b7747ca481866f9bfac21469ebe2031a599e" + integrity sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg== dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" -"@smithy/core@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.3.1.tgz#99cb8eda23009fd7df736c82072dafcf4eb4ff5d" - integrity sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w== - dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" +"@smithy/core@^2.4.7": + version "2.4.7" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.7.tgz#c4dc9ab3ba5f4b36addf967ca5fce036ce3b767d" + integrity sha512-goqMjX+IoVEnHZjYuzu8xwoZjoteMiLXsPHuXPBkWsGwu0o9c3nTjqkUlP1Ez/V8E501aOU7CJ3INk8mQcW2gw== + dependencies: + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/credential-provider-imds@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz#0e0e7ddaff1a8633cb927aee1056c0ab506b7ecf" - integrity sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA== +"@smithy/credential-provider-imds@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.4.tgz#e1a2bfc8a0066f673756ad8735247cf284b9735c" + integrity sha512-S9bb0EIokfYEuar4kEbLta+ivlKCWOCFsLZuilkNy9i0uEUEHSi47IFLPaxqqCl+0ftKmcOTHayY5nQhAuq7+w== dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" tslib "^2.6.2" -"@smithy/eventstream-codec@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.2.tgz#4a1c72b34400631b829241151984a1ad8c4f963c" - integrity sha512-0mBcu49JWt4MXhrhRAlxASNy0IjDRFU+aWNDRal9OtUJvJNiwDuyKMUONSOjLjSCeGwZaE0wOErdqULer8r7yw== +"@smithy/eventstream-codec@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.6.tgz#70ca95aad82d5140522eb883fbc140f1f22dcb27" + integrity sha512-SBiOYPBH+5wOyPS7lfI150ePfGLhnp/eTu5RnV9xvhGvRiKfnl6HzRK9wehBph+il8FxS9KTeadx7Rcmf1GLPQ== dependencies: "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" "@smithy/util-hex-encoding" "^3.0.0" tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.5.tgz#3e971afd2b8a02a098af8decc4b9e3f35296d6a2" - integrity sha512-dEyiUYL/ekDfk+2Ra4GxV+xNnFoCmk1nuIXg+fMChFTrM2uI/1r9AdiTYzPqgb72yIv/NtAj6C3dG//1wwgakQ== +"@smithy/eventstream-serde-browser@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.10.tgz#ffca366a4edee5097be5a710f87627a5b2da5dec" + integrity sha512-1i9aMY6Pl/SmA6NjvidxnfBLHMPzhKu2BP148pEt5VwhMdmXn36PE2kWKGa9Hj8b0XGtCTRucpCncylevCtI7g== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" - "@smithy/types" "^3.3.0" + "@smithy/eventstream-serde-universal" "^3.0.9" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/eventstream-serde-config-resolver@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.3.tgz#f852e096d0ad112363b4685e1d441088d1fce67a" - integrity sha512-NVTYjOuYpGfrN/VbRQgn31x73KDLfCXCsFdad8DiIc3IcdxL+dYA9zEQPyOP7Fy2QL8CPy2WE4WCUD+ZsLNfaQ== +"@smithy/eventstream-serde-config-resolver@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.7.tgz#1f352f384665f322e024a1396a7a2cca52fce9e3" + integrity sha512-eVzhGQBPEqXXYHvIUku0jMTxd4gDvenRzUQPTmKVWdRvp9JUCKrbAXGQRYiGxUYq9+cqQckRm0wq3kTWnNtDhw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/eventstream-serde-node@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.4.tgz#6301752ca51b3ebabcd2dec112f1dacd990de4c1" - integrity sha512-mjlG0OzGAYuUpdUpflfb9zyLrBGgmQmrobNT8b42ZTsGv/J03+t24uhhtVEKG/b2jFtPIHF74Bq+VUtbzEKOKg== +"@smithy/eventstream-serde-node@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.9.tgz#e985340093c2ca6587ae2fdd0663e6845fbe9463" + integrity sha512-JE0Guqvt0xsmfQ5y1EI342/qtJqznBv8cJqkHZV10PwC8GWGU5KNgFbQnsVCcX+xF+qIqwwfRmeWoJCjuOLmng== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.4" - "@smithy/types" "^3.3.0" + "@smithy/eventstream-serde-universal" "^3.0.9" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/eventstream-serde-universal@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.4.tgz#6754de5b94bdc286d8ef1d6bcf22d80f6ab68f30" - integrity sha512-Od9dv8zh3PgOD7Vj4T3HSuox16n0VG8jJIM2gvKASL6aCtcS8CfHZDWe1Ik3ZXW6xBouU+45Q5wgoliWDZiJ0A== +"@smithy/eventstream-serde-universal@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.9.tgz#1832b190a3018204e33487ba1f7f0f6e2fb0da34" + integrity sha512-bydfgSisfepCufw9kCEnWRxqxJFzX/o8ysXWv+W9F2FIyiaEwZ/D8bBKINbh4ONz3i05QJ1xE7A5OKYvgJsXaw== dependencies: - "@smithy/eventstream-codec" "^3.1.2" - "@smithy/types" "^3.3.0" + "@smithy/eventstream-codec" "^3.1.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/fetch-http-handler@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz#c754de7e0ff2541b73ac9ba7cc955940114b3d62" - integrity sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg== +"@smithy/fetch-http-handler@^3.2.9": + version "3.2.9" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz#8d5199c162a37caa37a8b6848eefa9ca58221a0b" + integrity sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A== dependencies: - "@smithy/protocol-http" "^4.1.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-blob-browser@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.2.tgz#90281c1f183d93686fb4f26107f1819644d68829" - integrity sha512-hAbfqN2UbISltakCC2TP0kx4LqXBttEv2MqSPE98gVuDFMf05lU+TpC41QtqGP3Ff5A3GwZMPfKnEy0VmEUpmg== +"@smithy/hash-blob-browser@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.6.tgz#d61de344aa3cef0bc83e3ab8166558256262dfcd" + integrity sha512-BKNcMIaeZ9lB67sgo88iCF4YB35KT8X2dNJ8DqrtZNTgN6tUDYBKThzfGtos/mnZkGkW91AYHisESHmSiYQmKw== dependencies: "@smithy/chunked-blob-reader" "^3.0.0" "@smithy/chunked-blob-reader-native" "^3.0.0" - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/hash-node@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.3.tgz#82c5cb7b0f1a29ee7319081853d2d158c07dff24" - integrity sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw== +"@smithy/hash-node@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.7.tgz#03b5a382fb588b8c2bac11b4fe7300aaf1661c88" + integrity sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-stream-node@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.2.tgz#89f0290ae44b113863878e75b10c484ff48af71c" - integrity sha512-PBgDMeEdDzi6JxKwbfBtwQG9eT9cVwsf0dZzLXoJF4sHKHs5HEo/3lJWpn6jibfJwT34I1EBXpBnZE8AxAft6g== +"@smithy/hash-stream-node@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.6.tgz#854ad354a865a1334baa2abc2f2247f2723de688" + integrity sha512-sFSSt7cmCpFWZPfVx7k80Bgb1K2VJ27VmMxH8X+dDhp7Wv8IBgID4K2VK5ehMJROF8hQgcj4WywnkHIwX/xlwQ== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/invalid-dependency@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz#8d9fd70e3a94b565a4eba4ffbdc95238e1930528" - integrity sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw== +"@smithy/invalid-dependency@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.7.tgz#b36f258d94498f3c72ab6020091a66fc7cc16eda" + integrity sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/is-array-buffer@^2.2.0": @@ -1625,161 +1621,161 @@ dependencies: tslib "^2.6.2" -"@smithy/md5-js@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.3.tgz#55ee40aa24075b096c39f7910590c18ff7660c98" - integrity sha512-O/SAkGVwpWmelpj/8yDtsaVe6sINHLB1q8YE/+ZQbDxIw3SRLbTZuRaI10K12sVoENdnHqzPp5i3/H+BcZ3m3Q== +"@smithy/md5-js@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.7.tgz#0a645dd9c139254353fd6e6a6b65154baeab7d2e" + integrity sha512-+wco9IN9uOW4tNGkZIqTR6IXyfO7Z8A+IOq82QCRn/f/xcmt7H1fXwmQVbfDSvbeFwfNnhv7s+u0G9PzPG6o2w== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/middleware-content-length@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz#1680aa4fb2a1c0505756103c9a5c2916307d9035" - integrity sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw== +"@smithy/middleware-content-length@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.9.tgz#fb613d1a6b8c91e828d11c0d7a0a8576dba89b8b" + integrity sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA== dependencies: - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/middleware-endpoint@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz#9b8a496d87a68ec43f3f1a0139868d6765a88119" - integrity sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw== - dependencies: - "@smithy/middleware-serde" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-middleware" "^3.0.3" +"@smithy/middleware-endpoint@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz#222c9fa49c8af6ebf8bea8ab220d92d9b8c90d3d" + integrity sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ== + dependencies: + "@smithy/middleware-serde" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" -"@smithy/middleware-retry@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz#3bdd662aff01f360fcbaa166500bbc575dc9d1d0" - integrity sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw== - dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/service-error-classification" "^3.0.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" +"@smithy/middleware-retry@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.22.tgz#578ceafd72fd655cde35c35b462a8aad26fd07e2" + integrity sha512-svEN7O2Tf7BoaBkPzX/8AE2Bv7p16d9/ulFAD1Gmn5g19iMqNk1WIkMxAY7SpB9/tVtUwKx0NaIsBRl88gumZA== + dependencies: + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/service-error-classification" "^3.0.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" tslib "^2.6.2" uuid "^9.0.1" -"@smithy/middleware-serde@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz#74d974460f74d99f38c861e6862984543a880a66" - integrity sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA== +"@smithy/middleware-serde@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz#03f0dda75edffc4cc90ea422349cbfb82368efa7" + integrity sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/middleware-stack@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz#91845c7e61e6f137fa912b623b6def719a4f6ce7" - integrity sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA== +"@smithy/middleware-stack@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz#813fa7b47895ce0d085eac89c056d21b1e46e771" + integrity sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/node-config-provider@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz#05647bed666aa8036a1ad72323c1942e5d421be1" - integrity sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ== +"@smithy/node-config-provider@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz#2c1092040b4062eae0f7c9e121cc00ac6a77efee" + integrity sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q== dependencies: - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/node-http-handler@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz#be4195e45639e690d522cd5f11513ea822ff9d5f" - integrity sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg== +"@smithy/node-http-handler@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz#3c57c40d082c3bacac1e49955bd1240e8ccc40b2" + integrity sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ== dependencies: - "@smithy/abort-controller" "^3.1.1" - "@smithy/protocol-http" "^4.1.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/abort-controller" "^3.1.5" + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/property-provider@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.3.tgz#afd57ea82a3f6c79fbda95e3cb85c0ee0a79f39a" - integrity sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g== +"@smithy/property-provider@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.7.tgz#8a304a4b9110a067a93c784e4c11e175f82da379" + integrity sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/protocol-http@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.0.tgz#23519d8f45bf4f33960ea5415847bc2b620a010b" - integrity sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA== +"@smithy/protocol-http@^4.1.4": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.4.tgz#6940d652b1825bda2422163ec9baab552669a338" + integrity sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/querystring-builder@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz#6b0e566f885bb84938d077c69e8f8555f686af13" - integrity sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw== +"@smithy/querystring-builder@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz#8c443c65f4249ff1637088db1166d18411d41555" + integrity sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" -"@smithy/querystring-parser@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz#272a6b83f88dfcbbec8283d72a6bde850cc00091" - integrity sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ== +"@smithy/querystring-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz#936206d1e6da9d862384dae730b4bad042d6a948" + integrity sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/service-error-classification@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz#73484255060a094aa9372f6cd972dcaf97e3ce80" - integrity sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ== +"@smithy/service-error-classification@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.7.tgz#5bab4ad802d30bd3fa52b8134f6c171582358226" + integrity sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" -"@smithy/shared-ini-file-loader@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz#7dceaf5a5307a2ee347ace8aba17312a1a3ede15" - integrity sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ== +"@smithy/shared-ini-file-loader@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz#7a0bf5f20cfe8e0c4a36d8dcab8194d0d2ee958e" + integrity sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/signature-v4@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" - integrity sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag== +"@smithy/signature-v4@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.2.0.tgz#291f5a0e756cc251377e1e8af2a1f494e6173029" + integrity sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ== dependencies: "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" "@smithy/util-hex-encoding" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/util-middleware" "^3.0.7" "@smithy/util-uri-escape" "^3.0.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/smithy-client@^3.1.11": - version "3.1.11" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.11.tgz#f12a7a0acaa7db3ead488ddf12ef4681daec11a7" - integrity sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ== +"@smithy/smithy-client@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.3.6.tgz#882fcc4b5db35c284c7a7c6116b27be324c41202" + integrity sha512-qdH+mvDHgq1ss6mocyIl2/VjlWXew7pGwZQydwYJczEc22HZyX3k8yVPV9aZsbYbssHPvMDRA5rfBDrjQUbIIw== dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.3" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + "@smithy/util-stream" "^3.1.9" tslib "^2.6.2" "@smithy/types@^2.12.0": @@ -1789,20 +1785,20 @@ dependencies: tslib "^2.6.2" -"@smithy/types@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.3.0.tgz#fae037c733d09bc758946a01a3de0ef6e210b16b" - integrity sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA== +"@smithy/types@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.5.0.tgz#9589e154c50d9c5d00feb7d818112ef8fc285d6e" + integrity sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q== dependencies: tslib "^2.6.2" -"@smithy/url-parser@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.3.tgz#e8a060d9810b24b1870385fc2b02485b8a6c5955" - integrity sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A== +"@smithy/url-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.7.tgz#9d7d7e4e38514bf75ade6e8a30d2300f3db17d1b" + integrity sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA== dependencies: - "@smithy/querystring-parser" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/querystring-parser" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-base64@^3.0.0": @@ -1851,37 +1847,37 @@ dependencies: tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz#f574bbb89d60f5dcc443f106087d317b370634d0" - integrity sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw== +"@smithy/util-defaults-mode-browser@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.22.tgz#e9141ed58109d572337a621d96131526aaf4f42f" + integrity sha512-WKzUxNsOun5ETwEOrvooXeI1mZ8tjDTOcN4oruELWHhEYDgQYWwxZupURVyovcv+h5DyQT/DzK5nm4ZoR/Tw5Q== dependencies: - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" bowser "^2.11.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz#cdd3a08bb5af4d17c2b0a951af9936ce7f3bae93" - integrity sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g== - dependencies: - "@smithy/config-resolver" "^3.0.5" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" +"@smithy/util-defaults-mode-node@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.22.tgz#fc51f37aaa5ec03edec0da890a1ca1e3e3cdc70b" + integrity sha512-hUsciOmAq8fsGwqg4+pJfNRmrhfqMH4Y9UeGcgeUl88kPAoYANFATJqCND+O4nUvwp5TzsYwGpqpcBKyA8LUUg== + dependencies: + "@smithy/config-resolver" "^3.0.9" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/util-endpoints@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz#e3a7a4d1c41250bfd2b2d890d591273a7d8934be" - integrity sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg== +"@smithy/util-endpoints@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.3.tgz#7498151e9dc714bdd0c6339314dd2350fa4d250a" + integrity sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw== dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-hex-encoding@^3.0.0": @@ -1891,31 +1887,31 @@ dependencies: tslib "^2.6.2" -"@smithy/util-middleware@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.3.tgz#07bf9602682f5a6c55bc2f0384303f85fc68c87e" - integrity sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw== +"@smithy/util-middleware@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.7.tgz#770d09749b6d170a1641384a2e961487447446fa" + integrity sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/util-retry@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.3.tgz#9b2ac0dbb1c81f69812a8affa4d772bebfc0e049" - integrity sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w== +"@smithy/util-retry@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.7.tgz#694e0667574ffe9772f620b35d3c7286aced35e9" + integrity sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug== dependencies: - "@smithy/service-error-classification" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/service-error-classification" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/util-stream@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.3.tgz#699ee2397cc1d474e46d2034039d5263812dca64" - integrity sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw== +"@smithy/util-stream@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.9.tgz#d39656eae27696bdc5a3ec7c2f6b89c32dccd1ca" + integrity sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ== dependencies: - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/types" "^3.5.0" "@smithy/util-base64" "^3.0.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-hex-encoding" "^3.0.0" @@ -1945,13 +1941,13 @@ "@smithy/util-buffer-from" "^3.0.0" tslib "^2.6.2" -"@smithy/util-waiter@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.2.tgz#2d40c3312f3537feee763459a19acafab4c75cf3" - integrity sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw== +"@smithy/util-waiter@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.6.tgz#c65870d0c802e33b96112fac5c4471b3bf2eeecb" + integrity sha512-xs/KAwWOeCklq8aMlnpk25LgxEYHKOEodfjfKclDMLcBJEVEKzDLxZxBQyztcuPJ7F54213NJS8PxoiHNMdItQ== dependencies: - "@smithy/abort-controller" "^3.1.1" - "@smithy/types" "^3.3.0" + "@smithy/abort-controller" "^3.1.5" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@tootallnate/once@1": diff --git a/services/database/package.json b/services/database/package.json index e3011238f..5ce85987a 100644 --- a/services/database/package.json +++ b/services/database/package.json @@ -14,8 +14,8 @@ "serverless-dynamodb": "^0.2.53" }, "dependencies": { - "@aws-sdk/client-dynamodb": "^3.621.0", - "@aws-sdk/client-s3": "^3.637.0", - "@aws-sdk/lib-dynamodb": "^3.621.0" + "@aws-sdk/client-dynamodb": "^3.662.0", + "@aws-sdk/client-s3": "^3.662.0", + "@aws-sdk/lib-dynamodb": "^3.662.0" } } diff --git a/services/database/yarn.lock b/services/database/yarn.lock index 56b370741..8009b02ee 100644 --- a/services/database/yarn.lock +++ b/services/database/yarn.lock @@ -120,118 +120,118 @@ tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-dynamodb@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.621.0.tgz#de0a23830a742f42ed031abb745d3787b0d4e759" - integrity sha512-aczOoVyufYwBCc/zZKJOP/xwbnojKQJ6Y8O7ZAZnxMPRyZXKXpoAxmlxLfOU6GUzXqzXdvj+Ir3VBd7MWB4KuQ== +"@aws-sdk/client-dynamodb@^3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-dynamodb/-/client-dynamodb-3.662.0.tgz#462c8155eb2cc38f894a87c4f06d2371d4bf6b1b" + integrity sha512-d5t6hDQkVYqRvp6Cf6WygbseY8gln7Ca/tI4+1B6JXSl2UzffX5ovx2SOjNEPlyGGtZYIiOfqOnKnFlaj0+Gxg== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/client-sts" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-endpoint-discovery" "3.620.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/client-sts" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-endpoint-discovery" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.2" + "@smithy/util-waiter" "^3.1.6" tslib "^2.6.2" uuid "^9.0.1" -"@aws-sdk/client-s3@^3.637.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.658.0.tgz#667ba8fe9b49763d87e7f9d4b6e6e14a95cf06e4" - integrity sha512-3lyew20RoLKg9S1RzVyYgLNxknoXkN/0o9PMiRq77yBIQHZj3x7/wmKseiGEFoF08YKFkh1MPq/p34qRlOmtBg== +"@aws-sdk/client-s3@^3.662.0": + version "3.663.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.663.0.tgz#02ee62efd49a11aaae66e805dd446f3f2ea43fab" + integrity sha512-XWoy6wglrxFngdswGbccR7cwmafe3ycx2/vIRDuVnIeSYdj/PgYACBt5JEM5NEzW26kFtlJpeN9hUH1i6tyfuQ== dependencies: "@aws-crypto/sha1-browser" "5.2.0" "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.658.0" - "@aws-sdk/client-sts" "3.658.0" - "@aws-sdk/core" "3.658.0" - "@aws-sdk/credential-provider-node" "3.658.0" - "@aws-sdk/middleware-bucket-endpoint" "3.654.0" - "@aws-sdk/middleware-expect-continue" "3.654.0" - "@aws-sdk/middleware-flexible-checksums" "3.657.0" - "@aws-sdk/middleware-host-header" "3.654.0" - "@aws-sdk/middleware-location-constraint" "3.654.0" - "@aws-sdk/middleware-logger" "3.654.0" - "@aws-sdk/middleware-recursion-detection" "3.654.0" - "@aws-sdk/middleware-sdk-s3" "3.658.0" - "@aws-sdk/middleware-ssec" "3.654.0" - "@aws-sdk/middleware-user-agent" "3.654.0" - "@aws-sdk/region-config-resolver" "3.654.0" - "@aws-sdk/signature-v4-multi-region" "3.658.0" - "@aws-sdk/types" "3.654.0" - "@aws-sdk/util-endpoints" "3.654.0" - "@aws-sdk/util-user-agent-browser" "3.654.0" - "@aws-sdk/util-user-agent-node" "3.654.0" - "@aws-sdk/xml-builder" "3.654.0" - "@smithy/config-resolver" "^3.0.8" - "@smithy/core" "^2.4.3" - "@smithy/eventstream-serde-browser" "^3.0.9" - "@smithy/eventstream-serde-config-resolver" "^3.0.6" - "@smithy/eventstream-serde-node" "^3.0.8" - "@smithy/fetch-http-handler" "^3.2.7" - "@smithy/hash-blob-browser" "^3.1.5" - "@smithy/hash-node" "^3.0.6" - "@smithy/hash-stream-node" "^3.1.5" - "@smithy/invalid-dependency" "^3.0.6" - "@smithy/md5-js" "^3.0.6" - "@smithy/middleware-content-length" "^3.0.8" - "@smithy/middleware-endpoint" "^3.1.3" - "@smithy/middleware-retry" "^3.0.18" - "@smithy/middleware-serde" "^3.0.6" - "@smithy/middleware-stack" "^3.0.6" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/node-http-handler" "^3.2.2" - "@smithy/protocol-http" "^4.1.3" - "@smithy/smithy-client" "^3.3.2" - "@smithy/types" "^3.4.2" - "@smithy/url-parser" "^3.0.6" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/client-sts" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-bucket-endpoint" "3.662.0" + "@aws-sdk/middleware-expect-continue" "3.662.0" + "@aws-sdk/middleware-flexible-checksums" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-location-constraint" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-sdk-s3" "3.662.0" + "@aws-sdk/middleware-ssec" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/signature-v4-multi-region" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@aws-sdk/xml-builder" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/eventstream-serde-browser" "^3.0.10" + "@smithy/eventstream-serde-config-resolver" "^3.0.7" + "@smithy/eventstream-serde-node" "^3.0.9" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-blob-browser" "^3.1.6" + "@smithy/hash-node" "^3.0.7" + "@smithy/hash-stream-node" "^3.1.6" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/md5-js" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.18" - "@smithy/util-defaults-mode-node" "^3.0.18" - "@smithy/util-endpoints" "^2.1.2" - "@smithy/util-middleware" "^3.0.6" - "@smithy/util-retry" "^3.0.6" - "@smithy/util-stream" "^3.1.6" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" + "@smithy/util-stream" "^3.1.9" "@smithy/util-utf8" "^3.0.0" - "@smithy/util-waiter" "^3.1.5" + "@smithy/util-waiter" "^3.1.6" tslib "^2.6.2" "@aws-sdk/client-sso-oidc@3.616.0": @@ -279,93 +279,48 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso-oidc@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz#3fa3d468fbebbd93a5f75c1d51b63cc7af3ef17b" - integrity sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg== +"@aws-sdk/client-sso-oidc@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.662.0.tgz#f2816f674b4125ff900435cc8b7fadc227455c81" + integrity sha512-YZrH0sftdmjvEIY8u0LCrfEhyaMVpN0+K0K9WsUrFRMZ7DK6nB9YD1f5EaKUN5UjNw5S7gbjSdI8neSCoELjhw== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/client-sso-oidc@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.658.0.tgz#13ceea667a40349dfc27737f12da1152d4cc03b6" - integrity sha512-+oZcf9Wm7BlAhakSnxftmpeMwJLXQPesOcIX+ViF6HWSfMid4LY8Cq0jJ9si3HSe216GVMiAlBbNksayzHNdlA== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.658.0" - "@aws-sdk/credential-provider-node" "3.658.0" - "@aws-sdk/middleware-host-header" "3.654.0" - "@aws-sdk/middleware-logger" "3.654.0" - "@aws-sdk/middleware-recursion-detection" "3.654.0" - "@aws-sdk/middleware-user-agent" "3.654.0" - "@aws-sdk/region-config-resolver" "3.654.0" - "@aws-sdk/types" "3.654.0" - "@aws-sdk/util-endpoints" "3.654.0" - "@aws-sdk/util-user-agent-browser" "3.654.0" - "@aws-sdk/util-user-agent-node" "3.654.0" - "@smithy/config-resolver" "^3.0.8" - "@smithy/core" "^2.4.3" - "@smithy/fetch-http-handler" "^3.2.7" - "@smithy/hash-node" "^3.0.6" - "@smithy/invalid-dependency" "^3.0.6" - "@smithy/middleware-content-length" "^3.0.8" - "@smithy/middleware-endpoint" "^3.1.3" - "@smithy/middleware-retry" "^3.0.18" - "@smithy/middleware-serde" "^3.0.6" - "@smithy/middleware-stack" "^3.0.6" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/node-http-handler" "^3.2.2" - "@smithy/protocol-http" "^4.1.3" - "@smithy/smithy-client" "^3.3.2" - "@smithy/types" "^3.4.2" - "@smithy/url-parser" "^3.0.6" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.18" - "@smithy/util-defaults-mode-node" "^3.0.18" - "@smithy/util-endpoints" "^2.1.2" - "@smithy/util-middleware" "^3.0.6" - "@smithy/util-retry" "^3.0.6" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -413,91 +368,47 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz#c0eefeb9adcbc6bb7c91c32070404c8c91846825" - integrity sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/client-sso@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.658.0.tgz#52401b8630885cf263602d4fbf449034b1981f8c" - integrity sha512-OtT6bXthyP/z7x2QDTWYz0mteXhQvV+mH4JgT7dW1Y5Kc/Xr85kIQ0ouypSLH14DeiT1Gd21kXKy4YuLEoWaYQ== +"@aws-sdk/client-sso@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.662.0.tgz#43c9238799a2271e3652089bcddf105752fdacea" + integrity sha512-4j3+eNSnNblcIYCJrsRRdyXFjAWGpGa7s7pdIyDMLwtYA7AKNlnlyQV14jtezhMrN2j6qZ7zZmnwEyFGipgfWA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.658.0" - "@aws-sdk/middleware-host-header" "3.654.0" - "@aws-sdk/middleware-logger" "3.654.0" - "@aws-sdk/middleware-recursion-detection" "3.654.0" - "@aws-sdk/middleware-user-agent" "3.654.0" - "@aws-sdk/region-config-resolver" "3.654.0" - "@aws-sdk/types" "3.654.0" - "@aws-sdk/util-endpoints" "3.654.0" - "@aws-sdk/util-user-agent-browser" "3.654.0" - "@aws-sdk/util-user-agent-node" "3.654.0" - "@smithy/config-resolver" "^3.0.8" - "@smithy/core" "^2.4.3" - "@smithy/fetch-http-handler" "^3.2.7" - "@smithy/hash-node" "^3.0.6" - "@smithy/invalid-dependency" "^3.0.6" - "@smithy/middleware-content-length" "^3.0.8" - "@smithy/middleware-endpoint" "^3.1.3" - "@smithy/middleware-retry" "^3.0.18" - "@smithy/middleware-serde" "^3.0.6" - "@smithy/middleware-stack" "^3.0.6" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/node-http-handler" "^3.2.2" - "@smithy/protocol-http" "^4.1.3" - "@smithy/smithy-client" "^3.3.2" - "@smithy/types" "^3.4.2" - "@smithy/url-parser" "^3.0.6" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.18" - "@smithy/util-defaults-mode-node" "^3.0.18" - "@smithy/util-endpoints" "^2.1.2" - "@smithy/util-middleware" "^3.0.6" - "@smithy/util-retry" "^3.0.6" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -547,95 +458,49 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sts@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz#2994f601790893901704c5df56c837e89f279952" - integrity sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA== +"@aws-sdk/client-sts@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.662.0.tgz#8d35b7d25c813e3b2ba0d8efd42d9e61823e088f" + integrity sha512-RjiXvfW3a36ybHuzYuZ6ZgddYiENiXLDGC3tlZMsKWuoVQNeoh2grx1wxUA6e4ajAIqJLXs5dAYTSXzGaAqHTA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@aws-sdk/client-sts@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.658.0.tgz#7c83318ecc01fca194c36a88505508b4c8e095a3" - integrity sha512-SffIgt/Mzwq3ijkg3lZjndkrqS1d6OeDcUi7IAO2w4KC4nM6yH1zZNSjNWvdjEvUp0Gz2kk54HvyP/r9DqTg6Q== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.658.0" - "@aws-sdk/core" "3.658.0" - "@aws-sdk/credential-provider-node" "3.658.0" - "@aws-sdk/middleware-host-header" "3.654.0" - "@aws-sdk/middleware-logger" "3.654.0" - "@aws-sdk/middleware-recursion-detection" "3.654.0" - "@aws-sdk/middleware-user-agent" "3.654.0" - "@aws-sdk/region-config-resolver" "3.654.0" - "@aws-sdk/types" "3.654.0" - "@aws-sdk/util-endpoints" "3.654.0" - "@aws-sdk/util-user-agent-browser" "3.654.0" - "@aws-sdk/util-user-agent-node" "3.654.0" - "@smithy/config-resolver" "^3.0.8" - "@smithy/core" "^2.4.3" - "@smithy/fetch-http-handler" "^3.2.7" - "@smithy/hash-node" "^3.0.6" - "@smithy/invalid-dependency" "^3.0.6" - "@smithy/middleware-content-length" "^3.0.8" - "@smithy/middleware-endpoint" "^3.1.3" - "@smithy/middleware-retry" "^3.0.18" - "@smithy/middleware-serde" "^3.0.6" - "@smithy/middleware-stack" "^3.0.6" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/node-http-handler" "^3.2.2" - "@smithy/protocol-http" "^4.1.3" - "@smithy/smithy-client" "^3.3.2" - "@smithy/types" "^3.4.2" - "@smithy/url-parser" "^3.0.6" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.18" - "@smithy/util-defaults-mode-node" "^3.0.18" - "@smithy/util-endpoints" "^2.1.2" - "@smithy/util-middleware" "^3.0.6" - "@smithy/util-retry" "^3.0.6" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -652,34 +517,19 @@ fast-xml-parser "4.2.5" tslib "^2.6.2" -"@aws-sdk/core@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.621.0.tgz#e38c56c3ce0c819ca1185eaabcb98412429aaca3" - integrity sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ== - dependencies: - "@smithy/core" "^2.3.1" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - fast-xml-parser "4.4.1" - tslib "^2.6.2" - -"@aws-sdk/core@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.658.0.tgz#7d2fcaebd640d9d9709b76797744b7db098ed9e4" - integrity sha512-vtOUqYD2/SfWGxmfYneiqv4R64qtSRPqznHUcMCusq71ZG9iz90ZxRYxS8ABrvhWD+oUqnxHesO08VYtaL4oAg== +"@aws-sdk/core@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.662.0.tgz#93764660c9fabbc10e77ddcde283f088e22bebc3" + integrity sha512-w64Fa4dsgM8vN7Z+QPR3n+aAl5GXThQRH8deT/iF1rLrzfq7V8xxACJ/CLVaxrZMZUPUUgG7DUAo95nXFWmGjA== dependencies: - "@smithy/core" "^2.4.3" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/property-provider" "^3.1.6" - "@smithy/protocol-http" "^4.1.3" - "@smithy/signature-v4" "^4.1.3" - "@smithy/smithy-client" "^3.3.2" - "@smithy/types" "^3.4.2" - "@smithy/util-middleware" "^3.0.6" + "@smithy/core" "^2.4.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/signature-v4" "^4.2.0" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" fast-xml-parser "4.4.1" tslib "^2.6.2" @@ -693,24 +543,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz#d4692c49a65ebc11dae3f7f8b053fee9268a953c" - integrity sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg== +"@aws-sdk/credential-provider-env@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.662.0.tgz#fe58b29abefd0fa968f79c7e7d15381009945a75" + integrity sha512-Dgwb0c/FH4xT5QZZFdLTFmCkdG3woXIAgLx5HCoH9Ty5G7T8keHOU9Jm4Vpe2ZJXL7JJHlLakGS65+bgXTuLSQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-env@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.654.0.tgz#5773a9d969ede7e30059472b26c9e39b3992cc0a" - integrity sha512-kogsx3Ql81JouHS7DkheCDU9MYAvK0AokxjcshDveGmf7BbgbWCA8Fnb9wjQyNDaOXNvkZu8Z8rgkX91z324/w== - dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/property-provider" "^3.1.6" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/credential-provider-http@3.616.0": @@ -728,34 +568,19 @@ "@smithy/util-stream" "^3.1.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-http@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz#5f944bf548f203d842cf71a5792f73c205544627" - integrity sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg== +"@aws-sdk/credential-provider-http@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.662.0.tgz#02e3e97e28ec1bb99bdd91ddc9df5d48e1a31b42" + integrity sha512-Wnle/uJI4Ku9ABJHof9sio28VlaSbF3jVQKTSVCJftvbKELlFOlY5aXSjtu0wwcJqDS5r78N5KM7aARUJES+DA== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.3" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-http@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.654.0.tgz#72ce2ff0136eb87ef0c90d435bf1dd61558fe96d" - integrity sha512-tgmAH4MBi/aDR882lfw48+tDV95ZH3GWc1Eoe6DpNLiM3GN2VfU/cZwuHmi6aq+vAbdIlswBHJ/+va0fOvlyjw== - dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/fetch-http-handler" "^3.2.7" - "@smithy/node-http-handler" "^3.2.2" - "@smithy/property-provider" "^3.1.6" - "@smithy/protocol-http" "^4.1.3" - "@smithy/smithy-client" "^3.3.2" - "@smithy/types" "^3.4.2" - "@smithy/util-stream" "^3.1.6" + "@aws-sdk/types" "3.662.0" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-stream" "^3.1.9" tslib "^2.6.2" "@aws-sdk/credential-provider-ini@3.616.0": @@ -775,38 +600,21 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz#bda2365f88fee40e3ae067b08bf484106c339222" - integrity sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA== +"@aws-sdk/credential-provider-ini@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.662.0.tgz#505e37298cc6e2909020c25d555bf6b6d3f4cbdc" + integrity sha512-jk+A5B0NRYG4KrjJ8ef1+r9bFjhpwUm/A9grJmp3JOwcHKXvI2Gy9BXNqfqqVgrK0Gns+WyhJZy6rsRaC+v1oQ== dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.621.0" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.621.0" - "@aws-sdk/credential-provider-web-identity" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-ini@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.658.0.tgz#d56423bcb39edb54029a71909e5590cca89a65f5" - integrity sha512-fL4hAeF2jjSZ3Dm/kmU9AEDO8UARhUagUJ/UfXMxvkvmQ/jLydKA3ip5jMSf1fhu1TWoi/JBE/4cjKDbjwMzXA== - dependencies: - "@aws-sdk/credential-provider-env" "3.654.0" - "@aws-sdk/credential-provider-http" "3.654.0" - "@aws-sdk/credential-provider-process" "3.654.0" - "@aws-sdk/credential-provider-sso" "3.658.0" - "@aws-sdk/credential-provider-web-identity" "3.654.0" - "@aws-sdk/types" "3.654.0" - "@smithy/credential-provider-imds" "^3.2.3" - "@smithy/property-provider" "^3.1.6" - "@smithy/shared-ini-file-loader" "^3.1.7" - "@smithy/types" "^3.4.2" + "@aws-sdk/credential-provider-env" "3.662.0" + "@aws-sdk/credential-provider-http" "3.662.0" + "@aws-sdk/credential-provider-process" "3.662.0" + "@aws-sdk/credential-provider-sso" "3.662.0" + "@aws-sdk/credential-provider-web-identity" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/credential-provider-node@3.616.0": @@ -827,40 +635,22 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz#9cc5052760a9f9d70d70f12ddbdbf0d59bf13a47" - integrity sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw== +"@aws-sdk/credential-provider-node@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.662.0.tgz#086aa57b4fbca4701566f9ac88d59aa67658a5f8" + integrity sha512-2O9wjxdLcU1b+bWVkp3YYbPHo15SU3pW4KfWTca5bB/C01i1eqiHnwsOFz/WKPYYKNj0FhXtJJjeDQLtNFYI8A== dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.621.0" - "@aws-sdk/credential-provider-ini" "3.621.0" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.621.0" - "@aws-sdk/credential-provider-web-identity" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-node@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.658.0.tgz#f1e9b4c8adbdb14c60b363868d009128b9fd618b" - integrity sha512-rdWBylUdT6/dK+zBj7jajJpUQ3rP/YvKo0peYhpTgpUSHjqkjrx/BRXE+iccbFimR8QSxwOJ4tsb15Gvuv0E4Q== - dependencies: - "@aws-sdk/credential-provider-env" "3.654.0" - "@aws-sdk/credential-provider-http" "3.654.0" - "@aws-sdk/credential-provider-ini" "3.658.0" - "@aws-sdk/credential-provider-process" "3.654.0" - "@aws-sdk/credential-provider-sso" "3.658.0" - "@aws-sdk/credential-provider-web-identity" "3.654.0" - "@aws-sdk/types" "3.654.0" - "@smithy/credential-provider-imds" "^3.2.3" - "@smithy/property-provider" "^3.1.6" - "@smithy/shared-ini-file-loader" "^3.1.7" - "@smithy/types" "^3.4.2" + "@aws-sdk/credential-provider-env" "3.662.0" + "@aws-sdk/credential-provider-http" "3.662.0" + "@aws-sdk/credential-provider-ini" "3.662.0" + "@aws-sdk/credential-provider-process" "3.662.0" + "@aws-sdk/credential-provider-sso" "3.662.0" + "@aws-sdk/credential-provider-web-identity" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/credential-provider-process@3.614.0": @@ -874,26 +664,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz#10387cf85400420bb4bbda9cc56937dcc6d6d0ee" - integrity sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-process@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.654.0.tgz#2c526d0d059eddfe4176933fadbbf8bd59480642" - integrity sha512-PmQoo8sZ9Q2Ow8OMzK++Z9lI7MsRUG7sNq3E72DVA215dhtTICTDQwGlXH2AAmIp7n+G9LLRds+4wo2ehG4mkg== +"@aws-sdk/credential-provider-process@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.662.0.tgz#2c9fef18cffc827c26b599fb2a9dfb812ca1409e" + integrity sha512-1QUdtr/JiuvRjVgA8enpgCwjq7Eud8eVUT0i/vpWuFp5TV2FFq/8BD3GBkesTdy4Ylms6QVGf7J6INdfUWQEmw== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/property-provider" "^3.1.6" - "@smithy/shared-ini-file-loader" "^3.1.7" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/credential-provider-sso@3.616.0": @@ -909,30 +688,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz#710f413708cb372f9f94e8eb9726cf263ffd83e3" - integrity sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw== - dependencies: - "@aws-sdk/client-sso" "3.621.0" - "@aws-sdk/token-providers" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-sso@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.658.0.tgz#ba79472129b796d94cdc3989c34bd84dd1cff53c" - integrity sha512-zK5FwCZJ9OovBPpoVfhlNyUhdFCgkkVbQolR47UKXCREH/P6sOsVay4/CnwtVQeMGlv9c8F41ELJXWaTRmdwHA== +"@aws-sdk/credential-provider-sso@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.662.0.tgz#6d0c9f5f819da6b473d39d0cf4cd42cbbca3a524" + integrity sha512-zxze6pDPgwBwl7S3h4JDALCCz93pTAfulbCY8FqMEd7GvnAiofHpL9svyt4+gytXwwUSsQ6KxCMVLbi+8k8YIg== dependencies: - "@aws-sdk/client-sso" "3.658.0" - "@aws-sdk/token-providers" "3.654.0" - "@aws-sdk/types" "3.654.0" - "@smithy/property-provider" "^3.1.6" - "@smithy/shared-ini-file-loader" "^3.1.7" - "@smithy/types" "^3.4.2" + "@aws-sdk/client-sso" "3.662.0" + "@aws-sdk/token-providers" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/credential-provider-web-identity@3.609.0": @@ -945,24 +711,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz#b25878c0a05dad60cd5f91e7e5a31a145c2f14be" - integrity sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w== +"@aws-sdk/credential-provider-web-identity@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.662.0.tgz#18246e29d5f8b242a0717ff7110680cc5816d163" + integrity sha512-GhPwxmHSFtwCckuT+34JG+U99qKfDWVYPLJOPI6b35+aLhfVqW5CHPmVjtM4WZqbxzsA0a3KAYA/U1ZaluI4SA== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/credential-provider-web-identity@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.654.0.tgz#67dc0463d20f801c8577276e2066f9151b2d5eb1" - integrity sha512-6a2g9gMtZToqSu+CusjNK5zvbLJahQ9di7buO3iXgbizXpLXU1rnawCpWxwslMpT5fLgMSKDnKDrr6wdEk7jSw== - dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/property-provider" "^3.1.6" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/endpoint-cache@3.572.0": @@ -983,26 +739,27 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/lib-dynamodb@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.621.0.tgz#f8c320af1b286f2827d3be97aaffc571fa4bbfeb" - integrity sha512-RJJwaR15BLSTtegf2kgJjlJofvxeR+0Jm0rnEbJmRZ/HZhjow1LawrMbCR0YxfcWKUMsDw9tp8BDkLlrH1+RJQ== +"@aws-sdk/lib-dynamodb@^3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/lib-dynamodb/-/lib-dynamodb-3.662.0.tgz#425073c71c284cff3636faf8daa07e692c8b0504" + integrity sha512-DCmhc9hccIsMbYl8xINLtxYmsUlSVCUKcDA19Z+7901Jlu8OwzidwMBy4ZK8wAmy6/aG4agH67FY4i0Hee3z9g== dependencies: - "@aws-sdk/util-dynamodb" "3.621.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" + "@aws-sdk/util-dynamodb" "3.662.0" + "@smithy/core" "^2.4.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-bucket-endpoint@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.654.0.tgz#f8241db792eb951e1aaa127911e9d35ae11f45f2" - integrity sha512-/lWkyeLESiK+rAB4+NCw1cVPle9RN7RW/v7B4b8ORiCn1FwZLUPmEiZSYzyh4in5oa3Mri+W/g+KafZDH6LCbA== +"@aws-sdk/middleware-bucket-endpoint@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.662.0.tgz#49c223b868a72a5d49deadfa799136b7c638381d" + integrity sha512-qBdQ7zqdanCPep7puYw1s6lH8lQ2uWP6+klp35cAYjCMbGiItclteXRQOuldkd9Oc7dtoYlTJBDKeAybJZShlw== dependencies: - "@aws-sdk/types" "3.654.0" + "@aws-sdk/types" "3.662.0" "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" tslib "^2.6.2" @@ -1018,41 +775,41 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-endpoint-discovery@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.620.0.tgz#45acd6cf2a77ceaf736f2758274c383838c8584a" - integrity sha512-T6kuydHBF4BPP5CVH53Fze7c2b9rqxWP88XrGtmNMXXdY4sXur1v/itGdS2l3gqRjxKo0LsmjmuQm9zL4vGneQ== +"@aws-sdk/middleware-endpoint-discovery@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.662.0.tgz#ad1e99eeb5b13282d26f3032822ec41840eaa03c" + integrity sha512-os/gBtal8DDOZHUVQNymy8K/8JNC1tPqznsUoEkjoYaQoerT9PR3PPrc/oWTB9h1VLXZOwJ8HcCtsEbXUAddTg== dependencies: "@aws-sdk/endpoint-cache" "3.572.0" - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-expect-continue@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.654.0.tgz#ccf64bd5dbde3266181a00052bad8f78fcc1914e" - integrity sha512-S7fSlo8vdjkQTy9DmdF54ZsPwc+aA4z5Y9JVqAlGL9QiZe/fPtRE3GZ8BBbMICjBfMEa12tWjzhDz9su2c6PIA== +"@aws-sdk/middleware-expect-continue@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.662.0.tgz#04f3df778ec20a7e508f4576c89cea489bfd53b4" + integrity sha512-kSSeblAz0bdE8golejbEp9tLoP1EcYGWqrAjv5kDwbo56J9vbBh12shxDULpDBNXXLBoK4DktHgJl3RqwXlK5g== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-flexible-checksums@3.657.0": - version "3.657.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.657.0.tgz#7679218f783c602e9787a85044015742801eaa4f" - integrity sha512-aOfK0YmuL8baCqJ5nArHKyyFko/tSWMjGcegOA4Jo+XAu1PEk0wDi78vOHlv4dfSlF8sXJsAo4kaCEDF3UkGAQ== +"@aws-sdk/middleware-flexible-checksums@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.662.0.tgz#18b04ce5ea0a354560019961c1d28ecf5b150695" + integrity sha512-aZEA0a0hYfOL2ah+ZlFAVr2HMWetNooyrDFq+iP04CmE674WCJBp71DdQrRvNQsW+PBkq7iHsgfYEQumYMqz9Q== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" - "@aws-sdk/types" "3.654.0" + "@aws-sdk/types" "3.662.0" "@smithy/is-array-buffer" "^3.0.0" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" - "@smithy/util-middleware" "^3.0.6" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1066,33 +823,23 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz#b561d419a08a984ba364c193376b482ff5224d74" - integrity sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-host-header@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.654.0.tgz#8b02dcc28467d5b48c32cec22fd6e10ffd2a0549" - integrity sha512-rxGgVHWKp8U2ubMv+t+vlIk7QYUaRCHaVpmUlJv0Wv6Q0KeO9a42T9FxHphjOTlCGQOLcjCreL9CF8Qhtb4mdQ== +"@aws-sdk/middleware-host-header@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.662.0.tgz#f3d647d294b19da17ef5845b87dc5c0788196a1e" + integrity sha512-Gkb0J1LTvD8LOS8uwoRI5weFXvvJwP1jfnYwzQrFgLymRFHJm5JtORQZtmw34dtdou+IBTUsH1mgI8b3QVVH3w== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-location-constraint@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.654.0.tgz#a64ab011c390e4c7be75a08e0e104e06ccb4d961" - integrity sha512-Duvv5c4DEQ7P6c0YlcvEUW3xCJi6X2uktafNGjILhVDMQwShSF/aFqNv/ikWU/luQcmWHZ9DtDjTR9UKLh6eTA== +"@aws-sdk/middleware-location-constraint@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.662.0.tgz#7abc6484bd517142f4a8e711480382e28bf2bbd9" + integrity sha512-+OAm1hKXGy+F/KJFAc8RKX/z74ZOPEqVzg70kzy/mdSNGzJwvEOfT+KwDVncZ01jk9jso1Q8DXGmxfWzZ/n4aw== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/middleware-logger@3.609.0": @@ -1104,13 +851,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-logger@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.654.0.tgz#510495302fb134e1ef2163205f8eaedd46ffe05f" - integrity sha512-OQYb+nWlmASyXfRb989pwkJ9EVUMP1CrKn2eyTk3usl20JZmKo2Vjis6I0tLUkMSxMhnBJJlQKyWkRpD/u1FVg== +"@aws-sdk/middleware-logger@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.662.0.tgz#8c2ff7d543fe691a06020be853eeb9481409614d" + integrity sha512-aSpwVHtfMlqzpmnmmUgRNCaIcxXdRrGqGWG+VWXuYR1F6jJARDDCxGkSuKiPEOLX0h0BroUo4gqbM8ILXQ8rVw== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/middleware-recursion-detection@3.616.0": @@ -1123,53 +870,43 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz#f8270dfff843fd756be971e5673f89c6a24c6513" - integrity sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w== +"@aws-sdk/middleware-recursion-detection@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.662.0.tgz#5af684014a604d474e6bd763a5d2a3fbfff84d36" + integrity sha512-V/MYE+LOFIQDLnpWMHLxnKu+ELhD3pLOrWXVhKpVit6YcHxaOz6nvB40CPamSPDXenA11FGXKAGNHZ0loTpDQg== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-recursion-detection@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.654.0.tgz#4ade897efb6cbbfd72dd62a66999f28fd1552f9a" - integrity sha512-gKSomgltKVmsT8sC6W7CrADZ4GHwX9epk3GcH6QhebVO3LA9LRbkL3TwOPUXakxxOLLUTYdOZLIOtFf7iH00lg== +"@aws-sdk/middleware-sdk-s3@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.662.0.tgz#f4980918bc2295c9432cbe3940dfe4ab986bc86d" + integrity sha512-Ur5UGuS/bP5ftBxepOYJmTYES4Crh9TwIbBMUqsaal/XcdvQ7uYXK/PvlYg9P/bLpStmDBb1bxmnmjdsQBwSgw== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" - tslib "^2.6.2" - -"@aws-sdk/middleware-sdk-s3@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.658.0.tgz#7be274b10082ae488b0f8d1127b906170ef2b6fd" - integrity sha512-LLJjO+74tXiJvMEsZ7v4M+1aJKZsNWbf/TvZCuNpNkvUakVWCkmPQl2Qmaft/y0LABADSz5yCSFAe2CZz5nIHw== - dependencies: - "@aws-sdk/core" "3.658.0" - "@aws-sdk/types" "3.654.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/types" "3.662.0" "@aws-sdk/util-arn-parser" "3.568.0" - "@smithy/core" "^2.4.3" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.3" - "@smithy/signature-v4" "^4.1.3" - "@smithy/smithy-client" "^3.3.2" - "@smithy/types" "^3.4.2" + "@smithy/core" "^2.4.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/signature-v4" "^4.2.0" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.6" - "@smithy/util-stream" "^3.1.6" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-stream" "^3.1.9" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/middleware-ssec@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.654.0.tgz#025cddb3317e5ab8cfdb1f449c4135441810119b" - integrity sha512-k7hkQDJh4hcRJC7YojQ11kc37SY4foryen26Eafj5qYjeG2OGMW0oZTJDl1TVFJ7AcCjqIuMIo0Ho2US/2JspQ== +"@aws-sdk/middleware-ssec@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.662.0.tgz#e70ebcf2cf3ec9ac9f0e222b8d60467c6fccded0" + integrity sha512-7dxSUCeSLYFlMEr6BwNoYiF+4X7/JyIAyjOOI/hh9hyK8D8f3/xenACb67rPb59wUs6WgWZVg+hvWBC55a5KGg== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/middleware-user-agent@3.616.0": @@ -1183,26 +920,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz#1fe3104f04f576a942cf0469bfbd73c38eef3d9e" - integrity sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A== - dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-user-agent@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.654.0.tgz#5fa56514b97ced923fefe2653429d7b2bfb102bb" - integrity sha512-liCcqPAyRsr53cy2tYu4qeH4MMN0eh9g6k56XzI5xd4SghXH5YWh4qOYAlQ8T66ZV4nPMtD8GLtLXGzsH8moFg== +"@aws-sdk/middleware-user-agent@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.662.0.tgz#a428403ced5d6684f29d45dd0f39c6c4ef10ab7b" + integrity sha512-NT940BLSSys/A8W3zO3g2Kj+zpeydqGbSQgN6qz84jTskQjnrlamoq+Zl9Rrp8Cn8sC10UQ09kGg97lvjVOlmg== dependencies: - "@aws-sdk/types" "3.654.0" - "@aws-sdk/util-endpoints" "3.654.0" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/region-config-resolver@3.614.0": @@ -1217,28 +943,28 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@aws-sdk/region-config-resolver@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.654.0.tgz#f98e25a6669fde3d747db23eb589732384e213ef" - integrity sha512-ydGOrXJxj3x0sJhsXyTmvJVLAE0xxuTWFJihTl67RtaO7VRNtd82I3P3bwoMMaDn5WpmV5mPo8fEUDRlBm3fPg== +"@aws-sdk/region-config-resolver@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.662.0.tgz#1dcb6850059baa54dcb6e4556ece7ec1a4ee9d1b" + integrity sha512-MDiWl4wZSVnnTELLb+jFSe0nj9HwxJPX2JnghXKkOXmbKEiE2/21DCQwU9mr9VUq2ZOQqaSnMFPr94iRu0AVTQ== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.6" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" -"@aws-sdk/signature-v4-multi-region@3.658.0": - version "3.658.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.658.0.tgz#0d5fff03386c443cd2a02847c5e46f18fc1edb7f" - integrity sha512-eK00rYVQVG2fqqR8QxrjxZxgJKasyz3honFfKFNB5nKyOvKXkVI5QJ3HvbrWgRaMt21n2qcYQZxTO6dTkfeWVA== +"@aws-sdk/signature-v4-multi-region@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.662.0.tgz#5bdcafb93fbceb8787d5c2ccc15ef9eb22f8f82e" + integrity sha512-nXjFNs/VCT4jh8JyfCDTzUKfnhQU4JTwc0fi6mpQIig88fScKSBNxN4zm1zyg196xf6CBKlQc9UVnMsJYtWYDA== dependencies: - "@aws-sdk/middleware-sdk-s3" "3.658.0" - "@aws-sdk/types" "3.654.0" - "@smithy/protocol-http" "^4.1.3" - "@smithy/signature-v4" "^4.1.3" - "@smithy/types" "^3.4.2" + "@aws-sdk/middleware-sdk-s3" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/signature-v4" "^4.2.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/token-providers@3.614.0": @@ -1252,15 +978,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/token-providers@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.654.0.tgz#1aba36d510d471ccac43f90b59e2a354399ed069" - integrity sha512-D8GeJYmvbfWkQDtTB4owmIobSMexZel0fOoetwvgCQ/7L8VPph3Q2bn1TRRIXvH7wdt6DcDxA3tKMHPBkT3GlA== +"@aws-sdk/token-providers@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.662.0.tgz#89c60983e13036cebc0e0310ae226e2254f5a741" + integrity sha512-OqtBPutNC9Am10P1W5IwqRvzCVQAHRxWxZnfDBh1FQjNmoboGWYSriKxbrCRYLFffusNuzo8KnOFOmg1sRlhJQ== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/property-provider" "^3.1.6" - "@smithy/shared-ini-file-loader" "^3.1.7" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/types@3.609.0", "@aws-sdk/types@^3.222.0": @@ -1271,12 +997,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/types@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.654.0.tgz#d368dda5e8aff9e7b6575985bb425bbbaf67aa97" - integrity sha512-VWvbED3SV+10QJIcmU/PKjsKilsTV16d1I7/on4bvD/jo1qGeMXqLDBSen3ks/tuvXZF/mFc7ZW/W2DiLVtO7A== +"@aws-sdk/types@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.662.0.tgz#323de11059df4fd7169a381c166a8aae03abe757" + integrity sha512-Ff9/KRmIm8iEzodxzISLj4/pB/0hX2nVw1RFeOBC65OuM6nHrAdWHHog/CVx25hS5JPU0uE3h6NlWRaBJ7AV5w== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/util-arn-parser@3.568.0": @@ -1293,10 +1019,10 @@ dependencies: tslib "^2.6.2" -"@aws-sdk/util-dynamodb@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.621.0.tgz#a0d6501e5ab9aca695dc794963adf46a475ee5f3" - integrity sha512-/3qEmZ52FdP4+3AUsUX0/wKcCF3jvAG+avVKuSCUYIdKgSIYKSeYfH8F3/r6DE3czaFevBwHRiuKHEihCMApGw== +"@aws-sdk/util-dynamodb@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-dynamodb/-/util-dynamodb-3.662.0.tgz#47b1747f14300384af66b6a07fb4ba7a01318194" + integrity sha512-V079cMhwUTu086eS1grS/F7WeOrfqAW2a2KSFKR/zxLwZPYIoMiCUeoqCgK0PL5DEqdO0EVDPuWe/glEiO52dw== dependencies: tslib "^2.6.2" @@ -1310,14 +1036,14 @@ "@smithy/util-endpoints" "^2.0.5" tslib "^2.6.2" -"@aws-sdk/util-endpoints@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.654.0.tgz#ae8ac05c8afe73cf1428942c3a6d0ab8765f3911" - integrity sha512-i902fcBknHs0Irgdpi62+QMvzxE+bczvILXigYrlHL4+PiEnlMVpni5L5W1qCkNZXf8AaMrSBuR1NZAGp6UOUw== +"@aws-sdk/util-endpoints@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.662.0.tgz#a124838077ae230bba605310a73e43493e58e3d1" + integrity sha512-RQ/78yNUxZZZULFg7VxT7oObGOR/FBc0ojiFoCAKC20ycY8VvVX5Eof4gyxoVpwOP7EoZO3UlWSIqtaEV/X70w== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/types" "^3.4.2" - "@smithy/util-endpoints" "^2.1.2" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" + "@smithy/util-endpoints" "^2.1.3" tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": @@ -1337,13 +1063,13 @@ bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-browser@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.654.0.tgz#caa5e5d6d502aad1fe5a436cffbabfff1ec3b92c" - integrity sha512-ykYAJqvnxLt7wfrqya28wuH3/7NdrwzfiFd7NqEVQf7dXVxL5RPEpD7DxjcyQo3DsHvvdUvGZVaQhozycn1pzA== +"@aws-sdk/util-user-agent-browser@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.662.0.tgz#b17b847b38ffa88944939534069bf78a277723ed" + integrity sha512-5wQd+HbNTY1r1Gndxf93dAEFtKz1DqcalI4Ym40To+RIonSsYQNRomFoizYNgJ1P+Mkfsr4P1dy/MNTlkqTZuQ== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" bowser "^2.11.0" tslib "^2.6.2" @@ -1357,22 +1083,22 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.654.0.tgz#d4b88fa9f3fce2fd70118d2c01abd941d30cffa7" - integrity sha512-a0ojjdBN6pqv6gB4H/QPPSfhs7mFtlVwnmKCM/QrTaFzN0U810PJ1BST3lBx5sa23I5jWHGaoFY+5q65C3clLQ== +"@aws-sdk/util-user-agent-node@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.662.0.tgz#7199eef53edb1c175e455c94596294541a5aaef4" + integrity sha512-vBRbZ9Hr1OGmdJPWj36X0fR8/VdI2JiwK6+oJRa6qfJ6AnhqCYZbCyeA6JIDeEu3M9iu1OLjenU8NdXhTz8c2w== dependencies: - "@aws-sdk/types" "3.654.0" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/types" "^3.4.2" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/xml-builder@3.654.0": - version "3.654.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.654.0.tgz#28d295a1a9bbe6313ba240ce9cf851e894fcd449" - integrity sha512-qA2diK3d/ztC8HUb7NwPKbJRV01NpzTzxFn+L5G3HzJBNeKbjLcprQ/9uG9gp2UEx2Go782FI1ddrMNa0qBICA== +"@aws-sdk/xml-builder@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.662.0.tgz#6cbe5aea6205fd2280ec043189985240628d1cb2" + integrity sha512-ikLkXn0igUpnJu2mCZjklvmcDGWT9OaLRv3JyC/cRkTaaSrblPjPM7KKsltxdMTLQ+v7fjCN0TsJpxphMfaOPA== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/abort-controller@^3.1.1": @@ -1383,12 +1109,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/abort-controller@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.4.tgz#7cb22871f7392319c565d1d9ab3cb04e635c4dd9" - integrity sha512-VupaALAQlXViW3/enTf/f5l5JZYSAxoJL7f0nanhNNKnww6DGCg1oYIuNP78KDugnkwthBO6iEcym16HhWV8RQ== +"@smithy/abort-controller@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.5.tgz#ca7a86a3c6b20fabe59667143f58d9e198616d14" + integrity sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/chunked-blob-reader-native@^3.0.0": @@ -1417,15 +1143,15 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/config-resolver@^3.0.8": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.8.tgz#8717ea934f1d72474a709fc3535d7b8a11de2e33" - integrity sha512-Tv1obAC18XOd2OnDAjSWmmthzx6Pdeh63FbLin8MlPiuJ2ATpKkq0NcNOJFr0dO+JmZXnwu8FQxKJ3TKJ3Hulw== +"@smithy/config-resolver@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.9.tgz#dcf4b7747ca481866f9bfac21469ebe2031a599e" + integrity sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg== dependencies: - "@smithy/node-config-provider" "^3.1.7" - "@smithy/types" "^3.4.2" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.6" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" "@smithy/core@^2.2.7": @@ -1442,33 +1168,19 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/core@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.3.1.tgz#99cb8eda23009fd7df736c82072dafcf4eb4ff5d" - integrity sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w== +"@smithy/core@^2.4.7": + version "2.4.7" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.7.tgz#c4dc9ab3ba5f4b36addf967ca5fce036ce3b767d" + integrity sha512-goqMjX+IoVEnHZjYuzu8xwoZjoteMiLXsPHuXPBkWsGwu0o9c3nTjqkUlP1Ez/V8E501aOU7CJ3INk8mQcW2gw== dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - tslib "^2.6.2" - -"@smithy/core@^2.4.3": - version "2.4.6" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.6.tgz#d367a047a88aceee22eda5a598db00a7e5c50e72" - integrity sha512-6lQQp99hnyuNNIzeTYSzCUXJHwvvFLY7hfdFGSJM95tjRDJGfzWYFRBXPaM9766LiiTsQ561KErtbufzUFSYUg== - dependencies: - "@smithy/middleware-endpoint" "^3.1.3" - "@smithy/middleware-retry" "^3.0.21" - "@smithy/middleware-serde" "^3.0.6" - "@smithy/protocol-http" "^4.1.3" - "@smithy/smithy-client" "^3.3.5" - "@smithy/types" "^3.4.2" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-middleware" "^3.0.6" + "@smithy/util-middleware" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1483,60 +1195,60 @@ "@smithy/url-parser" "^3.0.3" tslib "^2.6.2" -"@smithy/credential-provider-imds@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.3.tgz#93314e58e4f81f2b641de6efac037c7a3250c050" - integrity sha512-VoxMzSzdvkkjMJNE38yQgx4CfnmT+Z+5EUXkg4x7yag93eQkVQgZvN3XBSHC/ylfBbLbAtdu7flTCChX9I+mVg== +"@smithy/credential-provider-imds@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.4.tgz#e1a2bfc8a0066f673756ad8735247cf284b9735c" + integrity sha512-S9bb0EIokfYEuar4kEbLta+ivlKCWOCFsLZuilkNy9i0uEUEHSi47IFLPaxqqCl+0ftKmcOTHayY5nQhAuq7+w== dependencies: - "@smithy/node-config-provider" "^3.1.7" - "@smithy/property-provider" "^3.1.6" - "@smithy/types" "^3.4.2" - "@smithy/url-parser" "^3.0.6" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" tslib "^2.6.2" -"@smithy/eventstream-codec@^3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.5.tgz#2b0d65818425d60e043b8e9d8dee9c6744de0e7b" - integrity sha512-6pu+PT2r+5ZnWEV3vLV1DzyrpJ0TmehQlniIDCSpZg6+Ji2SfOI38EqUyQ+O8lotVElCrfVc9chKtSMe9cmCZQ== +"@smithy/eventstream-codec@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-3.1.6.tgz#70ca95aad82d5140522eb883fbc140f1f22dcb27" + integrity sha512-SBiOYPBH+5wOyPS7lfI150ePfGLhnp/eTu5RnV9xvhGvRiKfnl6HzRK9wehBph+il8FxS9KTeadx7Rcmf1GLPQ== dependencies: "@aws-crypto/crc32" "5.2.0" - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" "@smithy/util-hex-encoding" "^3.0.0" tslib "^2.6.2" -"@smithy/eventstream-serde-browser@^3.0.9": - version "3.0.9" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.9.tgz#bb71b836a8755dd5d5fed85ac2fa500702f60544" - integrity sha512-PiQLo6OQmZAotJweIcObL1H44gkvuJACKMNqpBBe5Rf2Ax1DOcGi/28+feZI7yTe1ERHlQQaGnm8sSkyDUgsMg== +"@smithy/eventstream-serde-browser@^3.0.10": + version "3.0.10" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.10.tgz#ffca366a4edee5097be5a710f87627a5b2da5dec" + integrity sha512-1i9aMY6Pl/SmA6NjvidxnfBLHMPzhKu2BP148pEt5VwhMdmXn36PE2kWKGa9Hj8b0XGtCTRucpCncylevCtI7g== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.8" - "@smithy/types" "^3.4.2" + "@smithy/eventstream-serde-universal" "^3.0.9" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/eventstream-serde-config-resolver@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.6.tgz#538862ef05e549c0ef97b060100a5ffbb5d7adfb" - integrity sha512-iew15It+c7WfnVowWkt2a7cdPp533LFJnpjDQgfZQcxv2QiOcyEcea31mnrk5PVbgo0nNH3VbYGq7myw2q/F6A== +"@smithy/eventstream-serde-config-resolver@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.7.tgz#1f352f384665f322e024a1396a7a2cca52fce9e3" + integrity sha512-eVzhGQBPEqXXYHvIUku0jMTxd4gDvenRzUQPTmKVWdRvp9JUCKrbAXGQRYiGxUYq9+cqQckRm0wq3kTWnNtDhw== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/eventstream-serde-node@^3.0.8": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.8.tgz#0221c555f2851fd847b041f27a6231945822018f" - integrity sha512-6m+wI+fT0na+6oao6UqALVA38fsScCpoG5UO/A8ZSyGLnPM2i4MS1cFUhpuALgvLMxfYoTCh7qSeJa0aG4IWpQ== +"@smithy/eventstream-serde-node@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.9.tgz#e985340093c2ca6587ae2fdd0663e6845fbe9463" + integrity sha512-JE0Guqvt0xsmfQ5y1EI342/qtJqznBv8cJqkHZV10PwC8GWGU5KNgFbQnsVCcX+xF+qIqwwfRmeWoJCjuOLmng== dependencies: - "@smithy/eventstream-serde-universal" "^3.0.8" - "@smithy/types" "^3.4.2" + "@smithy/eventstream-serde-universal" "^3.0.9" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/eventstream-serde-universal@^3.0.8": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.8.tgz#0dac5365e3bb349960999b10a4a3c66b77b79dc3" - integrity sha512-09tqzIQ6e+7jLqGvRji1yJoDbL/zob0OFhq75edgStWErGLf16+yI5hRc/o9/YAybOhUZs/swpW2SPn892G5Gg== +"@smithy/eventstream-serde-universal@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.9.tgz#1832b190a3018204e33487ba1f7f0f6e2fb0da34" + integrity sha512-bydfgSisfepCufw9kCEnWRxqxJFzX/o8ysXWv+W9F2FIyiaEwZ/D8bBKINbh4ONz3i05QJ1xE7A5OKYvgJsXaw== dependencies: - "@smithy/eventstream-codec" "^3.1.5" - "@smithy/types" "^3.4.2" + "@smithy/eventstream-codec" "^3.1.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/fetch-http-handler@^3.2.2", "@smithy/fetch-http-handler@^3.2.3": @@ -1550,36 +1262,25 @@ "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/fetch-http-handler@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz#c754de7e0ff2541b73ac9ba7cc955940114b3d62" - integrity sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg== +"@smithy/fetch-http-handler@^3.2.9": + version "3.2.9" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz#8d5199c162a37caa37a8b6848eefa9ca58221a0b" + integrity sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A== dependencies: - "@smithy/protocol-http" "^4.1.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" - "@smithy/util-base64" "^3.0.0" - tslib "^2.6.2" - -"@smithy/fetch-http-handler@^3.2.7", "@smithy/fetch-http-handler@^3.2.8": - version "3.2.8" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.8.tgz#985623d2824138b770c81db7c872474160b3c5b1" - integrity sha512-Lqe0B8F5RM7zkw//6avq1SJ8AfaRd3ubFUS1eVp5WszV7p6Ne5hQ4dSuMHDpNRPhgTvj4va9Kd/pcVigHEHRow== - dependencies: - "@smithy/protocol-http" "^4.1.3" - "@smithy/querystring-builder" "^3.0.6" - "@smithy/types" "^3.4.2" + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-blob-browser@^3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.5.tgz#db1cf756647f8f39b4214403482750afbb8f2236" - integrity sha512-Vi3eoNCmao4iKglS80ktYnBOIqZhjbDDwa1IIbF/VaJ8PsHnZTQ5wSicicPrU7nTI4JPFn92/txzWkh4GlK18Q== +"@smithy/hash-blob-browser@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.6.tgz#d61de344aa3cef0bc83e3ab8166558256262dfcd" + integrity sha512-BKNcMIaeZ9lB67sgo88iCF4YB35KT8X2dNJ8DqrtZNTgN6tUDYBKThzfGtos/mnZkGkW91AYHisESHmSiYQmKw== dependencies: "@smithy/chunked-blob-reader" "^3.0.0" "@smithy/chunked-blob-reader-native" "^3.0.0" - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/hash-node@^3.0.3": @@ -1592,22 +1293,22 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-node@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.6.tgz#7c1a869afcbd411eac04c4777dd193ea7ac4e588" - integrity sha512-c/FHEdKK/7DU2z6ZE91L36ahyXWayR3B+FzELjnYq7wH5YqIseM24V+pWCS9kFn1Ln8OFGTf+pyYPiHZuX0s/Q== +"@smithy/hash-node@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.7.tgz#03b5a382fb588b8c2bac11b4fe7300aaf1661c88" + integrity sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-stream-node@^3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.5.tgz#4c8d290f6e4d55fdb143d65d645031da12af7fc1" - integrity sha512-61CyFCzqN3VBfcnGX7mof/rkzLb8oHjm4Lr6ZwBIRpBssBb8d09ChrZAqinP2rUrA915BRNkq9NpJz18N7+3hQ== +"@smithy/hash-stream-node@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-3.1.6.tgz#854ad354a865a1334baa2abc2f2247f2723de688" + integrity sha512-sFSSt7cmCpFWZPfVx7k80Bgb1K2VJ27VmMxH8X+dDhp7Wv8IBgID4K2VK5ehMJROF8hQgcj4WywnkHIwX/xlwQ== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1619,12 +1320,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/invalid-dependency@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.6.tgz#3b3e30a55b92341412626b412fe919929871eeb1" - integrity sha512-czM7Ioq3s8pIXht7oD+vmgy4Wfb4XavU/k/irO8NdXFFOx7YAlsCCcKOh/lJD1mJSYQqiR7NmpZ9JviryD/7AQ== +"@smithy/invalid-dependency@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.7.tgz#b36f258d94498f3c72ab6020091a66fc7cc16eda" + integrity sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/is-array-buffer@^2.2.0": @@ -1641,16 +1342,16 @@ dependencies: tslib "^2.6.2" -"@smithy/md5-js@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.6.tgz#cb8881ffef4ffbf68b0daf52d8add30dc57e3a7a" - integrity sha512-Ze690T8O3M5SVbb70WormwrKzVf9QQRtIuxtJDgpUQDkmt+PtdYDetBbyCbF9ryupxLw6tgzWKgwffAShhVIXQ== +"@smithy/md5-js@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-3.0.7.tgz#0a645dd9c139254353fd6e6a6b65154baeab7d2e" + integrity sha512-+wco9IN9uOW4tNGkZIqTR6IXyfO7Z8A+IOq82QCRn/f/xcmt7H1fXwmQVbfDSvbeFwfNnhv7s+u0G9PzPG6o2w== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/middleware-content-length@^3.0.4", "@smithy/middleware-content-length@^3.0.5": +"@smithy/middleware-content-length@^3.0.4": version "3.0.5" resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz#1680aa4fb2a1c0505756103c9a5c2916307d9035" integrity sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw== @@ -1659,13 +1360,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/middleware-content-length@^3.0.8": - version "3.0.8" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.8.tgz#4e1c1631718e4d6dfe9a06f37faa90de92e884ed" - integrity sha512-VuyszlSO49WKh3H9/kIO2kf07VUwGV80QRiaDxUfP8P8UKlokz381ETJvwLhwuypBYhLymCYyNhB3fLAGBX2og== +"@smithy/middleware-content-length@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.9.tgz#fb613d1a6b8c91e828d11c0d7a0a8576dba89b8b" + integrity sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA== dependencies: - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/middleware-endpoint@^3.0.5", "@smithy/middleware-endpoint@^3.1.0": @@ -1681,17 +1382,17 @@ "@smithy/util-middleware" "^3.0.3" tslib "^2.6.2" -"@smithy/middleware-endpoint@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.3.tgz#8c84d40c9d26b77e2bbb99721fd4a3d379828505" - integrity sha512-KeM/OrK8MVFUsoJsmCN0MZMVPjKKLudn13xpgwIMpGTYpA8QZB2Xq5tJ+RE6iu3A6NhOI4VajDTwBsm8pwwrhg== +"@smithy/middleware-endpoint@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz#222c9fa49c8af6ebf8bea8ab220d92d9b8c90d3d" + integrity sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ== dependencies: - "@smithy/middleware-serde" "^3.0.6" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/shared-ini-file-loader" "^3.1.7" - "@smithy/types" "^3.4.2" - "@smithy/url-parser" "^3.0.6" - "@smithy/util-middleware" "^3.0.6" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" "@smithy/middleware-retry@^3.0.10", "@smithy/middleware-retry@^3.0.12": @@ -1709,33 +1410,18 @@ tslib "^2.6.2" uuid "^9.0.1" -"@smithy/middleware-retry@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz#3bdd662aff01f360fcbaa166500bbc575dc9d1d0" - integrity sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw== +"@smithy/middleware-retry@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.22.tgz#578ceafd72fd655cde35c35b462a8aad26fd07e2" + integrity sha512-svEN7O2Tf7BoaBkPzX/8AE2Bv7p16d9/ulFAD1Gmn5g19iMqNk1WIkMxAY7SpB9/tVtUwKx0NaIsBRl88gumZA== dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/service-error-classification" "^3.0.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" - tslib "^2.6.2" - uuid "^9.0.1" - -"@smithy/middleware-retry@^3.0.18", "@smithy/middleware-retry@^3.0.21": - version "3.0.21" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.21.tgz#c26168f761d5b72c750fb4ed66c18a2b195b7f4d" - integrity sha512-/h0fElV95LekVVEJuSw+aI11S1Y3zIUwBc6h9ZbUv43Gl2weXsbQwjLoet6j/Qtb0phfrSxS6pNg6FqgJOWZkA== - dependencies: - "@smithy/node-config-provider" "^3.1.7" - "@smithy/protocol-http" "^4.1.3" - "@smithy/service-error-classification" "^3.0.6" - "@smithy/smithy-client" "^3.3.5" - "@smithy/types" "^3.4.2" - "@smithy/util-middleware" "^3.0.6" - "@smithy/util-retry" "^3.0.6" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/service-error-classification" "^3.0.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" tslib "^2.6.2" uuid "^9.0.1" @@ -1747,12 +1433,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/middleware-serde@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.6.tgz#9f7a9c152989b59c12865ef3a17acbdb7b6a1566" - integrity sha512-KKTUSl1MzOM0MAjGbudeaVNtIDo+PpekTBkCNwvfZlKndodrnvRo+00USatiyLOc0ujjO9UydMRu3O9dYML7ag== +"@smithy/middleware-serde@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz#03f0dda75edffc4cc90ea422349cbfb82368efa7" + integrity sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/middleware-stack@^3.0.3": @@ -1763,12 +1449,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/middleware-stack@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.6.tgz#e63d09b3e292b7a46ac3b9eb482973701de15a6f" - integrity sha512-2c0eSYhTQ8xQqHMcRxLMpadFbTXg6Zla5l0mwNftFCZMQmuhI7EbAJMx6R5eqfuV3YbJ3QGyS3d5uSmrHV8Khg== +"@smithy/middleware-stack@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz#813fa7b47895ce0d085eac89c056d21b1e46e771" + integrity sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/node-config-provider@^3.1.4": @@ -1781,14 +1467,14 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/node-config-provider@^3.1.7": - version "3.1.7" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.7.tgz#6ae71aeff45e8c9792720986f0b1623cf6da671f" - integrity sha512-g3mfnC3Oo8pOI0dYuPXLtdW1WGVb3bR2tkV21GNkm0ZvQjLTtamXAwCWt/FCb0HGvKt3gHHmF1XerG0ICfalOg== +"@smithy/node-config-provider@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz#2c1092040b4062eae0f7c9e121cc00ac6a77efee" + integrity sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q== dependencies: - "@smithy/property-provider" "^3.1.6" - "@smithy/shared-ini-file-loader" "^3.1.7" - "@smithy/types" "^3.4.2" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/node-http-handler@^3.1.3", "@smithy/node-http-handler@^3.1.4": @@ -1802,15 +1488,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/node-http-handler@^3.2.2", "@smithy/node-http-handler@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.3.tgz#6d10ece149b441f5417d34db45ddb76407d5c186" - integrity sha512-/gcm5DJ3k1b1zEInzBGAZC8ntJ+jwrz1NcSIu+9dSXd1FfG0G6QgkDI40tt8/WYUbHtLyo8fEqtm2v29koWo/w== +"@smithy/node-http-handler@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz#3c57c40d082c3bacac1e49955bd1240e8ccc40b2" + integrity sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ== dependencies: - "@smithy/abort-controller" "^3.1.4" - "@smithy/protocol-http" "^4.1.3" - "@smithy/querystring-builder" "^3.0.6" - "@smithy/types" "^3.4.2" + "@smithy/abort-controller" "^3.1.5" + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/property-provider@^3.1.3": @@ -1821,12 +1507,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/property-provider@^3.1.6": - version "3.1.6" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.6.tgz#141a245ad8cac074d29a836ec992ef7dc3363bf7" - integrity sha512-NK3y/T7Q/Bw+Z8vsVs9MYIQ5v7gOX7clyrXcwhhIBQhbPgRl6JDrZbusO9qWDhcEus75Tg+VCxtIRfo3H76fpw== +"@smithy/property-provider@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.7.tgz#8a304a4b9110a067a93c784e4c11e175f82da379" + integrity sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/protocol-http@^4.0.4", "@smithy/protocol-http@^4.1.0": @@ -1837,12 +1523,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/protocol-http@^4.1.3": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.3.tgz#91d894ec7d82c012c5674cb3e209800852f05abd" - integrity sha512-GcbMmOYpH9iRqtC05RbRnc/0FssxSTHlmaNhYBTgSgNCYpdR3Kt88u5GAZTBmouzv+Zlj/VRv92J9ruuDeJuEw== +"@smithy/protocol-http@^4.1.4": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.4.tgz#6940d652b1825bda2422163ec9baab552669a338" + integrity sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/querystring-builder@^3.0.3": @@ -1854,12 +1540,12 @@ "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" -"@smithy/querystring-builder@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.6.tgz#bcb718b860697dca5257ca38dc8041a4696c486f" - integrity sha512-sQe08RunoObe+Usujn9+R2zrLuQERi3CWvRO3BvnoWSYUaIrLKuAIeY7cMeDax6xGyfIP3x/yFWbEKSXvOnvVg== +"@smithy/querystring-builder@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz#8c443c65f4249ff1637088db1166d18411d41555" + integrity sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" @@ -1871,12 +1557,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/querystring-parser@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.6.tgz#f30e7e244fa674d77bdfd3c65481c5dc0aa083ef" - integrity sha512-UJKw4LlEkytzz2Wq+uIdHf6qOtFfee/o7ruH0jF5I6UAuU+19r9QV7nU3P/uI0l6+oElRHmG/5cBBcGJrD7Ozg== +"@smithy/querystring-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz#936206d1e6da9d862384dae730b4bad042d6a948" + integrity sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/service-error-classification@^3.0.3": @@ -1886,12 +1572,12 @@ dependencies: "@smithy/types" "^3.3.0" -"@smithy/service-error-classification@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.6.tgz#e0ca00b79d9ccf00795284e01cfdc48b43b81d76" - integrity sha512-53SpchU3+DUZrN7J6sBx9tBiCVGzsib2e4sc512Q7K9fpC5zkJKs6Z9s+qbMxSYrkEkle6hnMtrts7XNkMJJMg== +"@smithy/service-error-classification@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.7.tgz#5bab4ad802d30bd3fa52b8134f6c171582358226" + integrity sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" "@smithy/shared-ini-file-loader@^3.1.4": version "3.1.4" @@ -1901,15 +1587,15 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/shared-ini-file-loader@^3.1.7": - version "3.1.7" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.7.tgz#bdcf3f0213c3c5779c3fbb41580e9a217ad52e8f" - integrity sha512-IA4K2qTJYXkF5OfVN4vsY1hfnUZjaslEE8Fsr/gGFza4TAC2A9NfnZuSY2srQIbt9bwtjHiAayrRVgKse4Q7fA== +"@smithy/shared-ini-file-loader@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz#7a0bf5f20cfe8e0c4a36d8dcab8194d0d2ee958e" + integrity sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/signature-v4@^4.0.0", "@smithy/signature-v4@^4.1.0": +"@smithy/signature-v4@^4.0.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" integrity sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag== @@ -1923,16 +1609,16 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/signature-v4@^4.1.3": - version "4.1.4" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.4.tgz#6baa7fe14e86516d2c2568d081c67553449cbb5e" - integrity sha512-72MiK7xYukNsnLJI9NqvUHqTu0ziEsfMsYNlWpiJfuGQnCTFKpckThlEatirvcA/LmT1h7rRO+pJD06PYsPu9Q== +"@smithy/signature-v4@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.2.0.tgz#291f5a0e756cc251377e1e8af2a1f494e6173029" + integrity sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ== dependencies: "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" "@smithy/util-hex-encoding" "^3.0.0" - "@smithy/util-middleware" "^3.0.6" + "@smithy/util-middleware" "^3.0.7" "@smithy/util-uri-escape" "^3.0.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" @@ -1949,28 +1635,16 @@ "@smithy/util-stream" "^3.1.2" tslib "^2.6.2" -"@smithy/smithy-client@^3.1.11": - version "3.1.11" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.11.tgz#f12a7a0acaa7db3ead488ddf12ef4681daec11a7" - integrity sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ== - dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.3" - tslib "^2.6.2" - -"@smithy/smithy-client@^3.3.2", "@smithy/smithy-client@^3.3.5": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.3.5.tgz#ded1f89b9d8b17689a87351f6d7708ce4f3b9ea6" - integrity sha512-7IZi8J3Dr9n3tX+lcpmJ/5tCYIqoXdblFBaPuv0SEKZFRpCxE+TqIWL6I3t7jLlk9TWu3JSvEZAhtjB9yvB+zA== +"@smithy/smithy-client@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.3.6.tgz#882fcc4b5db35c284c7a7c6116b27be324c41202" + integrity sha512-qdH+mvDHgq1ss6mocyIl2/VjlWXew7pGwZQydwYJczEc22HZyX3k8yVPV9aZsbYbssHPvMDRA5rfBDrjQUbIIw== dependencies: - "@smithy/middleware-endpoint" "^3.1.3" - "@smithy/middleware-stack" "^3.0.6" - "@smithy/protocol-http" "^4.1.3" - "@smithy/types" "^3.4.2" - "@smithy/util-stream" "^3.1.8" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + "@smithy/util-stream" "^3.1.9" tslib "^2.6.2" "@smithy/types@^3.3.0": @@ -1980,10 +1654,10 @@ dependencies: tslib "^2.6.2" -"@smithy/types@^3.4.2": - version "3.4.2" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.4.2.tgz#aa2d087922d57205dbad68df8a45c848699c551e" - integrity sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w== +"@smithy/types@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.5.0.tgz#9589e154c50d9c5d00feb7d818112ef8fc285d6e" + integrity sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q== dependencies: tslib "^2.6.2" @@ -1996,13 +1670,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/url-parser@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.6.tgz#98b426f9a492e0c992fcd5dceac35444c2632837" - integrity sha512-47Op/NU8Opt49KyGpHtVdnmmJMsp2hEwBdyjuFB9M2V5QVOwA7pBhhxKN5z6ztKGrMw76gd8MlbPuzzvaAncuQ== +"@smithy/url-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.7.tgz#9d7d7e4e38514bf75ade6e8a30d2300f3db17d1b" + integrity sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA== dependencies: - "@smithy/querystring-parser" "^3.0.6" - "@smithy/types" "^3.4.2" + "@smithy/querystring-parser" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-base64@^3.0.0": @@ -2062,25 +1736,14 @@ bowser "^2.11.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz#f574bbb89d60f5dcc443f106087d317b370634d0" - integrity sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw== - dependencies: - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - bowser "^2.11.0" - tslib "^2.6.2" - -"@smithy/util-defaults-mode-browser@^3.0.18": - version "3.0.21" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.21.tgz#cdcb9a29433d2659b7c83902e8f5fca396b8a805" - integrity sha512-M/FhTBk4c/SsB91dD/M4gMGfJO7z/qJaM9+XQQIqBOf4qzZYMExnP7R4VdGwxxH8IKMGW+8F0I4rNtVRrcfPoA== +"@smithy/util-defaults-mode-browser@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.22.tgz#e9141ed58109d572337a621d96131526aaf4f42f" + integrity sha512-WKzUxNsOun5ETwEOrvooXeI1mZ8tjDTOcN4oruELWHhEYDgQYWwxZupURVyovcv+h5DyQT/DzK5nm4ZoR/Tw5Q== dependencies: - "@smithy/property-provider" "^3.1.6" - "@smithy/smithy-client" "^3.3.5" - "@smithy/types" "^3.4.2" + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" bowser "^2.11.0" tslib "^2.6.2" @@ -2097,30 +1760,17 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz#cdd3a08bb5af4d17c2b0a951af9936ce7f3bae93" - integrity sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g== +"@smithy/util-defaults-mode-node@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.22.tgz#fc51f37aaa5ec03edec0da890a1ca1e3e3cdc70b" + integrity sha512-hUsciOmAq8fsGwqg4+pJfNRmrhfqMH4Y9UeGcgeUl88kPAoYANFATJqCND+O4nUvwp5TzsYwGpqpcBKyA8LUUg== dependencies: - "@smithy/config-resolver" "^3.0.5" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/util-defaults-mode-node@^3.0.18": - version "3.0.21" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.21.tgz#f767702cb1416610b6818c9edb966967ea75f524" - integrity sha512-NiLinPvF86U3S2Pdx/ycqd4bnY5dmFSPNL5KYRwbNjqQFS09M5Wzqk8BNk61/47xCYz1X/6KeiSk9qgYPTtuDw== - dependencies: - "@smithy/config-resolver" "^3.0.8" - "@smithy/credential-provider-imds" "^3.2.3" - "@smithy/node-config-provider" "^3.1.7" - "@smithy/property-provider" "^3.1.6" - "@smithy/smithy-client" "^3.3.5" - "@smithy/types" "^3.4.2" + "@smithy/config-resolver" "^3.0.9" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-endpoints@^2.0.5": @@ -2132,13 +1782,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-endpoints@^2.1.2": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.2.tgz#e1d789d598da9ab955b8cf3257ab2f263c35031a" - integrity sha512-FEISzffb4H8DLzGq1g4MuDpcv6CIG15fXoQzDH9SjpRJv6h7J++1STFWWinilG0tQh9H1v2UKWG19Jjr2B16zQ== +"@smithy/util-endpoints@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.3.tgz#7498151e9dc714bdd0c6339314dd2350fa4d250a" + integrity sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw== dependencies: - "@smithy/node-config-provider" "^3.1.7" - "@smithy/types" "^3.4.2" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-hex-encoding@^3.0.0": @@ -2156,12 +1806,12 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-middleware@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.6.tgz#463c41e74d6e8d758f6cceba4dbed4dc5a4afe50" - integrity sha512-BxbX4aBhI1O9p87/xM+zWy0GzT3CEVcXFPBRDoHAM+pV0eSW156pR+PSYEz0DQHDMYDsYAflC2bQNz2uaDBUZQ== +"@smithy/util-middleware@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.7.tgz#770d09749b6d170a1641384a2e961487447446fa" + integrity sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA== dependencies: - "@smithy/types" "^3.4.2" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-retry@^3.0.3": @@ -2173,13 +1823,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-retry@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.6.tgz#297de1cd5a836fb957ab2ad3439041e848815499" - integrity sha512-BRZiuF7IwDntAbevqMco67an0Sr9oLQJqqRCsSPZZHYRnehS0LHDAkJk/pSmI7Z8c/1Vet294H7fY2fWUgB+Rg== +"@smithy/util-retry@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.7.tgz#694e0667574ffe9772f620b35d3c7286aced35e9" + integrity sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug== dependencies: - "@smithy/service-error-classification" "^3.0.6" - "@smithy/types" "^3.4.2" + "@smithy/service-error-classification" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-stream@^3.1.0", "@smithy/util-stream@^3.1.2": @@ -2196,28 +1846,14 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/util-stream@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.3.tgz#699ee2397cc1d474e46d2034039d5263812dca64" - integrity sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw== +"@smithy/util-stream@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.9.tgz#d39656eae27696bdc5a3ec7c2f6b89c32dccd1ca" + integrity sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ== dependencies: - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/types" "^3.3.0" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-buffer-from" "^3.0.0" - "@smithy/util-hex-encoding" "^3.0.0" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - -"@smithy/util-stream@^3.1.6", "@smithy/util-stream@^3.1.8": - version "3.1.8" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.8.tgz#31bcf460c54aae816e0789682426da522f894058" - integrity sha512-hoKOqSmb8FD3WLObuB5hwbM7bNIWgcnvkThokTvVq7J5PKjlLUK5qQQcB9zWLHIoSaIlf3VIv2OxZY2wtQjcRQ== - dependencies: - "@smithy/fetch-http-handler" "^3.2.8" - "@smithy/node-http-handler" "^3.2.3" - "@smithy/types" "^3.4.2" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/types" "^3.5.0" "@smithy/util-base64" "^3.0.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-hex-encoding" "^3.0.0" @@ -2256,13 +1892,13 @@ "@smithy/types" "^3.3.0" tslib "^2.6.2" -"@smithy/util-waiter@^3.1.5": - version "3.1.5" - resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.5.tgz#56b3a0fa6498ed22dfee7f40c64d13a54dd04fcc" - integrity sha512-jYOSvM3H6sZe3CHjzD2VQNCjWBJs+4DbtwBMvUp9y5EnnwNa7NQxTeYeQw0CKCAdGGZ3QvVkyJmvbvs5M/B10A== +"@smithy/util-waiter@^3.1.6": + version "3.1.6" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-3.1.6.tgz#c65870d0c802e33b96112fac5c4471b3bf2eeecb" + integrity sha512-xs/KAwWOeCklq8aMlnpk25LgxEYHKOEodfjfKclDMLcBJEVEKzDLxZxBQyztcuPJ7F54213NJS8PxoiHNMdItQ== dependencies: - "@smithy/abort-controller" "^3.1.4" - "@smithy/types" "^3.4.2" + "@smithy/abort-controller" "^3.1.5" + "@smithy/types" "^3.5.0" tslib "^2.6.2" ansi-colors@^4.1.3: diff --git a/services/ui-auth/package.json b/services/ui-auth/package.json index 38f0cd96a..7f2a41227 100644 --- a/services/ui-auth/package.json +++ b/services/ui-auth/package.json @@ -10,6 +10,6 @@ "license": "CC0-1.0", "devDependencies": {}, "dependencies": { - "@aws-sdk/client-cognito-identity-provider": "^3.621.0" + "@aws-sdk/client-cognito-identity-provider": "^3.662.0" } } diff --git a/services/ui-auth/yarn.lock b/services/ui-auth/yarn.lock index 253ed8113..27d422ae3 100644 --- a/services/ui-auth/yarn.lock +++ b/services/ui-auth/yarn.lock @@ -40,366 +40,367 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-sdk/client-cognito-identity-provider@^3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.621.0.tgz#7e5d85943fff1cfb0379866c2c3b3c91fd3f4ffa" - integrity sha512-Tu2m18zW87gJwme6J74p/ZrfC5eJ3kv4yXpCAkfOz1JBO0vfxdoZIkkZ94G5tuCpiS5kljwS6GXpsKOojpVXcg== +"@aws-sdk/client-cognito-identity-provider@^3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.662.0.tgz#8699f4f37fb23fef07729a86ab934998c19e059d" + integrity sha512-GqKKoVIBwkGqIxFJh5gJY7aMZhijjJkk/hmI1eIuS4vex7LpS941uYH/3CpyuI0u3hq+ABjwul2W6dDNleVq4Q== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/client-sts" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/client-sts" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso-oidc@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.621.0.tgz#3fa3d468fbebbd93a5f75c1d51b63cc7af3ef17b" - integrity sha512-mMjk3mFUwV2Y68POf1BQMTF+F6qxt5tPu6daEUCNGC9Cenk3h2YXQQoS4/eSyYzuBiYk3vx49VgleRvdvkg8rg== +"@aws-sdk/client-sso-oidc@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.662.0.tgz#f2816f674b4125ff900435cc8b7fadc227455c81" + integrity sha512-YZrH0sftdmjvEIY8u0LCrfEhyaMVpN0+K0K9WsUrFRMZ7DK6nB9YD1f5EaKUN5UjNw5S7gbjSdI8neSCoELjhw== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sso@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.621.0.tgz#c0eefeb9adcbc6bb7c91c32070404c8c91846825" - integrity sha512-xpKfikN4u0BaUYZA9FGUMkkDmfoIP0Q03+A86WjqDWhcOoqNA1DkHsE4kZ+r064ifkPUfcNuUvlkVTEoBZoFjA== +"@aws-sdk/client-sso@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.662.0.tgz#43c9238799a2271e3652089bcddf105752fdacea" + integrity sha512-4j3+eNSnNblcIYCJrsRRdyXFjAWGpGa7s7pdIyDMLwtYA7AKNlnlyQV14jtezhMrN2j6qZ7zZmnwEyFGipgfWA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sts@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.621.0.tgz#2994f601790893901704c5df56c837e89f279952" - integrity sha512-707uiuReSt+nAx6d0c21xLjLm2lxeKc7padxjv92CIrIocnQSlJPxSCM7r5zBhwiahJA6MNQwmTl2xznU67KgA== +"@aws-sdk/client-sts@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.662.0.tgz#8d35b7d25c813e3b2ba0d8efd42d9e61823e088f" + integrity sha512-RjiXvfW3a36ybHuzYuZ6ZgddYiENiXLDGC3tlZMsKWuoVQNeoh2grx1wxUA6e4ajAIqJLXs5dAYTSXzGaAqHTA== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.621.0" - "@aws-sdk/core" "3.621.0" - "@aws-sdk/credential-provider-node" "3.621.0" - "@aws-sdk/middleware-host-header" "3.620.0" - "@aws-sdk/middleware-logger" "3.609.0" - "@aws-sdk/middleware-recursion-detection" "3.620.0" - "@aws-sdk/middleware-user-agent" "3.620.0" - "@aws-sdk/region-config-resolver" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@aws-sdk/util-user-agent-browser" "3.609.0" - "@aws-sdk/util-user-agent-node" "3.614.0" - "@smithy/config-resolver" "^3.0.5" - "@smithy/core" "^2.3.1" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/hash-node" "^3.0.3" - "@smithy/invalid-dependency" "^3.0.3" - "@smithy/middleware-content-length" "^3.0.5" - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@aws-sdk/client-sso-oidc" "3.662.0" + "@aws-sdk/core" "3.662.0" + "@aws-sdk/credential-provider-node" "3.662.0" + "@aws-sdk/middleware-host-header" "3.662.0" + "@aws-sdk/middleware-logger" "3.662.0" + "@aws-sdk/middleware-recursion-detection" "3.662.0" + "@aws-sdk/middleware-user-agent" "3.662.0" + "@aws-sdk/region-config-resolver" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@aws-sdk/util-user-agent-browser" "3.662.0" + "@aws-sdk/util-user-agent-node" "3.662.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/core" "^2.4.7" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/hash-node" "^3.0.7" + "@smithy/invalid-dependency" "^3.0.7" + "@smithy/middleware-content-length" "^3.0.9" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" "@smithy/util-base64" "^3.0.0" "@smithy/util-body-length-browser" "^3.0.0" "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.13" - "@smithy/util-defaults-mode-node" "^3.0.13" - "@smithy/util-endpoints" "^2.0.5" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" + "@smithy/util-defaults-mode-browser" "^3.0.22" + "@smithy/util-defaults-mode-node" "^3.0.22" + "@smithy/util-endpoints" "^2.1.3" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/core@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.621.0.tgz#e38c56c3ce0c819ca1185eaabcb98412429aaca3" - integrity sha512-CtOwWmDdEiINkGXD93iGfXjN0WmCp9l45cDWHHGa8lRgEDyhuL7bwd/pH5aSzj0j8SiQBG2k0S7DHbd5RaqvbQ== +"@aws-sdk/core@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.662.0.tgz#93764660c9fabbc10e77ddcde283f088e22bebc3" + integrity sha512-w64Fa4dsgM8vN7Z+QPR3n+aAl5GXThQRH8deT/iF1rLrzfq7V8xxACJ/CLVaxrZMZUPUUgG7DUAo95nXFWmGjA== dependencies: - "@smithy/core" "^2.3.1" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/signature-v4" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/core" "^2.4.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/signature-v4" "^4.2.0" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" fast-xml-parser "4.4.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-env@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz#d4692c49a65ebc11dae3f7f8b053fee9268a953c" - integrity sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg== +"@aws-sdk/credential-provider-env@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.662.0.tgz#fe58b29abefd0fa968f79c7e7d15381009945a75" + integrity sha512-Dgwb0c/FH4xT5QZZFdLTFmCkdG3woXIAgLx5HCoH9Ty5G7T8keHOU9Jm4Vpe2ZJXL7JJHlLakGS65+bgXTuLSQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" - -"@aws-sdk/credential-provider-http@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.621.0.tgz#5f944bf548f203d842cf71a5792f73c205544627" - integrity sha512-/jc2tEsdkT1QQAI5Dvoci50DbSxtJrevemwFsm0B73pwCcOQZ5ZwwSdVqGsPutzYzUVx3bcXg3LRL7jLACqRIg== + +"@aws-sdk/credential-provider-http@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.662.0.tgz#02e3e97e28ec1bb99bdd91ddc9df5d48e1a31b42" + integrity sha512-Wnle/uJI4Ku9ABJHof9sio28VlaSbF3jVQKTSVCJftvbKELlFOlY5aXSjtu0wwcJqDS5r78N5KM7aARUJES+DA== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.3" + "@aws-sdk/types" "3.662.0" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-stream" "^3.1.9" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.621.0.tgz#bda2365f88fee40e3ae067b08bf484106c339222" - integrity sha512-0EWVnSc+JQn5HLnF5Xv405M8n4zfdx9gyGdpnCmAmFqEDHA8LmBdxJdpUk1Ovp/I5oPANhjojxabIW5f1uU0RA== +"@aws-sdk/credential-provider-ini@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.662.0.tgz#505e37298cc6e2909020c25d555bf6b6d3f4cbdc" + integrity sha512-jk+A5B0NRYG4KrjJ8ef1+r9bFjhpwUm/A9grJmp3JOwcHKXvI2Gy9BXNqfqqVgrK0Gns+WyhJZy6rsRaC+v1oQ== dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.621.0" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.621.0" - "@aws-sdk/credential-provider-web-identity" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/credential-provider-env" "3.662.0" + "@aws-sdk/credential-provider-http" "3.662.0" + "@aws-sdk/credential-provider-process" "3.662.0" + "@aws-sdk/credential-provider-sso" "3.662.0" + "@aws-sdk/credential-provider-web-identity" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.621.0.tgz#9cc5052760a9f9d70d70f12ddbdbf0d59bf13a47" - integrity sha512-4JqpccUgz5Snanpt2+53hbOBbJQrSFq7E1sAAbgY6BKVQUsW5qyXqnjvSF32kDeKa5JpBl3bBWLZl04IadcPHw== +"@aws-sdk/credential-provider-node@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.662.0.tgz#086aa57b4fbca4701566f9ac88d59aa67658a5f8" + integrity sha512-2O9wjxdLcU1b+bWVkp3YYbPHo15SU3pW4KfWTca5bB/C01i1eqiHnwsOFz/WKPYYKNj0FhXtJJjeDQLtNFYI8A== dependencies: - "@aws-sdk/credential-provider-env" "3.620.1" - "@aws-sdk/credential-provider-http" "3.621.0" - "@aws-sdk/credential-provider-ini" "3.621.0" - "@aws-sdk/credential-provider-process" "3.620.1" - "@aws-sdk/credential-provider-sso" "3.621.0" - "@aws-sdk/credential-provider-web-identity" "3.621.0" - "@aws-sdk/types" "3.609.0" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/credential-provider-env" "3.662.0" + "@aws-sdk/credential-provider-http" "3.662.0" + "@aws-sdk/credential-provider-ini" "3.662.0" + "@aws-sdk/credential-provider-process" "3.662.0" + "@aws-sdk/credential-provider-sso" "3.662.0" + "@aws-sdk/credential-provider-web-identity" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-process@3.620.1": - version "3.620.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz#10387cf85400420bb4bbda9cc56937dcc6d6d0ee" - integrity sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg== +"@aws-sdk/credential-provider-process@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.662.0.tgz#2c9fef18cffc827c26b599fb2a9dfb812ca1409e" + integrity sha512-1QUdtr/JiuvRjVgA8enpgCwjq7Eud8eVUT0i/vpWuFp5TV2FFq/8BD3GBkesTdy4Ylms6QVGf7J6INdfUWQEmw== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.621.0.tgz#710f413708cb372f9f94e8eb9726cf263ffd83e3" - integrity sha512-Kza0jcFeA/GEL6xJlzR2KFf1PfZKMFnxfGzJzl5yN7EjoGdMijl34KaRyVnfRjnCWcsUpBWKNIDk9WZVMY9yiw== +"@aws-sdk/credential-provider-sso@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.662.0.tgz#6d0c9f5f819da6b473d39d0cf4cd42cbbca3a524" + integrity sha512-zxze6pDPgwBwl7S3h4JDALCCz93pTAfulbCY8FqMEd7GvnAiofHpL9svyt4+gytXwwUSsQ6KxCMVLbi+8k8YIg== dependencies: - "@aws-sdk/client-sso" "3.621.0" - "@aws-sdk/token-providers" "3.614.0" - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/client-sso" "3.662.0" + "@aws-sdk/token-providers" "3.662.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/credential-provider-web-identity@3.621.0": - version "3.621.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz#b25878c0a05dad60cd5f91e7e5a31a145c2f14be" - integrity sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w== +"@aws-sdk/credential-provider-web-identity@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.662.0.tgz#18246e29d5f8b242a0717ff7110680cc5816d163" + integrity sha512-GhPwxmHSFtwCckuT+34JG+U99qKfDWVYPLJOPI6b35+aLhfVqW5CHPmVjtM4WZqbxzsA0a3KAYA/U1ZaluI4SA== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-host-header@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz#b561d419a08a984ba364c193376b482ff5224d74" - integrity sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg== +"@aws-sdk/middleware-host-header@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.662.0.tgz#f3d647d294b19da17ef5845b87dc5c0788196a1e" + integrity sha512-Gkb0J1LTvD8LOS8uwoRI5weFXvvJwP1jfnYwzQrFgLymRFHJm5JtORQZtmw34dtdou+IBTUsH1mgI8b3QVVH3w== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" -"@aws-sdk/middleware-logger@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz#ed44d201f091b8bac908cbf14724c7a4d492553f" - integrity sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ== +"@aws-sdk/middleware-logger@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.662.0.tgz#8c2ff7d543fe691a06020be853eeb9481409614d" + integrity sha512-aSpwVHtfMlqzpmnmmUgRNCaIcxXdRrGqGWG+VWXuYR1F6jJARDDCxGkSuKiPEOLX0h0BroUo4gqbM8ILXQ8rVw== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@aws-sdk/middleware-recursion-detection@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz#f8270dfff843fd756be971e5673f89c6a24c6513" - integrity sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w== - dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" + tslib "^2.6.2" + +"@aws-sdk/middleware-recursion-detection@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.662.0.tgz#5af684014a604d474e6bd763a5d2a3fbfff84d36" + integrity sha512-V/MYE+LOFIQDLnpWMHLxnKu+ELhD3pLOrWXVhKpVit6YcHxaOz6nvB40CPamSPDXenA11FGXKAGNHZ0loTpDQg== + dependencies: + "@aws-sdk/types" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/middleware-user-agent@3.620.0": - version "3.620.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz#1fe3104f04f576a942cf0469bfbd73c38eef3d9e" - integrity sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A== +"@aws-sdk/middleware-user-agent@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.662.0.tgz#a428403ced5d6684f29d45dd0f39c6c4ef10ab7b" + integrity sha512-NT940BLSSys/A8W3zO3g2Kj+zpeydqGbSQgN6qz84jTskQjnrlamoq+Zl9Rrp8Cn8sC10UQ09kGg97lvjVOlmg== dependencies: - "@aws-sdk/types" "3.609.0" - "@aws-sdk/util-endpoints" "3.614.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@aws-sdk/util-endpoints" "3.662.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/region-config-resolver@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz#9cebb31a5bcfea2a41891fff7f28d0164cde179a" - integrity sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g== +"@aws-sdk/region-config-resolver@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.662.0.tgz#1dcb6850059baa54dcb6e4556ece7ec1a4ee9d1b" + integrity sha512-MDiWl4wZSVnnTELLb+jFSe0nj9HwxJPX2JnghXKkOXmbKEiE2/21DCQwU9mr9VUq2ZOQqaSnMFPr94iRu0AVTQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" -"@aws-sdk/token-providers@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz#88da04f6d4ce916b0b0f6e045676d04201fb47fd" - integrity sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw== +"@aws-sdk/token-providers@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.662.0.tgz#89c60983e13036cebc0e0310ae226e2254f5a741" + integrity sha512-OqtBPutNC9Am10P1W5IwqRvzCVQAHRxWxZnfDBh1FQjNmoboGWYSriKxbrCRYLFffusNuzo8KnOFOmg1sRlhJQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@aws-sdk/types@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.609.0.tgz#06b39d799c9f197a7b43670243e8e78a3bf7d6a5" - integrity sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q== +"@aws-sdk/types@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.662.0.tgz#323de11059df4fd7169a381c166a8aae03abe757" + integrity sha512-Ff9/KRmIm8iEzodxzISLj4/pB/0hX2nVw1RFeOBC65OuM6nHrAdWHHog/CVx25hS5JPU0uE3h6NlWRaBJ7AV5w== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@aws-sdk/types@^3.222.0": @@ -409,14 +410,14 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-endpoints@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz#6564b0ffd7dc3728221e9f9821f5aab1cc58468e" - integrity sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw== +"@aws-sdk/util-endpoints@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.662.0.tgz#a124838077ae230bba605310a73e43493e58e3d1" + integrity sha512-RQ/78yNUxZZZULFg7VxT7oObGOR/FBc0ojiFoCAKC20ycY8VvVX5Eof4gyxoVpwOP7EoZO3UlWSIqtaEV/X70w== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" - "@smithy/util-endpoints" "^2.0.5" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" + "@smithy/util-endpoints" "^2.1.3" tslib "^2.6.2" "@aws-sdk/util-locate-window@^3.0.0": @@ -426,97 +427,99 @@ dependencies: tslib "^2.5.0" -"@aws-sdk/util-user-agent-browser@3.609.0": - version "3.609.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz#aa15421b2e32ae8bc589dac2bd6e8969832ce588" - integrity sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA== +"@aws-sdk/util-user-agent-browser@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.662.0.tgz#b17b847b38ffa88944939534069bf78a277723ed" + integrity sha512-5wQd+HbNTY1r1Gndxf93dAEFtKz1DqcalI4Ym40To+RIonSsYQNRomFoizYNgJ1P+Mkfsr4P1dy/MNTlkqTZuQ== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/types" "^3.5.0" bowser "^2.11.0" tslib "^2.6.2" -"@aws-sdk/util-user-agent-node@3.614.0": - version "3.614.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz#1e3f49a80f841a3f21647baed2adce01aac5beb5" - integrity sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA== +"@aws-sdk/util-user-agent-node@3.662.0": + version "3.662.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.662.0.tgz#7199eef53edb1c175e455c94596294541a5aaef4" + integrity sha512-vBRbZ9Hr1OGmdJPWj36X0fR8/VdI2JiwK6+oJRa6qfJ6AnhqCYZbCyeA6JIDeEu3M9iu1OLjenU8NdXhTz8c2w== dependencies: - "@aws-sdk/types" "3.609.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@aws-sdk/types" "3.662.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/abort-controller@^3.1.1": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.1.tgz#291210611ff6afecfc198d0ca72d5771d8461d16" - integrity sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ== +"@smithy/abort-controller@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-3.1.5.tgz#ca7a86a3c6b20fabe59667143f58d9e198616d14" + integrity sha512-DhNPnqTqPoG8aZ5dWkFOgsuY+i0GQ3CI6hMmvCoduNsnU9gUZWZBwGfDQsTTB7NvFPkom1df7jMIJWU90kuXXg== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/config-resolver@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.5.tgz#727978bba7ace754c741c259486a19d3083431fd" - integrity sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA== +"@smithy/config-resolver@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-3.0.9.tgz#dcf4b7747ca481866f9bfac21469ebe2031a599e" + integrity sha512-5d9oBf40qC7n2xUoHmntKLdqsyTMMo/r49+eqSIjJ73eDfEtljAxEhzIQ3bkgXJtR3xiv7YzMT/3FF3ORkjWdg== dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" "@smithy/util-config-provider" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/util-middleware" "^3.0.7" tslib "^2.6.2" -"@smithy/core@^2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.3.1.tgz#99cb8eda23009fd7df736c82072dafcf4eb4ff5d" - integrity sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w== +"@smithy/core@^2.4.7": + version "2.4.7" + resolved "https://registry.yarnpkg.com/@smithy/core/-/core-2.4.7.tgz#c4dc9ab3ba5f4b36addf967ca5fce036ce3b767d" + integrity sha512-goqMjX+IoVEnHZjYuzu8xwoZjoteMiLXsPHuXPBkWsGwu0o9c3nTjqkUlP1Ez/V8E501aOU7CJ3INk8mQcW2gw== dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-retry" "^3.0.13" - "@smithy/middleware-serde" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-retry" "^3.0.22" + "@smithy/middleware-serde" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-body-length-browser" "^3.0.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/credential-provider-imds@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz#0e0e7ddaff1a8633cb927aee1056c0ab506b7ecf" - integrity sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA== +"@smithy/credential-provider-imds@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.4.tgz#e1a2bfc8a0066f673756ad8735247cf284b9735c" + integrity sha512-S9bb0EIokfYEuar4kEbLta+ivlKCWOCFsLZuilkNy9i0uEUEHSi47IFLPaxqqCl+0ftKmcOTHayY5nQhAuq7+w== dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" tslib "^2.6.2" -"@smithy/fetch-http-handler@^3.2.4": - version "3.2.4" - resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz#c754de7e0ff2541b73ac9ba7cc955940114b3d62" - integrity sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg== +"@smithy/fetch-http-handler@^3.2.9": + version "3.2.9" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.9.tgz#8d5199c162a37caa37a8b6848eefa9ca58221a0b" + integrity sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A== dependencies: - "@smithy/protocol-http" "^4.1.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" "@smithy/util-base64" "^3.0.0" tslib "^2.6.2" -"@smithy/hash-node@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.3.tgz#82c5cb7b0f1a29ee7319081853d2d158c07dff24" - integrity sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw== +"@smithy/hash-node@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-3.0.7.tgz#03b5a382fb588b8c2bac11b4fe7300aaf1661c88" + integrity sha512-SAGHN+QkrwcHFjfWzs/czX94ZEjPJ0CrWJS3M43WswDXVEuP4AVy9gJ3+AF6JQHZD13bojmuf/Ap/ItDeZ+Qfw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/invalid-dependency@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz#8d9fd70e3a94b565a4eba4ffbdc95238e1930528" - integrity sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw== +"@smithy/invalid-dependency@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-3.0.7.tgz#b36f258d94498f3c72ab6020091a66fc7cc16eda" + integrity sha512-Bq00GsAhHeYSuZX8Kpu4sbI9agH2BNYnqUmmbTGWOhki9NVsWn2jFr896vvoTMH8KAjNX/ErC/8t5QHuEXG+IA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/is-array-buffer@^2.2.0": @@ -533,168 +536,168 @@ dependencies: tslib "^2.6.2" -"@smithy/middleware-content-length@^3.0.5": - version "3.0.5" - resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz#1680aa4fb2a1c0505756103c9a5c2916307d9035" - integrity sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw== - dependencies: - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - tslib "^2.6.2" - -"@smithy/middleware-endpoint@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz#9b8a496d87a68ec43f3f1a0139868d6765a88119" - integrity sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw== +"@smithy/middleware-content-length@^3.0.9": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-3.0.9.tgz#fb613d1a6b8c91e828d11c0d7a0a8576dba89b8b" + integrity sha512-t97PidoGElF9hTtLCrof32wfWMqC5g2SEJNxaVH3NjlatuNGsdxXRYO/t+RPnxA15RpYiS0f+zG7FuE2DeGgjA== dependencies: - "@smithy/middleware-serde" "^3.0.3" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" - "@smithy/url-parser" "^3.0.3" - "@smithy/util-middleware" "^3.0.3" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/middleware-retry@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz#3bdd662aff01f360fcbaa166500bbc575dc9d1d0" - integrity sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw== - dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/protocol-http" "^4.1.0" - "@smithy/service-error-classification" "^3.0.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" - "@smithy/util-middleware" "^3.0.3" - "@smithy/util-retry" "^3.0.3" +"@smithy/middleware-endpoint@^3.1.4": + version "3.1.4" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.4.tgz#222c9fa49c8af6ebf8bea8ab220d92d9b8c90d3d" + integrity sha512-/ChcVHekAyzUbyPRI8CzPPLj6y8QRAfJngWcLMgsWxKVzw/RzBV69mSOzJYDD3pRwushA1+5tHtPF8fjmzBnrQ== + dependencies: + "@smithy/middleware-serde" "^3.0.7" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" + "@smithy/url-parser" "^3.0.7" + "@smithy/util-middleware" "^3.0.7" + tslib "^2.6.2" + +"@smithy/middleware-retry@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-3.0.22.tgz#578ceafd72fd655cde35c35b462a8aad26fd07e2" + integrity sha512-svEN7O2Tf7BoaBkPzX/8AE2Bv7p16d9/ulFAD1Gmn5g19iMqNk1WIkMxAY7SpB9/tVtUwKx0NaIsBRl88gumZA== + dependencies: + "@smithy/node-config-provider" "^3.1.8" + "@smithy/protocol-http" "^4.1.4" + "@smithy/service-error-classification" "^3.0.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" + "@smithy/util-middleware" "^3.0.7" + "@smithy/util-retry" "^3.0.7" tslib "^2.6.2" uuid "^9.0.1" -"@smithy/middleware-serde@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz#74d974460f74d99f38c861e6862984543a880a66" - integrity sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA== +"@smithy/middleware-serde@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-3.0.7.tgz#03f0dda75edffc4cc90ea422349cbfb82368efa7" + integrity sha512-VytaagsQqtH2OugzVTq4qvjkLNbWehHfGcGr0JLJmlDRrNCeZoWkWsSOw1nhS/4hyUUWF/TLGGml4X/OnEep5g== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/middleware-stack@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz#91845c7e61e6f137fa912b623b6def719a4f6ce7" - integrity sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA== +"@smithy/middleware-stack@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-3.0.7.tgz#813fa7b47895ce0d085eac89c056d21b1e46e771" + integrity sha512-EyTbMCdqS1DoeQsO4gI7z2Gzq1MoRFAeS8GkFYIwbedB7Lp5zlLHJdg+56tllIIG5Hnf9ZWX48YKSHlsKvugGA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/node-config-provider@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz#05647bed666aa8036a1ad72323c1942e5d421be1" - integrity sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ== +"@smithy/node-config-provider@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-3.1.8.tgz#2c1092040b4062eae0f7c9e121cc00ac6a77efee" + integrity sha512-E0rU0DglpeJn5ge64mk8wTGEXcQwmpUTY5Zr7IzTpDLmHKiIamINERNZYrPQjg58Ck236sEKSwRSHA4CwshU6Q== dependencies: - "@smithy/property-provider" "^3.1.3" - "@smithy/shared-ini-file-loader" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/shared-ini-file-loader" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/node-http-handler@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz#be4195e45639e690d522cd5f11513ea822ff9d5f" - integrity sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg== +"@smithy/node-http-handler@^3.2.4": + version "3.2.4" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.2.4.tgz#3c57c40d082c3bacac1e49955bd1240e8ccc40b2" + integrity sha512-49reY3+JgLMFNm7uTAKBWiKCA6XSvkNp9FqhVmusm2jpVnHORYFeFZ704LShtqWfjZW/nhX+7Iexyb6zQfXYIQ== dependencies: - "@smithy/abort-controller" "^3.1.1" - "@smithy/protocol-http" "^4.1.0" - "@smithy/querystring-builder" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/abort-controller" "^3.1.5" + "@smithy/protocol-http" "^4.1.4" + "@smithy/querystring-builder" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/property-provider@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.3.tgz#afd57ea82a3f6c79fbda95e3cb85c0ee0a79f39a" - integrity sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g== +"@smithy/property-provider@^3.1.7": + version "3.1.7" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-3.1.7.tgz#8a304a4b9110a067a93c784e4c11e175f82da379" + integrity sha512-QfzLi1GPMisY7bAM5hOUqBdGYnY5S2JAlr201pghksrQv139f8iiiMalXtjczIP5f6owxFn3MINLNUNvUkgtPw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/protocol-http@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.0.tgz#23519d8f45bf4f33960ea5415847bc2b620a010b" - integrity sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA== +"@smithy/protocol-http@^4.1.4": + version "4.1.4" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-4.1.4.tgz#6940d652b1825bda2422163ec9baab552669a338" + integrity sha512-MlWK8eqj0JlpZBnWmjQLqmFp71Ug00P+m72/1xQB3YByXD4zZ+y9N4hYrR0EDmrUCZIkyATWHOXFgtavwGDTzQ== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/querystring-builder@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz#6b0e566f885bb84938d077c69e8f8555f686af13" - integrity sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw== +"@smithy/querystring-builder@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-3.0.7.tgz#8c443c65f4249ff1637088db1166d18411d41555" + integrity sha512-65RXGZZ20rzqqxTsChdqSpbhA6tdt5IFNgG6o7e1lnPVLCe6TNWQq4rTl4N87hTDD8mV4IxJJnvyE7brbnRkQw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" -"@smithy/querystring-parser@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz#272a6b83f88dfcbbec8283d72a6bde850cc00091" - integrity sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ== +"@smithy/querystring-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-3.0.7.tgz#936206d1e6da9d862384dae730b4bad042d6a948" + integrity sha512-Fouw4KJVWqqUVIu1gZW8BH2HakwLz6dvdrAhXeXfeymOBrZw+hcqaWs+cS1AZPVp4nlbeIujYrKA921ZW2WMPA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/service-error-classification@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz#73484255060a094aa9372f6cd972dcaf97e3ce80" - integrity sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ== +"@smithy/service-error-classification@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-3.0.7.tgz#5bab4ad802d30bd3fa52b8134f6c171582358226" + integrity sha512-91PRkTfiBf9hxkIchhRKJfl1rsplRDyBnmyFca3y0Z3x/q0JJN480S83LBd8R6sBCkm2bBbqw2FHp0Mbh+ecSA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" -"@smithy/shared-ini-file-loader@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz#7dceaf5a5307a2ee347ace8aba17312a1a3ede15" - integrity sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ== +"@smithy/shared-ini-file-loader@^3.1.8": + version "3.1.8" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.8.tgz#7a0bf5f20cfe8e0c4a36d8dcab8194d0d2ee958e" + integrity sha512-0NHdQiSkeGl0ICQKcJQ2lCOKH23Nb0EaAa7RDRId6ZqwXkw4LJyIyZ0t3iusD4bnKYDPLGy2/5e2rfUhrt0Acw== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/signature-v4@^4.1.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.1.0.tgz#251ff43dc1f4ad66776122732fea9e56efc56443" - integrity sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag== +"@smithy/signature-v4@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-4.2.0.tgz#291f5a0e756cc251377e1e8af2a1f494e6173029" + integrity sha512-LafbclHNKnsorMgUkKm7Tk7oJ7xizsZ1VwqhGKqoCIrXh4fqDDp73fK99HOEEgcsQbtemmeY/BPv0vTVYYUNEQ== dependencies: "@smithy/is-array-buffer" "^3.0.0" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" "@smithy/util-hex-encoding" "^3.0.0" - "@smithy/util-middleware" "^3.0.3" + "@smithy/util-middleware" "^3.0.7" "@smithy/util-uri-escape" "^3.0.0" "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@smithy/smithy-client@^3.1.11": - version "3.1.11" - resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.1.11.tgz#f12a7a0acaa7db3ead488ddf12ef4681daec11a7" - integrity sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ== +"@smithy/smithy-client@^3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-3.3.6.tgz#882fcc4b5db35c284c7a7c6116b27be324c41202" + integrity sha512-qdH+mvDHgq1ss6mocyIl2/VjlWXew7pGwZQydwYJczEc22HZyX3k8yVPV9aZsbYbssHPvMDRA5rfBDrjQUbIIw== dependencies: - "@smithy/middleware-endpoint" "^3.1.0" - "@smithy/middleware-stack" "^3.0.3" - "@smithy/protocol-http" "^4.1.0" - "@smithy/types" "^3.3.0" - "@smithy/util-stream" "^3.1.3" + "@smithy/middleware-endpoint" "^3.1.4" + "@smithy/middleware-stack" "^3.0.7" + "@smithy/protocol-http" "^4.1.4" + "@smithy/types" "^3.5.0" + "@smithy/util-stream" "^3.1.9" tslib "^2.6.2" -"@smithy/types@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.3.0.tgz#fae037c733d09bc758946a01a3de0ef6e210b16b" - integrity sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA== +"@smithy/types@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.5.0.tgz#9589e154c50d9c5d00feb7d818112ef8fc285d6e" + integrity sha512-QN0twHNfe8mNJdH9unwsCK13GURU7oEAZqkBI+rsvpv1jrmserO+WnLE7jidR9W/1dxwZ0u/CB01mV2Gms/K2Q== dependencies: tslib "^2.6.2" -"@smithy/url-parser@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.3.tgz#e8a060d9810b24b1870385fc2b02485b8a6c5955" - integrity sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A== +"@smithy/url-parser@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-3.0.7.tgz#9d7d7e4e38514bf75ade6e8a30d2300f3db17d1b" + integrity sha512-70UbSSR8J97c1rHZOWhl+VKiZDqHWxs/iW8ZHrHp5fCCPLSBE7GcUlUvKSle3Ca+J9LLbYCj/A79BxztBvAfpA== dependencies: - "@smithy/querystring-parser" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/querystring-parser" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-base64@^3.0.0": @@ -743,37 +746,37 @@ dependencies: tslib "^2.6.2" -"@smithy/util-defaults-mode-browser@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz#f574bbb89d60f5dcc443f106087d317b370634d0" - integrity sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw== +"@smithy/util-defaults-mode-browser@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.22.tgz#e9141ed58109d572337a621d96131526aaf4f42f" + integrity sha512-WKzUxNsOun5ETwEOrvooXeI1mZ8tjDTOcN4oruELWHhEYDgQYWwxZupURVyovcv+h5DyQT/DzK5nm4ZoR/Tw5Q== dependencies: - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" bowser "^2.11.0" tslib "^2.6.2" -"@smithy/util-defaults-mode-node@^3.0.13": - version "3.0.13" - resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz#cdd3a08bb5af4d17c2b0a951af9936ce7f3bae93" - integrity sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g== +"@smithy/util-defaults-mode-node@^3.0.22": + version "3.0.22" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.22.tgz#fc51f37aaa5ec03edec0da890a1ca1e3e3cdc70b" + integrity sha512-hUsciOmAq8fsGwqg4+pJfNRmrhfqMH4Y9UeGcgeUl88kPAoYANFATJqCND+O4nUvwp5TzsYwGpqpcBKyA8LUUg== dependencies: - "@smithy/config-resolver" "^3.0.5" - "@smithy/credential-provider-imds" "^3.2.0" - "@smithy/node-config-provider" "^3.1.4" - "@smithy/property-provider" "^3.1.3" - "@smithy/smithy-client" "^3.1.11" - "@smithy/types" "^3.3.0" + "@smithy/config-resolver" "^3.0.9" + "@smithy/credential-provider-imds" "^3.2.4" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/property-provider" "^3.1.7" + "@smithy/smithy-client" "^3.3.6" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/util-endpoints@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz#e3a7a4d1c41250bfd2b2d890d591273a7d8934be" - integrity sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg== +"@smithy/util-endpoints@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-2.1.3.tgz#7498151e9dc714bdd0c6339314dd2350fa4d250a" + integrity sha512-34eACeKov6jZdHqS5hxBMJ4KyWKztTMulhuQ2UdOoP6vVxMLrOKUqIXAwJe/wiWMhXhydLW664B02CNpQBQ4Aw== dependencies: - "@smithy/node-config-provider" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/node-config-provider" "^3.1.8" + "@smithy/types" "^3.5.0" tslib "^2.6.2" "@smithy/util-hex-encoding@^3.0.0": @@ -783,31 +786,31 @@ dependencies: tslib "^2.6.2" -"@smithy/util-middleware@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.3.tgz#07bf9602682f5a6c55bc2f0384303f85fc68c87e" - integrity sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw== +"@smithy/util-middleware@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-3.0.7.tgz#770d09749b6d170a1641384a2e961487447446fa" + integrity sha512-OVA6fv/3o7TMJTpTgOi1H5OTwnuUa8hzRzhSFDtZyNxi6OZ70L/FHattSmhE212I7b6WSOJAAmbYnvcjTHOJCA== dependencies: - "@smithy/types" "^3.3.0" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/util-retry@^3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.3.tgz#9b2ac0dbb1c81f69812a8affa4d772bebfc0e049" - integrity sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w== +"@smithy/util-retry@^3.0.7": + version "3.0.7" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-3.0.7.tgz#694e0667574ffe9772f620b35d3c7286aced35e9" + integrity sha512-nh1ZO1vTeo2YX1plFPSe/OXaHkLAHza5jpokNiiKX2M5YpNUv6RxGJZhpfmiR4jSvVHCjIDmILjrxKmP+/Ghug== dependencies: - "@smithy/service-error-classification" "^3.0.3" - "@smithy/types" "^3.3.0" + "@smithy/service-error-classification" "^3.0.7" + "@smithy/types" "^3.5.0" tslib "^2.6.2" -"@smithy/util-stream@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.3.tgz#699ee2397cc1d474e46d2034039d5263812dca64" - integrity sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw== +"@smithy/util-stream@^3.1.9": + version "3.1.9" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-3.1.9.tgz#d39656eae27696bdc5a3ec7c2f6b89c32dccd1ca" + integrity sha512-7YAR0Ub3MwTMjDfjnup4qa6W8gygZMxikBhFMPESi6ASsl/rZJhwLpF/0k9TuezScCojsM0FryGdz4LZtjKPPQ== dependencies: - "@smithy/fetch-http-handler" "^3.2.4" - "@smithy/node-http-handler" "^3.1.4" - "@smithy/types" "^3.3.0" + "@smithy/fetch-http-handler" "^3.2.9" + "@smithy/node-http-handler" "^3.2.4" + "@smithy/types" "^3.5.0" "@smithy/util-base64" "^3.0.0" "@smithy/util-buffer-from" "^3.0.0" "@smithy/util-hex-encoding" "^3.0.0" From 8a398b02a847ba0b76473ea2155619c0df2d756d Mon Sep 17 00:00:00 2001 From: Jessica Eldredge Date: Thu, 3 Oct 2024 12:58:45 -0400 Subject: [PATCH 15/41] Migrate profile tests to Playwright (#777) --- tests/e2e/pages/profile.spec.ts | 47 +++++++++++++++++++-- tests/e2e/utils/fixtures/base.ts | 10 +++++ tests/e2e/utils/pageObjects/banner.page.ts | 17 ++++++++ tests/e2e/utils/pageObjects/base.page.ts | 22 ++++++++++ tests/e2e/utils/pageObjects/profile.page.ts | 21 +++++++++ 5 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 tests/e2e/utils/pageObjects/banner.page.ts create mode 100644 tests/e2e/utils/pageObjects/profile.page.ts diff --git a/tests/e2e/pages/profile.spec.ts b/tests/e2e/pages/profile.spec.ts index 3b9c8c4c8..7bf1199f6 100644 --- a/tests/e2e/pages/profile.spec.ts +++ b/tests/e2e/pages/profile.spec.ts @@ -1,12 +1,53 @@ -import { test } from "@playwright/test"; +import { expect, test } from "../utils/fixtures/base"; import { e2eA11y, logInAdminUser, logInStateUser } from "../utils"; -test("Is accessible on all device types for state user", async ({ page }) => { +test("Admin user can navigate to /admin", async ({ + page, + adminHomePage, + profilePage, + bannerEditorPage, +}) => { + await logInAdminUser(page); + await adminHomePage.isReady(); + await adminHomePage.manageAccount(); + await profilePage.isReady(); + await expect(profilePage.bannerEditorButton).toBeVisible(); + + await profilePage.bannerEditorButton.click(); + await bannerEditorPage.isReady(); +}); + +test("State user cannot navigate to /admin", async ({ + page, + stateHomePage, + profilePage, + bannerEditorPage, +}) => { + await logInStateUser(page); + await stateHomePage.isReady(); + await stateHomePage.manageAccount(); + await profilePage.isReady(); + await expect(profilePage.bannerEditorButton).not.toBeVisible(); + await bannerEditorPage.goto(); + + // Expect a redirect to the profile page + await profilePage.isReady(); +}); + +test("Is accessible on all device types for state user", async ({ + page, + stateHomePage, +}) => { await logInStateUser(page); + await stateHomePage.isReady(); await e2eA11y(page, "/profile"); }); -test("Is accessible on all device types for admin user", async ({ page }) => { +test("Is accessible on all device types for admin user", async ({ + page, + adminHomePage, +}) => { await logInAdminUser(page); + await adminHomePage.isReady(); await e2eA11y(page, "/profile"); }); diff --git a/tests/e2e/utils/fixtures/base.ts b/tests/e2e/utils/fixtures/base.ts index a43040db0..323b89c5a 100644 --- a/tests/e2e/utils/fixtures/base.ts +++ b/tests/e2e/utils/fixtures/base.ts @@ -3,10 +3,14 @@ import { test as sarTest } from "./sar.ts"; import { test as wpTest } from "./wp.ts"; import StateHomePage from "../pageObjects/stateHome.page"; import AdminHomePage from "../pageObjects/adminHome.page"; +import ProfilePage from "../pageObjects/profile.page.ts"; +import BannerEditorPage from "../pageObjects/banner.page.ts"; type CustomFixtures = { stateHomePage: StateHomePage; adminHomePage: AdminHomePage; + profilePage: ProfilePage; + bannerEditorPage: BannerEditorPage; }; export const baseTest = base.extend({ @@ -16,6 +20,12 @@ export const baseTest = base.extend({ adminHomePage: async ({ page }, use) => { await use(new AdminHomePage(page)); }, + profilePage: async ({ page }, use) => { + await use(new ProfilePage(page)); + }, + bannerEditorPage: async ({ page }, use) => { + await use(new BannerEditorPage(page)); + }, }); export const test = mergeTests(baseTest, sarTest, wpTest); diff --git a/tests/e2e/utils/pageObjects/banner.page.ts b/tests/e2e/utils/pageObjects/banner.page.ts new file mode 100644 index 000000000..3086d7ddc --- /dev/null +++ b/tests/e2e/utils/pageObjects/banner.page.ts @@ -0,0 +1,17 @@ +import { Locator, Page } from "@playwright/test"; +import BasePage from "./base.page"; + +export default class BannerEditorPage extends BasePage { + public path = "/admin"; + + readonly page: Page; + readonly title: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "Banner Admin", + }); + } +} diff --git a/tests/e2e/utils/pageObjects/base.page.ts b/tests/e2e/utils/pageObjects/base.page.ts index 728f34b50..e321e686d 100644 --- a/tests/e2e/utils/pageObjects/base.page.ts +++ b/tests/e2e/utils/pageObjects/base.page.ts @@ -7,6 +7,10 @@ export default class BasePage { readonly title: Locator; readonly continueButton: Locator; readonly previousButton: Locator; + readonly myAccountButton: Locator; + readonly accountMenu: Locator; + readonly manageAccountButton: Locator; + readonly logoutButton: Locator; constructor(page: Page) { this.page = page; @@ -15,6 +19,12 @@ export default class BasePage { }); this.continueButton = page.getByRole("button", { name: "Continue" }); this.previousButton = page.getByRole("button", { name: "Previous" }); + this.myAccountButton = page.getByRole("button", { name: "my account" }); + this.accountMenu = page.getByRole("menu"); + this.manageAccountButton = page.getByRole("menuitem", { + name: "Manage Account", + }); + this.logoutButton = page.getByRole("menuitem", { name: "Log Out" }); } public async goto() { @@ -25,4 +35,16 @@ export default class BasePage { await this.title.isVisible(); return expect(this.page).toHaveURL(this.path); } + + public async manageAccount() { + await this.myAccountButton.click(); + await this.accountMenu.isVisible(); + await this.manageAccountButton.click(); + } + + public async logOut() { + await this.myAccountButton.click(); + await this.accountMenu.isVisible(); + await this.logoutButton.click(); + } } diff --git a/tests/e2e/utils/pageObjects/profile.page.ts b/tests/e2e/utils/pageObjects/profile.page.ts new file mode 100644 index 000000000..c9e62d931 --- /dev/null +++ b/tests/e2e/utils/pageObjects/profile.page.ts @@ -0,0 +1,21 @@ +import { Locator, Page } from "@playwright/test"; +import BasePage from "./base.page"; + +export default class ProfilePage extends BasePage { + public path = "/profile"; + + readonly page: Page; + readonly title: Locator; + readonly bannerEditorButton: Locator; + + constructor(page: Page) { + super(page); + this.page = page; + this.title = page.getByRole("heading", { + name: "My Account", + }); + this.bannerEditorButton = page.getByRole("button", { + name: "Banner Editor", + }); + } +} From a0860d0290eaf457d16e82ed60cd0db4795b40fd Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Tue, 8 Oct 2024 09:53:33 -0400 Subject: [PATCH 16/41] [Snyk] Upgrade @emotion/react from 11.11.4 to 11.13.3 (#781) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 124 +++++++++++++---------------------- 2 files changed, 47 insertions(+), 79 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 7e9797cf0..2a0b26829 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -16,7 +16,7 @@ "dependencies": { "@chakra-ui/react": "^1.8.9", "@cmsgov/design-system": "^3.8.0", - "@emotion/react": "^11.11.4", + "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", "@hookform/resolvers": "^2.9.11", "@vitejs/plugin-react": "^4.3.0", diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index 2b9a25e7e..afbfe9486 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -3765,23 +3765,6 @@ resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.4.1.tgz#75b4c27948c81e88ccd3a8902047bcd797f38d32" integrity sha512-ej5oVy6lykXsvieQtqZxCOaLT+xD4+QNarq78cIYISHmZXshCvROLudpQN3lfL8G0NL7plMSSK+zlyvCaIJ4Iw== -"@emotion/babel-plugin@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" - integrity sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ== - dependencies: - "@babel/helper-module-imports" "^7.16.7" - "@babel/runtime" "^7.18.3" - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/serialize" "^1.1.2" - babel-plugin-macros "^3.1.0" - convert-source-map "^1.5.0" - escape-string-regexp "^4.0.0" - find-root "^1.1.0" - source-map "^0.5.7" - stylis "4.2.0" - "@emotion/babel-plugin@^11.12.0": version "11.12.0" resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.12.0.tgz#7b43debb250c313101b3f885eba634f1d723fcc2" @@ -3799,22 +3782,17 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0": - version "11.11.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" - integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== +"@emotion/cache@^11.13.0": + version "11.13.1" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.13.1.tgz#fecfc54d51810beebf05bf2a161271a1a91895d7" + integrity sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw== dependencies: - "@emotion/memoize" "^0.8.1" - "@emotion/sheet" "^1.2.2" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" stylis "4.2.0" -"@emotion/hash@^0.9.1": - version "0.9.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" - integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== - "@emotion/hash@^0.9.2": version "0.9.2" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" @@ -3839,41 +3817,25 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== -"@emotion/memoize@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" - integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== - "@emotion/memoize@^0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== -"@emotion/react@^11.11.4": - version "11.11.4" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" - integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== +"@emotion/react@^11.13.3": + version "11.13.3" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.13.3.tgz#a69d0de2a23f5b48e0acf210416638010e4bd2e4" + integrity sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg== dependencies: "@babel/runtime" "^7.18.3" - "@emotion/babel-plugin" "^11.11.0" - "@emotion/cache" "^11.11.0" - "@emotion/serialize" "^1.1.3" - "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" - "@emotion/utils" "^1.2.1" - "@emotion/weak-memoize" "^0.3.1" + "@emotion/babel-plugin" "^11.12.0" + "@emotion/cache" "^11.13.0" + "@emotion/serialize" "^1.3.1" + "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" + "@emotion/utils" "^1.4.0" + "@emotion/weak-memoize" "^0.4.0" hoist-non-react-statics "^3.3.1" -"@emotion/serialize@^1.1.2", "@emotion/serialize@^1.1.3": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.4.tgz#fc8f6d80c492cfa08801d544a05331d1cc7cd451" - integrity sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ== - dependencies: - "@emotion/hash" "^0.9.1" - "@emotion/memoize" "^0.8.1" - "@emotion/unitless" "^0.8.1" - "@emotion/utils" "^1.2.1" - csstype "^3.0.2" - "@emotion/serialize@^1.2.0", "@emotion/serialize@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.0.tgz#e07cadfc967a4e7816e0c3ffaff4c6ce05cb598d" @@ -3885,10 +3847,21 @@ "@emotion/utils" "^1.4.0" csstype "^3.0.2" -"@emotion/sheet@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" - integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== +"@emotion/serialize@^1.3.1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.2.tgz#e1c1a2e90708d5d85d81ccaee2dfeb3cc0cccf7a" + integrity sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA== + dependencies: + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.1" + csstype "^3.0.2" + +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== "@emotion/styled@^11.13.0": version "11.13.0" @@ -3902,40 +3875,35 @@ "@emotion/use-insertion-effect-with-fallbacks" "^1.1.0" "@emotion/utils" "^1.4.0" -"@emotion/unitless@^0.8.1": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" - integrity sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ== +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== "@emotion/unitless@^0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.9.0.tgz#8e5548f072bd67b8271877e51c0f95c76a66cbe2" integrity sha512-TP6GgNZtmtFaFcsOgExdnfxLLpRDla4Q66tnenA9CktvVSdNKDvMVuUah4QvWPIpNjrWsGg3qeGo9a43QooGZQ== -"@emotion/use-insertion-effect-with-fallbacks@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" - integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== - "@emotion/use-insertion-effect-with-fallbacks@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz#1a818a0b2c481efba0cf34e5ab1e0cb2dcb9dfaf" integrity sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw== -"@emotion/utils@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" - integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== - "@emotion/utils@^1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.0.tgz#262f1d02aaedb2ec91c83a0955dd47822ad5fbdd" integrity sha512-spEnrA1b6hDR/C68lC2M7m6ALPUHZC0lIY7jAS/B/9DuuO1ZP04eov8SMv/6fwRd8pzmsn2AuJEznRREWlQrlQ== -"@emotion/weak-memoize@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" - integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== +"@emotion/utils@^1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.1.tgz#b3adbb43de12ee2149541c4f1337d2eb7774f0ad" + integrity sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA== + +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== "@esbuild/aix-ppc64@0.21.5": version "0.21.5" From a2eacace61cb5263149408686e8b853503561203 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Tue, 8 Oct 2024 09:54:41 -0400 Subject: [PATCH 17/41] [Snyk] Upgrade react-router-dom from 6.25.1 to 6.26.2 (#780) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 2a0b26829..13de55e8b 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -34,7 +34,7 @@ "react-error-boundary": "^3.1.4", "react-hook-form": "^7.52.1", "react-icons": "^4.12.0", - "react-router-dom": "6.25.1", + "react-router-dom": "6.26.2", "react-uuid": "^1.0.3", "sass": "^1.77.8", "vite": "^5.4.6", diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index afbfe9486..b748d1407 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -4399,10 +4399,10 @@ prop-types "^15.7.2" tslib "^2.1.0" -"@remix-run/router@1.18.0": - version "1.18.0" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.18.0.tgz#20b033d1f542a100c1d57cfd18ecf442d1784732" - integrity sha512-L3jkqmqoSVBVKHfpGZmLrex0lxR5SucGA0sUfFzGctehw+S/ggL9L/0NnC5mw6P8HUWpFZ3nQw3cRApjjWx9Sw== +"@remix-run/router@1.19.2": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.19.2.tgz#0c896535473291cb41f152c180bedd5680a3b273" + integrity sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA== "@rollup/rollup-android-arm-eabi@4.22.0": version "4.22.0" @@ -8725,20 +8725,20 @@ react-remove-scroll@2.4.1: use-callback-ref "^1.2.3" use-sidecar "^1.0.1" -react-router-dom@6.25.1: - version "6.25.1" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.25.1.tgz#b89f8d63fc8383ea4e89c44bf31c5843e1f7afa0" - integrity sha512-0tUDpbFvk35iv+N89dWNrJp+afLgd+y4VtorJZuOCXK0kkCWjEvb3vTJM++SYvMEpbVwXKf3FjeVveVEb6JpDQ== +react-router-dom@6.26.2: + version "6.26.2" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.26.2.tgz#a6e3b0cbd6bfd508e42b9342099d015a0ac59680" + integrity sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ== dependencies: - "@remix-run/router" "1.18.0" - react-router "6.25.1" + "@remix-run/router" "1.19.2" + react-router "6.26.2" -react-router@6.25.1: - version "6.25.1" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.25.1.tgz#70b4f1af79954cfcfd23f6ddf5c883e8c904203e" - integrity sha512-u8ELFr5Z6g02nUtpPAggP73Jigj1mRePSwhS/2nkTrlPU5yEkH1vYzWNyvSnSzeeE2DNqWdH+P8OhIh9wuXhTw== +react-router@6.26.2: + version "6.26.2" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.26.2.tgz#2f0a68999168954431cdc29dd36cec3b6fa44a7e" + integrity sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A== dependencies: - "@remix-run/router" "1.18.0" + "@remix-run/router" "1.19.2" react-side-effect@^2.1.0: version "2.1.2" From 28d07bd4b87832483c8a2319b5d14e26fb809804 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Wed, 9 Oct 2024 10:22:15 -0400 Subject: [PATCH 18/41] [Snyk] Upgrade jsdom from 24.1.0 to 24.1.3 (#783) Co-authored-by: snyk-bot --- services/app-api/package.json | 2 +- services/app-api/yarn.lock | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/services/app-api/package.json b/services/app-api/package.json index e4323c017..06cd4cbc5 100644 --- a/services/app-api/package.json +++ b/services/app-api/package.json @@ -45,7 +45,7 @@ "@aws-sdk/s3-request-presigner": "^3.662.0", "aws-jwt-verify": "^3.1.0", "dompurify": "^2.5.5", - "jsdom": "^24.1.0", + "jsdom": "^24.1.3", "jwt-decode": "^3.1.2", "jwt-encode": "^1.0.1", "kafkajs": "^2.2.3", diff --git a/services/app-api/yarn.lock b/services/app-api/yarn.lock index 252bc660f..0e7d85ee9 100644 --- a/services/app-api/yarn.lock +++ b/services/app-api/yarn.lock @@ -3129,7 +3129,7 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -https-proxy-agent@^7.0.4: +https-proxy-agent@^7.0.5: version "7.0.5" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz#9e8b5013873299e11fab6fd548405da2d6c602b2" integrity sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw== @@ -3786,10 +3786,10 @@ jsdom@^16.6.0: ws "^7.4.6" xml-name-validator "^3.0.0" -jsdom@^24.1.0: - version "24.1.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.1.0.tgz#0cffdabd42c506788bfecd160e8ac22d4387f971" - integrity sha512-6gpM7pRXCwIOKxX47cgOyvyQDN/Eh0f1MeKySBV2xGdKtqJBLj8P25eY3EVCWo2mglDDzozR2r2MW4T+JiNUZA== +jsdom@^24.1.3: + version "24.1.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.1.3.tgz#88e4a07cb9dd21067514a619e9f17b090a394a9f" + integrity sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ== dependencies: cssstyle "^4.0.1" data-urls "^5.0.0" @@ -3797,11 +3797,11 @@ jsdom@^24.1.0: form-data "^4.0.0" html-encoding-sniffer "^4.0.0" http-proxy-agent "^7.0.2" - https-proxy-agent "^7.0.4" + https-proxy-agent "^7.0.5" is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.10" + nwsapi "^2.2.12" parse5 "^7.1.2" - rrweb-cssom "^0.7.0" + rrweb-cssom "^0.7.1" saxes "^6.0.0" symbol-tree "^3.2.4" tough-cookie "^4.1.4" @@ -3810,7 +3810,7 @@ jsdom@^24.1.0: whatwg-encoding "^3.1.1" whatwg-mimetype "^4.0.0" whatwg-url "^14.0.0" - ws "^8.17.0" + ws "^8.18.0" xml-name-validator "^5.0.0" jsesc@^2.5.1: @@ -4044,7 +4044,7 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nwsapi@^2.2.0, nwsapi@^2.2.10, nwsapi@^2.2.5: +nwsapi@^2.2.0, nwsapi@^2.2.12, nwsapi@^2.2.5: version "2.2.10" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.10.tgz#0b77a68e21a0b483db70b11fad055906e867cda8" integrity sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ== @@ -4303,7 +4303,7 @@ rrweb-cssom@^0.6.0: resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== -rrweb-cssom@^0.7.0: +rrweb-cssom@^0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== @@ -4894,7 +4894,7 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.4.6, ws@^8.17.0, ws@^8.18.0: +ws@^7.4.6, ws@^8.18.0: version "8.18.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== From fe1fb0156fd2aeabcc5cbcf2e8b2b0c5a37a1512 Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Thu, 10 Oct 2024 10:05:04 -0400 Subject: [PATCH 19/41] [Snyk] Upgrade sass from 1.77.8 to 1.79.1 (#784) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 79 +++++++++--------------------------- 2 files changed, 20 insertions(+), 61 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 13de55e8b..1a2018955 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -36,7 +36,7 @@ "react-icons": "^4.12.0", "react-router-dom": "6.26.2", "react-uuid": "^1.0.3", - "sass": "^1.77.8", + "sass": "^1.79.1", "vite": "^5.4.6", "vite-tsconfig-paths": "^4.3.2", "yup": "^0.32.11", diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index b748d1407..ad582dd0f 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -4963,7 +4963,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.3: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -5270,11 +5270,6 @@ bfj@~7.0.2: hoopy "^0.1.4" tryer "^1.0.1" -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - bl@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -5318,7 +5313,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.2, braces@^3.0.3, braces@~3.0.2: +braces@^3.0.2, braces@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== @@ -5497,20 +5492,12 @@ check-types@^11.1.1: resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== -"chokidar@>=3.0.0 <4.0.0": - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" chownr@^1.1.1: version "1.1.4" @@ -6545,13 +6532,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - glob@^7.1.3, glob@^7.1.4: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" @@ -6886,13 +6866,6 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -6968,11 +6941,6 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -6983,13 +6951,6 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -8090,7 +8051,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0, normalize-path@~3.0.0: +normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -8381,7 +8342,7 @@ picocolors@^1.1.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -8796,12 +8757,10 @@ readable-stream@^3.1.1, readable-stream@^3.4.0: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" +readdirp@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" + integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== redent@^3.0.0: version "3.0.0" @@ -9033,12 +8992,12 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sass@^1.77.8: - version "1.77.8" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.77.8.tgz#9f18b449ea401759ef7ec1752a16373e296b52bd" - integrity sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ== +sass@^1.79.1: + version "1.79.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.79.4.tgz#f9c45af35fbeb53d2c386850ec842098d9935267" + integrity sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg== dependencies: - chokidar ">=3.0.0 <4.0.0" + chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" From 4d8d8303254074b3668c760e89a1b27b30dfa42b Mon Sep 17 00:00:00 2001 From: Jessica Eldredge Date: Tue, 15 Oct 2024 09:02:13 -0400 Subject: [PATCH 20/41] Spike: Storing auth for playwright tests (#779) --- .gitignore | 1 + playwright.config.ts | 6 + tests/e2e/pages/admin.spec.ts | 11 +- tests/e2e/pages/home.spec.ts | 71 ++++++----- tests/e2e/pages/profile.spec.ts | 114 +++++++++++------- tests/e2e/utils/auth.setup.ts | 43 +++++++ tests/e2e/utils/fixtures/base.ts | 28 ++--- tests/e2e/utils/pageObjects/base.page.ts | 26 +++- .../pageObjects/wp/wpInitiativeDefine.page.ts | 12 +- .../wp/wpInitiativeOverlay.page.ts | 12 +- tests/e2e/wp/create.spec.ts | 85 +++++++++---- 11 files changed, 279 insertions(+), 130 deletions(-) create mode 100644 tests/e2e/utils/auth.setup.ts diff --git a/.gitignore b/.gitignore index 77a7db596..9c56beeeb 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ services/database/local_buckets /playwright-report/ /blob-report/ /playwright/.cache/ +playwright/.auth diff --git a/playwright.config.ts b/playwright.config.ts index 7675f651d..1b02e7512 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -37,9 +37,15 @@ export default defineConfig({ /* Configure projects for major browsers */ projects: [ + { + name: "setup", + use: { ...devices["Desktop Chrome"] }, + testMatch: /.*\.setup\.ts/, + }, { name: "chromium", use: { ...devices["Desktop Chrome"] }, + dependencies: ["setup"], }, ], diff --git a/tests/e2e/pages/admin.spec.ts b/tests/e2e/pages/admin.spec.ts index 94fe05bb8..dad80c41c 100644 --- a/tests/e2e/pages/admin.spec.ts +++ b/tests/e2e/pages/admin.spec.ts @@ -1,7 +1,8 @@ -import { test } from "@playwright/test"; -import { e2eA11y, logInAdminUser } from "../utils"; +import { test } from "../utils/fixtures/base"; -test("Is accessible on all device types for admin user", async ({ page }) => { - await logInAdminUser(page); - await e2eA11y(page, "/admin"); +test("Is accessible on all device types for admin user", async ({ + adminHomePage, +}) => { + await adminHomePage.goto("/admin"); + await adminHomePage.e2eA11y(); }); diff --git a/tests/e2e/pages/home.spec.ts b/tests/e2e/pages/home.spec.ts index e2b109563..435dde011 100644 --- a/tests/e2e/pages/home.spec.ts +++ b/tests/e2e/pages/home.spec.ts @@ -1,37 +1,52 @@ -import { e2eA11y, logInAdminUser, logInStateUser } from "../utils"; import { test, expect } from "../utils/fixtures/base"; +import BasePage from "../utils/pageObjects/base.page"; -test("Should see the correct home page as a state user", async ({ - page, - stateHomePage, -}) => { - await page.goto("/"); - await logInStateUser(page); - await stateHomePage.isReady(); - await expect(stateHomePage.wpButton).toBeVisible(); - await expect(stateHomePage.sarButton).toBeVisible(); -}); +test.describe("state user home page", () => { + test("Should see the correct home page as a state user", async ({ + stateHomePage, + }) => { + await stateHomePage.goto(); + await stateHomePage.isReady(); + await expect(stateHomePage.wpButton).toBeVisible(); + await expect(stateHomePage.sarButton).toBeVisible(); + }); -test("Should see the correct home page as an admin user", async ({ - page, - adminHomePage, -}) => { - await page.goto("/"); - await logInAdminUser(page); - await adminHomePage.isReady(); - await expect(adminHomePage.dropdown).toBeVisible(); + test("Is accessible on all device types for state user", async ({ + stateHomePage, + }) => { + await stateHomePage.goto(); + await stateHomePage.e2eA11y(); + }); }); -test("Is accessible on all device types for state user", async ({ page }) => { - await logInStateUser(page); - await e2eA11y(page, "/"); -}); +test.describe("admin user home page", () => { + test("Should see the correct home page as an admin user", async ({ + adminHomePage, + }) => { + await adminHomePage.goto(); + await adminHomePage.isReady(); + await expect(adminHomePage.dropdown).toBeVisible(); + }); -test("Is accessible on all device types for admin user", async ({ page }) => { - await logInAdminUser(page); - await e2eA11y(page, "/"); + test("Is accessible on all device types for admin user", async ({ + adminHomePage, + }) => { + await adminHomePage.goto(); + await adminHomePage.e2eA11y(); + }); }); -test("Is assessible when not logged in", async ({ page }) => { - await e2eA11y(page, "/"); +test.describe("not logged in home page", () => { + test("Is assessible when not logged in", async ({ browser }) => { + const userContext = await browser.newContext({ + storageState: { + cookies: [], + origins: [], + }, + }); + const homePage = new BasePage(await userContext.newPage()); + await homePage.goto(); + await homePage.e2eA11y(); + await userContext.close(); + }); }); diff --git a/tests/e2e/pages/profile.spec.ts b/tests/e2e/pages/profile.spec.ts index 7bf1199f6..f98a414eb 100644 --- a/tests/e2e/pages/profile.spec.ts +++ b/tests/e2e/pages/profile.spec.ts @@ -1,53 +1,77 @@ import { expect, test } from "../utils/fixtures/base"; -import { e2eA11y, logInAdminUser, logInStateUser } from "../utils"; - -test("Admin user can navigate to /admin", async ({ - page, - adminHomePage, - profilePage, - bannerEditorPage, -}) => { - await logInAdminUser(page); - await adminHomePage.isReady(); - await adminHomePage.manageAccount(); - await profilePage.isReady(); - await expect(profilePage.bannerEditorButton).toBeVisible(); - - await profilePage.bannerEditorButton.click(); - await bannerEditorPage.isReady(); +import { BrowserContext, Page } from "@playwright/test"; +import ProfilePage from "../utils/pageObjects/profile.page"; +import BannerEditorPage from "../utils/pageObjects/banner.page"; + +let adminPage: Page; +let userPage: Page; +let adminContext: BrowserContext; +let userContext: BrowserContext; +test.beforeAll(async ({ browser }) => { + adminContext = await browser.newContext({ + storageState: "playwright/.auth/admin.json", + }); + adminPage = await adminContext.newPage(); + + userContext = await browser.newContext({ + storageState: "playwright/.auth/user.json", + }); + userPage = await userContext.newPage(); }); -test("State user cannot navigate to /admin", async ({ - page, - stateHomePage, - profilePage, - bannerEditorPage, -}) => { - await logInStateUser(page); - await stateHomePage.isReady(); - await stateHomePage.manageAccount(); - await profilePage.isReady(); - await expect(profilePage.bannerEditorButton).not.toBeVisible(); - await bannerEditorPage.goto(); - - // Expect a redirect to the profile page - await profilePage.isReady(); +test.afterAll(async () => { + await adminContext.close(); + await userContext.close(); }); +test.describe("Admin profile", () => { + test( + "Admin user can navigate to /admin", + { tag: "@admin" }, + async ({ adminHomePage }) => { + const profilePage = new ProfilePage(adminPage); + const bannerEditorPage = new BannerEditorPage(adminPage); + await adminHomePage.goto(); + await adminHomePage.isReady(); + await adminHomePage.manageAccount(); + await profilePage.goto(); + await expect(profilePage.bannerEditorButton).toBeVisible(); + + await profilePage.bannerEditorButton.click(); + await bannerEditorPage.goto(); + await bannerEditorPage.isReady(); + } + ); -test("Is accessible on all device types for state user", async ({ - page, - stateHomePage, -}) => { - await logInStateUser(page); - await stateHomePage.isReady(); - await e2eA11y(page, "/profile"); + test( + "Is accessible on all device types for admin user", + { tag: "@admin" }, + async () => { + const profilePage = new ProfilePage(adminPage); + await profilePage.goto(); + await profilePage.e2eA11y(); + } + ); }); -test("Is accessible on all device types for admin user", async ({ - page, - adminHomePage, -}) => { - await logInAdminUser(page); - await adminHomePage.isReady(); - await e2eA11y(page, "/profile"); +test.describe("State user profile", { tag: "@user" }, () => { + test("State user cannot navigate to /admin", async ({ stateHomePage }) => { + const profilePage = new ProfilePage(userPage); + const bannerEditorPage = new BannerEditorPage(userPage); + + await stateHomePage.goto(); + await stateHomePage.isReady(); + await stateHomePage.manageAccount(); + await profilePage.goto(); + await expect(profilePage.bannerEditorButton).not.toBeVisible(); + await bannerEditorPage.goto(); + + // Expect a redirect to the profile page + await profilePage.isReady(); + }); + + test("Is accessible on all device types for state user", async () => { + const profilePage = new ProfilePage(userPage); + await profilePage.goto(); + await profilePage.e2eA11y(); + }); }); diff --git a/tests/e2e/utils/auth.setup.ts b/tests/e2e/utils/auth.setup.ts new file mode 100644 index 000000000..b5bc9ad79 --- /dev/null +++ b/tests/e2e/utils/auth.setup.ts @@ -0,0 +1,43 @@ +import { test as setup } from "@playwright/test"; + +import { adminPassword, adminUser, statePassword, stateUser } from "./consts"; + +const adminFile = "playwright/.auth/admin.json"; + +setup("authenticate as admin", async ({ page }) => { + await page.goto("/"); + const emailInput = page.getByRole("textbox", { name: "email" }); + const passwordInput = page.getByRole("textbox", { name: "password" }); + const loginButton = page.getByRole("button", { name: "Log In with Cognito" }); + await emailInput.fill(adminUser); + await passwordInput.fill(adminPassword); + await loginButton.click(); + await page.waitForURL("/"); + await page + .getByRole("heading", { + name: "View State/Territory Reports", + }) + .isVisible(); + await page.waitForTimeout(1000); + await page.context().storageState({ path: adminFile }); +}); + +const userFile = "playwright/.auth/user.json"; + +setup("authenticate as user", async ({ page }) => { + await page.goto("/"); + const emailInput = page.getByRole("textbox", { name: "email" }); + const passwordInput = page.getByRole("textbox", { name: "password" }); + const loginButton = page.getByRole("button", { name: "Log In with Cognito" }); + await emailInput.fill(stateUser); + await passwordInput.fill(statePassword); + await loginButton.click(); + await page.waitForURL("/"); + await page + .getByRole("heading", { + name: "Money Follows the Person (MFP) Portal", + }) + .isVisible(); + await page.waitForTimeout(1000); + await page.context().storageState({ path: userFile }); +}); diff --git a/tests/e2e/utils/fixtures/base.ts b/tests/e2e/utils/fixtures/base.ts index 323b89c5a..b2de4b2d1 100644 --- a/tests/e2e/utils/fixtures/base.ts +++ b/tests/e2e/utils/fixtures/base.ts @@ -3,28 +3,28 @@ import { test as sarTest } from "./sar.ts"; import { test as wpTest } from "./wp.ts"; import StateHomePage from "../pageObjects/stateHome.page"; import AdminHomePage from "../pageObjects/adminHome.page"; -import ProfilePage from "../pageObjects/profile.page.ts"; -import BannerEditorPage from "../pageObjects/banner.page.ts"; type CustomFixtures = { stateHomePage: StateHomePage; adminHomePage: AdminHomePage; - profilePage: ProfilePage; - bannerEditorPage: BannerEditorPage; }; export const baseTest = base.extend({ - stateHomePage: async ({ page }, use) => { - await use(new StateHomePage(page)); + stateHomePage: async ({ browser }, use) => { + const context = await browser.newContext({ + storageState: "playwright/.auth/user.json", + }); + const stateHomePage = new StateHomePage(await context.newPage()); + await use(stateHomePage); + await context.close(); }, - adminHomePage: async ({ page }, use) => { - await use(new AdminHomePage(page)); - }, - profilePage: async ({ page }, use) => { - await use(new ProfilePage(page)); - }, - bannerEditorPage: async ({ page }, use) => { - await use(new BannerEditorPage(page)); + adminHomePage: async ({ browser }, use) => { + const context = await browser.newContext({ + storageState: "playwright/.auth/admin.json", + }); + const adminHomePage = new AdminHomePage(await context.newPage()); + await use(adminHomePage); + await context.close(); }, }); diff --git a/tests/e2e/utils/pageObjects/base.page.ts b/tests/e2e/utils/pageObjects/base.page.ts index e321e686d..a6a0ab36d 100644 --- a/tests/e2e/utils/pageObjects/base.page.ts +++ b/tests/e2e/utils/pageObjects/base.page.ts @@ -1,4 +1,5 @@ import { expect, Locator, Page } from "@playwright/test"; +import AxeBuilder from "@axe-core/playwright"; export default class BasePage { public path = "/"; @@ -27,8 +28,12 @@ export default class BasePage { this.logoutButton = page.getByRole("menuitem", { name: "Log Out" }); } - public async goto() { - await this.page.goto(this.path); + public async goto(url?: string) { + if (url) { + await this.page.goto(url); + } else { + await this.page.goto(this.path); + } } public async isReady() { @@ -47,4 +52,21 @@ export default class BasePage { await this.accountMenu.isVisible(); await this.logoutButton.click(); } + + public async e2eA11y() { + const breakpoints = { + mobile: [560, 800], + tablet: [880, 1000], + desktop: [1200, 1200], + }; + + for (const size of Object.values(breakpoints)) { + this.page.setViewportSize({ width: size[0], height: size[1] }); + const results = await new AxeBuilder({ page: this.page }) + .withTags(["wcag2a", "wcag2aa"]) + .disableRules(["duplicate-id"]) + .analyze(); + expect(results.violations).toEqual([]); + } + } } diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts index 4880cf53f..8172ccc35 100644 --- a/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeDefine.page.ts @@ -8,7 +8,8 @@ export class WPDefineInitiativePage extends BasePage { readonly title: Locator; readonly backButton: Locator; readonly description: Locator; - readonly targetPopulations: Locator; + readonly olderAdultsCheckbox: Locator; + readonly individualsPhysicalCheckbox: Locator; readonly startDate: Locator; readonly endDate: Locator; readonly saveButton: Locator; @@ -27,7 +28,10 @@ export class WPDefineInitiativePage extends BasePage { this.description = page.getByLabel( "Describe the initiative, including key activities:" ); - this.targetPopulations = page.getByRole("checkbox"); + this.olderAdultsCheckbox = page.getByLabel("Older adults"); + this.individualsPhysicalCheckbox = page.getByLabel( + "Individuals with physical" + ); this.startDate = page.getByLabel("Start date"); this.endDate = page.getByRole("group", { name: "Does the initiative have a projected end date?", @@ -37,8 +41,8 @@ export class WPDefineInitiativePage extends BasePage { public async fillFields() { await this.description.fill("test"); - await this.page.getByLabel("Older adults").check(); - await this.page.getByLabel("Individuals with physical").check(); + await this.olderAdultsCheckbox.check(); + await this.individualsPhysicalCheckbox.check(); await this.startDate.fill("01/01/2024"); await this.endDate.getByLabel("No").click(); } diff --git a/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts b/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts index e72126e11..d2caca840 100644 --- a/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts +++ b/tests/e2e/utils/pageObjects/wp/wpInitiativeOverlay.page.ts @@ -38,18 +38,18 @@ export class WPInitiativeOverlayPage extends BasePage { return this.page.getByRole("heading", { name: topic }).isVisible(); } - public async completeDefineInitiative() { + public async completeDefineInitiative(page: Page) { await this.defineInitiative.getByRole("button", { name: "Edit" }).click(); - const definePage = new WPDefineInitiativePage(this.page); + const definePage = new WPDefineInitiativePage(page); await definePage.isReady(); await definePage.fillFields(); await definePage.saveButton.click(); await expect(definePage.page.getByRole("alert")).not.toBeVisible(); } - public async completeEvaluationPlan() { + public async completeEvaluationPlan(page: Page) { await this.evaluationPlan.getByRole("button", { name: "Edit" }).click(); - const evaluationPage = new WPEvaluationPlanPage(this.page); + const evaluationPage = new WPEvaluationPlanPage(page); await evaluationPage.isReady(); const noObjectivesText = evaluationPage.page.getByText( "Objective total count: 0" @@ -61,9 +61,9 @@ export class WPInitiativeOverlayPage extends BasePage { await evaluationPage.backButton.click(); } - public async completeFundingSources() { + public async completeFundingSources(page: Page) { await this.fundingSources.getByRole("button", { name: "Edit" }).click(); - const fundingPage = new WPFundingSourcesPage(this.page); + const fundingPage = new WPFundingSourcesPage(page); await fundingPage.isReady(); const noFundingSourcesText = fundingPage.page.getByText("Funding Sources: 0"); diff --git a/tests/e2e/wp/create.spec.ts b/tests/e2e/wp/create.spec.ts index da2929e53..cbb056a70 100644 --- a/tests/e2e/wp/create.spec.ts +++ b/tests/e2e/wp/create.spec.ts @@ -1,18 +1,60 @@ +import { BrowserContext, Page } from "@playwright/test"; import { archiveExistingWPs, logInStateUser } from "../utils"; import { test, expect } from "../utils/fixtures/base"; import { WPInitiativeOverlayPage } from "../utils/pageObjects/wp/wpInitiativeOverlay.page"; +import StateHomePage from "../utils/pageObjects/stateHome.page"; +import { WPDashboardPage } from "../utils/pageObjects/wp/wpDashboard.page"; +import { WPGeneralInformationPage } from "../utils/pageObjects/wp/wpGeneral.page"; +import { WPTransitionBenchmarkProjectionsPage } from "../utils/pageObjects/wp/wpTransitionBenchmarkProjections.page"; +import { WPTransitionBenchmarkStrategyPage } from "../utils/pageObjects/wp/wpTransitionBenchmarkStrategy.page"; +import { WPInitiativesInstructionsPage } from "../utils/pageObjects/wp/wpInitiativesInstructions.page"; +import { WPInitiativesDashboardPage } from "../utils/pageObjects/wp/wpInitiativesDashboard.page"; +import { WPReviewAndSubmitPage } from "../utils/pageObjects/wp/wpReviewAndSubmit.page"; + +let userPage: Page; +let userContext: BrowserContext; +let homePage: StateHomePage; +let wpDashboard: WPDashboardPage; +let wpGeneralInformation: WPGeneralInformationPage; +let wpTransitionBenchmarkProjections: WPTransitionBenchmarkProjectionsPage; +let wpTransitionBenchmarkStrategy: WPTransitionBenchmarkStrategyPage; +let wpInitiativesInstructions: WPInitiativesInstructionsPage; +let wpInitiativesDashboard: WPInitiativesDashboardPage; +let wpReviewAndSubmit: WPReviewAndSubmitPage; + +test.beforeAll(async ({ browser }) => { + userContext = await browser.newContext({ + storageState: "playwright/.auth/user.json", + }); + userPage = await userContext.newPage(); + + homePage = new StateHomePage(userPage); + wpDashboard = new WPDashboardPage(userPage); + wpGeneralInformation = new WPGeneralInformationPage(userPage); + wpTransitionBenchmarkProjections = new WPTransitionBenchmarkProjectionsPage( + userPage + ); + wpTransitionBenchmarkStrategy = new WPTransitionBenchmarkStrategyPage( + userPage + ); + wpInitiativesInstructions = new WPInitiativesInstructionsPage(userPage); + wpInitiativesDashboard = new WPInitiativesDashboardPage(userPage); + wpReviewAndSubmit = new WPReviewAndSubmitPage(userPage); +}); + +test.afterAll(async () => { + await userContext.close(); +}); test.describe("Creating a new Work Plan", () => { - test("State user can create a Work Plan", async ({ - page, - stateHomePage, - wpDashboard, - }) => { + test("State user can create a Work Plan", async ({ page }) => { + // TODO: migrate these functions to use the save auth model await archiveExistingWPs(page); await logInStateUser(page); // View WPs - await stateHomePage.wpButton.click(); + await homePage.goto(); + await homePage.wpButton.click(); await wpDashboard.isReady(); // check if work plans exist already or not @@ -35,7 +77,7 @@ test.describe("Creating a new Work Plan", () => { await wpDashboard.copyoverButton.click(); await expect(wpDashboard.modal).toBeVisible(); await expect(wpDashboard.modal).toContainText("Continue"); - await page + await wpDashboard.page .getByRole("button", { name: "Continue from previous period" }) .click(); @@ -53,19 +95,10 @@ test.describe("Creating a new Work Plan", () => { } }); - test("State user can fill and submit a Work Plan", async ({ - page, - stateHomePage, - wpDashboard, - wpGeneralInformation, - wpTransitionBenchmarksProjections, - wpTransitionBenchmarkStrategy, - wpInitiativesInstructions, - wpInitiativesDashboard, - wpReviewAndSubmit, - }) => { + test("State user can fill and submit a Work Plan", async ({ page }) => { await logInStateUser(page); - await stateHomePage.wpButton.click(); + await homePage.goto(); + await homePage.wpButton.click(); // Dashboard await wpDashboard.isReady(); @@ -81,11 +114,11 @@ test.describe("Creating a new Work Plan", () => { // Transition Benchmarks await wpGeneralInformation.continueButton.click(); - await wpTransitionBenchmarksProjections.isReady(); - await wpTransitionBenchmarksProjections.editPopulations(); + await wpTransitionBenchmarkProjections.isReady(); + await wpTransitionBenchmarkProjections.editPopulations(); // Transition Benchmark Strategy - await wpTransitionBenchmarksProjections.continueButton.click(); + await wpTransitionBenchmarkProjections.continueButton.click(); await wpTransitionBenchmarkStrategy.isReady(); await wpTransitionBenchmarkStrategy.fillTextFields(); @@ -115,12 +148,12 @@ test.describe("Creating a new Work Plan", () => { for (const initiative of initiatives) { await initiative.getByRole("button", { name: "edit button" }).click(); - const overlayPage = new WPInitiativeOverlayPage(page); + const overlayPage = new WPInitiativeOverlayPage(userPage); await overlayPage.isReady(); - await overlayPage.completeDefineInitiative(); - await overlayPage.completeEvaluationPlan(); - await overlayPage.completeFundingSources(); + await overlayPage.completeDefineInitiative(userPage); + await overlayPage.completeEvaluationPlan(userPage); + await overlayPage.completeFundingSources(userPage); await overlayPage.backButton.click(); } From 76dbfa1b7d1b60bfe5ac78c29cfbb803a71d3353 Mon Sep 17 00:00:00 2001 From: Jessica Eldredge Date: Tue, 15 Oct 2024 16:26:26 -0400 Subject: [PATCH 21/41] update playwright test (#786) --- package.json | 2 +- yarn.lock | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 0b71e9921..57778327b 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "devDependencies": { "@axe-core/playwright": "^4.10.0", "@faker-js/faker": "^8.4.1", - "@playwright/test": "^1.44.0", + "@playwright/test": "^1.48.0", "@serverless/compose": "^1.3.0", "@stratiformdigital/serverless-stage-destroyer": "^2.0.0", "@types/dotenv": "^8.2.0", diff --git a/yarn.lock b/yarn.lock index 78d4bff31..13955295c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4228,12 +4228,12 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@playwright/test@^1.44.0": - version "1.44.0" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.44.0.tgz#ac7a764b5ee6a80558bdc0fcbc525fcb81f83465" - integrity sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg== +"@playwright/test@^1.48.0": + version "1.48.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.48.0.tgz#4b81434a3ca75e2a6f82a645287784223a45434c" + integrity sha512-W5lhqPUVPqhtc/ySvZI5Q8X2ztBOUgZ8LbAFy0JQgrXZs2xaILrUcNO3rQjwbLPfGK13+rZsDa1FpG+tqYkT5w== dependencies: - playwright "1.44.0" + playwright "1.48.0" "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" @@ -11714,17 +11714,17 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" -playwright-core@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.44.0.tgz#316c4f0bca0551ffb88b6eb1c97bc0d2d861b0d5" - integrity sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ== +playwright-core@1.48.0: + version "1.48.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.48.0.tgz#34d209dd4aba8fccd4a96116f1c4f7630f868722" + integrity sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA== -playwright@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.44.0.tgz#22894e9b69087f6beb639249323d80fe2b5087ff" - integrity sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ== +playwright@1.48.0: + version "1.48.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.48.0.tgz#00855d9a25f1991d422867f1c32af5d90f457b48" + integrity sha512-qPqFaMEHuY/ug8o0uteYJSRfMGFikhUysk8ZvAtfKmUK3kc/6oNl/y3EczF8OFGYIi/Ex2HspMfzYArk6+XQSA== dependencies: - playwright-core "1.44.0" + playwright-core "1.48.0" optionalDependencies: fsevents "2.3.2" From f5d7ecc86431b00a07dcd7ce965aebda870d092a Mon Sep 17 00:00:00 2001 From: MDCT GitHub Service Account <125407418+mdct-github-service-account@users.noreply.github.com> Date: Wed, 16 Oct 2024 08:35:14 -0400 Subject: [PATCH 22/41] [Snyk] Upgrade vite from 5.4.6 to 5.4.7 (#785) Co-authored-by: snyk-bot --- services/ui-src/package.json | 2 +- services/ui-src/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/services/ui-src/package.json b/services/ui-src/package.json index 1a2018955..4f8556aba 100644 --- a/services/ui-src/package.json +++ b/services/ui-src/package.json @@ -37,7 +37,7 @@ "react-router-dom": "6.26.2", "react-uuid": "^1.0.3", "sass": "^1.79.1", - "vite": "^5.4.6", + "vite": "^5.4.7", "vite-tsconfig-paths": "^4.3.2", "yup": "^0.32.11", "zustand": "^4.5.2" diff --git a/services/ui-src/yarn.lock b/services/ui-src/yarn.lock index ad582dd0f..99df7aa5a 100644 --- a/services/ui-src/yarn.lock +++ b/services/ui-src/yarn.lock @@ -9787,10 +9787,10 @@ vite-tsconfig-paths@^4.3.2: globrex "^0.1.2" tsconfck "^3.0.3" -vite@^5.4.6: - version "5.4.6" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.6.tgz#85a93a1228a7fb5a723ca1743e337a2588ed008f" - integrity sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q== +vite@^5.4.7: + version "5.4.8" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.8.tgz#af548ce1c211b2785478d3ba3e8da51e39a287e8" + integrity sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ== dependencies: esbuild "^0.21.3" postcss "^8.4.43" From b9123a9cd6cc93cfd1e9f06cea27626560887207 Mon Sep 17 00:00:00 2001 From: Jessica Eldredge Date: Fri, 18 Oct 2024 08:44:32 -0400 Subject: [PATCH 23/41] Return component JSX instead of calling function (#787) --- .../components/statusing/TableRow.test.tsx | 26 ++++++++++- .../src/components/statusing/TableRow.tsx | 45 +++++++++++-------- 2 files changed, 50 insertions(+), 21 deletions(-) diff --git a/services/ui-src/src/components/statusing/TableRow.test.tsx b/services/ui-src/src/components/statusing/TableRow.test.tsx index 3cff75591..a03b0d83c 100644 --- a/services/ui-src/src/components/statusing/TableRow.test.tsx +++ b/services/ui-src/src/components/statusing/TableRow.test.tsx @@ -1,4 +1,4 @@ -import { render, screen } from "@testing-library/react"; +import { fireEvent, render, screen } from "@testing-library/react"; //components import { Table, Tbody } from "@chakra-ui/react"; import { TableRow } from "./TableRow"; @@ -18,7 +18,7 @@ const mockedUseStore = useStore as jest.MockedFunction; jest.mock("utils/other/useBreakpoint", () => ({ useBreakpoint: jest.fn(() => ({ - isDesktop: false, + isMobile: false, })), })); @@ -45,6 +45,28 @@ describe("", () => { render(tableRowComponent({ page: mockTableRowPage, rowDepth: 1 })); expect(screen.getByText("Transition Benchmarks")).toBeVisible(); expect(screen.getByAltText("Success notification")).toBeVisible(); + expect( + screen.getByRole("button", { name: "Edit Transition Benchmarks" }) + ).toBeVisible(); + }); + + test("TableRow renders correctly across breakpoints", () => { + mockedUseStore.mockReturnValue(mockUseStore); + render(tableRowComponent({ page: mockTableRowPage, rowDepth: 1 })); + expect(screen.getByText("Transition Benchmarks")).toBeVisible(); + expect(screen.getByAltText("Success notification")).toBeVisible(); + expect( + screen.getByRole("button", { name: "Edit Transition Benchmarks" }) + ).toBeVisible(); + + window.innerWidth = 500; + fireEvent(window, new Event("resize")); + + expect(screen.getByText("Transition Benchmarks")).toBeVisible(); + expect(screen.getByAltText("Success notification")).toBeVisible(); + expect( + screen.getByRole("button", { name: "Edit Transition Benchmarks" }) + ).toBeVisible(); }); testA11y(tableRowComponent({ page: mockTableRowPage, rowDepth: 1 })); diff --git a/services/ui-src/src/components/statusing/TableRow.tsx b/services/ui-src/src/components/statusing/TableRow.tsx index 9bab05276..6a6d671cc 100644 --- a/services/ui-src/src/components/statusing/TableRow.tsx +++ b/services/ui-src/src/components/statusing/TableRow.tsx @@ -6,16 +6,12 @@ import { StatusIcon } from "./StatusIcon"; export const TableRow = ({ page, rowDepth }: RowProps) => { const { isMobile } = useBreakpoint(); - const { name, path, children, status } = page; const { editable } = useStore(); + const { name, path, children, status } = page; const buttonAriaLabel = editable ? `Edit ${name}` : `View ${name}`; - const isMobileAndNotChildEditButton = - isMobile && !children && EditButton({ buttonAriaLabel, path, editable }); - - const notChildEditButton = - !children && - EditButton({ buttonAriaLabel, path, editable, showIcon: true }); + const displayMobileEditButton = isMobile && !children?.length; + const displayDefaultEditButton = !isMobile && !children?.length; let parentPl = "1rem"; let subparentPl = `${1.25 * rowDepth}rem`; @@ -31,24 +27,35 @@ export const TableRow = ({ page, rowDepth }: RowProps) => { return (
- {name} - {isMobileAndNotChildEditButton} - - {name} - {isMobileAndNotChildEditButton} - + {name} + {displayMobileEditButton && ( + + )} + {notChildEditButton} + +