From 734784cb0db628e50b6b35c0ce7531c17887dbc0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20G=C3=B6bel?= <dgoebel@techfak.uni-bielefeld.de>
Date: Mon, 20 Jan 2025 14:48:03 +0000
Subject: [PATCH] Support time formats in json schema parser

#182
---
 package-lock.json                             | 967 ++++++++----------
 package.json                                  |  19 +-
 .../ParameterSchemaFormComponent.vue          |  28 +-
 .../form-mode/ParameterInput.vue              |  32 +-
 .../form-mode/ParameterTimeInput.vue          |  71 ++
 src/views/object-storage/S3KeyView.vue        |  42 +-
 6 files changed, 625 insertions(+), 534 deletions(-)
 create mode 100644 src/components/parameter-schema/form-mode/ParameterTimeInput.vue

diff --git a/package-lock.json b/package-lock.json
index 8d4a9ce..97daa9c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,7 +13,7 @@
         "@aws-sdk/lib-storage": "^3.637.0",
         "@aws-sdk/s3-request-presigner": "^3.637.0",
         "@fortawesome/fontawesome-free": "~6.7.0",
-        "@hey-api/client-axios": "^0.4.0",
+        "@hey-api/client-axios": "^0.5.0",
         "@popperjs/core": "~2.11.8",
         "ajv": "~8.17.0",
         "bootstrap": "~5.3.0",
@@ -35,7 +35,7 @@
       },
       "devDependencies": {
         "@eslint/compat": "^1.2.0",
-        "@hey-api/openapi-ts": "^0.61.0",
+        "@hey-api/openapi-ts": "^0.62.0",
         "@rushstack/eslint-patch": "~1.10.0",
         "@tsconfig/node22": "^22.0.0",
         "@types/bootstrap": "~5.2.0",
@@ -46,17 +46,17 @@
         "@types/showdown": "~2.0.1",
         "@types/sortablejs": "^1.15.7",
         "@vitejs/plugin-vue": "~5.2.0",
-        "@vue/eslint-config-prettier": "~10.1.0",
-        "@vue/eslint-config-typescript": "~14.2.0",
+        "@vue/eslint-config-prettier": "~10.2.0",
+        "@vue/eslint-config-typescript": "~14.3.0",
         "@vue/tsconfig": "~0.7.0",
-        "eslint": "~9.12.0",
+        "eslint": "~9.18.0",
         "eslint-plugin-vue": "~9.32.0",
         "highlight.js": "^11.9.0",
         "prettier": "~3.4.0",
         "sass": "^1.66.0",
-        "typescript": "~5.5.0",
+        "typescript": "~5.7.0",
         "vite": "~6.0.0",
-        "vite-plugin-node-polyfills": "^0.22.0",
+        "vite-plugin-node-polyfills": "^0.23.0",
         "vue-tsc": "~2.2.0"
       }
     },
@@ -263,34 +263,32 @@
       }
     },
     "node_modules/@aws-sdk/client-s3": {
-      "version": "3.726.1",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.726.1.tgz",
-      "integrity": "sha512-UpOGcob87DiuS2d3fW6vDZg94g57mNiOSkzvR/6GOdvBSlUgk8LLwVzGASB71FdKMl1EGEr4MeD5uKH9JsG+dw==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.731.1.tgz",
+      "integrity": "sha512-Ab2PA/8Th6JkurCkxnQJZHPE/JnnSsX/XHQzirkQb+JpKOyWMRC/YZUBfAaiwhxqX65RHgklrwil+UbFl4TtAQ==",
       "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/client-sso-oidc": "3.726.0",
-        "@aws-sdk/client-sts": "3.726.1",
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/credential-provider-node": "3.726.0",
-        "@aws-sdk/middleware-bucket-endpoint": "3.726.0",
-        "@aws-sdk/middleware-expect-continue": "3.723.0",
-        "@aws-sdk/middleware-flexible-checksums": "3.723.0",
-        "@aws-sdk/middleware-host-header": "3.723.0",
-        "@aws-sdk/middleware-location-constraint": "3.723.0",
-        "@aws-sdk/middleware-logger": "3.723.0",
-        "@aws-sdk/middleware-recursion-detection": "3.723.0",
-        "@aws-sdk/middleware-sdk-s3": "3.723.0",
-        "@aws-sdk/middleware-ssec": "3.723.0",
-        "@aws-sdk/middleware-user-agent": "3.726.0",
-        "@aws-sdk/region-config-resolver": "3.723.0",
-        "@aws-sdk/signature-v4-multi-region": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
-        "@aws-sdk/util-endpoints": "3.726.0",
-        "@aws-sdk/util-user-agent-browser": "3.723.0",
-        "@aws-sdk/util-user-agent-node": "3.726.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/credential-provider-node": "3.731.1",
+        "@aws-sdk/middleware-bucket-endpoint": "3.731.0",
+        "@aws-sdk/middleware-expect-continue": "3.731.0",
+        "@aws-sdk/middleware-flexible-checksums": "3.731.0",
+        "@aws-sdk/middleware-host-header": "3.731.0",
+        "@aws-sdk/middleware-location-constraint": "3.731.0",
+        "@aws-sdk/middleware-logger": "3.731.0",
+        "@aws-sdk/middleware-recursion-detection": "3.731.0",
+        "@aws-sdk/middleware-sdk-s3": "3.731.0",
+        "@aws-sdk/middleware-ssec": "3.731.0",
+        "@aws-sdk/middleware-user-agent": "3.731.0",
+        "@aws-sdk/region-config-resolver": "3.731.0",
+        "@aws-sdk/signature-v4-multi-region": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
+        "@aws-sdk/util-endpoints": "3.731.0",
+        "@aws-sdk/util-user-agent-browser": "3.731.0",
+        "@aws-sdk/util-user-agent-node": "3.731.0",
         "@aws-sdk/xml-builder": "3.723.0",
         "@smithy/config-resolver": "^4.0.0",
         "@smithy/core": "^3.0.0",
@@ -332,127 +330,23 @@
       }
     },
     "node_modules/@aws-sdk/client-sso": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.726.0.tgz",
-      "integrity": "sha512-NM5pjv2qglEc4XN3nnDqtqGsSGv1k5YTmzDo3W3pObItHmpS8grSeNfX9zSH+aVl0Q8hE4ZIgvTPNZ+GzwVlqg==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.731.0.tgz",
+      "integrity": "sha512-O4C/UYGgqMsBg21MMApFdgyh8BX568hQhbdoNFmRVTBoSnCZ3w+H4a1wBPX4Gyl0NX+ab6Xxo9rId8HiyPXJ0A==",
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
         "@aws-crypto/sha256-js": "5.2.0",
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/middleware-host-header": "3.723.0",
-        "@aws-sdk/middleware-logger": "3.723.0",
-        "@aws-sdk/middleware-recursion-detection": "3.723.0",
-        "@aws-sdk/middleware-user-agent": "3.726.0",
-        "@aws-sdk/region-config-resolver": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
-        "@aws-sdk/util-endpoints": "3.726.0",
-        "@aws-sdk/util-user-agent-browser": "3.723.0",
-        "@aws-sdk/util-user-agent-node": "3.726.0",
-        "@smithy/config-resolver": "^4.0.0",
-        "@smithy/core": "^3.0.0",
-        "@smithy/fetch-http-handler": "^5.0.0",
-        "@smithy/hash-node": "^4.0.0",
-        "@smithy/invalid-dependency": "^4.0.0",
-        "@smithy/middleware-content-length": "^4.0.0",
-        "@smithy/middleware-endpoint": "^4.0.0",
-        "@smithy/middleware-retry": "^4.0.0",
-        "@smithy/middleware-serde": "^4.0.0",
-        "@smithy/middleware-stack": "^4.0.0",
-        "@smithy/node-config-provider": "^4.0.0",
-        "@smithy/node-http-handler": "^4.0.0",
-        "@smithy/protocol-http": "^5.0.0",
-        "@smithy/smithy-client": "^4.0.0",
-        "@smithy/types": "^4.0.0",
-        "@smithy/url-parser": "^4.0.0",
-        "@smithy/util-base64": "^4.0.0",
-        "@smithy/util-body-length-browser": "^4.0.0",
-        "@smithy/util-body-length-node": "^4.0.0",
-        "@smithy/util-defaults-mode-browser": "^4.0.0",
-        "@smithy/util-defaults-mode-node": "^4.0.0",
-        "@smithy/util-endpoints": "^3.0.0",
-        "@smithy/util-middleware": "^4.0.0",
-        "@smithy/util-retry": "^4.0.0",
-        "@smithy/util-utf8": "^4.0.0",
-        "tslib": "^2.6.2"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@aws-sdk/client-sso-oidc": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.726.0.tgz",
-      "integrity": "sha512-5JzTX9jwev7+y2Jkzjz0pd1wobB5JQfPOQF3N2DrJ5Pao0/k6uRYwE4NqB0p0HlGrMTDm7xNq7OSPPIPG575Jw==",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@aws-crypto/sha256-browser": "5.2.0",
-        "@aws-crypto/sha256-js": "5.2.0",
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/credential-provider-node": "3.726.0",
-        "@aws-sdk/middleware-host-header": "3.723.0",
-        "@aws-sdk/middleware-logger": "3.723.0",
-        "@aws-sdk/middleware-recursion-detection": "3.723.0",
-        "@aws-sdk/middleware-user-agent": "3.726.0",
-        "@aws-sdk/region-config-resolver": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
-        "@aws-sdk/util-endpoints": "3.726.0",
-        "@aws-sdk/util-user-agent-browser": "3.723.0",
-        "@aws-sdk/util-user-agent-node": "3.726.0",
-        "@smithy/config-resolver": "^4.0.0",
-        "@smithy/core": "^3.0.0",
-        "@smithy/fetch-http-handler": "^5.0.0",
-        "@smithy/hash-node": "^4.0.0",
-        "@smithy/invalid-dependency": "^4.0.0",
-        "@smithy/middleware-content-length": "^4.0.0",
-        "@smithy/middleware-endpoint": "^4.0.0",
-        "@smithy/middleware-retry": "^4.0.0",
-        "@smithy/middleware-serde": "^4.0.0",
-        "@smithy/middleware-stack": "^4.0.0",
-        "@smithy/node-config-provider": "^4.0.0",
-        "@smithy/node-http-handler": "^4.0.0",
-        "@smithy/protocol-http": "^5.0.0",
-        "@smithy/smithy-client": "^4.0.0",
-        "@smithy/types": "^4.0.0",
-        "@smithy/url-parser": "^4.0.0",
-        "@smithy/util-base64": "^4.0.0",
-        "@smithy/util-body-length-browser": "^4.0.0",
-        "@smithy/util-body-length-node": "^4.0.0",
-        "@smithy/util-defaults-mode-browser": "^4.0.0",
-        "@smithy/util-defaults-mode-node": "^4.0.0",
-        "@smithy/util-endpoints": "^3.0.0",
-        "@smithy/util-middleware": "^4.0.0",
-        "@smithy/util-retry": "^4.0.0",
-        "@smithy/util-utf8": "^4.0.0",
-        "tslib": "^2.6.2"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      },
-      "peerDependencies": {
-        "@aws-sdk/client-sts": "^3.726.0"
-      }
-    },
-    "node_modules/@aws-sdk/client-sts": {
-      "version": "3.726.1",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.726.1.tgz",
-      "integrity": "sha512-qh9Q9Vu1hrM/wMBOBIaskwnE4GTFaZu26Q6WHwyWNfj7J8a40vBxpW16c2vYXHLBtwRKM1be8uRLkmDwghpiNw==",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@aws-crypto/sha256-browser": "5.2.0",
-        "@aws-crypto/sha256-js": "5.2.0",
-        "@aws-sdk/client-sso-oidc": "3.726.0",
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/credential-provider-node": "3.726.0",
-        "@aws-sdk/middleware-host-header": "3.723.0",
-        "@aws-sdk/middleware-logger": "3.723.0",
-        "@aws-sdk/middleware-recursion-detection": "3.723.0",
-        "@aws-sdk/middleware-user-agent": "3.726.0",
-        "@aws-sdk/region-config-resolver": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
-        "@aws-sdk/util-endpoints": "3.726.0",
-        "@aws-sdk/util-user-agent-browser": "3.723.0",
-        "@aws-sdk/util-user-agent-node": "3.726.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/middleware-host-header": "3.731.0",
+        "@aws-sdk/middleware-logger": "3.731.0",
+        "@aws-sdk/middleware-recursion-detection": "3.731.0",
+        "@aws-sdk/middleware-user-agent": "3.731.0",
+        "@aws-sdk/region-config-resolver": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
+        "@aws-sdk/util-endpoints": "3.731.0",
+        "@aws-sdk/util-user-agent-browser": "3.731.0",
+        "@aws-sdk/util-user-agent-node": "3.731.0",
         "@smithy/config-resolver": "^4.0.0",
         "@smithy/core": "^3.0.0",
         "@smithy/fetch-http-handler": "^5.0.0",
@@ -485,12 +379,12 @@
       }
     },
     "node_modules/@aws-sdk/core": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.723.0.tgz",
