diff --git a/package-lock.json b/package-lock.json index de965f15..7d3fa593 100644 --- a/package-lock.json +++ b/package-lock.json @@ -114,32 +114,32 @@ "license": "Apache-2.0" }, "node_modules/@aws-cdk/aws-service-spec": { - "version": "0.1.162", - "resolved": "https://registry.npmjs.org/@aws-cdk/aws-service-spec/-/aws-service-spec-0.1.162.tgz", - "integrity": "sha512-O5O3AY/AbopVVRAb7UjOcngY2c10wejJ/c040hYFGH5wxYo9KoSN5sSbe1ht5dUTnQluxPZ7s1l72gr/9V43QA==", + "version": "0.1.160", + "resolved": "https://registry.npmjs.org/@aws-cdk/aws-service-spec/-/aws-service-spec-0.1.160.tgz", + "integrity": "sha512-4JQF0J8x0g+PUXvFLdxHEHPLoDp3+PgxKvEleevpyjzon/nDsdoVFDB37cvUQvzaMU+KxJcfhEikzsHU30D0Uw==", "license": "Apache-2.0", "dependencies": { - "@aws-cdk/service-spec-types": "^0.0.228", + "@aws-cdk/service-spec-types": "^0.0.226", "@cdklabs/tskb": "^0.0.4" } }, "node_modules/@aws-cdk/aws-service-spec/node_modules/@aws-cdk/service-spec-types": { - "version": "0.0.228", - "resolved": "https://registry.npmjs.org/@aws-cdk/service-spec-types/-/service-spec-types-0.0.228.tgz", - "integrity": "sha512-RUtzUV2rn2Vq5S2MChNU66tBnt5DLCBu7L9g/D1NEMet2ue6HuVgUZG3Iwhc/9NQPM27pVmRcj+E6l4JOSzApA==", + "version": "0.0.226", + "resolved": "https://registry.npmjs.org/@aws-cdk/service-spec-types/-/service-spec-types-0.0.226.tgz", + "integrity": "sha512-1+kbXcr8IqWLOf6UXxPzRdzfTX+pwGPSsetzyVN1iVii8Nv5ky+RQHSCdROfmVcVQObbJz2ba6WTkVBU3SY6dA==", "license": "Apache-2.0", "dependencies": { "@cdklabs/tskb": "^0.0.4" } }, "node_modules/@aws-cdk/cdk-assets-lib": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@aws-cdk/cdk-assets-lib/-/cdk-assets-lib-1.4.1.tgz", - "integrity": "sha512-/tTNQ7y2EQwvKqQ/CtpdCe549nmoeERCMIPuUl8mtyehgDuqjAaWAXDNCBHKp2GeMNFVc6WF5ay8wvONvtKyeg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cdk-assets-lib/-/cdk-assets-lib-1.4.0.tgz", + "integrity": "sha512-U8E2h281PMpjm7OSZCtovzobRQIBCAVjur2RCrHuUkrz0R16taqn1D+NdKEw+EA1LgiYOe1lt5YKnZhqR5Jf1g==", "license": "Apache-2.0", "dependencies": { "@aws-cdk/cloud-assembly-api": "2.2.0", - "@aws-cdk/cloud-assembly-schema": ">=53.2.0", + "@aws-cdk/cloud-assembly-schema": ">=53.0.0", "@aws-cdk/cx-api": "^2", "@aws-sdk/client-ecr": "^3", "@aws-sdk/client-s3": "^3", @@ -244,13 +244,13 @@ } }, "node_modules/@aws-cdk/cloudformation-diff": { - "version": "2.186.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.186.0.tgz", - "integrity": "sha512-3NNyQHosDoFnEnOlU6SLg43uGuqR8NfoQpDw+nUL0OcXyrFOmQHV7pETxcwi9djvI1U0AHlwdKtjLnI4DwjNSA==", + "version": "2.185.1", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.185.1.tgz", + "integrity": "sha512-gyNZTbe+HnOTkCLJGS9J43NOaQYJ4WxeXzBBf2zH2DOY7aQpM0YY4+SKeB7HxJeSGezF+f1mndvvnj7rwlbQBg==", "license": "Apache-2.0", "dependencies": { - "@aws-cdk/aws-service-spec": "^0.1.161", - "@aws-cdk/service-spec-types": "^0.0.227", + "@aws-cdk/aws-service-spec": "^0.1.132", + "@aws-cdk/service-spec-types": "^0.0.198", "chalk": "^4", "diff": "^8.0.3", "fast-deep-equal": "^3.1.3", @@ -265,9 +265,9 @@ } }, "node_modules/@aws-cdk/cx-api": { - "version": "2.243.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.243.0.tgz", - "integrity": "sha512-9ToAQq5jvVRZbtDYy8Nomkx494oqpjNno2BN/bHyYiUi28omcK8beH6OhwrpKO6U0Ul/aB9R1LxHpgGuvA7Idg==", + "version": "2.241.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.241.0.tgz", + "integrity": "sha512-629QCWGTPmL+z4qxseeWXZnbfjAMDc3FIGGi1mbi8qDXmgcUUhkzpT+TvIAKOlTzF/ox7MOd/aNzoY4D9n68Vg==", "bundleDependencies": [ "semver", "@aws-cdk/cloud-assembly-api" @@ -278,7 +278,7 @@ "semver": "^7.7.4" }, "engines": { - "node": ">= 20.0.0" + "node": ">= 18.0.0" }, "peerDependencies": { "@aws-cdk/cloud-assembly-schema": ">=52.1.0" @@ -334,9 +334,9 @@ } }, "node_modules/@aws-cdk/service-spec-types": { - "version": "0.0.227", - "resolved": "https://registry.npmjs.org/@aws-cdk/service-spec-types/-/service-spec-types-0.0.227.tgz", - "integrity": "sha512-xQHO0xzItQN5mFxox1iX/0NxDkHMgCval2imn5uJeYh5BA6jwm5XkIVrtS4YaL0B3Eb3U3Q+tG8jK9fD/orGxg==", + "version": "0.0.198", + "resolved": "https://registry.npmjs.org/@aws-cdk/service-spec-types/-/service-spec-types-0.0.198.tgz", + "integrity": "sha512-oksZShBGTW/W7HnsnWU3N/YZGkWCbZ/4naFwYYVbXNfpTLauz5ME94SQwyHWG7U7ohjN57JR8DvdGfHVs6PTzg==", "license": "Apache-2.0", "dependencies": { "@cdklabs/tskb": "^0.0.4" @@ -605,9 +605,9 @@ } }, "node_modules/@aws-sdk/client-application-signals": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-application-signals/-/client-application-signals-3.1007.0.tgz", - "integrity": "sha512-pwm9if3K8tg+odSVCJ71o4Y7mIKXYeipDvbtg/iFX5asnZps//rhRIygRaNI+3+jagVCMCQgmwSL5naHyj9Kdg==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-application-signals/-/client-application-signals-3.1006.0.tgz", + "integrity": "sha512-2LVe9D6dtfPdhRZjFlKQrbLcYF0oOy1PP2c1KXX9rFLj/pZnQoQJM1Nc8t0KEKqG36ZrLTue3H/aZXFeFcPeYQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -655,45 +655,45 @@ } }, "node_modules/@aws-sdk/client-appsync": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-appsync/-/client-appsync-3.1007.0.tgz", - "integrity": "sha512-0QoqZ1nNVUil5XNh+l3Lv59Ln0kgFd9ZD51EqiMEeG31SCOIuUiFL49TQugVABzEsSbvouJIdTYYMMQd89YdXQ==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-appsync/-/client-appsync-3.1003.0.tgz", + "integrity": "sha512-faohNg4vna0Sj7LdlF6Fedou+5mvNhpb81XweHsfsGAZqRY6MDGh5tq0gFQtJf4EpbF/Jey2mgYYUJQUmj0loQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", @@ -706,9 +706,9 @@ } }, "node_modules/@aws-sdk/client-bedrock-agentcore": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agentcore/-/client-bedrock-agentcore-3.1007.0.tgz", - "integrity": "sha512-9mx/UuQlHTtQNtAoHFPnJbtul8TKGnQPoLu3LK/FAfhZ4kZ0o6L5y27rcdFe+v1N1Kn/PkYjKHtz6C4/56ZFlQ==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agentcore/-/client-bedrock-agentcore-3.1006.0.tgz", + "integrity": "sha512-9zAdV97zTUOels4Ziu9BqJPX5965QHxT5r2xR1TVihJIl3BVnxH3WyFgdEP2iqKrS2stiAgP3Dxs0/VoVNLWCw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -760,9 +760,9 @@ } }, "node_modules/@aws-sdk/client-bedrock-agentcore-control": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agentcore-control/-/client-bedrock-agentcore-control-3.1007.0.tgz", - "integrity": "sha512-eDNeLaLyaGZXjDgq3uPVECWbmOElgExO8g7Eq8I0Ax7n2l/gKuE4GhUMDXcJzS8UdXKbzs6JUBXsw0HHGor2DQ==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-agentcore-control/-/client-bedrock-agentcore-control-3.1006.0.tgz", + "integrity": "sha512-wlS47ENxIA7BSFLOG/GPbLnavuiXN25I8nFRNrA2T3hrXUbcJseJTIhgBt16R/G8AGFQ/VJLtF2kgCfeD9jlcQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -811,9 +811,9 @@ } }, "node_modules/@aws-sdk/client-bedrock-runtime": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.1007.0.tgz", - "integrity": "sha512-X7iWTQAZrCvQH2lfrZktVPfR3jdLPNtI4zkk4NA/vXzW5k8VNgdVuWUSm8cAzIXnhV3YThvDpLhEk87igNyGWQ==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-bedrock-runtime/-/client-bedrock-runtime-3.1006.0.tgz", + "integrity": "sha512-xoReIImKWGEgI5+44ZqADIfjSQTx367d3wkH1kX8ZZNe70mUQxXDzLp1iWBk4FLjQyTnv0J0vMIvhSHVfvFxXA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -828,7 +828,7 @@ "@aws-sdk/middleware-user-agent": "^3.972.20", "@aws-sdk/middleware-websocket": "^3.972.12", "@aws-sdk/region-config-resolver": "^3.972.7", - "@aws-sdk/token-providers": "3.1007.0", + "@aws-sdk/token-providers": "3.1006.0", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", @@ -869,50 +869,50 @@ } }, "node_modules/@aws-sdk/client-cloudcontrol": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudcontrol/-/client-cloudcontrol-3.1007.0.tgz", - "integrity": "sha512-62EvBcmGK+AHDq0vG4JYxANh00ImEhF74Nc2Cki8sFcLyhYAzWtEpWpCKTBuB5ev9ibDU/KwssW8cBSjTNgwpw==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudcontrol/-/client-cloudcontrol-3.1003.0.tgz", + "integrity": "sha512-gOJBcRAEtLth+EVUizunNI3C2kLYwSOxZXA6rcmIyR/0QhMwx098n33j+NvoKpjBzWMJTXpHMprMyVVh/aobsA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -920,9 +920,9 @@ } }, "node_modules/@aws-sdk/client-cloudformation": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.1007.0.tgz", - "integrity": "sha512-q+lEKOqLV3k4uiIdJzaqkucb3suyVIFJvXzmTLWDZ/adIQ2c/Dlib8UJqmekc054iKe+brMWGXtFR4K12u0fTg==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudformation/-/client-cloudformation-3.1006.0.tgz", + "integrity": "sha512-qLUIVSqmufCatvsowwmVb4smlBK8r+nmsg1zcY6WYWQHDu01new7D8dXJgWAlToi6NyJKNsTZDvbZNSqnwQdPw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -971,9 +971,9 @@ } }, "node_modules/@aws-sdk/client-cloudwatch-logs": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.1007.0.tgz", - "integrity": "sha512-JtwSb/iNAgof8v+R+4SVH9ggNKVPNtvn18Vuzf3nVX7nTjEiR9OZoEZjBH9OzWUrp0vLaFUw6JiItk6iBMApTQ==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.1006.0.tgz", + "integrity": "sha512-6nx5JvE9/ZZMyZpDuwHA5S1itAhL3sP99lYbKumvBABLcoMmivPApYbImQqQpPDQ7lxbE0nVqJLDpLaUmLwGxQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -1024,45 +1024,45 @@ } }, "node_modules/@aws-sdk/client-codebuild": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-codebuild/-/client-codebuild-3.1007.0.tgz", - "integrity": "sha512-jlnjpypXDLH5+yz1Y/9uIZ+Qko7pv0yI/HEj9kMt63nSAsjMiPYoEH1pbcXheA5Gu0L3/UTfIBrHdc6KQtj9Wg==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-codebuild/-/client-codebuild-3.1003.0.tgz", + "integrity": "sha512-8OP/z4uoetpf1KcenjnwUAzHF2pkwdD15yoI+eE41AyXV8Ahp7HhnNHEbn6MUBJwmVKD2cQY+361iV00hpYUeA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", @@ -1074,9 +1074,9 @@ } }, "node_modules/@aws-sdk/client-cognito-identity": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.1007.0.tgz", - "integrity": "sha512-2zsKWfDOsRF1xvVCHf/sWeoYAz9TI3sRCV/kPUGBf20ha57rkjZL2uHmGQIMnf5Gaih5iTfGQudID6FI6XRrRw==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.1006.0.tgz", + "integrity": "sha512-VZX5y6cY5eBzKz1z5UwznFUJqIMb8k9IeQuA+jlkLghVQIQR662jcLd7pBFuwWtZjNFzaQ8AJp534ucfLXJ3KA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -1124,51 +1124,51 @@ } }, "node_modules/@aws-sdk/client-ec2": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.1007.0.tgz", - "integrity": "sha512-kI8CYJHMhtey97BONAVqahPSIaXZoxmyjGU7LNesPvOy2PCdrtq7u2NulyHinUDKXOa6NN70lFqrfbkZfs2dgw==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ec2/-/client-ec2-3.1003.0.tgz", + "integrity": "sha512-aYa0GtTZCWZSRqIzdtgYtUthBzcdmtRKUA3wetXOyF4HC5+lzac7CN/vq4V1yH174gGLQ2EQZHKXHsuQMVvIaQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-sdk-ec2": "^3.972.14", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-sdk-ec2": "^3.972.13", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1176,50 +1176,50 @@ } }, "node_modules/@aws-sdk/client-ecr": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecr/-/client-ecr-3.1007.0.tgz", - "integrity": "sha512-ZEOHIVbzuak1Hfy/rVAabsBtsQwd2VSd/1i6jwZN6p9HzDy5zHZDvSCuilWqTxPTK8BGZG8Zi0bjbSmZh32YgQ==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecr/-/client-ecr-3.1003.0.tgz", + "integrity": "sha512-uZ9lA7uqtsq7IiiOJE3XhMEu5SBEFDfM7ZZPzm2GTEYAHxjEC6HFD5X13zakuP8u3vr8v1bFxqDh+VEkZd3L3Q==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1227,50 +1227,50 @@ } }, "node_modules/@aws-sdk/client-ecs": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecs/-/client-ecs-3.1007.0.tgz", - "integrity": "sha512-TJ2OKfHqhoTd30CKEu8apX6O75tw5XqFPPh6i7L9wkLCjfV7OJwAaL/V+gEozSz9u1cG1KvDRpa+j8NTHcAfPw==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecs/-/client-ecs-3.1003.0.tgz", + "integrity": "sha512-K7vazGvj5P39g/6DgqB1IHAKM9s7Darm4qKtrGlH6u1FLPEQDRjgVi3mcuk8m6yHx1GtDuNlnS/lVzNcMLmeBA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1278,50 +1278,50 @@ } }, "node_modules/@aws-sdk/client-elastic-load-balancing-v2": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-elastic-load-balancing-v2/-/client-elastic-load-balancing-v2-3.1007.0.tgz", - "integrity": "sha512-c2jINX0wxEBqR6kRUw/y+er1fj/ZqP87+tmyTgcD3FuihS7lj1O58GuOHYDtyzyUBixLNltVQBFD9FUg56gcYA==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-elastic-load-balancing-v2/-/client-elastic-load-balancing-v2-3.1003.0.tgz", + "integrity": "sha512-5XCDbMh6Kun9j8tjwCvTtvZCe8Fc9uWk8XNEk7dSfvKxRe1QY4/4wHvVsftZYS7ULd/N7miIqTyMF8ELWvUCKw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1329,50 +1329,50 @@ } }, "node_modules/@aws-sdk/client-iam": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.1007.0.tgz", - "integrity": "sha512-8guGQ/rqH+ZpIpPHAFqTJNJqcObynJM7kYFJS8Wkazo8qcExVwgD8i5dERCch7IJiqQHUrGwgwZ7EfIb0fa6Gg==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-iam/-/client-iam-3.1003.0.tgz", + "integrity": "sha512-EVnEoYyPR45CZ38kUcSmy3A67EvwCii8dy9ZDTlT0G6xrewCYUj5X29gMp4cun/pVkvO3xTG+t1x69nMN2F3gQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1380,45 +1380,45 @@ } }, "node_modules/@aws-sdk/client-kms": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.1007.0.tgz", - "integrity": "sha512-lOjxCoje0F8J6qg0zIPNU9K+8YXIp0fb7NyCfkGqqH/0ZKY4DUAy/dIF5ofO/Zo0InzvoDaArlxQZ9rZSDqA6Q==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.1003.0.tgz", + "integrity": "sha512-XO11qsl/p+WTzOTf4o9w6aZZ0lh2QHwwpuv9en2fgtVL4PnibndWC4Ln/5CB9fJpeUsQo8dLAys1PVhTh4lcGQ==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", @@ -1430,26 +1430,26 @@ } }, "node_modules/@aws-sdk/client-lambda": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.1007.0.tgz", - "integrity": "sha512-fXwoTV47wpe0zTAAkSmOuzYq+mYYDr8z6Vl3DZ2c/yqpRxYOfjQIy3Yn0Z+P3hS+RYeMcb/NLbNb0oHLtkB/kQ==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-lambda/-/client-lambda-3.1003.0.tgz", + "integrity": "sha512-xuvD0vEGEX6avskfAQ40LuVmIcgHGWomK2NeMF8S3t/b524DuCH9ZexgS13UfH+WJ2tRRcGBUrolE/E1AiawWA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/eventstream-serde-browser": "^4.2.11", "@smithy/eventstream-serde-config-resolver": "^4.3.11", "@smithy/eventstream-serde-node": "^4.2.11", @@ -1457,27 +1457,27 @@ "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-stream": "^4.5.17", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1485,9 +1485,9 @@ } }, "node_modules/@aws-sdk/client-resource-groups-tagging-api": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-resource-groups-tagging-api/-/client-resource-groups-tagging-api-3.1007.0.tgz", - "integrity": "sha512-UNZT1aMds0AbZWc2N1jZ8cey6thWq4ZV48NbfWmRSDbg8oxvxOgWJxAmImb1PpfkmN4ENAh8IlCQIJBClFKdYw==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-resource-groups-tagging-api/-/client-resource-groups-tagging-api-3.1006.0.tgz", + "integrity": "sha512-qdl2igfhO+n4WeK/PwhoXzk9IIvpZ0tqpOtg5R0BzckJQym+8u2eYo7Wb8EZ3ZCKnaJ9fR62+FfwDDOrf0125A==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -1535,51 +1535,51 @@ } }, "node_modules/@aws-sdk/client-route-53": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-route-53/-/client-route-53-3.1007.0.tgz", - "integrity": "sha512-4uD31i+KoDs/CC+s80dZVHr3jP8JIMq+KGrFzGYcSgjUMRvrMTCXsq/ca+XBXna5T/M4k0isbrc43GvLA29OkQ==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-route-53/-/client-route-53-3.1003.0.tgz", + "integrity": "sha512-EtIIfuUzMC5Pks6VWkzS3bOMzduAn5fjO3bI1VkY1Rhtl0fIle97jdWGuMLVmxk3QdFGU8aXOX2B98NtFBpm2Q==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", "@aws-sdk/middleware-sdk-route53": "^3.972.9", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1587,34 +1587,34 @@ } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1007.0.tgz", - "integrity": "sha512-QdFNDy+eKpcbv3ieGNl7XsDhpOj5mfb2xwnNM/YC108JpNJ5Ox79mbwtsKKqmQfen0JeaJml58vFnRHjfkjw9w==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.1003.0.tgz", + "integrity": "sha512-on8GvIWeH1pD0l53NuKbPO84bEC1mk/9zskgU+dVKcVoGxOZI94fVddCJb+IwIUN6rfBHCfXPCVbgVyzsHTAVg==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha1-browser": "5.2.0", "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-bucket-endpoint": "^3.972.7", "@aws-sdk/middleware-expect-continue": "^3.972.7", - "@aws-sdk/middleware-flexible-checksums": "^3.973.5", + "@aws-sdk/middleware-flexible-checksums": "^3.973.4", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-location-constraint": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-sdk-s3": "^3.972.19", + "@aws-sdk/middleware-sdk-s3": "^3.972.18", "@aws-sdk/middleware-ssec": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", - "@aws-sdk/signature-v4-multi-region": "^3.996.7", + "@aws-sdk/signature-v4-multi-region": "^3.996.6", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/eventstream-serde-browser": "^4.2.11", "@smithy/eventstream-serde-config-resolver": "^4.3.11", "@smithy/eventstream-serde-node": "^4.2.11", @@ -1625,27 +1625,27 @@ "@smithy/invalid-dependency": "^4.2.11", "@smithy/md5-js": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-stream": "^4.5.17", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1653,45 +1653,45 @@ } }, "node_modules/@aws-sdk/client-secrets-manager": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.1007.0.tgz", - "integrity": "sha512-5m5lEoW4pFVE0gWBfMbbDMAQfr/X+lkS7HBLScRLNQG5kIS+gAiunYSV/fhmoPcZoMFhdfgjfGvmQmkpdG0Dgw==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-secrets-manager/-/client-secrets-manager-3.1003.0.tgz", + "integrity": "sha512-LzieOPgUdoJU7cG4ypyHsoa+uTB27ASnB8YmcmGpxJ4BNct96IZEgxrL+l/jBohUSHtKyfy40fSc7z3Pu4Jwuw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", @@ -1703,45 +1703,45 @@ } }, "node_modules/@aws-sdk/client-sfn": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sfn/-/client-sfn-3.1007.0.tgz", - "integrity": "sha512-IB2yyDxKuhonum7w9RkbVkq8dPM9FbhMiSyJ4FCjaqiUhZ6OXnAza66NwhDjb6ip8G/w4wh9PDuex8XlysWDLw==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sfn/-/client-sfn-3.1003.0.tgz", + "integrity": "sha512-bWzFfjtPrf0cId8MLuF8DnSqwYNPiNZaKoROXKwLUpT3tjvz5iqskMlIXa7bQgQ2B4ju/R7QEM18kUguj7jpFw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", @@ -1753,50 +1753,50 @@ } }, "node_modules/@aws-sdk/client-ssm": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.1007.0.tgz", - "integrity": "sha512-zLKrkHGluz/rTZPO7QlOzjrBp3YQn0YsUqsGc1/xhjMmtS9ResZDmmw+2UChC9suR2yLYZuVkzv4maRCfnaoaQ==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.1003.0.tgz", + "integrity": "sha512-4Rmj8cN6Cn0fdZpz/zlao/CXYcgasLiGjD1E7vLGV3M7dNytQxh1asBWthYSt/OkJvI918P1gcT6Mgs3Zq2bcA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "^3.973.19", - "@aws-sdk/credential-provider-node": "^3.972.19", + "@aws-sdk/core": "^3.973.18", + "@aws-sdk/credential-provider-node": "^3.972.17", "@aws-sdk/middleware-host-header": "^3.972.7", "@aws-sdk/middleware-logger": "^3.972.7", "@aws-sdk/middleware-recursion-detection": "^3.972.7", - "@aws-sdk/middleware-user-agent": "^3.972.20", + "@aws-sdk/middleware-user-agent": "^3.972.18", "@aws-sdk/region-config-resolver": "^3.972.7", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-endpoints": "^3.996.4", "@aws-sdk/util-user-agent-browser": "^3.972.7", - "@aws-sdk/util-user-agent-node": "^3.973.5", + "@aws-sdk/util-user-agent-node": "^3.973.3", "@smithy/config-resolver": "^4.4.10", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/fetch-http-handler": "^5.3.13", "@smithy/hash-node": "^4.2.11", "@smithy/invalid-dependency": "^4.2.11", "@smithy/middleware-content-length": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/middleware-retry": "^4.4.40", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/middleware-retry": "^4.4.39", "@smithy/middleware-serde": "^4.2.12", "@smithy/middleware-stack": "^4.2.11", "@smithy/node-config-provider": "^4.3.11", "@smithy/node-http-handler": "^4.4.14", "@smithy/protocol-http": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/url-parser": "^4.2.11", "@smithy/util-base64": "^4.3.2", "@smithy/util-body-length-browser": "^4.2.2", "@smithy/util-body-length-node": "^4.2.3", - "@smithy/util-defaults-mode-browser": "^4.3.39", - "@smithy/util-defaults-mode-node": "^4.2.42", + "@smithy/util-defaults-mode-browser": "^4.3.38", + "@smithy/util-defaults-mode-node": "^4.2.41", "@smithy/util-endpoints": "^3.3.2", "@smithy/util-middleware": "^4.2.11", "@smithy/util-retry": "^4.2.11", "@smithy/util-utf8": "^4.2.2", - "@smithy/util-waiter": "^4.2.12", + "@smithy/util-waiter": "^4.2.11", "tslib": "^2.6.2" }, "engines": { @@ -1804,9 +1804,9 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.1007.0.tgz", - "integrity": "sha512-kMLg/SbjiM4CUvWBOOHW6Kv0sl7/UnKu9h+bVmEQKhQXPWaW9PpDkPsYH02VyR1AGLm1LMDIo9vZBlBcM1t7Cw==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.1006.0.tgz", + "integrity": "sha512-W76elg4lCqjuqmvrV0B+ek8COPdUvgH9VTvsVIdK31Z5ixSD1gX8PlXCpO+pkS0a1DNgjZom5+e7JBxeSu53JA==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -1854,9 +1854,9 @@ } }, "node_modules/@aws-sdk/client-xray": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-xray/-/client-xray-3.1007.0.tgz", - "integrity": "sha512-B+zAX23luxwpz1rXMCAWyGSa44T8GL5My5FQnrmurNNWSZB2A5xQJ34G9S4PWE5vlza3xpmlo3/T892cImO6dQ==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-xray/-/client-xray-3.1006.0.tgz", + "integrity": "sha512-Q34KkKs7KfDK18kiqwBqv98tnOKgmFue3Hnf3B2adZ4MyRa9h28Md3Lw08NXHcs8htXKfstXnCbkwPR6UTMgKw==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/sha256-browser": "5.2.0", @@ -2133,12 +2133,12 @@ } }, "node_modules/@aws-sdk/credential-providers": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.1007.0.tgz", - "integrity": "sha512-kjWaKO2GgxVLakTFODWjg5CeGFN3crohLPwhVy9olQhW2uMMLfxx/e4vDhJBSlxKrictRewJ0nou2b9uQhQ9TQ==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.1006.0.tgz", + "integrity": "sha512-qNxAVxYKz4cRtsNDx4+JSixyJCNvGloCxMVx77duVXMXgEGotakRnEXBH1gVntBB/OFlYM6Cs5bQ7bUNqYhhgQ==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/client-cognito-identity": "3.1007.0", + "@aws-sdk/client-cognito-identity": "3.1006.0", "@aws-sdk/core": "^3.973.19", "@aws-sdk/credential-provider-cognito-identity": "^3.972.11", "@aws-sdk/credential-provider-env": "^3.972.17", @@ -2164,9 +2164,9 @@ } }, "node_modules/@aws-sdk/ec2-metadata-service": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/ec2-metadata-service/-/ec2-metadata-service-3.1007.0.tgz", - "integrity": "sha512-dmypW7sOJIPvkXCdx5gSaB1WVzgqksuRO8A4ZqRUpENlDgURtJKv9SbHVfp06G1Ww+Wcp8vlqg4Yye68MuGRAg==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/ec2-metadata-service/-/ec2-metadata-service-3.1003.0.tgz", + "integrity": "sha512-H4DsQz5SrZ2+8rlxrzoYkS8inP6iMfeBN9calrRdfDh1Yek5aT20PSiTCMwTidfIuqdMunKlfBZeMDrhkb/gSA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.5", @@ -2197,14 +2197,14 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.1007.0.tgz", - "integrity": "sha512-7mM885aNozu1yM4set09YMsOh4V+WHmZBTYlr27XNhBhkcRFcaUofY8uPp5uWCSNiQ2S5JIDLN6rtrQGfPjzWA==", + "version": "3.1003.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.1003.0.tgz", + "integrity": "sha512-tyc2WazRhlBNdJu1Vpi7v9Oak8gl4zo0521MYOZustCmdSvGmV8kJdOEa4VK8pUPvm2D7mRgdiNRqesy87gcuQ==", "license": "Apache-2.0", "dependencies": { "@smithy/abort-controller": "^4.2.11", - "@smithy/middleware-endpoint": "^4.4.23", - "@smithy/smithy-client": "^4.12.3", + "@smithy/middleware-endpoint": "^4.4.22", + "@smithy/smithy-client": "^4.12.2", "buffer": "5.6.0", "events": "3.3.0", "stream-browserify": "3.0.0", @@ -2214,7 +2214,7 @@ "node": ">=20.0.0" }, "peerDependencies": { - "@aws-sdk/client-s3": "^3.1007.0" + "@aws-sdk/client-s3": "^3.1003.0" } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { @@ -2266,15 +2266,15 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.973.5", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.973.5.tgz", - "integrity": "sha512-Dp3hqE5W6hG8HQ3Uh+AINx9wjjqYmFHbxede54sGj3akx/haIQrkp85lNdTdC+ouNUcSYNiuGkzmyDREfHX1Gg==", + "version": "3.973.4", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.973.4.tgz", + "integrity": "sha512-7CH2jcGmkvkHc5Buz9IGbdjq1729AAlgYJiAvGq7qhCHqYleCsriWdSnmsqWTwdAfXHMT+pkxX3w6v5tJNcSug==", "license": "Apache-2.0", "dependencies": { "@aws-crypto/crc32": "5.2.0", "@aws-crypto/crc32c": "5.2.0", "@aws-crypto/util": "5.2.0", - "@aws-sdk/core": "^3.973.19", + "@aws-sdk/core": "^3.973.18", "@aws-sdk/crc64-nvme": "^3.972.4", "@aws-sdk/types": "^3.973.5", "@smithy/is-array-buffer": "^4.2.2", @@ -2350,17 +2350,17 @@ } }, "node_modules/@aws-sdk/middleware-sdk-ec2": { - "version": "3.972.14", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.972.14.tgz", - "integrity": "sha512-oQYo61SwCUl4+0B749bnJpZjOTRl3ukdaFZo7A2Ntbxo0nQ8/CvXWOju9MVjHWtnhd+0iyIMTCteieFV4hWyXA==", + "version": "3.972.13", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-ec2/-/middleware-sdk-ec2-3.972.13.tgz", + "integrity": "sha512-mcmO0xwjB+H68XMWBBrTD7w9fARzH7/vo7ZvJenicIGZP18tAqiETF/bDMNjtzfLbfANMBpGbn7/3lmt4dncdA==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-format-url": "^3.972.7", - "@smithy/middleware-endpoint": "^4.4.23", + "@smithy/middleware-endpoint": "^4.4.22", "@smithy/protocol-http": "^5.3.11", "@smithy/signature-v4": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "tslib": "^2.6.2" }, @@ -2383,19 +2383,19 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.972.19", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.19.tgz", - "integrity": "sha512-/CtOHHVFg4ZuN6CnLnYkrqWgVEnbOBC4kNiKa+4fldJ9cioDt3dD/f5vpq0cWLOXwmGL2zgVrVxNhjxWpxNMkg==", + "version": "3.972.18", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.18.tgz", + "integrity": "sha512-5E3XxaElrdyk6ZJ0TjH7Qm6ios4b/qQCiLr6oQ8NK7e4Kn6JBTJCaYioQCQ65BpZ1+l1mK5wTAac2+pEz0Smpw==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/core": "^3.973.19", + "@aws-sdk/core": "^3.973.18", "@aws-sdk/types": "^3.973.5", "@aws-sdk/util-arn-parser": "^3.972.3", - "@smithy/core": "^3.23.9", + "@smithy/core": "^3.23.8", "@smithy/node-config-provider": "^4.3.11", "@smithy/protocol-http": "^5.3.11", "@smithy/signature-v4": "^5.3.11", - "@smithy/smithy-client": "^4.12.3", + "@smithy/smithy-client": "^4.12.2", "@smithy/types": "^4.13.0", "@smithy/util-config-provider": "^4.2.2", "@smithy/util-middleware": "^4.2.11", @@ -2529,12 +2529,12 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.996.7", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.7.tgz", - "integrity": "sha512-mYhh7FY+7OOqjkYkd6+6GgJOsXK1xBWmuR+c5mxJPj2kr5TBNeZq+nUvE9kANWAux5UxDVrNOSiEM/wlHzC3Lg==", + "version": "3.996.6", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.6.tgz", + "integrity": "sha512-NnsOQsVmJXy4+IdPFUjRCWPn9qNH1TzS/f7MiWgXeoHs903tJpAWQWQtoFvLccyPoBgomKP9L89RRr2YsT/L0g==", "license": "Apache-2.0", "dependencies": { - "@aws-sdk/middleware-sdk-s3": "^3.972.19", + "@aws-sdk/middleware-sdk-s3": "^3.972.18", "@aws-sdk/types": "^3.973.5", "@smithy/protocol-http": "^5.3.11", "@smithy/signature-v4": "^5.3.11", @@ -2546,9 +2546,9 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.1007.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1007.0.tgz", - "integrity": "sha512-kKvVyr53vvVc5k6RbvI6jhafxufxO2SkEw8QeEzJqwOXH/IMY7Cm0IyhnBGdqj80iiIIiIM2jGe7Fn3TIdwdrw==", + "version": "3.1006.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.1006.0.tgz", + "integrity": "sha512-eCBaQI1w5PcliOdh8Y0YONOim2zNSTEK4E7gXYC4vIqiT/lzVODIFxmpc8oOBLPSANzcr9daIPPtjQ2C75dLFg==", "license": "Apache-2.0", "dependencies": { "@aws-sdk/core": "^3.973.19", @@ -5382,7 +5382,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.57.0", + "@typescript-eslint/parser": "^8.50.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.0.0" } @@ -6913,9 +6913,9 @@ } }, "node_modules/bare-stream": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.1.tgz", - "integrity": "sha512-bSeR8RfvbRwDpD7HWZvn8M3uYNDrk7m9DQjYOFkENZlXW8Ju/MPaqUPQq5LqJ3kyjEm07siTaAQ7wBKCU59oHg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.8.0.tgz", + "integrity": "sha512-reUN0M2sHRqCdG4lUK3Fw8w98eeUIZHL5c3H7Mbhk2yVBL+oofgaIp0ieLfD5QXwPCypBpmEEKU2WZKzbAk8GA==", "license": "Apache-2.0", "dependencies": { "streamx": "^2.21.0", @@ -7720,9 +7720,9 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.0.tgz", - "integrity": "sha512-04cg8iJFDOxWcYlu0GFFWgs7vtaEPCmr5w1nrj9V3z3axu/48HCMwK6VMp45Zh3ZB+xLP1ifbJfrq86+1ypKKQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz", + "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==", "dev": true, "license": "MIT", "dependencies": { @@ -7741,7 +7741,6 @@ "has-symbols": "^1.1.0", "internal-slot": "^1.1.0", "iterator.prototype": "^1.1.5", - "math-intrinsics": "^1.1.0", "safe-array-concat": "^1.1.3" }, "engines": { @@ -8605,9 +8604,9 @@ } }, "node_modules/flatted": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.1.tgz", - "integrity": "sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.4.tgz", + "integrity": "sha512-3+mMldrTAPdta5kjX2G2J7iX4zxtnwpdA8Tr2ZSjkyPSanvbZAcy6flmtnXbEybHrDcU9641lxrMfFuUxVz9vA==", "dev": true, "license": "ISC" }, @@ -13224,8 +13223,10 @@ "version": "2.8.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", - "extraneous": true, + "dev": true, "license": "ISC", + "optional": true, + "peer": true, "bin": { "yaml": "bin.mjs" }, diff --git a/src/cli/commands/add/types.ts b/src/cli/commands/add/types.ts index 8c5fbb75..6f39c224 100644 --- a/src/cli/commands/add/types.ts +++ b/src/cli/commands/add/types.ts @@ -36,6 +36,7 @@ export interface AddGatewayOptions { agentClientSecret?: string; agents?: string; semanticSearch?: boolean; + exceptionLevel?: string; json?: boolean; } diff --git a/src/cli/commands/add/validate.ts b/src/cli/commands/add/validate.ts index b5452ef5..8c77476d 100644 --- a/src/cli/commands/add/validate.ts +++ b/src/cli/commands/add/validate.ts @@ -2,6 +2,7 @@ import { ConfigIO, findConfigRoot } from '../../../lib'; import { AgentNameSchema, BuildTypeSchema, + GatewayExceptionLevelSchema, GatewayNameSchema, ModelProviderSchema, SDKFrameworkSchema, @@ -208,6 +209,14 @@ export function validateAddGatewayOptions(options: AddGatewayOptions): Validatio return { valid: false, error: 'Agent OAuth credentials are only valid with CUSTOM_JWT authorizer' }; } + // Validate exception level if provided + if (options.exceptionLevel) { + const levelResult = GatewayExceptionLevelSchema.safeParse(options.exceptionLevel); + if (!levelResult.success) { + return { valid: false, error: `Invalid exception level: ${options.exceptionLevel}. Use NONE or DEBUG` }; + } + } + return { valid: true }; } diff --git a/src/cli/commands/deploy/actions.ts b/src/cli/commands/deploy/actions.ts index 61819cfd..0ff77fbf 100644 --- a/src/cli/commands/deploy/actions.ts +++ b/src/cli/commands/deploy/actions.ts @@ -309,7 +309,7 @@ export async function handleDeploy(options: ValidatedDeployOptions): Promise 0; + const hasGateways = (mcpSpec?.agentCoreGateways?.length ?? 0) > 0; const deployStepName = hasGateways ? 'Deploying gateways...' : 'Deploy to AWS'; startStep(deployStepName); @@ -419,9 +419,14 @@ export async function handleDeploy(options: ValidatedDeployOptions): Promise 0 ? [...AGENT_NEXT_STEPS] : [...MEMORY_ONLY_NEXT_STEPS]; const notes: string[] = []; - if (agentNames.length > 0) { + if (agentNames.length > 0 || hasGateways) { try { - const tsResult = await setupTransactionSearch({ region: target.region, accountId: target.account, agentNames }); + const tsResult = await setupTransactionSearch({ + region: target.region, + accountId: target.account, + agentNames, + hasGateways, + }); if (tsResult.error) { logger.log(`Transaction search setup warning: ${tsResult.error}`, 'warn'); } else { diff --git a/src/cli/operations/deploy/__tests__/post-deploy-observability.test.ts b/src/cli/operations/deploy/__tests__/post-deploy-observability.test.ts index 17d37c68..9155a699 100644 --- a/src/cli/operations/deploy/__tests__/post-deploy-observability.test.ts +++ b/src/cli/operations/deploy/__tests__/post-deploy-observability.test.ts @@ -80,4 +80,36 @@ describe('setupTransactionSearch', () => { expect(result).toEqual({ success: false, error: 'Insufficient permissions' }); }); + + it('triggers when hasGateways is true and agentNames is empty', async () => { + const result = await setupTransactionSearch({ + region: 'us-west-2', + accountId: '111222333444', + agentNames: [], + hasGateways: true, + }); + expect(mockEnableTransactionSearch).toHaveBeenCalledWith('us-west-2', '111222333444', 100); + expect(result).toEqual({ success: true }); + }); + + it('skips when both agentNames empty and hasGateways false', async () => { + const result = await setupTransactionSearch({ + region: 'us-east-1', + accountId: '123456789012', + agentNames: [], + hasGateways: false, + }); + expect(result).toEqual({ success: true }); + expect(mockEnableTransactionSearch).not.toHaveBeenCalled(); + }); + + it('skips when agentNames empty and hasGateways undefined', async () => { + const result = await setupTransactionSearch({ + region: 'us-east-1', + accountId: '123456789012', + agentNames: [], + }); + expect(result).toEqual({ success: true }); + expect(mockEnableTransactionSearch).not.toHaveBeenCalled(); + }); }); diff --git a/src/cli/operations/deploy/post-deploy-observability.ts b/src/cli/operations/deploy/post-deploy-observability.ts index 1199e5f7..29539262 100644 --- a/src/cli/operations/deploy/post-deploy-observability.ts +++ b/src/cli/operations/deploy/post-deploy-observability.ts @@ -5,6 +5,7 @@ export interface TransactionSearchSetupOptions { region: string; accountId: string; agentNames: string[]; + hasGateways?: boolean; } export interface TransactionSearchSetupResult { @@ -26,7 +27,7 @@ export async function setupTransactionSearch( ): Promise { const { region, accountId, agentNames } = options; - if (agentNames.length === 0) { + if (agentNames.length === 0 && !options.hasGateways) { return { success: true }; } diff --git a/src/cli/primitives/GatewayPrimitive.ts b/src/cli/primitives/GatewayPrimitive.ts index 121df5b2..1ef75ab0 100644 --- a/src/cli/primitives/GatewayPrimitive.ts +++ b/src/cli/primitives/GatewayPrimitive.ts @@ -27,6 +27,7 @@ export interface AddGatewayOptions { agentClientSecret?: string; agents?: string; enableSemanticSearch?: boolean; + exceptionLevel?: string; } /** @@ -158,6 +159,7 @@ export class GatewayPrimitive extends BasePrimitive', 'Agent OAuth client secret') .option('--agents ', 'Comma-separated agent names') .option('--no-semantic-search', 'Disable semantic search for tool discovery') + .option('--exception-level ', 'Exception verbosity level', 'NONE') .option('--json', 'Output as JSON') .action(async (rawOptions: Record) => { const cliOptions = rawOptions as unknown as CLIAddGatewayOptions; @@ -189,6 +191,7 @@ export class GatewayPrimitive extends BasePrimitive ({ + mockConfigExists: vi.fn().mockReturnValue(true), + mockReadMcpSpec: vi.fn().mockResolvedValue({ agentCoreGateways: [] }), + mockWriteMcpSpec: vi.fn().mockResolvedValue(undefined), +})); + +vi.mock('../../../lib', () => { + const MockConfigIO = vi.fn(function (this: Record) { + this.configExists = mockConfigExists; + this.readMcpSpec = mockReadMcpSpec; + this.writeMcpSpec = mockWriteMcpSpec; + }); + return { + ConfigIO: MockConfigIO, + findConfigRoot: vi.fn().mockReturnValue('/fake/root'), + setEnvVar: vi.fn().mockResolvedValue(undefined), + }; +}); + +/** Extract the first gateway written to writeMcpSpec. */ +function getWrittenGateway() { + expect(mockWriteMcpSpec).toHaveBeenCalledTimes(1); + const spec = mockWriteMcpSpec.mock.calls[0]![0] as AgentCoreMcpSpec; + const gw = spec.agentCoreGateways[0]; + expect(gw).toBeDefined(); + return gw!; +} + +describe('GatewayPrimitive', () => { + let primitive: GatewayPrimitive; + + beforeEach(() => { + vi.clearAllMocks(); + mockReadMcpSpec.mockResolvedValue({ agentCoreGateways: [] }); + primitive = new GatewayPrimitive(); + }); + + describe('exceptionLevel', () => { + it('defaults to exceptionLevel NONE', async () => { + await primitive.add({ name: 'test-gw', authorizerType: 'NONE' }); + + const gw = getWrittenGateway(); + expect(gw.exceptionLevel).toBe('NONE'); + }); + + it('exceptionLevel DEBUG passes through', async () => { + await primitive.add({ name: 'test-gw', authorizerType: 'NONE', exceptionLevel: 'DEBUG' }); + + const gw = getWrittenGateway(); + expect(gw.exceptionLevel).toBe('DEBUG'); + }); + + it('invalid exceptionLevel falls back to NONE', async () => { + await primitive.add({ name: 'test-gw', authorizerType: 'NONE', exceptionLevel: 'VERBOSE' }); + + const gw = getWrittenGateway(); + expect(gw.exceptionLevel).toBe('NONE'); + }); + }); +}); diff --git a/src/cli/tui/hooks/useCreateMcp.ts b/src/cli/tui/hooks/useCreateMcp.ts index 55963f4f..aa6a76c0 100644 --- a/src/cli/tui/hooks/useCreateMcp.ts +++ b/src/cli/tui/hooks/useCreateMcp.ts @@ -29,6 +29,7 @@ export function useCreateGateway() { agentClientId: config.jwtConfig?.agentClientId, agentClientSecret: config.jwtConfig?.agentClientSecret, enableSemanticSearch: config.enableSemanticSearch, + exceptionLevel: config.exceptionLevel, }); if (!addResult.success) { throw new Error(addResult.error ?? 'Failed to create gateway'); diff --git a/src/cli/tui/screens/deploy/useDeployFlow.ts b/src/cli/tui/screens/deploy/useDeployFlow.ts index 52d02f02..52768307 100644 --- a/src/cli/tui/screens/deploy/useDeployFlow.ts +++ b/src/cli/tui/screens/deploy/useDeployFlow.ts @@ -380,12 +380,21 @@ export function useDeployFlow(options: DeployFlowOptions = {}): DeployFlowState const agentNames = context?.projectSpec.agents?.map((a: { name: string }) => a.name) ?? []; const targetRegion = context?.awsTargets[0]?.region; const targetAccount = context?.awsTargets[0]?.account; - if (agentNames.length > 0 && targetRegion && targetAccount) { + let hasGateways = false; + try { + const tsConfigIO = new ConfigIO(); + const mcpSpec = await tsConfigIO.readMcpSpec(); + hasGateways = (mcpSpec?.agentCoreGateways?.length ?? 0) > 0; + } catch { + // No mcp.json or invalid -- no gateways + } + if ((agentNames.length > 0 || hasGateways) && targetRegion && targetAccount) { try { const tsResult = await setupTransactionSearch({ region: targetRegion, accountId: targetAccount, agentNames, + hasGateways, }); if (tsResult.error) { logger.log(`Transaction search setup warning: ${tsResult.error}`, 'warn'); diff --git a/src/cli/tui/screens/mcp/AddGatewayScreen.tsx b/src/cli/tui/screens/mcp/AddGatewayScreen.tsx index 7303c333..4560214e 100644 --- a/src/cli/tui/screens/mcp/AddGatewayScreen.tsx +++ b/src/cli/tui/screens/mcp/AddGatewayScreen.tsx @@ -15,7 +15,12 @@ import { HELP_TEXT } from '../../constants'; import { useListNavigation, useMultiSelectNavigation } from '../../hooks'; import { generateUniqueName } from '../../utils'; import type { AddGatewayConfig } from './types'; -import { AUTHORIZER_TYPE_OPTIONS, GATEWAY_STEP_LABELS, SEMANTIC_SEARCH_ITEM_ID } from './types'; +import { + AUTHORIZER_TYPE_OPTIONS, + EXCEPTION_LEVEL_ITEM_ID, + GATEWAY_STEP_LABELS, + SEMANTIC_SEARCH_ITEM_ID, +} from './types'; import { useAddGatewayWizard } from './useAddGatewayWizard'; import { Box, Text } from 'ink'; import React, { useMemo, useState } from 'react'; @@ -51,7 +56,10 @@ export function AddGatewayScreen({ onComplete, onExit, existingGateways, unassig ); const advancedConfigItems: SelectableItem[] = useMemo( - () => [{ id: SEMANTIC_SEARCH_ITEM_ID, title: 'Semantic Search' }], + () => [ + { id: SEMANTIC_SEARCH_ITEM_ID, title: 'Semantic Search' }, + { id: EXCEPTION_LEVEL_ITEM_ID, title: 'Debug Exception Level' }, + ], [] ); @@ -83,7 +91,10 @@ export function AddGatewayScreen({ onComplete, onExit, existingGateways, unassig getId: item => item.id, initialSelectedIds: INITIAL_ADVANCED_SELECTED, onConfirm: selectedIds => - wizard.setAdvancedConfig({ enableSemanticSearch: selectedIds.includes(SEMANTIC_SEARCH_ITEM_ID) }), + wizard.setAdvancedConfig({ + enableSemanticSearch: selectedIds.includes(SEMANTIC_SEARCH_ITEM_ID), + exceptionLevel: selectedIds.includes(EXCEPTION_LEVEL_ITEM_ID) ? 'DEBUG' : 'NONE', + }), onExit: () => wizard.goBack(), isActive: isAdvancedConfigStep, requireSelection: false, @@ -273,6 +284,7 @@ export function AddGatewayScreen({ onComplete, onExit, existingGateways, unassig : '(none)', }, { label: 'Semantic Search', value: wizard.config.enableSemanticSearch ? 'Enabled' : 'Disabled' }, + { label: 'Exception Level', value: wizard.config.exceptionLevel === 'DEBUG' ? 'Debug' : 'None' }, ]} /> )} diff --git a/src/cli/tui/screens/mcp/__tests__/useAddGatewayWizard.test.tsx b/src/cli/tui/screens/mcp/__tests__/useAddGatewayWizard.test.tsx new file mode 100644 index 00000000..1ac03f01 --- /dev/null +++ b/src/cli/tui/screens/mcp/__tests__/useAddGatewayWizard.test.tsx @@ -0,0 +1,119 @@ +import type { GatewayExceptionLevel } from '../../../../../schema'; +import { useAddGatewayWizard } from '../useAddGatewayWizard'; +import { Text } from 'ink'; +import { render } from 'ink-testing-library'; +import React, { act, useImperativeHandle } from 'react'; +import { describe, expect, it } from 'vitest'; + +// --------------------------------------------------------------------------- +// Simple harness -- renders hook state as text for snapshot assertions +// --------------------------------------------------------------------------- + +function Harness() { + const wizard = useAddGatewayWizard(); + return ( + + exceptionLevel:{wizard.config.exceptionLevel} + enableSemanticSearch:{String(wizard.config.enableSemanticSearch)} + step:{wizard.step} + + ); +} + +// --------------------------------------------------------------------------- +// Imperative harness -- exposes wizard methods via ref for act()-based tests +// --------------------------------------------------------------------------- + +interface HarnessHandle { + setAdvancedConfig: (opts: { enableSemanticSearch: boolean; exceptionLevel: GatewayExceptionLevel }) => void; + setName: (name: string) => void; + setAuthorizerType: (type: 'NONE' | 'AWS_IAM' | 'CUSTOM_JWT') => void; +} + +const ImperativeHarness = React.forwardRef((_, ref) => { + const wizard = useAddGatewayWizard(); + useImperativeHandle(ref, () => ({ + setAdvancedConfig: wizard.setAdvancedConfig, + setName: wizard.setName, + setAuthorizerType: wizard.setAuthorizerType, + })); + return ( + + exceptionLevel:{wizard.config.exceptionLevel} + enableSemanticSearch:{String(wizard.config.enableSemanticSearch)} + step:{wizard.step} + + ); +}); +ImperativeHarness.displayName = 'ImperativeHarness'; + +// --------------------------------------------------------------------------- +// Tests +// --------------------------------------------------------------------------- + +describe('useAddGatewayWizard', () => { + describe('defaults', () => { + it('default config has exceptionLevel NONE', () => { + const { lastFrame } = render(); + expect(lastFrame()).toContain('exceptionLevel:NONE'); + }); + + it('default config has semantic search enabled', () => { + const { lastFrame } = render(); + expect(lastFrame()).toContain('enableSemanticSearch:true'); + }); + + it('default step is name', () => { + const { lastFrame } = render(); + expect(lastFrame()).toContain('step:name'); + }); + }); + + describe('setAdvancedConfig', () => { + it('setAdvancedConfig sets exception level to DEBUG', () => { + const ref = React.createRef(); + const { lastFrame } = render(); + + act(() => { + ref.current!.setAdvancedConfig({ + enableSemanticSearch: true, + exceptionLevel: 'DEBUG', + }); + }); + + expect(lastFrame()).toContain('exceptionLevel:DEBUG'); + }); + + it('setAdvancedConfig with all disabled', () => { + const ref = React.createRef(); + const { lastFrame } = render(); + + act(() => { + ref.current!.setAdvancedConfig({ + enableSemanticSearch: false, + exceptionLevel: 'NONE', + }); + }); + + expect(lastFrame()).toContain('enableSemanticSearch:false'); + expect(lastFrame()).toContain('exceptionLevel:NONE'); + }); + + it('setAdvancedConfig advances to confirm step', () => { + const ref = React.createRef(); + const { lastFrame } = render(); + + // Initially on the name step + expect(lastFrame()).toContain('step:name'); + + act(() => { + ref.current!.setAdvancedConfig({ + enableSemanticSearch: true, + exceptionLevel: 'NONE', + }); + }); + + expect(lastFrame()).toContain('step:confirm'); + }); + }); +}); diff --git a/src/cli/tui/screens/mcp/types.ts b/src/cli/tui/screens/mcp/types.ts index 1290b752..891dc142 100644 --- a/src/cli/tui/screens/mcp/types.ts +++ b/src/cli/tui/screens/mcp/types.ts @@ -1,6 +1,7 @@ import type { ApiGatewayHttpMethod, GatewayAuthorizerType, + GatewayExceptionLevel, GatewayTargetType, NodeRuntime, PythonRuntime, @@ -33,11 +34,16 @@ export interface AddGatewayConfig { selectedTargets?: string[]; /** Whether to enable semantic search for tool discovery */ enableSemanticSearch: boolean; + /** Exception verbosity level for the gateway */ + exceptionLevel: GatewayExceptionLevel; } /** Item ID for the semantic search toggle in the advanced config pane. */ export const SEMANTIC_SEARCH_ITEM_ID = 'semantic-search'; +/** Item ID for the debug exception level toggle in the advanced config pane. */ +export const EXCEPTION_LEVEL_ITEM_ID = 'exception-level'; + export const GATEWAY_STEP_LABELS: Record = { name: 'Name', authorizer: 'Authorizer', diff --git a/src/cli/tui/screens/mcp/useAddGatewayWizard.ts b/src/cli/tui/screens/mcp/useAddGatewayWizard.ts index d40f789a..eb05ef2a 100644 --- a/src/cli/tui/screens/mcp/useAddGatewayWizard.ts +++ b/src/cli/tui/screens/mcp/useAddGatewayWizard.ts @@ -1,4 +1,4 @@ -import type { GatewayAuthorizerType } from '../../../../schema'; +import type { GatewayAuthorizerType, GatewayExceptionLevel } from '../../../../schema'; import type { AddGatewayConfig, AddGatewayStep } from './types'; import { useCallback, useMemo, useState } from 'react'; @@ -10,6 +10,7 @@ function getDefaultConfig(): AddGatewayConfig { jwtConfig: undefined, selectedTargets: [], enableSemanticSearch: true, + exceptionLevel: 'NONE', }; } @@ -97,10 +98,17 @@ export function useAddGatewayWizard(unassignedTargetsCount = 0) { setStep('advanced-config'); }, []); - const setAdvancedConfig = useCallback((opts: { enableSemanticSearch: boolean }) => { - setConfig(c => ({ ...c, enableSemanticSearch: opts.enableSemanticSearch })); - setStep('confirm'); - }, []); + const setAdvancedConfig = useCallback( + (opts: { enableSemanticSearch: boolean; exceptionLevel: GatewayExceptionLevel }) => { + setConfig(c => ({ + ...c, + enableSemanticSearch: opts.enableSemanticSearch, + exceptionLevel: opts.exceptionLevel, + })); + setStep('confirm'); + }, + [] + ); const reset = useCallback(() => { setConfig(getDefaultConfig()); diff --git a/src/schema/llm-compacted/mcp.ts b/src/schema/llm-compacted/mcp.ts index c92bc1ed..a4b8f984 100644 --- a/src/schema/llm-compacted/mcp.ts +++ b/src/schema/llm-compacted/mcp.ts @@ -25,6 +25,8 @@ interface AgentCoreGateway { targets: AgentCoreGatewayTarget[]; /** Enable semantic search for tool discovery. @default true */ enableSemanticSearch?: boolean; // default true + /** Exception verbosity level. @default 'NONE' */ + exceptionLevel?: 'NONE' | 'DEBUG'; // default 'NONE' } interface AgentCoreGatewayTarget { diff --git a/src/schema/schemas/__tests__/mcp.test.ts b/src/schema/schemas/__tests__/mcp.test.ts index c7bf40c8..ef50c6e5 100644 --- a/src/schema/schemas/__tests__/mcp.test.ts +++ b/src/schema/schemas/__tests__/mcp.test.ts @@ -6,6 +6,7 @@ import { ApiGatewayConfigSchema, CustomJwtAuthorizerConfigSchema, GatewayAuthorizerTypeSchema, + GatewayExceptionLevelSchema, GatewayTargetTypeSchema, LambdaFunctionArnConfigSchema, McpImplLanguageSchema, @@ -305,6 +306,20 @@ describe('AgentCoreGatewayTargetSchema', () => { }); }); +describe('GatewayExceptionLevelSchema', () => { + it('accepts NONE', () => { + expect(GatewayExceptionLevelSchema.safeParse('NONE').success).toBe(true); + }); + + it('accepts DEBUG', () => { + expect(GatewayExceptionLevelSchema.safeParse('DEBUG').success).toBe(true); + }); + + it('rejects invalid level', () => { + expect(GatewayExceptionLevelSchema.safeParse('VERBOSE').success).toBe(false); + }); +}); + describe('AgentCoreGatewaySchema', () => { const validToolDef = { name: 'myTool', @@ -405,6 +420,33 @@ describe('AgentCoreGatewaySchema', () => { }); expect(result.success).toBe(false); }); + + it('defaults exceptionLevel to NONE when omitted', () => { + const result = AgentCoreGatewaySchema.safeParse(validGateway); + expect(result.success).toBe(true); + if (result.success) { + expect(result.data.exceptionLevel).toBe('NONE'); + } + }); + + it('accepts explicit exceptionLevel DEBUG', () => { + const result = AgentCoreGatewaySchema.safeParse({ + ...validGateway, + exceptionLevel: 'DEBUG', + }); + expect(result.success).toBe(true); + if (result.success) { + expect(result.data.exceptionLevel).toBe('DEBUG'); + } + }); + + it('rejects invalid exceptionLevel', () => { + const result = AgentCoreGatewaySchema.safeParse({ + ...validGateway, + exceptionLevel: 'VERBOSE', + }); + expect(result.success).toBe(false); + }); }); describe('AgentCoreMcpRuntimeToolSchema', () => { diff --git a/src/schema/schemas/mcp.ts b/src/schema/schemas/mcp.ts index c261c2fa..aa1e39df 100644 --- a/src/schema/schemas/mcp.ts +++ b/src/schema/schemas/mcp.ts @@ -586,6 +586,13 @@ export const AgentCoreGatewayTargetSchema = z export type AgentCoreGatewayTarget = z.infer; +// ============================================================================ +// Gateway Exception Level +// ============================================================================ + +export const GatewayExceptionLevelSchema = z.enum(['NONE', 'DEBUG']); +export type GatewayExceptionLevel = z.infer; + // ============================================================================ // Gateway // ============================================================================ @@ -605,6 +612,8 @@ export const AgentCoreGatewaySchema = z authorizerConfiguration: GatewayAuthorizerConfigSchema.optional(), /** Whether to enable semantic search for tool discovery. Defaults to true. */ enableSemanticSearch: z.boolean().default(true), + /** Exception verbosity level. 'NONE' = generic errors (default), 'DEBUG' = verbose errors. */ + exceptionLevel: GatewayExceptionLevelSchema.default('NONE'), }) .strict() .refine(