diff --git a/package-lock.json b/package-lock.json index adf2f642ef49ba0db39c6a9608de6665116a85d9..207e5328b0ba08a318c1f26d94ccf26fe7709bdf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -201,34 +201,34 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/client-s3": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.428.0.tgz", - "integrity": "sha512-qz4SV0sjeKC/m573Ox0wWhVABhN35cy0zBOvYixtEQNBzQbWefk8luHkNxntyybuLPZz6ChDzU98+EBac5RuRg==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.430.0.tgz", + "integrity": "sha512-KpK6mZsLyxfHTPfXA3Bnuu5li15QhhWCzhSPx6moH6XGPH0hVNHFy05DM9T/1exf6tEAQhi5FJrek9dM/sOdeA==", "dependencies": { "@aws-crypto/sha1-browser": "3.0.0", "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.428.0", - "@aws-sdk/credential-provider-node": "3.428.0", - "@aws-sdk/middleware-bucket-endpoint": "3.428.0", + "@aws-sdk/client-sts": "3.430.0", + "@aws-sdk/credential-provider-node": "3.430.0", + "@aws-sdk/middleware-bucket-endpoint": "3.430.0", "@aws-sdk/middleware-expect-continue": "3.428.0", "@aws-sdk/middleware-flexible-checksums": "3.428.0", - "@aws-sdk/middleware-host-header": "3.428.0", + "@aws-sdk/middleware-host-header": "3.429.0", "@aws-sdk/middleware-location-constraint": "3.428.0", "@aws-sdk/middleware-logger": "3.428.0", "@aws-sdk/middleware-recursion-detection": "3.428.0", - "@aws-sdk/middleware-sdk-s3": "3.428.0", + "@aws-sdk/middleware-sdk-s3": "3.429.0", "@aws-sdk/middleware-signing": "3.428.0", "@aws-sdk/middleware-ssec": "3.428.0", "@aws-sdk/middleware-user-agent": "3.428.0", - "@aws-sdk/region-config-resolver": "3.428.0", + "@aws-sdk/region-config-resolver": "3.430.0", "@aws-sdk/signature-v4-multi-region": "3.428.0", "@aws-sdk/types": "3.428.0", "@aws-sdk/util-endpoints": "3.428.0", "@aws-sdk/util-user-agent-browser": "3.428.0", - "@aws-sdk/util-user-agent-node": "3.428.0", + "@aws-sdk/util-user-agent-node": "3.430.0", "@aws-sdk/xml-builder": "3.310.0", - "@smithy/config-resolver": "^2.0.14", + "@smithy/config-resolver": "^2.0.15", "@smithy/eventstream-serde-browser": "^2.0.11", "@smithy/eventstream-serde-config-resolver": "^2.0.11", "@smithy/eventstream-serde-node": "^2.0.11", @@ -239,11 +239,11 @@ "@smithy/invalid-dependency": "^2.0.11", "@smithy/md5-js": "^2.0.11", "@smithy/middleware-content-length": "^2.0.13", - "@smithy/middleware-endpoint": "^2.1.0", - "@smithy/middleware-retry": "^2.0.16", + "@smithy/middleware-endpoint": "^2.1.2", + "@smithy/middleware-retry": "^2.0.17", "@smithy/middleware-serde": "^2.0.11", "@smithy/middleware-stack": "^2.0.5", - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/node-http-handler": "^2.1.7", "@smithy/protocol-http": "^3.0.7", "@smithy/smithy-client": "^2.1.11", @@ -253,7 +253,7 @@ "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.15", - "@smithy/util-defaults-mode-node": "^2.0.19", + "@smithy/util-defaults-mode-node": "^2.0.20", "@smithy/util-retry": "^2.0.4", "@smithy/util-stream": "^2.0.16", "@smithy/util-utf8": "^2.0.0", @@ -266,31 +266,31 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.428.0.tgz", - "integrity": "sha512-6BuY7cd1licnCZTKuI/IK3ycKATIgsG53TuaK1hZcikwUB2Oiu2z6K+aWpmO9mJuJ6qAoE4dLlAy6lBBBkG6yQ==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.430.0.tgz", + "integrity": "sha512-NxQJkTZCgl6LpdY12MCwsqGned6Ax19WsTCGLEiA/tsNE4vNrYLHHBR317G0sGWbIUQuhwsoM7wIrqJO7CacuQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.428.0", + "@aws-sdk/middleware-host-header": "3.429.0", "@aws-sdk/middleware-logger": "3.428.0", "@aws-sdk/middleware-recursion-detection": "3.428.0", "@aws-sdk/middleware-user-agent": "3.428.0", - "@aws-sdk/region-config-resolver": "3.428.0", + "@aws-sdk/region-config-resolver": "3.430.0", "@aws-sdk/types": "3.428.0", "@aws-sdk/util-endpoints": "3.428.0", "@aws-sdk/util-user-agent-browser": "3.428.0", - "@aws-sdk/util-user-agent-node": "3.428.0", - "@smithy/config-resolver": "^2.0.14", + "@aws-sdk/util-user-agent-node": "3.430.0", + "@smithy/config-resolver": "^2.0.15", "@smithy/fetch-http-handler": "^2.2.3", "@smithy/hash-node": "^2.0.11", "@smithy/invalid-dependency": "^2.0.11", "@smithy/middleware-content-length": "^2.0.13", - "@smithy/middleware-endpoint": "^2.1.0", - "@smithy/middleware-retry": "^2.0.16", + "@smithy/middleware-endpoint": "^2.1.2", + "@smithy/middleware-retry": "^2.0.17", "@smithy/middleware-serde": "^2.0.11", "@smithy/middleware-stack": "^2.0.5", - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/node-http-handler": "^2.1.7", "@smithy/protocol-http": "^3.0.7", "@smithy/smithy-client": "^2.1.11", @@ -300,7 +300,7 @@ "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.15", - "@smithy/util-defaults-mode-node": "^2.0.19", + "@smithy/util-defaults-mode-node": "^2.0.20", "@smithy/util-retry": "^2.0.4", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" @@ -310,34 +310,34 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.428.0.tgz", - "integrity": "sha512-ko9hgmIkS5FNPYtT3pntGGmp+yi+VXBEgePUBoplEKjCxsX/aTgFcq2Rs9duD9/CzkThd42Z0l0fWsVAErVxWQ==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.430.0.tgz", + "integrity": "sha512-njUY3QeZH0CG+tG/6jhoG+Zr7rI1aGoVkZi3l6woKTz57hIlkwu2jQlLbJujm7PKrLhPaN5+4AqBQuHFVgMobw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.428.0", - "@aws-sdk/middleware-host-header": "3.428.0", + "@aws-sdk/credential-provider-node": "3.430.0", + "@aws-sdk/middleware-host-header": "3.429.0", "@aws-sdk/middleware-logger": "3.428.0", "@aws-sdk/middleware-recursion-detection": "3.428.0", "@aws-sdk/middleware-sdk-sts": "3.428.0", "@aws-sdk/middleware-signing": "3.428.0", "@aws-sdk/middleware-user-agent": "3.428.0", - "@aws-sdk/region-config-resolver": "3.428.0", + "@aws-sdk/region-config-resolver": "3.430.0", "@aws-sdk/types": "3.428.0", "@aws-sdk/util-endpoints": "3.428.0", "@aws-sdk/util-user-agent-browser": "3.428.0", - "@aws-sdk/util-user-agent-node": "3.428.0", - "@smithy/config-resolver": "^2.0.14", + "@aws-sdk/util-user-agent-node": "3.430.0", + "@smithy/config-resolver": "^2.0.15", "@smithy/fetch-http-handler": "^2.2.3", "@smithy/hash-node": "^2.0.11", "@smithy/invalid-dependency": "^2.0.11", "@smithy/middleware-content-length": "^2.0.13", - "@smithy/middleware-endpoint": "^2.1.0", - "@smithy/middleware-retry": "^2.0.16", + "@smithy/middleware-endpoint": "^2.1.2", + "@smithy/middleware-retry": "^2.0.17", "@smithy/middleware-serde": "^2.0.11", "@smithy/middleware-stack": "^2.0.5", - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/node-http-handler": "^2.1.7", "@smithy/protocol-http": "^3.0.7", "@smithy/smithy-client": "^2.1.11", @@ -347,7 +347,7 @@ "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.15", - "@smithy/util-defaults-mode-node": "^2.0.19", + "@smithy/util-defaults-mode-node": "^2.0.20", "@smithy/util-retry": "^2.0.4", "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", @@ -372,13 +372,13 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.428.0.tgz", - "integrity": "sha512-JPc0pVAsP8fOfMxhmPhp7PjddqHaPGBwgVI+wgbkFRUDOmeKCVhoxCB8Womx0R07qRqD5ZCUKBS2NHQ2b3MFRQ==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.430.0.tgz", + "integrity": "sha512-m3NcmDyVYr/w8RV9kMArrA/0982aXMsvoSXi4wFVbgg/T5hO+6i5CY7fB/0xpKIuEJ+rw63rYNnBzLwwW48kWg==", "dependencies": { "@aws-sdk/credential-provider-env": "3.428.0", "@aws-sdk/credential-provider-process": "3.428.0", - "@aws-sdk/credential-provider-sso": "3.428.0", + "@aws-sdk/credential-provider-sso": "3.430.0", "@aws-sdk/credential-provider-web-identity": "3.428.0", "@aws-sdk/types": "3.428.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -392,14 +392,14 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.428.0.tgz", - "integrity": "sha512-o8toLXf6/sklBpw2e1mzAUq6SvXQzT6iag7Xbg9E0Z2EgVeXLTnWeVto3ilU3cmhTHXBp6wprwUUq2jbjTxMcg==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.430.0.tgz", + "integrity": "sha512-ItOHJcqOhpI0QM+aho5uMrk2ZP34hsdisMHxd8/6FT41U8TOe9kQKaZ2l2AsVf4QuM6RJe2LangcVGGstCf8Sw==", "dependencies": { "@aws-sdk/credential-provider-env": "3.428.0", - "@aws-sdk/credential-provider-ini": "3.428.0", + "@aws-sdk/credential-provider-ini": "3.430.0", "@aws-sdk/credential-provider-process": "3.428.0", - "@aws-sdk/credential-provider-sso": "3.428.0", + "@aws-sdk/credential-provider-sso": "3.430.0", "@aws-sdk/credential-provider-web-identity": "3.428.0", "@aws-sdk/types": "3.428.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -428,12 +428,12 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.428.0.tgz", - "integrity": "sha512-sW2+kSlICSNntsNhLV5apqJkIOXH5hFISCjwVfyB9JXJQDAj8rzkiFfRsKwQ3aTlTYCysrGesIn46+GRP5AgZw==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.430.0.tgz", + "integrity": "sha512-6de/aH9OFI+Ah7hL4alrZFqiNw5D6F+R92tLbIpFRQg7DxO/TuQTTtK94mLkft/AP/mGzVVBENjsyS1nJt166w==", "dependencies": { - "@aws-sdk/client-sso": "3.428.0", - "@aws-sdk/token-providers": "3.428.0", + "@aws-sdk/client-sso": "3.430.0", + "@aws-sdk/token-providers": "3.430.0", "@aws-sdk/types": "3.428.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", @@ -459,12 +459,12 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.428.0.tgz", - "integrity": "sha512-ug2V9DoRKtGSYAZ3v5xAUXb046QSt1sMq/Z6RFm5p8yPRGZ4wLzjLIC0Dx0AibRpO6kPasZENWruwE5+yGPbxg==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.430.0.tgz", + "integrity": "sha512-CPBu7lBGYAbQ/PeTLNXYvBYJ9A1y/vbochfOxB9Eru6lzRZjxwEy+MgHTSB9pNqTi+1L2o4xznPnZ3itjWkUOw==", "dependencies": { "@smithy/abort-controller": "^2.0.1", - "@smithy/middleware-endpoint": "^2.1.0", + "@smithy/middleware-endpoint": "^2.1.2", "@smithy/smithy-client": "^2.1.11", "buffer": "5.6.0", "events": "3.3.0", @@ -479,13 +479,13 @@ } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.428.0.tgz", - "integrity": "sha512-xZ/o6E7icVVTFlOLBKrIQJqFToL0KmWEGLFcaHhgCNz5gppEK2iGH9GondQotQPesiEyi46HwzM6GLNRylELww==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.430.0.tgz", + "integrity": "sha512-oK0WTNpMQFewSIYcL3LPm+S46uUWFILlPYK0fEeYdMXn03380JqS9oIKOFFX7w6DhYY1ePHZI721ee1HiCtDvw==", "dependencies": { "@aws-sdk/types": "3.428.0", "@aws-sdk/util-arn-parser": "3.310.0", - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/protocol-http": "^3.0.7", "@smithy/types": "^2.3.5", "@smithy/util-config-provider": "^2.0.0", @@ -528,9 +528,9 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.428.0.tgz", - "integrity": "sha512-iIHbW5Ym60ol9Q6vsLnaiNdeUIa9DA0OuoOe9LiHC8SYUYVAAhE+xJXUhn1qk/J7z+4qGOkDnVyEvnSaqRPL/w==", + "version": "3.429.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.429.0.tgz", + "integrity": "sha512-3v9WoDCmbfH28znQ43cQLvLlm8fhJFIDJLW19moFI8QbXMv85yojGEphBMlT2XZUw79+tyh7GWLFaNugYZ1o9A==", "dependencies": { "@aws-sdk/types": "3.428.0", "@smithy/protocol-http": "^3.0.7", @@ -582,9 +582,9 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.428.0.tgz", - "integrity": "sha512-C9hJlzMGlDeVNn91TvC6lsTplnH4hFPM2kiuMha5A/EXPPOg9c5vFH5awL3ubEiIUPwwDu3d583hvsPd6G3qxA==", + "version": "3.429.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.429.0.tgz", + "integrity": "sha512-wCT5GoExncHUzUbW8b9q/PN3uPsbxit4PUAHw/hkrIHDKOxd9H/ClM37ZeJHNEOml5hnJOPy+rOaF9jRqo8dGg==", "dependencies": { "@aws-sdk/types": "3.428.0", "@aws-sdk/util-arn-parser": "3.310.0", @@ -657,11 +657,11 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.428.0.tgz", - "integrity": "sha512-VqyHZ/Hoz3WrXXMx8cAhFBl8IpjodbRsTjBI117QPq1YRCegxNdGvqmGZnJj8N2Ef9MP1iU30ZWQB+sviDcogA==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.430.0.tgz", + "integrity": "sha512-9lqgtkcd4dqsQ2yN6V/i06blyDh4yLmS+fAS7LwEZih/NZZ2cBIR+5kb9c236auvTcuMcL1zFxVRloWwesYZjA==", "dependencies": { - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/types": "^2.3.5", "@smithy/util-config-provider": "^2.0.0", "@smithy/util-middleware": "^2.0.4", @@ -672,14 +672,14 @@ } }, "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.428.0.tgz", - "integrity": "sha512-Jup4vrMm4Xk/5aEitktjtFmFW21PQsqA4MXvhxEaUh6yk9CgLKKGIk4UvyazaNrCEqo/G/EsnMGandXN5wYnpw==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.430.0.tgz", + "integrity": "sha512-8+vatOoqEQTwhNXOG6QoTJ6Fszaagc+bQpgfKbRIotCLGh7g4/qgQXo73LVyFVLkS4Tg2bn/KHN8aG3qTPd1KQ==", "dependencies": { "@aws-sdk/signature-v4-multi-region": "3.428.0", "@aws-sdk/types": "3.428.0", "@aws-sdk/util-format-url": "3.428.0", - "@smithy/middleware-endpoint": "^2.1.0", + "@smithy/middleware-endpoint": "^2.1.2", "@smithy/protocol-http": "^3.0.7", "@smithy/smithy-client": "^2.1.11", "@smithy/types": "^2.3.5", @@ -705,30 +705,30 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.428.0.tgz", - "integrity": "sha512-Jciofr//rB1v1FLxADkXoHOCmYyiv2HVNlOq3z5Zkch9ipItOfD6X7f4G4n+IZzElIFzwe4OKoBtJfcnnfo3Pg==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.430.0.tgz", + "integrity": "sha512-vE+QnqG0A4MWhMEFXXPg8gPXjw03b4Q3XZbHyrANoZ+tVrzh8JhpHIcbkesGh6WrjirNqId0UghzI9VanKxsLw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.428.0", + "@aws-sdk/middleware-host-header": "3.429.0", "@aws-sdk/middleware-logger": "3.428.0", "@aws-sdk/middleware-recursion-detection": "3.428.0", "@aws-sdk/middleware-user-agent": "3.428.0", "@aws-sdk/types": "3.428.0", "@aws-sdk/util-endpoints": "3.428.0", "@aws-sdk/util-user-agent-browser": "3.428.0", - "@aws-sdk/util-user-agent-node": "3.428.0", - "@smithy/config-resolver": "^2.0.14", + "@aws-sdk/util-user-agent-node": "3.430.0", + "@smithy/config-resolver": "^2.0.15", "@smithy/fetch-http-handler": "^2.2.3", "@smithy/hash-node": "^2.0.11", "@smithy/invalid-dependency": "^2.0.11", "@smithy/middleware-content-length": "^2.0.13", - "@smithy/middleware-endpoint": "^2.1.0", - "@smithy/middleware-retry": "^2.0.16", + "@smithy/middleware-endpoint": "^2.1.2", + "@smithy/middleware-retry": "^2.0.17", "@smithy/middleware-serde": "^2.0.11", "@smithy/middleware-stack": "^2.0.5", - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/node-http-handler": "^2.1.7", "@smithy/property-provider": "^2.0.0", "@smithy/protocol-http": "^3.0.7", @@ -740,7 +740,7 @@ "@smithy/util-body-length-browser": "^2.0.0", "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.15", - "@smithy/util-defaults-mode-node": "^2.0.19", + "@smithy/util-defaults-mode-node": "^2.0.20", "@smithy/util-retry": "^2.0.4", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" @@ -821,12 +821,12 @@ } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.428.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.428.0.tgz", - "integrity": "sha512-s721C3H8TkNd0usWLPEAy7yW2lEglR8QAYojdQGzE0e0wymc671nZAFePSZFRtmqZiFOSfk0R602L5fDbP3a8Q==", + "version": "3.430.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.430.0.tgz", + "integrity": "sha512-DPpFPL3mFMPtipFxjY7TKQBjnhmsPzYCr4Y+qna0oR6ij8jZOz2ILQDK33GxTRNh3+bV9YYbx+ZGDOnxoK5Mhw==", "dependencies": { "@aws-sdk/types": "3.428.0", - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/types": "^2.3.5", "tslib": "^2.5.0" }, @@ -895,9 +895,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.4.tgz", - "integrity": "sha512-uBIbiYMeSsy2U0XQoOGVVcpIktjLMEKa7ryz2RLr7L/vTnANNEsPVAh4xOv7ondGz6ac1zVb0F8Jx20rQikffQ==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.5.tgz", + "integrity": "sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==", "cpu": [ "arm" ], @@ -912,9 +912,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.4.tgz", - "integrity": "sha512-mRsi2vJsk4Bx/AFsNBqOH2fqedxn5L/moT58xgg51DjX1la64Z3Npicut2VbhvDFO26qjWtPMsVxCd80YTFVeg==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.5.tgz", + "integrity": "sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==", "cpu": [ "arm64" ], @@ -929,9 +929,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.4.tgz", - "integrity": "sha512-4iPufZ1TMOD3oBlGFqHXBpa3KFT46aLl6Vy7gwed0ZSYgHaZ/mihbYb4t7Z9etjkC9Al3ZYIoOaHrU60gcMy7g==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.5.tgz", + "integrity": "sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==", "cpu": [ "x64" ], @@ -946,9 +946,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.4.tgz", - "integrity": "sha512-Lviw8EzxsVQKpbS+rSt6/6zjn9ashUZ7Tbuvc2YENgRl0yZTktGlachZ9KMJUsVjZEGFVu336kl5lBgDN6PmpA==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz", + "integrity": "sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==", "cpu": [ "arm64" ], @@ -963,9 +963,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.4.tgz", - "integrity": "sha512-YHbSFlLgDwglFn0lAO3Zsdrife9jcQXQhgRp77YiTDja23FrC2uwnhXMNkAucthsf+Psr7sTwYEryxz6FPAVqw==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.5.tgz", + "integrity": "sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==", "cpu": [ "x64" ], @@ -980,9 +980,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.4.tgz", - "integrity": "sha512-vz59ijyrTG22Hshaj620e5yhs2dU1WJy723ofc+KUgxVCM6zxQESmWdMuVmUzxtGqtj5heHyB44PjV/HKsEmuQ==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.5.tgz", + "integrity": "sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==", "cpu": [ "arm64" ], @@ -997,9 +997,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.4.tgz", - "integrity": "sha512-3sRbQ6W5kAiVQRBWREGJNd1YE7OgzS0AmOGjDmX/qZZecq8NFlQsQH0IfXjjmD0XtUYqr64e0EKNFjMUlPL3Cw==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.5.tgz", + "integrity": "sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==", "cpu": [ "x64" ], @@ -1014,9 +1014,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.4.tgz", - "integrity": "sha512-z/4ArqOo9EImzTi4b6Vq+pthLnepFzJ92BnofU1jgNlcVb+UqynVFdoXMCFreTK7FdhqAzH0vmdwW5373Hm9pg==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.5.tgz", + "integrity": "sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==", "cpu": [ "arm" ], @@ -1031,9 +1031,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.4.tgz", - "integrity": "sha512-ZWmWORaPbsPwmyu7eIEATFlaqm0QGt+joRE9sKcnVUG3oBbr/KYdNE2TnkzdQwX6EDRdg/x8Q4EZQTXoClUqqA==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz", + "integrity": "sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==", "cpu": [ "arm64" ], @@ -1048,9 +1048,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.4.tgz", - "integrity": "sha512-EGc4vYM7i1GRUIMqRZNCTzJh25MHePYsnQfKDexD8uPTCm9mK56NIL04LUfX2aaJ+C9vyEp2fJ7jbqFEYgO9lQ==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.5.tgz", + "integrity": "sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==", "cpu": [ "ia32" ], @@ -1065,9 +1065,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.4.tgz", - "integrity": "sha512-WVhIKO26kmm8lPmNrUikxSpXcgd6HDog0cx12BUfA2PkmURHSgx9G6vA19lrlQOMw+UjMZ+l3PpbtzffCxFDRg==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.5.tgz", + "integrity": "sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==", "cpu": [ "loong64" ], @@ -1082,9 +1082,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.4.tgz", - "integrity": "sha512-keYY+Hlj5w86hNp5JJPuZNbvW4jql7c1eXdBUHIJGTeN/+0QFutU3GrS+c27L+NTmzi73yhtojHk+lr2+502Mw==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.5.tgz", + "integrity": "sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==", "cpu": [ "mips64el" ], @@ -1099,9 +1099,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.4.tgz", - "integrity": "sha512-tQ92n0WMXyEsCH4m32S21fND8VxNiVazUbU4IUGVXQpWiaAxOBvtOtbEt3cXIV3GEBydYsY8pyeRMJx9kn3rvw==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.5.tgz", + "integrity": "sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==", "cpu": [ "ppc64" ], @@ -1116,9 +1116,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.4.tgz", - "integrity": "sha512-tRRBey6fG9tqGH6V75xH3lFPpj9E8BH+N+zjSUCnFOX93kEzqS0WdyJHkta/mmJHn7MBaa++9P4ARiU4ykjhig==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.5.tgz", + "integrity": "sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==", "cpu": [ "riscv64" ], @@ -1133,9 +1133,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.4.tgz", - "integrity": "sha512-152aLpQqKZYhThiJ+uAM4PcuLCAOxDsCekIbnGzPKVBRUDlgaaAfaUl5NYkB1hgY6WN4sPkejxKlANgVcGl9Qg==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.5.tgz", + "integrity": "sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==", "cpu": [ "s390x" ], @@ -1150,9 +1150,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.4.tgz", - "integrity": "sha512-Mi4aNA3rz1BNFtB7aGadMD0MavmzuuXNTaYL6/uiYIs08U7YMPETpgNn5oue3ICr+inKwItOwSsJDYkrE9ekVg==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz", + "integrity": "sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==", "cpu": [ "x64" ], @@ -1167,9 +1167,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.4.tgz", - "integrity": "sha512-9+Wxx1i5N/CYo505CTT7T+ix4lVzEdz0uCoYGxM5JDVlP2YdDC1Bdz+Khv6IbqmisT0Si928eAxbmGkcbiuM/A==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz", + "integrity": "sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==", "cpu": [ "x64" ], @@ -1184,9 +1184,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.4.tgz", - "integrity": "sha512-MFsHleM5/rWRW9EivFssop+OulYVUoVcqkyOkjiynKBCGBj9Lihl7kh9IzrreDyXa4sNkquei5/DTP4uCk25xw==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz", + "integrity": "sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==", "cpu": [ "x64" ], @@ -1201,9 +1201,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.4.tgz", - "integrity": "sha512-6Xq8SpK46yLvrGxjp6HftkDwPP49puU4OF0hEL4dTxqCbfx09LyrbUj/D7tmIRMj5D5FCUPksBbxyQhp8tmHzw==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.5.tgz", + "integrity": "sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==", "cpu": [ "x64" ], @@ -1218,9 +1218,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.4.tgz", - "integrity": "sha512-PkIl7Jq4mP6ke7QKwyg4fD4Xvn8PXisagV/+HntWoDEdmerB2LTukRZg728Yd1Fj+LuEX75t/hKXE2Ppk8Hh1w==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.5.tgz", + "integrity": "sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==", "cpu": [ "arm64" ], @@ -1235,9 +1235,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.4.tgz", - "integrity": "sha512-ga676Hnvw7/ycdKB53qPusvsKdwrWzEyJ+AtItHGoARszIqvjffTwaaW3b2L6l90i7MO9i+dlAW415INuRhSGg==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.5.tgz", + "integrity": "sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==", "cpu": [ "ia32" ], @@ -1252,9 +1252,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.4.tgz", - "integrity": "sha512-HP0GDNla1T3ZL8Ko/SHAS2GgtjOg+VmWnnYLhuTksr++EnduYB0f3Y2LzHsUwb2iQ13JGoY6G3R8h6Du/WG6uA==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.5.tgz", + "integrity": "sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==", "cpu": [ "x64" ], @@ -1504,11 +1504,11 @@ } }, "node_modules/@smithy/config-resolver": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.14.tgz", - "integrity": "sha512-K1K+FuWQoy8j/G7lAmK85o03O89s2Vvh6kMFmzEmiHUoQCRH1rzbDtMnGNiaMHeSeYJ6y79IyTusdRG+LuWwtg==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.15.tgz", + "integrity": "sha512-a2Pfocla5nSrG2RyB8i20jcWgMyR71TUeFKm8pmrnZotr/X22tlg4y/EhSvBK2oTE8MKHlKh4YdpDO2AryJbGQ==", "dependencies": { - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/types": "^2.3.5", "@smithy/util-config-provider": "^2.0.0", "@smithy/util-middleware": "^2.0.4", @@ -1519,11 +1519,11 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.16.tgz", - "integrity": "sha512-tKa2xF+69TvGxJT+lnJpGrKxUuAZDLYXFhqnPEgnHz+psTpkpcB4QRjHj63+uj83KaeFJdTfW201eLZeRn6FfA==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.17.tgz", + "integrity": "sha512-2XcD414yrwbxxuYueTo7tzLC2/w3jj9FZqfenpv3MQkocdOEmuOVS0v9WHsY/nW6V+2EcR340rj/z5HnvsHncQ==", "dependencies": { - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/property-provider": "^2.0.12", "@smithy/types": "^2.3.5", "@smithy/url-parser": "^2.0.11", @@ -1689,13 +1689,13 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.1.tgz", - "integrity": "sha512-YAqGagBvHqDEew4EGz9BrQ7M+f+u7ck9EL4zzYirOhIcXeBS/+q4A5+ObHDDwEp38lD6t88YUtFy3OptqEaDQg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.2.tgz", + "integrity": "sha512-dua4r2EbSTRzNefz72snz+KDuXN73RCe1K+rGeemzUyYemxuh1jujFbLQbTU6DVlTgHkhtrbH0+kdOFY/SV4Qg==", "dependencies": { "@smithy/middleware-serde": "^2.0.11", - "@smithy/node-config-provider": "^2.1.1", - "@smithy/shared-ini-file-loader": "^2.2.0", + "@smithy/node-config-provider": "^2.1.2", + "@smithy/shared-ini-file-loader": "^2.2.1", "@smithy/types": "^2.3.5", "@smithy/url-parser": "^2.0.11", "@smithy/util-middleware": "^2.0.4", @@ -1706,11 +1706,11 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.16.tgz", - "integrity": "sha512-Br5+0yoiMS0ugiOAfJxregzMMGIRCbX4PYo1kDHtLgvkA/d++aHbnHB819m5zOIAMPvPE7AThZgcsoK+WOsUTA==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.17.tgz", + "integrity": "sha512-ZYVU1MmshCTbEKTNc5h7/Pps1vhH5C7hRclQWnAbVYKkIT+PEGu9dSVqprzEo/nlMA8Zv4Dj5Y+fv3pRnUwElw==", "dependencies": { - "@smithy/node-config-provider": "^2.1.1", + "@smithy/node-config-provider": "^2.1.2", "@smithy/protocol-http": "^3.0.7", "@smithy/service-error-classification": "^2.0.4", "@smithy/types": "^2.3.5", @@ -1748,12 +1748,12 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.1.tgz", - "integrity": "sha512-1lF6s1YWBi1LBu2O30tD3jyTgMtuvk/Z1twzXM4GPYe4dmZix4nNREPJIPOcfFikNU2o0eTYP80+izx5F2jIJA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.2.tgz", + "integrity": "sha512-tbYh/JK/ddxKWYTtjLgap0juyivJ0wCvywMqINb54zyOVHoKYM6iYl7DosQA0owFaNp6GAx1lXFjqGz7L2fAqA==", "dependencies": { "@smithy/property-provider": "^2.0.12", - "@smithy/shared-ini-file-loader": "^2.2.0", + "@smithy/shared-ini-file-loader": "^2.2.1", "@smithy/types": "^2.3.5", "tslib": "^2.5.0" }, @@ -1837,9 +1837,9 @@ } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.0.tgz", - "integrity": "sha512-xFXqs4vAb5BdkzHSRrTapFoaqS4/3m/CGZzdw46fBjYZ0paYuLAoMY60ICCn1FfGirG+PiJ3eWcqJNe4/SkfyA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.1.tgz", + "integrity": "sha512-eAYajwo2eTTVU5KPX90+V6ccfrWphrzcUwOt7n9pLOMBO0fOKlRVshbvCBqfRCxEn7OYDGH6TsL3yrx+hAjddA==", "dependencies": { "@smithy/types": "^2.3.5", "tslib": "^2.5.0" @@ -1971,13 +1971,13 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.19.tgz", - "integrity": "sha512-7pScU4jBFADB2MBYKM3zb5onMh6Nn0X3IfaFVLYPyCarTIZDLUtUl1GtruzEUJPmDzP+uGeqOtU589HDY0Ni6g==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.20.tgz", + "integrity": "sha512-kJjcZ/Lzvs3sPDKBwlhZsFFcgPNIpB3CMb6/saCakawRzo0E+JkyS3ZZRjVR3ce29yHtwoP/0YLKC1PeH0Dffg==", "dependencies": { - "@smithy/config-resolver": "^2.0.14", - "@smithy/credential-provider-imds": "^2.0.16", - "@smithy/node-config-provider": "^2.1.1", + "@smithy/config-resolver": "^2.0.15", + "@smithy/credential-provider-imds": "^2.0.17", + "@smithy/node-config-provider": "^2.1.2", "@smithy/property-provider": "^2.0.12", "@smithy/smithy-client": "^2.1.11", "@smithy/types": "^2.3.5", @@ -2084,27 +2084,27 @@ "dev": true }, "node_modules/@types/bootstrap": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.7.tgz", - "integrity": "sha512-vWs0HzobIB8Af2F0B1GXpaVLSVn1NWULDYgTIWp08Et/r2B3aAwwhFBeOs/rRFWJA38EZTXkWP3tepIjpQkpLg==", + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.8.tgz", + "integrity": "sha512-14do+aWZPc1w3G+YevSsy8eas1XEPhTOUNBhQX/r12YKn7ySssATJusBQ/HCQAd2nq54U8vvrftHSb1YpeJUXg==", "dev": true, "dependencies": { "@popperjs/core": "^2.9.2" } }, "node_modules/@types/dompurify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.3.tgz", - "integrity": "sha512-odiGr/9/qMqjcBOe5UhcNLOFHSYmKFOyr+bJ/Xu3Qp4k1pNPAlNLUVNNLcLfjQI7+W7ObX58EdD3H+3p3voOvA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-3.0.4.tgz", + "integrity": "sha512-1Jk8S/IRzNSbwQRbuGuLFHviwxQ8pX81ZEW3INY9432Cwb4VedkBYan8gSIXVLOLHBtimOmUTEYphjRVmo+30g==", "dev": true, "dependencies": { "@types/trusted-types": "*" } }, "node_modules/@types/json-schema": { - "version": "7.0.13", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", - "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "dev": true }, "node_modules/@types/node": { @@ -3322,9 +3322,9 @@ } }, "node_modules/esbuild": { - "version": "0.19.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.4.tgz", - "integrity": "sha512-x7jL0tbRRpv4QUyuDMjONtWFciygUxWaUM1kMX2zWxI0X2YWOt7MSA0g4UdeSiHM8fcYVzpQhKYOycZwxTdZkA==", + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.5.tgz", + "integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==", "dev": true, "hasInstallScript": true, "peer": true, @@ -3335,28 +3335,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.19.4", - "@esbuild/android-arm64": "0.19.4", - "@esbuild/android-x64": "0.19.4", - "@esbuild/darwin-arm64": "0.19.4", - "@esbuild/darwin-x64": "0.19.4", - "@esbuild/freebsd-arm64": "0.19.4", - "@esbuild/freebsd-x64": "0.19.4", - "@esbuild/linux-arm": "0.19.4", - "@esbuild/linux-arm64": "0.19.4", - "@esbuild/linux-ia32": "0.19.4", - "@esbuild/linux-loong64": "0.19.4", - "@esbuild/linux-mips64el": "0.19.4", - "@esbuild/linux-ppc64": "0.19.4", - "@esbuild/linux-riscv64": "0.19.4", - "@esbuild/linux-s390x": "0.19.4", - "@esbuild/linux-x64": "0.19.4", - "@esbuild/netbsd-x64": "0.19.4", - "@esbuild/openbsd-x64": "0.19.4", - "@esbuild/sunos-x64": "0.19.4", - "@esbuild/win32-arm64": "0.19.4", - "@esbuild/win32-ia32": "0.19.4", - "@esbuild/win32-x64": "0.19.4" + "@esbuild/android-arm": "0.19.5", + "@esbuild/android-arm64": "0.19.5", + "@esbuild/android-x64": "0.19.5", + "@esbuild/darwin-arm64": "0.19.5", + "@esbuild/darwin-x64": "0.19.5", + "@esbuild/freebsd-arm64": "0.19.5", + "@esbuild/freebsd-x64": "0.19.5", + "@esbuild/linux-arm": "0.19.5", + "@esbuild/linux-arm64": "0.19.5", + "@esbuild/linux-ia32": "0.19.5", + "@esbuild/linux-loong64": "0.19.5", + "@esbuild/linux-mips64el": "0.19.5", + "@esbuild/linux-ppc64": "0.19.5", + "@esbuild/linux-riscv64": "0.19.5", + "@esbuild/linux-s390x": "0.19.5", + "@esbuild/linux-x64": "0.19.5", + "@esbuild/netbsd-x64": "0.19.5", + "@esbuild/openbsd-x64": "0.19.5", + "@esbuild/sunos-x64": "0.19.5", + "@esbuild/win32-arm64": "0.19.5", + "@esbuild/win32-ia32": "0.19.5", + "@esbuild/win32-x64": "0.19.5" } }, "node_modules/escape-string-regexp": { diff --git a/src/App.vue b/src/App.vue index 7dca0e5eb8c08bc8fcd948eb9e818bbc2e5232cf..a9b94a9a34d38fffe98a9e950256d42049652a10 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,6 +9,7 @@ import { OpenAPI as AuthOpenAPI } from "@/client/auth"; import { OpenAPI as WorkflowOpenAPI } from "@/client/workflow"; import { environment } from "@/environment"; import FooterBottom from "@/components/FooterBottom.vue"; +import axios from "axios"; const { cookies } = useCookies(); const store = useAuthStore(); @@ -18,6 +19,26 @@ onBeforeMount(() => { S3ProxyOpenAPI.BASE = environment.S3PROXY_API_BASE_URL; AuthOpenAPI.BASE = environment.AUTH_API_BASE_URL; WorkflowOpenAPI.BASE = environment.WORKFLOW_API_BASE_URL; + axios.interceptors.response.use( + (res) => res, + (err) => { + if ( + (err.response.status === 400 || err.response.status === 403) && + err.response.data.detail?.includes("JWT") + ) { + store.logout(); + cookies.remove("bearer"); + router.push({ + name: "login", + query: { + login_error: + err.response.status === 400 ? "token_invalid" : "token_expired", + }, + }); + } + return Promise.reject(err); + }, + ); store.setToken(cookies.get("bearer")); router.beforeEach(async (to) => { // make sure the user is authenticated diff --git a/src/client/auth/models/ErrorDetail.ts b/src/client/auth/models/ErrorDetail.ts index 343c8124f88bce59decea9cba6085126fe143db8..eba50ab9335b70df9b29cada4c54cf9ffaad10a4 100644 --- a/src/client/auth/models/ErrorDetail.ts +++ b/src/client/auth/models/ErrorDetail.ts @@ -4,9 +4,7 @@ /* eslint-disable */ /** - * * Schema for a error due to a rejected request. - * */ export type ErrorDetail = { /** diff --git a/src/client/auth/models/User.ts b/src/client/auth/models/User.ts index fb73505018f43f56cff2810494177fe5da6c82b6..8804790e499d6f84af8e66835bdfc8f9a1a269ff 100644 --- a/src/client/auth/models/User.ts +++ b/src/client/auth/models/User.ts @@ -6,9 +6,7 @@ import type { RoleEnum } from './RoleEnum'; /** - * * Schema for a user. - * */ export type User = { /** @@ -22,6 +20,6 @@ export type User = { /** * Roles of the user */ - roles: (Array<RoleEnum> | null); + roles?: (Array<RoleEnum> | null); }; diff --git a/src/client/workflow/models/WorkflowCredentialsOut.ts b/src/client/workflow/models/WorkflowCredentialsOut.ts index 3b669c25db50ce191e19e90ff62ce1b18a0447c3..8a447b4228303bd6e0204694408a131b9a15b0d2 100644 --- a/src/client/workflow/models/WorkflowCredentialsOut.ts +++ b/src/client/workflow/models/WorkflowCredentialsOut.ts @@ -7,6 +7,6 @@ export type WorkflowCredentialsOut = { /** * Token to access the content git repository */ - token: (string | null); + token?: (string | null); }; diff --git a/src/client/workflow/models/WorkflowExecutionOut.ts b/src/client/workflow/models/WorkflowExecutionOut.ts index 9532a9c0841cf85cc587abd91367e6755bdf8596..885ef61f9bbd619a13d6e83d7582bdc4e8309d9e 100644 --- a/src/client/workflow/models/WorkflowExecutionOut.ts +++ b/src/client/workflow/models/WorkflowExecutionOut.ts @@ -9,15 +9,15 @@ export type WorkflowExecutionOut = { /** * Workflow version git commit hash */ - workflow_version_id: (string | null); + workflow_version_id?: (string | null); /** * Optional notes for this workflow execution */ - notes: (string | null); + notes?: (string | null); /** * ID of the workflow mode this workflow execution runs in */ - mode: (string | null); + mode?: (string | null); /** * ID of the workflow execution */ @@ -33,7 +33,7 @@ export type WorkflowExecutionOut = { /** * End time of the workflow execution as UNIX timestamp */ - end_time: (number | null); + end_time?: (number | null); /** * Status of the workflow execution */ @@ -41,6 +41,6 @@ export type WorkflowExecutionOut = { /** * Id of the workflow */ - workflow_id: (string | null); + workflow_id?: (string | null); }; diff --git a/src/client/workflow/models/WorkflowOut.ts b/src/client/workflow/models/WorkflowOut.ts index a9c6a081189c37ba74c4e5a8db0307fd29d2e07a..e0ef6d9d76564b982caf7146d138252e69202b32 100644 --- a/src/client/workflow/models/WorkflowOut.ts +++ b/src/client/workflow/models/WorkflowOut.ts @@ -33,6 +33,6 @@ export type WorkflowOut = { /** * Flag if the workflow is hosted in a private git repository */ - private: boolean; + private?: boolean; }; diff --git a/src/client/workflow/models/WorkflowVersion.ts b/src/client/workflow/models/WorkflowVersion.ts index a4248ce4db3ba9fdb32e70dfc800e6b71a7f42ca..26b656fb2a8edb63630ab92736f2f6c6b592a656 100644 --- a/src/client/workflow/models/WorkflowVersion.ts +++ b/src/client/workflow/models/WorkflowVersion.ts @@ -25,7 +25,7 @@ export type WorkflowVersion = { /** * URL of the icon for this workflow version */ - icon_url: (string | null); + icon_url?: (string | null); /** * Timestamp when the version was created as UNIX timestamp */ @@ -33,6 +33,6 @@ export type WorkflowVersion = { /** * Optional modes his workflow version has */ - modes: Array<string>; + modes?: Array<string>; }; diff --git a/src/client/workflow/services/WorkflowModeService.ts b/src/client/workflow/services/WorkflowModeService.ts index 4c9757918efd364406294002c88e7a1eecc2c1ad..f5e1926c3ffbe233d8fe9027c91683a71fd23f94 100644 --- a/src/client/workflow/services/WorkflowModeService.ts +++ b/src/client/workflow/services/WorkflowModeService.ts @@ -11,7 +11,7 @@ import { request as __request } from '../core/request'; export class WorkflowModeService { /** - * List workflows + * Get workflow mode * Get a workflow mode * * Permission 'workflow:read' required diff --git a/src/client/workflow/services/WorkflowService.ts b/src/client/workflow/services/WorkflowService.ts index dad2fcb71c8296bc1ca20c2989db666d735a599a..4409a96bab414b3598f3c7c6a01e525106de96c1 100644 --- a/src/client/workflow/services/WorkflowService.ts +++ b/src/client/workflow/services/WorkflowService.ts @@ -333,7 +333,7 @@ export class WorkflowService { * Permission "workflow:read" required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. - * @param document Specific which type of documentation the client wants to fetch + * @param document Specify which type of documentation the client wants to fetch * @param modeId Workflow Mode * @returns any Successful Response * @throws ApiError diff --git a/src/client/workflow/services/WorkflowVersionService.ts b/src/client/workflow/services/WorkflowVersionService.ts index 0d46dd904a575a8b3b60d2d399b494f6dce0182a..9553b053cc3ee6f33dd087620f8ad227758324ef 100644 --- a/src/client/workflow/services/WorkflowVersionService.ts +++ b/src/client/workflow/services/WorkflowVersionService.ts @@ -151,7 +151,7 @@ export class WorkflowVersionService { * Permission "workflow:read" required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. - * @param document Specific which type of documentation the client wants to fetch + * @param document Specify which type of documentation the client wants to fetch * @param modeId Workflow Mode * @returns any Successful Response * @throws ApiError diff --git a/src/components/NavbarTop.vue b/src/components/NavbarTop.vue index ec3b7c67bd8eb32340b18237efd7d184c10c1879..ff3ff0f3281681f0a6299631d8af2d433c236828 100644 --- a/src/components/NavbarTop.vue +++ b/src/components/NavbarTop.vue @@ -179,7 +179,7 @@ watch( <li v-for="role in store.roles" :key="role" - class="dropdown-item text-capitalize" + class="dropdown-item text-capitalize disabled" > {{ role }} </li> diff --git a/src/components/object-storage/BucketListItem.vue b/src/components/object-storage/BucketListItem.vue index 0650a4c35ab93069487ac4862744d295f9afe01d..c2baf08f56c9cff948115eed1043e41a9e121c8d 100644 --- a/src/components/object-storage/BucketListItem.vue +++ b/src/components/object-storage/BucketListItem.vue @@ -96,10 +96,10 @@ onMounted(() => { > <span class="text-truncate flex-grow-3"> <template v-if="bucket.owner_constraint === Constraint.READ" - >Download Bucket</template + >download-bucket</template > <template v-else-if="bucket.owner_constraint === Constraint.WRITE" - >Upload Bucket</template + >upload-bucket</template > <template v-else>{{ bucket.name }}</template> </span> diff --git a/src/components/object-storage/modals/CreateBucketModal.vue b/src/components/object-storage/modals/CreateBucketModal.vue index 01411cdef4c7b9ee7dfa2ea51e04bc49a21e36e8..ad2d85d6e008eeb233e2e8f7beebd6377134959f 100644 --- a/src/components/object-storage/modals/CreateBucketModal.vue +++ b/src/components/object-storage/modals/CreateBucketModal.vue @@ -8,8 +8,12 @@ import { useBucketStore } from "@/stores/buckets"; const router = useRouter(); const bucketRepository = useBucketStore(); -const bucket = reactive<BucketIn>({ name: "", description: "" }); + const bucketCreateForm = ref<HTMLFormElement | undefined>(undefined); +const bucketNameElement = ref<HTMLInputElement | undefined>(undefined); + +const bucket = reactive<BucketIn>({ name: "", description: "" }); + const formState = reactive<{ validated: boolean; bucketNameTaken: boolean; @@ -36,6 +40,7 @@ function createBucket() { formState.bucketNameTaken = false; bucket.description = bucket.description.trim(); bucket.name = bucket.name.trim(); + bucketNameElement.value?.setCustomValidity(""); if (bucketCreateForm.value?.checkValidity()) { formState.loading = true; bucketRepository @@ -57,6 +62,9 @@ function createBucket() { error.body["detail"] === "Bucket name is already taken" ) { formState.bucketNameTaken = true; + bucketNameElement.value?.setCustomValidity( + "Bucket name is already taken", + ); } }) .finally(() => { @@ -68,6 +76,7 @@ function createBucket() { function modalClosed() { formState.validated = false; formState.bucketNameTaken = false; + bucketNameElement.value?.setCustomValidity(""); } </script> @@ -83,7 +92,6 @@ function modalClosed() { <form id="bucketCreateForm" :class="{ 'was-validated': formState.validated }" - novalidate ref="bucketCreateForm" > <div class="mb-3"> @@ -96,17 +104,29 @@ function modalClosed() { required minlength="3" maxlength="63" - pattern="(?!(^((2(5[0-5]|[0-4]\d)|[01]?\d{1,2})\.){3}(2(5[0-5]|[0-4]\d)|[01]?\d{1,2})$))^[a-z\d][a-z\d.\-]{1,61}[a-z\d]$" + pattern="(?!(^(\d+\.){3}\d+$))^([a-z0-9](?:[a-z0-9\-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9\-]*[a-z0-9])?$" v-model="bucket.name" + ref="bucketNameElement" /> <div class="invalid-feedback"> - Requirements - <ul> - <li>At least 3 Characters long</li> - <li>Lowercase</li> - <li>Only [a-z][0-9].-</li> - <li>No IP address</li> - </ul> + <div v-if="formState.bucketNameTaken"> + Bucket name already taken. + </div> + <div> + Requirements + <ul> + <li>At least 3 Characters long</li> + <li>Unique in CloWM</li> + <li> + Only lowercase letters, numbers, single periods (.) and + hyphen (-) + </li> + <li>Start and end with letter or number</li> + <li> + A letter or number must be before and after a period (.) + </li> + </ul> + </div> </div> </div> </div> @@ -134,9 +154,6 @@ function modalClosed() { </div> </div> </form> - <div v-if="formState.bucketNameTaken" class="text-danger"> - Bucket name already taken. - </div> </template> <template v-slot:footer> <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> diff --git a/src/components/workflows/modals/UpdateWorkflowModal.vue b/src/components/workflows/modals/UpdateWorkflowModal.vue index 58320682a6a0c6c3d05f28483d0c53b42a7aeff1..2f1aa6daacde55fd19b1b61787e48cbe27a8c685 100644 --- a/src/components/workflows/modals/UpdateWorkflowModal.vue +++ b/src/components/workflows/modals/UpdateWorkflowModal.vue @@ -91,7 +91,7 @@ watch( () => props.workflow, () => { resetForm(); - formState.modesEnabled = latestVersion.value.modes.length > 0; + formState.modesEnabled = (latestVersion.value.modes ?? []).length > 0; if (props.workflow.private) { formState.loadCredentials = true; WorkflowCredentialsService.workflowCredentialsGetWorkflowCredentials( @@ -118,7 +118,8 @@ watch( if (show) { workflowModesCollapse?.show(); if ( - latestVersion.value.modes.length + workflowModes.addModes.length === + (latestVersion.value.modes?.length ?? 0) + + workflowModes.addModes.length === 0 ) { addMode(); @@ -176,10 +177,11 @@ function checkRepository() { workflowUpdate.git_commit_hash, formState.workflowToken, ); - const oldModes = latestVersion.value.modes - .filter((mode_id) => !workflowModes.deleteModes.includes(mode_id)) // filter all old modes that should be deleted - .map((mode_id) => workflowRepository.modeMapping[mode_id]) // map mode id to mode object - .filter((mode) => mode != undefined); // filter all mode objects that are undefined + const oldModes = + (latestVersion.value.modes ?? []) + .filter((mode_id) => !workflowModes.deleteModes.includes(mode_id)) // filter all old modes that should be deleted + .map((mode_id) => workflowRepository.modeMapping[mode_id]) // map mode id to mode object + .filter((mode) => mode != undefined) ?? []; // filter all mode objects that are undefined const newModes = formState.modesEnabled ? workflowModes.addModes : []; repo .checkFilesExist( @@ -264,7 +266,7 @@ function addMode() { function addOldMode(mode_id: string) { if ( - latestVersion.value.modes.length + + (latestVersion.value.modes?.length ?? 0) + workflowModes.addModes.length - workflowModes.deleteModes.length < 10 @@ -277,7 +279,10 @@ function addOldMode(mode_id: string) { } function removeNewMode(mode_id: string) { - if (latestVersion.value.modes.length + workflowModes.addModes.length > 1) { + if ( + (latestVersion.value.modes?.length ?? 0) + workflowModes.addModes.length > + 1 + ) { workflowModes.addModes = workflowModes.addModes.filter( (mode) => mode.mode_id != mode_id, ); @@ -423,7 +428,7 @@ onMounted(() => { id="updateWorkflowModesCheckbox" @change="formState.allowUpload = false" aria-controls="#updateWorkflowModesCollapse" - :disabled="latestVersion.modes.length > 0" + :disabled="latestVersion.modes && latestVersion.modes.length > 0" /> <label class="form-check-label" for="updateWorkflowModesCheckbox"> Enable Workflow Modes @@ -433,7 +438,7 @@ onMounted(() => { class="btn btn-primary float-end" @click="addMode" :disabled=" - latestVersion.modes.length + + (latestVersion.modes?.length ?? 0) + workflowModes.addModes.length - workflowModes.deleteModes.length >= 10 @@ -567,7 +572,7 @@ onMounted(() => { class="text-danger me-1 fs-6 cursor-pointer" @click="removeNewMode(mode.mode_id)" /> - New Mode {{ latestVersion.modes.length + index + 1 }} + New Mode {{ (latestVersion.modes?.length ?? 0) + index + 1 }} </h6> <div class="col-6"> <label :for="'modeNameInput-' + index" class="form-label" diff --git a/src/stores/users.ts b/src/stores/users.ts index 76e987a733661dbacabfd58c096ad5bd7adacb6c..040703865e110053e74747ce5897031be038c027 100644 --- a/src/stores/users.ts +++ b/src/stores/users.ts @@ -116,9 +116,9 @@ export const useAuthStore = defineStore({ }, fetchUsernames(uids: string[]): Promise<User[]> { const filteredIds = uids - .filter((uid) => !this.userMapping[uid]) // filter null modes and already present modes + .filter((uid) => !this.userMapping[uid]) // filter null UIDs and already present UIDs .filter( - // filter unique workflow versions + // filter unique UIDs (modeId, index, array) => array.findIndex((val) => val === modeId) === index, ); diff --git a/src/stores/workflows.ts b/src/stores/workflows.ts index c06edf88bc6aa099ee166a6a61d8fa46308983f5..29c8e8d4dea182522fd20bccce3ffd10619a34ba 100644 --- a/src/stores/workflows.ts +++ b/src/stores/workflows.ts @@ -72,9 +72,9 @@ export const useWorkflowStore = defineStore({ } this.fetchWorkflowModes( workflows - .map((workflow) => workflow.versions) + .map((workflow) => workflow.versions ?? []) .flat() - .map((version) => version.modes) + .map((version) => version.modes ?? []) .flat(), ); return workflows; @@ -97,9 +97,9 @@ export const useWorkflowStore = defineStore({ } this.fetchWorkflowModes( workflows - .map((workflow) => workflow.versions) + .map((workflow) => workflow.versions ?? []) .flat() - .map((version) => version.modes) + .map((version) => version.modes ?? []) .flat(), ); return workflows; @@ -168,7 +168,7 @@ export const useWorkflowStore = defineStore({ this.workflowMapping[workflow_id] = workflow; } this.fetchWorkflowModes( - workflow.versions.map((version) => version.modes).flat(), + workflow.versions.map((version) => version.modes ?? []).flat(), ); return workflow; }) diff --git a/src/views/object-storage/S3KeyView.vue b/src/views/object-storage/S3KeyView.vue index d2ac7282b5b2f2162da50b030ddbc590176e6670..87ae43cf260cd6f36d713aa494160c0b816caa53 100644 --- a/src/views/object-storage/S3KeyView.vue +++ b/src/views/object-storage/S3KeyView.vue @@ -20,7 +20,6 @@ watch( () => props.s3key.access_key, () => { visibleKeys.secret = false; - visibleKeys.access = false; }, ); const visibleKeys = reactive<{ @@ -28,7 +27,7 @@ const visibleKeys = reactive<{ access: boolean; }>({ secret: false, - access: false, + access: true, }); function deleteKeyTrigger() { diff --git a/src/views/workflows/ReviewWorkflowsView.vue b/src/views/workflows/ReviewWorkflowsView.vue index 21c0f91651249b2f20432c7710b358f9604084ca..63ed00942e6f2e04d7c57e76b4a3544de0e07dcd 100644 --- a/src/views/workflows/ReviewWorkflowsView.vue +++ b/src/views/workflows/ReviewWorkflowsView.vue @@ -121,7 +121,7 @@ onMounted(() => { {{ version.git_commit_hash }} </a> </td> - <td>#Modes: {{ version.modes.length }}</td> + <td>#Modes: {{ version.modes?.length ?? 0 }}</td> <td> <router-link :to="{ @@ -132,7 +132,7 @@ onMounted(() => { }, query: { developerView: 'true', - workflowModeId: version.modes[0], + workflowModeId: (version.modes ?? [])[0], }, }" >