-      "integrity": "sha512-UraXNmvqj3vScSsTkjMwQkhei30BhXlW5WxX6JacMKVtl95c7z0qOXquTWeTalYkFfulfdirUhvSZrl+hcyqTw==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.731.0.tgz",
+      "integrity": "sha512-ithBN1VWASkvAIlozJmenqDvNnFddr/SZXAs58+jCnBHgy3tXLHABZGVNCjetZkHRqNdXEO1kirnoxaFeXMeDA==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/core": "^3.0.0",
         "@smithy/node-config-provider": "^4.0.0",
         "@smithy/property-provider": "^4.0.0",
@@ -507,13 +401,13 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-env": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.723.0.tgz",
-      "integrity": "sha512-OuH2yULYUHTVDUotBoP/9AEUIJPn81GQ/YBtZLoo2QyezRJ2QiO/1epVtbJlhNZRwXrToLEDmQGA2QfC8c7pbA==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.731.0.tgz",
+      "integrity": "sha512-h0WWZg4QMLgFVyIvQrC43zpVqsUWg1mPM1clpogP43B8+wEhDEQ4qWRzvFs3dQ4cqx/FLyDUZZF4cqgd94z7kw==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/property-provider": "^4.0.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
@@ -523,13 +417,13 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-http": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.723.0.tgz",
-      "integrity": "sha512-DTsKC6xo/kz/ZSs1IcdbQMTgiYbpGTGEd83kngFc1bzmw7AmK92DBZKNZpumf8R/UfSpTcj9zzUUmrWz1kD0eQ==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.731.0.tgz",
+      "integrity": "sha512-iRtrjtcYaWgbvtu2cvDhIsPWXZGvhy1Hgks4682MEBNTc9AUwlfvDrYz2EEnTtJJyrbOdEHVrYrzqD8qPyVLCg==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/fetch-http-handler": "^5.0.0",
         "@smithy/node-http-handler": "^4.0.0",
         "@smithy/property-provider": "^4.0.0",
@@ -544,18 +438,19 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-ini": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.726.0.tgz",
-      "integrity": "sha512-seTtcKL2+gZX6yK1QRPr5mDJIBOatrpoyrO8D5b8plYtV/PDbDW3mtDJSWFHet29G61ZmlNElyXRqQCXn9WX+A==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.731.1.tgz",
+      "integrity": "sha512-0M0ejuqW8iHNcTH2ZXSY9m+I7Y06qVkj6k3vfQU9XaB//mTUCxxfGfqWAtgfr7Yi73egABTcPc0jyPdcvSW4Kw==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/credential-provider-env": "3.723.0",
-        "@aws-sdk/credential-provider-http": "3.723.0",
-        "@aws-sdk/credential-provider-process": "3.723.0",
-        "@aws-sdk/credential-provider-sso": "3.726.0",
-        "@aws-sdk/credential-provider-web-identity": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/credential-provider-env": "3.731.0",
+        "@aws-sdk/credential-provider-http": "3.731.0",
+        "@aws-sdk/credential-provider-process": "3.731.0",
+        "@aws-sdk/credential-provider-sso": "3.731.1",
+        "@aws-sdk/credential-provider-web-identity": "3.731.1",
+        "@aws-sdk/nested-clients": "3.731.1",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/credential-provider-imds": "^4.0.0",
         "@smithy/property-provider": "^4.0.0",
         "@smithy/shared-ini-file-loader": "^4.0.0",
@@ -564,24 +459,21 @@
       },
       "engines": {
         "node": ">=18.0.0"
-      },
-      "peerDependencies": {
-        "@aws-sdk/client-sts": "^3.726.0"
       }
     },
     "node_modules/@aws-sdk/credential-provider-node": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.726.0.tgz",
-      "integrity": "sha512-jjsewBcw/uLi24x8JbnuDjJad4VA9ROCE94uVRbEnGmUEsds75FWOKp3fWZLQlmjLtzsIbJOZLALkZP86liPaw==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.731.1.tgz",
+      "integrity": "sha512-5c0ZiagMTPmWilXNffeXJCLoCEz97jilHr3QJWwf2GaTay4tzN+Ld71rpdfEenzUR7fuxEWFfVlwQbFOzFNYHg==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/credential-provider-env": "3.723.0",
-        "@aws-sdk/credential-provider-http": "3.723.0",
-        "@aws-sdk/credential-provider-ini": "3.726.0",
-        "@aws-sdk/credential-provider-process": "3.723.0",
-        "@aws-sdk/credential-provider-sso": "3.726.0",
-        "@aws-sdk/credential-provider-web-identity": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/credential-provider-env": "3.731.0",
+        "@aws-sdk/credential-provider-http": "3.731.0",
+        "@aws-sdk/credential-provider-ini": "3.731.1",
+        "@aws-sdk/credential-provider-process": "3.731.0",
+        "@aws-sdk/credential-provider-sso": "3.731.1",
+        "@aws-sdk/credential-provider-web-identity": "3.731.1",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/credential-provider-imds": "^4.0.0",
         "@smithy/property-provider": "^4.0.0",
         "@smithy/shared-ini-file-loader": "^4.0.0",
@@ -593,13 +485,13 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-process": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.723.0.tgz",
-      "integrity": "sha512-fgupvUjz1+jeoCBA7GMv0L6xEk92IN6VdF4YcFhsgRHlHvNgm7ayaoKQg7pz2JAAhG/3jPX6fp0ASNy+xOhmPA==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.731.0.tgz",
+      "integrity": "sha512-6yNMY6q3xHLbs2f2+C6GhvMrjTgtFBiPJJqKaPLsTIhlTRvh4sK8pGm3ITcma0jOxtPDIuoPfBAV8N8XVMBlZg==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/property-provider": "^4.0.0",
         "@smithy/shared-ini-file-loader": "^4.0.0",
         "@smithy/types": "^4.0.0",
@@ -610,15 +502,15 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-sso": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.726.0.tgz",
-      "integrity": "sha512-WxkN76WeB08j2yw7jUH9yCMPxmT9eBFd9ZA/aACG7yzOIlsz7gvG3P2FQ0tVg25GHM0E4PdU3p/ByTOawzcOAg==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.731.1.tgz",
+      "integrity": "sha512-p1tp+rMUf5YNQLr8rVRmDgNtKGYLL0KCdq3K2hwwvFnx9MjReF1sA4lfm3xWsxBQM+j3QN9AvMQqBzDJ+NOSdw==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/client-sso": "3.726.0",
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/token-providers": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/client-sso": "3.731.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/token-providers": "3.731.1",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/property-provider": "^4.0.0",
         "@smithy/shared-ini-file-loader": "^4.0.0",
         "@smithy/types": "^4.0.0",
