From 8730f42e2ec8a298650adb9f6833306b5f9cbf20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20G=C3=B6bel?= <dgoebel@techfak.uni-bielefeld.de> Date: Tue, 30 Jan 2024 11:33:57 +0100 Subject: [PATCH] Update clowm clients and add return to original path after login #89 --- .gitlab-ci.yml | 8 +- package-lock.json | 2111 ++++++++++------- src/App.vue | 9 +- src/client/auth/index.ts | 1 + src/client/auth/models/OIDCProvider.ts | 5 + src/client/auth/services/AuthService.ts | 24 +- src/client/resource/models/Status.ts | 8 +- .../resource/services/ResourceService.ts | 2 +- .../services/ResourceVersionService.ts | 2 +- src/client/s3proxy/models/BucketOut.ts | 2 +- .../s3proxy/models/BucketPermissionOut.ts | 4 - src/client/s3proxy/models/S3Key.ts | 2 +- .../services/BucketPermissionService.ts | 178 +- src/client/s3proxy/services/BucketService.ts | 19 +- src/client/s3proxy/services/S3KeyService.ts | 8 +- .../models/AnonymizedWorkflowExecution.ts | 4 +- ...ow_Version_upload_workflow_version_icon.ts | 2 +- .../workflow/models/WorkflowExecutionIn.ts | 2 +- .../workflow/models/WorkflowExecutionOut.ts | 6 +- src/client/workflow/models/WorkflowOut.ts | 2 +- src/client/workflow/models/WorkflowVersion.ts | 2 +- .../services/WorkflowCredentialsService.ts | 6 +- .../services/WorkflowExecutionService.ts | 36 +- .../workflow/services/WorkflowModeService.ts | 2 +- .../workflow/services/WorkflowService.ts | 64 +- .../services/WorkflowVersionService.ts | 26 +- .../object-storage/BucketListItem.vue | 4 +- .../modals/PermissionListModal.vue | 1 - src/components/resources/ResourceCard.vue | 6 + src/components/workflows/WorkflowCard.vue | 4 +- .../workflows/WorkflowWithVersionsCard.vue | 16 +- .../modals/UpdateWorkflowCredentialsModal.vue | 2 +- .../modals/UpdateWorkflowVersionIconModal.vue | 7 +- src/router/index.ts | 4 + src/stores/buckets.ts | 4 +- src/stores/workflows.ts | 42 +- src/views/LoginView.vue | 25 +- src/views/object-storage/BucketsView.vue | 4 +- src/views/object-storage/S3KeysView.vue | 2 +- src/views/workflows/MyWorkflowsView.vue | 4 +- src/views/workflows/ReviewWorkflowsView.vue | 22 +- src/views/workflows/StartWorkflowView.vue | 2 +- src/views/workflows/WorkflowView.vue | 10 +- 43 files changed, 1626 insertions(+), 1068 deletions(-) create mode 100644 src/client/auth/models/OIDCProvider.ts diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7f2ba9a..251a04a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -36,7 +36,7 @@ build: build-publish-dev-docker-container-job: stage: deploy image: - name: gcr.io/kaniko-project/executor:v1.17.0-debug + name: gcr.io/kaniko-project/executor:v1.20.0-debug entrypoint: [""] only: refs: @@ -47,13 +47,13 @@ build-publish-dev-docker-container-job: - /kaniko/executor --context "${CI_PROJECT_DIR}" --dockerfile "${CI_PROJECT_DIR}/Dockerfile" - --destination "${CI_REGISTRY_IMAGE}:dev-${CI_COMMIT_SHA}" - --destination "${CI_REGISTRY_IMAGE}:dev-latest" + --destination "${CI_REGISTRY_IMAGE}:main-${CI_COMMIT_SHA}" + --destination "${CI_REGISTRY_IMAGE}:main-latest" build-publish-docker-container-job: stage: deploy image: - name: gcr.io/kaniko-project/executor:v1.17.0-debug + name: gcr.io/kaniko-project/executor:v1.20.0-debug entrypoint: [""] only: - tags diff --git a/package-lock.json b/package-lock.json index b30b02d..d76765e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -211,66 +211,66 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/client-s3": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.495.0.tgz", - "integrity": "sha512-Lr08ygmesFScyF7TK70uS4O9YLTaKHH4O/FGNKw17DpI5XyyS/Aje9yVqn6Yi3OUrsKChxGK1n0gc6ipyUGsjQ==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.502.0.tgz", + "integrity": "sha512-/xanrBWjDnvz1tVtTWhNcp68N8+3jrVc1RFdvbZqLs6uweCQM56xRCmUEel/rA6oBhKBiuGn51MdjHXs+gGhUA==", "dependencies": { "@aws-crypto/sha1-browser": "3.0.0", "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.495.0", - "@aws-sdk/core": "3.495.0", - "@aws-sdk/credential-provider-node": "3.495.0", - "@aws-sdk/middleware-bucket-endpoint": "3.495.0", - "@aws-sdk/middleware-expect-continue": "3.495.0", - "@aws-sdk/middleware-flexible-checksums": "3.495.0", - "@aws-sdk/middleware-host-header": "3.495.0", - "@aws-sdk/middleware-location-constraint": "3.495.0", - "@aws-sdk/middleware-logger": "3.495.0", - "@aws-sdk/middleware-recursion-detection": "3.495.0", - "@aws-sdk/middleware-sdk-s3": "3.495.0", - "@aws-sdk/middleware-signing": "3.495.0", - "@aws-sdk/middleware-ssec": "3.495.0", - "@aws-sdk/middleware-user-agent": "3.495.0", - "@aws-sdk/region-config-resolver": "3.495.0", - "@aws-sdk/signature-v4-multi-region": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@aws-sdk/util-endpoints": "3.495.0", - "@aws-sdk/util-user-agent-browser": "3.495.0", - "@aws-sdk/util-user-agent-node": "3.495.0", - "@aws-sdk/xml-builder": "3.495.0", - "@smithy/config-resolver": "^2.1.0", - "@smithy/core": "^1.3.0", - "@smithy/eventstream-serde-browser": "^2.1.0", - "@smithy/eventstream-serde-config-resolver": "^2.1.0", - "@smithy/eventstream-serde-node": "^2.1.0", - "@smithy/fetch-http-handler": "^2.4.0", - "@smithy/hash-blob-browser": "^2.1.0", - "@smithy/hash-node": "^2.1.0", - "@smithy/hash-stream-node": "^2.1.0", - "@smithy/invalid-dependency": "^2.1.0", - "@smithy/md5-js": "^2.1.0", - "@smithy/middleware-content-length": "^2.1.0", - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/middleware-retry": "^2.1.0", - "@smithy/middleware-serde": "^2.1.0", - "@smithy/middleware-stack": "^2.1.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/node-http-handler": "^2.3.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/url-parser": "^2.1.0", - "@smithy/util-base64": "^2.1.0", - "@smithy/util-body-length-browser": "^2.1.0", - "@smithy/util-body-length-node": "^2.2.0", - "@smithy/util-defaults-mode-browser": "^2.1.0", - "@smithy/util-defaults-mode-node": "^2.1.0", - "@smithy/util-endpoints": "^1.1.0", - "@smithy/util-retry": "^2.1.0", - "@smithy/util-stream": "^2.1.0", - "@smithy/util-utf8": "^2.1.0", - "@smithy/util-waiter": "^2.1.0", + "@aws-sdk/client-sts": "3.502.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/credential-provider-node": "3.502.0", + "@aws-sdk/middleware-bucket-endpoint": "3.502.0", + "@aws-sdk/middleware-expect-continue": "3.502.0", + "@aws-sdk/middleware-flexible-checksums": "3.502.0", + "@aws-sdk/middleware-host-header": "3.502.0", + "@aws-sdk/middleware-location-constraint": "3.502.0", + "@aws-sdk/middleware-logger": "3.502.0", + "@aws-sdk/middleware-recursion-detection": "3.502.0", + "@aws-sdk/middleware-sdk-s3": "3.502.0", + "@aws-sdk/middleware-signing": "3.502.0", + "@aws-sdk/middleware-ssec": "3.502.0", + "@aws-sdk/middleware-user-agent": "3.502.0", + "@aws-sdk/region-config-resolver": "3.502.0", + "@aws-sdk/signature-v4-multi-region": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@aws-sdk/util-endpoints": "3.502.0", + "@aws-sdk/util-user-agent-browser": "3.502.0", + "@aws-sdk/util-user-agent-node": "3.502.0", + "@aws-sdk/xml-builder": "3.496.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/eventstream-serde-browser": "^2.1.1", + "@smithy/eventstream-serde-config-resolver": "^2.1.1", + "@smithy/eventstream-serde-node": "^2.1.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-blob-browser": "^2.1.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/hash-stream-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/md5-js": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-stream": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "@smithy/util-waiter": "^2.1.1", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" }, @@ -279,112 +279,166 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.495.0.tgz", - "integrity": "sha512-Uerh3aDe/JeQNjcyXKI+8VuKPOAB6mCUKlScD0AIca1Kdyk8PsQTq4rDzFCYAQsNS5/BuPN+Ak0NqwsJM0agYA==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.502.0.tgz", + "integrity": "sha512-OZAYal1+PQgUUtWiHhRayDtX0OD+XpXHKAhjYgEIPbyhQaCMp3/Bq1xDX151piWXvXqXLJHFKb8DUEqzwGO9QA==", + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/middleware-host-header": "3.502.0", + "@aws-sdk/middleware-logger": "3.502.0", + "@aws-sdk/middleware-recursion-detection": "3.502.0", + "@aws-sdk/middleware-user-agent": "3.502.0", + "@aws-sdk/region-config-resolver": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@aws-sdk/util-endpoints": "3.502.0", + "@aws-sdk/util-user-agent-browser": "3.502.0", + "@aws-sdk/util-user-agent-node": "3.502.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso-oidc": { + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.502.0.tgz", + "integrity": "sha512-Yc9tZqTOMWtdgpkrdjKShgWb9oKNsFQrItfoiN1xWDllaFFRPi2KTiZiR0AbSTrNasJy13d210DOxrIdte+kWQ==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.495.0", - "@aws-sdk/middleware-host-header": "3.495.0", - "@aws-sdk/middleware-logger": "3.495.0", - "@aws-sdk/middleware-recursion-detection": "3.495.0", - "@aws-sdk/middleware-user-agent": "3.495.0", - "@aws-sdk/region-config-resolver": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@aws-sdk/util-endpoints": "3.495.0", - "@aws-sdk/util-user-agent-browser": "3.495.0", - "@aws-sdk/util-user-agent-node": "3.495.0", - "@smithy/config-resolver": "^2.1.0", - "@smithy/core": "^1.3.0", - "@smithy/fetch-http-handler": "^2.4.0", - "@smithy/hash-node": "^2.1.0", - "@smithy/invalid-dependency": "^2.1.0", - "@smithy/middleware-content-length": "^2.1.0", - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/middleware-retry": "^2.1.0", - "@smithy/middleware-serde": "^2.1.0", - "@smithy/middleware-stack": "^2.1.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/node-http-handler": "^2.3.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/url-parser": "^2.1.0", - "@smithy/util-base64": "^2.1.0", - "@smithy/util-body-length-browser": "^2.1.0", - "@smithy/util-body-length-node": "^2.2.0", - "@smithy/util-defaults-mode-browser": "^2.1.0", - "@smithy/util-defaults-mode-node": "^2.1.0", - "@smithy/util-endpoints": "^1.1.0", - "@smithy/util-retry": "^2.1.0", - "@smithy/util-utf8": "^2.1.0", + "@aws-sdk/client-sts": "3.502.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/middleware-host-header": "3.502.0", + "@aws-sdk/middleware-logger": "3.502.0", + "@aws-sdk/middleware-recursion-detection": "3.502.0", + "@aws-sdk/middleware-signing": "3.502.0", + "@aws-sdk/middleware-user-agent": "3.502.0", + "@aws-sdk/region-config-resolver": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@aws-sdk/util-endpoints": "3.502.0", + "@aws-sdk/util-user-agent-browser": "3.502.0", + "@aws-sdk/util-user-agent-node": "3.502.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "*" } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.495.0.tgz", - "integrity": "sha512-lXQIx7D1MQ5+F8PaSYV7UiSxgP9M5ba/YFx1rcxi5l1GlbAWuHWhrk15qKe9d6vLxa2eTjJFiVzbO7pJqRBEWw==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.502.0.tgz", + "integrity": "sha512-0q08gsvn6nuRqjK+i/e30PT/t7vvYwmGJS0PhJikZWv5yRDNSUxSYG0uDwKSbLDzmc2UX5+mLeyjPHlL4hbGlA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.495.0", - "@aws-sdk/credential-provider-node": "3.495.0", - "@aws-sdk/middleware-host-header": "3.495.0", - "@aws-sdk/middleware-logger": "3.495.0", - "@aws-sdk/middleware-recursion-detection": "3.495.0", - "@aws-sdk/middleware-user-agent": "3.495.0", - "@aws-sdk/region-config-resolver": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@aws-sdk/util-endpoints": "3.495.0", - "@aws-sdk/util-user-agent-browser": "3.495.0", - "@aws-sdk/util-user-agent-node": "3.495.0", - "@smithy/config-resolver": "^2.1.0", - "@smithy/core": "^1.3.0", - "@smithy/fetch-http-handler": "^2.4.0", - "@smithy/hash-node": "^2.1.0", - "@smithy/invalid-dependency": "^2.1.0", - "@smithy/middleware-content-length": "^2.1.0", - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/middleware-retry": "^2.1.0", - "@smithy/middleware-serde": "^2.1.0", - "@smithy/middleware-stack": "^2.1.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/node-http-handler": "^2.3.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/url-parser": "^2.1.0", - "@smithy/util-base64": "^2.1.0", - "@smithy/util-body-length-browser": "^2.1.0", - "@smithy/util-body-length-node": "^2.2.0", - "@smithy/util-defaults-mode-browser": "^2.1.0", - "@smithy/util-defaults-mode-node": "^2.1.0", - "@smithy/util-endpoints": "^1.1.0", - "@smithy/util-middleware": "^2.1.0", - "@smithy/util-retry": "^2.1.0", - "@smithy/util-utf8": "^2.1.0", + "@aws-sdk/core": "3.496.0", + "@aws-sdk/middleware-host-header": "3.502.0", + "@aws-sdk/middleware-logger": "3.502.0", + "@aws-sdk/middleware-recursion-detection": "3.502.0", + "@aws-sdk/middleware-user-agent": "3.502.0", + "@aws-sdk/region-config-resolver": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@aws-sdk/util-endpoints": "3.502.0", + "@aws-sdk/util-user-agent-browser": "3.502.0", + "@aws-sdk/util-user-agent-node": "3.502.0", + "@smithy/config-resolver": "^2.1.1", + "@smithy/core": "^1.3.1", + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/hash-node": "^2.1.1", + "@smithy/invalid-dependency": "^2.1.1", + "@smithy/middleware-content-length": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-body-length-browser": "^2.1.1", + "@smithy/util-body-length-node": "^2.2.1", + "@smithy/util-defaults-mode-browser": "^2.1.1", + "@smithy/util-defaults-mode-node": "^2.1.1", + "@smithy/util-endpoints": "^1.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "fast-xml-parser": "4.2.5", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/credential-provider-node": "*" } }, "node_modules/@aws-sdk/core": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.495.0.tgz", - "integrity": "sha512-TI/jq1cSUR+r1prJ9xXtxMO0u2/jXrWjf3Z2ekForsCObPtR9qkJCYyezargupoSJqZA60KUpOhxrKW/dFJ1rw==", - "dependencies": { - "@smithy/core": "^1.3.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/signature-v4": "^2.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.496.0.tgz", + "integrity": "sha512-yT+ug7Cw/3eJi7x2es0+46x12+cIJm5Xv+GPWsrTFD1TKgqO/VPEgfDtHFagDNbFmjNQA65Ygc/kEdIX9ICX/A==", + "dependencies": { + "@smithy/core": "^1.3.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -392,13 +446,13 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.495.0.tgz", - "integrity": "sha512-2CKlHiQRXyVA7t3VGXo39a/UwRrZs/VG0jYZFu60dK9afxesRkA4XOJto765VenT/eR3LkeVW+RBzOISHUFg0Q==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.502.0.tgz", + "integrity": "sha512-KIB8Ae1Z7domMU/jU4KiIgK4tmYgvuXlhR54ehwlVHxnEoFPoPuGHFZU7oFn79jhhSLUFQ1lRYMxP0cEwb7XeQ==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -406,19 +460,20 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.495.0.tgz", - "integrity": "sha512-DGRfND+FIacuQQNozMa8fS4yUrWZgkB6CEH4ghiqUvtE7h2sGMMVEerlaCGgTnQlpWWvDS656orzwEO3vuMTVw==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.495.0", - "@aws-sdk/credential-provider-process": "3.495.0", - "@aws-sdk/credential-provider-sso": "3.495.0", - "@aws-sdk/credential-provider-web-identity": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@smithy/credential-provider-imds": "^2.2.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/shared-ini-file-loader": "^2.3.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.502.0.tgz", + "integrity": "sha512-1wB/escbspUY6uRDEMp9AMMyypUSyuQ0AMO1yQNtXviV8cPf+CuRbqP/UVnimHO1RuX0n5BmjDVVjUIEU6kuGA==", + "dependencies": { + "@aws-sdk/client-sts": "3.502.0", + "@aws-sdk/credential-provider-env": "3.502.0", + "@aws-sdk/credential-provider-process": "3.502.0", + "@aws-sdk/credential-provider-sso": "3.502.0", + "@aws-sdk/credential-provider-web-identity": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -426,20 +481,20 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.495.0.tgz", - "integrity": "sha512-OH3lV7erPLNxkZQ+QBEgX353mseelBaHutyJNFKdgCYMZUhENu2DNTvkasGtwA24TqG0sRiuO2yNhpqP8IF+LA==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.495.0", - "@aws-sdk/credential-provider-ini": "3.495.0", - "@aws-sdk/credential-provider-process": "3.495.0", - "@aws-sdk/credential-provider-sso": "3.495.0", - "@aws-sdk/credential-provider-web-identity": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@smithy/credential-provider-imds": "^2.2.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/shared-ini-file-loader": "^2.3.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.502.0.tgz", + "integrity": "sha512-qg71UpYeFrjhu5hD+vdRqZ+EYFB11BeszsbfEJGaHhOMHmmTHNBaDAexW+bUnJSXcJL0a8vniCvca+rElbcAHQ==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.502.0", + "@aws-sdk/credential-provider-ini": "3.502.0", + "@aws-sdk/credential-provider-process": "3.502.0", + "@aws-sdk/credential-provider-sso": "3.502.0", + "@aws-sdk/credential-provider-web-identity": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -447,14 +502,14 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.495.0.tgz", - "integrity": "sha512-AouHJtg5qXeqzlY5plqbBkQPea1Kd3/tz9wfN+d5gbTUsDBlV7R6IinzhJWWgniS0jsaEOronlCXLIEOWUzTsw==", - "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/shared-ini-file-loader": "^2.3.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.502.0.tgz", + "integrity": "sha512-fJJowOjQ4infYQX0E1J3xFVlmuwEYJAFk0Mo1qwafWmEthsBJs+6BR2RiWDELHKrSK35u4Pf3fu3RkYuCtmQFw==", + "dependencies": { + "@aws-sdk/types": "3.502.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -462,16 +517,16 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.495.0.tgz", - "integrity": "sha512-brbgLtws+jmBPm6FrQ0CT2mHCgFKdopwxJj/4+j//OH0aAgzBH5gOztoDu1R556KU9K8Co220J79gJWV3s40zQ==", - "dependencies": { - "@aws-sdk/client-sso": "3.495.0", - "@aws-sdk/token-providers": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/shared-ini-file-loader": "^2.3.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.502.0.tgz", + "integrity": "sha512-/2Nyvo+cWQpH283lmZBimTJ9JDhES9FzQUkhUXZgxQo3Ez4sguLVi2V9xoFFyG0cMff5fuNivdKHfj4FeMGjZw==", + "dependencies": { + "@aws-sdk/client-sso": "3.502.0", + "@aws-sdk/token-providers": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -479,13 +534,14 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.495.0.tgz", - "integrity": "sha512-w4S01mdQZ8kQn4J6CM2Fgral9xtNBh8h5i4DWSOwFxfiokott59zDoFMWJRUdUHzXsnAGULC8+wJ4VeiZZBq1Q==", - "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.502.0.tgz", + "integrity": "sha512-veBAjDqjMMgA2Qxxf9ywDfHYLeJpaeHWLWCQ9XCHwJJ6ZIGWmAZPTq3he/UMr5JIQXooIccqqyqXMDIXPenXpA==", + "dependencies": { + "@aws-sdk/client-sts": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -493,13 +549,13 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.495.0.tgz", - "integrity": "sha512-/Vypp54qRUeXMeGVS6DPplK1kK/uzDIH6wl9hR9XxZCXHzKaDoC8O9uLE+9c4LLJy+/mC9KjpQUq9WMs2QRo5g==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.502.0.tgz", + "integrity": "sha512-0wz5OoXtpfrNNUQnZPxKD0tqNfxeJbxNQBSZtGtCoCihBqmKE/Oui85ptrdLyrjjTc2b+Hxu7xfyGdU2ILWBYA==", "dependencies": { - "@smithy/abort-controller": "^2.1.0", - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/smithy-client": "^2.3.0", + "@smithy/abort-controller": "^2.1.1", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/smithy-client": "^2.3.1", "buffer": "5.6.0", "events": "3.3.0", "stream-browserify": "3.0.0", @@ -513,16 +569,16 @@ } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.495.0.tgz", - "integrity": "sha512-KJ9hvVFsDIavaUWwT+nDcbyHNNYx0GQ9W0HQ136VR0Uuy3srHrIU2QivmhUi2n8SaDptm4t2K4osSKqgfxH3cQ==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.502.0.tgz", + "integrity": "sha512-mUSP2DUcjhO5zM2b21CvZ9AqwI8DaAeZA6NYHOxWGTV9BUxHcdGWXEjDkcVj9CQ0gvNwTtw6B5L/q52rVAnZbw==", "dependencies": { - "@aws-sdk/types": "3.495.0", + "@aws-sdk/types": "3.502.0", "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", - "@smithy/util-config-provider": "^2.2.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", "tslib": "^2.5.0" }, "engines": { @@ -530,13 +586,13 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.495.0.tgz", - "integrity": "sha512-WbSZ2AquYb6Wfdr3CZRO37dOSFhE2pnR7GuST+kWEYL+sLnNN3Ms85Bf2YUHNqnTNwD/R7KWw6I5CkyDRxLnkw==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.502.0.tgz", + "integrity": "sha512-DxfAuBVuPSt8as9xP57o8ks6ySVSjwO2NNNAdpLwk4KhEAPYEpHlf2yWYorYLrS+dDmwfYgOhRNoguuBdCu6ow==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -544,17 +600,17 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.495.0.tgz", - "integrity": "sha512-9pgwS4oLi0DhVo8V2dk6JB5HH5FOyLmnwBABWXDy3ASR6L7Rs+y/y3+jiS/wl7nUNOEFXbBfvdaQ1bI1t6+MDA==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.502.0.tgz", + "integrity": "sha512-kCt2zQDFumz/LnJJJOSd2GW4dr8oT8YMJKgxC/pph3aRXoSHXRwhrMbFnQ8swEE9vjywxtcED8sym0b0tNhhoA==", "dependencies": { "@aws-crypto/crc32": "3.0.0", "@aws-crypto/crc32c": "3.0.0", - "@aws-sdk/types": "3.495.0", - "@smithy/is-array-buffer": "^2.1.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", - "@smithy/util-utf8": "^2.1.0", + "@aws-sdk/types": "3.502.0", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -562,13 +618,13 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.495.0.tgz", - "integrity": "sha512-qqE6mVxbyJwn59NQMvtYyaZT3GEZnmsvBUry3sDtU7Be1g9w5OKhY4CnAAQyXZI288iQUtyxxDh+hnSLy6RFjA==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.502.0.tgz", + "integrity": "sha512-EjnG0GTYXT/wJBmm5/mTjDcAkzU8L7wQjOzd3FTXuTCNNyvAvwrszbOj5FlarEw5XJBbQiZtBs+I5u9+zy560w==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -576,12 +632,12 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.495.0.tgz", - "integrity": "sha512-XFgoK+Pr4olMo6VqUnffwi7XvnoJv7Lm8qlZ5LiijcQGl7ZJZ9FOwYzrbGX8CuTXwfydOKrxyPNywUsS5LDeDw==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.502.0.tgz", + "integrity": "sha512-fLRwPuTZvEWQkPjys03m3D6tYN4kf7zU6+c8mJxwvEg+yfBuv2RBsbd+Vn2bTisUjXvIg1kyBzONlpHoIyFneg==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -589,12 +645,12 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.495.0.tgz", - "integrity": "sha512-sgmr9fpCSg3rFvMnvfKeN7dhY+AmUpZPPWyc+s1kgQONeLUUxQkbdqR2/V+tz2ZPxUBD2dToTG/JhtMcIKmt4Q==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.502.0.tgz", + "integrity": "sha512-FDyv6K4nCoHxbjLGS2H8ex8I0KDIiu4FJgVRPs140ZJy6gE5Pwxzv6YTzZGLMrnqcIs9gh065Lf6DjwMelZqaw==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -602,13 +658,13 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.495.0.tgz", - "integrity": "sha512-jhuOcLsMrHengJy/oz6Waumwx/vtSMKnEbROR7qZ7CaTDHRUbriPYXGen7CHCs/6aWN0UeI3JBAqwlnSW5tpIg==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.502.0.tgz", + "integrity": "sha512-hvbyGJbxeuezxOu8VfFmcV4ql1hKXLxHTe5FNYfEBat2KaZXVhc1Hg+4TvB06/53p+E8J99Afmumkqbxs2esUA==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -616,18 +672,18 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.495.0.tgz", - "integrity": "sha512-H6DPpRKJZaaElLo60nyZNGcZHrCVMq8tErEQPD/g5v4ZrAjLJlxJ1N/hVhw5IP3Q6ZXVNB2PhNi6pp9Lzd1kqQ==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.502.0.tgz", + "integrity": "sha512-GbGugrfyL5bNA/zw8iQll92yXBONfWSC8Ns00DtkOU1saPXp4/7WHtyyZGYdvPa73T1IsuZy9egpoYRBmRcd5Q==", "dependencies": { - "@aws-sdk/types": "3.495.0", + "@aws-sdk/types": "3.502.0", "@aws-sdk/util-arn-parser": "3.495.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/signature-v4": "^2.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/util-config-provider": "^2.2.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", "tslib": "^2.5.0" }, "engines": { @@ -635,16 +691,16 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.495.0.tgz", - "integrity": "sha512-QZuWRo6JQ7UKeHzqqnP/qmUXirVKXSMXSEFtpOHio/JkQPASVlD1TNs5L6RL7dKrnqLrg/jpTiw4b0UdAU8kOw==", - "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/signature-v4": "^2.1.0", - "@smithy/types": "^2.9.0", - "@smithy/util-middleware": "^2.1.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.502.0.tgz", + "integrity": "sha512-4hF08vSzJ7L6sB+393gOFj3s2N6nLusYS0XrMW6wYNFU10IDdbf8Z3TZ7gysDJJHEGQPmTAesPEDBsasGWcMxg==", + "dependencies": { + "@aws-sdk/types": "3.502.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -652,12 +708,12 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.495.0.tgz", - "integrity": "sha512-obXxHpCY8NPFgCkiqANLgTa0T1bAlEJCgXVsmCWasKLW1rrMrtVuJBNyOtk0NPx2XCJodsKJc+/9Mz8ByEOd5A==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.502.0.tgz", + "integrity": "sha512-1nidVTIba6/aVjjzD/WNqWdzSyTrXOHO3Ddz2MGD8S1yGSrYz4iYaq4Bm/uosfdr8B1L0Ws0pjdRXrNfzSw/DQ==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -665,14 +721,14 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.495.0.tgz", - "integrity": "sha512-n+lC43Z7+LyAF7b63bR+e5pBmBqPaqh4gupEmrORc4wKsX7U4OncDPiVn5jPD7ZC3IZbLeTuDsjQOK8Ev+Hraw==", - "dependencies": { - "@aws-sdk/types": "3.495.0", - "@aws-sdk/util-endpoints": "3.495.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.502.0.tgz", + "integrity": "sha512-TxbBZbRiXPH0AUxegqiNd9aM9zNSbfjtBs5MEfcBsweeT/B2O7K1EjP9+CkB8Xmk/5FLKhAKLr19b1TNoE27rw==", + "dependencies": { + "@aws-sdk/types": "3.502.0", + "@aws-sdk/util-endpoints": "3.502.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -680,15 +736,15 @@ } }, "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.495.0.tgz", - "integrity": "sha512-ZgixNb+8dWUvc42Uso2fh38U7W7wW4OESUmQIFQzYW58B1ylZ4xuq/mo0xSY5b5j6u/+pJadvlIpx/QYBafVHg==", - "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/types": "^2.9.0", - "@smithy/util-config-provider": "^2.2.0", - "@smithy/util-middleware": "^2.1.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.502.0.tgz", + "integrity": "sha512-mxmsX2AGgnSM+Sah7mcQCIneOsJQNiLX0COwEttuf8eO+6cLMAZvVudH3BnWTfea4/A9nuri9DLCqBvEmPrilg==", + "dependencies": { + "@aws-sdk/types": "3.502.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -696,17 +752,17 @@ } }, "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.495.0.tgz", - "integrity": "sha512-k/m4DhDiNRbp6nz8Mf+OMnL8p9tHdUVsekMpwiBg9VuunhwHI9tw+kBrvN14C1iMpw6VEUUbYNGeoqT9hdd/Zg==", - "dependencies": { - "@aws-sdk/signature-v4-multi-region": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@aws-sdk/util-format-url": "3.495.0", - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.502.0.tgz", + "integrity": "sha512-3RxMt3kZ9Dq/m+QNFTNtUlzJQXRlu2iK7NBSUv2HXT0edlVE3D8W4ILY9GQzaCCtnpy9OSsv0nkSetWi65v9yQ==", + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@aws-sdk/util-format-url": "3.502.0", + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -714,15 +770,15 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.495.0.tgz", - "integrity": "sha512-+U9Gpdafo8MYp98eRTx5flIazRdHWWv3UJVSteOaJRA1yErdM0IlwJRZAF1Q1E7sqzDP6ed4OkzcMLkpVG/clA==", - "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/signature-v4": "^2.1.0", - "@smithy/types": "^2.9.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.502.0.tgz", + "integrity": "sha512-NpOXtUXH0ZAgnyI3Y3s2fPrgwbsWoNMwdoXdFZvH0eDzzX80tim7Yuy6dzVA5zrxSzOYs1xjcOhM+4CmM0QZiw==", + "dependencies": { + "@aws-sdk/middleware-sdk-s3": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/signature-v4": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -730,46 +786,15 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.495.0.tgz", - "integrity": "sha512-1JSEx82FMKNNtPoV5NRpFxi0XHgfvonCKb4+2lR/k4nljqeysZPnOaIW/7C1eAwhoJ6buEIVxoHscemBtdKo+A==", - "dependencies": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.495.0", - "@aws-sdk/middleware-logger": "3.495.0", - "@aws-sdk/middleware-recursion-detection": "3.495.0", - "@aws-sdk/middleware-user-agent": "3.495.0", - "@aws-sdk/region-config-resolver": "3.495.0", - "@aws-sdk/types": "3.495.0", - "@aws-sdk/util-endpoints": "3.495.0", - "@aws-sdk/util-user-agent-browser": "3.495.0", - "@aws-sdk/util-user-agent-node": "3.495.0", - "@smithy/config-resolver": "^2.1.0", - "@smithy/fetch-http-handler": "^2.4.0", - "@smithy/hash-node": "^2.1.0", - "@smithy/invalid-dependency": "^2.1.0", - "@smithy/middleware-content-length": "^2.1.0", - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/middleware-retry": "^2.1.0", - "@smithy/middleware-serde": "^2.1.0", - "@smithy/middleware-stack": "^2.1.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/node-http-handler": "^2.3.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/shared-ini-file-loader": "^2.3.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/url-parser": "^2.1.0", - "@smithy/util-base64": "^2.1.0", - "@smithy/util-body-length-browser": "^2.1.0", - "@smithy/util-body-length-node": "^2.2.0", - "@smithy/util-defaults-mode-browser": "^2.1.0", - "@smithy/util-defaults-mode-node": "^2.1.0", - "@smithy/util-endpoints": "^1.1.0", - "@smithy/util-retry": "^2.1.0", - "@smithy/util-utf8": "^2.1.0", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.502.0.tgz", + "integrity": "sha512-RQgMgIXYlSf0xGl6EUeD+pqIPBlb7e29dbqHOBFc66hJVYUC2ULZX7Y+jLvcGIEaMiIaTPyvntZRFip+U+9hag==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.502.0", + "@aws-sdk/types": "3.502.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -777,11 +802,11 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.495.0.tgz", - "integrity": "sha512-KUpo2U1rD4U6gT1QNPUJGmbQnruvIJmPeuyKndil6h2zkCpG5I0AHE8ixpfuBbizIZQOIA/26pArQivDChOD9A==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.502.0.tgz", + "integrity": "sha512-M0DSPYe/gXhwD2QHgoukaZv5oDxhW3FfvYIrJptyqUq3OnPJBcDbihHjrE0PBtfh/9kgMZT60/fQ2NVFANfa2g==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -800,13 +825,13 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.495.0.tgz", - "integrity": "sha512-pMJ6rb16y51I4G33xtinkXAXH/2mQ0WZCwoh1sNkCM2MUfZDw9zAyP+PvB2tpEytQX8Fc7bR4qIP+td+pPEXAg==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.502.0.tgz", + "integrity": "sha512-6LKFlJPp2J24r1Kpfoz5ESQn+1v5fEjDB3mtUKRdpwarhm3syu7HbKlHCF3KbcCOyahobvLvhoedT78rJFEeeg==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/types": "^2.9.0", - "@smithy/util-endpoints": "^1.1.0", + "@aws-sdk/types": "3.502.0", + "@smithy/types": "^2.9.1", + "@smithy/util-endpoints": "^1.1.1", "tslib": "^2.5.0" }, "engines": { @@ -814,13 +839,13 @@ } }, "node_modules/@aws-sdk/util-format-url": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.495.0.tgz", - "integrity": "sha512-CmZcUoD2C+VSVvhAOpezkTyEiaGS31zJH8QNCvuKb/QA4yaZSdUrq4FUS9oxsVQr04MxjXVEfPZ427l0LTH1ow==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.502.0.tgz", + "integrity": "sha512-4+0zBD0ZIJqtTzSE6VRruRwUx3lG+is8Egv+LN99X5y7i6OdrS9ePYHbCJ9FxkzTThgbkUq6k2W7psEDYvn4VA==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/querystring-builder": "^2.1.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -839,24 +864,24 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.495.0.tgz", - "integrity": "sha512-CIlY54aKahUqF4kygbMkDkFRc9t+8Km/r+IWapy91h0Exy84V+S47MJdAelsMg8Id6hZ47jWmuuzz5UcjU/+sQ==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.502.0.tgz", + "integrity": "sha512-v8gKyCs2obXoIkLETAeEQ3AM+QmhHhst9xbM1cJtKUGsRlVIak/XyyD+kVE6kmMm1cjfudHpHKABWk9apQcIZQ==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/types": "^2.9.1", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.495.0.tgz", - "integrity": "sha512-BbEwwh9SCtMrcNES0u4q5/8BjAKkOiHGia0gDSlQHOmEzXxYvhx0ByRMaPeprL06iESFa6HcleJWenWktfxk3g==", + "version": "3.502.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.502.0.tgz", + "integrity": "sha512-9RjxpkGZKbTdl96tIJvAo+vZoz4P/cQh36SBUt9xfRfW0BtsaLyvSrvlR5wyUYhvRcC12Axqh/8JtnAPq//+Vw==", "dependencies": { - "@aws-sdk/types": "3.495.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/types": "^2.9.0", + "@aws-sdk/types": "3.502.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -880,11 +905,11 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.495.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.495.0.tgz", - "integrity": "sha512-bBrVLuldAnv53E9XvZD9MtW1dIWJXFswP8/JZuMdDQCyJh9ObjvUe/lFhTJ/AuNqEdujyE1nD4O1R7stzyBqOA==", + "version": "3.496.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.496.0.tgz", + "integrity": "sha512-GvEjh537IIeOw1ZkZuB37sV12u+ipS5Z1dwjEC/HAvhl5ac23ULtTr1/n+U1gLNN+BAKSWjKiQ2ksj8DiUzeyw==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -892,9 +917,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -925,9 +950,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.0.tgz", + "integrity": "sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw==", "cpu": [ "ppc64" ], @@ -936,14 +961,15 @@ "os": [ "aix" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.0.tgz", + "integrity": "sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g==", "cpu": [ "arm" ], @@ -952,14 +978,15 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.0.tgz", + "integrity": "sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q==", "cpu": [ "arm64" ], @@ -968,14 +995,15 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.0.tgz", + "integrity": "sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ==", "cpu": [ "x64" ], @@ -984,14 +1012,15 @@ "os": [ "android" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.0.tgz", + "integrity": "sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ==", "cpu": [ "arm64" ], @@ -1000,14 +1029,15 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.0.tgz", + "integrity": "sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw==", "cpu": [ "x64" ], @@ -1016,14 +1046,15 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.0.tgz", + "integrity": "sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ==", "cpu": [ "arm64" ], @@ -1032,14 +1063,15 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.0.tgz", + "integrity": "sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ==", "cpu": [ "x64" ], @@ -1048,14 +1080,15 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.0.tgz", + "integrity": "sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg==", "cpu": [ "arm" ], @@ -1064,14 +1097,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.0.tgz", + "integrity": "sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw==", "cpu": [ "arm64" ], @@ -1080,14 +1114,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.0.tgz", + "integrity": "sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w==", "cpu": [ "ia32" ], @@ -1096,14 +1131,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.0.tgz", + "integrity": "sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw==", "cpu": [ "loong64" ], @@ -1112,14 +1148,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.0.tgz", + "integrity": "sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ==", "cpu": [ "mips64el" ], @@ -1128,14 +1165,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.0.tgz", + "integrity": "sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw==", "cpu": [ "ppc64" ], @@ -1144,14 +1182,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.0.tgz", + "integrity": "sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA==", "cpu": [ "riscv64" ], @@ -1160,14 +1199,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.0.tgz", + "integrity": "sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ==", "cpu": [ "s390x" ], @@ -1176,14 +1216,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.0.tgz", + "integrity": "sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg==", "cpu": [ "x64" ], @@ -1192,14 +1233,15 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.0.tgz", + "integrity": "sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ==", "cpu": [ "x64" ], @@ -1208,14 +1250,15 @@ "os": [ "netbsd" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.0.tgz", + "integrity": "sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA==", "cpu": [ "x64" ], @@ -1224,14 +1267,15 @@ "os": [ "openbsd" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.0.tgz", + "integrity": "sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g==", "cpu": [ "x64" ], @@ -1240,14 +1284,15 @@ "os": [ "sunos" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.0.tgz", + "integrity": "sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ==", "cpu": [ "arm64" ], @@ -1256,14 +1301,15 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.0.tgz", + "integrity": "sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg==", "cpu": [ "ia32" ], @@ -1272,14 +1318,15 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=12" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.0.tgz", + "integrity": "sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg==", "cpu": [ "x64" ], @@ -1288,6 +1335,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">=12" } @@ -1485,9 +1533,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz", - "integrity": "sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz", + "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==", "cpu": [ "arm" ], @@ -1498,9 +1546,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz", - "integrity": "sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz", + "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==", "cpu": [ "arm64" ], @@ -1511,9 +1559,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz", - "integrity": "sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz", + "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==", "cpu": [ "arm64" ], @@ -1524,9 +1572,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz", - "integrity": "sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz", + "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==", "cpu": [ "x64" ], @@ -1537,9 +1585,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz", - "integrity": "sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz", + "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==", "cpu": [ "arm" ], @@ -1550,9 +1598,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz", - "integrity": "sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz", + "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==", "cpu": [ "arm64" ], @@ -1563,9 +1611,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz", - "integrity": "sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz", + "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==", "cpu": [ "arm64" ], @@ -1576,9 +1624,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz", - "integrity": "sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz", + "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==", "cpu": [ "riscv64" ], @@ -1589,9 +1637,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz", - "integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz", + "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==", "cpu": [ "x64" ], @@ -1602,9 +1650,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz", - "integrity": "sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz", + "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==", "cpu": [ "x64" ], @@ -1615,9 +1663,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz", - "integrity": "sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz", + "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==", "cpu": [ "arm64" ], @@ -1628,9 +1676,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz", - "integrity": "sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz", + "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==", "cpu": [ "ia32" ], @@ -1641,9 +1689,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz", - "integrity": "sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz", + "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==", "cpu": [ "x64" ], @@ -1660,11 +1708,11 @@ "dev": true }, "node_modules/@smithy/abort-controller": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.0.tgz", - "integrity": "sha512-fyPlWpzXyKzDVRRMUbsfH7AV/2xX+dyZ5RqeEo6Hjz9YUvDMGVSnm88iHH0zqZ+XmH4+sH4+mhwRL76HXX65uw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.1.1.tgz", + "integrity": "sha512-1+qdrUqLhaALYL0iOcN43EP6yAXXQ2wWZ6taf4S2pNGowmOc5gx+iMQv+E42JizNJjB0+gEadOXeV1Bf7JWL1Q==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1672,31 +1720,31 @@ } }, "node_modules/@smithy/chunked-blob-reader": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.0.tgz", - "integrity": "sha512-meKoKCIXxixSGzUGVXGc1lnn6cEM21XzknDfUmHopPCaYSgt86w3gaJSua8Gr3VYcSkkMTW2MyAygTXprLEOZQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.1.1.tgz", + "integrity": "sha512-NjNFCKxC4jVvn+lUr3Yo4/PmUJj3tbyqH6GNHueyTGS5Q27vlEJ1MkNhUDV8QGxJI7Bodnc2pD18lU2zRfhHlQ==", "dependencies": { "tslib": "^2.5.0" } }, "node_modules/@smithy/chunked-blob-reader-native": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.0.tgz", - "integrity": "sha512-r9fRVRvQXpuWZtHX3VNAP4PQoCXvRDqcwr15TbaKSdtEJ/f0IPHDQ+M2MOEsYt2234FkNqCzAqtmeJrjpNak2g==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.1.1.tgz", + "integrity": "sha512-zNW+43dltfNMUrBEYLMWgI8lQr0uhtTcUyxkgC9EP4j17WREzgSFMPUFVrVV6Rc2+QtWERYjb4tzZnQGa7R9fQ==", "dependencies": { - "@smithy/util-base64": "^2.1.0", + "@smithy/util-base64": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/config-resolver": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.0.tgz", - "integrity": "sha512-NcR1Hw2uZgwHT7/KFsQH76YHb/mNGLFu+hS0ODnoFUpViE8ddIVOXm/8sgwdh0QvFPtWGzPn0Wcp19Cm31wv2A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.1.1.tgz", + "integrity": "sha512-lxfLDpZm+AWAHPFZps5JfDoO9Ux1764fOgvRUBpHIO8HWHcSN1dkgsago1qLRVgm1BZ8RCm8cgv99QvtaOWIhw==", "dependencies": { - "@smithy/node-config-provider": "^2.2.0", - "@smithy/types": "^2.9.0", - "@smithy/util-config-provider": "^2.2.0", - "@smithy/util-middleware": "^2.1.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", + "@smithy/util-config-provider": "^2.2.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -1704,17 +1752,17 @@ } }, "node_modules/@smithy/core": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.0.tgz", - "integrity": "sha512-XoU9eiICwhxZIyAdugijyD/YqsumDQ3FgGyFSJibO60qoUkdfMGSjnIvrTemjFBdnDsj4B26F/ZRxSR3PUJbJQ==", - "dependencies": { - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/middleware-retry": "^2.1.0", - "@smithy/middleware-serde": "^2.1.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/util-middleware": "^2.1.0", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.3.1.tgz", + "integrity": "sha512-tf+NIu9FkOh312b6M9G4D68is4Xr7qptzaZGZUREELF8ysE1yLKphqt7nsomjKZVwW7WE5pDDex9idowNGRQ/Q==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-retry": "^2.1.1", + "@smithy/middleware-serde": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -1722,14 +1770,14 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.0.tgz", - "integrity": "sha512-uqoRizHR8rKih6SuWcJRSv46tdqZk1zPEk6r909O87XO85j21MfUcxRKzbkORM2JOlaFhCH4geRcvlvYfK6EyQ==", - "dependencies": { - "@smithy/node-config-provider": "^2.2.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/types": "^2.9.0", - "@smithy/url-parser": "^2.1.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.2.1.tgz", + "integrity": "sha512-7XHjZUxmZYnONheVQL7j5zvZXga+EWNgwEAP6OPZTi7l8J4JTeNh9aIOfE5fKHZ/ee2IeNOh54ZrSna+Vc6TFA==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -1737,23 +1785,23 @@ } }, "node_modules/@smithy/eventstream-codec": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.0.tgz", - "integrity": "sha512-1yQnf8bSycsZ5ICXVMf8pEj1DQSUsw6/3H4nEdzH2+E3RZdNGPjVecQEm9kWPW7fvXvNvzT8MvZOQdk1IWoVTg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.1.1.tgz", + "integrity": "sha512-E8KYBxBIuU4c+zrpR22VsVrOPoEDzk35bQR3E+xm4k6Pa6JqzkDOdMyf9Atac5GPNKHJBdVaQ4JtjdWX2rl/nw==", "dependencies": { "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.9.0", - "@smithy/util-hex-encoding": "^2.1.0", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/eventstream-serde-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.0.tgz", - "integrity": "sha512-pMw3HGN8yTGGoAO8z/fOMSSsfJxdtEwQ9p4/Y1eYw07sMlgQUPadwYFtxTMPDDzYvNmTWFjspR/nTBxYiUe8nA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.1.1.tgz", + "integrity": "sha512-JvEdCmGlZUay5VtlT8/kdR6FlvqTDUiJecMjXsBb0+k1H/qc9ME5n2XKPo8q/MZwEIA1GmGgYMokKGjVvMiDow==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.1.0", - "@smithy/types": "^2.9.0", + "@smithy/eventstream-serde-universal": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1761,11 +1809,11 @@ } }, "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.0.tgz", - "integrity": "sha512-tFhaEiJtitNmdyW6yLteh0EV+93EsV+CIb4yduwpL/WyMy7Hy7DLbRW5ImypA4auqebjWYBven876RjhpY6XLg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.1.1.tgz", + "integrity": "sha512-EqNqXYp3+dk//NmW3NAgQr9bEQ7fsu/CcxQmTiq07JlaIcne/CBWpMZETyXm9w5LXkhduBsdXdlMscfDUDn2fA==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1773,12 +1821,12 @@ } }, "node_modules/@smithy/eventstream-serde-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.0.tgz", - "integrity": "sha512-/asga1STbTgxQ+ma/VfsjXlUHTH/Fofor4RZLhPAMpQ6lfVxJTRjm28ONSczcsnRPTWwOoiFBiXutM68WgK6IQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.1.1.tgz", + "integrity": "sha512-LF882q/aFidFNDX7uROAGxq3H0B7rjyPkV6QDn6/KDQ+CG7AFkRccjxRf1xqajq/Pe4bMGGr+VKAaoF6lELIQw==", "dependencies": { - "@smithy/eventstream-serde-universal": "^2.1.0", - "@smithy/types": "^2.9.0", + "@smithy/eventstream-serde-universal": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1786,12 +1834,12 @@ } }, "node_modules/@smithy/eventstream-serde-universal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.0.tgz", - "integrity": "sha512-kZtTF0llc5pZ2QLMOrLttA2Cde/DXanfMqBhtJ0VZaQHdntPon+d7Gx7GhOkCxDP4lz1u0wMLdiIZNduaA4Qbg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.1.1.tgz", + "integrity": "sha512-LR0mMT+XIYTxk4k2fIxEA1BPtW3685QlqufUEUAX1AJcfFfxNDKEvuCRZbO8ntJb10DrIFVJR9vb0MhDCi0sAQ==", "dependencies": { - "@smithy/eventstream-codec": "^2.1.0", - "@smithy/types": "^2.9.0", + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1799,36 +1847,36 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.0.tgz", - "integrity": "sha512-fLhPNfbWG8vTcS9PsR1wjHaA54kDcSiAZKVuVAfjHleS7QDWjrCr1SDUqCB2yAc9NBLe2lIDbDL8+i9yoYhxoQ==", - "dependencies": { - "@smithy/protocol-http": "^3.1.0", - "@smithy/querystring-builder": "^2.1.0", - "@smithy/types": "^2.9.0", - "@smithy/util-base64": "^2.1.0", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.4.1.tgz", + "integrity": "sha512-VYGLinPsFqH68lxfRhjQaSkjXM7JysUOJDTNjHBuN/ykyRb2f1gyavN9+VhhPTWCy32L4yZ2fdhpCs/nStEicg==", + "dependencies": { + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-blob-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.0.tgz", - "integrity": "sha512-MVlH6algsOuEaK745oSoymk7Tusny7AqP2bQ1yPzxJiWpHirHnzEzYP/aqZaZ4gWdSLMFF65WOwL6q2ijuKVgA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.1.1.tgz", + "integrity": "sha512-jizu1+2PAUjiGIfRtlPEU8Yo6zn+d78ti/ZHDesdf1SUn2BuZW433JlPoCOLH3dBoEEvTgLvQ8tUGSoTTALA+A==", "dependencies": { - "@smithy/chunked-blob-reader": "^2.1.0", - "@smithy/chunked-blob-reader-native": "^2.1.0", - "@smithy/types": "^2.9.0", + "@smithy/chunked-blob-reader": "^2.1.1", + "@smithy/chunked-blob-reader-native": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.0.tgz", - "integrity": "sha512-/B7b6NNjw+i4PlwsrYHmxmmrTxp2oRejgZH26HhXE77XWwAiPEI9iHu7GZR9fYhm7Fsj66Z9Bk6JA9aEvUC9/w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.1.1.tgz", + "integrity": "sha512-Qhoq0N8f2OtCnvUpCf+g1vSyhYQrZjhSwvJ9qvR8BUGOtTXiyv2x1OD2e6jVGmlpC4E4ax1USHoyGfV9JFsACg==", "dependencies": { - "@smithy/types": "^2.9.0", - "@smithy/util-buffer-from": "^2.1.0", - "@smithy/util-utf8": "^2.1.0", + "@smithy/types": "^2.9.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -1836,12 +1884,12 @@ } }, "node_modules/@smithy/hash-stream-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.0.tgz", - "integrity": "sha512-qhgWuXt8sVcDKrFNBRQmcIo6wfzONdeKlKDLsau4kKZ7xlEHScgUFtsAHvspV8sVREJIeMbOq4oSFSVmzvOikQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.1.1.tgz", + "integrity": "sha512-VgDaKcfCy0iHcmtAZgZ3Yw9g37Gkn2JsQiMtFQXUh8Wmo3GfNgDwLOtdhJ272pOT7DStzpe9cNr+eV5Au8KfQA==", "dependencies": { - "@smithy/types": "^2.9.0", - "@smithy/util-utf8": "^2.1.0", + "@smithy/types": "^2.9.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -1849,18 +1897,18 @@ } }, "node_modules/@smithy/invalid-dependency": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.0.tgz", - "integrity": "sha512-hvryGI0KChV4jMgK/kwr6U4/HaYldzjiQAZ+c//QAMDoCp0KkP0Xt94XqAkr7Uq08577mAMW5U70YCaAx+KjSQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.1.1.tgz", + "integrity": "sha512-7WTgnKw+VPg8fxu2v9AlNOQ5yaz6RA54zOVB4f6vQuR0xFKd+RzlCpt0WidYTsye7F+FYDIaS/RnJW4pxjNInw==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/is-array-buffer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.0.tgz", - "integrity": "sha512-XnQvn/6ie5kjFyeW94NqSjGGOdMuB2WnNmDWKHHLVMCR/Emu7B8pcAZX4k8H3tjDujXAQvfBrEgmPRq6FgqmZg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.1.1.tgz", + "integrity": "sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==", "dependencies": { "tslib": "^2.5.0" }, @@ -1869,22 +1917,22 @@ } }, "node_modules/@smithy/md5-js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.0.tgz", - "integrity": "sha512-pl0lDIn4i+J2aI2gqlCIsOczPRi+YtXS9noQ/KXMUCqapb6AWomRDAloBBxRTClBFHIV6ife9UQrOhLT/Y+Yrw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.1.1.tgz", + "integrity": "sha512-L3MbIYBIdLlT+MWTYrdVSv/dow1+6iZ1Ad7xS0OHxTTs17d753ZcpOV4Ro7M7tRAVWML/sg2IAp/zzCb6aAttg==", "dependencies": { - "@smithy/types": "^2.9.0", - "@smithy/util-utf8": "^2.1.0", + "@smithy/types": "^2.9.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/middleware-content-length": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.0.tgz", - "integrity": "sha512-XYhKZPuS8nnecdx0IGGUt1Nt2/ekoVOw1zal4c0ARRaLJEw+umFLxwHUelIeBocbdOcPCeZRE6pdk35Y2T2wpw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.1.1.tgz", + "integrity": "sha512-rSr9ezUl9qMgiJR0UVtVOGEZElMdGFyl8FzWEF5iEKTlcWxGr2wTqGfDwtH3LAB7h+FPkxqv4ZU4cpuCN9Kf/g==", "dependencies": { - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1892,16 +1940,16 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.0.tgz", - "integrity": "sha512-GMebLCihCxIlbPdA/l6WDpNJppIgW5OeTJkIAbqVArg1vFxZ92XhW+UwN12av5OAXswySGJ80/fpDFP7HmSyYg==", - "dependencies": { - "@smithy/middleware-serde": "^2.1.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/url-parser": "^2.1.0", - "@smithy/util-middleware": "^2.1.0", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.4.1.tgz", + "integrity": "sha512-XPZTb1E2Oav60Ven3n2PFx+rX9EDsU/jSTA8VDamt7FXks67ekjPY/XrmmPDQaFJOTUHJNKjd8+kZxVO5Ael4Q==", + "dependencies": { + "@smithy/middleware-serde": "^2.1.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/url-parser": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -1909,17 +1957,17 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.0.tgz", - "integrity": "sha512-lGEVds90hFyIAvypH58rwC6j9mrCR2ZwYbcxow7AgW6sWCCoBppz5FtLpgSg6QV/CTRh8K7w4kxGVx8LqINQBg==", - "dependencies": { - "@smithy/node-config-provider": "^2.2.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/service-error-classification": "^2.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/util-middleware": "^2.1.0", - "@smithy/util-retry": "^2.1.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.1.1.tgz", + "integrity": "sha512-eMIHOBTXro6JZ+WWzZWd/8fS8ht5nS5KDQjzhNMHNRcG5FkNTqcKpYhw7TETMYzbLfhO5FYghHy1vqDWM4FLDA==", + "dependencies": { + "@smithy/node-config-provider": "^2.2.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-retry": "^2.1.1", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -1928,11 +1976,11 @@ } }, "node_modules/@smithy/middleware-serde": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.0.tgz", - "integrity": "sha512-iysAUIDKsc354HMnYVQxMJEzNaOrQQvE86b1oSl2fRwcFqn+9TTi028a37PLFE+ccAiyVGjBjB8PBsAz9plUug==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.1.1.tgz", + "integrity": "sha512-D8Gq0aQBeE1pxf3cjWVkRr2W54t+cdM2zx78tNrVhqrDykRA7asq8yVJij1u5NDtKzKqzBSPYh7iW0svUKg76g==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1940,11 +1988,11 @@ } }, "node_modules/@smithy/middleware-stack": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.0.tgz", - "integrity": "sha512-y5Ph/TWfO7oTfxNqKU+uAK5cFRTYeP16ReOmDweq+zQ8NQODDg7LSxsfQT4Wp0mhIvm0bt3pZp66T1YMtnihWw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.1.1.tgz", + "integrity": "sha512-KPJhRlhsl8CjgGXK/DoDcrFGfAqoqvuwlbxy+uOO4g2Azn1dhH+GVfC3RAp+6PoL5PWPb+vt6Z23FP+Mr6qeCw==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1952,13 +2000,13 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.0.tgz", - "integrity": "sha512-rU82PFR32Bxo4EMGUJ2BGG+K97zUp9j6SWjG83T2itmbXwA/+DoCc4xCON8kcmdej822x1yLcSzFiTeg0b472w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.2.1.tgz", + "integrity": "sha512-epzK3x1xNxA9oJgHQ5nz+2j6DsJKdHfieb+YgJ7ATWxzNcB7Hc+Uya2TUck5MicOPhDV8HZImND7ZOecVr+OWg==", "dependencies": { - "@smithy/property-provider": "^2.1.0", - "@smithy/shared-ini-file-loader": "^2.3.0", - "@smithy/types": "^2.9.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/shared-ini-file-loader": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1966,14 +2014,14 @@ } }, "node_modules/@smithy/node-http-handler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.0.tgz", - "integrity": "sha512-8jcQaOdrD/X0VihhM2W/KtJ5fvKaT8UpNf/pl/epvLQ6MkAttIMaCLex6xk31BpFSPvS2+q65ZdBBjQ3cMOSiA==", - "dependencies": { - "@smithy/abort-controller": "^2.1.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/querystring-builder": "^2.1.0", - "@smithy/types": "^2.9.0", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.3.1.tgz", + "integrity": "sha512-gLA8qK2nL9J0Rk/WEZSvgin4AppvuCYRYg61dcUo/uKxvMZsMInL5I5ZdJTogOvdfVug3N2dgI5ffcUfS4S9PA==", + "dependencies": { + "@smithy/abort-controller": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/querystring-builder": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1981,11 +2029,11 @@ } }, "node_modules/@smithy/property-provider": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.0.tgz", - "integrity": "sha512-6cpCSsgwbKHnl567SrthpqLgZ7e5jc7qPHG6wz9U2T24vcUp2yiG0vdAlH1QdTH20+/PGamKR0ZM35a08X1Tbg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.1.1.tgz", + "integrity": "sha512-FX7JhhD/o5HwSwg6GLK9zxrMUrGnb3PzNBrcthqHKBc3dH0UfgEAU24xnJ8F0uow5mj17UeBEOI6o3CF2k7Mhw==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -1993,11 +2041,11 @@ } }, "node_modules/@smithy/protocol-http": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.0.tgz", - "integrity": "sha512-CGNzkKza1yUga7sv+U4gx3jbwSh5x42/9vy0E/NoR2HTFken2MuMc/bClxXAO0Z6EQoTYHHA6FMCREXwSP04lg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.1.1.tgz", + "integrity": "sha512-6ZRTSsaXuSL9++qEwH851hJjUA0OgXdQFCs+VDw4tGH256jQ3TjYY/i34N4vd24RV3nrjNsgd1yhb57uMoKbzQ==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2005,12 +2053,12 @@ } }, "node_modules/@smithy/querystring-builder": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.0.tgz", - "integrity": "sha512-8QColSkqn9TbvpX40zW0T8IrKcLXg7Um4bczm9qIYDRPh8T873WNIOWzYBw8chI8SWizMXbsSR95PFCP/YlgYw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.1.1.tgz", + "integrity": "sha512-C/ko/CeEa8jdYE4gt6nHO5XDrlSJ3vdCG0ZAc6nD5ZIE7LBp0jCx4qoqp7eoutBu7VrGMXERSRoPqwi1WjCPbg==", "dependencies": { - "@smithy/types": "^2.9.0", - "@smithy/util-uri-escape": "^2.1.0", + "@smithy/types": "^2.9.1", + "@smithy/util-uri-escape": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2018,11 +2066,11 @@ } }, "node_modules/@smithy/querystring-parser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.0.tgz", - "integrity": "sha512-+l17LQQxelslo5CHsLXwSw2F1J6Qmf64OgByreNnLR82gHkJ91ZbMFhxZeLTo2qXxEu0uqraMc4uNw8qE9A6bw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.1.1.tgz", + "integrity": "sha512-H4+6jKGVhG1W4CIxfBaSsbm98lOO88tpDWmZLgkJpt8Zkk/+uG0FmmqMuCAc3HNM2ZDV+JbErxr0l5BcuIf/XQ==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2030,22 +2078,22 @@ } }, "node_modules/@smithy/service-error-classification": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.0.tgz", - "integrity": "sha512-yBMJk4IfYqUxsPmc8P0YtWHd/Kbd0PP+kU0dgFksH6eiE2ZQJl7478xNtkUKp2QJLcooYEbA3gBFUza6ukXMiA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.1.tgz", + "integrity": "sha512-txEdZxPUgM1PwGvDvHzqhXisrc5LlRWYCf2yyHfvITWioAKat7srQvpjMAvgzf0t6t7j8yHrryXU9xt7RZqFpw==", "dependencies": { - "@smithy/types": "^2.9.0" + "@smithy/types": "^2.9.1" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.0.tgz", - "integrity": "sha512-jgm7cjj0d08jIB9cp4idtpIUY590Twecv4xpijgl2IzkrPfBddzKTH4Zk+Zwfyk8ecz2T/7ihqtnNcq7Qdj9lw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.3.1.tgz", + "integrity": "sha512-2E2kh24igmIznHLB6H05Na4OgIEilRu0oQpYXo3LCNRrawHAcfDKq9004zJs+sAMt2X5AbY87CUCJ7IpqpSgdw==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2053,17 +2101,17 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.0.tgz", - "integrity": "sha512-ONi89MBjxNtl497obaO/qGixsOedikTV3CAj3ZBPGY3IKykS8wQ2Wkctsx2T1J5B9OnynH0KuGGmgG91utX/7w==", - "dependencies": { - "@smithy/eventstream-codec": "^2.1.0", - "@smithy/is-array-buffer": "^2.1.0", - "@smithy/types": "^2.9.0", - "@smithy/util-hex-encoding": "^2.1.0", - "@smithy/util-middleware": "^2.1.0", - "@smithy/util-uri-escape": "^2.1.0", - "@smithy/util-utf8": "^2.1.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.1.1.tgz", + "integrity": "sha512-Hb7xub0NHuvvQD3YwDSdanBmYukoEkhqBjqoxo+bSdC0ryV9cTfgmNjuAQhTPYB6yeU7hTR+sPRiFMlxqv6kmg==", + "dependencies": { + "@smithy/eventstream-codec": "^2.1.1", + "@smithy/is-array-buffer": "^2.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-middleware": "^2.1.1", + "@smithy/util-uri-escape": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2071,15 +2119,15 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.0.tgz", - "integrity": "sha512-oEaLdVmHcbdK8IHQ4yE7xOYK2nSkF2xXp6nRr5NhfKB5QTKNzpNsXLiGJgfmm7j0ol1S6BhjyBhi7tZ8M0JJtg==", - "dependencies": { - "@smithy/middleware-endpoint": "^2.4.0", - "@smithy/middleware-stack": "^2.1.0", - "@smithy/protocol-http": "^3.1.0", - "@smithy/types": "^2.9.0", - "@smithy/util-stream": "^2.1.0", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.3.1.tgz", + "integrity": "sha512-YsTdU8xVD64r2pLEwmltrNvZV6XIAC50LN6ivDopdt+YiF/jGH6PY9zUOu0CXD/d8GMB8gbhnpPsdrjAXHS9QA==", + "dependencies": { + "@smithy/middleware-endpoint": "^2.4.1", + "@smithy/middleware-stack": "^2.1.1", + "@smithy/protocol-http": "^3.1.1", + "@smithy/types": "^2.9.1", + "@smithy/util-stream": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2087,9 +2135,9 @@ } }, "node_modules/@smithy/types": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.0.tgz", - "integrity": "sha512-ST1M87Lf2cLHRI+irEFRIHXGY08HHTAUbiRFYkmFyJdTMg3VDxkcm7DwW9/EgV3X8M6wDPrbIkx/RXONyttrQg==", + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.9.1.tgz", + "integrity": "sha512-vjXlKNXyprDYDuJ7UW5iobdmyDm6g8dDG+BFUncAg/3XJaN45Gy5RWWWUVgrzIK7S4R1KWgIX5LeJcfvSI24bw==", "dependencies": { "tslib": "^2.5.0" }, @@ -2098,21 +2146,21 @@ } }, "node_modules/@smithy/url-parser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.0.tgz", - "integrity": "sha512-V3FMzNFCDwQNAgJdxI6Gj48qP9WAyvK59WE90hOoya3m8ey02uLDhWjZkl+505s7iTVVmJ7Mr7nKwG5vU2NIMQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.1.1.tgz", + "integrity": "sha512-qC9Bv8f/vvFIEkHsiNrUKYNl8uKQnn4BdhXl7VzQRP774AwIjiSMMwkbT+L7Fk8W8rzYVifzJNYxv1HwvfBo3Q==", "dependencies": { - "@smithy/querystring-parser": "^2.1.0", - "@smithy/types": "^2.9.0", + "@smithy/querystring-parser": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/util-base64": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.0.tgz", - "integrity": "sha512-zjXlHFm7S+TEDVA3j1rWGpuNDTlTxIWDqzwIfWUENT0VqCGDAdJITd8RYVjduf3u8HWMlgALkrY6B62UTESQ5w==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.1.1.tgz", + "integrity": "sha512-UfHVpY7qfF/MrgndI5PexSKVTxSZIdz9InghTFa49QOvuu9I52zLPLUHXvHpNuMb1iD2vmc6R+zbv/bdMipR/g==", "dependencies": { - "@smithy/util-buffer-from": "^2.1.0", + "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2120,17 +2168,17 @@ } }, "node_modules/@smithy/util-body-length-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.0.tgz", - "integrity": "sha512-fkLY8W+jXGSkymLNe9NB7u6lGflHz6w1R+a3RxLOK6UrtwU4LBLskAP5Ag/zVPUNd5tmfv3/W6cTVzk8IBJuiw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.1.1.tgz", + "integrity": "sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==", "dependencies": { "tslib": "^2.5.0" } }, "node_modules/@smithy/util-body-length-node": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.0.tgz", - "integrity": "sha512-ZLsqYH+s71y6Oc2Auws6zYI4LzsSi6N8+W+Gq7CwXaZm7QIKGiCeEunEwxo50OGAqJs0g6F9kCIwNxhlK1s4Aw==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.2.1.tgz", + "integrity": "sha512-/ggJG+ta3IDtpNVq4ktmEUtOkH1LW64RHB5B0hcr5ZaWBmo96UX2cIOVbjCqqDickTXqBWZ4ZO0APuaPrD7Abg==", "dependencies": { "tslib": "^2.5.0" }, @@ -2139,11 +2187,11 @@ } }, "node_modules/@smithy/util-buffer-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.0.tgz", - "integrity": "sha512-3w7AM0moGyBmr9gMBGE7+pqG3cjboRvmMyRhpesbJoOUHO0BV1Qrk00M/wQ3EHJAQXM3dehQfFNUf7sR6nT6+Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.1.1.tgz", + "integrity": "sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==", "dependencies": { - "@smithy/is-array-buffer": "^2.1.0", + "@smithy/is-array-buffer": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2151,9 +2199,9 @@ } }, "node_modules/@smithy/util-config-provider": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.0.tgz", - "integrity": "sha512-D3Gx0BWXjsn1E25ikUt0+yc8oZnViTa5IHZ1JvD9J1NyyVS4c3IgHqbG64XRverEMnhzUb0EhqMTwQTY12in+w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.2.1.tgz", + "integrity": "sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==", "dependencies": { "tslib": "^2.5.0" }, @@ -2162,13 +2210,13 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.0.tgz", - "integrity": "sha512-zmXL4aKeBGBz02kDZdks2QfG+HGq99Tp4/ICPmu2OvSbwTOLjmlCnUrtZJTmLhX4etP3o0voOL9gFEa2PSjlJg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.1.1.tgz", + "integrity": "sha512-lqLz/9aWRO6mosnXkArtRuQqqZBhNpgI65YDpww4rVQBuUT7qzKbDLG5AmnQTCiU4rOquaZO/Kt0J7q9Uic7MA==", "dependencies": { - "@smithy/property-provider": "^2.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -2177,16 +2225,16 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.0.tgz", - "integrity": "sha512-pVBaw2fBJMjjJj+AR69xQhjzYLZ5u9azdKyaAAjR16dthdBOcnczBClBVCfhb/Moj0ivIHnaXJ5AXCdbDok94g==", - "dependencies": { - "@smithy/config-resolver": "^2.1.0", - "@smithy/credential-provider-imds": "^2.2.0", - "@smithy/node-config-provider": "^2.2.0", - "@smithy/property-provider": "^2.1.0", - "@smithy/smithy-client": "^2.3.0", - "@smithy/types": "^2.9.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.1.1.tgz", + "integrity": "sha512-tYVrc+w+jSBfBd267KDnvSGOh4NMz+wVH7v4CClDbkdPfnjvImBZsOURncT5jsFwR9KCuDyPoSZq4Pa6+eCUrA==", + "dependencies": { + "@smithy/config-resolver": "^2.1.1", + "@smithy/credential-provider-imds": "^2.2.1", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/property-provider": "^2.1.1", + "@smithy/smithy-client": "^2.3.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2194,12 +2242,12 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.0.tgz", - "integrity": "sha512-gKzfdj5pyEOg1fVOsZVpVPRWAXbWqt9JgZdwU4cjKlJ57Fuccfk0ui5twh1TYvuJWtR2Tw3GwUmUuBM3qRWJJg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.1.1.tgz", + "integrity": "sha512-sI4d9rjoaekSGEtq3xSb2nMjHMx8QXcz2cexnVyRWsy4yQ9z3kbDpX+7fN0jnbdOp0b3KSTZJZ2Yb92JWSanLw==", "dependencies": { - "@smithy/node-config-provider": "^2.2.0", - "@smithy/types": "^2.9.0", + "@smithy/node-config-provider": "^2.2.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2207,9 +2255,9 @@ } }, "node_modules/@smithy/util-hex-encoding": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.0.tgz", - "integrity": "sha512-haxSIaBxn3p/lK+bEyqC32myHffacBLD61/HHzBGcG1Vo8dFTm5y0vhdR5R4wakW7H8Tr/czx+uckDOWZ1Km9Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.1.1.tgz", + "integrity": "sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==", "dependencies": { "tslib": "^2.5.0" }, @@ -2218,11 +2266,11 @@ } }, "node_modules/@smithy/util-middleware": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.0.tgz", - "integrity": "sha512-bKfhAsdjRyGmYDsJUW5hPsL3qofgPgLPsuV+V6nNGyD/kjMobwstiIpA3ddGFT+XDwVOIUHElg7I06/wOpwKiQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.1.1.tgz", + "integrity": "sha512-mKNrk8oz5zqkNcbcgAAepeJbmfUW6ogrT2Z2gDbIUzVzNAHKJQTYmH9jcy0jbWb+m7ubrvXKb6uMjkSgAqqsFA==", "dependencies": { - "@smithy/types": "^2.9.0", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2230,12 +2278,12 @@ } }, "node_modules/@smithy/util-retry": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.0.tgz", - "integrity": "sha512-igJw+/olhAUtocMbEMBjy8SKRTHfefS+qcgmMUVEBLFgLjqMfpc8EDVB1BebNBQ1rre5yLDbi2UHUz48eZNkPQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.1.1.tgz", + "integrity": "sha512-Mg+xxWPTeSPrthpC5WAamJ6PW4Kbo01Fm7lWM1jmGRvmrRdsd3192Gz2fBXAMURyXpaNxyZf6Hr/nQ4q70oVEA==", "dependencies": { - "@smithy/service-error-classification": "^2.1.0", - "@smithy/types": "^2.9.0", + "@smithy/service-error-classification": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2243,17 +2291,17 @@ } }, "node_modules/@smithy/util-stream": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.0.tgz", - "integrity": "sha512-lcw9JVXLHvRawaXnfxdnGRw5pQM5c9XMEkBuMec+fIhGuPHIezqhQq7oO0jJcj0xwupJzW6HAvinktr9ozdKyg==", - "dependencies": { - "@smithy/fetch-http-handler": "^2.4.0", - "@smithy/node-http-handler": "^2.3.0", - "@smithy/types": "^2.9.0", - "@smithy/util-base64": "^2.1.0", - "@smithy/util-buffer-from": "^2.1.0", - "@smithy/util-hex-encoding": "^2.1.0", - "@smithy/util-utf8": "^2.1.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.1.1.tgz", + "integrity": "sha512-J7SMIpUYvU4DQN55KmBtvaMc7NM3CZ2iWICdcgaovtLzseVhAqFRYqloT3mh0esrFw+3VEK6nQFteFsTqZSECQ==", + "dependencies": { + "@smithy/fetch-http-handler": "^2.4.1", + "@smithy/node-http-handler": "^2.3.1", + "@smithy/types": "^2.9.1", + "@smithy/util-base64": "^2.1.1", + "@smithy/util-buffer-from": "^2.1.1", + "@smithy/util-hex-encoding": "^2.1.1", + "@smithy/util-utf8": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2261,9 +2309,9 @@ } }, "node_modules/@smithy/util-uri-escape": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.0.tgz", - "integrity": "sha512-ZHYFGyF9o/MHGMGtsHfkxnn2DhGRZlDIFGNgipu4K3x8jMEVahQ+tGnlkFVMM2QrSQHCcjICbBTJ5JEgaD5+Jg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.1.1.tgz", + "integrity": "sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==", "dependencies": { "tslib": "^2.5.0" }, @@ -2272,11 +2320,11 @@ } }, "node_modules/@smithy/util-utf8": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.0.tgz", - "integrity": "sha512-RnNNedYLpsNPQocMhr0nGEz0mGKdzI5dBi0h7vvmimULtBlyElgX1/hXozlkurIgx8R3bSy14/oRtmDsFClifg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.1.1.tgz", + "integrity": "sha512-BqTpzYEcUMDwAKr7/mVRUtHDhs6ZoXDi9NypMvMfOr/+u1NW7JgqodPDECiiLboEm6bobcPcECxzjtQh865e9A==", "dependencies": { - "@smithy/util-buffer-from": "^2.1.0", + "@smithy/util-buffer-from": "^2.1.1", "tslib": "^2.5.0" }, "engines": { @@ -2284,12 +2332,12 @@ } }, "node_modules/@smithy/util-waiter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.0.tgz", - "integrity": "sha512-BqfpYb4oNsQn6hhd4zDk8X6srVmiNOXHBFQz0vQSScS8Zliam7oLjlf/gHw02ewwxzi9229UQZF+UnG2jV6JGw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.1.1.tgz", + "integrity": "sha512-kYy6BLJJNif+uqNENtJqWdXcpqo1LS+nj1AfXcDhOpqpSHJSAkVySLyZV9fkmuVO21lzGoxjvd1imGGJHph/IA==", "dependencies": { - "@smithy/abort-controller": "^2.1.0", - "@smithy/types": "^2.9.0", + "@smithy/abort-controller": "^2.1.1", + "@smithy/types": "^2.9.1", "tslib": "^2.5.0" }, "engines": { @@ -2348,9 +2396,9 @@ } }, "node_modules/@types/node": { - "version": "18.19.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz", - "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", + "version": "18.19.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.10.tgz", + "integrity": "sha512-IZD8kAM02AW1HRDTPOlz3npFava678pr8Ie9Vp8uRhBROXAv8MXT2pCnGZZAKYdromsNQLHQcfWQ6EOatVLtqA==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -2953,9 +3001,9 @@ } }, "node_modules/axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", "dev": true, "dependencies": { "follow-redirects": "^1.15.4", @@ -3459,11 +3507,12 @@ } }, "node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.0.tgz", + "integrity": "sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA==", "dev": true, "hasInstallScript": true, + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -3471,29 +3520,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" + "@esbuild/aix-ppc64": "0.20.0", + "@esbuild/android-arm": "0.20.0", + "@esbuild/android-arm64": "0.20.0", + "@esbuild/android-x64": "0.20.0", + "@esbuild/darwin-arm64": "0.20.0", + "@esbuild/darwin-x64": "0.20.0", + "@esbuild/freebsd-arm64": "0.20.0", + "@esbuild/freebsd-x64": "0.20.0", + "@esbuild/linux-arm": "0.20.0", + "@esbuild/linux-arm64": "0.20.0", + "@esbuild/linux-ia32": "0.20.0", + "@esbuild/linux-loong64": "0.20.0", + "@esbuild/linux-mips64el": "0.20.0", + "@esbuild/linux-ppc64": "0.20.0", + "@esbuild/linux-riscv64": "0.20.0", + "@esbuild/linux-s390x": "0.20.0", + "@esbuild/linux-x64": "0.20.0", + "@esbuild/netbsd-x64": "0.20.0", + "@esbuild/openbsd-x64": "0.20.0", + "@esbuild/sunos-x64": "0.20.0", + "@esbuild/win32-arm64": "0.20.0", + "@esbuild/win32-ia32": "0.20.0", + "@esbuild/win32-x64": "0.20.0" } }, "node_modules/escape-string-regexp": { @@ -3861,9 +3910,9 @@ } }, "node_modules/fastq": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", - "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz", + "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -4355,9 +4404,9 @@ } }, "node_modules/immutable": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", + "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", "dev": true }, "node_modules/import-fresh": { @@ -5651,9 +5700,9 @@ } }, "node_modules/rollup": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz", - "integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==", + "version": "4.9.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz", + "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -5666,19 +5715,19 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.9.5", - "@rollup/rollup-android-arm64": "4.9.5", - "@rollup/rollup-darwin-arm64": "4.9.5", - "@rollup/rollup-darwin-x64": "4.9.5", - "@rollup/rollup-linux-arm-gnueabihf": "4.9.5", - "@rollup/rollup-linux-arm64-gnu": "4.9.5", - "@rollup/rollup-linux-arm64-musl": "4.9.5", - "@rollup/rollup-linux-riscv64-gnu": "4.9.5", - "@rollup/rollup-linux-x64-gnu": "4.9.5", - "@rollup/rollup-linux-x64-musl": "4.9.5", - "@rollup/rollup-win32-arm64-msvc": "4.9.5", - "@rollup/rollup-win32-ia32-msvc": "4.9.5", - "@rollup/rollup-win32-x64-msvc": "4.9.5", + "@rollup/rollup-android-arm-eabi": "4.9.6", + "@rollup/rollup-android-arm64": "4.9.6", + "@rollup/rollup-darwin-arm64": "4.9.6", + "@rollup/rollup-darwin-x64": "4.9.6", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.6", + "@rollup/rollup-linux-arm64-gnu": "4.9.6", + "@rollup/rollup-linux-arm64-musl": "4.9.6", + "@rollup/rollup-linux-riscv64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-gnu": "4.9.6", + "@rollup/rollup-linux-x64-musl": "4.9.6", + "@rollup/rollup-win32-arm64-msvc": "4.9.6", + "@rollup/rollup-win32-ia32-msvc": "4.9.6", + "@rollup/rollup-win32-x64-msvc": "4.9.6", "fsevents": "~2.3.2" } }, @@ -5961,9 +6010,9 @@ } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz", + "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==", "dev": true }, "node_modules/spdx-expression-parse": { @@ -6360,9 +6409,9 @@ } }, "node_modules/vite": { - "version": "5.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", - "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "version": "5.0.12", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", "dev": true, "dependencies": { "esbuild": "^0.19.3", @@ -6414,6 +6463,412 @@ } } }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, "node_modules/vue": { "version": "3.4.15", "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.15.tgz", @@ -6435,9 +6890,9 @@ } }, "node_modules/vue-eslint-parser": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.0.tgz", - "integrity": "sha512-7KsNBb6gHFA75BtneJsoK/dbZ281whUIwFYdQxA68QrCrGMXYzUMbPDHGcOQ0OocIVKrWSKWXZ4mL7tonCXoUw==", + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, "dependencies": { "debug": "^4.3.4", diff --git a/src/App.vue b/src/App.vue index 65c7b0d..c04004c 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,7 +3,7 @@ import NavbarTop from "@/components/NavbarTop.vue"; import { onBeforeMount } from "vue"; import { useCookies } from "vue3-cookies"; import { useAuthStore } from "@/stores/users"; -import { useRouter } from "vue-router"; +import { useRoute, useRouter } from "vue-router"; import { OpenAPI as S3ProxyOpenAPI } from "@/client/s3proxy"; import { OpenAPI as AuthOpenAPI } from "@/client/auth"; import { OpenAPI as WorkflowOpenAPI } from "@/client/workflow"; @@ -16,6 +16,7 @@ import { useNameStore } from "@/stores/names"; const { cookies } = useCookies(); const store = useAuthStore(); const router = useRouter(); +const route = useRoute(); const nameRepository = useNameStore(); onBeforeMount(() => { @@ -37,6 +38,7 @@ onBeforeMount(() => { query: { login_error: err.response.status === 400 ? "token_invalid" : "token_expired", + return_path: encodeURI(route.path), }, }); } @@ -52,7 +54,7 @@ onBeforeMount(() => { to.name !== "login" ) { // redirect the user to the login page and preserve query params for login error message - return { name: "login", query: to.query }; + return { name: "login", query: { ...to.query, return_path: encodeURI(to.path) } }; } else if ( to.meta.requiresDeveloperRole && !(store.workflowDev || store.admin) @@ -70,6 +72,9 @@ onBeforeMount(() => { return { name: "dashboard" }; } else if (to.meta.adminRole && !store.admin) { return { name: "dashboard" }; + } else if (to.name !== "login" && to.query.return_path) { + // return to original path after login + return { path: decodeURI(to.query.return_path as string) }; } }); nameRepository.loadNameMapping(); diff --git a/src/client/auth/index.ts b/src/client/auth/index.ts index 69ffa49..e7078bd 100644 --- a/src/client/auth/index.ts +++ b/src/client/auth/index.ts @@ -9,6 +9,7 @@ export type { OpenAPIConfig } from './core/OpenAPI'; export type { ErrorDetail } from './models/ErrorDetail'; export type { HTTPValidationError } from './models/HTTPValidationError'; +export type { OIDCProvider } from './models/OIDCProvider'; export { RoleEnum } from './models/RoleEnum'; export type { User } from './models/User'; export type { ValidationError } from './models/ValidationError'; diff --git a/src/client/auth/models/OIDCProvider.ts b/src/client/auth/models/OIDCProvider.ts new file mode 100644 index 0000000..6bcf072 --- /dev/null +++ b/src/client/auth/models/OIDCProvider.ts @@ -0,0 +1,5 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type OIDCProvider = string; diff --git a/src/client/auth/services/AuthService.ts b/src/client/auth/services/AuthService.ts index ff4c021..d1874e1 100644 --- a/src/client/auth/services/AuthService.ts +++ b/src/client/auth/services/AuthService.ts @@ -2,6 +2,7 @@ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { OIDCProvider } from '../models/OIDCProvider'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; @@ -9,15 +10,25 @@ export class AuthService { /** * Redirect to LifeScience OIDC Login * Redirect route to OIDC provider to kickstart the login process. + * @param provider The OIDC provider to use for login + * @param returnPath Will be appended to redirect response in the callback route as URL query parameter `return_path` * @returns void * @throws ApiError */ - public static authLogin(): CancelablePromise<void> { + public static authLogin( + provider?: OIDCProvider, + returnPath?: string, + ): CancelablePromise<void> { return __request(OpenAPI, { method: 'GET', url: '/auth/login', + query: { + 'provider': provider, + 'return_path': returnPath, + }, errors: { 302: `Successful Response`, + 422: `Validation Error`, }, }); } @@ -33,15 +44,22 @@ export class AuthService { * If the user is new, he will be created and then a JWT token is issued. * * This JWT has to be sent to all authorized endpoints via the HTTPBearer scheme. + * @param provider * @returns void * @throws ApiError */ - public static authLoginCallback(): CancelablePromise<void> { + public static authLoginCallback( + provider: OIDCProvider, + ): CancelablePromise<void> { return __request(OpenAPI, { method: 'GET', - url: '/auth/callback', + url: '/auth/callback/{provider}', + path: { + 'provider': provider, + }, errors: { 302: `Successful Response`, + 422: `Validation Error`, }, }); } diff --git a/src/client/resource/models/Status.ts b/src/client/resource/models/Status.ts index 51aaaaa..fd3e997 100644 --- a/src/client/resource/models/Status.ts +++ b/src/client/resource/models/Status.ts @@ -8,10 +8,16 @@ export enum Status { RESOURCE_REQUESTED = 'RESOURCE_REQUESTED', SYNC_REQUESTED = 'SYNC_REQUESTED', + DENIED = 'DENIED', SYNCHRONIZING = 'SYNCHRONIZING', + SYNC_ERROR = 'SYNC_ERROR', SYNCHRONIZED = 'SYNCHRONIZED', + SETTING_LATEST = 'SETTING_LATEST', LATEST = 'LATEST', - DENIED = 'DENIED', + CLUSTER_DELETING = 'CLUSTER_DELETING', + CLUSTER_DELETE_ERROR = 'CLUSTER_DELETE_ERROR', CLUSTER_DELETED = 'CLUSTER_DELETED', + S3_DELETING = 'S3_DELETING', + S3_DELETE_ERROR = 'S3_DELETE_ERROR', S3_DELETED = 'S3_DELETED', } diff --git a/src/client/resource/services/ResourceService.ts b/src/client/resource/services/ResourceService.ts index 2c182a2..2050b84 100644 --- a/src/client/resource/services/ResourceService.ts +++ b/src/client/resource/services/ResourceService.ts @@ -15,7 +15,7 @@ export class ResourceService { * * Permission `resource:list` required. * @param maintainerId Filter for resource by maintainer. If current user is the same as maintainer ID, permission `resource:list` required, otherwise `resource:list_filter`. - * @param versionStatus Which versions of the resource to include in the response. Permission `resource:list_filter` required, unless `maintainer_id` is provided and current user is maintainer, then only permission `resource:list` required. Default `LATEST` and `SYNCHRONIZED`. + * @param versionStatus Which versions of the resource to include in the response. Permission `resource:list_filter` required, unless `maintainer_id` is provided and current user is maintainer, then only permission `resource:list` required. Default `LATEST`, `SYNCHRONIZED` and `SETTING_LATEST`. * @param nameSubstring * @returns ResourceOut Successful Response * @throws ApiError diff --git a/src/client/resource/services/ResourceVersionService.ts b/src/client/resource/services/ResourceVersionService.ts index 804d721..a4b9866 100644 --- a/src/client/resource/services/ResourceVersionService.ts +++ b/src/client/resource/services/ResourceVersionService.ts @@ -15,7 +15,7 @@ export class ResourceVersionService { * * Permission 'resource:read' required. * @param rid - * @param versionStatus Which versions to include in the response. Permission `resource:read_any` required, current user is the maintainer, then only permission `resource:read` required. Default `LATEST` and `SYNCHRONIZED`. + * @param versionStatus Which versions to include in the response. Permission `resource:read_any` required, current user is the maintainer, then only permission `resource:read` required. Default `LATEST`, `SYNCHRONIZED` and `SETTING_LATEST`. * @returns ResourceVersionOut Successful Response * @throws ApiError */ diff --git a/src/client/s3proxy/models/BucketOut.ts b/src/client/s3proxy/models/BucketOut.ts index cbb67fb..bdd7171 100644 --- a/src/client/s3proxy/models/BucketOut.ts +++ b/src/client/s3proxy/models/BucketOut.ts @@ -22,7 +22,7 @@ export type BucketOut = { /** * UID of the owner */ - owner: string; + owner_id: string; /** * Number of Objects in this bucket */ diff --git a/src/client/s3proxy/models/BucketPermissionOut.ts b/src/client/s3proxy/models/BucketPermissionOut.ts index ec3c79d..e6fc7a7 100644 --- a/src/client/s3proxy/models/BucketPermissionOut.ts +++ b/src/client/s3proxy/models/BucketPermissionOut.ts @@ -31,9 +31,5 @@ export type BucketPermissionOut = { * Name of Bucket */ bucket_name: string; - /** - * Display Name of the grantee - */ - grantee_display_name: string; }; diff --git a/src/client/s3proxy/models/S3Key.ts b/src/client/s3proxy/models/S3Key.ts index b3c30da..ebd17db 100644 --- a/src/client/s3proxy/models/S3Key.ts +++ b/src/client/s3proxy/models/S3Key.ts @@ -9,7 +9,7 @@ export type S3Key = { /** * UID of the user of that access key */ - user: string; + uid: string; /** * ID of the S3 access key */ diff --git a/src/client/s3proxy/services/BucketPermissionService.ts b/src/client/s3proxy/services/BucketPermissionService.ts index d5119dc..57eae34 100644 --- a/src/client/s3proxy/services/BucketPermissionService.ts +++ b/src/client/s3proxy/services/BucketPermissionService.ts @@ -12,28 +12,25 @@ import { OpenAPI } from '../core/OpenAPI'; import { request as __request } from '../core/request'; export class BucketPermissionService { /** - * Get permission for bucket and user combination. - * Get the bucket permissions for the specific combination of bucket and user. + * Get all permissions. + * List all the bucket permissions in the system. * - * The owner of the bucket and the grantee of the permission can view it. - * - * Permission "bucket_permission:read" required if current user is the target or owner of the bucket permission, - * otherwise "bucket_permission:read_any" required. - * @param bucketName Name of bucket - * @param uid UID of a user + * Permission `bucket_permission:list_all` required. + * @param permissionTypes Type of Bucket Permissions to fetch + * @param permissionStatus Status of Bucket Permissions to fetch * @returns BucketPermissionOut Successful Response * @throws ApiError */ - public static bucketPermissionGetPermissionForBucket( - bucketName: string, - uid: string, - ): CancelablePromise<BucketPermissionOut> { + public static bucketPermissionListPermissions( + permissionTypes?: Array<Permission>, + permissionStatus?: PermissionStatus, + ): CancelablePromise<Array<BucketPermissionOut>> { return __request(OpenAPI, { method: 'GET', - url: '/permissions/bucket/{bucket_name}/user/{uid}', - path: { - 'bucket_name': bucketName, - 'uid': uid, + url: '/permissions', + query: { + 'permission_types': permissionTypes, + 'permission_status': permissionStatus, }, errors: { 400: `Error decoding JWT Token`, @@ -44,29 +41,22 @@ export class BucketPermissionService { }); } /** - * Delete a bucket permission - * Delete the bucket permissions for the specific combination of bucket and user. - * - * The owner of the bucket and the grantee of the permission can delete it. + * Create a permission. + * Create a permission for a bucket and user. * - * Permission "bucket_permission:delete" required if current user is the target or owner of the bucket permission, - * otherwise "bucket_permission:delete_any" required. - * @param bucketName Name of bucket - * @param uid UID of a user - * @returns void + * Permission `bucket_permission:create` required. + * @param requestBody + * @returns BucketPermissionOut Successful Response * @throws ApiError */ - public static bucketPermissionDeletePermission( - bucketName: string, - uid: string, - ): CancelablePromise<void> { + public static bucketPermissionCreatePermission( + requestBody: BucketPermissionIn, + ): CancelablePromise<BucketPermissionOut> { return __request(OpenAPI, { - method: 'DELETE', - url: '/permissions/bucket/{bucket_name}/user/{uid}', - path: { - 'bucket_name': bucketName, - 'uid': uid, - }, + method: 'POST', + url: '/permissions', + body: requestBody, + mediaType: 'application/json', errors: { 400: `Error decoding JWT Token`, 403: `Not authenticated`, @@ -76,31 +66,32 @@ export class BucketPermissionService { }); } /** - * Update a bucket permission - * Update a permission for a bucket and user. + * Get all permissions for a user. + * List all the bucket permissions for the given user. * - * Permission "bucket_permission:read" required if current user is the target the bucket permission, - * otherwise "bucket_permission:update" required. - * @param bucketName Name of bucket + * Permission `bucket_permission:list_user` required if current user is the target the bucket permission, + * otherwise `bucket_permission:list_all` required. * @param uid UID of a user - * @param requestBody + * @param permissionTypes Type of Bucket Permissions to fetch + * @param permissionStatus Status of Bucket Permissions to fetch * @returns BucketPermissionOut Successful Response * @throws ApiError */ - public static bucketPermissionUpdatePermission( - bucketName: string, + public static bucketPermissionListPermissionsPerUser( uid: string, - requestBody: BucketPermissionParameters, - ): CancelablePromise<BucketPermissionOut> { + permissionTypes?: Array<Permission>, + permissionStatus?: PermissionStatus, + ): CancelablePromise<Array<BucketPermissionOut>> { return __request(OpenAPI, { - method: 'PUT', - url: '/permissions/bucket/{bucket_name}/user/{uid}', + method: 'GET', + url: '/permissions/user/{uid}', path: { - 'bucket_name': bucketName, 'uid': uid, }, - body: requestBody, - mediaType: 'application/json', + query: { + 'permission_types': permissionTypes, + 'permission_status': permissionStatus, + }, errors: { 400: `Error decoding JWT Token`, 403: `Not authenticated`, @@ -113,8 +104,8 @@ export class BucketPermissionService { * Get all permissions for a bucket. * List all the bucket permissions for the given bucket. * - * Permission "bucket_permission:read" required if current user is owner of the bucket, - * otherwise "bucket_permission:read_any" required. + * Permission `bucket_permission:list_bucket` required if current user is owner of the bucket, + * otherwise `bucket_permission:list_all` required. * @param bucketName Name of bucket * @param permissionTypes Type of Bucket Permissions to fetch * @param permissionStatus Status of Bucket Permissions to fetch @@ -123,8 +114,8 @@ export class BucketPermissionService { */ public static bucketPermissionListPermissionsPerBucket( bucketName: string, - permissionTypes?: (Array<Permission> | null), - permissionStatus?: (PermissionStatus | null), + permissionTypes?: Array<Permission>, + permissionStatus?: PermissionStatus, ): CancelablePromise<Array<BucketPermissionOut>> { return __request(OpenAPI, { method: 'GET', @@ -145,31 +136,60 @@ export class BucketPermissionService { }); } /** - * Get all permissions for a user. - * List all the bucket permissions for the given user. + * Get permission for bucket and user combination. + * Get the bucket permissions for the specific combination of bucket and user. + * + * The owner of the bucket and the grantee of the permission can view it. * - * Permission "bucket_permission:read" required if current user is the target the bucket permission, - * otherwise "bucket_permission:read_any" required. + * Permission `bucket_permission:read` required if current user is the target or owner of the bucket permission, + * otherwise `bucket_permission:read_any` required. + * @param bucketName Name of bucket * @param uid UID of a user - * @param permissionTypes Type of Bucket Permissions to fetch - * @param permissionStatus Status of Bucket Permissions to fetch * @returns BucketPermissionOut Successful Response * @throws ApiError */ - public static bucketPermissionListPermissionsPerUser( + public static bucketPermissionGetPermissionForBucket( + bucketName: string, uid: string, - permissionTypes?: (Array<Permission> | null), - permissionStatus?: (PermissionStatus | null), - ): CancelablePromise<Array<BucketPermissionOut>> { + ): CancelablePromise<BucketPermissionOut> { return __request(OpenAPI, { method: 'GET', - url: '/permissions/user/{uid}', + url: '/permissions/bucket/{bucket_name}/user/{uid}', path: { + 'bucket_name': bucketName, 'uid': uid, }, - query: { - 'permission_types': permissionTypes, - 'permission_status': permissionStatus, + errors: { + 400: `Error decoding JWT Token`, + 403: `Not authenticated`, + 404: `Entity not Found`, + 422: `Validation Error`, + }, + }); + } + /** + * Delete a bucket permission + * Delete the bucket permissions for the specific combination of bucket and user. + * + * The owner of the bucket and the grantee of the permission can delete it. + * + * Permission `bucket_permission:delete` required if current user is the target or owner of the bucket permission, + * otherwise `bucket_permission:delete_any` required. + * @param bucketName Name of bucket + * @param uid UID of a user + * @returns void + * @throws ApiError + */ + public static bucketPermissionDeletePermission( + bucketName: string, + uid: string, + ): CancelablePromise<void> { + return __request(OpenAPI, { + method: 'DELETE', + url: '/permissions/bucket/{bucket_name}/user/{uid}', + path: { + 'bucket_name': bucketName, + 'uid': uid, }, errors: { 400: `Error decoding JWT Token`, @@ -180,20 +200,28 @@ export class BucketPermissionService { }); } /** - * Create a permission. - * Create a permission for a bucket and user. + * Update a bucket permission + * Update a permission for a bucket and user. * - * Permission "bucket_permission:create" required. + * Permission `bucket_permission:update` required. + * @param bucketName Name of bucket + * @param uid UID of a user * @param requestBody * @returns BucketPermissionOut Successful Response * @throws ApiError */ - public static bucketPermissionCreatePermission( - requestBody: BucketPermissionIn, + public static bucketPermissionUpdatePermission( + bucketName: string, + uid: string, + requestBody: BucketPermissionParameters, ): CancelablePromise<BucketPermissionOut> { return __request(OpenAPI, { - method: 'POST', - url: '/permissions', + method: 'PUT', + url: '/permissions/bucket/{bucket_name}/user/{uid}', + path: { + 'bucket_name': bucketName, + 'uid': uid, + }, body: requestBody, mediaType: 'application/json', errors: { diff --git a/src/client/s3proxy/services/BucketService.ts b/src/client/s3proxy/services/BucketService.ts index 92cee99..2f78147 100644 --- a/src/client/s3proxy/services/BucketService.ts +++ b/src/client/s3proxy/services/BucketService.ts @@ -13,21 +13,22 @@ export class BucketService { * List buckets of user * List all the buckets in the system or of the desired user where the user has READ permissions for. * - * Permission "bucket:read" required. - * @param user UID of the user for whom to fetch the buckets for. Permission 'bucket:read_any' required if current user is not the target. + * Permission `bucket:list` required if the current user is the owner of the bucket, + * otherwise `bucket:list_all` required. + * @param ownerId UID of the user for whom to fetch the buckets for. Permission 'bucket:read_any' required if current user is not the target. * @param bucketType Type of the bucket to get. Ignored when `user` parameter not set * @returns BucketOut Successful Response * @throws ApiError */ public static bucketListBuckets( - user?: (string | null), + ownerId?: string, bucketType?: BucketType, ): CancelablePromise<Array<BucketOut>> { return __request(OpenAPI, { method: 'GET', url: '/buckets', query: { - 'user': user, + 'owner_id': ownerId, 'bucket_type': bucketType, }, errors: { @@ -46,7 +47,7 @@ export class BucketService { * For more information see the * [Ceph documentation](https://docs.ceph.com/en/quincy/radosgw/s3/bucketops/#constraints) * - * Permission "bucket:create" required. + * Permission `bucket:create` required. * @param requestBody * @returns BucketOut Successful Response * @throws ApiError @@ -71,8 +72,8 @@ export class BucketService { * Get a bucket by its name * Get a bucket by its name if the current user has READ permissions for the bucket. * - * Permission "bucket:read" required if the current user is the owner of the bucket, - * otherwise "bucket:read_any" required. + * Permission `bucket:read` required if the current user is the owner of the bucket, + * otherwise `bucket:read_any` required. * @param bucketName Name of bucket * @returns BucketOut Successful Response * @throws ApiError @@ -98,8 +99,8 @@ export class BucketService { * Delete a bucket * Delete a bucket by its name. Only the owner of the bucket can delete the bucket. * - * Permission "bucket:delete" required if the current user is the owner of the bucket, - * otherwise "bucket:delete_any" required. + * Permission `bucket:delete` required if the current user is the owner of the bucket, + * otherwise `bucket:delete_any` required. * @param bucketName Name of bucket * @param forceDelete Delete even non-empty bucket * @returns void diff --git a/src/client/s3proxy/services/S3KeyService.ts b/src/client/s3proxy/services/S3KeyService.ts index 732fd68..e8f3135 100644 --- a/src/client/s3proxy/services/S3KeyService.ts +++ b/src/client/s3proxy/services/S3KeyService.ts @@ -11,7 +11,7 @@ export class S3KeyService { * Get the S3 Access keys from a user * Get all the S3 Access keys for a specific user. * - * Permission "s3_key:list" required. + * Permission `s3_key:list` required. * @param uid UID of a user * @returns S3Key Successful Response * @throws ApiError @@ -37,7 +37,7 @@ export class S3KeyService { * Create a Access key for a user * Create a S3 Access key for a specific user. * - * Permission "s3_key:create" required. + * Permission `s3_key:create` required. * @param uid UID of a user * @returns S3Key Successful Response * @throws ApiError @@ -63,7 +63,7 @@ export class S3KeyService { * Get a specific S3 Access key from a user * Get a specific S3 Access Key for a specific user. * - * Permission "s3_key:read" required. + * Permission `s3_key:read` required. * @param accessId ID of the S3 access key * @param uid UID of a user * @returns S3Key Successful Response @@ -92,7 +92,7 @@ export class S3KeyService { * Delete a specific S3 Access key from a user * Delete a specific S3 Access key for a specific user. * - * Permission "s3_key:delete" required if the current user is the target, otherwise "s3_key:delete_any" required. + * Permission `s3_key:delete` required if the current user is the target, otherwise `s3_key:delete_any` required. * @param accessId ID of the S3 access key * @param uid UID of a user * @returns void diff --git a/src/client/workflow/models/AnonymizedWorkflowExecution.ts b/src/client/workflow/models/AnonymizedWorkflowExecution.ts index 11497f7..8fadc75 100644 --- a/src/client/workflow/models/AnonymizedWorkflowExecution.ts +++ b/src/client/workflow/models/AnonymizedWorkflowExecution.ts @@ -15,11 +15,11 @@ export type AnonymizedWorkflowExecution = { /** * ID of the workflow mode this workflow execution ran in */ - workflow_mode_id?: (string | null); + workflow_mode_id?: string; /** * Hash of the git commit */ - git_commit_hash: string; + workflow_version_id: string; /** * Day of the workflow execution */ diff --git a/src/client/workflow/models/Body_Workflow_Version_upload_workflow_version_icon.ts b/src/client/workflow/models/Body_Workflow_Version_upload_workflow_version_icon.ts index fa8dd9e..01160c3 100644 --- a/src/client/workflow/models/Body_Workflow_Version_upload_workflow_version_icon.ts +++ b/src/client/workflow/models/Body_Workflow_Version_upload_workflow_version_icon.ts @@ -4,7 +4,7 @@ /* eslint-disable */ export type Body_Workflow_Version_upload_workflow_version_icon = { /** - * Optional Icon for the Workflow. + * Icon for the Workflow. */ icon: Blob; }; diff --git a/src/client/workflow/models/WorkflowExecutionIn.ts b/src/client/workflow/models/WorkflowExecutionIn.ts index 223447a..35c5f06 100644 --- a/src/client/workflow/models/WorkflowExecutionIn.ts +++ b/src/client/workflow/models/WorkflowExecutionIn.ts @@ -30,6 +30,6 @@ export type WorkflowExecutionIn = { /** * ID of the workflow mode this workflow execution runs in */ - mode?: (string | null); + mode_id?: (string | null); }; diff --git a/src/client/workflow/models/WorkflowExecutionOut.ts b/src/client/workflow/models/WorkflowExecutionOut.ts index dc3e981..2323c17 100644 --- a/src/client/workflow/models/WorkflowExecutionOut.ts +++ b/src/client/workflow/models/WorkflowExecutionOut.ts @@ -15,7 +15,7 @@ export type WorkflowExecutionOut = { /** * ID of the workflow mode this workflow execution runs in */ - mode?: (string | null); + mode_id?: string; /** * ID of the workflow execution */ @@ -23,7 +23,7 @@ export type WorkflowExecutionOut = { /** * UID of user who started the workflow */ - user_id: string; + executor_id: string; /** * Start time of the workflow execution as UNIX timestamp */ @@ -39,7 +39,7 @@ export type WorkflowExecutionOut = { /** * Id of the workflow */ - workflow_id?: (string | null); + workflow_id?: string; /** * S3 Path where logs and reports are saved. */ diff --git a/src/client/workflow/models/WorkflowOut.ts b/src/client/workflow/models/WorkflowOut.ts index 90fbae3..2946f95 100644 --- a/src/client/workflow/models/WorkflowOut.ts +++ b/src/client/workflow/models/WorkflowOut.ts @@ -27,7 +27,7 @@ export type WorkflowOut = { /** * ID of developer of the workflow */ - developer_id: string; + developer_id?: string; /** * Flag if the workflow is hosted in a private git repository */ diff --git a/src/client/workflow/models/WorkflowVersion.ts b/src/client/workflow/models/WorkflowVersion.ts index d27d809..f8bc153 100644 --- a/src/client/workflow/models/WorkflowVersion.ts +++ b/src/client/workflow/models/WorkflowVersion.ts @@ -19,7 +19,7 @@ export type WorkflowVersion = { /** * Hash of the git commit */ - git_commit_hash: string; + workflow_version_id: string; /** * URL of the icon for this workflow version */ diff --git a/src/client/workflow/services/WorkflowCredentialsService.ts b/src/client/workflow/services/WorkflowCredentialsService.ts index cf305fa..749fb5e 100644 --- a/src/client/workflow/services/WorkflowCredentialsService.ts +++ b/src/client/workflow/services/WorkflowCredentialsService.ts @@ -12,7 +12,7 @@ export class WorkflowCredentialsService { * Get the credentials of a workflow * Get the credentials for the repository of a workflow. Only the developer of a workflow can do this. * - * Permission "workflow:update" required. + * Permission `workflow:update` required. * @param wid ID of a workflow * @returns WorkflowCredentialsOut Successful Response * @throws ApiError @@ -38,7 +38,7 @@ export class WorkflowCredentialsService { * Update the credentials of a workflow * Update the credentials for the repository of a workflow. * - * Permission "workflow:update" required. + * Permission `workflow:update` required. * @param wid ID of a workflow * @param requestBody * @returns any Successful Response @@ -68,7 +68,7 @@ export class WorkflowCredentialsService { * Delete the credentials of a workflow * Delete the credentials for the repository of a workflow. * - * Permission "workflow:delete" required. + * Permission `workflow:delete` required. * @param wid ID of a workflow * @returns void * @throws ApiError diff --git a/src/client/workflow/services/WorkflowExecutionService.ts b/src/client/workflow/services/WorkflowExecutionService.ts index db4e486..3e07b04 100644 --- a/src/client/workflow/services/WorkflowExecutionService.ts +++ b/src/client/workflow/services/WorkflowExecutionService.ts @@ -14,8 +14,8 @@ export class WorkflowExecutionService { * Start a new workflow execution * Start a new workflow execution. Workflow versions wit status `DEPRECATED` or `DENIED` can't be started. * - * Permission "workflow_execution:start" required if workflow versions status is `PUBLISHED`, - * otherwise "workflow_execution:start_unpublished" required. + * Permission `workflow_execution:start` required if workflow versions status is `PUBLISHED`, + * otherwise `workflow_execution:start_unpublished` required. * @param requestBody * @returns WorkflowExecutionOut Successful Response * @throws ApiError @@ -40,24 +40,24 @@ export class WorkflowExecutionService { * Get all workflow executions * Get all workflow executions. * - * Permission "workflow_execution:list" required, if 'user_id' is the same as the current user, - * otherwise "workflow_execution:list_all" required. - * @param userId Filter for workflow executions by a user. If none, Permission 'workflow_execution:read_any' required. + * Permission `workflow_execution:list` required, if 'user_id' is the same as the current user, + * otherwise `workflow_execution:list_all` required. + * @param executorId Filter for workflow executions by a user. If none, Permission `workflow_execution:read_any` required. * @param executionStatus Filter for status of workflow execution * @param workflowVersionId Filter for workflow version * @returns WorkflowExecutionOut Successful Response * @throws ApiError */ public static workflowExecutionListWorkflowExecutions( - userId?: (string | null), - executionStatus?: (Array<WorkflowExecutionStatus> | null), - workflowVersionId?: (string | null), + executorId?: string, + executionStatus?: Array<WorkflowExecutionStatus>, + workflowVersionId?: string, ): CancelablePromise<Array<WorkflowExecutionOut>> { return __request(OpenAPI, { method: 'GET', url: '/workflow_executions', query: { - 'user_id': userId, + 'executor_id': executorId, 'execution_status': executionStatus, 'workflow_version_id': workflowVersionId, }, @@ -73,7 +73,7 @@ export class WorkflowExecutionService { * Start a workflow execution with arbitrary git repository * Start a new workflow execution from an arbitrary git repository. * - * Permission "workflow:create" required. + * Permission `workflow:create` required. * * For private Gitlab repositories, a Project Access Token with the role Reporter and scope `read_api` is needed. * @@ -102,8 +102,8 @@ export class WorkflowExecutionService { * Get a workflow execution * Get a specific workflow execution. * - * Permission "workflow_execution:read" required if the current user started the workflow execution, - * otherwise "workflow_execution:read_any" required. + * Permission `workflow_execution:read` required if the current user started the workflow execution, + * otherwise `workflow_execution:read_any` required. * @param eid ID of a workflow execution. * @returns WorkflowExecutionOut Successful Response * @throws ApiError @@ -129,8 +129,8 @@ export class WorkflowExecutionService { * Delete a workflow execution * Delete a specific workflow execution. * - * Permission "workflow_execution:delete" required if the current user started the workflow execution, - * otherwise "workflow_execution:delete_any" required. + * Permission `workflow_execution:delete` required if the current user started the workflow execution, + * otherwise `workflow_execution:delete_any` required. * @param eid ID of a workflow execution. * @returns void * @throws ApiError @@ -156,8 +156,8 @@ export class WorkflowExecutionService { * Get the parameters of a workflow execution * Get the parameters of a specific workflow execution. * - * Permission "workflow_execution:read" required if the current user started the workflow execution, - * otherwise "workflow_execution:read_any" required. + * Permission `workflow_execution:read` required if the current user started the workflow execution, + * otherwise `workflow_execution:read_any` required. * @param eid ID of a workflow execution. * @returns any Successful Response * @throws ApiError @@ -183,8 +183,8 @@ export class WorkflowExecutionService { * Cancel a workflow execution * Cancel a running workflow execution. * - * Permission "workflow_execution:cancel" required if the current user started the workflow execution, - * otherwise "workflow_execution:cancel_any" required. + * Permission `workflow_execution:cancel` required if the current user started the workflow execution, + * otherwise `workflow_execution:cancel_any` required. * @param eid ID of a workflow execution. * @returns void * @throws ApiError diff --git a/src/client/workflow/services/WorkflowModeService.ts b/src/client/workflow/services/WorkflowModeService.ts index f0fa89d..2a3eb2a 100644 --- a/src/client/workflow/services/WorkflowModeService.ts +++ b/src/client/workflow/services/WorkflowModeService.ts @@ -11,7 +11,7 @@ export class WorkflowModeService { * Get workflow mode * Get a workflow mode * - * Permission 'workflow:read' required + * Permission `workflow:read` required * @param modeId ID of a workflow mode * @returns WorkflowModeOut Successful Response * @throws ApiError diff --git a/src/client/workflow/services/WorkflowService.ts b/src/client/workflow/services/WorkflowService.ts index 9dc2f2c..3e68041 100644 --- a/src/client/workflow/services/WorkflowService.ts +++ b/src/client/workflow/services/WorkflowService.ts @@ -21,17 +21,17 @@ export class WorkflowService { * List workflows * List all workflows. * - * Permission "workflow:list" required. + * Permission `workflow:list` required. * @param nameSubstring Filter workflows by a substring in their name. - * @param versionStatus Which versions of the workflow to include in the response. Permission 'workflow:list_filter required', unless 'developer_id' is provided and current user is developer, then only permission 'workflow:list' required. Default PUBLISHED and DEPRECATED. - * @param developerId Filter for workflow by developer. If current user is the same as developer ID, permission 'workflow:list' required, otherwise 'workflow:list_filter'. + * @param versionStatus Which versions of the workflow to include in the response. Permission `workflow:list_filter` required, unless `developer_id` is provided and current user is developer, then only permission `workflow:list` required. Default `PUBLISHED` and `DEPRECATED`. + * @param developerId Filter for workflow by developer. If current user is the developer, permission `workflow:list` required, otherwise `workflow:list_filter`. * @returns WorkflowOut Successful Response * @throws ApiError */ public static workflowListWorkflows( - nameSubstring?: (string | null), - versionStatus?: (Array<Status> | null), - developerId?: (string | null), + nameSubstring?: string, + versionStatus?: Array<Status>, + developerId?: string, ): CancelablePromise<Array<WorkflowOut>> { return __request(OpenAPI, { method: 'GET', @@ -53,7 +53,7 @@ export class WorkflowService { * Create a new workflow * Create a new workflow. * - * Permission "workflow:create" required. + * Permission `workflow:create` required. * * For private Gitlab repositories, a Project Access Token with the role Reporter and scope `read_api` is needed. * @@ -82,8 +82,8 @@ export class WorkflowService { * Get anonymized workflow execution * Get the workflow executions with meta information and anonymized user IDs. * - * Permission "workflow:read_statistics" required if the `developer_id` is the same as the uid of the current user, - * other "workflow:read_statistics_any". + * Permission `workflow:read_statistics` required if the `developer_id` is the same as the uid of the current user, + * other `workflow:read_statistics_any`. * @param developerId Filter by the developer of the workflows * @param workflowId Filter by workflow IDs * @param start Filter by workflow executions after this date @@ -92,10 +92,10 @@ export class WorkflowService { * @throws ApiError */ public static workflowGetDeveloperWorkflowStatistics( - developerId?: (string | null), - workflowId?: (Array<string> | null), - start?: (string | null), - end?: (string | null), + developerId?: string, + workflowId?: Array<string>, + start?: string, + end?: string, ): CancelablePromise<Array<AnonymizedWorkflowExecution>> { return __request(OpenAPI, { method: 'GET', @@ -118,15 +118,15 @@ export class WorkflowService { * Get a workflow * Get a specific workflow. * - * Permission "workflow:read" required. + * Permission `workflow:read` required. * @param wid ID of a workflow - * @param versionStatus Which versions of the workflow to include in the response. Permission 'workflow:read_any' required if you are not the developer of this workflow. Default PUBLISHED and DEPRECATED + * @param versionStatus Which versions of the workflow to include in the response. Permission `workflow:read_any` required if you are not the developer of this workflow. Default `PUBLISHED` and `DEPRECATED` * @returns WorkflowOut Successful Response * @throws ApiError */ public static workflowGetWorkflow( wid: string, - versionStatus?: (Array<Status> | null), + versionStatus?: Array<Status>, ): CancelablePromise<WorkflowOut> { return __request(OpenAPI, { method: 'GET', @@ -149,7 +149,7 @@ export class WorkflowService { * Delete a workflow * Delete a workflow. * - * Permission "workflow:delete" required. + * Permission `workflow:delete` required. * @param wid ID of a workflow * @returns void * @throws ApiError @@ -175,7 +175,7 @@ export class WorkflowService { * Get statistics for a workflow * Get the number of started workflow per day. * - * Permission "workflow:read" required. + * Permission `workflow:read` required. * @param wid ID of a workflow * @returns WorkflowStatistic Successful Response * @throws ApiError @@ -201,7 +201,7 @@ export class WorkflowService { * Update a workflow * Create a new workflow version. * - * Permission "workflow:update" required. + * Permission `workflow:update` required. * @param wid ID of a workflow * @param requestBody * @returns WorkflowVersion Successful Response @@ -231,15 +231,15 @@ export class WorkflowService { * Get all versions of a workflow * List all versions of a Workflow. * - * Permission "workflow:list" required. + * Permission `workflow:list` required. * @param wid ID of a workflow - * @param versionStatus Which versions of the workflow to include in the response. Permission 'workflow:list_filter' required if you are not the developer of this workflow. Default PUBLISHED and DEPRECATED + * @param versionStatus Which versions of the workflow to include in the response. Permission `workflow:list_filter` required if you are not the developer of this workflow. Default `PUBLISHED` and `DEPRECATED` * @returns WorkflowVersion Successful Response * @throws ApiError */ public static workflowVersionListWorkflowVersion( wid: string, - versionStatus?: (Array<Status> | null), + versionStatus?: Array<Status>, ): CancelablePromise<Array<WorkflowVersion>> { return __request(OpenAPI, { method: 'GET', @@ -262,9 +262,9 @@ export class WorkflowService { * Get a workflow version * Get a specific version of a workflow. * - * Permission "workflow:read" required if the version is public or you are the developer of the workflow, - * otherwise "workflow:read_any" - * @param gitCommitHash Git commit git_commit_hash of specific version or 'latest'. + * Permission `workflow:read` required if the version is public or you are the developer of the workflow, + * otherwise `workflow:read_any` + * @param gitCommitHash Git commit `git_commit_hash` of specific version or `latest`. * @param wid ID of a workflow * @returns WorkflowVersion Successful Response * @throws ApiError @@ -292,7 +292,7 @@ export class WorkflowService { * Update status of workflow version * Update the status of a workflow version. * - * Permission "workflow:update_status" + * Permission `workflow:update_status` * @param gitCommitHash Git commit git_commit_hash of specific version. * @param wid ID of a workflow * @param requestBody @@ -325,8 +325,8 @@ export class WorkflowService { * Deprecate a workflow version * Deprecate a workflow version. * - * Permission "workflow:update" required if you are the developer of the workflow, - * otherwise "workflow:read_status" + * Permission `workflow:update` required if you are the developer of the workflow, + * otherwise `workflow:read_status` * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @returns WorkflowVersion Successful Response @@ -356,7 +356,7 @@ export class WorkflowService { * Get the documentation for a specific workflow version. * Streams the response directly from the right git repository. * - * Permission "workflow:read" required. + * Permission `workflow:read` required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @param document Specify which type of documentation the client wants to fetch @@ -368,7 +368,7 @@ export class WorkflowService { wid: string, gitCommitHash: string, document?: DocumentationEnum, - modeId?: (string | null), + modeId?: string, ): CancelablePromise<any> { return __request(OpenAPI, { method: 'GET', @@ -393,7 +393,7 @@ export class WorkflowService { * Upload icon for workflow version * Upload an icon for the workflow version and returns the new icon URL. * - * Permission "workflow:update" required. + * Permission `workflow:update` required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @param formData @@ -426,7 +426,7 @@ export class WorkflowService { * Delete icon of workflow version * Delete the icon of the workflow version. * - * Permission "workflow:update" required. + * Permission `workflow:update` required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @returns void diff --git a/src/client/workflow/services/WorkflowVersionService.ts b/src/client/workflow/services/WorkflowVersionService.ts index 47eb077..ce08361 100644 --- a/src/client/workflow/services/WorkflowVersionService.ts +++ b/src/client/workflow/services/WorkflowVersionService.ts @@ -16,15 +16,15 @@ export class WorkflowVersionService { * Get all versions of a workflow * List all versions of a Workflow. * - * Permission "workflow:list" required. + * Permission `workflow:list` required. * @param wid ID of a workflow - * @param versionStatus Which versions of the workflow to include in the response. Permission 'workflow:list_filter' required if you are not the developer of this workflow. Default PUBLISHED and DEPRECATED + * @param versionStatus Which versions of the workflow to include in the response. Permission `workflow:list_filter` required if you are not the developer of this workflow. Default `PUBLISHED` and `DEPRECATED` * @returns WorkflowVersion Successful Response * @throws ApiError */ public static workflowVersionListWorkflowVersion( wid: string, - versionStatus?: (Array<Status> | null), + versionStatus?: Array<Status>, ): CancelablePromise<Array<WorkflowVersion>> { return __request(OpenAPI, { method: 'GET', @@ -47,9 +47,9 @@ export class WorkflowVersionService { * Get a workflow version * Get a specific version of a workflow. * - * Permission "workflow:read" required if the version is public or you are the developer of the workflow, - * otherwise "workflow:read_any" - * @param gitCommitHash Git commit git_commit_hash of specific version or 'latest'. + * Permission `workflow:read` required if the version is public or you are the developer of the workflow, + * otherwise `workflow:read_any` + * @param gitCommitHash Git commit `git_commit_hash` of specific version or `latest`. * @param wid ID of a workflow * @returns WorkflowVersion Successful Response * @throws ApiError @@ -77,7 +77,7 @@ export class WorkflowVersionService { * Update status of workflow version * Update the status of a workflow version. * - * Permission "workflow:update_status" + * Permission `workflow:update_status` * @param gitCommitHash Git commit git_commit_hash of specific version. * @param wid ID of a workflow * @param requestBody @@ -110,8 +110,8 @@ export class WorkflowVersionService { * Deprecate a workflow version * Deprecate a workflow version. * - * Permission "workflow:update" required if you are the developer of the workflow, - * otherwise "workflow:read_status" + * Permission `workflow:update` required if you are the developer of the workflow, + * otherwise `workflow:read_status` * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @returns WorkflowVersion Successful Response @@ -141,7 +141,7 @@ export class WorkflowVersionService { * Get the documentation for a specific workflow version. * Streams the response directly from the right git repository. * - * Permission "workflow:read" required. + * Permission `workflow:read` required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @param document Specify which type of documentation the client wants to fetch @@ -153,7 +153,7 @@ export class WorkflowVersionService { wid: string, gitCommitHash: string, document?: DocumentationEnum, - modeId?: (string | null), + modeId?: string, ): CancelablePromise<any> { return __request(OpenAPI, { method: 'GET', @@ -178,7 +178,7 @@ export class WorkflowVersionService { * Upload icon for workflow version * Upload an icon for the workflow version and returns the new icon URL. * - * Permission "workflow:update" required. + * Permission `workflow:update` required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @param formData @@ -211,7 +211,7 @@ export class WorkflowVersionService { * Delete icon of workflow version * Delete the icon of the workflow version. * - * Permission "workflow:update" required. + * Permission `workflow:update` required. * @param wid ID of a workflow * @param gitCommitHash Git commit git_commit_hash of specific version. * @returns void diff --git a/src/components/object-storage/BucketListItem.vue b/src/components/object-storage/BucketListItem.vue index 04f5f44..5e00b40 100644 --- a/src/components/object-storage/BucketListItem.vue +++ b/src/components/object-storage/BucketListItem.vue @@ -107,7 +107,7 @@ onMounted(() => { </span> <div class="text-nowrap"> <font-awesome-icon - :hidden="bucket.owner !== userRepository.currentUID" + :hidden="bucket.owner_id !== userRepository.currentUID" :id="'ownBucketIcon-' + randomIDSuffix" icon="fa-solid fa-user" :class="{ @@ -170,7 +170,7 @@ onMounted(() => { <tr v-if="permission"> <th scope="row" class="fw-bold">Owner:</th> <td class="text-truncate"> - {{ nameRepository.getName(bucket.owner) }} + {{ nameRepository.getName(bucket.owner_id) }} </td> </tr> <tr diff --git a/src/components/object-storage/modals/PermissionListModal.vue b/src/components/object-storage/modals/PermissionListModal.vue index 8d74a24..9876e0d 100644 --- a/src/components/object-storage/modals/PermissionListModal.vue +++ b/src/components/object-storage/modals/PermissionListModal.vue @@ -30,7 +30,6 @@ const state = reactive<{ bucket_name: "bucketname", uid: "uid", permission: "READ", - grantee_display_name: "display_name", from_timestamp: null, to_timestamp: null, file_prefix: null, diff --git a/src/components/resources/ResourceCard.vue b/src/components/resources/ResourceCard.vue index ad96e63..0eef724 100644 --- a/src/components/resources/ResourceCard.vue +++ b/src/components/resources/ResourceCard.vue @@ -26,6 +26,12 @@ const props = defineProps<{ let refreshTimeout: NodeJS.Timeout | undefined = undefined; const stateToUIMapping: Record<Status, string> = { + CLUSTER_DELETE_ERROR: "Error deleting on Cluster", + CLUSTER_DELETING: "Deleting on Cluster", + S3_DELETE_ERROR: "Error deleting in S3", + S3_DELETING: "Deleting in S3", + SETTING_LATEST: "Setting to Latest Version", + SYNC_ERROR: "Error Syncing to Cluster", CLUSTER_DELETED: "Deleted on Cluster", DENIED: "Rejected", RESOURCE_REQUESTED: "Resource created", diff --git a/src/components/workflows/WorkflowCard.vue b/src/components/workflows/WorkflowCard.vue index 96d5323..c0de6f6 100644 --- a/src/components/workflows/WorkflowCard.vue +++ b/src/components/workflows/WorkflowCard.vue @@ -40,7 +40,7 @@ onMounted(() => { name: 'workflow-version', params: { workflowId: workflow.workflow_id, - versionId: latestVersion?.git_commit_hash, + versionId: latestVersion?.workflow_version_id, }, query: { workflowModeId: latestVersion?.modes?.[0] ?? undefined, @@ -78,7 +78,7 @@ onMounted(() => { name: 'workflow-version', params: { workflowId: workflow.workflow_id, - versionId: latestVersion?.git_commit_hash, + versionId: latestVersion?.workflow_version_id, }, query: { workflowModeId: latestVersion?.modes?.[0] ?? undefined, diff --git a/src/components/workflows/WorkflowWithVersionsCard.vue b/src/components/workflows/WorkflowWithVersionsCard.vue index d27d855..defb55e 100644 --- a/src/components/workflows/WorkflowWithVersionsCard.vue +++ b/src/components/workflows/WorkflowWithVersionsCard.vue @@ -47,10 +47,10 @@ const executionsByVersion = computed< >(() => { const mapping: Record<string, AnonymizedWorkflowExecution[]> = {}; for (const version of props.workflow.versions) { - mapping[version.git_commit_hash] = []; + mapping[version.workflow_version_id] = []; } for (const execution of workflowExecutions.value) { - mapping[execution.git_commit_hash].push(execution); + mapping[execution.workflow_version_id].push(execution); } return mapping; }); @@ -193,7 +193,7 @@ onMounted(() => { <tbody class="table-group-divider"> <tr v-for="version in sortedVersions(props.workflow.versions)" - :key="version.git_commit_hash" + :key="version.workflow_version_id" > <th scope="row" class="fw-bold">{{ version.version }}</th> <td @@ -220,7 +220,7 @@ onMounted(() => { > {{ successfulExecutions( - executionsByVersion[version.git_commit_hash], + executionsByVersion[version.workflow_version_id], ) }} <font-awesome-icon icon="fa-solid fa-circle-check" /> @@ -232,14 +232,16 @@ onMounted(() => { > {{ unsuccessfulExecutions( - executionsByVersion[version.git_commit_hash], + executionsByVersion[version.workflow_version_id], ) }} <font-awesome-icon icon="fa-solid fa-x" /> </span> <span data-bs-toggle="tooltip" data-bs-title="Unique Users"> {{ - uniqueUsers(executionsByVersion[version.git_commit_hash]) + uniqueUsers( + executionsByVersion[version.workflow_version_id], + ) }} <font-awesome-icon icon="fa-solid fa-user" /> </span> @@ -270,7 +272,7 @@ onMounted(() => { name: 'workflow-version', params: { workflowId: props.workflow.workflow_id, - versionId: version.git_commit_hash, + versionId: version.workflow_version_id, }, query: { workflowModeId: version.modes?.[0] ?? undefined, diff --git a/src/components/workflows/modals/UpdateWorkflowCredentialsModal.vue b/src/components/workflows/modals/UpdateWorkflowCredentialsModal.vue index ea0a1d2..9444f93 100644 --- a/src/components/workflows/modals/UpdateWorkflowCredentialsModal.vue +++ b/src/components/workflows/modals/UpdateWorkflowCredentialsModal.vue @@ -69,7 +69,7 @@ function updateCredentials() { if (credentialsUpdateForm.value?.checkValidity()) { const repo = GitRepository.buildRepository( props.workflow.repository_url, - props.workflow.versions[0].git_commit_hash, + props.workflow.versions[0].workflow_version_id, credentials.token, ); repo.checkFileExist("main.nf").then((result: boolean) => { diff --git a/src/components/workflows/modals/UpdateWorkflowVersionIconModal.vue b/src/components/workflows/modals/UpdateWorkflowVersionIconModal.vue index b820af5..513c563 100644 --- a/src/components/workflows/modals/UpdateWorkflowVersionIconModal.vue +++ b/src/components/workflows/modals/UpdateWorkflowVersionIconModal.vue @@ -89,7 +89,7 @@ function updateIcon() { workflowRepository .updateVersionIcon( props.version.workflow_id, - props.version.git_commit_hash, + props.version.workflow_version_id, { icon: iconUpdate.icon, }, @@ -111,7 +111,10 @@ function updateIcon() { function deleteIcon() { formState.loading = true; workflowRepository - .deleteVersionIcon(props.version.workflow_id, props.version.git_commit_hash) + .deleteVersionIcon( + props.version.workflow_id, + props.version.workflow_version_id, + ) .then(() => { formState.uploadIcon = false; successToast?.show(); diff --git a/src/router/index.ts b/src/router/index.ts index 21ae88b..925aee9 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -24,6 +24,10 @@ const router = createRouter({ path: "/login", name: "login", component: LoginView, + props: (route) => ({ + returnPath: route.query.return_path ?? undefined, + loginError: route.query.login_error ?? undefined, + }), }, { path: "/", diff --git a/src/stores/buckets.ts b/src/stores/buckets.ts index 7bc17d5..9c9c92b 100644 --- a/src/stores/buckets.ts +++ b/src/stores/buckets.ts @@ -43,7 +43,7 @@ export const useBucketStore = defineStore({ ownBucketsAndFullPermissions(): string[] { const authStore = useAuthStore(); const names = this.buckets - .filter((bucket) => bucket.owner === authStore.currentUID) + .filter((bucket) => bucket.owner_id === authStore.currentUID) .map((bucket) => bucket.name) .concat( Object.values(this.ownPermissions) @@ -153,7 +153,7 @@ export const useBucketStore = defineStore({ const userRepository = useAuthStore(); userRepository.fetchUsernames( buckets - .map((bucket) => bucket.owner) + .map((bucket) => bucket.owner_id) .filter((owner) => owner != userRepository.currentUID), ); return buckets; diff --git a/src/stores/workflows.ts b/src/stores/workflows.ts index 8b1bd24..e93106a 100644 --- a/src/stores/workflows.ts +++ b/src/stores/workflows.ts @@ -54,7 +54,7 @@ export const useWorkflowStore = defineStore({ const mapping: Record<string, WorkflowVersion> = {}; for (const workflow of this.workflows) { for (const version of workflow.versions) { - mapping[version.git_commit_hash] = version; + mapping[version.workflow_version_id] = version; } } return mapping; @@ -77,7 +77,10 @@ export const useWorkflowStore = defineStore({ this.workflowMapping[workflow.workflow_id] = workflow; this.__addNameToMapping(workflow.workflow_id, workflow.name); for (const version of workflow.versions) { - this.__addNameToMapping(version.git_commit_hash, version.version); + this.__addNameToMapping( + version.workflow_version_id, + version.version, + ); } } this.fetchWorkflowModes( @@ -106,7 +109,10 @@ export const useWorkflowStore = defineStore({ this.comprehensiveWorkflowMapping[workflow.workflow_id] = workflow; this.__addNameToMapping(workflow.workflow_id, workflow.name); for (const version of workflow.versions) { - this.__addNameToMapping(version.git_commit_hash, version.version); + this.__addNameToMapping( + version.workflow_version_id, + version.version, + ); } } this.fetchWorkflowModes( @@ -129,7 +135,10 @@ export const useWorkflowStore = defineStore({ for (const workflow of workflows) { this.__addNameToMapping(workflow.workflow_id, workflow.name); for (const version of workflow.versions) { - this.__addNameToMapping(version.git_commit_hash, version.version); + this.__addNameToMapping( + version.workflow_version_id, + version.version, + ); } if ( this.comprehensiveWorkflowMapping[workflow.workflow_id] != @@ -143,8 +152,8 @@ export const useWorkflowStore = defineStore({ workflow.workflow_id ].versions.findIndex( (workflowVersion) => - workflowVersion.git_commit_hash === - version.git_commit_hash, + workflowVersion.workflow_version_id === + version.workflow_version_id, ) < 0 ) { this.comprehensiveWorkflowMapping[ @@ -182,7 +191,10 @@ export const useWorkflowStore = defineStore({ .then((workflow) => { this.__addNameToMapping(workflow.workflow_id, workflow.name); for (const version of workflow.versions) { - this.__addNameToMapping(version.git_commit_hash, version.version); + this.__addNameToMapping( + version.workflow_version_id, + version.version, + ); } if (comprehensive) { this.comprehensiveWorkflowMapping[workflow_id] = workflow; @@ -239,7 +251,7 @@ export const useWorkflowStore = defineStore({ const versionIndex1 = this.workflowMapping[ workflow_id ].versions.findIndex( - (version) => version.git_commit_hash == version_id, + (version) => version.workflow_version_id == version_id, ); if (versionIndex1 > -1) { this.workflowMapping[workflow_id].versions[versionIndex1] = version; @@ -255,7 +267,7 @@ export const useWorkflowStore = defineStore({ const versionIndex2 = this.comprehensiveWorkflowMapping[ workflow_id ].versions.findIndex( - (version) => version.git_commit_hash == version_id, + (version) => version.workflow_version_id == version_id, ); if (versionIndex2 > -1) { this.comprehensiveWorkflowMapping[workflow_id].versions[ @@ -277,7 +289,7 @@ export const useWorkflowStore = defineStore({ return WorkflowService.workflowUpdateWorkflow(workflow_id, version).then( (updatedVersion) => { this.__addNameToMapping( - updatedVersion.git_commit_hash, + updatedVersion.workflow_version_id, updatedVersion.version, ); if (this.comprehensiveWorkflowMapping[workflow_id] == undefined) { @@ -365,7 +377,7 @@ export const useWorkflowStore = defineStore({ const versionIndex1 = this.workflowMapping[ workflow_id ].versions.findIndex( - (version) => version.git_commit_hash == version_id, + (version) => version.workflow_version_id == version_id, ); if (versionIndex1 > -1) { this.workflowMapping[workflow_id].versions[versionIndex1].icon_url = @@ -380,7 +392,7 @@ export const useWorkflowStore = defineStore({ const versionIndex2 = this.comprehensiveWorkflowMapping[ workflow_id ].versions.findIndex( - (version) => version.git_commit_hash == version_id, + (version) => version.workflow_version_id == version_id, ); if (versionIndex2 > -1) { setTimeout(() => { @@ -405,7 +417,7 @@ export const useWorkflowStore = defineStore({ const versionIndex1 = this.workflowMapping[ workflow_id ].versions.findIndex( - (version) => version.git_commit_hash == version_id, + (version) => version.workflow_version_id == version_id, ); if (versionIndex1 > -1) { this.workflowMapping[workflow_id].versions[versionIndex1].icon_url = @@ -420,7 +432,7 @@ export const useWorkflowStore = defineStore({ const versionIndex2 = this.comprehensiveWorkflowMapping[ workflow_id ].versions.findIndex( - (version) => version.git_commit_hash == version_id, + (version) => version.workflow_version_id == version_id, ); if (versionIndex2 > -1) { this.comprehensiveWorkflowMapping[workflow_id].versions[ @@ -446,7 +458,7 @@ export const useWorkflowStore = defineStore({ const versionIndex = this.comprehensiveWorkflowMapping[ workflow_id ].versions.findIndex( - (version) => version.git_commit_hash == version_id, + (version) => version.workflow_version_id == version_id, ); if (versionIndex > -1) { this.comprehensiveWorkflowMapping[workflow_id].versions[ diff --git a/src/views/LoginView.vue b/src/views/LoginView.vue index ef5a66c..e60053b 100644 --- a/src/views/LoginView.vue +++ b/src/views/LoginView.vue @@ -1,13 +1,17 @@ <script setup lang="ts"> -import { onBeforeMount, onMounted } from "vue"; +import { onBeforeMount, onMounted, computed } from "vue"; import { useAuthStore } from "@/stores/users"; -import { useRouter, useRoute } from "vue-router"; +import { useRouter } from "vue-router"; import { OpenAPI as AuthOpenAPI } from "@/client/auth"; import { Toast } from "bootstrap"; import BootstrapToast from "@/components/BootstrapToast.vue"; const router = useRouter(); -const route = useRoute(); + +const props = defineProps<{ + returnPath?: string; + loginError?: string; +}>(); const store = useAuthStore(); @@ -20,10 +24,14 @@ onBeforeMount(() => { } }); +const returnPathQuery = computed<string>(() => + props.returnPath ? `&return_path=${encodeURI(props.returnPath)}` : "", +); + onMounted(() => { errorToast = new Toast("#loginErrorToast"); // if there is a query param 'login_error' show the error toast - if (route.query.login_error != null) { + if (props.loginError) { errorToast?.show(); } }); @@ -31,13 +39,13 @@ onMounted(() => { <template> <bootstrap-toast toast-id="loginErrorToast" color-class="danger"> - <template> Login Error </template> + <template> Login Error</template> <template #body> <p> There has been some kind of error during the login.<br /> Please try again later. </p> - <p>Error Code: {{ route.query.login_error }}</p> + <p>Error Code: {{ props.loginError }}</p> </template> </bootstrap-toast> <div class="position-fixed start-50 translate-middle-x text-center"> @@ -66,7 +74,10 @@ onMounted(() => { <p class="card-text text-secondary"> Login to this service with LifeScience </p> - <a :href="AuthOpenAPI.BASE + '/auth/login'" class="m-2"> + <a + :href="`${AuthOpenAPI.BASE}/auth/login?provider=lifescience${returnPathQuery}`" + class="m-2" + > <img src="/src/assets/images/ls-login.png" alt="[LS Login]" /> </a> </div> diff --git a/src/views/object-storage/BucketsView.vue b/src/views/object-storage/BucketsView.vue index ab979d2..b19d7d8 100644 --- a/src/views/object-storage/BucketsView.vue +++ b/src/views/object-storage/BucketsView.vue @@ -38,7 +38,7 @@ function fetchBuckets() { }) .then((buckets) => { buckets - .filter((bucket) => bucket.owner === authStore.currentUID) + .filter((bucket) => bucket.owner_id === authStore.currentUID) .map((bucket) => bucketRepository.fetchBucketPermissions(bucket.name)); }); } @@ -175,7 +175,7 @@ onMounted(() => { name: '', description: '', created_at: 0, - owner: '', + owner_id: '', size: 0, num_objects: 0, owner_constraint: null, diff --git a/src/views/object-storage/S3KeysView.vue b/src/views/object-storage/S3KeysView.vue index 1735cdb..8cd7900 100644 --- a/src/views/object-storage/S3KeysView.vue +++ b/src/views/object-storage/S3KeysView.vue @@ -144,7 +144,7 @@ onMounted(() => { v-if="keyRepository.keys.length > 0 || keyState.initialLoading" :s3key=" keyState.initialLoading - ? { user: '', access_key: '', secret_key: '' } + ? { uid: '', access_key: '', secret_key: '' } : keyRepository.keys[keyState.activeKey] ?? keyRepository.keys[0] " :deletable="allowKeyDeletion" diff --git a/src/views/workflows/MyWorkflowsView.vue b/src/views/workflows/MyWorkflowsView.vue index 2e1ecde..48d1c28 100644 --- a/src/views/workflows/MyWorkflowsView.vue +++ b/src/views/workflows/MyWorkflowsView.vue @@ -30,7 +30,7 @@ const workflowsState = reactive<{ { version: "1.0.0", created_at: 0, - git_commit_hash: "", + workflow_version_id: "", status: Status.CREATED, workflow_id: "", icon_url: "", @@ -45,7 +45,7 @@ const workflowsState = reactive<{ updateIconVersion: { version: "", workflow_id: "", - git_commit_hash: "", + workflow_version_id: "", modes: [], icon_url: null, created_at: 0, diff --git a/src/views/workflows/ReviewWorkflowsView.vue b/src/views/workflows/ReviewWorkflowsView.vue index 80baa8d..f3235e3 100644 --- a/src/views/workflows/ReviewWorkflowsView.vue +++ b/src/views/workflows/ReviewWorkflowsView.vue @@ -33,12 +33,18 @@ function updateWorkflowVersionStatus( }); } +function isDefined<T>(argument: T | undefined): argument is T { + return argument !== undefined; +} + onMounted(() => { workflowRepository .fetchReviewableWorkflows(() => { workflowsState.loading = false; }) - .then((workflows) => workflows.map((workflow) => workflow.developer_id)) + .then((workflows) => + workflows.map((workflow) => workflow.developer_id).filter(isDefined), + ) .then(userRepository.fetchUsernames); }); </script> @@ -96,7 +102,7 @@ onMounted(() => { <tbody class="text-center"> <tr v-for="version in sortedVersions(workflow.versions)" - :key="version.git_commit_hash" + :key="version.workflow_version_id" > <td class="text-end"> <img @@ -113,14 +119,14 @@ onMounted(() => { :href=" workflow.repository_url + '/tree/' + - version.git_commit_hash + version.workflow_version_id " target="_blank" > <font-awesome-icon :icon="determineGitIcon(workflow.repository_url)" /> - {{ version.git_commit_hash }} + {{ version.workflow_version_id }} </a> </td> <td>#Modes: {{ version.modes?.length ?? 0 }}</td> @@ -130,7 +136,7 @@ onMounted(() => { name: 'workflow-version', params: { workflowId: workflow.workflow_id, - versionId: version.git_commit_hash, + versionId: version.workflow_version_id, }, query: { developerView: 'true', @@ -145,7 +151,7 @@ onMounted(() => { <div v-if=" workflowsState.versionUpdateLoading === - version.git_commit_hash + version.workflow_version_id " class="spinner-border text-light spinner-border-sm" role="status" @@ -177,7 +183,7 @@ onMounted(() => { @click=" updateWorkflowVersionStatus( workflow.workflow_id, - version.git_commit_hash, + version.workflow_version_id, Status.PUBLISHED, ) " @@ -190,7 +196,7 @@ onMounted(() => { @click=" updateWorkflowVersionStatus( workflow.workflow_id, - version.git_commit_hash, + version.workflow_version_id, Status.DENIED, ) " diff --git a/src/views/workflows/StartWorkflowView.vue b/src/views/workflows/StartWorkflowView.vue index d215cda..df57bf8 100644 --- a/src/views/workflows/StartWorkflowView.vue +++ b/src/views/workflows/StartWorkflowView.vue @@ -82,7 +82,7 @@ function startWorkflow( debug_s3_path?.length ?? 0 > 0 ? debug_s3_path : undefined, provenance_s3_path: provenance_s3_path?.length ?? 0 > 0 ? provenance_s3_path : undefined, - mode: props.workflowModeId, + mode_id: props.workflowModeId, }) .then(() => { router.push({ diff --git a/src/views/workflows/WorkflowView.vue b/src/views/workflows/WorkflowView.vue index 08b1395..fe4a14c 100644 --- a/src/views/workflows/WorkflowView.vue +++ b/src/views/workflows/WorkflowView.vue @@ -140,7 +140,7 @@ const latestVersion = computed<WorkflowVersion | undefined>(() => const activeVersion = computed<WorkflowVersion | undefined>( () => workflow.value?.versions.find( - (w) => w.git_commit_hash === workflowState.activeVersionId, + (w) => w.workflow_version_id === workflowState.activeVersionId, ), ); @@ -190,7 +190,7 @@ function updateWorkflow(workflowId: string) { .then((workflow) => { if (!workflowState.initialOpen || !route.params.versionId) { workflowState.activeVersionId = - workflow.versions[workflow.versions.length - 1].git_commit_hash; + workflow.versions[workflow.versions.length - 1].workflow_version_id; } else { workflowState.activeVersionId = route.params.versionId as string; } @@ -287,7 +287,7 @@ onMounted(() => { :to="{ name: 'workflow-version', params: { - versionId: latestVersion.git_commit_hash, + versionId: latestVersion.workflow_version_id, }, query: { tab: route.query.tab }, }" @@ -339,8 +339,8 @@ onMounted(() => { > <option v-for="version in sortedVersions(workflow.versions)" - :key="version.git_commit_hash" - :value="version.git_commit_hash" + :key="version.workflow_version_id" + :value="version.workflow_version_id" > {{ version.version }} </option> -- GitLab