@@ -629,28 +521,26 @@
       }
     },
     "node_modules/@aws-sdk/credential-provider-web-identity": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.723.0.tgz",
-      "integrity": "sha512-tl7pojbFbr3qLcOE6xWaNCf1zEfZrIdSJtOPeSXfV/thFMMAvIjgf3YN6Zo1a6cxGee8zrV/C8PgOH33n+Ev/A==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.731.1.tgz",
+      "integrity": "sha512-+ynAvEGWDR5ZJFxgpwwzhvlQ3WQ7BleWXU6JwpIw3yFrD4eZEn85b8DZC1aEz7C9kb1HSV6B3gpqHqlyS6wj8g==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/nested-clients": "3.731.1",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/property-provider": "^4.0.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
       },
       "engines": {
         "node": ">=18.0.0"
-      },
-      "peerDependencies": {
-        "@aws-sdk/client-sts": "^3.723.0"
       }
     },
     "node_modules/@aws-sdk/lib-storage": {
-      "version": "3.726.1",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.726.1.tgz",
-      "integrity": "sha512-WuDxSZ8Bfe1N7gn5eXQ02dhlKWCAwW5qQErpJ4CCddXosF+gLxhGkrP9LkaaP0CpA3PxboHyET6HbWAggOWtqA==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.731.1.tgz",
+      "integrity": "sha512-+ajlL3FOCHu+HEB8M5BJ3Rvq+QmXfGdgzU5tmnVMJUl1V9ggbG9P01EmrVX7Q7INdWezQYr/VWqUcOmUW4zuBQ==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/abort-controller": "^4.0.0",
@@ -665,16 +555,16 @@
         "node": ">=18.0.0"
       },
       "peerDependencies": {
-        "@aws-sdk/client-s3": "^3.726.1"
+        "@aws-sdk/client-s3": "^3.731.1"
       }
     },
     "node_modules/@aws-sdk/middleware-bucket-endpoint": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.726.0.tgz",
-      "integrity": "sha512-vpaP80rZqwu0C3ELayIcRIW84/nd1tadeoqllT+N9TDshuEvq4UJ+w47OBHB7RkHFJoc79lXXNYle0fdQdaE/A==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.731.0.tgz",
+      "integrity": "sha512-G9vuGW5GWCbzGOwlGFJcOkfxhw1cB6vzcv75QTT0CmciLXK+Cio8O2pqMSTTF2kg9Y6iHVC2BlOtLRkJAVOxVQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@aws-sdk/util-arn-parser": "3.723.0",
         "@smithy/node-config-provider": "^4.0.0",
         "@smithy/protocol-http": "^5.0.0",
@@ -687,12 +577,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-expect-continue": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.723.0.tgz",
-      "integrity": "sha512-w/O0EkIzkiqvGu7U8Ke7tue0V0HYM5dZQrz6nVU+R8T2LddWJ+njEIHU4Wh8aHPLQXdZA5NQumv0xLPdEutykw==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.731.0.tgz",
+      "integrity": "sha512-oY4nsY/mb5O5eZCzIuWpyvzO45Bi6UBtE48IaJsoyVctagA1l8hB66aczH9M1NHNjvbS4Beu1agwh3Nyb1eJug==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/protocol-http": "^5.0.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
@@ -702,16 +592,16 @@
       }
     },
     "node_modules/@aws-sdk/middleware-flexible-checksums": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.723.0.tgz",
-      "integrity": "sha512-JY76mrUCLa0FHeMZp8X9+KK6uEuZaRZaQrlgq6zkXX/3udukH0T3YdFC+Y9uw5ddbiwZ5+KwgmlhnPpiXKfP4g==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.731.0.tgz",
+      "integrity": "sha512-LMs/rndovYjYSntSYyPE/PIl4iHNiquaU0lpDqpQc9iTgQcNbjdriSUWpibgu1jXlGBpBYCqttNkxmEThbbWxA==",
       "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.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/is-array-buffer": "^4.0.0",
         "@smithy/node-config-provider": "^4.0.0",
         "@smithy/protocol-http": "^5.0.0",
@@ -726,12 +616,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-host-header": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.723.0.tgz",
-      "integrity": "sha512-LLVzLvk299pd7v4jN9yOSaWDZDfH0SnBPb6q+FDPaOCMGBY8kuwQso7e/ozIKSmZHRMGO3IZrflasHM+rI+2YQ==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.731.0.tgz",
+      "integrity": "sha512-ndAJsm5uWPPJRZowLKpB1zuL17qWlWVtCJP4I/ynBkq1PU1DijDXBul2UZaG6Mpvsgms1NXo/h9noHuK7T3v8w==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/protocol-http": "^5.0.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
@@ -741,12 +631,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-location-constraint": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.723.0.tgz",
-      "integrity": "sha512-inp9tyrdRWjGOMu1rzli8i2gTo0P4X6L7nNRXNTKfyPNZcBimZ4H0H1B671JofSI5isaklVy5r4pvv2VjjLSHw==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.731.0.tgz",
+      "integrity": "sha512-1I2EjAFxrQksrzqdN7YYuY/q2YsjqeX4l7f9VOkdBjiZeDvVIEdM99IT5sISJB/r6CjNrYX5MhqGhE8i1VFchA==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
       },
@@ -755,12 +645,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-logger": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.723.0.tgz",
-      "integrity": "sha512-chASQfDG5NJ8s5smydOEnNK7N0gDMyuPbx7dYYcm1t/PKtnVfvWF+DHCTrRC2Ej76gLJVCVizlAJKM8v8Kg3cg==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.731.0.tgz",
+      "integrity": "sha512-IIZrOdjbY2vKzPJPrwE7FoFQCIPEL6UqURi8LEaiVyCag4p2fvaTN5pgKuQtGC2+iYd/HHcGT4qn2bAqF5Jmmw==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
       },
@@ -769,12 +659,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-recursion-detection": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.723.0.tgz",
-      "integrity": "sha512-7usZMtoynT9/jxL/rkuDOFQ0C2mhXl4yCm67Rg7GNTstl67u7w5WN1aIRImMeztaKlw8ExjoTyo6WTs1Kceh7A==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.731.0.tgz",
+      "integrity": "sha512-y6FLASB1iKWuR5tUipMyo77bt0lEl3OnCrrd2xw/H24avq1HhJjjPR0HHhJE6QKJzF/FYXeV88tcyPSMe32VDw==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/protocol-http": "^5.0.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
@@ -784,13 +674,13 @@
       }
     },
     "node_modules/@aws-sdk/middleware-sdk-s3": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.723.0.tgz",
-      "integrity": "sha512-wfjOvNJVp8LDWhq4wO5jtSMb8Vgf4tNlR7QTEQfoYc6AGU3WlK5xyUQcpfcpwytEhQTN9u0cJLQpSyXDO+qSCw==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.731.0.tgz",
+      "integrity": "sha512-J9aKyQaVoec5eWTSDfO4h2sKHNP0wTzN15LFcHnkD+e/d0rdmOi7BTkkbJrIaynma9WShIasmrtM3HNi9GiiTA==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
         "@aws-sdk/util-arn-parser": "3.723.0",
         "@smithy/core": "^3.0.0",
         "@smithy/node-config-provider": "^4.0.0",
@@ -809,12 +699,12 @@
       }
     },
     "node_modules/@aws-sdk/middleware-ssec": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.723.0.tgz",
-      "integrity": "sha512-Bs+8RAeSMik6ZYCGSDJzJieGsDDh2fRbh1HQG94T8kpwBXVxMYihm6e9Xp2cyl+w9fyyCnh0IdCKChP/DvrdhA==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.731.0.tgz",
+      "integrity": "sha512-1HP4lxGcQx4awXgxfL8t9faBK7TqEL7zkAZrm/YBbLrT9oQomxZOHKIOHvo5VVh4qmsNBdqnH2XUlSMY71gsww==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
       },
@@ -823,14 +713,14 @@
       }
     },
     "node_modules/@aws-sdk/middleware-user-agent": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.726.0.tgz",
-      "integrity": "sha512-hZvzuE5S0JmFie1r68K2wQvJbzyxJFdzltj9skgnnwdvLe8F/tz7MqLkm28uV0m4jeHk0LpiBo6eZaPkQiwsZQ==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.731.0.tgz",
+      "integrity": "sha512-Ngr2Gz0aec/uduoKaO3srN52SYkEHndYtFzkK/gDUyQwQzi4ha2eIisxPiuHEX6RvXT31V9ouqn/YtVkt0R76A==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/core": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
-        "@aws-sdk/util-endpoints": "3.726.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
+        "@aws-sdk/util-endpoints": "3.731.0",
         "@smithy/core": "^3.0.0",
         "@smithy/protocol-http": "^5.0.0",
         "@smithy/types": "^4.0.0",
@@ -840,13 +730,62 @@
         "node": ">=18.0.0"
       }
     },
+    "node_modules/@aws-sdk/nested-clients": {
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.731.1.tgz",
+      "integrity": "sha512-/L8iVrulnXZl+kgmTn+oxRxNnhcSIbf+r12C06vGUq60w0YMidLvxJZN7vt8H9SnCAGCHqud2MS7ExCEvhc0gA==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@aws-crypto/sha256-browser": "5.2.0",
+        "@aws-crypto/sha256-js": "5.2.0",
+        "@aws-sdk/core": "3.731.0",
+        "@aws-sdk/middleware-host-header": "3.731.0",
+        "@aws-sdk/middleware-logger": "3.731.0",
+        "@aws-sdk/middleware-recursion-detection": "3.731.0",
+        "@aws-sdk/middleware-user-agent": "3.731.0",
+        "@aws-sdk/region-config-resolver": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
+        "@aws-sdk/util-endpoints": "3.731.0",
+        "@aws-sdk/util-user-agent-browser": "3.731.0",
+        "@aws-sdk/util-user-agent-node": "3.731.0",
+        "@smithy/config-resolver": "^4.0.0",
+        "@smithy/core": "^3.0.0",
+        "@smithy/fetch-http-handler": "^5.0.0",
+        "@smithy/hash-node": "^4.0.0",
+        "@smithy/invalid-dependency": "^4.0.0",
+        "@smithy/middleware-content-length": "^4.0.0",
+        "@smithy/middleware-endpoint": "^4.0.0",
+        "@smithy/middleware-retry": "^4.0.0",
+        "@smithy/middleware-serde": "^4.0.0",
+        "@smithy/middleware-stack": "^4.0.0",
+        "@smithy/node-config-provider": "^4.0.0",
+        "@smithy/node-http-handler": "^4.0.0",
+        "@smithy/protocol-http": "^5.0.0",
+        "@smithy/smithy-client": "^4.0.0",
+        "@smithy/types": "^4.0.0",
+        "@smithy/url-parser": "^4.0.0",
+        "@smithy/util-base64": "^4.0.0",
+        "@smithy/util-body-length-browser": "^4.0.0",
+        "@smithy/util-body-length-node": "^4.0.0",
+        "@smithy/util-defaults-mode-browser": "^4.0.0",
+        "@smithy/util-defaults-mode-node": "^4.0.0",
+        "@smithy/util-endpoints": "^3.0.0",
+        "@smithy/util-middleware": "^4.0.0",
+        "@smithy/util-retry": "^4.0.0",
+        "@smithy/util-utf8": "^4.0.0",
+        "tslib": "^2.6.2"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      }
+    },
     "node_modules/@aws-sdk/region-config-resolver": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.723.0.tgz",
-      "integrity": "sha512-tGF/Cvch3uQjZIj34LY2mg8M2Dr4kYG8VU8Yd0dFnB1ybOEOveIK/9ypUo9ycZpB9oO6q01KRe5ijBaxNueUQg==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.731.0.tgz",
+      "integrity": "sha512-XlDpRNkDVHF59f07JmkuAidEv//m3hT6/JL85h0l3+zrpaRWhf8n8lVUyAPNq35ZujK8AcorYM+93u7hdWsliQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/node-config-provider": "^4.0.0",
         "@smithy/types": "^4.0.0",
         "@smithy/util-config-provider": "^4.0.0",
@@ -858,14 +797,14 @@
       }
     },
     "node_modules/@aws-sdk/s3-request-presigner": {
-      "version": "3.726.1",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.726.1.tgz",
-      "integrity": "sha512-IoM/u1gaZiSHEZkkf+Hn6MvCFUtLJgJysApW6NFbM2GYt4hqGLX5jhbjo5KVxC3wFfAhAwK1deSOM0FriBrKrg==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.731.1.tgz",
+      "integrity": "sha512-GdG0pXkcTgBpenouB834FoCHyLaivV2rGQn7OEQBiT8SBaTxSackZ6tGlJQAlzZQkiQfE/NePUJU7DczJZZvrg==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/signature-v4-multi-region": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
-        "@aws-sdk/util-format-url": "3.723.0",
+        "@aws-sdk/signature-v4-multi-region": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
+        "@aws-sdk/util-format-url": "3.731.0",
         "@smithy/middleware-endpoint": "^4.0.0",
         "@smithy/protocol-http": "^5.0.0",
         "@smithy/smithy-client": "^4.0.0",
@@ -877,13 +816,13 @@
       }
     },
     "node_modules/@aws-sdk/signature-v4-multi-region": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.723.0.tgz",
-      "integrity": "sha512-lJlVAa5Sl589qO8lwMLVUtnlF1Q7I+6k1Iomv2goY9d1bRl4q2N5Pit2qJVr2AMW0sceQXeh23i2a/CKOqVAdg==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.731.0.tgz",
+      "integrity": "sha512-1r/b4Os15dR+BCVRRLVQJMF7Krq6xX6IKHxN43kuvODYWz8Nv3XDlaSpeRpAzyJuzW/fTp4JgE+z0+gmJfdEeA==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/middleware-sdk-s3": "3.723.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/middleware-sdk-s3": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/protocol-http": "^5.0.0",
         "@smithy/signature-v4": "^5.0.0",
         "@smithy/types": "^4.0.0",
@@ -894,12 +833,13 @@
       }
     },
     "node_modules/@aws-sdk/token-providers": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.723.0.tgz",
-      "integrity": "sha512-hniWi1x4JHVwKElANh9afKIMUhAutHVBRD8zo6usr0PAoj+Waf220+1ULS74GXtLXAPCiNXl5Og+PHA7xT8ElQ==",
+      "version": "3.731.1",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.731.1.tgz",
+      "integrity": "sha512-t34GOPwBZsX7zGHjiTXmMHGY3kHM7fLiQ60Jqk0On9P0ASHTDE5U75RgCXboE3u+qEv9wyKyaqMNyMWj9qQlFg==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/nested-clients": "3.731.1",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/property-provider": "^4.0.0",
         "@smithy/shared-ini-file-loader": "^4.0.0",
         "@smithy/types": "^4.0.0",
@@ -907,15 +847,12 @@
       },
       "engines": {
         "node": ">=18.0.0"
-      },
-      "peerDependencies": {
-        "@aws-sdk/client-sso-oidc": "^3.723.0"
       }
     },
     "node_modules/@aws-sdk/types": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.723.0.tgz",
-      "integrity": "sha512-LmK3kwiMZG1y5g3LGihT9mNkeNOmwEyPk6HGcJqh0wOSV4QpWoKu2epyKE4MLQNUUlz2kOVbVbOrwmI6ZcteuA==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.731.0.tgz",
+      "integrity": "sha512-NrdkJg6oOUbXR2r9WvHP408CLyvST8cJfp1/jP9pemtjvjPoh6NukbCtiSFdOOb1eryP02CnqQWItfJC1p2Y/Q==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^4.0.0",
@@ -938,12 +875,12 @@
       }
     },
     "node_modules/@aws-sdk/util-endpoints": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.726.0.tgz",
-      "integrity": "sha512-sLd30ASsPMoPn3XBK50oe/bkpJ4N8Bpb7SbhoxcY3Lk+fSASaWxbbXE81nbvCnkxrZCvkPOiDHzJCp1E2im71A==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.731.0.tgz",
+      "integrity": "sha512-riztxTAfncFS9yQWcBJffGgOgLoKSa63ph+rxWJxKl6BHAmWEvHICj1qDcVmnWfIcvJ5cClclY75l9qKaUH7rQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/types": "^4.0.0",
         "@smithy/util-endpoints": "^3.0.0",
         "tslib": "^2.6.2"
@@ -953,12 +890,12 @@
       }
     },
     "node_modules/@aws-sdk/util-format-url": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.723.0.tgz",
-      "integrity": "sha512-70+xUrdcnencPlCdV9XkRqmgj0vLDb8vm4mcEsgabg5QQ3S80KM0GEuhBAIGMkBWwNQTzCgQy2s7xOUlJPbu+g==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.731.0.tgz",
+      "integrity": "sha512-wZHObjnYmiz8wFlUQ4/5dHsT7k0at+GvZM02LgvshcRJLnFjYdrzjelMKuNynd/NNK3gLgTsFTGuIgPpz9r4rA==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/querystring-builder": "^4.0.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
@@ -980,25 +917,25 @@
       }
     },
     "node_modules/@aws-sdk/util-user-agent-browser": {
-      "version": "3.723.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.723.0.tgz",
-      "integrity": "sha512-Wh9I6j2jLhNFq6fmXydIpqD1WyQLyTfSxjW9B+PXSnPyk3jtQW8AKQur7p97rO8LAUzVI0bv8kb3ZzDEVbquIg==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.731.0.tgz",
+      "integrity": "sha512-EnYXxTkCNCjTTBjW/pelRPv4Thsi9jepoB6qQjPMA9/ixrZ71BhhQecz9kgqzZLR9BPCwb6hgJ/Yd702jqJ4aQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/types": "^4.0.0",
         "bowser": "^2.11.0",
         "tslib": "^2.6.2"
       }
     },
     "node_modules/@aws-sdk/util-user-agent-node": {
-      "version": "3.726.0",
-      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.726.0.tgz",
-      "integrity": "sha512-iEj6KX9o6IQf23oziorveRqyzyclWai95oZHDJtYav3fvLJKStwSjygO4xSF7ycHcTYeCHSLO1FFOHgGVs4Viw==",
+      "version": "3.731.0",
+      "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.731.0.tgz",
+      "integrity": "sha512-Rze78Ym5Bx7aWMvmZE2iL3JPo2INNCC5N9rLVx98Gg1G0ZaxclVRUvJrh1AojNlOFxU+otkxAe7FA3Foy2iLLQ==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@aws-sdk/middleware-user-agent": "3.726.0",
-        "@aws-sdk/types": "3.723.0",
+        "@aws-sdk/middleware-user-agent": "3.731.0",
+        "@aws-sdk/types": "3.731.0",
         "@smithy/node-config-provider": "^4.0.0",
         "@smithy/types": "^4.0.0",
         "tslib": "^2.6.2"
@@ -1560,13 +1497,13 @@
       }
     },
     "node_modules/@eslint/config-array": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz",
-      "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==",
+      "version": "0.19.1",
+      "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz",
+      "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==",
       "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
-        "@eslint/object-schema": "^2.1.4",
+        "@eslint/object-schema": "^2.1.5",
         "debug": "^4.3.1",
         "minimatch": "^3.1.2"
       },
@@ -1575,11 +1512,14 @@
       }
     },
     "node_modules/@eslint/core": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.6.0.tgz",
-      "integrity": "sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==",
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz",
+      "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==",
       "dev": true,
       "license": "Apache-2.0",
+      "dependencies": {
+        "@types/json-schema": "^7.0.15"
+      },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
@@ -1633,9 +1573,9 @@
       "license": "MIT"
     },
     "node_modules/@eslint/js": {
-      "version": "9.12.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.12.0.tgz",
-      "integrity": "sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==",
+      "version": "9.18.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz",
+      "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -1666,19 +1606,6 @@
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": {
-      "version": "0.10.0",
-      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz",
-      "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@types/json-schema": "^7.0.15"
-      },
-      "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-      }
-    },
     "node_modules/@fortawesome/fontawesome-free": {
       "version": "6.7.2",
       "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.7.2.tgz",
@@ -1689,9 +1616,9 @@
       }
     },
     "node_modules/@hey-api/client-axios": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmjs.org/@hey-api/client-axios/-/client-axios-0.4.0.tgz",
-      "integrity": "sha512-hELbeP5i7InIQY1Fn8L2vjWQnlg5ET39KzN0O45C/wA2ArMXrkUfq9svnvSNrdXSt7K5nJZhMV2gT4WIHArU+g==",
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/@hey-api/client-axios/-/client-axios-0.5.0.tgz",
+      "integrity": "sha512-W7ySNCtKNEE8xCNp9AYJgOMe0mgWsu35DmXgH5dqrDG+LhSxIQy6eX75XuubKNQJwK6gmLlIhSWx2H5wT1RzPA==",
       "license": "MIT",
       "funding": {
         "url": "https://github.com/sponsors/hey-api"
@@ -1719,9 +1646,9 @@
       }
     },
     "node_modules/@hey-api/openapi-ts": {
-      "version": "0.61.3",
-      "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.61.3.tgz",
-      "integrity": "sha512-Ls9MBRa5+vg7UHw6fIcfdgcCyZ9vKtRw63nWxwF9zjJIPlzVOZO6xKuzGmDc6o0Pb6XCdTz6lPV5hcV0R4b/ag==",
+      "version": "0.62.1",
+      "resolved": "https://registry.npmjs.org/@hey-api/openapi-ts/-/openapi-ts-0.62.1.tgz",
+      "integrity": "sha512-iCqeu3jhlMBBhAFu3ZCSww5fV4M9xhYhL06QXjwXso4CSfrCpEGw03wTXOphWI1mmZUl8/eNn3DKdP7QpewhHA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -2245,9 +2172,9 @@
       }
     },
     "node_modules/@rollup/rollup-android-arm-eabi": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz",
-      "integrity": "sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz",
+      "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==",
       "cpu": [
         "arm"
       ],
@@ -2259,9 +2186,9 @@
       ]
     },
     "node_modules/@rollup/rollup-android-arm64": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.30.1.tgz",
-      "integrity": "sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz",
+      "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==",
       "cpu": [
         "arm64"
       ],
@@ -2273,9 +2200,9 @@
       ]
     },
     "node_modules/@rollup/rollup-darwin-arm64": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.30.1.tgz",
-      "integrity": "sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz",
+      "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==",
       "cpu": [
         "arm64"
       ],
@@ -2287,9 +2214,9 @@
       ]
     },
     "node_modules/@rollup/rollup-darwin-x64": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.30.1.tgz",
-      "integrity": "sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz",
+      "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==",
       "cpu": [
         "x64"
       ],
@@ -2301,9 +2228,9 @@
       ]
     },
     "node_modules/@rollup/rollup-freebsd-arm64": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.30.1.tgz",
-      "integrity": "sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz",
+      "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==",
       "cpu": [
         "arm64"
       ],
@@ -2315,9 +2242,9 @@
       ]
     },
     "node_modules/@rollup/rollup-freebsd-x64": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.30.1.tgz",
-      "integrity": "sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz",
+      "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==",
       "cpu": [
         "x64"
       ],
@@ -2329,9 +2256,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.30.1.tgz",
-      "integrity": "sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz",
+      "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==",
       "cpu": [
         "arm"
       ],
@@ -2343,9 +2270,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm-musleabihf": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.30.1.tgz",
-      "integrity": "sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz",
+      "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==",
       "cpu": [
         "arm"
       ],
@@ -2357,9 +2284,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm64-gnu": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.30.1.tgz",
-      "integrity": "sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz",
+      "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==",
       "cpu": [
         "arm64"
       ],
@@ -2371,9 +2298,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm64-musl": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.30.1.tgz",
-      "integrity": "sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz",
+      "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==",
       "cpu": [
         "arm64"
       ],
@@ -2385,9 +2312,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.30.1.tgz",
-      "integrity": "sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz",
+      "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==",
       "cpu": [
         "loong64"
       ],
@@ -2399,9 +2326,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.30.1.tgz",
-      "integrity": "sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz",
+      "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==",
       "cpu": [
         "ppc64"
       ],
@@ -2413,9 +2340,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.30.1.tgz",
-      "integrity": "sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz",
+      "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==",
       "cpu": [
         "riscv64"
       ],
@@ -2427,9 +2354,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-s390x-gnu": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.30.1.tgz",
-      "integrity": "sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz",
+      "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==",
       "cpu": [
         "s390x"
       ],
@@ -2441,9 +2368,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.30.1.tgz",
-      "integrity": "sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz",
+      "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==",
       "cpu": [
         "x64"
       ],
@@ -2455,9 +2382,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-x64-musl": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.30.1.tgz",
-      "integrity": "sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz",
+      "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==",
       "cpu": [
         "x64"
       ],
@@ -2469,9 +2396,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-arm64-msvc": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.30.1.tgz",
-      "integrity": "sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz",
+      "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==",
       "cpu": [
         "arm64"
       ],
@@ -2483,9 +2410,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-ia32-msvc": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.30.1.tgz",
-      "integrity": "sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz",
+      "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==",
       "cpu": [
         "ia32"
       ],
@@ -2497,9 +2424,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-x64-msvc": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.1.tgz",
-      "integrity": "sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz",
+      "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==",
       "cpu": [
         "x64"
       ],
@@ -2572,9 +2499,9 @@
       }
     },
     "node_modules/@smithy/core": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.1.0.tgz",
-      "integrity": "sha512-swFv0wQiK7TGHeuAp6lfF5Kw1dHWsTrCuc+yh4Kh05gEShjsE2RUxHucEerR9ih9JITNtaHcSpUThn5Y/vDw0A==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.1.1.tgz",
+      "integrity": "sha512-hhUZlBWYuh9t6ycAcN90XOyG76C1AzwxZZgaCVPMYpWqqk9uMFo7HGG5Zu2cEhCJn7DdOi5krBmlibWWWPgdsw==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/middleware-serde": "^4.0.1",
@@ -2582,7 +2509,7 @@
         "@smithy/types": "^4.1.0",
         "@smithy/util-body-length-browser": "^4.0.0",
         "@smithy/util-middleware": "^4.0.1",
-        "@smithy/util-stream": "^4.0.1",
+        "@smithy/util-stream": "^4.0.2",
         "@smithy/util-utf8": "^4.0.0",
         "tslib": "^2.6.2"
       },
@@ -2790,12 +2717,12 @@
       }
     },
     "node_modules/@smithy/middleware-endpoint": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.0.1.tgz",
-      "integrity": "sha512-hCCOPu9+sRI7Wj0rZKKnGylKXBEd9cQJetzjQqe8cT4PWvtQAbvNVa6cgAONiZg9m8LaXtP9/waxm3C3eO4hiw==",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.0.2.tgz",
+      "integrity": "sha512-Z9m67CXizGpj8CF/AW/7uHqYNh1VXXOn9Ap54fenWsCa0HnT4cJuE61zqG3cBkTZJDCy0wHJphilI41co/PE5g==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@smithy/core": "^3.1.0",
+        "@smithy/core": "^3.1.1",
         "@smithy/middleware-serde": "^4.0.1",
         "@smithy/node-config-provider": "^4.0.1",
         "@smithy/shared-ini-file-loader": "^4.0.1",
@@ -2809,15 +2736,15 @@
       }
     },
     "node_modules/@smithy/middleware-retry": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.0.1.tgz",
-      "integrity": "sha512-n3g2zZFgOWaz2ZYCy8+4wxSmq+HSTD8QKkRhFDv+nkxY1o7gzyp4PDz/+tOdcNPMPZ/A6Mt4aVECYNjQNiaHJw==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.0.3.tgz",
+      "integrity": "sha512-TiKwwQTwUDeDtwWW8UWURTqu7s6F3wN2pmziLU215u7bqpVT9Mk2oEvURjpRLA+5XeQhM68R5BpAGzVtomsqgA==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/node-config-provider": "^4.0.1",
         "@smithy/protocol-http": "^5.0.1",
         "@smithy/service-error-classification": "^4.0.1",
-        "@smithy/smithy-client": "^4.1.0",
+        "@smithy/smithy-client": "^4.1.2",
         "@smithy/types": "^4.1.0",
         "@smithy/util-middleware": "^4.0.1",
         "@smithy/util-retry": "^4.0.1",
@@ -2870,9 +2797,9 @@
       }
     },
     "node_modules/@smithy/node-http-handler": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.1.tgz",
-      "integrity": "sha512-ddQc7tvXiVLC5c3QKraGWde761KSk+mboCheZoWtuqnXh5l0WKyFy3NfDIM/dsKrI9HlLVH/21pi9wWK2gUFFA==",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.2.tgz",
+      "integrity": "sha512-X66H9aah9hisLLSnGuzRYba6vckuFtGE+a5DcHLliI/YlqKrGoxhisD5XbX44KyoeRzoNlGr94eTsMVHFAzPOw==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/abort-controller": "^4.0.1",
@@ -2983,17 +2910,17 @@
       }
     },
     "node_modules/@smithy/smithy-client": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.1.0.tgz",
-      "integrity": "sha512-NiboZnrsrZY+Cy5hQNbYi+nVNssXVi2I+yL4CIKNIanOhH8kpC5PKQ2jx/MQpwVr21a3XcVoQBArlpRF36OeEQ==",
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.1.2.tgz",
+      "integrity": "sha512-0yApeHWBqocelHGK22UivZyShNxFbDNrgREBllGh5Ws0D0rg/yId/CJfeoKKpjbfY2ju8j6WgDUGZHYQmINZ5w==",
       "license": "Apache-2.0",
       "dependencies": {
-        "@smithy/core": "^3.1.0",
-        "@smithy/middleware-endpoint": "^4.0.1",
+        "@smithy/core": "^3.1.1",
+        "@smithy/middleware-endpoint": "^4.0.2",
         "@smithy/middleware-stack": "^4.0.1",
         "@smithy/protocol-http": "^5.0.1",
         "@smithy/types": "^4.1.0",
-        "@smithy/util-stream": "^4.0.1",
+        "@smithy/util-stream": "^4.0.2",
         "tslib": "^2.6.2"
       },
       "engines": {
@@ -3090,13 +3017,13 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-browser": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.1.tgz",
-      "integrity": "sha512-nkQifWzWUHw/D0aLPgyKut+QnJ5X+5E8wBvGfvrYLLZ86xPfVO6MoqfQo/9s4bF3Xscefua1M6KLZtobHMWrBg==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.3.tgz",
+      "integrity": "sha512-7c5SF1fVK0EOs+2EOf72/qF199zwJflU1d02AevwKbAUPUZyE9RUZiyJxeUmhVxfKDWdUKaaVojNiaDQgnHL9g==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/property-provider": "^4.0.1",
-        "@smithy/smithy-client": "^4.1.0",
+        "@smithy/smithy-client": "^4.1.2",
         "@smithy/types": "^4.1.0",
         "bowser": "^2.11.0",
         "tslib": "^2.6.2"
@@ -3106,16 +3033,16 @@
       }
     },
     "node_modules/@smithy/util-defaults-mode-node": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.1.tgz",
-      "integrity": "sha512-LeAx2faB83litC9vaOdwFaldtto2gczUHxfFf8yoRwDU3cwL4/pDm7i0hxsuBCRk5mzHsrVGw+3EVCj32UZMdw==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.3.tgz",
+      "integrity": "sha512-CVnD42qYD3JKgDlImZ9+On+MqJHzq9uJgPbMdeBE8c2x8VJ2kf2R3XO/yVFx+30ts5lD/GlL0eFIShY3x9ROgQ==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/config-resolver": "^4.0.1",
         "@smithy/credential-provider-imds": "^4.0.1",
         "@smithy/node-config-provider": "^4.0.1",
         "@smithy/property-provider": "^4.0.1",
-        "@smithy/smithy-client": "^4.1.0",
+        "@smithy/smithy-client": "^4.1.2",
         "@smithy/types": "^4.1.0",
         "tslib": "^2.6.2"
       },
@@ -3177,13 +3104,13 @@
       }
     },
     "node_modules/@smithy/util-stream": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.0.1.tgz",
-      "integrity": "sha512-Js16gOgU6Qht6qTPfuJgb+1YD4AEO+5Y1UPGWKSp3BNo8ONl/qhXSYDhFKJtwybRJynlCqvP5IeiaBsUmkSPTQ==",
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.0.2.tgz",
+      "integrity": "sha512-0eZ4G5fRzIoewtHtwaYyl8g2C+osYOT4KClXgfdNEDAgkbe2TYPqcnw4GAWabqkZCax2ihRGPe9LZnsPdIUIHA==",
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/fetch-http-handler": "^5.0.1",
-        "@smithy/node-http-handler": "^4.0.1",
+        "@smithy/node-http-handler": "^4.0.2",
         "@smithy/types": "^4.1.0",
         "@smithy/util-base64": "^4.0.0",
         "@smithy/util-buffer-from": "^4.0.0",
@@ -3282,9 +3209,9 @@
       "license": "MIT"
     },
     "node_modules/@types/node": {
-      "version": "22.10.6",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz",
-      "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==",
+      "version": "22.10.7",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz",
+      "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -3643,14 +3570,14 @@
       "license": "MIT"
     },
     "node_modules/@vue/eslint-config-prettier": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.1.0.tgz",
-      "integrity": "sha512-J6wV91y2pXc0Phha01k0WOHBTPsoSTf4xlmMjoKaeSxBpAdsgTppGF5RZRdOHM7OA74zAXD+VLANrtYXpiPKkQ==",
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz",
+      "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "eslint-config-prettier": "^9.1.0",
-        "eslint-plugin-prettier": "^5.2.1"
+        "eslint-config-prettier": "^10.0.1",
+        "eslint-plugin-prettier": "^5.2.2"
       },
       "peerDependencies": {
         "eslint": ">= 8.21.0",
@@ -3658,14 +3585,15 @@
       }
     },
     "node_modules/@vue/eslint-config-typescript": {
-      "version": "14.2.0",
-      "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.2.0.tgz",
-      "integrity": "sha512-JJ4wHuTJa2faQsBOUeWzuHOSFizVS7RWG2eH2noABk2LcT4wVcTOMZKM/lFobKBcgwADIPAKVRGFHVKooXImoA==",
+      "version": "14.3.0",
+      "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.3.0.tgz",
+      "integrity": "sha512-bOreIxlSC/xsUdhDdKIHb1grwJah+IokNeJ50LqA1StdOHeSPUxSIPNxyKgRx4YdjhyzC6TKtrCf6yYK99x3Uw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "fast-glob": "^3.3.2",
-        "typescript-eslint": "^8.18.1",
+        "@typescript-eslint/utils": "^8.20.0",
+        "fast-glob": "^3.3.3",
+        "typescript-eslint": "^8.20.0",
         "vue-eslint-parser": "^9.4.3"
       },
       "engines": {
@@ -4823,9 +4751,9 @@
       }
     },
     "node_modules/es-object-atoms": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.1.tgz",
-      "integrity": "sha512-BPOBuyUF9QIVhuNLhbToCLHP6+0MHwZ7xLBkPPCZqK4JmpJgGnv10035STzzQwFpqdzNFMB3irvDI63IagvDwA==",
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+      "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
       "license": "MIT",
       "dependencies": {
         "es-errors": "^1.3.0"
@@ -4889,32 +4817,32 @@
       }
     },
     "node_modules/eslint": {
-      "version": "9.12.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.12.0.tgz",
-      "integrity": "sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==",
+      "version": "9.18.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz",
+      "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
-        "@eslint-community/regexpp": "^4.11.0",
-        "@eslint/config-array": "^0.18.0",
-        "@eslint/core": "^0.6.0",
-        "@eslint/eslintrc": "^3.1.0",
-        "@eslint/js": "9.12.0",
-        "@eslint/plugin-kit": "^0.2.0",
-        "@humanfs/node": "^0.16.5",
+        "@eslint-community/regexpp": "^4.12.1",
+        "@eslint/config-array": "^0.19.0",
+        "@eslint/core": "^0.10.0",
+        "@eslint/eslintrc": "^3.2.0",
+        "@eslint/js": "9.18.0",
+        "@eslint/plugin-kit": "^0.2.5",
+        "@humanfs/node": "^0.16.6",
         "@humanwhocodes/module-importer": "^1.0.1",
-        "@humanwhocodes/retry": "^0.3.1",
+        "@humanwhocodes/retry": "^0.4.1",
         "@types/estree": "^1.0.6",
         "@types/json-schema": "^7.0.15",
         "ajv": "^6.12.4",
         "chalk": "^4.0.0",
-        "cross-spawn": "^7.0.2",
+        "cross-spawn": "^7.0.6",
         "debug": "^4.3.2",
         "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^8.1.0",
-        "eslint-visitor-keys": "^4.1.0",
-        "espree": "^10.2.0",
+        "eslint-scope": "^8.2.0",
+        "eslint-visitor-keys": "^4.2.0",
+        "espree": "^10.3.0",
         "esquery": "^1.5.0",
         "esutils": "^2.0.2",
         "fast-deep-equal": "^3.1.3",
@@ -4928,8 +4856,7 @@
         "lodash.merge": "^4.6.2",
         "minimatch": "^3.1.2",
         "natural-compare": "^1.4.0",
-        "optionator": "^0.9.3",
-        "text-table": "^0.2.0"
+        "optionator": "^0.9.3"
       },
       "bin": {
         "eslint": "bin/eslint.js"
@@ -4950,22 +4877,22 @@
       }
     },
     "node_modules/eslint-config-prettier": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz",
-      "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz",
+      "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==",
       "dev": true,
       "license": "MIT",
       "bin": {
-        "eslint-config-prettier": "bin/cli.js"
+        "eslint-config-prettier": "build/bin/cli.js"
       },
       "peerDependencies": {
         "eslint": ">=7.0.0"
       }
     },
     "node_modules/eslint-plugin-prettier": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz",
-      "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==",
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz",
+      "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -5062,6 +4989,20 @@
         "url": "https://opencollective.com/eslint"
       }
     },
+    "node_modules/eslint/node_modules/@humanwhocodes/retry": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz",
+      "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "engines": {
+        "node": ">=18.18"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/nzakas"
+      }
+    },
     "node_modules/eslint/node_modules/ajv": {
       "version": "6.12.6",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -6336,9 +6277,9 @@
       }
     },
     "node_modules/mlly/node_modules/pathe": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.1.tgz",
-      "integrity": "sha512-6jpjMpOth5S9ITVu5clZ7NOgHNsv5vRQdheL9ztp2vZmM6fRbLvyua1tiBIL4lk8SAe3ARzeXEly6siXCjDHDw==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.2.tgz",
+      "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==",
       "dev": true,
       "license": "MIT"
     },
@@ -6397,9 +6338,9 @@
       "optional": true
     },
     "node_modules/node-fetch-native": {
-      "version": "1.6.4",
-      "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz",
-      "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==",
+      "version": "1.6.6",
+      "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz",
+      "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==",
       "dev": true,
       "license": "MIT"
     },
@@ -6793,9 +6734,9 @@
       }
     },
     "node_modules/pinia": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.0.tgz",
-      "integrity": "sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==",
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.1.tgz",
+      "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==",
       "license": "MIT",
       "dependencies": {
         "@vue/devtools-api": "^6.6.3",
@@ -6828,17 +6769,24 @@
       }
     },
     "node_modules/pkg-types": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.0.tgz",
-      "integrity": "sha512-kS7yWjVFCkIw9hqdJBoMxDdzEngmkr5FXeWZZfQ6GoYacjVnsW6l2CcYW/0ThD0vF4LPJgVYnrg4d0uuhwYQbg==",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz",
+      "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "confbox": "^0.1.8",
-        "mlly": "^1.7.3",
-        "pathe": "^1.1.2"
+        "mlly": "^1.7.4",
+        "pathe": "^2.0.1"
       }
     },
+    "node_modules/pkg-types/node_modules/pathe": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.2.tgz",
+      "integrity": "sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/possible-typed-array-names": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
@@ -6850,9 +6798,9 @@
       }
     },
     "node_modules/postcss": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.0.tgz",
-      "integrity": "sha512-27VKOqrYfPncKA2NrFOVhP5MGAfHKLYn/Q0mz9cNQyRAKYi3VNHwYU2qKKqPCqgBmeeJ0uAFB56NumXZ5ZReXg==",
+      "version": "8.5.1",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz",
+      "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==",
       "funding": [
         {
           "type": "opencollective",
@@ -6984,12 +6932,12 @@
       "license": "MIT"
     },
     "node_modules/qs": {
-      "version": "6.13.1",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.1.tgz",
-      "integrity": "sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==",
+      "version": "6.14.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
+      "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
       "license": "BSD-3-Clause",
       "dependencies": {
-        "side-channel": "^1.0.6"
+        "side-channel": "^1.1.0"
       },
       "engines": {
         "node": ">=0.6"
@@ -7151,9 +7099,9 @@
       }
     },
     "node_modules/rollup": {
-      "version": "4.30.1",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz",
-      "integrity": "sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==",
+      "version": "4.31.0",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz",
+      "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -7167,25 +7115,25 @@
         "npm": ">=8.0.0"
       },
       "optionalDependencies": {
-        "@rollup/rollup-android-arm-eabi": "4.30.1",
-        "@rollup/rollup-android-arm64": "4.30.1",
-        "@rollup/rollup-darwin-arm64": "4.30.1",
-        "@rollup/rollup-darwin-x64": "4.30.1",
-        "@rollup/rollup-freebsd-arm64": "4.30.1",
-        "@rollup/rollup-freebsd-x64": "4.30.1",
-        "@rollup/rollup-linux-arm-gnueabihf": "4.30.1",
-        "@rollup/rollup-linux-arm-musleabihf": "4.30.1",
-        "@rollup/rollup-linux-arm64-gnu": "4.30.1",
-        "@rollup/rollup-linux-arm64-musl": "4.30.1",
-        "@rollup/rollup-linux-loongarch64-gnu": "4.30.1",
-        "@rollup/rollup-linux-powerpc64le-gnu": "4.30.1",
-        "@rollup/rollup-linux-riscv64-gnu": "4.30.1",
-        "@rollup/rollup-linux-s390x-gnu": "4.30.1",
-        "@rollup/rollup-linux-x64-gnu": "4.30.1",
-        "@rollup/rollup-linux-x64-musl": "4.30.1",
-        "@rollup/rollup-win32-arm64-msvc": "4.30.1",
-        "@rollup/rollup-win32-ia32-msvc": "4.30.1",
-        "@rollup/rollup-win32-x64-msvc": "4.30.1",
+        "@rollup/rollup-android-arm-eabi": "4.31.0",
+        "@rollup/rollup-android-arm64": "4.31.0",
+        "@rollup/rollup-darwin-arm64": "4.31.0",
+        "@rollup/rollup-darwin-x64": "4.31.0",
+        "@rollup/rollup-freebsd-arm64": "4.31.0",
+        "@rollup/rollup-freebsd-x64": "4.31.0",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.31.0",
+        "@rollup/rollup-linux-arm-musleabihf": "4.31.0",
+        "@rollup/rollup-linux-arm64-gnu": "4.31.0",
+        "@rollup/rollup-linux-arm64-musl": "4.31.0",
+        "@rollup/rollup-linux-loongarch64-gnu": "4.31.0",
+        "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0",
+        "@rollup/rollup-linux-riscv64-gnu": "4.31.0",
+        "@rollup/rollup-linux-s390x-gnu": "4.31.0",
+        "@rollup/rollup-linux-x64-gnu": "4.31.0",
+        "@rollup/rollup-linux-x64-musl": "4.31.0",
+        "@rollup/rollup-win32-arm64-msvc": "4.31.0",
+        "@rollup/rollup-win32-ia32-msvc": "4.31.0",
+        "@rollup/rollup-win32-x64-msvc": "4.31.0",
         "fsevents": "~2.3.2"
       }
     },
@@ -7606,13 +7554,6 @@
         "node": ">=10"
       }
     },
-    "node_modules/text-table": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
-      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/timers-browserify": {
       "version": "2.0.12",
       "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
@@ -7692,9 +7633,9 @@
       }
     },
     "node_modules/typescript": {
-      "version": "5.5.4",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
-      "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
+      "version": "5.7.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
+      "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
       "devOptional": true,
       "license": "Apache-2.0",
       "bin": {
@@ -7824,9 +7765,9 @@
       }
     },
     "node_modules/vite": {
-      "version": "6.0.7",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz",
-      "integrity": "sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==",
+      "version": "6.0.9",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.9.tgz",
+      "integrity": "sha512-MSgUxHcaXLtnBPktkbUSoQUANApKYuxZ6DrbVENlIorbhL2dZydTLaZ01tjUoE3szeFzlFk9ANOKk0xurh4MKA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -7896,9 +7837,9 @@
       }
     },
     "node_modules/vite-plugin-node-polyfills": {
-      "version": "0.22.0",
-      "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.22.0.tgz",
-      "integrity": "sha512-F+G3LjiGbG8QpbH9bZ//GSBr9i1InSTkaulfUHFa9jkLqVGORFBoqc2A/Yu5Mmh1kNAbiAeKeK+6aaQUf3x0JA==",
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.23.0.tgz",
+      "integrity": "sha512-4n+Ys+2bKHQohPBKigFlndwWQ5fFKwaGY6muNDMTb0fSQLyBzS+jjUNRZG9sKF0S/Go4ApG6LFnUGopjkILg3w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -7909,7 +7850,7 @@
         "url": "https://github.com/sponsors/davidmyersdev"
       },
       "peerDependencies": {
-        "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0"
+        "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
       }
     },
     "node_modules/vm-browserify": {
diff --git a/package.json b/package.json
index 4b6ec3b..3cb8c26 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
     "@aws-sdk/lib-storage": "^3.637.0",
     "@aws-sdk/s3-request-presigner": "^3.637.0",
     "@fortawesome/fontawesome-free": "~6.7.0",
-    "@hey-api/client-axios": "^0.4.0",
+    "@hey-api/client-axios": "^0.5.0",
     "@popperjs/core": "~2.11.8",
     "ajv": "~8.17.0",
     "bootstrap": "~5.3.0",
@@ -38,7 +38,7 @@
   },
   "devDependencies": {
     "@eslint/compat": "^1.2.0",
-    "@hey-api/openapi-ts": "^0.61.0",
+    "@hey-api/openapi-ts": "^0.62.0",
     "@rushstack/eslint-patch": "~1.10.0",
     "@tsconfig/node22": "^22.0.0",
     "@types/bootstrap": "~5.2.0",
@@ -49,22 +49,17 @@
     "@types/showdown": "~2.0.1",
     "@types/sortablejs": "^1.15.7",
     "@vitejs/plugin-vue": "~5.2.0",
-    "@vue/eslint-config-prettier": "~10.1.0",
-    "@vue/eslint-config-typescript": "~14.2.0",
+    "@vue/eslint-config-prettier": "~10.2.0",
+    "@vue/eslint-config-typescript": "~14.3.0",
     "@vue/tsconfig": "~0.7.0",
-    "eslint": "~9.12.0",
+    "eslint": "~9.18.0",
     "eslint-plugin-vue": "~9.32.0",
     "highlight.js": "^11.9.0",
     "prettier": "~3.4.0",
     "sass": "^1.66.0",
-    "typescript": "~5.5.0",
+    "typescript": "~5.7.0",
     "vite": "~6.0.0",
-    "vite-plugin-node-polyfills": "^0.22.0",
+    "vite-plugin-node-polyfills": "^0.23.0",
     "vue-tsc": "~2.2.0"
-  },
-  "overrides": {
-    "vite-plugin-node-polyfills": {
-      "vite": "^6.0.0"
-    }
   }
 }
diff --git a/src/components/parameter-schema/ParameterSchemaFormComponent.vue b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
index 71627df..d9383d0 100644
--- a/src/components/parameter-schema/ParameterSchemaFormComponent.vue
+++ b/src/components/parameter-schema/ParameterSchemaFormComponent.vue
@@ -3,7 +3,9 @@ import { computed, onMounted, type PropType, reactive, ref, watch } from "vue";
 import ParameterGroupForm from "@/components/parameter-schema/form-mode/ParameterGroupForm.vue";
 import FontAwesomeIcon from "@/components/FontAwesomeIcon.vue";
 import type { ValidateFunction } from "ajv";
-import Ajv from "ajv";
+import Ajv2020 from "ajv/dist/2020";
+import Ajv2019 from "ajv/dist/2019";
+import Ajv from "ajv/dist/ajv";
 import ParameterInput from "@/components/parameter-schema/form-mode/ParameterInput.vue";
 import { Toast } from "bootstrap";
 import { useBucketStore } from "@/stores/buckets";
@@ -76,10 +78,17 @@ let parameterLoadToast: Toast | null = null;
 
 // JSON Schema package
 // =============================================================================
-const schemaCompiler = new Ajv({
-  strict: false,
-});
-
+const ajvVersions = {
+  "https://json-schema.org/draft/2020-12/schema": new Ajv2020({
+    strict: false,
+  }),
+  "https://json-schema.org/draft/2019-09/schema": new Ajv2019({
+    strict: false,
+  }),
+  "http://json-schema.org/draft-07/schema": new Ajv({
+    strict: false,
+  }),
+};
 let validateSchema: ValidateFunction;
 
 // Reactive State
@@ -192,8 +201,15 @@ watch(
 
 // Functions
 // =============================================================================
-/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/ban-ts-comment */
+/* eslint-disable @typescript-eslint/no-explicit-any */
 function updateSchema(schema: Record<string, any>) {
+  const schemaCompiler =
+    /* eslint-disable @typescript-eslint/ban-ts-comment */
+    // @ts-ignore
+    ajvVersions[
+      schema["$schema"] ?? "https://json-schema.org/draft/2020-12/schema"
+    ] ?? ajvVersions["https://json-schema.org/draft/2020-12/schema"];
+  console.log(schema["$schema"], schemaCompiler);
   validateSchema = schemaCompiler.compile(schema);
   const groupedParameters = Object.keys(parameterGroups.value).map(
     (groupName) =>
diff --git a/src/components/parameter-schema/form-mode/ParameterInput.vue b/src/components/parameter-schema/form-mode/ParameterInput.vue
index 6bb642a..97d8ec3 100644
--- a/src/components/parameter-schema/form-mode/ParameterInput.vue
+++ b/src/components/parameter-schema/form-mode/ParameterInput.vue
@@ -8,6 +8,7 @@ import ParameterFileInput from "@/components/parameter-schema/form-mode/Paramete
 import ParameterStringInput from "@/components/parameter-schema/form-mode/ParameterStringInput.vue";
 import type { SizeModifierType, ExtendedColors } from "@/types/PropTypes";
 import ParameterMappingInput from "@/components/parameter-schema/form-mode/ParameterMappingInput.vue";
+import ParameterTimeInput from "@/components/parameter-schema/form-mode/ParameterTimeInput.vue";
 
 const model = defineModel({
   required: true,
@@ -35,6 +36,25 @@ const parameterType = computed<string>(
 );
 
 const elemId = computed<string>(() => props.id ?? randomIDSuffix);
+const parameterFormat = computed<string | undefined>(
+  () => props.parameter["format"],
+);
+const fileParameter = computed<boolean>(() => {
+  return (
+    parameterFormat.value != undefined &&
+    (parameterFormat.value === "path" ||
+      parameterFormat.value === "file-path" ||
+      parameterFormat.value === "directory-path")
+  );
+});
+const timeParameter = computed<boolean>(() => {
+  return (
+    parameterFormat.value != undefined &&
+    (parameterFormat.value === "date" ||
+      parameterFormat.value === "date-time" ||
+      parameterFormat.value === "time")
+  );
+});
 </script>
 
 <template>
@@ -93,7 +113,7 @@ const elemId = computed<string>(() => props.id ?? randomIDSuffix);
       @switch-to-raw="rawInput = true"
     />
     <parameter-file-input
-      v-else-if="parameter['format'] && !rawInput && !forceRawFile"
+      v-else-if="fileParameter && !rawInput && !forceRawFile"
       :id="elemId"
       v-model="model"
       :required="required"
@@ -104,6 +124,16 @@ const elemId = computed<string>(() => props.id ?? randomIDSuffix);
       :custom-validity="customValidity"
       @switch-to-raw="rawInput = true"
     />
+    <parameter-time-input
+      v-else-if="timeParameter"
+      :id="elemId"
+      v-model="model"
+      :parameter="parameter"
+      :required="required"
+      :size-modifier="sizeModifier"
+      :border="border"
+      :custom-validity="customValidity"
+    />
     <parameter-string-input
       v-else
       :id="elemId"
diff --git a/src/components/parameter-schema/form-mode/ParameterTimeInput.vue b/src/components/parameter-schema/form-mode/ParameterTimeInput.vue
new file mode 100644
index 0000000..f621ab9
--- /dev/null
+++ b/src/components/parameter-schema/form-mode/ParameterTimeInput.vue
@@ -0,0 +1,71 @@
+<script setup lang="ts">
+import { computed, onMounted, type PropType, ref } from "vue";
+import type { ExtendedColors, SizeModifierType } from "@/types/PropTypes";
+
+const model = defineModel({ required: true });
+const props = defineProps({
+  parameter: {
+    type: Object,
+    required: true,
+  },
+  required: Boolean,
+  helpId: {
+    type: String,
+  },
+  sizeModifier: {
+    type: String as PropType<SizeModifierType>,
+  },
+  border: String as PropType<ExtendedColors>,
+  id: String,
+  customValidity: { type: String, required: false },
+});
+
+const dynamicCssClass = computed<string[]>(() => {
+  const cssClasses = [];
+  if (props.sizeModifier) {
+    cssClasses.push(`form-control-${props.sizeModifier}`);
+  }
+  if (!helpTextPresent.value) {
+    cssClasses.push("rounded-end");
+  }
+  if (props.border) {
+    cssClasses.push("border", `border-${props.border}`);
+  }
+  return cssClasses;
+});
+
+const dateInput = ref<HTMLInputElement | undefined>(undefined);
+const helpTextPresent = computed<boolean>(() => props.parameter["help_text"]);
+
+const inputType = computed(() => {
+  switch (props.parameter["format"]) {
+    case "date":
+      return "date";
+    case "date-time":
+      return "datetime-local";
+    case "time":
+      return "time";
+    default:
+      return "text";
+  }
+});
+
+onMounted(() => {
+  dateInput.value?.setCustomValidity(props.customValidity ?? "");
+});
+</script>
+
+<template>
+  <input
+    :id="id"
+    ref="dateInput"
+    v-model="model"
+    class="form-control"
+    :class="dynamicCssClass"
+    :type="inputType"
+    :required="props.required"
+    :aria-describedby="props.helpId"
+  />
+</template>
+
+<style scoped></style>
diff --git a/src/views/object-storage/S3KeyView.vue b/src/views/object-storage/S3KeyView.vue
index 39e08fc..66af943 100644
--- a/src/views/object-storage/S3KeyView.vue
+++ b/src/views/object-storage/S3KeyView.vue
@@ -44,7 +44,19 @@ function deleteKeyTrigger() {
     @confirm-delete="deleteKeyTrigger"
   />
   <h3>S3 Endpoint:</h3>
-  <div class="fs-4 mb-4">{{ environment.S3_URL }}</div>
+  <div class="input-group mb-2">
+    <input
+      id="s3-endpoint"
+      class="form-control"
+      type="text"
+      :value="environment.S3_URL"
+      aria-label="S3 Endpoint"
+      readonly
+    />
+    <span id="s3-endpoint-copy" class="input-group-text"
+      ><copy-to-clipboard-icon :text="environment.S3_URL"
+    /></span>
+  </div>
   <h4>Access Key:</h4>
   <div v-if="props.loading" class="placeholder-glow">
     <span class="placeholder col-5 mt-3 mb-2 fs-4"></span><br />
@@ -97,13 +109,39 @@ function deleteKeyTrigger() {
   </div>
   <button
     type="button"
-    class="btn btn-danger fs-5"
+    class="btn btn-danger fs-5 mb-3"
     :disabled="!props.deletable || props.loading"
     data-bs-toggle="modal"
     data-bs-target="#delete-key-modal"
   >
     Delete
   </button>
+  <h4>Suggested CLI tools</h4>
+  <p>
+    While this website supports file uploads to S3 buckets, some users may
+    benefit from using CLI tools for enhanced performance, greater configuration
+    flexibility, and advanced features. The following list includes CLI tools
+    verified to work with CloWM's S3 buckets. <br />
+    <b>Note</b>: this list is not exhaustive and doesn't indicate that other S3
+    clients won't work.
+  </p>
+  <ul>
+    <li>
+      <a
+        target="_blank"
+        href="https://min.io/docs/minio/linux/reference/minio-mc.html"
+        >MinIO client</a
+      >
+    </li>
+    <li>
+      <a
+        target="_blank"
+        href="https://github.com/peak/s5cmd?tab=readme-ov-file#google-cloud-storage-support"
+        >s5cmd</a
+      >
+    </li>
+    <li><a target="_blank" href="https://rclone.org/s3/#ceph">Rclone</a></li>
+  </ul>
 </template>
 
 <style scoped></style>
-- 
GitLab