From 1859c34b30bc2d8dc14aad94b9a7b12c112b7e16 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Tue, 16 May 2023 07:40:49 +0000 Subject: [PATCH 001/221] v11.8.4 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 747924dbe..11f8f165f 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Add device type yocto properties to typings + hash: ea501686fb9447353f1f4e0a00b16c68c25e7422 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: 11.8.4 + title: "" + date: 2023-05-16T07:40:46.183Z - commits: - subject: Add partial index to optimize the unique release_version rule hash: bb78ee588d5d899607ee5ea7e3e3ab00942127ec diff --git a/CHANGELOG.md b/CHANGELOG.md index c14c163f0..3fcb05e36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 11.8.4 - 2023-05-16 + +* Add device type yocto properties to typings [Otávio Jacobi] + ## 11.8.3 - 2023-05-12 * Add partial index to optimize the unique release_version rule [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index d508dcfb3..845780e32 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "11.8.3", + "version": "11.8.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "11.8.3", + "version": "11.8.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^8.4.1", diff --git a/package.json b/package.json index 141b85bc4..cffa5281a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "11.8.3", + "version": "11.8.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-12T13:03:23.670Z" + "publishedAt": "2023-05-16T07:40:47.431Z" } } From d4a862f34361629611dbe70a1b0c0dd46585cec1 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Wed, 10 May 2023 16:42:31 +0300 Subject: [PATCH 002/221] Optimize the unique release_version rule Enables row narrowing when the rule is triggered by application changes, but more importantly allows bC to rewrite the rule using a GROUP BY. Also reduces slightly the full rule runtime from ~200ms to ~180ms. Change-type: patch See: https://explain.dalibo.com/plan/978hb14b2dd56ccb See: https://explain.dalibo.com/plan/6f1hd8f4ee0ada6d --- src/balena.sbvr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/balena.sbvr b/src/balena.sbvr index d95b045ed..e1b1e1eab 100644 --- a/src/balena.sbvr +++ b/src/balena.sbvr @@ -846,7 +846,7 @@ Fact Type: scheduled job run has status -- Rules -Rule: It is necessary that each release that has a release version1 and has a status that is equal to "success" and is not invalidated, belongs to an application that owns exactly one release that has a release version2 that is equal to the release version1 and has a status that is equal to "success" and is not invalidated. +Rule: It is necessary that each application that owns a release1 that has a status that is equal to "success" and is not invalidated and has a release version, owns at most one release2 that has a status that is equal to "success" and is not invalidated and has a release version that is of the release1. Rule: It is necessary that each image that has a status that is equal to "success", has a push timestamp. Rule: It is necessary that each application that owns a release1 that has a status that is equal to "success" and has a commit1, owns at most one release2 that has a status that is equal to "success" and has a commit2 that is equal to the commit1. Rule: It is necessary that each application that owns a release1 that has a revision, owns at most one release2 that has a semver major that is of the release1 and has a semver minor that is of the release1 and has a semver patch that is of the release1 and has a semver prerelease that is of the release1 and has a variant that is of the release1 and has a revision that is of the release1. From 2ae7d2fea8a672c8d890940825ba9a38737e4cf4 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 17 May 2023 08:37:40 +0000 Subject: [PATCH 003/221] v11.8.5 --- .versionbot/CHANGELOG.yml | 20 ++++++++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 11f8f165f..1caae56e3 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,23 @@ +- commits: + - subject: Optimize the unique release_version rule + hash: e70930dbb2146c9f50ca635f38a7223e0b042fe9 + body: | + Enables row narrowing when the rule is + triggered by application changes, but more + importantly allows bC to rewrite the rule using + a GROUP BY. + Also reduces slightly the full rule runtime from + ~200ms to ~180ms. + footer: + Change-type: patch + change-type: patch + See: https://explain.dalibo.com/plan/6f1hd8f4ee0ada6d + see: https://explain.dalibo.com/plan/6f1hd8f4ee0ada6d + author: Thodoris Greasidis + nested: [] + version: 11.8.5 + title: "" + date: 2023-05-17T08:37:37.697Z - commits: - subject: Add device type yocto properties to typings hash: ea501686fb9447353f1f4e0a00b16c68c25e7422 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fcb05e36..9b2ded996 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 11.8.5 - 2023-05-17 + +* Optimize the unique release_version rule [Thodoris Greasidis] + ## 11.8.4 - 2023-05-16 * Add device type yocto properties to typings [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index 845780e32..7e6ddaeb3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "11.8.4", + "version": "11.8.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "11.8.4", + "version": "11.8.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^8.4.1", diff --git a/package.json b/package.json index cffa5281a..31d92c30b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "11.8.4", + "version": "11.8.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-16T07:40:47.431Z" + "publishedAt": "2023-05-17T08:37:38.690Z" } } From dbff0855f8dd73861ab5c1a4b70671c9478b4875 Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Tue, 20 Dec 2022 17:25:46 +0000 Subject: [PATCH 004/221] Update to pinejs 15 Update @balena/abstract-sql-compiler from 8.4.1 to 9.0.2 Update @balena/pinejs from 14.62.9 to 15.0.0 Change-type: major --- package-lock.json | 480 +++++++++++++++++++++------ package.json | 4 +- src/balena-init.sql | 2 +- src/balena-model.ts | 8 +- src/features/api-keys/lib.ts | 2 +- src/features/cascade-delete/hooks.ts | 4 +- src/features/registry/middleware.ts | 5 +- src/infra/auth/api-keys.ts | 18 +- src/infra/auth/auth.ts | 5 +- src/infra/auth/jwt-passport.ts | 2 +- src/infra/auth/permissions.ts | 2 +- src/migrations/00082-pinejs-15.sql | 69 ++++ test/04_session.ts | 4 +- 13 files changed, 474 insertions(+), 131 deletions(-) create mode 100644 src/migrations/00082-pinejs-15.sql diff --git a/package-lock.json b/package-lock.json index 7e6ddaeb3..33775111c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "11.8.5", "license": "AGPL-3.0", "dependencies": { - "@balena/abstract-sql-compiler": "^8.4.1", + "@balena/abstract-sql-compiler": "^9.0.2", "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^14.62.9", + "@balena/pinejs": "^15.0.0", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", @@ -253,9 +253,9 @@ } }, "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -286,9 +286,9 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -312,29 +312,76 @@ } }, "node_modules/@balena/abstract-sql-compiler": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.4.1.tgz", - "integrity": "sha512-J/UHPDcO6zFt0al63wmJNakBSxSSISFkeIRjAcC/3xwNtPBOuoh+UMMldEqzw07BRR9LSTv8eoXGvRF2WF6klQ==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-9.0.2.tgz", + "integrity": "sha512-tyA6eBYwKg7IrSoWgDLdJgyym8VkJoQTyOaDKRzsSiRba/jFLhtnKKJgDfL/9eONzPd32bf6zYqlJ8TavjplTA==", "dependencies": { - "@balena/sbvr-types": "^3.5.0", + "@balena/sbvr-types": "^5.0.0", "lodash": "^4.17.21" + }, + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" } }, "node_modules/@balena/abstract-sql-to-typescript": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-1.5.0.tgz", - "integrity": "sha512-FnrX2bIPZ8WzfvwW88e8W2MIob+L0HcB8LnjPsgj0nN/W4tgxJSIVsEaXbG9L0bCdoVsiPCmvGDwOmyhj3eY5Q==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.0.0.tgz", + "integrity": "sha512-w5Pe/ffDuljomB2Z60+6eJnyT74loqg5xaK4Vam47Riwg+7N9GakJiCzW7CpJV3RLTb4tR01ygYHJU4H2vPDfg==", "dependencies": { - "@balena/abstract-sql-compiler": "^8.0.0", - "@balena/odata-to-abstract-sql": "^5.9.1", - "@types/node": "^12.20.55", + "@balena/abstract-sql-compiler": "^9.0.0", + "@balena/odata-to-abstract-sql": "^5.9.6", + "@types/node": "^16.18.25", "common-tags": "^1.8.2" + }, + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + } + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-parser": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-2.5.0.tgz", + "integrity": "sha512-SoBiJ2f+Xcu25lLKUki6Z3zYFeE6c2jys9YRcsFx1rHc/B+CS28LkkUKo/M5shn1Ccej273pRmmSyV6/k/pBTw==" + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-to-abstract-sql": { + "version": "5.9.6", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-5.9.6.tgz", + "integrity": "sha512-oRiVU/EtzHK/jjiQrc7FsRtEgwypPQUeQwp/wznyMmRIpfcmGFxMKJSGpN+VVzBBFHrwgFFfBlw/ymK8CtkpMg==", + "dependencies": { + "@balena/abstract-sql-compiler": "^8.4.1", + "@balena/odata-parser": "^2.4.6", + "@types/lodash": "^4.14.194", + "@types/memoizee": "^0.4.8", + "@types/string-hash": "^1.1.1", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "string-hash": "^1.1.3" + } + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/abstract-sql-compiler": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.5.0.tgz", + "integrity": "sha512-LSomZ6hf86nnHQLi1JSasz0vL9O82Z9PwbYjNMcQdeFLv9k8BgWKcKIpzPBLNX9j4xh09Yp5irNd+0larZFchg==", + "dependencies": { + "@balena/sbvr-types": "^3.5.0", + "lodash": "^4.17.21" + } + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/sbvr-types": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", + "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", + "optionalDependencies": { + "bcrypt": "^5.1.0", + "bcryptjs": "^2.4.3", + "sha.js": "^2.4.11" } }, "node_modules/@balena/abstract-sql-to-typescript/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==" + "version": "16.18.31", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.31.tgz", + "integrity": "sha512-KPXltf4z4g517OlVJO9XQ2357CYw7fvuJ3ZuBynjXC5Jos9i+K7LvFb7bUIwtJXSZj0vTp9Q6NJBSQpkwwO8Zw==" }, "node_modules/@balena/env-parsing": { "version": "1.1.5", @@ -404,57 +451,84 @@ } }, "node_modules/@balena/odata-parser": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-2.4.6.tgz", - "integrity": "sha512-0OZoVLLek6xAQFgPENDy27pJVPq4He/vKpsZ2sUK6rEevPWUJtjksJU3F9LBvD9feezAS2rjdSD2/mm3y6utdg==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-3.0.0.tgz", + "integrity": "sha512-2+iKtAqWxnEiQByC4dcMoUhSBLAKyd+uOfpZ3K28NTtdiIUayasG/Y+kDjJRtnSfPm1vbu4rrM1t2dBj0gIG0w==", + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + } }, "node_modules/@balena/odata-to-abstract-sql": { - "version": "5.9.2", - "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-5.9.2.tgz", - "integrity": "sha512-fqCP9R/FCgvH61eSpqnbdghbkz+QFgeWJmDWR1AL+QXCUAjXWmKqTZYtW7BOx2707HwZ52o0eIEv+tiK5Q9cAA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.0.1.tgz", + "integrity": "sha512-S5dXiJFmOhsrZEKdd1WDwE2wBG3t8sj6jRGLQ7/dtjgB3WxE6u7KS9hnQD+FqAFrvOEBFeH3czMUohulYDJy2g==", "dependencies": { - "@balena/abstract-sql-compiler": "^8.0.0", - "@balena/odata-parser": "^2.4.2", - "@types/lodash": "^4.14.189", + "@balena/abstract-sql-compiler": "^8.4.1", + "@balena/odata-parser": "^3.0.0", + "@types/lodash": "^4.14.194", "@types/memoizee": "^0.4.8", "@types/string-hash": "^1.1.1", "lodash": "^4.17.21", "memoizee": "^0.4.15", "string-hash": "^1.1.3" + }, + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + } + }, + "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/abstract-sql-compiler": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.5.0.tgz", + "integrity": "sha512-LSomZ6hf86nnHQLi1JSasz0vL9O82Z9PwbYjNMcQdeFLv9k8BgWKcKIpzPBLNX9j4xh09Yp5irNd+0larZFchg==", + "dependencies": { + "@balena/sbvr-types": "^3.5.0", + "lodash": "^4.17.21" + } + }, + "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/sbvr-types": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", + "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", + "optionalDependencies": { + "bcrypt": "^5.1.0", + "bcryptjs": "^2.4.3", + "sha.js": "^2.4.11" } }, "node_modules/@balena/pinejs": { - "version": "14.62.9", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-14.62.9.tgz", - "integrity": "sha512-lG52z9hhL6j5/luSNaJRnGsNReypImOJB6zOKCr92Jn5f4MC1sklJhojTNtK8cxgUqt+XuXdvCPHgODj1QOlQw==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.0.0.tgz", + "integrity": "sha512-ULGSVXWnehrZFXISTN35MMyJ/+dqdbDx+An/IGcBdZbx6Rr7L29gsDgjQ2SHVdVeRxzIYbvMD3zR7tZoLYgoBw==", "dependencies": { - "@balena/abstract-sql-compiler": "^8.0.0", - "@balena/abstract-sql-to-typescript": "^1.4.2", + "@balena/abstract-sql-compiler": "^9.0.2", + "@balena/abstract-sql-to-typescript": "^2.0.0", "@balena/env-parsing": "^1.1.5", "@balena/lf-to-abstract-sql": "^5.0.0", - "@balena/odata-parser": "^2.4.6", - "@balena/odata-to-abstract-sql": "^5.9.2", + "@balena/odata-parser": "^3.0.0", + "@balena/odata-to-abstract-sql": "^6.0.1", "@balena/sbvr-parser": "^1.4.3", - "@balena/sbvr-types": "^3.4.18", + "@balena/sbvr-types": "^5.0.0", "@types/body-parser": "^1.19.2", "@types/compression": "^1.7.2", "@types/cookie-parser": "^1.4.3", "@types/deep-freeze": "^0.1.2", "@types/express": "^4.17.17", - "@types/express-session": "^1.17.6", - "@types/lodash": "^4.14.191", + "@types/express-session": "^1.17.7", + "@types/lodash": "^4.14.194", "@types/memoizee": "^0.4.8", "@types/method-override": "^0.0.32", "@types/multer": "^1.4.7", "@types/mysql": "^2.15.21", - "@types/node": "^18.14.1", + "@types/node": "^18.16.1", "@types/passport": "^1.0.12", "@types/passport-local": "^1.0.35", "@types/passport-strategy": "^0.2.35", "@types/pg": "^8.6.6", "@types/randomstring": "^1.1.8", "@types/websql": "^0.0.27", - "commander": "^10.0.0", + "commander": "^10.0.1", "deep-freeze": "^0.0.1", "eventemitter3": "^5.0.0", "express-session": "^1.17.3", @@ -462,7 +536,7 @@ "memoizee": "^0.4.15", "pinejs-client-core": "^6.12.3", "randomstring": "^1.2.3", - "typed-error": "^3.2.1" + "typed-error": "^3.2.2" }, "bin": { "abstract-sql-compiler": "bin/abstract-sql-compiler.js", @@ -470,8 +544,8 @@ "sbvr-compiler": "bin/sbvr-compiler.js" }, "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" + "node": ">=16.13.0", + "npm": ">=8.0.0" }, "optionalDependencies": { "bcrypt": "^5.1.0", @@ -484,7 +558,7 @@ "mysql": "^2.18.1", "passport": "^0.6.0", "passport-local": "^1.0.0", - "pg": "^8.9.0", + "pg": "^8.10.0", "pg-connection-string": "^2.5.0", "serve-static": "^1.15.0" } @@ -499,9 +573,13 @@ } }, "node_modules/@balena/sbvr-types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", - "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-5.0.0.tgz", + "integrity": "sha512-nJ8SC6b5ciK8jshH85BHvAMcp5YGC8RoPYkMbiDcepIlRC7f+orAzcGGjubZga2S6WY5Mrrzr+Ls5Lpjll7yIw==", + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + }, "optionalDependencies": { "bcrypt": "^5.1.0", "bcryptjs": "^2.4.3", @@ -569,6 +647,79 @@ "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", @@ -1067,9 +1218,9 @@ } }, "node_modules/@types/express-session": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.6.tgz", - "integrity": "sha512-L6sB04HVA4HEZo1hDL65JXdZdBJtzZnCiw/P7MnO4w6746tJCNtXlHtzEASyI9ccn9zyOw6IbqQuhVa03VpO4w==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.7.tgz", + "integrity": "sha512-L25080PBYoRLu472HY/HNCxaXY8AaGgqGC8/p/8+BYMhG0RDOLQ1wpXOpAzr4Gi5TGozTKyJv5BVODM5UNyVMw==", "dependencies": { "@types/express": "*" } @@ -1200,9 +1351,9 @@ } }, "node_modules/@types/node": { - "version": "18.16.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.1.tgz", - "integrity": "sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==" + "version": "18.16.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.13.tgz", + "integrity": "sha512-uZRomboV1vBL61EBXneL4j9/hEn+1Yqa4LQdpGrKmXFyJmVfWc9JV9+yb2AlnOnuaDnb2PDO3hC6/LKmzJxP1A==" }, "node_modules/@types/node-schedule": { "version": "2.1.0", @@ -3627,9 +3778,9 @@ } }, "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz", - "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", + "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", "dev": true, "engines": { "node": ">=14" @@ -3718,20 +3869,6 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "devOptional": true }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4420,12 +4557,12 @@ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "node_modules/jackspeak": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.1.0.tgz", - "integrity": "sha512-DiEwVPqsieUzZBNxQ2cxznmFzfg/AMgJUjYw5xl6rSmCxAQXECcbSdwcLM6Ds6T09+SBfSNCGPhYUoQ96P4h7A==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz", + "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==", "dev": true, "dependencies": { - "cliui": "^7.0.4" + "@isaacs/cliui": "^8.0.2" }, "engines": { "node": ">=14" @@ -6391,13 +6528,13 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.7.0.tgz", - "integrity": "sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==", + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", + "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", "dev": true, "dependencies": { - "lru-cache": "^9.0.0", - "minipass": "^5.0.0" + "lru-cache": "^9.1.1", + "minipass": "^5.0.0 || ^6.0.2" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -6416,12 +6553,12 @@ } }, "node_modules/path-scurry/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/path-to-regexp": { @@ -6458,15 +6595,15 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/pg": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.9.0.tgz", - "integrity": "sha512-ZJM+qkEbtOHRuXjmvBtOgNOXOtLSbxiMiUVMgE4rV6Zwocy03RicCVvDXgx8l4Biwo8/qORUnEqn2fdQzV7KCg==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.10.0.tgz", + "integrity": "sha512-ke7o7qSTMb47iwzOSaZMfeR7xToFdkE71ifIipOAAaLIM0DYzfOAXlgFFmYUIE2BcJtvnVlGCID84ZzCegE8CQ==", "optional": true, "dependencies": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", "pg-connection-string": "^2.5.0", - "pg-pool": "^3.5.2", + "pg-pool": "^3.6.0", "pg-protocol": "^1.6.0", "pg-types": "^2.1.0", "pgpass": "1.x" @@ -6498,9 +6635,9 @@ } }, "node_modules/pg-pool": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.2.tgz", - "integrity": "sha512-His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.0.tgz", + "integrity": "sha512-clFRf2ksqd+F497kWFyM21tMjeikn60oGDmqMT8UBrynEwVEX/5R5xd2sdvdo1cZCFlguORNpVuqxIj+aK4cfQ==", "optional": true, "peerDependencies": { "pg": ">=8.0" @@ -7260,12 +7397,12 @@ } }, "node_modules/rimraf": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.0.tgz", - "integrity": "sha512-Jf9llaP+RvaEVS5nPShYFhtXIrb3LRKP281ib3So0KkeZKo2wIKyq0Re7TOSwanasA423PSr6CCIL4bP6T040g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", + "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", "dev": true, "dependencies": { - "glob": "^10.0.0" + "glob": "^10.2.5" }, "bin": { "rimraf": "dist/cjs/src/bin.js" @@ -7287,15 +7424,15 @@ } }, "node_modules/rimraf/node_modules/glob": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.2.tgz", - "integrity": "sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.5.tgz", + "integrity": "sha512-Gj+dFYPZ5hc5dazjXzB0iHg2jKWJZYMjITXYPBRQ/xc2Buw7H0BINknRTwURJ6IC6MEFpYbLvtgVb3qD+DwyuA==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", "minimatch": "^9.0.0", - "minipass": "^5.0.0", + "minipass": "^5.0.0 || ^6.0.2", "path-scurry": "^1.7.0" }, "bin": { @@ -7324,12 +7461,12 @@ } }, "node_modules/rimraf/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", + "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", "dev": true, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" } }, "node_modules/rsmq": { @@ -7376,9 +7513,9 @@ } }, "node_modules/rxjs/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==", "dev": true }, "node_modules/safe-buffer": { @@ -7427,9 +7564,9 @@ } }, "node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -7897,6 +8034,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", @@ -7935,6 +8102,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", @@ -8753,6 +8933,86 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", diff --git a/package.json b/package.json index 31d92c30b..3a5de85a3 100644 --- a/package.json +++ b/package.json @@ -33,11 +33,11 @@ "prepare": "node -e \"try { require('husky').install() } catch (e) {if (e.code !== 'MODULE_NOT_FOUND') throw e}\"" }, "dependencies": { - "@balena/abstract-sql-compiler": "^8.4.1", + "@balena/abstract-sql-compiler": "^9.0.2", "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^14.62.9", + "@balena/pinejs": "^15.0.0", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", diff --git a/src/balena-init.sql b/src/balena-init.sql index d0224c4bc..9a1b34258 100644 --- a/src/balena-init.sql +++ b/src/balena-init.sql @@ -16,7 +16,7 @@ ALTER TABLE "device" ALTER COLUMN "api heartbeat state" SET DEFAULT 'unknown'; ALTER TABLE "release" -ALTER COLUMN "is passing tests" SET DEFAULT 1, +ALTER COLUMN "is passing tests" SET DEFAULT TRUE, ALTER COLUMN "semver major" SET DEFAULT 0, ALTER COLUMN "semver minor" SET DEFAULT 0, ALTER COLUMN "semver patch" SET DEFAULT 0, diff --git a/src/balena-model.ts b/src/balena-model.ts index 3d3c316c5..f9ee5c9c7 100644 --- a/src/balena-model.ts +++ b/src/balena-model.ts @@ -58,7 +58,7 @@ export interface User { created_at: DateString; modified_at: DateString; id: number; - actor: number; + actor: { __id: number } | [Actor]; username: string; password: string | null; jwt_secret: string | null; @@ -257,7 +257,7 @@ export interface Application { created_at: DateString; modified_at: DateString; id: number; - actor: number; + actor: { __id: number } | [Actor]; should_track_latest_release: boolean; is_of__class: 'fleet' | 'block' | 'app'; organization: { __id: number } | [Organization]; @@ -348,7 +348,7 @@ export interface Device { created_at: DateString; modified_at: DateString; id: number; - actor: number; + actor: { __id: number } | [Actor]; api_heartbeat_state: 'online' | 'offline' | 'timeout' | 'unknown'; uuid: string; local_id: string | null; @@ -578,7 +578,7 @@ export interface MyApplication { created_at: DateString; modified_at: DateString; id: number; - actor: number; + actor: { __id: number } | [Actor]; should_track_latest_release: boolean; is_of__class: 'fleet' | 'block' | 'app'; organization: { __id: number } | [Organization]; diff --git a/src/features/api-keys/lib.ts b/src/features/api-keys/lib.ts index c90c710bf..d9bb3c9cd 100644 --- a/src/features/api-keys/lib.ts +++ b/src/features/api-keys/lib.ts @@ -43,7 +43,7 @@ const $createApiKey = async ( } | undefined; - const actorID = actorable?.actor; + const actorID = actorable?.actor.__id; if (actorID == null) { throw new Error(`No ${actorType} found to associate with the api key`); } diff --git a/src/features/cascade-delete/hooks.ts b/src/features/cascade-delete/hooks.ts index 494422e59..69f4764cf 100644 --- a/src/features/cascade-delete/hooks.ts +++ b/src/features/cascade-delete/hooks.ts @@ -128,13 +128,13 @@ hooks.addPureHook('DELETE', 'resin', 'user', { if (user == null) { throw new errors.BadRequestError('Invalid user'); } - request.custom.actorId = user.actor; + request.custom.actorId = user.actor.__id; try { await authApiTx.delete({ resource: 'api_key', options: { $filter: { - is_of__actor: user.actor, + is_of__actor: user.actor.__id, }, }, }); diff --git a/src/features/registry/middleware.ts b/src/features/registry/middleware.ts index cdd4fe6ed..d85506dbe 100644 --- a/src/features/registry/middleware.ts +++ b/src/features/registry/middleware.ts @@ -23,6 +23,10 @@ export const basicApiKeyAuthenticate: RequestHandler = async ( req.params.subject = creds.name; req.params.apikey = creds.pass; } + if (req.params.apikey === TOKEN_AUTH_BUILDER_TOKEN) { + next(); + return; + } try { await retrieveAPIKey(req, undefined); @@ -40,7 +44,6 @@ export const basicApiKeyAuthenticate: RequestHandler = async ( if ( (req.apiKey?.permissions == null || req.apiKey.permissions.length === 0) && - req.apiKey?.key !== TOKEN_AUTH_BUILDER_TOKEN && req.user == null ) { if ( diff --git a/src/infra/auth/api-keys.ts b/src/infra/auth/api-keys.ts index 19e305297..ec55ead4e 100644 --- a/src/infra/auth/api-keys.ts +++ b/src/infra/auth/api-keys.ts @@ -11,9 +11,13 @@ const getAPIKey = async ( req: hooks.HookReq | Request, tx: Tx | undefined, ): Promise => { - const apiKey = await permissions.resolveApiKey(req, 'apikey', tx); - if (apiKey != null) { - return apiKey; + try { + const apiKey = await permissions.resolveApiKey(req, 'apikey', tx); + if (apiKey != null) { + return apiKey; + } + } catch { + // ignore } // Skip for Pine's request objects that don't support headers @@ -24,8 +28,12 @@ const getAPIKey = async ( // While this could be omitted, Pine will go to the DB in vain if not handled const token = (req.get('Authorization') || '').split(' ', 2)[1]; if (token && !isJWT(token)) { - // Add support for API keys on Authorization header if a JWT wasn't provided - return await permissions.resolveAuthHeader(req, 'Bearer', tx); + try { + // Add support for API keys on Authorization header if a JWT wasn't provided + return await permissions.resolveAuthHeader(req, 'Bearer', tx); + } catch { + // ignore + } } }; diff --git a/src/infra/auth/auth.ts b/src/infra/auth/auth.ts index 8815abf1e..747e15f97 100644 --- a/src/infra/auth/auth.ts +++ b/src/infra/auth/auth.ts @@ -229,7 +229,10 @@ export async function getUser( const [user] = await getUserQuery()({ key }, undefined, { tx }); if (user) { // Store it in `req` to be compatible with JWTs and for caching - req.user = req.creds = _.pick(user, userFields); + req.user = req.creds = { + ..._.pick(user, userFields), + actor: user.actor.__id, + }; } else if (required) { throw new UnauthorizedError('User not found for API key'); } diff --git a/src/infra/auth/jwt-passport.ts b/src/infra/auth/jwt-passport.ts index 9c3f89b25..149b31006 100644 --- a/src/infra/auth/jwt-passport.ts +++ b/src/infra/auth/jwt-passport.ts @@ -90,7 +90,7 @@ export const createStrategy = ( throw new InvalidJwtSecretError(); } - jwtUser.actor = user.actor; + jwtUser.actor = user.actor.__id; const userPermissions = await permissions.getUserPermissions( jwtUser.id, ); diff --git a/src/infra/auth/permissions.ts b/src/infra/auth/permissions.ts index b9e74cc88..07b0ab575 100644 --- a/src/infra/auth/permissions.ts +++ b/src/infra/auth/permissions.ts @@ -19,7 +19,7 @@ export const getGuestActorId = memoize( if (guest?.actor == null) { throw new Error('Cannot find guest user'); } - return guest?.actor; + return guest.actor.__id; }, { promise: true, diff --git a/src/migrations/00082-pinejs-15.sql b/src/migrations/00082-pinejs-15.sql new file mode 100644 index 000000000..1a6ea8d69 --- /dev/null +++ b/src/migrations/00082-pinejs-15.sql @@ -0,0 +1,69 @@ +-- Boolean type conversions + +ALTER TABLE "application type" +ALTER COLUMN "supports web url" DROP DEFAULT, +ALTER COLUMN "supports multicontainer" DROP DEFAULT, +ALTER COLUMN "supports gateway mode" DROP DEFAULT, +ALTER COLUMN "requires payment" DROP DEFAULT, +ALTER COLUMN "is legacy" DROP DEFAULT, +ALTER COLUMN "supports web url" SET DATA TYPE BOOLEAN USING "supports web url"::BOOLEAN, +ALTER COLUMN "supports multicontainer" SET DATA TYPE BOOLEAN USING "supports multicontainer"::BOOLEAN, +ALTER COLUMN "supports gateway mode" SET DATA TYPE BOOLEAN USING "supports gateway mode"::BOOLEAN, +ALTER COLUMN "requires payment" SET DATA TYPE BOOLEAN USING "requires payment"::BOOLEAN, +ALTER COLUMN "is legacy" SET DATA TYPE BOOLEAN USING "is legacy"::BOOLEAN, +ALTER COLUMN "supports web url" SET DEFAULT FALSE, +ALTER COLUMN "supports multicontainer" SET DEFAULT FALSE, +ALTER COLUMN "supports gateway mode" SET DEFAULT FALSE, +ALTER COLUMN "requires payment" SET DEFAULT FALSE, +ALTER COLUMN "is legacy" SET DEFAULT FALSE; + +ALTER TABLE "application" +ALTER COLUMN "should track latest release" DROP DEFAULT, +ALTER COLUMN "is host" DROP DEFAULT, +ALTER COLUMN "is archived" DROP DEFAULT, +ALTER COLUMN "is public" DROP DEFAULT, +ALTER COLUMN "should track latest release" SET DATA TYPE BOOLEAN USING "should track latest release"::BOOLEAN, +ALTER COLUMN "is host" SET DATA TYPE BOOLEAN USING "is host"::BOOLEAN, +ALTER COLUMN "is archived" SET DATA TYPE BOOLEAN USING "is archived"::BOOLEAN, +ALTER COLUMN "is public" SET DATA TYPE BOOLEAN USING "is public"::BOOLEAN, +ALTER COLUMN "should track latest release" SET DEFAULT FALSE, +ALTER COLUMN "is host" SET DEFAULT FALSE, +ALTER COLUMN "is archived" SET DEFAULT FALSE, +ALTER COLUMN "is public" SET DEFAULT FALSE; + +ALTER TABLE "device" +ALTER COLUMN "is online" DROP DEFAULT, +ALTER COLUMN "is connected to vpn" DROP DEFAULT, +ALTER COLUMN "is undervolted" DROP DEFAULT, +ALTER COLUMN "is online" SET DATA TYPE BOOLEAN USING "is online"::BOOLEAN, +ALTER COLUMN "is connected to vpn" SET DATA TYPE BOOLEAN USING "is connected to vpn"::BOOLEAN, +ALTER COLUMN "is undervolted" SET DATA TYPE BOOLEAN USING "is undervolted"::BOOLEAN, +ALTER COLUMN "is online" SET DEFAULT FALSE, +ALTER COLUMN "is connected to vpn" SET DEFAULT FALSE, +ALTER COLUMN "is undervolted" SET DEFAULT FALSE; + +ALTER TABLE "release" +DROP CONSTRAINT IF EXISTS "release$4VHBqaOH1cZHOsRGD2NvfC+SbBdzlb1ZY/X5Nf4LYrk=", +ALTER COLUMN "is invalidated" DROP DEFAULT, +ALTER COLUMN "is passing tests" DROP DEFAULT, +ALTER COLUMN "is invalidated" SET DATA TYPE BOOLEAN USING "is invalidated"::BOOLEAN, +ALTER COLUMN "is passing tests" SET DATA TYPE BOOLEAN USING "is passing tests"::BOOLEAN, +ALTER COLUMN "is invalidated" SET DEFAULT FALSE, +ALTER COLUMN "is passing tests" SET DEFAULT TRUE, +ADD CONSTRAINT "release$4VHBqaOH1cZHOsRGD2NvfC+SbBdzlb1ZY/X5Nf4LYrk=" CHECK (NOT ( + "invalidation reason" IS NOT NULL + AND "is invalidated" != TRUE +)); + + +-- JSON type conversions + +ALTER TABLE "device type" +ALTER COLUMN "contract" SET DATA TYPE JSONB USING "contract"::JSONB; + +ALTER TABLE "image" +ALTER COLUMN "contract" SET DATA TYPE JSONB USING "contract"::JSONB; + +ALTER TABLE "release" +ALTER COLUMN "composition" SET DATA TYPE JSONB USING "composition"::JSONB, +ALTER COLUMN "contract" SET DATA TYPE JSONB USING "contract"::JSONB; diff --git a/test/04_session.ts b/test/04_session.ts index 0379a3c7e..31e318c44 100644 --- a/test/04_session.ts +++ b/test/04_session.ts @@ -35,7 +35,7 @@ describe('session', () => { // Create a token that only has access to the granting users document const accessToken = createScopedAccessToken({ - actor: record.actor, + actor: record.actor.__id, permissions: ['resin.user.read?actor eq @__ACTOR_ID'], expiresIn: 60 * 10, }); @@ -60,7 +60,7 @@ describe('session', () => { // Create a token that only has access to the granting users applications const accessToken = createScopedAccessToken({ - actor: record.actor, + actor: record.actor.__id, permissions, expiresIn: 60 * 10, }); From a5e733e4637788c6da60435b0e54fd3d64d0968a Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Thu, 29 Dec 2022 16:13:01 +0000 Subject: [PATCH 005/221] Make use of native booleans --- .../devices/models/device-additions.ts | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/src/features/devices/models/device-additions.ts b/src/features/devices/models/device-additions.ts index dcda1f8bd..a91a6f708 100644 --- a/src/features/devices/models/device-additions.ts +++ b/src/features/devices/models/device-additions.ts @@ -2,6 +2,7 @@ import type { AbstractSqlModel, AbstractSqlQuery, AndNode, + BooleanTypeNodes, EqualsNode, } from '@balena/abstract-sql-compiler'; @@ -43,17 +44,13 @@ export const addToModel = ( // it'll generate a dummy case (the equivalent of 1 == 2, which is always // false), otherwise it'll generate a case that looks into the actual model // field. - const isInactive: EqualsNode = addShims - ? ['Equals', ['Boolean', true], ['Boolean', false]] - : [ - 'Equals', - ['ReferencedField', 'device', 'is active'], - ['Boolean', false], - ]; + const isInactive: BooleanTypeNodes = addShims + ? ['Boolean', false] + : ['Not', ['ReferencedField', 'device', 'is active']]; const isOverallOffline: AndNode = [ 'And', - ['Equals', ['ReferencedField', 'device', 'is online'], ['Boolean', false]], + ['Not', ['ReferencedField', 'device', 'is online']], [ 'In', ['ReferencedField', 'device', 'api heartbeat state'], @@ -66,7 +63,7 @@ export const addToModel = ( // so it's still provisioning. const isPreProvisioning: AndNode = [ 'And', - ['Equals', ['ReferencedField', 'device', 'is online'], ['Boolean', false]], + ['Not', ['ReferencedField', 'device', 'is online']], ['NotExists', ['ReferencedField', 'device', 'last connectivity event']], [ 'Equals', @@ -99,11 +96,7 @@ export const addToModel = ( ], [ 'And', - [ - 'Equals', - ['ReferencedField', 'device', 'is online'], - ['Boolean', false], - ], + ['Not', ['ReferencedField', 'device', 'is online']], [ 'Equals', ['ReferencedField', 'device', 'status'], @@ -188,11 +181,7 @@ export const addToModel = ( ], [ 'And', - [ - 'Equals', - ['ReferencedField', 'device', 'is online'], - ['Boolean', false], - ], + ['Not', ['ReferencedField', 'device', 'is online']], [ 'Equals', ['ReferencedField', 'device', 'status'], From 7cc46ec3d216c1c2fac9784c15dc0beff35e0852 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 24 May 2023 10:53:23 +0000 Subject: [PATCH 006/221] v12.0.0 --- .versionbot/CHANGELOG.yml | 2440 +++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 767 ++++++++++++ package-lock.json | 4 +- package.json | 4 +- 4 files changed, 3211 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 1caae56e3..71becfbc7 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,2443 @@ +- commits: + - subject: Update to pinejs 15 + hash: 6db4a7e42a3f2d6acc47fa148b3f3ed425c3867f + body: | + Update @balena/abstract-sql-compiler from 8.4.1 to 9.0.2 + Update @balena/pinejs from 14.62.9 to 15.0.0 + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: + - commits: + - subject: Stop re-exporting `ODataRequest` as `HookRequest` + hash: 8df1d5c94bd19f5f347c1bf3e91cb5c8ac95f5f0 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Don't add a returning clause to requests if affectedIds has been + populated + hash: 68f857522bb6f0d2aa89505f00aca589be320c82 + body: > + This avoids unnecessary work/db traffic in the case it is not + necessary + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Remove the deprecated `data` property from `PRERESPOND` hooks + hash: ad3ed63e5a7ca5fd88734cbf5fc23dbef567f042 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Remove support for the deprecated db result form of async migrations + hash: 6db5b1f13aea948e59b6ad87ebf950cabbf2ea44 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Update grunt + hash: e2db4f242bea8ee41f93be5fa0d7ce5596e0e967 + body: > + Update grunt from 1.5.3 to 1.6.0 + + + Grunt 1.6.0 bumps node to 16 and internally rimraf to node14 what was + + a major change. + footer: + Change-type: patch + change-type: patch + Signed-off-by: Harald Fischer + signed-off-by: Harald Fischer + author: Harald Fischer + nested: [] + - subject: Do not convert `null` to the default value in `customApiKeyMiddleware` + hash: 895bd6f2fad6fe04beb7f07337041224314ea3ee + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: "Use `{ value: modelValue }` for se and odataMetadata model entries" + hash: 64ac3e20f08782339a3958e9bed0035186b388cc + body: | + This avoids putting strings directly into a JSON field + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Switch mysql `sql_mode` from `ANSI_QUOTES` to `ANSI` + hash: 346f8bd7bc6b747ccfcd9cbe4ca279fd8cda2daf + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Make `actor` a required property of the req.apiKey object + hash: afff499e39a3af115ab71d28e66a8d7966ba850e + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Change `resolveAuthHeader`/`resolveApiKey` to throw on invalid api keys + hash: df463c1f43048d28e3500717f84fe556127cf16b + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Do not bail in `resolveAuthHeader` if there is an existing api key + hash: 7aa30b4a4b5048056995b1075a1af1fb54dc3877 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Do not bail in `resolveApiKey` if there is an existing api key + hash: aaccddaa21367470e77845ce6b67b21b4dfaff60 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Treat ConceptType fields as expandable/foreign key fields as they are + hash: a9d8fe51226ffaf9b97ee3d48922c4043e0310aa + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Throw rather than warn on invalid value for `PINEJS_DEBUG` + hash: a9499391aea6bc8b10f8dd5e28731f7ebd9b9408 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Remove support for `DEBUG` env var in favor of only `PINEJS_DEBUG` + hash: b2e1c664e715ed89395b612cf79c4394b5734b18 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: c4bbef52ddcaa29eb62a048d80150a1f8d02881d + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Reflect the usage of BOOLEAN/JSON database types + hash: 1e8027b7f60dfd88858d27eb0834905131001440 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Update dependencies + hash: 208df5f0fe0abe3d3e189045dace719b45b9310f + body: | + Update @balena/abstract-sql-compiler from 8.5.0 to 9.0.2 + Update @balena/abstract-sql-to-typescript from 1.5.1 to 2.0.0 + Update @balena/odata-parser from 2.5.0 to 3.0.0 + Update @balena/odata-to-abstract-sql from 5.9.6 to 6.0.1 + Update @balena/sbvr-types from 3.5.0 to 5.0.0 + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: + - commits: + - subject: Update @balena/sbvr-types to 5.0.0 + hash: 67e4fafb3f89a05646f9911354fc74d9012c3096 + body: | + Update @balena/sbvr-types from 4.0.0 to 5.0.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Switch from `export =` to `export default` + hash: 6cd01340e0fee46833942691fce5a9f6a42ac104 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + version: sbvr-types-5.0.0 + title: "" + date: 2023-05-16T15:56:09.861Z + - commits: + - subject: Improve typings + hash: a5fd4a319cd0336afc5a765af9e1a1eec851f2c3 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: sbvr-types-4.0.2 + title: "" + date: 2023-05-03T11:40:24.422Z + - commits: + - subject: "boolean: Avoid unnecessary array creation to reduce GCs" + hash: 5ba948cd5f42844974d43dc19f1c371e56376fc8 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + version: sbvr-types-4.0.1 + title: "" + date: 2023-05-02T13:39:37.722Z + version: abstract-sql-compiler-9.0.2 + title: "" + date: 2023-05-16T16:05:11.077Z + - commits: + - subject: Fix TS errors for the latest sbvrTypes + hash: bb1f16713d084eaf6285138a2a587e9b36bc7759 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: abstract-sql-compiler-9.0.1 + title: "" + date: 2023-05-15T12:54:08.040Z + - commits: + - subject: Drop `require-npm4-to-publish` as `engines` used + hash: 374bc5bd42c3caac5c68608f802302674a511c23 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + nested: [] + - subject: Update @balena/odata-to-abstract-sql to 6.x + hash: e7194718065ab98328c0cb3266df9838787c08c3 + body: | + Update @balena/odata-to-abstract-sql from 5.9.3 to 6.0.1 + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: + - commits: + - subject: Update dependencies + hash: d749289e311ad22e2b09793ad1dd472762bdf402 + body: | + Update @balena/odata-parser from 2.4.6 to 3.0.0 + Update @balena/sbvr-types from 3.5.0 to 4.0.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Use optional chaining operator + hash: 1fb39ef2497b964af0f2cbc953a3f0843936fe02 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Set minimum supported nodejs version to 16.13.0 + hash: 91b8f51691a9649e99f2dc64253cc5ce9b59035a + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + version: odata-parser-3.0.0 + title: "" + date: 2023-04-26T14:57:49.416Z + - commits: + - subject: Update to peggy 3 and make us of the repetition operator + hash: 3d091133ca54dfba71c2bc0d17e60780fb1bda22 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + version: odata-parser-2.5.0 + title: "" + date: 2023-04-26T11:09:24.513Z + - commits: + - subject: Add test cases for Objects in JSON validate + hash: be8fc31c3754186dd4c43ca8d4c056b0def7ffbd + body: > + As balena-lint rejects `new Boolean()`, + `new Number()` and `new String()` + constructor usage, test cases double + check that they are not instantiated as + object but primitive type. + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Drop `require-npm4-to-publish` devDependency + hash: 46a369117c9d1222089498a8794c32d14edef85b + body: > + As engine and npm is now required as + part of package.json we can drop this + dependency + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: 54920d701a7aa4890c27801fc5cc6b9d74ece21c + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `JSON` to use `JSON` db type instead of `TEXT` + hash: 0d3561364ad018f59466c0dae9b3adb4390d9496 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` + hash: 5af2bd476a9032ab5d60c163a3940e0dd8e81cc6 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Assert that JSON input typeof is object + hash: 1819ee97811e20da93c6e0f227db6a62ada8c00e + body: > + Ensure that the input passed in for JSON + types is either an object or + + an array (typeof returns 'object' for arrays as well). This change is + + mainly to prevent primitives from being stored as JSON. + footer: + Change-type: major + change-type: major + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-4.0.0 + title: "" + date: 2023-04-26T15:00:16.169Z + version: odata-to-abstract-sql-6.0.1 + title: "" + date: 2023-04-27T08:45:33.841Z + - commits: + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: 7f6f98637339f43b34ae7faa8e868129efe6d754 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Switch `AggregateJSON` to use the newer `ReferencedField` format + hash: e8038b15c471d801b21f39cec2c95ff6689b0595 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + version: odata-to-abstract-sql-6.0.0 + title: "" + date: 2023-04-26T13:50:25.845Z + - commits: + - subject: Collapse `AliasedFunction` into `FunctionMatch` + hash: 98093a48aa75e5b8bd8eadc25ca37b53cc80ce2c + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: odata-to-abstract-sql-5.9.6 + title: "" + date: 2023-04-25T13:27:44.188Z + - commits: + - subject: Improve typings + hash: 78d4a48022ac0465c5d2c48db53b8ddd08e6e1bf + body: > + Update @balena/abstract-sql-compiler from 8.4.0 + to 8.4.1 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add much finer grained typings for abstract-sql-optimizer + hash: 92bc7e93ca1b17401d902d66c68e090e50f70d1a + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.1 + title: "" + date: 2023-04-25T10:03:26.380Z + version: odata-to-abstract-sql-5.9.5 + title: "" + date: 2023-04-25T12:16:48.086Z + - commits: + - subject: Update dependencies + hash: 5aa3c51cbbfc66cddedebd41dacba5eabbacf709 + body: > + Update @balena/abstract-sql-compiler from 8.0.0 + to 8.4.0 + + Update @balena/odata-parser from 2.4.2 to 2.4.6 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add support for using field type nodes with an AggregateJSON node + hash: 19c2760ecf76b4097d7d3045c2eefbf74fd7c2da + body: | + This also deprecates the legacy version + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.0 + title: "" + date: 2023-04-24T12:05:48.116Z + - commits: + - subject: Deprecate `AliasableFromTypeNodes` type as it's redundant + hash: 283da4816fe5e6d672e4959b05800861625dda99 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.13 + title: "" + date: 2023-04-24T12:00:41.593Z + - commits: + - subject: Revert tightening of `OrderBy` to only field nodes + hash: 1c25d9b8d011791a9e98a5929ad48cdd9f3bab6b + body: > + It can in fact be a lot of different + things and that is now also + + reflected in the typing + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.12 + title: "" + date: 2023-04-17T16:53:20.918Z + - commits: + - subject: Do not allow ON clauses for CROSS JOIN as it is invalid + hash: d47bf63d3a14cdbb4cb0aeb7544e41a9288699f4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types + hash: 6fcb2c4257f9fc50f6b4b1070dec86ace9f71237 + body: > + We know what type they return and they + should be explicitly accepted as + + those types instead where it is valid to do so + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.11 + title: "" + date: 2023-04-13T11:28:36.049Z + - commits: + - subject: Fix DateNode/AnyNode typings + hash: aab549e8cf4e274a2a8b93814da393451acc4238 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.10 + title: "" + date: 2023-04-13T10:27:14.478Z + - commits: + - subject: Update dependencies + hash: 39058b2dacac51da96158d594b2d72e3238d0cbc + body: > + Update @balena/sbvr-types from 3.4.18 to + 3.5.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add Big Serial type + hash: 49460ad51fcbc60f81e61329c573a1af5b207a46 + body: "" + footer: + Change-type: minor + change-type: minor + author: Josh Bowling + version: sbvr-types-3.5.0 + title: "" + date: 2023-03-21T11:16:27.398Z + - commits: + - subject: "Flowzone: Allow external contributions" + hash: 9f7bb028bbac327e6fe0711491d7c0f2c6464f98 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-3.4.19 + title: "" + date: 2022-12-08T01:08:35.143Z + version: abstract-sql-compiler-8.3.9 + title: "" + date: 2023-04-13T10:09:53.529Z + - commits: + - subject: Improve typings + hash: 43e75ef37de956d1b583bc62b307b04e0f8455c1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.8 + title: "" + date: 2023-04-12T17:26:10.992Z + - commits: + - subject: Remove typing for non-existent JSON node + hash: 76181d438f0f37463642704d7908c1774040c2c2 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.7 + title: "" + date: 2023-04-12T16:38:07.014Z + - commits: + - subject: Tighten the `isXValue` function typings + hash: 91485cd9c88faaaed9b1280bc34eb3a99628057e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.6 + title: "" + date: 2023-04-12T16:18:20.829Z + - commits: + - subject: Correctly treat `Value` nodes as rewritten to `Text` by the optimizer + hash: c9dbc4cfb3fa392e87a0775accdd6811b3c273b4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add EmbeddedTextNode typing + hash: d00ac00ca7af4d17b437c3d5511af8e506615db4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.5 + title: "" + date: 2023-04-12T16:01:45.643Z + - commits: + - subject: Enforce the first argument of ExtractJSONPathAsText is a JSON type node + hash: 08865295d4cd3ded56d77a30d33c0434e1da52b9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.4 + title: "" + date: 2023-04-12T15:55:47.432Z + - commits: + - subject: Improve node typings + hash: 2cb83cf242052c581ee5412e3a90ed87cf5fd39e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.3 + title: "" + date: 2023-04-12T15:43:13.357Z + - commits: + - subject: Add more node typings + hash: db162a8a4d645c2f37c968224d667ed753e534dd + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.2 + title: "" + date: 2023-04-12T15:01:22.252Z + - commits: + - subject: Add more node typings + hash: 047954b6f66abb041bee74373f37c38d71cdc4d7 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.1 + title: "" + date: 2023-04-12T13:14:25.174Z + - commits: + - subject: Support boolean nodes in a ValuesNode + hash: d589fb6cd92a3a7570e3b2ebea14acbb84807d8a + body: > + This also deprecates the legacy use of + direct true/false entries + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.0 + title: "" + date: 2023-04-11T14:56:54.403Z + - commits: + - subject: Add `Between` node type + hash: 4880072eeab6af198df47777b6579dcacc3d7fb1 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.2.0 + title: "" + date: 2023-04-11T14:19:22.378Z + - commits: + - subject: Add `BitwiseAnd`/`BitwiseShiftRight` node types + hash: f155d1daca54086b653fa590e3248c5ef805afff + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.1.0 + title: "" + date: 2023-04-11T14:11:01.677Z + - commits: + - subject: Add `NotInNode` type + hash: 9870d746344033db53ec14fddc23a8580b863ad9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types + hash: 09887280a6394a61a31c955602ccb2a0fe98c9b8 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `CharacterLengthNode` type + hash: 1fbab42cee8128025756076dc826dacda4ea1597 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.0.2 + title: "" + date: 2023-04-06T18:12:29.893Z + - commits: + - subject: Adds Cast node type to tree parsing + hash: cbdb559bfce3c77f9bce9e07f05777f58965f324 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: abstract-sql-compiler-8.0.1 + title: "" + date: 2023-04-06T17:59:29.723Z + - commits: + - subject: Improve typings + hash: ed5fa5675021485a775eb777f2358d8041b93ce1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.6 + title: "" + date: 2023-02-24T17:02:58.272Z + - commits: + - subject: Use const/let as appropriate + hash: 0824fe7d85eeb97941319749fc802f9bae3c9fb6 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.5 + title: "" + date: 2023-02-23T16:31:08.299Z + - commits: + - subject: Use shorthand object notation + hash: 611c0480681965c7af06302264eac79fea18bded + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.4 + title: "" + date: 2023-02-23T16:26:30.639Z + - commits: + - subject: Update dependencies + hash: 25b153aca258347c6742cb8b4efe54c0ae199695 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.3 + title: "" + date: 2023-02-23T16:14:13.013Z + version: odata-to-abstract-sql-5.9.4 + title: "" + date: 2023-04-24T16:26:44.367Z + - subject: Remove support for the legacy AggregateJSON format of `[tableName, + fieldName]` + hash: ab90bed96cd80599f57c59f03dd02b6ac7bc6115 + body: | + Use `['ReferencedField, tableName, fieldName]` instead + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Remove support for the legacy boolean format of `true|false` + hash: 1826e6d9ad81542dd3c1123768ae926254a85a17 + body: | + Use `['Boolean', true|false]` instead + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: 62bef1d7243d256ebe270881691c6a56216c67d6 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Remove support for the legacy alias format of `[node, alias]` + hash: 52038aa06d833c1bfbc14f721e7417d4272edc28 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Remove support for the legacy table format of `tableName` + hash: 3ff760a6e360421ed1030afe355761d655408547 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Remove support for the legacy null formats of `null` and `'Null'` + hash: 166d2616b245f8593b17160722c915a5868b2b3a + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Reflect the usage of BOOLEAN db type + hash: ddab41907418024df2747fa7f630abd80d580a43 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Update @balena/sbvr-types to 4.x + hash: ff17af594020723ab91bf65aed197dc01ace7981 + body: | + Update @balena/sbvr-types from 3.5.0 to 4.0.0 + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: + - commits: + - subject: Add test cases for Objects in JSON validate + hash: be8fc31c3754186dd4c43ca8d4c056b0def7ffbd + body: > + As balena-lint rejects `new Boolean()`, `new + Number()` and `new String()` constructor usage, + test cases double check that they are not + instantiated as object but primitive type. + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Drop `require-npm4-to-publish` devDependency + hash: 46a369117c9d1222089498a8794c32d14edef85b + body: > + As engine and npm is now required as part of + package.json we can drop this dependency + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: 54920d701a7aa4890c27801fc5cc6b9d74ece21c + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `JSON` to use `JSON` db type instead of `TEXT` + hash: 0d3561364ad018f59466c0dae9b3adb4390d9496 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` + hash: 5af2bd476a9032ab5d60c163a3940e0dd8e81cc6 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Assert that JSON input typeof is object + hash: 1819ee97811e20da93c6e0f227db6a62ada8c00e + body: > + Ensure that the input passed in for JSON types + is either an object or + + an array (typeof returns 'object' for arrays as well). This change is + + mainly to prevent primitives from being stored as JSON. + footer: + Change-type: major + change-type: major + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-4.0.0 + title: "" + date: 2023-04-26T15:00:16.169Z + version: abstract-sql-compiler-9.0.0 + title: "" + date: 2023-05-02T10:21:03.552Z + - commits: + - subject: Update @balena/abstract-sql-compiler to 9.x + hash: b8b894679b4d333c5c3ff9340f8bd2696f418ca4 + body: | + Update @balena/abstract-sql-compiler from 8.4.1 to 9.0.0 + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: b5c654d5d916069f7364adf8bce65627e345f6c2 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Treat ConceptType like foreign keys, in line with pinejs 15 + hash: 9563e8a332331e4da6347da27be77a121ede2169 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + version: abstract-sql-to-typescript-2.0.0 + title: "" + date: 2023-05-02T12:03:24.262Z + - commits: + - subject: Use optional chaining operator + hash: 1fb39ef2497b964af0f2cbc953a3f0843936fe02 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Set minimum supported nodejs version to 16.13.0 + hash: 91b8f51691a9649e99f2dc64253cc5ce9b59035a + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + version: odata-parser-3.0.0 + title: "" + date: 2023-04-26T14:57:49.416Z + - commits: + - subject: Update dependencies + hash: d749289e311ad22e2b09793ad1dd472762bdf402 + body: | + Update @balena/odata-parser from 2.4.6 to 3.0.0 + Update @balena/sbvr-types from 3.5.0 to 4.0.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Use optional chaining operator + hash: 1fb39ef2497b964af0f2cbc953a3f0843936fe02 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Set minimum supported nodejs version to 16.13.0 + hash: 91b8f51691a9649e99f2dc64253cc5ce9b59035a + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + version: odata-parser-3.0.0 + title: "" + date: 2023-04-26T14:57:49.416Z + - commits: + - subject: Update to peggy 3 and make us of the repetition operator + hash: 3d091133ca54dfba71c2bc0d17e60780fb1bda22 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + version: odata-parser-2.5.0 + title: "" + date: 2023-04-26T11:09:24.513Z + - commits: + - subject: Add test cases for Objects in JSON validate + hash: be8fc31c3754186dd4c43ca8d4c056b0def7ffbd + body: > + As balena-lint rejects `new Boolean()`, `new + Number()` and `new String()` constructor usage, + test cases double check that they are not + instantiated as object but primitive type. + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Drop `require-npm4-to-publish` devDependency + hash: 46a369117c9d1222089498a8794c32d14edef85b + body: > + As engine and npm is now required as part of + package.json we can drop this dependency + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: 54920d701a7aa4890c27801fc5cc6b9d74ece21c + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `JSON` to use `JSON` db type instead of `TEXT` + hash: 0d3561364ad018f59466c0dae9b3adb4390d9496 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` + hash: 5af2bd476a9032ab5d60c163a3940e0dd8e81cc6 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Assert that JSON input typeof is object + hash: 1819ee97811e20da93c6e0f227db6a62ada8c00e + body: > + Ensure that the input passed in for JSON types + is either an object or + + an array (typeof returns 'object' for arrays as well). This change is + + mainly to prevent primitives from being stored as JSON. + footer: + Change-type: major + change-type: major + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-4.0.0 + title: "" + date: 2023-04-26T15:00:16.169Z + version: odata-to-abstract-sql-6.0.1 + title: "" + date: 2023-04-27T08:45:33.841Z + - commits: + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: 7f6f98637339f43b34ae7faa8e868129efe6d754 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + - subject: Switch `AggregateJSON` to use the newer `ReferencedField` format + hash: e8038b15c471d801b21f39cec2c95ff6689b0595 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + version: odata-to-abstract-sql-6.0.0 + title: "" + date: 2023-04-26T13:50:25.845Z + - commits: + - subject: Switch from `export =` to `export default` + hash: 6cd01340e0fee46833942691fce5a9f6a42ac104 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + version: sbvr-types-5.0.0 + title: "" + date: 2023-05-16T15:56:09.861Z + - commits: + - subject: Improve typings + hash: a5fd4a319cd0336afc5a765af9e1a1eec851f2c3 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: sbvr-types-4.0.2 + title: "" + date: 2023-05-03T11:40:24.422Z + - commits: + - subject: "boolean: Avoid unnecessary array creation to reduce GCs" + hash: 5ba948cd5f42844974d43dc19f1c371e56376fc8 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + version: sbvr-types-4.0.1 + title: "" + date: 2023-05-02T13:39:37.722Z + - commits: + - subject: Add test cases for Objects in JSON validate + hash: be8fc31c3754186dd4c43ca8d4c056b0def7ffbd + body: > + As balena-lint rejects `new Boolean()`, `new Number()` + and `new String()` constructor usage, test cases double + check that they are not instantiated as object but + primitive type. + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Drop `require-npm4-to-publish` devDependency + hash: 46a369117c9d1222089498a8794c32d14edef85b + body: > + As engine and npm is now required as part of + package.json we can drop this dependency + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + - subject: Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 + hash: 54920d701a7aa4890c27801fc5cc6b9d74ece21c + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `JSON` to use `JSON` db type instead of `TEXT` + hash: 0d3561364ad018f59466c0dae9b3adb4390d9496 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` + hash: 5af2bd476a9032ab5d60c163a3940e0dd8e81cc6 + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + - subject: Assert that JSON input typeof is object + hash: 1819ee97811e20da93c6e0f227db6a62ada8c00e + body: > + Ensure that the input passed in for JSON types is either + an object or + + an array (typeof returns 'object' for arrays as well). This change is + + mainly to prevent primitives from being stored as JSON. + footer: + Change-type: major + change-type: major + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-4.0.0 + title: "" + date: 2023-04-26T15:00:16.169Z + version: pinejs-15.0.0 + title: "" + date: 2023-05-17T11:20:05.997Z + - commits: + - subject: Update async migration function typing to also accept `Promise` + hash: dc2bd3ac16550009cf9732913ad0cfbb64ad92f2 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: pinejs-14.64.1 + title: "" + date: 2023-04-27T15:47:13.055Z + - commits: + - subject: Update dependencies + hash: c75f8261660c57f06b0088e73282d830fc9cc662 + body: | + Update @balena/abstract-sql-compiler from 8.0.0 to 8.5.0 + Update @balena/abstract-sql-to-typescript from 1.4.2 to 1.5.1 + Update @balena/odata-parser from 2.4.6 to 2.5.0 + Update @balena/odata-to-abstract-sql from 5.9.2 to 5.9.6 + Update @balena/sbvr-types from 3.4.18 to 3.5.0 + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: + - commits: + - subject: Use native `StartsWith` node type for postgres + hash: 0e0055782f05eccf3d7d8bf01f2d6810e738c4e6 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + - subject: Convert `EscapeForLike` into a standalone node type + hash: 9732e2e6e678262dfb25c8fbe5d935e4d6201296 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.5.0 + title: "" + date: 2023-04-27T14:11:46.912Z + - commits: + - subject: Add much finer grained typings for abstract-sql-optimizer + hash: 92bc7e93ca1b17401d902d66c68e090e50f70d1a + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.1 + title: "" + date: 2023-04-25T10:03:26.380Z + - commits: + - subject: Add support for using field type nodes with an AggregateJSON node + hash: 19c2760ecf76b4097d7d3045c2eefbf74fd7c2da + body: | + This also deprecates the legacy version + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.0 + title: "" + date: 2023-04-24T12:05:48.116Z + - commits: + - subject: Deprecate `AliasableFromTypeNodes` type as it's redundant + hash: 283da4816fe5e6d672e4959b05800861625dda99 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.13 + title: "" + date: 2023-04-24T12:00:41.593Z + - commits: + - subject: Revert tightening of `OrderBy` to only field nodes + hash: 1c25d9b8d011791a9e98a5929ad48cdd9f3bab6b + body: > + It can in fact be a lot of different things and that is + now also + + reflected in the typing + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.12 + title: "" + date: 2023-04-17T16:53:20.918Z + - commits: + - subject: Do not allow ON clauses for CROSS JOIN as it is invalid + hash: d47bf63d3a14cdbb4cb0aeb7544e41a9288699f4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types + hash: 6fcb2c4257f9fc50f6b4b1070dec86ace9f71237 + body: > + We know what type they return and they should be + explicitly accepted as + + those types instead where it is valid to do so + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.11 + title: "" + date: 2023-04-13T11:28:36.049Z + - commits: + - subject: Fix DateNode/AnyNode typings + hash: aab549e8cf4e274a2a8b93814da393451acc4238 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.10 + title: "" + date: 2023-04-13T10:27:14.478Z + - commits: + - subject: Update dependencies + hash: 39058b2dacac51da96158d594b2d72e3238d0cbc + body: | + Update @balena/sbvr-types from 3.4.18 to 3.5.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add Big Serial type + hash: 49460ad51fcbc60f81e61329c573a1af5b207a46 + body: "" + footer: + Change-type: minor + change-type: minor + author: Josh Bowling + version: sbvr-types-3.5.0 + title: "" + date: 2023-03-21T11:16:27.398Z + - commits: + - subject: "Flowzone: Allow external contributions" + hash: 9f7bb028bbac327e6fe0711491d7c0f2c6464f98 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-3.4.19 + title: "" + date: 2022-12-08T01:08:35.143Z + version: abstract-sql-compiler-8.3.9 + title: "" + date: 2023-04-13T10:09:53.529Z + - commits: + - subject: Improve typings + hash: 43e75ef37de956d1b583bc62b307b04e0f8455c1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.8 + title: "" + date: 2023-04-12T17:26:10.992Z + - commits: + - subject: Remove typing for non-existent JSON node + hash: 76181d438f0f37463642704d7908c1774040c2c2 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.7 + title: "" + date: 2023-04-12T16:38:07.014Z + - commits: + - subject: Tighten the `isXValue` function typings + hash: 91485cd9c88faaaed9b1280bc34eb3a99628057e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.6 + title: "" + date: 2023-04-12T16:18:20.829Z + - commits: + - subject: Correctly treat `Value` nodes as rewritten to `Text` by the optimizer + hash: c9dbc4cfb3fa392e87a0775accdd6811b3c273b4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add EmbeddedTextNode typing + hash: d00ac00ca7af4d17b437c3d5511af8e506615db4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.5 + title: "" + date: 2023-04-12T16:01:45.643Z + - commits: + - subject: Enforce the first argument of ExtractJSONPathAsText is a JSON type node + hash: 08865295d4cd3ded56d77a30d33c0434e1da52b9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.4 + title: "" + date: 2023-04-12T15:55:47.432Z + - commits: + - subject: Improve node typings + hash: 2cb83cf242052c581ee5412e3a90ed87cf5fd39e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.3 + title: "" + date: 2023-04-12T15:43:13.357Z + - commits: + - subject: Add more node typings + hash: db162a8a4d645c2f37c968224d667ed753e534dd + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.2 + title: "" + date: 2023-04-12T15:01:22.252Z + - commits: + - subject: Add more node typings + hash: 047954b6f66abb041bee74373f37c38d71cdc4d7 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.1 + title: "" + date: 2023-04-12T13:14:25.174Z + - commits: + - subject: Support boolean nodes in a ValuesNode + hash: d589fb6cd92a3a7570e3b2ebea14acbb84807d8a + body: > + This also deprecates the legacy use of direct true/false + entries + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.0 + title: "" + date: 2023-04-11T14:56:54.403Z + - commits: + - subject: Add `Between` node type + hash: 4880072eeab6af198df47777b6579dcacc3d7fb1 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.2.0 + title: "" + date: 2023-04-11T14:19:22.378Z + - commits: + - subject: Add `BitwiseAnd`/`BitwiseShiftRight` node types + hash: f155d1daca54086b653fa590e3248c5ef805afff + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.1.0 + title: "" + date: 2023-04-11T14:11:01.677Z + - commits: + - subject: Add `NotInNode` type + hash: 9870d746344033db53ec14fddc23a8580b863ad9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types + hash: 09887280a6394a61a31c955602ccb2a0fe98c9b8 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `CharacterLengthNode` type + hash: 1fbab42cee8128025756076dc826dacda4ea1597 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.0.2 + title: "" + date: 2023-04-06T18:12:29.893Z + - commits: + - subject: Adds Cast node type to tree parsing + hash: cbdb559bfce3c77f9bce9e07f05777f58965f324 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: abstract-sql-compiler-8.0.1 + title: "" + date: 2023-04-06T17:59:29.723Z + - commits: + - subject: Update dependencies + hash: 72ae6d01ce70fbd47056042399c4d07f50e9a636 + body: | + Update @balena/abstract-sql-compiler from 8.0.0 to 8.4.1 + Update @balena/odata-to-abstract-sql from 5.9.1 to 5.9.6 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Collapse `AliasedFunction` into `FunctionMatch` + hash: 98093a48aa75e5b8bd8eadc25ca37b53cc80ce2c + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: odata-to-abstract-sql-5.9.6 + title: "" + date: 2023-04-25T13:27:44.188Z + - commits: + - subject: Improve typings + hash: 78d4a48022ac0465c5d2c48db53b8ddd08e6e1bf + body: > + Update @balena/abstract-sql-compiler from 8.4.0 + to 8.4.1 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add much finer grained typings for abstract-sql-optimizer + hash: 92bc7e93ca1b17401d902d66c68e090e50f70d1a + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.1 + title: "" + date: 2023-04-25T10:03:26.380Z + version: odata-to-abstract-sql-5.9.5 + title: "" + date: 2023-04-25T12:16:48.086Z + - commits: + - subject: Update dependencies + hash: 5aa3c51cbbfc66cddedebd41dacba5eabbacf709 + body: > + Update @balena/abstract-sql-compiler from 8.0.0 + to 8.4.0 + + Update @balena/odata-parser from 2.4.2 to 2.4.6 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add support for using field type nodes with an AggregateJSON node + hash: 19c2760ecf76b4097d7d3045c2eefbf74fd7c2da + body: | + This also deprecates the legacy version + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.0 + title: "" + date: 2023-04-24T12:05:48.116Z + - commits: + - subject: Deprecate `AliasableFromTypeNodes` type as it's redundant + hash: 283da4816fe5e6d672e4959b05800861625dda99 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.13 + title: "" + date: 2023-04-24T12:00:41.593Z + - commits: + - subject: Revert tightening of `OrderBy` to only field nodes + hash: 1c25d9b8d011791a9e98a5929ad48cdd9f3bab6b + body: > + It can in fact be a lot of different + things and that is now also + + reflected in the typing + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.12 + title: "" + date: 2023-04-17T16:53:20.918Z + - commits: + - subject: Do not allow ON clauses for CROSS JOIN as it is invalid + hash: d47bf63d3a14cdbb4cb0aeb7544e41a9288699f4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types + hash: 6fcb2c4257f9fc50f6b4b1070dec86ace9f71237 + body: > + We know what type they return and they + should be explicitly accepted as + + those types instead where it is valid to do so + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.11 + title: "" + date: 2023-04-13T11:28:36.049Z + - commits: + - subject: Fix DateNode/AnyNode typings + hash: aab549e8cf4e274a2a8b93814da393451acc4238 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.10 + title: "" + date: 2023-04-13T10:27:14.478Z + - commits: + - subject: Update dependencies + hash: 39058b2dacac51da96158d594b2d72e3238d0cbc + body: > + Update @balena/sbvr-types from 3.4.18 to + 3.5.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add Big Serial type + hash: 49460ad51fcbc60f81e61329c573a1af5b207a46 + body: "" + footer: + Change-type: minor + change-type: minor + author: Josh Bowling + version: sbvr-types-3.5.0 + title: "" + date: 2023-03-21T11:16:27.398Z + - commits: + - subject: "Flowzone: Allow external contributions" + hash: 9f7bb028bbac327e6fe0711491d7c0f2c6464f98 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-3.4.19 + title: "" + date: 2022-12-08T01:08:35.143Z + version: abstract-sql-compiler-8.3.9 + title: "" + date: 2023-04-13T10:09:53.529Z + - commits: + - subject: Improve typings + hash: 43e75ef37de956d1b583bc62b307b04e0f8455c1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.8 + title: "" + date: 2023-04-12T17:26:10.992Z + - commits: + - subject: Remove typing for non-existent JSON node + hash: 76181d438f0f37463642704d7908c1774040c2c2 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.7 + title: "" + date: 2023-04-12T16:38:07.014Z + - commits: + - subject: Tighten the `isXValue` function typings + hash: 91485cd9c88faaaed9b1280bc34eb3a99628057e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.6 + title: "" + date: 2023-04-12T16:18:20.829Z + - commits: + - subject: Correctly treat `Value` nodes as rewritten to `Text` by the optimizer + hash: c9dbc4cfb3fa392e87a0775accdd6811b3c273b4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add EmbeddedTextNode typing + hash: d00ac00ca7af4d17b437c3d5511af8e506615db4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.5 + title: "" + date: 2023-04-12T16:01:45.643Z + - commits: + - subject: Enforce the first argument of ExtractJSONPathAsText is a JSON type node + hash: 08865295d4cd3ded56d77a30d33c0434e1da52b9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.4 + title: "" + date: 2023-04-12T15:55:47.432Z + - commits: + - subject: Improve node typings + hash: 2cb83cf242052c581ee5412e3a90ed87cf5fd39e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.3 + title: "" + date: 2023-04-12T15:43:13.357Z + - commits: + - subject: Add more node typings + hash: db162a8a4d645c2f37c968224d667ed753e534dd + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.2 + title: "" + date: 2023-04-12T15:01:22.252Z + - commits: + - subject: Add more node typings + hash: 047954b6f66abb041bee74373f37c38d71cdc4d7 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.1 + title: "" + date: 2023-04-12T13:14:25.174Z + - commits: + - subject: Support boolean nodes in a ValuesNode + hash: d589fb6cd92a3a7570e3b2ebea14acbb84807d8a + body: > + This also deprecates the legacy use of + direct true/false entries + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.0 + title: "" + date: 2023-04-11T14:56:54.403Z + - commits: + - subject: Add `Between` node type + hash: 4880072eeab6af198df47777b6579dcacc3d7fb1 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.2.0 + title: "" + date: 2023-04-11T14:19:22.378Z + - commits: + - subject: Add `BitwiseAnd`/`BitwiseShiftRight` node types + hash: f155d1daca54086b653fa590e3248c5ef805afff + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.1.0 + title: "" + date: 2023-04-11T14:11:01.677Z + - commits: + - subject: Add `NotInNode` type + hash: 9870d746344033db53ec14fddc23a8580b863ad9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types + hash: 09887280a6394a61a31c955602ccb2a0fe98c9b8 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `CharacterLengthNode` type + hash: 1fbab42cee8128025756076dc826dacda4ea1597 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.0.2 + title: "" + date: 2023-04-06T18:12:29.893Z + - commits: + - subject: Adds Cast node type to tree parsing + hash: cbdb559bfce3c77f9bce9e07f05777f58965f324 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: abstract-sql-compiler-8.0.1 + title: "" + date: 2023-04-06T17:59:29.723Z + - commits: + - subject: Improve typings + hash: ed5fa5675021485a775eb777f2358d8041b93ce1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.6 + title: "" + date: 2023-02-24T17:02:58.272Z + - commits: + - subject: Use const/let as appropriate + hash: 0824fe7d85eeb97941319749fc802f9bae3c9fb6 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.5 + title: "" + date: 2023-02-23T16:31:08.299Z + - commits: + - subject: Use shorthand object notation + hash: 611c0480681965c7af06302264eac79fea18bded + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.4 + title: "" + date: 2023-02-23T16:26:30.639Z + - commits: + - subject: Update dependencies + hash: 25b153aca258347c6742cb8b4efe54c0ae199695 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.3 + title: "" + date: 2023-02-23T16:14:13.013Z + version: odata-to-abstract-sql-5.9.4 + title: "" + date: 2023-04-24T16:26:44.367Z + - commits: + - subject: Fixes ODataBindings imported types + hash: 07224c40f6c11a849939dcca456d18677b159991 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: odata-to-abstract-sql-5.9.3 + title: "" + date: 2023-03-08T22:00:01.264Z + - commits: + - subject: Update typings to the minimal subset of the abstract sql model we need + hash: 2b95fdd826b153b7cbc0ad9ae6440d5788062ee3 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: odata-to-abstract-sql-5.9.2 + title: "" + date: 2023-02-15T13:59:28.133Z + version: abstract-sql-to-typescript-1.5.1 + title: "" + date: 2023-04-27T08:55:14.149Z + - commits: + - subject: Adds native SQL Date type + hash: f19cd38aa79cb820f663b73da96c15bcfd41778d + body: "" + footer: + Change-type: minor + change-type: minor + author: Otávio Jacobi + nested: [] + version: abstract-sql-to-typescript-1.5.0 + title: "" + date: 2023-03-01T17:29:25.983Z + - commits: + - subject: Update to peggy 3 and make us of the repetition operator + hash: 3d091133ca54dfba71c2bc0d17e60780fb1bda22 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + version: odata-parser-2.5.0 + title: "" + date: 2023-04-26T11:09:24.513Z + - commits: + - subject: Collapse `AliasedFunction` into `FunctionMatch` + hash: 98093a48aa75e5b8bd8eadc25ca37b53cc80ce2c + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: odata-to-abstract-sql-5.9.6 + title: "" + date: 2023-04-25T13:27:44.188Z + - commits: + - subject: Improve typings + hash: 78d4a48022ac0465c5d2c48db53b8ddd08e6e1bf + body: | + Update @balena/abstract-sql-compiler from 8.4.0 to 8.4.1 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add much finer grained typings for abstract-sql-optimizer + hash: 92bc7e93ca1b17401d902d66c68e090e50f70d1a + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.1 + title: "" + date: 2023-04-25T10:03:26.380Z + version: odata-to-abstract-sql-5.9.5 + title: "" + date: 2023-04-25T12:16:48.086Z + - commits: + - subject: Update dependencies + hash: 5aa3c51cbbfc66cddedebd41dacba5eabbacf709 + body: | + Update @balena/abstract-sql-compiler from 8.0.0 to 8.4.0 + Update @balena/odata-parser from 2.4.2 to 2.4.6 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add support for using field type nodes with an AggregateJSON node + hash: 19c2760ecf76b4097d7d3045c2eefbf74fd7c2da + body: | + This also deprecates the legacy version + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.4.0 + title: "" + date: 2023-04-24T12:05:48.116Z + - commits: + - subject: Deprecate `AliasableFromTypeNodes` type as it's redundant + hash: 283da4816fe5e6d672e4959b05800861625dda99 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.13 + title: "" + date: 2023-04-24T12:00:41.593Z + - commits: + - subject: Revert tightening of `OrderBy` to only field nodes + hash: 1c25d9b8d011791a9e98a5929ad48cdd9f3bab6b + body: > + It can in fact be a lot of different things and + that is now also + + reflected in the typing + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.12 + title: "" + date: 2023-04-17T16:53:20.918Z + - commits: + - subject: Do not allow ON clauses for CROSS JOIN as it is invalid + hash: d47bf63d3a14cdbb4cb0aeb7544e41a9288699f4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types + hash: 6fcb2c4257f9fc50f6b4b1070dec86ace9f71237 + body: > + We know what type they return and they should be + explicitly accepted as + + those types instead where it is valid to do so + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.11 + title: "" + date: 2023-04-13T11:28:36.049Z + - commits: + - subject: Fix DateNode/AnyNode typings + hash: aab549e8cf4e274a2a8b93814da393451acc4238 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.10 + title: "" + date: 2023-04-13T10:27:14.478Z + - commits: + - subject: Update dependencies + hash: 39058b2dacac51da96158d594b2d72e3238d0cbc + body: | + Update @balena/sbvr-types from 3.4.18 to 3.5.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: + - commits: + - subject: Add Big Serial type + hash: 49460ad51fcbc60f81e61329c573a1af5b207a46 + body: "" + footer: + Change-type: minor + change-type: minor + author: Josh Bowling + version: sbvr-types-3.5.0 + title: "" + date: 2023-03-21T11:16:27.398Z + - commits: + - subject: "Flowzone: Allow external contributions" + hash: 9f7bb028bbac327e6fe0711491d7c0f2c6464f98 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-3.4.19 + title: "" + date: 2022-12-08T01:08:35.143Z + version: abstract-sql-compiler-8.3.9 + title: "" + date: 2023-04-13T10:09:53.529Z + - commits: + - subject: Improve typings + hash: 43e75ef37de956d1b583bc62b307b04e0f8455c1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.8 + title: "" + date: 2023-04-12T17:26:10.992Z + - commits: + - subject: Remove typing for non-existent JSON node + hash: 76181d438f0f37463642704d7908c1774040c2c2 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.7 + title: "" + date: 2023-04-12T16:38:07.014Z + - commits: + - subject: Tighten the `isXValue` function typings + hash: 91485cd9c88faaaed9b1280bc34eb3a99628057e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.6 + title: "" + date: 2023-04-12T16:18:20.829Z + - commits: + - subject: Correctly treat `Value` nodes as rewritten to `Text` by the optimizer + hash: c9dbc4cfb3fa392e87a0775accdd6811b3c273b4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add EmbeddedTextNode typing + hash: d00ac00ca7af4d17b437c3d5511af8e506615db4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.5 + title: "" + date: 2023-04-12T16:01:45.643Z + - commits: + - subject: Enforce the first argument of ExtractJSONPathAsText is a JSON type node + hash: 08865295d4cd3ded56d77a30d33c0434e1da52b9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.4 + title: "" + date: 2023-04-12T15:55:47.432Z + - commits: + - subject: Improve node typings + hash: 2cb83cf242052c581ee5412e3a90ed87cf5fd39e + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.3 + title: "" + date: 2023-04-12T15:43:13.357Z + - commits: + - subject: Add more node typings + hash: db162a8a4d645c2f37c968224d667ed753e534dd + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.2 + title: "" + date: 2023-04-12T15:01:22.252Z + - commits: + - subject: Add more node typings + hash: 047954b6f66abb041bee74373f37c38d71cdc4d7 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.1 + title: "" + date: 2023-04-12T13:14:25.174Z + - commits: + - subject: Support boolean nodes in a ValuesNode + hash: d589fb6cd92a3a7570e3b2ebea14acbb84807d8a + body: > + This also deprecates the legacy use of direct + true/false entries + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.3.0 + title: "" + date: 2023-04-11T14:56:54.403Z + - commits: + - subject: Add `Between` node type + hash: 4880072eeab6af198df47777b6579dcacc3d7fb1 + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.2.0 + title: "" + date: 2023-04-11T14:19:22.378Z + - commits: + - subject: Add `BitwiseAnd`/`BitwiseShiftRight` node types + hash: f155d1daca54086b653fa590e3248c5ef805afff + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.1.0 + title: "" + date: 2023-04-11T14:11:01.677Z + - commits: + - subject: Add `NotInNode` type + hash: 9870d746344033db53ec14fddc23a8580b863ad9 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types + hash: 09887280a6394a61a31c955602ccb2a0fe98c9b8 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + - subject: Add `CharacterLengthNode` type + hash: 1fbab42cee8128025756076dc826dacda4ea1597 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: abstract-sql-compiler-8.0.2 + title: "" + date: 2023-04-06T18:12:29.893Z + - commits: + - subject: Adds Cast node type to tree parsing + hash: cbdb559bfce3c77f9bce9e07f05777f58965f324 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: abstract-sql-compiler-8.0.1 + title: "" + date: 2023-04-06T17:59:29.723Z + - commits: + - subject: Improve typings + hash: ed5fa5675021485a775eb777f2358d8041b93ce1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.6 + title: "" + date: 2023-02-24T17:02:58.272Z + - commits: + - subject: Use const/let as appropriate + hash: 0824fe7d85eeb97941319749fc802f9bae3c9fb6 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.5 + title: "" + date: 2023-02-23T16:31:08.299Z + - commits: + - subject: Use shorthand object notation + hash: 611c0480681965c7af06302264eac79fea18bded + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.4 + title: "" + date: 2023-02-23T16:26:30.639Z + - commits: + - subject: Update dependencies + hash: 25b153aca258347c6742cb8b4efe54c0ae199695 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + version: odata-parser-2.4.3 + title: "" + date: 2023-02-23T16:14:13.013Z + version: odata-to-abstract-sql-5.9.4 + title: "" + date: 2023-04-24T16:26:44.367Z + - commits: + - subject: Fixes ODataBindings imported types + hash: 07224c40f6c11a849939dcca456d18677b159991 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: odata-to-abstract-sql-5.9.3 + title: "" + date: 2023-03-08T22:00:01.264Z + - commits: + - subject: Add Big Serial type + hash: 49460ad51fcbc60f81e61329c573a1af5b207a46 + body: "" + footer: + Change-type: minor + change-type: minor + author: Josh Bowling + version: sbvr-types-3.5.0 + title: "" + date: 2023-03-21T11:16:27.398Z + - commits: + - subject: "Flowzone: Allow external contributions" + hash: 9f7bb028bbac327e6fe0711491d7c0f2c6464f98 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Josh Bowling + signed-off-by: Josh Bowling + author: Josh Bowling + version: sbvr-types-3.4.19 + title: "" + date: 2022-12-08T01:08:35.143Z + version: pinejs-14.64.0 + title: "" + date: 2023-04-27T15:21:38.281Z + - commits: + - subject: Support returning a number from async migrations rather than db result + hash: 58d0a4e8c026531d8b172e7d715373b9afba708a + body: | + This also deprecates the form of returning a db result + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: pinejs-14.63.0 + title: "" + date: 2023-04-27T09:57:49.259Z + version: 12.0.0 + title: "" + date: 2023-05-24T10:53:20.620Z - commits: - subject: Optimize the unique release_version rule hash: e70930dbb2146c9f50ca635f38a7223e0b042fe9 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b2ded996..a47d3c0da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,773 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.0.0 - 2023-05-24 + + +
+ Update to pinejs 15 [Pagan Gazzard] + +> ### pinejs-15.0.0 - 2023-05-17 +> +> * Stop re-exporting `ODataRequest` as `HookRequest` [Pagan Gazzard] +> * Don't add a returning clause to requests if affectedIds has been populated [Pagan Gazzard] +> * Remove the deprecated `data` property from `PRERESPOND` hooks [Pagan Gazzard] +> * Remove support for the deprecated db result form of async migrations [Pagan Gazzard] +> * Update grunt [Harald Fischer] +> * Do not convert `null` to the default value in `customApiKeyMiddleware` [Pagan Gazzard] +> * Use `{ value: modelValue }` for se and odataMetadata model entries [Pagan Gazzard] +> * Switch mysql `sql_mode` from `ANSI_QUOTES` to `ANSI` [Pagan Gazzard] +> * Make `actor` a required property of the req.apiKey object [Pagan Gazzard] +> * Change `resolveAuthHeader`/`resolveApiKey` to throw on invalid api keys [Pagan Gazzard] +> * Do not bail in `resolveAuthHeader` if there is an existing api key [Pagan Gazzard] +> * Do not bail in `resolveApiKey` if there is an existing api key [Pagan Gazzard] +> * Treat ConceptType fields as expandable/foreign key fields as they are [Pagan Gazzard] +> * Throw rather than warn on invalid value for `PINEJS_DEBUG` [Pagan Gazzard] +> * Remove support for `DEBUG` env var in favor of only `PINEJS_DEBUG` [Pagan Gazzard] +> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +> * Reflect the usage of BOOLEAN/JSON database types [Pagan Gazzard] +> +>
+> Update dependencies [Pagan Gazzard] +> +>> #### abstract-sql-compiler-9.0.2 - 2023-05-16 +>> +>> +>>
+>> Update @balena/sbvr-types to 5.0.0 [Pagan Gazzard] +>> +>>> ##### sbvr-types-5.0.0 - 2023-05-16 +>>> +>>> * Switch from `export =` to `export default` [Pagan Gazzard] +>>> +>>> ##### sbvr-types-4.0.2 - 2023-05-03 +>>> +>>> * Improve typings [Pagan Gazzard] +>>> +>>> ##### sbvr-types-4.0.1 - 2023-05-02 +>>> +>>> * boolean: Avoid unnecessary array creation to reduce GCs [Thodoris Greasidis] +>>> +>> +>>
+>> +>> +>> #### abstract-sql-compiler-9.0.1 - 2023-05-15 +>> +>> * Fix TS errors for the latest sbvrTypes [Thodoris Greasidis] +>> +>> #### abstract-sql-compiler-9.0.0 - 2023-05-02 +>> +>> * Drop `require-npm4-to-publish` as `engines` used [fisehara] +>> +>>
+>> Update @balena/odata-to-abstract-sql to 6.x [Pagan Gazzard] +>> +>>> ##### odata-to-abstract-sql-6.0.1 - 2023-04-27 +>>> +>>> +>>>
+>>> Update dependencies [Pagan Gazzard] +>>> +>>>> ###### odata-parser-3.0.0 - 2023-04-26 +>>>> +>>>> * Use optional chaining operator [Pagan Gazzard] +>>>> * Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard] +>>>> +>>>> ###### odata-parser-2.5.0 - 2023-04-26 +>>>> +>>>> * Update to peggy 3 and make us of the repetition operator [Pagan Gazzard] +>>>> +>>>> ###### sbvr-types-4.0.0 - 2023-04-26 +>>>> +>>>> * Add test cases for Objects in JSON validate [fisehara] +>>>> * Drop `require-npm4-to-publish` devDependency [fisehara] +>>>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>>>> * Switch `JSON` to use `JSON` db type instead of `TEXT` [Pagan Gazzard] +>>>> * Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` [Pagan Gazzard] +>>>> * Assert that JSON input typeof is object [Josh Bowling] +>>>> +>>> +>>>
+>>> +>>> +>>> ##### odata-to-abstract-sql-6.0.0 - 2023-04-26 +>>> +>>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>>> * Switch `AggregateJSON` to use the newer `ReferencedField` format [Pagan Gazzard] +>>> +>>> ##### odata-to-abstract-sql-5.9.6 - 2023-04-25 +>>> +>>> * Collapse `AliasedFunction` into `FunctionMatch` [Pagan Gazzard] +>>> +>>> ##### odata-to-abstract-sql-5.9.5 - 2023-04-25 +>>> +>>> +>>>
+>>> Improve typings [Pagan Gazzard] +>>> +>>>> ###### abstract-sql-compiler-8.4.1 - 2023-04-25 +>>>> +>>>> * Add much finer grained typings for abstract-sql-optimizer [Pagan Gazzard] +>>>> +>>> +>>>
+>>> +>>> +>>> ##### odata-to-abstract-sql-5.9.4 - 2023-04-24 +>>> +>>> +>>>
+>>> Update dependencies [Pagan Gazzard] +>>> +>>>> ###### abstract-sql-compiler-8.4.0 - 2023-04-24 +>>>> +>>>> * Add support for using field type nodes with an AggregateJSON node [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.13 - 2023-04-24 +>>>> +>>>> * Deprecate `AliasableFromTypeNodes` type as it's redundant [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.12 - 2023-04-17 +>>>> +>>>> * Revert tightening of `OrderBy` to only field nodes [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.11 - 2023-04-13 +>>>> +>>>> * Do not allow ON clauses for CROSS JOIN as it is invalid [Pagan Gazzard] +>>>> * Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.10 - 2023-04-13 +>>>> +>>>> * Fix DateNode/AnyNode typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.9 - 2023-04-13 +>>>> +>>>> +>>>>
+>>>> Update dependencies [Pagan Gazzard] +>>>> +>>>>> ####### sbvr-types-3.5.0 - 2023-03-21 +>>>>> +>>>>> * Add Big Serial type [Josh Bowling] +>>>>> +>>>>> ####### sbvr-types-3.4.19 - 2022-12-08 +>>>>> +>>>>> * Flowzone: Allow external contributions [Josh Bowling] +>>>>> +>>>> +>>>>
+>>>> +>>>> +>>>> ###### abstract-sql-compiler-8.3.8 - 2023-04-12 +>>>> +>>>> * Improve typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.7 - 2023-04-12 +>>>> +>>>> * Remove typing for non-existent JSON node [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.6 - 2023-04-12 +>>>> +>>>> * Tighten the `isXValue` function typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.5 - 2023-04-12 +>>>> +>>>> * Correctly treat `Value` nodes as rewritten to `Text` by the optimizer [Pagan Gazzard] +>>>> * Add EmbeddedTextNode typing [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.4 - 2023-04-12 +>>>> +>>>> * Enforce the first argument of ExtractJSONPathAsText is a JSON type node [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.3 - 2023-04-12 +>>>> +>>>> * Improve node typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.2 - 2023-04-12 +>>>> +>>>> * Add more node typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.1 - 2023-04-12 +>>>> +>>>> * Add more node typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.0 - 2023-04-11 +>>>> +>>>> * Support boolean nodes in a ValuesNode [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.2.0 - 2023-04-11 +>>>> +>>>> * Add `Between` node type [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.1.0 - 2023-04-11 +>>>> +>>>> * Add `BitwiseAnd`/`BitwiseShiftRight` node types [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.0.2 - 2023-04-06 +>>>> +>>>> * Add `NotInNode` type [Pagan Gazzard] +>>>> * Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types [Pagan Gazzard] +>>>> * Add `CharacterLengthNode` type [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.0.1 - 2023-04-06 +>>>> +>>>> * Adds Cast node type to tree parsing [Otávio Jacobi] +>>>> +>>>> ###### odata-parser-2.4.6 - 2023-02-24 +>>>> +>>>> * Improve typings [Pagan Gazzard] +>>>> +>>>> ###### odata-parser-2.4.5 - 2023-02-23 +>>>> +>>>> * Use const/let as appropriate [Pagan Gazzard] +>>>> +>>>> ###### odata-parser-2.4.4 - 2023-02-23 +>>>> +>>>> * Use shorthand object notation [Pagan Gazzard] +>>>> +>>>> ###### odata-parser-2.4.3 - 2023-02-23 +>>>> +>>>> * Update dependencies [Pagan Gazzard] +>>>> +>>> +>>>
+>>> +>>> +>> +>>
+>> +>> * Remove support for the legacy AggregateJSON format of `[tableName, fieldName]` [Pagan Gazzard] +>> * Remove support for the legacy boolean format of `true|false` [Pagan Gazzard] +>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>> * Remove support for the legacy alias format of `[node, alias]` [Pagan Gazzard] +>> * Remove support for the legacy table format of `tableName` [Pagan Gazzard] +>> * Remove support for the legacy null formats of `null` and `'Null'` [Pagan Gazzard] +>> * Reflect the usage of BOOLEAN db type [Pagan Gazzard] +>> +>>
+>> Update @balena/sbvr-types to 4.x [Pagan Gazzard] +>> +>>> ##### sbvr-types-4.0.0 - 2023-04-26 +>>> +>>> * Add test cases for Objects in JSON validate [fisehara] +>>> * Drop `require-npm4-to-publish` devDependency [fisehara] +>>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>>> * Switch `JSON` to use `JSON` db type instead of `TEXT` [Pagan Gazzard] +>>> * Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` [Pagan Gazzard] +>>> * Assert that JSON input typeof is object [Josh Bowling] +>>> +>> +>>
+>> +>> +>> #### abstract-sql-to-typescript-2.0.0 - 2023-05-02 +>> +>> * Update @balena/abstract-sql-compiler to 9.x [Pagan Gazzard] +>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>> * Treat ConceptType like foreign keys, in line with pinejs 15 [Pagan Gazzard] +>> +>> #### odata-parser-3.0.0 - 2023-04-26 +>> +>> * Use optional chaining operator [Pagan Gazzard] +>> * Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard] +>> +>> #### odata-to-abstract-sql-6.0.1 - 2023-04-27 +>> +>> +>>
+>> Update dependencies [Pagan Gazzard] +>> +>>> ##### odata-parser-3.0.0 - 2023-04-26 +>>> +>>> * Use optional chaining operator [Pagan Gazzard] +>>> * Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard] +>>> +>>> ##### odata-parser-2.5.0 - 2023-04-26 +>>> +>>> * Update to peggy 3 and make us of the repetition operator [Pagan Gazzard] +>>> +>>> ##### sbvr-types-4.0.0 - 2023-04-26 +>>> +>>> * Add test cases for Objects in JSON validate [fisehara] +>>> * Drop `require-npm4-to-publish` devDependency [fisehara] +>>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>>> * Switch `JSON` to use `JSON` db type instead of `TEXT` [Pagan Gazzard] +>>> * Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` [Pagan Gazzard] +>>> * Assert that JSON input typeof is object [Josh Bowling] +>>> +>> +>>
+>> +>> +>> #### odata-to-abstract-sql-6.0.0 - 2023-04-26 +>> +>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>> * Switch `AggregateJSON` to use the newer `ReferencedField` format [Pagan Gazzard] +>> +>> #### sbvr-types-5.0.0 - 2023-05-16 +>> +>> * Switch from `export =` to `export default` [Pagan Gazzard] +>> +>> #### sbvr-types-4.0.2 - 2023-05-03 +>> +>> * Improve typings [Pagan Gazzard] +>> +>> #### sbvr-types-4.0.1 - 2023-05-02 +>> +>> * boolean: Avoid unnecessary array creation to reduce GCs [Thodoris Greasidis] +>> +>> #### sbvr-types-4.0.0 - 2023-04-26 +>> +>> * Add test cases for Objects in JSON validate [fisehara] +>> * Drop `require-npm4-to-publish` devDependency [fisehara] +>> * Set minimum supported nodejs version to 16.13.0 and tsconfig to es2021 [Pagan Gazzard] +>> * Switch `JSON` to use `JSON` db type instead of `TEXT` [Pagan Gazzard] +>> * Switch `Boolean` to use `BOOLEAN` db type instead of `INTEGER` [Pagan Gazzard] +>> * Assert that JSON input typeof is object [Josh Bowling] +>> +> +>
+> +> +> ### pinejs-14.64.1 - 2023-04-27 +> +> * Update async migration function typing to also accept `Promise` [Pagan Gazzard] +> +> ### pinejs-14.64.0 - 2023-04-27 +> +> +>
+> Update dependencies [Pagan Gazzard] +> +>> #### abstract-sql-compiler-8.5.0 - 2023-04-27 +>> +>> * Use native `StartsWith` node type for postgres [Pagan Gazzard] +>> * Convert `EscapeForLike` into a standalone node type [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.4.1 - 2023-04-25 +>> +>> * Add much finer grained typings for abstract-sql-optimizer [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.4.0 - 2023-04-24 +>> +>> * Add support for using field type nodes with an AggregateJSON node [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.13 - 2023-04-24 +>> +>> * Deprecate `AliasableFromTypeNodes` type as it's redundant [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.12 - 2023-04-17 +>> +>> * Revert tightening of `OrderBy` to only field nodes [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.11 - 2023-04-13 +>> +>> * Do not allow ON clauses for CROSS JOIN as it is invalid [Pagan Gazzard] +>> * Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.10 - 2023-04-13 +>> +>> * Fix DateNode/AnyNode typings [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.9 - 2023-04-13 +>> +>> +>>
+>> Update dependencies [Pagan Gazzard] +>> +>>> ##### sbvr-types-3.5.0 - 2023-03-21 +>>> +>>> * Add Big Serial type [Josh Bowling] +>>> +>>> ##### sbvr-types-3.4.19 - 2022-12-08 +>>> +>>> * Flowzone: Allow external contributions [Josh Bowling] +>>> +>> +>>
+>> +>> +>> #### abstract-sql-compiler-8.3.8 - 2023-04-12 +>> +>> * Improve typings [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.7 - 2023-04-12 +>> +>> * Remove typing for non-existent JSON node [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.6 - 2023-04-12 +>> +>> * Tighten the `isXValue` function typings [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.5 - 2023-04-12 +>> +>> * Correctly treat `Value` nodes as rewritten to `Text` by the optimizer [Pagan Gazzard] +>> * Add EmbeddedTextNode typing [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.4 - 2023-04-12 +>> +>> * Enforce the first argument of ExtractJSONPathAsText is a JSON type node [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.3 - 2023-04-12 +>> +>> * Improve node typings [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.2 - 2023-04-12 +>> +>> * Add more node typings [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.1 - 2023-04-12 +>> +>> * Add more node typings [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.3.0 - 2023-04-11 +>> +>> * Support boolean nodes in a ValuesNode [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.2.0 - 2023-04-11 +>> +>> * Add `Between` node type [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.1.0 - 2023-04-11 +>> +>> * Add `BitwiseAnd`/`BitwiseShiftRight` node types [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.0.2 - 2023-04-06 +>> +>> * Add `NotInNode` type [Pagan Gazzard] +>> * Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types [Pagan Gazzard] +>> * Add `CharacterLengthNode` type [Pagan Gazzard] +>> +>> #### abstract-sql-compiler-8.0.1 - 2023-04-06 +>> +>> * Adds Cast node type to tree parsing [Otávio Jacobi] +>> +>> #### abstract-sql-to-typescript-1.5.1 - 2023-04-27 +>> +>> +>>
+>> Update dependencies [Pagan Gazzard] +>> +>>> ##### odata-to-abstract-sql-5.9.6 - 2023-04-25 +>>> +>>> * Collapse `AliasedFunction` into `FunctionMatch` [Pagan Gazzard] +>>> +>>> ##### odata-to-abstract-sql-5.9.5 - 2023-04-25 +>>> +>>> +>>>
+>>> Improve typings [Pagan Gazzard] +>>> +>>>> ###### abstract-sql-compiler-8.4.1 - 2023-04-25 +>>>> +>>>> * Add much finer grained typings for abstract-sql-optimizer [Pagan Gazzard] +>>>> +>>> +>>>
+>>> +>>> +>>> ##### odata-to-abstract-sql-5.9.4 - 2023-04-24 +>>> +>>> +>>>
+>>> Update dependencies [Pagan Gazzard] +>>> +>>>> ###### abstract-sql-compiler-8.4.0 - 2023-04-24 +>>>> +>>>> * Add support for using field type nodes with an AggregateJSON node [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.13 - 2023-04-24 +>>>> +>>>> * Deprecate `AliasableFromTypeNodes` type as it's redundant [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.12 - 2023-04-17 +>>>> +>>>> * Revert tightening of `OrderBy` to only field nodes [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.11 - 2023-04-13 +>>>> +>>>> * Do not allow ON clauses for CROSS JOIN as it is invalid [Pagan Gazzard] +>>>> * Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.10 - 2023-04-13 +>>>> +>>>> * Fix DateNode/AnyNode typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.9 - 2023-04-13 +>>>> +>>>> +>>>>
+>>>> Update dependencies [Pagan Gazzard] +>>>> +>>>>> ####### sbvr-types-3.5.0 - 2023-03-21 +>>>>> +>>>>> * Add Big Serial type [Josh Bowling] +>>>>> +>>>>> ####### sbvr-types-3.4.19 - 2022-12-08 +>>>>> +>>>>> * Flowzone: Allow external contributions [Josh Bowling] +>>>>> +>>>> +>>>>
+>>>> +>>>> +>>>> ###### abstract-sql-compiler-8.3.8 - 2023-04-12 +>>>> +>>>> * Improve typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.7 - 2023-04-12 +>>>> +>>>> * Remove typing for non-existent JSON node [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.6 - 2023-04-12 +>>>> +>>>> * Tighten the `isXValue` function typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.5 - 2023-04-12 +>>>> +>>>> * Correctly treat `Value` nodes as rewritten to `Text` by the optimizer [Pagan Gazzard] +>>>> * Add EmbeddedTextNode typing [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.4 - 2023-04-12 +>>>> +>>>> * Enforce the first argument of ExtractJSONPathAsText is a JSON type node [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.3 - 2023-04-12 +>>>> +>>>> * Improve node typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.2 - 2023-04-12 +>>>> +>>>> * Add more node typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.1 - 2023-04-12 +>>>> +>>>> * Add more node typings [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.3.0 - 2023-04-11 +>>>> +>>>> * Support boolean nodes in a ValuesNode [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.2.0 - 2023-04-11 +>>>> +>>>> * Add `Between` node type [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.1.0 - 2023-04-11 +>>>> +>>>> * Add `BitwiseAnd`/`BitwiseShiftRight` node types [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.0.2 - 2023-04-06 +>>>> +>>>> * Add `NotInNode` type [Pagan Gazzard] +>>>> * Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types [Pagan Gazzard] +>>>> * Add `CharacterLengthNode` type [Pagan Gazzard] +>>>> +>>>> ###### abstract-sql-compiler-8.0.1 - 2023-04-06 +>>>> +>>>> * Adds Cast node type to tree parsing [Otávio Jacobi] +>>>> +>>>> ###### odata-parser-2.4.6 - 2023-02-24 +>>>> +>>>> * Improve typings [Pagan Gazzard] +>>>> +>>>> ###### odata-parser-2.4.5 - 2023-02-23 +>>>> +>>>> * Use const/let as appropriate [Pagan Gazzard] +>>>> +>>>> ###### odata-parser-2.4.4 - 2023-02-23 +>>>> +>>>> * Use shorthand object notation [Pagan Gazzard] +>>>> +>>>> ###### odata-parser-2.4.3 - 2023-02-23 +>>>> +>>>> * Update dependencies [Pagan Gazzard] +>>>> +>>> +>>>
+>>> +>>> +>>> ##### odata-to-abstract-sql-5.9.3 - 2023-03-08 +>>> +>>> * Fixes ODataBindings imported types [Otávio Jacobi] +>>> +>>> ##### odata-to-abstract-sql-5.9.2 - 2023-02-15 +>>> +>>> * Update typings to the minimal subset of the abstract sql model we need [Pagan Gazzard] +>>> +>> +>>
+>> +>> +>> #### abstract-sql-to-typescript-1.5.0 - 2023-03-01 +>> +>> * Adds native SQL Date type [Otávio Jacobi] +>> +>> #### odata-parser-2.5.0 - 2023-04-26 +>> +>> * Update to peggy 3 and make us of the repetition operator [Pagan Gazzard] +>> +>> #### odata-to-abstract-sql-5.9.6 - 2023-04-25 +>> +>> * Collapse `AliasedFunction` into `FunctionMatch` [Pagan Gazzard] +>> +>> #### odata-to-abstract-sql-5.9.5 - 2023-04-25 +>> +>> +>>
+>> Improve typings [Pagan Gazzard] +>> +>>> ##### abstract-sql-compiler-8.4.1 - 2023-04-25 +>>> +>>> * Add much finer grained typings for abstract-sql-optimizer [Pagan Gazzard] +>>> +>> +>>
+>> +>> +>> #### odata-to-abstract-sql-5.9.4 - 2023-04-24 +>> +>> +>>
+>> Update dependencies [Pagan Gazzard] +>> +>>> ##### abstract-sql-compiler-8.4.0 - 2023-04-24 +>>> +>>> * Add support for using field type nodes with an AggregateJSON node [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.13 - 2023-04-24 +>>> +>>> * Deprecate `AliasableFromTypeNodes` type as it's redundant [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.12 - 2023-04-17 +>>> +>>> * Revert tightening of `OrderBy` to only field nodes [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.11 - 2023-04-13 +>>> +>>> * Do not allow ON clauses for CROSS JOIN as it is invalid [Pagan Gazzard] +>>> * Stop accepting `ExtractJSONPathAsText`/`ToJSON` as unknown node types [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.10 - 2023-04-13 +>>> +>>> * Fix DateNode/AnyNode typings [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.9 - 2023-04-13 +>>> +>>> +>>>
+>>> Update dependencies [Pagan Gazzard] +>>> +>>>> ###### sbvr-types-3.5.0 - 2023-03-21 +>>>> +>>>> * Add Big Serial type [Josh Bowling] +>>>> +>>>> ###### sbvr-types-3.4.19 - 2022-12-08 +>>>> +>>>> * Flowzone: Allow external contributions [Josh Bowling] +>>>> +>>> +>>>
+>>> +>>> +>>> ##### abstract-sql-compiler-8.3.8 - 2023-04-12 +>>> +>>> * Improve typings [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.7 - 2023-04-12 +>>> +>>> * Remove typing for non-existent JSON node [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.6 - 2023-04-12 +>>> +>>> * Tighten the `isXValue` function typings [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.5 - 2023-04-12 +>>> +>>> * Correctly treat `Value` nodes as rewritten to `Text` by the optimizer [Pagan Gazzard] +>>> * Add EmbeddedTextNode typing [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.4 - 2023-04-12 +>>> +>>> * Enforce the first argument of ExtractJSONPathAsText is a JSON type node [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.3 - 2023-04-12 +>>> +>>> * Improve node typings [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.2 - 2023-04-12 +>>> +>>> * Add more node typings [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.1 - 2023-04-12 +>>> +>>> * Add more node typings [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.3.0 - 2023-04-11 +>>> +>>> * Support boolean nodes in a ValuesNode [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.2.0 - 2023-04-11 +>>> +>>> * Add `Between` node type [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.1.0 - 2023-04-11 +>>> +>>> * Add `BitwiseAnd`/`BitwiseShiftRight` node types [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.0.2 - 2023-04-06 +>>> +>>> * Add `NotInNode` type [Pagan Gazzard] +>>> * Add `IsDistinctFromNode`/`IsNotDistinctFromNode` types [Pagan Gazzard] +>>> * Add `CharacterLengthNode` type [Pagan Gazzard] +>>> +>>> ##### abstract-sql-compiler-8.0.1 - 2023-04-06 +>>> +>>> * Adds Cast node type to tree parsing [Otávio Jacobi] +>>> +>>> ##### odata-parser-2.4.6 - 2023-02-24 +>>> +>>> * Improve typings [Pagan Gazzard] +>>> +>>> ##### odata-parser-2.4.5 - 2023-02-23 +>>> +>>> * Use const/let as appropriate [Pagan Gazzard] +>>> +>>> ##### odata-parser-2.4.4 - 2023-02-23 +>>> +>>> * Use shorthand object notation [Pagan Gazzard] +>>> +>>> ##### odata-parser-2.4.3 - 2023-02-23 +>>> +>>> * Update dependencies [Pagan Gazzard] +>>> +>> +>>
+>> +>> +>> #### odata-to-abstract-sql-5.9.3 - 2023-03-08 +>> +>> * Fixes ODataBindings imported types [Otávio Jacobi] +>> +>> #### sbvr-types-3.5.0 - 2023-03-21 +>> +>> * Add Big Serial type [Josh Bowling] +>> +>> #### sbvr-types-3.4.19 - 2022-12-08 +>> +>> * Flowzone: Allow external contributions [Josh Bowling] +>> +> +>
+> +> +> ### pinejs-14.63.0 - 2023-04-27 +> +> * Support returning a number from async migrations rather than db result [Pagan Gazzard] +> + +
+ ## 11.8.5 - 2023-05-17 * Optimize the unique release_version rule [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 33775111c..f6026cd03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "11.8.5", + "version": "12.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "11.8.5", + "version": "12.0.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 3a5de85a3..78bd2d42b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "11.8.5", + "version": "12.0.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-17T08:37:38.690Z" + "publishedAt": "2023-05-24T10:53:22.469Z" } } From a629cb2872c65a58daf40315a73c0ce3f20766c6 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 24 May 2023 11:16:44 +0000 Subject: [PATCH 007/221] Update balena/open-balena-base Docker tag to v14.9.3 Update balena/open-balena-base from 14.9.1 to 14.9.3 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4eba2d05d..feef65392 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.9.1 as runtime +FROM balena/open-balena-base:v14.9.3 as runtime EXPOSE 80 From c8a3a9967e39eca9c355ee487dc4fc79e9ad3c70 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 24 May 2023 11:25:22 +0000 Subject: [PATCH 008/221] v12.0.1 --- .versionbot/CHANGELOG.yml | 39 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 17 +++++++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 60 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 71becfbc7..8c3284675 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,42 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v14.9.3 + hash: 9ac0d952e6ef0bffd91dce3419e36d80edcd94ed + body: | + Update balena/open-balena-base from 14.9.1 to 14.9.3 + footer: + Change-type: patch + change-type: patch + author: Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v9.6.7 + hash: bac91d35160c081c4724034f4c49f26079119b04 + body: | + Update npm from 9.6.6 to 9.6.7 + footer: + Change-type: patch + change-type: patch + author: Renovate Bot + nested: [] + version: open-balena-base-14.9.3 + title: "" + date: 2023-05-18T15:18:26.274Z + - commits: + - subject: Update dependency npm to v9.6.6 + hash: 87d78dfed5c1dc471dfa6499485b9fa52d81a0ab + body: | + Update npm from 9.6.5 to 9.6.6 + footer: + Change-type: patch + change-type: patch + author: Renovate Bot + nested: [] + version: open-balena-base-14.9.2 + title: "" + date: 2023-05-03T21:18:50.684Z + version: 12.0.1 + title: "" + date: 2023-05-24T11:25:18.432Z - commits: - subject: Update to pinejs 15 hash: 6db4a7e42a3f2d6acc47fa148b3f3ed425c3867f diff --git a/CHANGELOG.md b/CHANGELOG.md index a47d3c0da..9042df8f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.0.1 - 2023-05-24 + + +
+ Update balena/open-balena-base Docker tag to v14.9.3 [Renovate Bot] + +> ### open-balena-base-14.9.3 - 2023-05-18 +> +> * Update dependency npm to v9.6.7 [Renovate Bot] +> +> ### open-balena-base-14.9.2 - 2023-05-03 +> +> * Update dependency npm to v9.6.6 [Renovate Bot] +> + +
+ ## 12.0.0 - 2023-05-24 diff --git a/package-lock.json b/package-lock.json index f6026cd03..0c58a96e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.0.0", + "version": "12.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.0.0", + "version": "12.0.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 78bd2d42b..8fe8043e2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.0.0", + "version": "12.0.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-24T10:53:22.469Z" + "publishedAt": "2023-05-24T11:25:21.021Z" } } From 80cc2d11c1d4fe7792d7b9a5398e15d0f3532473 Mon Sep 17 00:00:00 2001 From: Renovate Bot Date: Wed, 24 May 2023 12:17:39 +0000 Subject: [PATCH 009/221] Update grafana/loki Docker tag to v2.8.2 Update grafana/loki from 2.8.1 to 2.8.2 Change-type: patch --- docker-compose.test-custom.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index c15127696..5a0df584c 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -16,7 +16,7 @@ services: networks: - local-test loki: - image: grafana/loki:2.8.1 + image: grafana/loki:2.8.2 restart: "no" ports: - "9095:9095" From 63c0f9bad9e91aabd51959dfe60fe5559ebd1771 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 24 May 2023 12:26:02 +0000 Subject: [PATCH 010/221] v12.0.2 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 8c3284675..f49b8439c 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update grafana/loki Docker tag to v2.8.2 + hash: 4bb921e9f2c632eb4f295ee6712abd58270f9a23 + body: | + Update grafana/loki from 2.8.1 to 2.8.2 + footer: + Change-type: patch + change-type: patch + author: Renovate Bot + nested: [] + version: 12.0.2 + title: "" + date: 2023-05-24T12:26:00.289Z - commits: - subject: Update balena/open-balena-base Docker tag to v14.9.3 hash: 9ac0d952e6ef0bffd91dce3419e36d80edcd94ed diff --git a/CHANGELOG.md b/CHANGELOG.md index 9042df8f0..19e45c55d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.0.2 - 2023-05-24 + +* Update grafana/loki Docker tag to v2.8.2 [Renovate Bot] + ## 12.0.1 - 2023-05-24 diff --git a/package-lock.json b/package-lock.json index 0c58a96e5..34ecf0063 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.0.1", + "version": "12.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.0.1", + "version": "12.0.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 8fe8043e2..2c8620e38 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.0.1", + "version": "12.0.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-24T11:25:21.021Z" + "publishedAt": "2023-05-24T12:26:01.402Z" } } From 841f69889c90b15fdebe9eba1abc982fcef325fb Mon Sep 17 00:00:00 2001 From: fisehara Date: Wed, 17 May 2023 16:43:11 +0200 Subject: [PATCH 011/221] Add a CPU ID readable character filter Change-type: patch Signed-off-by: Harald Fischer Signed-off-by: fisehara --- .../device-state/routes/state-patch-v2.ts | 12 ++++-- .../device-state/routes/state-patch-v3.ts | 13 ++++-- test/03_device-state.ts | 43 +++++++++++++++++++ 3 files changed, 62 insertions(+), 6 deletions(-) diff --git a/src/features/device-state/routes/state-patch-v2.ts b/src/features/device-state/routes/state-patch-v2.ts index 87c5a55cd..bddea27c6 100644 --- a/src/features/device-state/routes/state-patch-v2.ts +++ b/src/features/device-state/routes/state-patch-v2.ts @@ -157,6 +157,15 @@ export const statePatchV2: RequestHandler = async (req, res) => { if (local.name != null) { deviceBody.device_name = local.name; } + if (deviceBody.cpu_id != null) { + if (/[^\x20-\x7E]/.test(deviceBody.cpu_id)) { + // if the CPU id is not in the character range of 0x20 (SPACE) to 0x7e (~) we drop the CPU ID + // this cpu id wouldn't be rendered anyway + delete deviceBody.cpu_id; + } else { + deviceBody.cpu_id = deviceBody.cpu_id.toLowerCase(); + } + } if ( local.is_on__commit !== undefined || @@ -191,9 +200,6 @@ export const statePatchV2: RequestHandler = async (req, res) => { deviceBody = truncateShortTextFields(deviceBody); // If we're updating anyway then ensure the metrics data is included deviceBody = { ...deviceBody, ...metricsBody }; - if (deviceBody.cpu_id != null) { - deviceBody.cpu_id = deviceBody.cpu_id.toLowerCase(); - } await resinApiTx.patch({ resource: 'device', id: deviceId, diff --git a/src/features/device-state/routes/state-patch-v3.ts b/src/features/device-state/routes/state-patch-v3.ts index b11c23bd4..0fa09f55f 100644 --- a/src/features/device-state/routes/state-patch-v3.ts +++ b/src/features/device-state/routes/state-patch-v3.ts @@ -287,6 +287,16 @@ export const statePatchV3: RequestHandler = async (req, res) => { metricsBody = {}; } + if (deviceBody.cpu_id != null) { + if (/[^\x20-\x7E]/.test(deviceBody.cpu_id)) { + // if the CPU id is not in the character range of 0x20 (SPACE) to 0x7e (~) we drop the CPU ID + // this cpu id wouldn't be rendered anyway + delete deviceBody.cpu_id; + } else { + deviceBody.cpu_id = deviceBody.cpu_id.toLowerCase(); + } + } + if (apps != null || Object.keys(deviceBody).length > 0) { // We lazily fetch the necessary data only if we absolutely must to avoid unnecessary work if it turns out we don't need it data ??= await fetchData(req, custom, uuids, appReleasesCriteria); @@ -312,9 +322,6 @@ export const statePatchV3: RequestHandler = async (req, res) => { deviceBody = truncateShortTextFields(deviceBody); // If we're updating anyway then ensure the metrics data is included deviceBody = { ...deviceBody, ...metricsBody }; - if (deviceBody.cpu_id != null) { - deviceBody.cpu_id = deviceBody.cpu_id.toLowerCase(); - } updateFns.push(async (resinApiTx) => { await resinApiTx.patch({ resource: 'device', diff --git a/test/03_device-state.ts b/test/03_device-state.ts index b2878c7ed..eb1a35c30 100644 --- a/test/03_device-state.ts +++ b/test/03_device-state.ts @@ -780,6 +780,49 @@ mockery.registerMock('../src/lib/config', configMock); await expectResourceToMatch(pineUser, 'device', device.id, expectedData); }); + it('should not save an invalid CPU ID', async () => { + const devicePatchBodyCorrect = { + [stateKey]: { + name: 'correctCPUID', + cpu_id: '\x20\x7e', + }, + }; + + await fakeDevice.patchState( + device, + device.uuid, + devicePatchBodyCorrect, + stateVersion, + ); + + const devicePatchBodyInvalid = { + [stateKey]: { + name: 'invalidCPUID', + cpu_id: '\x19\x80', + }, + }; + + await fakeDevice.patchState( + device, + device.uuid, + devicePatchBodyInvalid, + stateVersion, + ); + + devicePatchBodyInvalid[stateKey].cpu_id = '\x20\x7e'; + const expectedData = + stateVersion === 'v2' + ? _.mapKeys(devicePatchBodyInvalid[stateKey], (_v, key) => + key === 'name' ? 'device_name' : key, + ) + : _.pickBy( + devicePatchBodyInvalid[stateKey], + (_v, key) => key !== 'name', + ); + + await expectResourceToMatch(pineUser, 'device', device.id, expectedData); + }); + it('should accept addresses longer than 255 chars and truncate at space delimiters', async () => { const generateValidAddress = ( addr: string, From 39a017fbe4430c1140f0fc897e3f1a557e80cf78 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 24 May 2023 13:34:31 +0000 Subject: [PATCH 012/221] v12.0.3 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f49b8439c..1a9fcc836 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Add a CPU ID readable character filter + hash: 545b3d9100dad2c6cdda6c4cf89e472c6e98faa4 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + nested: [] + version: 12.0.3 + title: "" + date: 2023-05-24T13:34:29.016Z - commits: - subject: Update grafana/loki Docker tag to v2.8.2 hash: 4bb921e9f2c632eb4f295ee6712abd58270f9a23 diff --git a/CHANGELOG.md b/CHANGELOG.md index 19e45c55d..c5d5c3141 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.0.3 - 2023-05-24 + +* Add a CPU ID readable character filter [fisehara] + ## 12.0.2 - 2023-05-24 * Update grafana/loki Docker tag to v2.8.2 [Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 34ecf0063..7e3df62db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.0.2", + "version": "12.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.0.2", + "version": "12.0.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 2c8620e38..4ace26e8d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.0.2", + "version": "12.0.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-24T12:26:01.402Z" + "publishedAt": "2023-05-24T13:34:29.873Z" } } From 7cff660b607cd3c6827946aa7cf95b21d4d21210 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 31 May 2023 17:03:22 +0000 Subject: [PATCH 013/221] Update balena/open-balena-base Docker tag to v14.9.4 Update balena/open-balena-base from 14.9.3 to 14.9.4 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index feef65392..0fd77db9d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.9.3 as runtime +FROM balena/open-balena-base:v14.9.4 as runtime EXPOSE 80 From df7e54aa93477a5453343d26200de329409012b9 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 31 May 2023 17:12:44 +0000 Subject: [PATCH 014/221] v12.0.4 --- .versionbot/CHANGELOG.yml | 25 +++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 1a9fcc836..ec25133fd 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,28 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v14.9.4 + hash: 4a0bce8b8b2fa5aa6cb3841b6b58e6ce287c7477 + body: | + Update balena/open-balena-base from 14.9.3 to 14.9.4 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Set systemd stopsignal to SIGRTMIN+3 + hash: 5c69245959e57bcb4c033bc027d817801f7a1428 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: open-balena-base-14.9.4 + title: "" + date: 2023-05-31T16:09:26.999Z + version: 12.0.4 + title: "" + date: 2023-05-31T17:12:42.008Z - commits: - subject: Add a CPU ID readable character filter hash: 545b3d9100dad2c6cdda6c4cf89e472c6e98faa4 diff --git a/CHANGELOG.md b/CHANGELOG.md index c5d5c3141..e996ed0a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.0.4 - 2023-05-31 + + +
+ Update balena/open-balena-base Docker tag to v14.9.4 [Self-hosted Renovate Bot] + +> ### open-balena-base-14.9.4 - 2023-06-01 +> +> * Set systemd stopsignal to SIGRTMIN+3 [Pagan Gazzard] +> + +
+ ## 12.0.3 - 2023-05-24 * Add a CPU ID readable character filter [fisehara] diff --git a/package-lock.json b/package-lock.json index 7e3df62db..dfd4c665a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.0.3", + "version": "12.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.0.3", + "version": "12.0.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 4ace26e8d..5c559f404 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.0.3", + "version": "12.0.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-24T13:34:29.873Z" + "publishedAt": "2023-05-31T17:12:43.774Z" } } From 7dd13eed8e4392671c3836d46a9161cb024a1138 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Thu, 1 Jun 2023 21:53:29 +0300 Subject: [PATCH 015/221] Update TypeScript to 5.1.3 Change-type: patch --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index dfd4c665a..4de253703 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,7 +91,7 @@ "thirty-two": "^1.0.2", "ts-node": "^10.9.1", "typed-error": "^3.2.2", - "typescript": "^5.0.4", + "typescript": "^5.1.3", "uuid": "^9.0.0", "validator": "^13.9.0" }, @@ -8592,15 +8592,15 @@ "optional": true }, "node_modules/typescript": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", - "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", + "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12.20" + "node": ">=14.17" } }, "node_modules/uglify-js": { diff --git a/package.json b/package.json index 5c559f404..0c708b521 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "thirty-two": "^1.0.2", "ts-node": "^10.9.1", "typed-error": "^3.2.2", - "typescript": "^5.0.4", + "typescript": "^5.1.3", "uuid": "^9.0.0", "validator": "^13.9.0" }, From e036c99b9252601e14f8cc28bcc52af2076d444a Mon Sep 17 00:00:00 2001 From: balenaCI Date: Fri, 2 Jun 2023 06:29:41 +0000 Subject: [PATCH 016/221] v12.0.5 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ec25133fd..8e14bd299 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Update TypeScript to 5.1.3 + hash: 754ff8ccced059c197cde47d98c8c17a184cbbff + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 12.0.5 + title: "" + date: 2023-06-02T06:29:39.793Z - commits: - subject: Update balena/open-balena-base Docker tag to v14.9.4 hash: 4a0bce8b8b2fa5aa6cb3841b6b58e6ce287c7477 diff --git a/CHANGELOG.md b/CHANGELOG.md index e996ed0a7..dd1212ed7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.0.5 - 2023-06-02 + +* Update TypeScript to 5.1.3 [Thodoris Greasidis] + ## 12.0.4 - 2023-05-31 diff --git a/package-lock.json b/package-lock.json index 4de253703..1a3d7f2fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.0.4", + "version": "12.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.0.4", + "version": "12.0.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 0c708b521..d35783ba6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.0.4", + "version": "12.0.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-05-31T17:12:43.774Z" + "publishedAt": "2023-06-02T06:29:40.676Z" } } From 0c465a2b85e5e5b9ab32350485d19613abe2dcfa Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Wed, 7 Jun 2023 13:18:12 +0100 Subject: [PATCH 017/221] Clear the associated service instance when a device disconnects from it Change-type: patch --- src/features/vpn/services.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/features/vpn/services.ts b/src/features/vpn/services.ts index 3c60215b7..06b98617a 100644 --- a/src/features/vpn/services.ts +++ b/src/features/vpn/services.ts @@ -137,6 +137,7 @@ export const clientDisconnect = async ( }, body: { is_connected_to_vpn: false, + is_managed_by__service_instance: null, }, }); res.status(200).end(); From 1ab5a3ca303c2a56e2e173936db096c711534bd0 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 7 Jun 2023 15:15:04 +0000 Subject: [PATCH 018/221] v12.0.6 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 8e14bd299..935186368 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Clear the associated service instance when a device disconnects from it + hash: 870eebd9561d567a5926eb9fe048d8fb314285ec + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: 12.0.6 + title: "" + date: 2023-06-07T15:15:01.857Z - commits: - subject: Update TypeScript to 5.1.3 hash: 754ff8ccced059c197cde47d98c8c17a184cbbff diff --git a/CHANGELOG.md b/CHANGELOG.md index dd1212ed7..1fa278cf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.0.6 - 2023-06-07 + +* Clear the associated service instance when a device disconnects from it [Pagan Gazzard] + ## 12.0.5 - 2023-06-02 * Update TypeScript to 5.1.3 [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 1a3d7f2fd..8c0be8fa8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.0.5", + "version": "12.0.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.0.5", + "version": "12.0.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index d35783ba6..9a11394c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.0.5", + "version": "12.0.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-02T06:29:40.676Z" + "publishedAt": "2023-06-07T15:15:02.689Z" } } From 70a7cd4593d6a6b9ba698f6962f2a7a2953ea073 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 7 Jun 2023 17:03:17 +0000 Subject: [PATCH 019/221] Update balena/open-balena-base Docker tag to v14.10.0 Update balena/open-balena-base from 14.9.4 to 14.10.0 Change-type: minor --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0fd77db9d..2f8efcd01 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.9.4 as runtime +FROM balena/open-balena-base:v14.10.0 as runtime EXPOSE 80 From b9c0d45eddc1e861cb815f7f6eb587a3cadcd8a2 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 7 Jun 2023 17:11:55 +0000 Subject: [PATCH 020/221] v12.1.0 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 935186368..8bd264957 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v14.10.0 + hash: a776b9f02e7a60d2c1636706a7c234e3f36a136d + body: | + Update balena/open-balena-base from 14.9.4 to 14.10.0 + footer: + Change-type: minor + change-type: minor + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v9.7.1 + hash: 6af4dabea40287d9bac00f001ea5cb2e228d2277 + body: | + Update npm from 9.6.7 to 9.7.1 + footer: + Change-type: minor + change-type: minor + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-14.10.0 + title: "" + date: 2023-06-07T16:02:28.180Z + version: 12.1.0 + title: "" + date: 2023-06-07T17:11:51.484Z - commits: - subject: Clear the associated service instance when a device disconnects from it hash: 870eebd9561d567a5926eb9fe048d8fb314285ec diff --git a/CHANGELOG.md b/CHANGELOG.md index 1fa278cf3..ac76e1109 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 12.1.0 - 2023-06-07 + + +
+ Update balena/open-balena-base Docker tag to v14.10.0 [Self-hosted Renovate Bot] + +> ### open-balena-base-14.10.0 - 2023-06-07 +> +> * Update dependency npm to v9.7.1 [Self-hosted Renovate Bot] +> + +
+ ## 12.0.6 - 2023-06-07 * Clear the associated service instance when a device disconnects from it [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index 8c0be8fa8..9770d021f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.0.6", + "version": "12.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.0.6", + "version": "12.1.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 9a11394c4..23e15d660 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.0.6", + "version": "12.1.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-07T15:15:02.689Z" + "publishedAt": "2023-06-07T17:11:53.790Z" } } From e16fe44997f22e7e0dad97ff333ea681c310f489 Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Thu, 8 Jun 2023 15:57:47 +0100 Subject: [PATCH 021/221] Drop unused `device has vpn address` property Change-type: major --- src/balena-model.ts | 1 - src/balena.sbvr | 5 ----- src/migrations/00083-drop-vpn-address.sql | 2 ++ 3 files changed, 2 insertions(+), 6 deletions(-) create mode 100644 src/migrations/00083-drop-vpn-address.sql diff --git a/src/balena-model.ts b/src/balena-model.ts index f9ee5c9c7..c97aa81de 100644 --- a/src/balena-model.ts +++ b/src/balena-model.ts @@ -362,7 +362,6 @@ export interface Device { last_vpn_event: DateString | null; is_locked_until__date: DateString | null; public_address: string | null; - vpn_address: string | null; ip_address: string | null; mac_address: string | null; memory_usage: number | null; diff --git a/src/balena.sbvr b/src/balena.sbvr index e1b1e1eab..bc3ae2be6 100644 --- a/src/balena.sbvr +++ b/src/balena.sbvr @@ -307,9 +307,6 @@ Term: variant Term: version Concept Type: Integer (Type) -Term: vpn address - Concept Type: Short Text (Type) - -- Complex terms @@ -527,8 +524,6 @@ Fact type: device is locked until date Necessity: each device is locked until at most one date. Fact type: device has public address Necessity: each device has at most one public address -Fact type: device has vpn address - Necessity: each device has at most one vpn address Fact type: device has ip address Necessity: each device has at most one ip address Fact type: device has mac address diff --git a/src/migrations/00083-drop-vpn-address.sql b/src/migrations/00083-drop-vpn-address.sql new file mode 100644 index 000000000..5d5a83128 --- /dev/null +++ b/src/migrations/00083-drop-vpn-address.sql @@ -0,0 +1,2 @@ +ALTER TABLE "device" +DROP COLUMN IF EXISTS "vpn address"; From a4eb7a2cb587a90e42e90030a0df83b19e126d04 Mon Sep 17 00:00:00 2001 From: balenaCI Date: Mon, 12 Jun 2023 12:37:09 +0000 Subject: [PATCH 022/221] v13.0.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 8bd264957..28d0e4b92 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Drop unused `device has vpn address` property + hash: 9e170fe32190032218289dec6321058aaebcd1eb + body: "" + footer: + Change-type: major + change-type: major + author: Pagan Gazzard + nested: [] + version: 13.0.0 + title: "" + date: 2023-06-12T12:37:06.268Z - commits: - subject: Update balena/open-balena-base Docker tag to v14.10.0 hash: a776b9f02e7a60d2c1636706a7c234e3f36a136d diff --git a/CHANGELOG.md b/CHANGELOG.md index ac76e1109..5fa9d3121 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.0 - 2023-06-12 + +* Drop unused `device has vpn address` property [Pagan Gazzard] + ## 12.1.0 - 2023-06-07 diff --git a/package-lock.json b/package-lock.json index 9770d021f..f45375ea0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "12.1.0", + "version": "13.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "12.1.0", + "version": "13.0.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 23e15d660..c6f188f81 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "12.1.0", + "version": "13.0.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-07T17:11:53.790Z" + "publishedAt": "2023-06-12T12:37:07.141Z" } } From cac353ee0dce90e4099a9d0bfe5fc9df124a1dd7 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Fri, 9 Jun 2023 14:48:02 +0300 Subject: [PATCH 023/221] Gracefully deny device registrations with duplicate api key Change-type: patch See: https://balena.zulipchat.com/#narrow/stream/346855-_announcements/topic/balenaCloud.20end-to-end.20tests --- ...acefully-deny-conflicting-registrations.ts | 69 +++++++++++++++++++ .../hooks/cache-invalidation.ts | 52 ++++++++++++++ .../device-provisioning/hooks/index.ts | 1 + src/features/device-provisioning/register.ts | 6 +- src/hooks.ts | 1 + src/infra/cache/multi-level-store.ts | 2 +- src/lib/config.ts | 4 ++ 7 files changed, 132 insertions(+), 3 deletions(-) create mode 100644 src/features/device-provisioning/gracefully-deny-conflicting-registrations.ts create mode 100644 src/features/device-provisioning/hooks/cache-invalidation.ts create mode 100644 src/features/device-provisioning/hooks/index.ts diff --git a/src/features/device-provisioning/gracefully-deny-conflicting-registrations.ts b/src/features/device-provisioning/gracefully-deny-conflicting-registrations.ts new file mode 100644 index 000000000..c2189e2b5 --- /dev/null +++ b/src/features/device-provisioning/gracefully-deny-conflicting-registrations.ts @@ -0,0 +1,69 @@ +import _ from 'lodash'; +import { sbvrUtils, errors, permissions } from '@balena/pinejs'; +import { API_KEY_EXISTS_CACHE_TIMEOUT } from '../../lib/config'; +import { createMultiLevelStore } from '../../infra/cache'; +import { checkDeviceExistsIsFrozen } from '../device-state/middleware'; + +const { ConflictError } = errors; +const { api } = sbvrUtils; + +const checkApiKeyExistsQuery = _.once(() => + api.resin.prepare<{ key: string }>({ + resource: 'api_key', + passthrough: { req: permissions.root }, + id: { + key: { '@': 'key' }, + }, + options: { + $select: 'id', + }, + }), +); + +export const checkApiKeyExistsStore = createMultiLevelStore( + 'checkApiKeyExists', + { + default: { + // We only care to cache the api keys that already exist, + // so that we throw a conflict error earlier. + isCacheableValue: (value: any) => value === true, + ttl: API_KEY_EXISTS_CACHE_TIMEOUT, + }, + local: false, + }, + false, +); + +const checkApiKeyExists = async (key: string) => { + return await checkApiKeyExistsStore.wrap(key, async () => { + const apiKey = await checkApiKeyExistsQuery()({ key }); + return apiKey != null; + }); +}; + +/** + * Early reject requests with already existing UUIDs/api keys to avoid + * running the whole registration process and its rules. + * TODO: Consider removing this once pine supports rule narrowing on multiple resources. + */ +export async function gracefullyDenyConflictingRegistrations( + uuid: string, + apiKey: string | undefined, +) { + // Even though requests with conflicting device UUIDs are cheap (since they throw before the rules run), + // we do have to check for the UUID so that a registration with conflicting UUID & Api key still throws + // the same error as if this optimization did not exist. + const device = await checkDeviceExistsIsFrozen(uuid); + if (device != null) { + // Should be matching the conflict error that Pine would throw + // so that the optimization is transparent. + throw new ConflictError('"uuid" must be unique.'); + } + + const existingApiKey = apiKey != null && (await checkApiKeyExists(apiKey)); + if (existingApiKey) { + // Should be matching the conflict error that Pine would throw + // so that the optimization is transparent. + throw new ConflictError('"key" must be unique.'); + } +} diff --git a/src/features/device-provisioning/hooks/cache-invalidation.ts b/src/features/device-provisioning/hooks/cache-invalidation.ts new file mode 100644 index 000000000..8bb5224e7 --- /dev/null +++ b/src/features/device-provisioning/hooks/cache-invalidation.ts @@ -0,0 +1,52 @@ +import { sbvrUtils, permissions, hooks } from '@balena/pinejs'; +import { checkApiKeyExistsStore } from '../gracefully-deny-conflicting-registrations'; +import { checkDeviceExistsIsFrozen } from '../../device-state/middleware'; +import { captureException } from '../../../infra/error-handling'; + +const setupCacheInvalidation = ( + model: string, + resource: string, + keyProperty: K, + cache: { delete: (key: string) => Promise }, +) => { + hooks.addPureHook('DELETE', model, resource, { + PRERUN: async (args) => { + const { api, tx } = args; + const affectedIds = await sbvrUtils.getAffectedIds(args); + if (affectedIds.length === 0) { + return; + } + const affectedItems = (await api.get({ + resource, + passthrough: { req: permissions.root, tx }, + options: { + $select: keyProperty, + $filter: { + id: { $in: affectedIds }, + }, + }, + })) as Array<{ [key in K]: string }>; + + // Invalidate the caches only when the tx is committed + tx.on('end', () => { + for (const affectedItem of affectedItems) { + // Run in the background as this is not a reason to fail the request + (async () => { + try { + await cache.delete(affectedItem[keyProperty]); + } catch (err) { + captureException( + err, + `Error while invalidating a(n) ${model} record from the device registration gracefully deny cache: ${affectedIds}`, + ); + } + })(); + } + }); + }, + }); +}; + +setupCacheInvalidation('resin', 'device', 'uuid', checkDeviceExistsIsFrozen); +setupCacheInvalidation('resin', 'api_key', 'key', checkApiKeyExistsStore); +setupCacheInvalidation('Auth', 'api_key', 'key', checkApiKeyExistsStore); diff --git a/src/features/device-provisioning/hooks/index.ts b/src/features/device-provisioning/hooks/index.ts new file mode 100644 index 000000000..14793d426 --- /dev/null +++ b/src/features/device-provisioning/hooks/index.ts @@ -0,0 +1 @@ +import './cache-invalidation'; diff --git a/src/features/device-provisioning/register.ts b/src/features/device-provisioning/register.ts index 0dc07d168..5271ef10e 100644 --- a/src/features/device-provisioning/register.ts +++ b/src/features/device-provisioning/register.ts @@ -1,7 +1,5 @@ import type { RequestHandler } from 'express'; -import _ from 'lodash'; import randomstring from 'randomstring'; - import { sbvrUtils, errors } from '@balena/pinejs'; import { @@ -17,6 +15,7 @@ import { import { getDeviceTypeBySlug } from '../device-types/device-types'; import { checkInt } from '../../lib/utils'; import { checkDeviceExistsIsFrozen } from '../device-state/middleware'; +import { gracefullyDenyConflictingRegistrations } from './gracefully-deny-conflicting-registrations'; const { BadRequestError, ConflictError } = errors; const { api } = sbvrUtils; @@ -43,6 +42,8 @@ export const register: RequestHandler = async (req, res) => { throw new BadRequestError('UUID must be specified'); } + await gracefullyDenyConflictingRegistrations(uuid, req.body.api_key); + const { supervisor_version: supervisorVersion, os_version: osVersion, @@ -94,6 +95,7 @@ export const register: RequestHandler = async (req, res) => { api_key: apiKey, }; }); + // Clear the device existence cache for the just registered device // in case it tried to communicate with the API before registering checkDeviceExistsIsFrozen.delete(response.uuid); diff --git a/src/hooks.ts b/src/hooks.ts index ef2012121..2d2c90481 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -4,6 +4,7 @@ import './features/application-types/hooks'; import './features/ci-cd/hooks'; import './features/cascade-delete/hooks'; import './features/devices/hooks'; +import './features/device-provisioning/hooks'; import './features/device-types/hooks'; import './features/device-urls/hooks'; import './features/hostapp/hooks'; diff --git a/src/infra/cache/multi-level-store.ts b/src/infra/cache/multi-level-store.ts index b957655b8..12af12cd3 100644 --- a/src/infra/cache/multi-level-store.ts +++ b/src/infra/cache/multi-level-store.ts @@ -34,7 +34,7 @@ export function createMultiLevelStore( get: (key: string) => Promise; set: (key: string, value: T) => Promise; delete: (key: string) => Promise; - wrap: (key: string, fn: () => T) => Promise; + wrap: (key: string, fn: () => T | Promise) => Promise; } { if (usedCacheKeys[cacheKey] === true) { throw new Error(`Cache key '${cacheKey}' has already been taken`); diff --git a/src/lib/config.ts b/src/lib/config.ts index 9f0316126..76d3fbf28 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -318,6 +318,10 @@ export const BUILD_COMPRESSED_SIZE_CACHE_TIMEOUT = intVar( 'BUILD_COMPRESSED_SIZE_CACHE_TIMEOUT', 20 * MINUTES, ); +export const API_KEY_EXISTS_CACHE_TIMEOUT = intVar( + 'API_KEY_EXISTS_CACHE_TIMEOUT', + 5 * MINUTES, +); export const DEVICE_EXISTS_CACHE_TIMEOUT = intVar( 'DEVICE_EXISTS_CACHE_TIMEOUT', 5 * MINUTES, From 0e8648769ba12c6bb716c1391fb0bd3208daa34d Mon Sep 17 00:00:00 2001 From: balenaCI Date: Tue, 13 Jun 2023 14:48:40 +0000 Subject: [PATCH 024/221] v13.0.1 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 28d0e4b92..31d7afa14 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Gracefully deny device registrations with duplicate api key + hash: 87f6127fb9f529b8ca8a4d264c5a5175db0aac1a + body: "" + footer: + Change-type: patch + change-type: patch + See: https://balena.zulipchat.com/#narrow/stream/346855-_announcements/topic/balenaCloud.20end-to-end.20tests + see: https://balena.zulipchat.com/#narrow/stream/346855-_announcements/topic/balenaCloud.20end-to-end.20tests + author: Thodoris Greasidis + nested: [] + version: 13.0.1 + title: "" + date: 2023-06-13T14:48:38.288Z - commits: - subject: Drop unused `device has vpn address` property hash: 9e170fe32190032218289dec6321058aaebcd1eb diff --git a/CHANGELOG.md b/CHANGELOG.md index 5fa9d3121..711fe590b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.1 - 2023-06-13 + +* Gracefully deny device registrations with duplicate api key [Thodoris Greasidis] + ## 13.0.0 - 2023-06-12 * Drop unused `device has vpn address` property [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index f45375ea0..4433a76af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.0", + "version": "13.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.0", + "version": "13.0.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index c6f188f81..2dd5e1cdd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.0", + "version": "13.0.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-12T12:37:07.141Z" + "publishedAt": "2023-06-13T14:48:39.163Z" } } From cbddcc0ad6eddd295fc46c3c342c2b954e6ccdd3 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Fri, 12 May 2023 16:06:40 +0300 Subject: [PATCH 025/221] Combine two of the rules about supervisor releases managing devices Change-type: patch Signed-off-by: Thodoris Greasidis --- src/balena.sbvr | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/balena.sbvr b/src/balena.sbvr index bc3ae2be6..ec352c508 100644 --- a/src/balena.sbvr +++ b/src/balena.sbvr @@ -852,6 +852,5 @@ Rule: It is necessary that each release that should operate a device, has a stat Rule: It is necessary that each release that should operate a device that is of a device type, belongs to an application that is host and is for the device type. -- native supervisor release rules, separated for legibility Rule: It is necessary that each release that should manage a device, has a status that is equal to "success" and has a semver major that is greater than 0 or has a semver minor that is greater than 0 or has a semver patch that is greater than 0. --- this rule is meant to prevent accidentally setting a host extension as a supervisor (i.e., another public + non-host app) -Rule: It is necessary that each release that should manage a device, belongs to an application that is public and is not host and has a slug that is equal to "balena_os/aarch64-supervisor" or "balena_os/amd64-supervisor" or "balena_os/armv7hf-supervisor" or "balena_os/i386-supervisor" or "balena_os/i386-nlp-supervisor" or "balena_os/rpi-supervisor". -Rule: It is necessary that each release that should manage a device that is of a device type1, belongs to an application that is for a device type2 that is of a cpu architecture that is supported by the device type1. +-- The first part of this rule is meant to prevent accidentally setting a host extension as a supervisor (i.e., another public + non-host app) +Rule: It is necessary that each release that should manage a device that is of a device type1, belongs to an application that is public and is not host and has a slug that is equal to "balena_os/aarch64-supervisor" or "balena_os/amd64-supervisor" or "balena_os/armv7hf-supervisor" or "balena_os/i386-supervisor" or "balena_os/i386-nlp-supervisor" or "balena_os/rpi-supervisor" and is for a device type2 that is of a cpu architecture that is supported by the device type1. From 4d8bdd0bb050999601945be8411b8b67fed3b9af Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 14 Jun 2023 10:30:13 +0000 Subject: [PATCH 026/221] v13.0.2 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 31d7afa14..507b1fe80 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Combine two of the rules about supervisor releases managing devices + hash: 1dd8e416c5c6f7be9f36a02d8e0d673a152f0447 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Thodoris Greasidis + signed-off-by: Thodoris Greasidis + author: Thodoris Greasidis + nested: [] + version: 13.0.2 + title: "" + date: 2023-06-14T10:30:11.516Z - commits: - subject: Gracefully deny device registrations with duplicate api key hash: 87f6127fb9f529b8ca8a4d264c5a5175db0aac1a diff --git a/CHANGELOG.md b/CHANGELOG.md index 711fe590b..17d5c74a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.2 - 2023-06-14 + +* Combine two of the rules about supervisor releases managing devices [Thodoris Greasidis] + ## 13.0.1 - 2023-06-13 * Gracefully deny device registrations with duplicate api key [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 4433a76af..c09eff978 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.1", + "version": "13.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.1", + "version": "13.0.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 2dd5e1cdd..43d7b8536 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.1", + "version": "13.0.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-13T14:48:39.163Z" + "publishedAt": "2023-06-14T10:30:12.318Z" } } From 3454ce5cc4ebdeee05dbbf4ba358dff14ac128af Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 13 Jun 2023 19:29:36 +0300 Subject: [PATCH 027/221] device-provisioning: Stop reporting conflict errors Change-type: patch See: https://balena.zulipchat.com/#narrow/stream/345887-aspect.2Fpeople-ops/topic/Sentry.20Billing.20changes --- src/features/device-provisioning/register.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/features/device-provisioning/register.ts b/src/features/device-provisioning/register.ts index 5271ef10e..e926487dc 100644 --- a/src/features/device-provisioning/register.ts +++ b/src/features/device-provisioning/register.ts @@ -102,11 +102,6 @@ export const register: RequestHandler = async (req, res) => { res.status(201).json(response); } catch (err) { - if (err instanceof ConflictError) { - captureException(err, 'Conflict error while registering device', { - req, - }); - } if (err instanceof ConflictError && err.message.includes('uuid')) { // WORKAROUND: balena-supervisor >= v4.2.0 < v11.4.14 rely on the specific error message rather than a 409 // so we convert the error here to ensure they can continue to work, this should be removed once we drop From 40888a2445026617ef73ea23fc79e97f0e6c3a6d Mon Sep 17 00:00:00 2001 From: balenaCI Date: Wed, 14 Jun 2023 12:50:08 +0000 Subject: [PATCH 028/221] v13.0.3 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 507b1fe80..3792e7bdb 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: "device-provisioning: Stop reporting conflict errors" + hash: 972230888fddc193ceec10f086af593fd692ad2a + body: "" + footer: + Change-type: patch + change-type: patch + See: https://balena.zulipchat.com/#narrow/stream/345887-aspect.2Fpeople-ops/topic/Sentry.20Billing.20changes + see: https://balena.zulipchat.com/#narrow/stream/345887-aspect.2Fpeople-ops/topic/Sentry.20Billing.20changes + author: Thodoris Greasidis + nested: [] + version: 13.0.3 + title: "" + date: 2023-06-14T12:50:05.952Z - commits: - subject: Combine two of the rules about supervisor releases managing devices hash: 1dd8e416c5c6f7be9f36a02d8e0d673a152f0447 diff --git a/CHANGELOG.md b/CHANGELOG.md index 17d5c74a4..b0fd46951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.3 - 2023-06-14 + +* device-provisioning: Stop reporting conflict errors [Thodoris Greasidis] + ## 13.0.2 - 2023-06-14 * Combine two of the rules about supervisor releases managing devices [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index c09eff978..d13df58af 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.2", + "version": "13.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.2", + "version": "13.0.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 43d7b8536..40de8ea27 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.2", + "version": "13.0.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-14T10:30:12.318Z" + "publishedAt": "2023-06-14T12:50:06.834Z" } } From 0e6a1b1309d27d78d7168ffc56b97f08ee41b56a Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:03:56 +0000 Subject: [PATCH 029/221] Update balena/open-balena-base Docker tag to v14.10.1 Update balena/open-balena-base from 14.10.0 to 14.10.1 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2f8efcd01..c0574e9cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.10.0 as runtime +FROM balena/open-balena-base:v14.10.1 as runtime EXPOSE 80 From 376e89c5d967a5715f144d98178889b2d0808a71 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 21 Jun 2023 12:13:25 +0000 Subject: [PATCH 030/221] v13.0.4 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 3792e7bdb..ff8973e70 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v14.10.1 + hash: 10d1814c0b6c03045254a49fe920c5c083512ef1 + body: | + Update balena/open-balena-base from 14.10.0 to 14.10.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency node to v18.16.1 + hash: 37279e28a319d6594b1c5bc6e74ee779b8210ab0 + body: | + Update node from 18.16.0 to 18.16.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-14.10.1 + title: "" + date: 2023-06-21T11:03:53.581Z + version: 13.0.4 + title: "" + date: 2023-06-21T12:13:16.747Z - commits: - subject: "device-provisioning: Stop reporting conflict errors" hash: 972230888fddc193ceec10f086af593fd692ad2a diff --git a/CHANGELOG.md b/CHANGELOG.md index b0fd46951..b540da9e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.4 - 2023-06-21 + + +
+ Update balena/open-balena-base Docker tag to v14.10.1 [Self-hosted Renovate Bot] + +> ### open-balena-base-14.10.1 - 2023-06-21 +> +> * Update dependency node to v18.16.1 [Self-hosted Renovate Bot] +> + +
+ ## 13.0.3 - 2023-06-14 * device-provisioning: Stop reporting conflict errors [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index d13df58af..f01466537 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.3", + "version": "13.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.3", + "version": "13.0.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 40de8ea27..077b2bf01 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.3", + "version": "13.0.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-14T12:50:06.834Z" + "publishedAt": "2023-06-21T12:13:18.846Z" } } From 5b81f0c10d9f51b5f09a4d64e704ee77e1102dad Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 21 Jun 2023 20:01:59 +0000 Subject: [PATCH 031/221] Update balena/open-balena-base Docker tag to v14.10.2 Update balena/open-balena-base from 14.10.1 to 14.10.2 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c0574e9cf..5c16a3644 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.10.1 as runtime +FROM balena/open-balena-base:v14.10.2 as runtime EXPOSE 80 From c96fb49a48d2cb1967c3af798e674a7f5e421a51 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 21 Jun 2023 20:11:44 +0000 Subject: [PATCH 032/221] v13.0.5 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ff8973e70..e481c0a38 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v14.10.2 + hash: 7d0c267e24dc50bb4f500093f09477d9038e2848 + body: | + Update balena/open-balena-base from 14.10.1 to 14.10.2 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v9.7.2 + hash: dc44055a7bae68fa173261103af949ca76448979 + body: | + Update npm from 9.7.1 to 9.7.2 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-14.10.2 + title: "" + date: 2023-06-21T19:00:56.925Z + version: 13.0.5 + title: "" + date: 2023-06-21T20:11:39.592Z - commits: - subject: Update balena/open-balena-base Docker tag to v14.10.1 hash: 10d1814c0b6c03045254a49fe920c5c083512ef1 diff --git a/CHANGELOG.md b/CHANGELOG.md index b540da9e0..59f2a0ae2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.5 - 2023-06-21 + + +
+ Update balena/open-balena-base Docker tag to v14.10.2 [Self-hosted Renovate Bot] + +> ### open-balena-base-14.10.2 - 2023-06-21 +> +> * Update dependency npm to v9.7.2 [Self-hosted Renovate Bot] +> + +
+ ## 13.0.4 - 2023-06-21 diff --git a/package-lock.json b/package-lock.json index f01466537..0004dbec2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.4", + "version": "13.0.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.4", + "version": "13.0.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 077b2bf01..7bfff2541 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.4", + "version": "13.0.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-21T12:13:18.846Z" + "publishedAt": "2023-06-21T20:11:41.155Z" } } From 093b2f5acbc7ed5a8d4b3c3c10f1c85e03dd6c40 Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Mon, 26 Jun 2023 17:32:55 +0100 Subject: [PATCH 033/221] Rollback device registration if the request ends/is aborted midway Change-type: patch --- src/features/device-provisioning/register.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/features/device-provisioning/register.ts b/src/features/device-provisioning/register.ts index e926487dc..3034936ba 100644 --- a/src/features/device-provisioning/register.ts +++ b/src/features/device-provisioning/register.ts @@ -16,6 +16,7 @@ import { getDeviceTypeBySlug } from '../device-types/device-types'; import { checkInt } from '../../lib/utils'; import { checkDeviceExistsIsFrozen } from '../device-state/middleware'; import { gracefullyDenyConflictingRegistrations } from './gracefully-deny-conflicting-registrations'; +import onFinished from 'on-finished'; const { BadRequestError, ConflictError } = errors; const { api } = sbvrUtils; @@ -67,6 +68,13 @@ export const register: RequestHandler = async (req, res) => { ); const response = await sbvrUtils.db.transaction(async (tx) => { + // TODO: Replace this manual rollback on request closure with a more generic/automated version + onFinished(res, () => { + if (!tx.isClosed()) { + tx.rollback(); + } + }); + const resinApiTx = api.resin.clone({ passthrough: { req, tx } }); const deviceType = await getDeviceTypeBySlug(resinApiTx, deviceTypeSlug); const device = await resinApiTx.post({ From 7d172f219237927602ff825404018dcd7b83ddd6 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 27 Jun 2023 13:14:18 +0000 Subject: [PATCH 034/221] v13.0.6 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index e481c0a38..58cd63536 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Rollback device registration if the request ends/is aborted midway + hash: 828c5aedeb235f2da392bd786a1fcab167e7b51d + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: 13.0.6 + title: "" + date: 2023-06-27T13:14:11.949Z - commits: - subject: Update balena/open-balena-base Docker tag to v14.10.2 hash: 7d0c267e24dc50bb4f500093f09477d9038e2848 diff --git a/CHANGELOG.md b/CHANGELOG.md index 59f2a0ae2..d68c04141 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.6 - 2023-06-27 + +* Rollback device registration if the request ends/is aborted midway [Pagan Gazzard] + ## 13.0.5 - 2023-06-21 diff --git a/package-lock.json b/package-lock.json index 0004dbec2..b46617a85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.5", + "version": "13.0.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.5", + "version": "13.0.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 7bfff2541..8999d2697 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.5", + "version": "13.0.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-21T20:11:41.155Z" + "publishedAt": "2023-06-27T13:14:13.022Z" } } From e75a33dcc079bfd36e51a6695cbe30bed03c709b Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Sat, 1 Jul 2023 08:59:35 +0000 Subject: [PATCH 035/221] Update dependency semver to v7.5.2 [SECURITY] Update semver from 7.5.1 to 7.5.2 Change-type: patch --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index b46617a85..b4f078f0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -84,7 +84,7 @@ "redlock": "^4.2.0", "request": "^2.88.2", "rsmq": "^0.12.4", - "semver": "^7.5.0", + "semver": "^7.5.2", "strict-event-emitter-types": "^2.0.0", "supervisor": "^0.12.0", "tar": "^6.1.13", @@ -7564,9 +7564,9 @@ } }, "node_modules/semver": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", - "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", + "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", "dependencies": { "lru-cache": "^6.0.0" }, From 0055a8d0a52dec80b513acd0d47d6557d65228b0 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Sat, 1 Jul 2023 09:07:46 +0000 Subject: [PATCH 036/221] v13.0.7 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 58cd63536..0fb2ac7ab 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency semver to v7.5.2 [SECURITY] + hash: 2b8ce87e54352b04c99e3050f507366747e54ef1 + body: | + Update semver from 7.5.1 to 7.5.2 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 13.0.7 + title: "" + date: 2023-07-01T09:07:42.248Z - commits: - subject: Rollback device registration if the request ends/is aborted midway hash: 828c5aedeb235f2da392bd786a1fcab167e7b51d diff --git a/CHANGELOG.md b/CHANGELOG.md index d68c04141..86b76e57d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.0.7 - 2023-07-01 + +* Update dependency semver to v7.5.2 [SECURITY] [Self-hosted Renovate Bot] + ## 13.0.6 - 2023-06-27 * Rollback device registration if the request ends/is aborted midway [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index b4f078f0e..bdac07a47 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.6", + "version": "13.0.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.6", + "version": "13.0.7", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 8999d2697..1a9bf8235 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.6", + "version": "13.0.7", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-06-27T13:14:13.022Z" + "publishedAt": "2023-07-01T09:07:43.085Z" } } From 7b841cf3adc0242f807365d4d4083433ef08ea30 Mon Sep 17 00:00:00 2001 From: Florin Sarbu Date: Wed, 5 Jul 2023 14:05:18 +0200 Subject: [PATCH 037/221] Expose the RPi family config vars to Revolution Pi Connect and Revolution Pi Connect S Change-type: minor Signed-off-by: Florin Sarbu --- src/features/vars-schema/env-vars.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/features/vars-schema/env-vars.ts b/src/features/vars-schema/env-vars.ts index d6d417bab..4d8c8a643 100644 --- a/src/features/vars-schema/env-vars.ts +++ b/src/features/vars-schema/env-vars.ts @@ -159,6 +159,8 @@ export const DEVICE_TYPE_SPECIFIC_CONFIG_VAR_PROPERTIES: Array<{ 'raspberrypi4-64', 'raspberrypi400-64', 'raspberrypicm4-ioboard', + 'revpi-connect', + 'revpi-connect-s', 'revpi-core-3', ], properties: { From 8b953864c3a4543df629ccf68940575d2eb26956 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 5 Jul 2023 12:16:04 +0000 Subject: [PATCH 038/221] v13.1.0 --- .versionbot/CHANGELOG.yml | 15 +++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 0fb2ac7ab..588c9715d 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,18 @@ +- commits: + - subject: Expose the RPi family config vars to Revolution Pi Connect and + Revolution Pi Connect S + hash: ee8d2128a8502fb5b73014dffbef9ab5f3bc3acf + body: "" + footer: + Change-type: minor + change-type: minor + Signed-off-by: Florin Sarbu + signed-off-by: Florin Sarbu + author: Florin Sarbu + nested: [] + version: 13.1.0 + title: "" + date: 2023-07-05T12:15:57.993Z - commits: - subject: Update dependency semver to v7.5.2 [SECURITY] hash: 2b8ce87e54352b04c99e3050f507366747e54ef1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 86b76e57d..7728857ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.1.0 - 2023-07-05 + +* Expose the RPi family config vars to Revolution Pi Connect and Revolution Pi Connect S [Florin Sarbu] + ## 13.0.7 - 2023-07-01 * Update dependency semver to v7.5.2 [SECURITY] [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index bdac07a47..242a31524 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.0.7", + "version": "13.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.0.7", + "version": "13.1.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 1a9bf8235..44264aba6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.0.7", + "version": "13.1.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-01T09:07:43.085Z" + "publishedAt": "2023-07-05T12:15:58.866Z" } } From c9c7c73058c40db4be930f4571edfddd025e98d6 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 5 Jul 2023 21:20:28 +0000 Subject: [PATCH 039/221] Update balena/open-balena-base Docker tag to v14.11.0 Update balena/open-balena-base from 14.10.2 to 14.11.0 Change-type: minor --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5c16a3644..43143451a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.10.2 as runtime +FROM balena/open-balena-base:v14.11.0 as runtime EXPOSE 80 From 200a118b170146df2c7bbbaf073cabce0a9ab57b Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 5 Jul 2023 21:28:52 +0000 Subject: [PATCH 040/221] v13.2.0 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 588c9715d..66e2b0407 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v14.11.0 + hash: 1d2438a962c1199b40bc7d1b54cb37f9e704cb2d + body: | + Update balena/open-balena-base from 14.10.2 to 14.11.0 + footer: + Change-type: minor + change-type: minor + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v9.8.0 + hash: 08daab22e7497506c6d426900952ed186d273b0b + body: | + Update npm from 9.7.2 to 9.8.0 + footer: + Change-type: minor + change-type: minor + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-14.11.0 + title: "" + date: 2023-07-05T21:02:09.040Z + version: 13.2.0 + title: "" + date: 2023-07-05T21:28:44.796Z - commits: - subject: Expose the RPi family config vars to Revolution Pi Connect and Revolution Pi Connect S diff --git a/CHANGELOG.md b/CHANGELOG.md index 7728857ba..8686d4f08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.2.0 - 2023-07-05 + + +
+ Update balena/open-balena-base Docker tag to v14.11.0 [Self-hosted Renovate Bot] + +> ### open-balena-base-14.11.0 - 2023-07-05 +> +> * Update dependency npm to v9.8.0 [Self-hosted Renovate Bot] +> + +
+ ## 13.1.0 - 2023-07-05 * Expose the RPi family config vars to Revolution Pi Connect and Revolution Pi Connect S [Florin Sarbu] diff --git a/package-lock.json b/package-lock.json index 242a31524..bf111b5b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.1.0", + "version": "13.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.1.0", + "version": "13.2.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 44264aba6..657445d4b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.1.0", + "version": "13.2.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-05T12:15:58.866Z" + "publishedAt": "2023-07-05T21:28:47.009Z" } } From 40c3211d8526bffc670953fa216b8f96a555af18 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 5 Jul 2023 22:19:28 +0000 Subject: [PATCH 041/221] Update balena/open-balena-base Docker tag to v14.11.1 Update balena/open-balena-base from 14.11.0 to 14.11.1 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 43143451a..4dde18bcb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.11.0 as runtime +FROM balena/open-balena-base:v14.11.1 as runtime EXPOSE 80 From 99310bd6e0500ee45aee4de62ab2d76b1f4d8cc6 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 5 Jul 2023 22:29:11 +0000 Subject: [PATCH 042/221] v13.2.1 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 66e2b0407..7b8f4f362 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v14.11.1 + hash: 0235be114f64719b152021f660bec696fa93c602 + body: | + Update balena/open-balena-base from 14.11.0 to 14.11.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update Node.js to v18.16.1 + hash: f503c520c701649745a9f8fe16a9e00abe9330ca + body: | + Update node from 18.16.0 to 18.16.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-14.11.1 + title: "" + date: 2023-07-05T22:04:23.263Z + version: 13.2.1 + title: "" + date: 2023-07-05T22:29:04.126Z - commits: - subject: Update balena/open-balena-base Docker tag to v14.11.0 hash: 1d2438a962c1199b40bc7d1b54cb37f9e704cb2d diff --git a/CHANGELOG.md b/CHANGELOG.md index 8686d4f08..3b8487fdd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.2.1 - 2023-07-05 + + +
+ Update balena/open-balena-base Docker tag to v14.11.1 [Self-hosted Renovate Bot] + +> ### open-balena-base-14.11.1 - 2023-07-05 +> +> * Update Node.js to v18.16.1 [Self-hosted Renovate Bot] +> + +
+ ## 13.2.0 - 2023-07-05 diff --git a/package-lock.json b/package-lock.json index bf111b5b8..24ebe7597 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.2.0", + "version": "13.2.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.2.0", + "version": "13.2.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 657445d4b..122118f35 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.2.0", + "version": "13.2.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-05T21:28:47.009Z" + "publishedAt": "2023-07-05T22:29:06.716Z" } } From 09163fd0b2a4820f853e81474f6b2cd7800aa687 Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Mon, 10 Jul 2023 16:46:01 +0100 Subject: [PATCH 043/221] Update open-balena-base to 15.0.0 Update open-balena-base from 14.11.1 to 15.0.0 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4dde18bcb..693c88589 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v14.11.1 as runtime +FROM balena/open-balena-base:v15.0.0 as runtime EXPOSE 80 From 55a1f572a95d5a8f3a3692354d399a46c134d0ff Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 10 Jul 2023 16:06:32 +0000 Subject: [PATCH 044/221] v13.2.2 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 7b8f4f362..1507e80c9 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update open-balena-base to 15.0.0 + hash: d7e618f38ff0f9f0f383dd2df337b26184d33227 + body: | + Update open-balena-base from 14.11.1 to 15.0.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: 13.2.2 + title: "" + date: 2023-07-10T16:06:27.594Z - commits: - subject: Update balena/open-balena-base Docker tag to v14.11.1 hash: 0235be114f64719b152021f660bec696fa93c602 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b8487fdd..a0603a152 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.2.2 - 2023-07-10 + +* Update open-balena-base to 15.0.0 [Pagan Gazzard] + ## 13.2.1 - 2023-07-05 diff --git a/package-lock.json b/package-lock.json index 24ebe7597..9fe18e60f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.2.1", + "version": "13.2.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.2.1", + "version": "13.2.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 122118f35..57302ce52 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.2.1", + "version": "13.2.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-05T22:29:06.716Z" + "publishedAt": "2023-07-10T16:06:28.448Z" } } From 32f19be0e0a2a3579b4019cf1a83e9bea788df46 Mon Sep 17 00:00:00 2001 From: Alexandru Costache Date: Tue, 11 Jul 2023 18:16:09 +0300 Subject: [PATCH 045/221] vars-schema: Add custom DTB support for Jetson Orin Nano Change-type: minor Signed-off-by: Alexandru Costache --- src/features/vars-schema/env-vars.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/features/vars-schema/env-vars.ts b/src/features/vars-schema/env-vars.ts index 4d8c8a643..a81e12733 100644 --- a/src/features/vars-schema/env-vars.ts +++ b/src/features/vars-schema/env-vars.ts @@ -293,6 +293,7 @@ export const DEVICE_TYPE_SPECIFIC_CONFIG_VAR_PROPERTIES: Array<{ '14.0.16': ['imx8mm-var-som'], '14.2.16': ['jetson-agx-orin-devkit'], '14.10.2': ['jetson-orin-nx-xavier-nx-devkit'], + '14.11.11': ['jetson-orin-nano-devkit-nvme'], }, { RESIN_HOST_EXTLINUX_fdt: { From 0eac877918322c9bb1534e53e3e7785ab1615fe9 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 12 Jul 2023 12:39:22 +0000 Subject: [PATCH 046/221] v13.3.0 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 1507e80c9..3f1525558 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: "vars-schema: Add custom DTB support for Jetson Orin Nano" + hash: 9e2d0888c62721c8ba2da3f74e515a34135c3aa7 + body: "" + footer: + Change-type: minor + change-type: minor + Signed-off-by: Alexandru Costache + signed-off-by: Alexandru Costache + author: Alexandru Costache + nested: [] + version: 13.3.0 + title: "" + date: 2023-07-12T12:39:17.390Z - commits: - subject: Update open-balena-base to 15.0.0 hash: d7e618f38ff0f9f0f383dd2df337b26184d33227 diff --git a/CHANGELOG.md b/CHANGELOG.md index a0603a152..b5ecf645b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 13.3.0 - 2023-07-12 + +* vars-schema: Add custom DTB support for Jetson Orin Nano [Alexandru Costache] + ## 13.2.2 - 2023-07-10 * Update open-balena-base to 15.0.0 [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index 9fe18e60f..b91f8d04c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.2.2", + "version": "13.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.2.2", + "version": "13.3.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 57302ce52..871276d41 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.2.2", + "version": "13.3.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-10T16:06:28.448Z" + "publishedAt": "2023-07-12T12:39:18.279Z" } } From cdfaa3e4543140aa309b8c1fb836ee5a6ccec283 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Fri, 17 Mar 2023 21:48:07 +0200 Subject: [PATCH 047/221] Use the graceful deny mechanism for device state PATCH v3 Change-type: major --- src/features/device-state/index.ts | 15 ++++++-- src/features/device-state/middleware.ts | 36 +++++++++++++------ .../device-state/routes/state-get-v2.ts | 3 +- .../device-state/routes/state-get-v3.ts | 3 +- .../device-state/routes/state-patch-v2.ts | 5 +-- .../device-state/routes/state-patch-v3.ts | 21 ++++++++--- 6 files changed, 62 insertions(+), 21 deletions(-) diff --git a/src/features/device-state/index.ts b/src/features/device-state/index.ts index 54610501c..0c556cc46 100644 --- a/src/features/device-state/index.ts +++ b/src/features/device-state/index.ts @@ -8,7 +8,11 @@ import { resolveOrDenyDevicesWithStatus } from './middleware'; import { stateV2 } from './routes/state-get-v2'; import { stateV3 } from './routes/state-get-v3'; import { statePatchV2 } from './routes/state-patch-v2'; -import { statePatchV3 } from './routes/state-patch-v3'; +import { + StatePatchV3Body, + resolveDeviceUuids, + statePatchV3, +} from './routes/state-patch-v3'; import { fleetStateV3 } from './routes/fleet-state-get-v3'; import { Device } from '../../balena-model'; @@ -49,7 +53,14 @@ export const setup = (app: Application) => { middleware.authenticatedApiKey, statePatchV2, ); - app.patch('/device/v3/state', middleware.authenticatedApiKey, statePatchV3); + app.patch( + '/device/v3/state', + resolveOrDenyDevicesWithStatus(401, (req) => + resolveDeviceUuids(req.body as StatePatchV3Body), + ), + middleware.authenticatedApiKey, + statePatchV3, + ); app.get( '/device/v3/fleet/:fleetUuid/state', middleware.authenticated, diff --git a/src/features/device-state/middleware.ts b/src/features/device-state/middleware.ts index e95c82e49..49c79fa85 100644 --- a/src/features/device-state/middleware.ts +++ b/src/features/device-state/middleware.ts @@ -5,6 +5,7 @@ import type { Device } from '../../balena-model'; import { sbvrUtils, permissions } from '@balena/pinejs'; import { DEVICE_EXISTS_CACHE_TIMEOUT } from '../../lib/config'; +import type { Request } from 'express-serve-static-core'; const { api } = sbvrUtils; @@ -39,14 +40,17 @@ export const checkDeviceExistsIsFrozen = multiCacheMemoizee( ); export interface ResolveDeviceInfoCustomObject { - resolvedDevice: Device['id']; + resolvedDeviceIds: Array; } +const requestParamsUuidResolver = (req: Request) => [req.params.uuid]; + /** * This checks if a device is deleted or frozen and responds according to the passed statusCode(s) */ export const resolveOrDenyDevicesWithStatus = ( statusCode: number | { deleted: number; frozen: number }, + uuidResolver: (req: Request) => string[] = requestParamsUuidResolver, ): RequestHandler => { const deletedStatusCode = typeof statusCode === 'number' ? statusCode : statusCode.deleted; @@ -54,20 +58,32 @@ export const resolveOrDenyDevicesWithStatus = ( typeof statusCode === 'number' ? statusCode : statusCode.frozen; return async (req, res, next) => { - const device = await checkDeviceExistsIsFrozen(req.params.uuid); - if (device == null) { - // Gracefully deny deleted devices + const uuids = uuidResolver(req); + if (!uuids.length) { res.status(deletedStatusCode).end(); return; } - if (device.is_frozen) { - // Gracefully deny frozen devices - res.status(frozenStatusCode).end(); - return; + const deviceIds: number[] = []; + for (const uuid of uuids) { + const device = await checkDeviceExistsIsFrozen(uuid); + // Heads-up: if any of the provided devices is deleted/frozen + // then the whole request is rejected! We should revisit this + // if we later add again support for handling multiple devices + // per request. + if (device == null) { + // Gracefully deny deleted devices + res.status(deletedStatusCode).end(); + return; + } + if (device.is_frozen) { + // Gracefully deny frozen devices + res.status(frozenStatusCode).end(); + return; + } + deviceIds.push(device.id); } - req.custom ??= {}; - (req.custom as ResolveDeviceInfoCustomObject).resolvedDevice = device.id; + (req.custom as ResolveDeviceInfoCustomObject).resolvedDeviceIds = deviceIds; next(); }; }; diff --git a/src/features/device-state/routes/state-get-v2.ts b/src/features/device-state/routes/state-get-v2.ts index e47d407e2..769ecf4a9 100644 --- a/src/features/device-state/routes/state-get-v2.ts +++ b/src/features/device-state/routes/state-get-v2.ts @@ -239,7 +239,8 @@ const stateQuery = _.once(() => ); const getStateV2 = async (req: Request, uuid: string): Promise => { - const deviceId = (req.custom as ResolveDeviceInfoCustomObject).resolvedDevice; + const [deviceId] = (req.custom as ResolveDeviceInfoCustomObject) + .resolvedDeviceIds; const device = await getDevice(req, uuid); const config = getConfig(device); diff --git a/src/features/device-state/routes/state-get-v3.ts b/src/features/device-state/routes/state-get-v3.ts index e42b467c7..813110b75 100644 --- a/src/features/device-state/routes/state-get-v3.ts +++ b/src/features/device-state/routes/state-get-v3.ts @@ -277,7 +277,8 @@ const stateQuery = _.once(() => ); const getStateV3 = async (req: Request, uuid: string): Promise => { - const deviceId = (req.custom as ResolveDeviceInfoCustomObject).resolvedDevice; + const [deviceId] = (req.custom as ResolveDeviceInfoCustomObject) + .resolvedDeviceIds; const device = await getDevice(req, uuid); const config = getConfig(device); diff --git a/src/features/device-state/routes/state-patch-v2.ts b/src/features/device-state/routes/state-patch-v2.ts index bddea27c6..1728998de 100644 --- a/src/features/device-state/routes/state-patch-v2.ts +++ b/src/features/device-state/routes/state-patch-v2.ts @@ -116,8 +116,9 @@ export const statePatchV2: RequestHandler = async (req, res) => { if (!uuid) { throw new BadRequestError(); } - const { resolvedDevice: deviceId } = - req.custom as ResolveDeviceInfoCustomObject; + const { + resolvedDeviceIds: [deviceId], + } = req.custom as ResolveDeviceInfoCustomObject; if (deviceId == null) { // We are supposed to have already checked this. throw new UnauthorizedError(); diff --git a/src/features/device-state/routes/state-patch-v3.ts b/src/features/device-state/routes/state-patch-v3.ts index 0fa09f55f..8ec1a9318 100644 --- a/src/features/device-state/routes/state-patch-v3.ts +++ b/src/features/device-state/routes/state-patch-v3.ts @@ -23,6 +23,7 @@ import { shouldUpdateMetrics, truncateShortTextFields, } from '../state-patch-utils'; +import { ResolveDeviceInfoCustomObject } from '../middleware'; const { BadRequestError, UnauthorizedError, InternalRequestError } = errors; const { api } = sbvrUtils; @@ -80,7 +81,7 @@ export type StatePatchV3Body = { const fetchData = async ( req: Express.Request, custom: AnyObject, - uuids: string[], + deviceIds: number[], appReleaseUuids: { [appUuid: string]: { releaseUuids: Set; @@ -97,7 +98,7 @@ const fetchData = async ( options: { $select: ['id', 'uuid'], $filter: { - uuid: { $in: uuids }, + id: { $in: deviceIds }, }, $expand: { belongs_to__application: { @@ -110,7 +111,7 @@ const fetchData = async ( belongs_to__application: Array>; } >; - if (devices.length !== uuids.length) { + if (devices.length !== deviceIds.length) { throw new UnauthorizedError(); } @@ -205,6 +206,9 @@ const fetchData = async ( return { devicesByUuid, images, releasesByAppUuid }; }); +export const resolveDeviceUuids = (body: StatePatchV3Body) => + Object.keys(body).filter((uuid) => body[uuid] != null); + export const statePatchV3: RequestHandler = async (req, res) => { try { const body = req.body as StatePatchV3Body; @@ -215,7 +219,7 @@ export const statePatchV3: RequestHandler = async (req, res) => { custom.ipAddress = getIP(req); } - const uuids = Object.keys(body).filter((uuid) => body[uuid] != null); + const uuids = resolveDeviceUuids(body); if (uuids.length === 0) { throw new BadRequestError(); } @@ -298,8 +302,15 @@ export const statePatchV3: RequestHandler = async (req, res) => { } if (apps != null || Object.keys(deviceBody).length > 0) { + const { resolvedDeviceIds } = + req.custom as ResolveDeviceInfoCustomObject; // We lazily fetch the necessary data only if we absolutely must to avoid unnecessary work if it turns out we don't need it - data ??= await fetchData(req, custom, uuids, appReleasesCriteria); + data ??= await fetchData( + req, + custom, + resolvedDeviceIds, + appReleasesCriteria, + ); const { images, releasesByAppUuid } = data; const device = data.devicesByUuid[uuid]; From 331984dc0d61e68b86790af610df833ba18b0337 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 17 Jul 2023 09:17:33 +0000 Subject: [PATCH 048/221] v14.0.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 3f1525558..a0574b65b 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Use the graceful deny mechanism for device state PATCH v3 + hash: 87ecf8b1c517e16024a19cf7e6d670962b1ad411 + body: "" + footer: + Change-type: major + change-type: major + author: Thodoris Greasidis + nested: [] + version: 14.0.0 + title: "" + date: 2023-07-17T09:17:28.212Z - commits: - subject: "vars-schema: Add custom DTB support for Jetson Orin Nano" hash: 9e2d0888c62721c8ba2da3f74e515a34135c3aa7 diff --git a/CHANGELOG.md b/CHANGELOG.md index b5ecf645b..36bbf96e8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.0.0 - 2023-07-17 + +* Use the graceful deny mechanism for device state PATCH v3 [Thodoris Greasidis] + ## 13.3.0 - 2023-07-12 * vars-schema: Add custom DTB support for Jetson Orin Nano [Alexandru Costache] diff --git a/package-lock.json b/package-lock.json index b91f8d04c..bb57c69d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "13.3.0", + "version": "14.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "13.3.0", + "version": "14.0.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 871276d41..cee35b10d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "13.3.0", + "version": "14.0.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-12T12:39:18.279Z" + "publishedAt": "2023-07-17T09:17:29.131Z" } } From 095278a7bcf0024899c206942c5226ba96d8dc51 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Tue, 18 Jul 2023 21:14:48 +0000 Subject: [PATCH 049/221] Update balena/open-balena-base Docker tag to v15.0.1 Update balena/open-balena-base from 15.0.0 to 15.0.1 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 693c88589..146a17a9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v15.0.0 as runtime +FROM balena/open-balena-base:v15.0.1 as runtime EXPOSE 80 From 6434b7fe4fe92d80741a8f47106c29db3f3ee5aa Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 18 Jul 2023 21:23:35 +0000 Subject: [PATCH 050/221] v14.0.1 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index a0574b65b..bae7ae0f6 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v15.0.1 + hash: b5b8dade6fc6d4d29fe3bac89bea74a6920759ea + body: | + Update balena/open-balena-base from 15.0.0 to 15.0.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency node to v18.17.0 + hash: e3470e98ffc31cd64dc59a1e3590ee2733e3263b + body: | + Update node from 18.16.1 to 18.17.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-15.0.1 + title: "" + date: 2023-07-18T20:02:23.624Z + version: 14.0.1 + title: "" + date: 2023-07-18T21:23:29.210Z - commits: - subject: Use the graceful deny mechanism for device state PATCH v3 hash: 87ecf8b1c517e16024a19cf7e6d670962b1ad411 diff --git a/CHANGELOG.md b/CHANGELOG.md index 36bbf96e8..dbbd1d666 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.0.1 - 2023-07-18 + + +
+ Update balena/open-balena-base Docker tag to v15.0.1 [Self-hosted Renovate Bot] + +> ### open-balena-base-15.0.1 - 2023-07-18 +> +> * Update dependency node to v18.17.0 [Self-hosted Renovate Bot] +> + +
+ ## 14.0.0 - 2023-07-17 * Use the graceful deny mechanism for device state PATCH v3 [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index bb57c69d3..00b75ac08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.0.0", + "version": "14.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.0.0", + "version": "14.0.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index cee35b10d..4755f23eb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.0.0", + "version": "14.0.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-17T09:17:29.131Z" + "publishedAt": "2023-07-18T21:23:31.032Z" } } From a1a71f83e2ed2ce6bf2f80108648d96fa55401e9 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 19:11:05 +0000 Subject: [PATCH 051/221] Update balena/open-balena-base Docker tag to v15.0.2 Update balena/open-balena-base from 15.0.1 to 15.0.2 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 146a17a9c..a85b1b982 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v15.0.1 as runtime +FROM balena/open-balena-base:v15.0.2 as runtime EXPOSE 80 From 9240beab5cdc493c8d0fe1de54f4e918f5f7d496 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 19:19:43 +0000 Subject: [PATCH 052/221] v14.0.2 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index bae7ae0f6..1a097ffaa 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v15.0.2 + hash: 03b8db14f60fca4138908b4c181badfccf23a67f + body: | + Update balena/open-balena-base from 15.0.1 to 15.0.2 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v9.8.1 + hash: 14e64ec6eaccc3112f1d25a15ee1507db42c3fbb + body: | + Update npm from 9.8.0 to 9.8.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-15.0.2 + title: "" + date: 2023-07-19T18:00:51.261Z + version: 14.0.2 + title: "" + date: 2023-07-19T19:19:39.268Z - commits: - subject: Update balena/open-balena-base Docker tag to v15.0.1 hash: b5b8dade6fc6d4d29fe3bac89bea74a6920759ea diff --git a/CHANGELOG.md b/CHANGELOG.md index dbbd1d666..8659083b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.0.2 - 2023-07-19 + + +
+ Update balena/open-balena-base Docker tag to v15.0.2 [Self-hosted Renovate Bot] + +> ### open-balena-base-15.0.2 - 2023-07-19 +> +> * Update dependency npm to v9.8.1 [Self-hosted Renovate Bot] +> + +
+ ## 14.0.1 - 2023-07-18 diff --git a/package-lock.json b/package-lock.json index 00b75ac08..fa905b0bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.0.1", + "version": "14.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.0.1", + "version": "14.0.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 4755f23eb..45ec22f71 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.0.1", + "version": "14.0.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-18T21:23:31.032Z" + "publishedAt": "2023-07-19T19:19:40.757Z" } } From 802cfc6485e7d57b5074de5b21237f669e6eb1ad Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 23:08:38 +0000 Subject: [PATCH 053/221] Update balena/open-balena-base Docker tag to v15.0.3 Update balena/open-balena-base from 15.0.2 to 15.0.3 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a85b1b982..2dd788bbc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v15.0.2 as runtime +FROM balena/open-balena-base:v15.0.3 as runtime EXPOSE 80 From 32921235be0edb0b5225a2f9a6ec7ea44008c242 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 19 Jul 2023 23:17:18 +0000 Subject: [PATCH 054/221] v14.0.3 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 1a097ffaa..9cd257823 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v15.0.3 + hash: 34c422b827051979ef41c06a6306b83a09fcdbc3 + body: | + Update balena/open-balena-base from 15.0.2 to 15.0.3 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update Node.js to v18.17.0 + hash: 43e3355c0dc3af6ccf96eb177f98762fb7ee0f69 + body: | + Update node from 18.16.1 to 18.17.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-15.0.3 + title: "" + date: 2023-07-19T22:04:43.417Z + version: 14.0.3 + title: "" + date: 2023-07-19T23:17:12.251Z - commits: - subject: Update balena/open-balena-base Docker tag to v15.0.2 hash: 03b8db14f60fca4138908b4c181badfccf23a67f diff --git a/CHANGELOG.md b/CHANGELOG.md index 8659083b0..1f42e6c08 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.0.3 - 2023-07-19 + + +
+ Update balena/open-balena-base Docker tag to v15.0.3 [Self-hosted Renovate Bot] + +> ### open-balena-base-15.0.3 - 2023-07-19 +> +> * Update Node.js to v18.17.0 [Self-hosted Renovate Bot] +> + +
+ ## 14.0.2 - 2023-07-19 diff --git a/package-lock.json b/package-lock.json index fa905b0bc..c38fc60b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.0.2", + "version": "14.0.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.0.2", + "version": "14.0.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 45ec22f71..0d4c41714 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.0.2", + "version": "14.0.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-19T19:19:40.757Z" + "publishedAt": "2023-07-19T23:17:14.417Z" } } From fbaf56c63f6e233a90eb922c521e0fe3ed6357e4 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Fri, 21 Jul 2023 16:11:27 +0000 Subject: [PATCH 055/221] Update grafana/loki Docker tag to v2.8.3 Update grafana/loki from 2.8.2 to 2.8.3 Change-type: patch --- docker-compose.test-custom.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index 5a0df584c..74f798340 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -16,7 +16,7 @@ services: networks: - local-test loki: - image: grafana/loki:2.8.2 + image: grafana/loki:2.8.3 restart: "no" ports: - "9095:9095" From a03eab604034d0c1557de2ef9a75d3f031cc8e6c Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 21 Jul 2023 16:19:40 +0000 Subject: [PATCH 056/221] v14.0.4 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 9cd257823..78c5fc192 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update grafana/loki Docker tag to v2.8.3 + hash: 752dd1e116eca02572866f844e42329739bb1699 + body: | + Update grafana/loki from 2.8.2 to 2.8.3 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.0.4 + title: "" + date: 2023-07-21T16:19:36.316Z - commits: - subject: Update balena/open-balena-base Docker tag to v15.0.3 hash: 34c422b827051979ef41c06a6306b83a09fcdbc3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f42e6c08..5c330f2c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.0.4 - 2023-07-21 + +* Update grafana/loki Docker tag to v2.8.3 [Self-hosted Renovate Bot] + ## 14.0.3 - 2023-07-19 diff --git a/package-lock.json b/package-lock.json index c38fc60b5..e3212372a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.0.3", + "version": "14.0.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.0.3", + "version": "14.0.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 0d4c41714..104bb34b0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.0.3", + "version": "14.0.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-19T23:17:14.417Z" + "publishedAt": "2023-07-21T16:19:37.187Z" } } From b3a514f59ea8d542f51fb31a4680353447eb40dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Wed, 26 Jul 2023 15:32:55 -0300 Subject: [PATCH 057/221] Add /actor/v1/whoami endpoint Change-type: minor --- src/features/auth/index.ts | 3 +- src/features/auth/whoami.ts | 165 ++++++++++++++++++++- test/04_session.ts | 123 ++++++++++++++- test/fixtures/04-session/applications.json | 7 + test/fixtures/04-session/devices.json | 8 + 5 files changed, 302 insertions(+), 4 deletions(-) create mode 100644 test/fixtures/04-session/applications.json create mode 100644 test/fixtures/04-session/devices.json diff --git a/src/features/auth/index.ts b/src/features/auth/index.ts index b5fa2f28e..71197e95c 100644 --- a/src/features/auth/index.ts +++ b/src/features/auth/index.ts @@ -10,7 +10,7 @@ import { middleware } from '../../infra/auth'; import { login } from './login'; import { getUserPublicKeys } from './public-keys'; import { refreshToken } from './refresh-token'; -import { whoami } from './whoami'; +import { whoami, actorWhoami } from './whoami'; export * from './handles'; export { refreshToken }; @@ -28,6 +28,7 @@ export const setup = (app: Application, onLogin: SetupOptions['onLogin']) => { app.post('/login_', loginRateLimiter('body.username'), login(onLogin)); app.get('/user/v1/whoami', middleware.fullyAuthenticatedUser, whoami); + app.get('/actor/v1/whoami', middleware.authenticated, actorWhoami); app.get( '/auth/v1/public-keys/:username', diff --git a/src/features/auth/whoami.ts b/src/features/auth/whoami.ts index a4b3169ad..6079a3ae4 100644 --- a/src/features/auth/whoami.ts +++ b/src/features/auth/whoami.ts @@ -3,12 +3,58 @@ import type { RequestHandler } from 'express'; import { sbvrUtils, permissions } from '@balena/pinejs'; import { getUser } from '../../infra/auth/auth'; -import { captureException, handleHttpErrors } from '../../infra/error-handling'; +import { + captureException, + handleHttpErrors, + ThisShouldNeverHappenError, +} from '../../infra/error-handling'; -import type { User } from '../../balena-model'; +import type { User, Application, Device } from '../../balena-model'; +import { UnauthorizedError } from '@balena/pinejs/out/sbvr-api/errors'; const { api } = sbvrUtils; +type ExpandedActor = + | { + id: number; + is_of__user: [Pick]; + is_of__application: []; + is_of__device: []; + } + | { + id: number; + is_of__user: []; + is_of__application: [Pick]; + is_of__device: []; + } + | { + id: number; + is_of__user: []; + is_of__application: []; + is_of__device: [Pick]; + }; + +type ActorResponse = + | { + id: number; + actorType: 'user'; + actorTypeId: number; + username: string; + email: string | null; + } + | { + id: number; + actorType: 'application'; + actorTypeId: number; + slug: string; + } + | { + id: number; + actorType: 'device'; + actorTypeId: number; + uuid: string; + }; + export const whoami: RequestHandler = async (req, res) => { try { const userInfo = await sbvrUtils.db.readTransaction(async (tx) => { @@ -62,3 +108,118 @@ export const whoami: RequestHandler = async (req, res) => { res.status(500).end(); } }; + +export const actorWhoami: RequestHandler = async (req, res) => { + try { + const actorInfo = await sbvrUtils.db.readTransaction(async (tx) => { + // If this is a user key/token we must validate this is a key that + // has permissions for reading username/email + if (req.user?.actor) { + const [userWithId] = (await api.resin.get({ + resource: 'user', + passthrough: { req, tx }, + options: { + $top: 1, + $select: 'id', + $filter: { + actor: req.user?.actor, + }, + }, + })) as Array>; + + if (userWithId == null) { + throw new UnauthorizedError(); + } + } + + const actorId = req.apiKey?.actor ?? req.user?.actor; + + if (actorId == null) { + throw new UnauthorizedError( + 'Request API Key or Token has no associated actor', + ); + } + + return (await api.resin.get({ + resource: 'actor', + passthrough: { req: permissions.root, tx }, + id: actorId, + options: { + $expand: { + is_of__user: { + $select: ['id', 'username', 'email'], + }, + is_of__application: { + $select: ['id', 'slug'], + }, + is_of__device: { + $select: ['id', 'uuid'], + }, + }, + }, + })) as ExpandedActor; + }); + res.json(formatActorInfo(actorInfo)); + } catch (err) { + if (handleHttpErrors(req, res, err)) { + return; + } + captureException(err, 'Error while getting actor info', { req }); + res.status(500).end(); + } +}; + +const formatActorInfo = (rawActorInfo: ExpandedActor): ActorResponse => { + validateRawActorInfo(rawActorInfo); + + if (rawActorInfo.is_of__user.length === 1) { + return { + id: rawActorInfo.id, + actorType: 'user', + actorTypeId: rawActorInfo.is_of__user[0].id, + username: rawActorInfo.is_of__user[0].username, + email: rawActorInfo.is_of__user[0].email, + }; + } + + if (rawActorInfo.is_of__application.length === 1) { + return { + id: rawActorInfo.id, + actorType: 'application', + actorTypeId: rawActorInfo.is_of__application[0].id, + slug: rawActorInfo.is_of__application[0].slug, + }; + } + + if (rawActorInfo.is_of__device.length === 1) { + return { + id: rawActorInfo.id, + actorType: 'device', + actorTypeId: rawActorInfo.is_of__device[0].id, + uuid: rawActorInfo.is_of__device[0].uuid, + }; + } + + throw ThisShouldNeverHappenError( + `Found ${rawActorInfo.id} associated with none or more than one resource`, + ); +}; + +const validateRawActorInfo = (rawActorInfo: ExpandedActor) => { + const amountAssociatedResources = + rawActorInfo.is_of__user.length + + rawActorInfo.is_of__application.length + + rawActorInfo.is_of__device.length; + + if (amountAssociatedResources > 1) { + throw ThisShouldNeverHappenError( + `Found ${rawActorInfo.id} associated with more than one resource`, + ); + } + + if (amountAssociatedResources < 1) { + throw new UnauthorizedError( + `Actor ${rawActorInfo.id} is not associated to any resource`, + ); + } +}; diff --git a/test/04_session.ts b/test/04_session.ts index 31e318c44..4bfa62f38 100644 --- a/test/04_session.ts +++ b/test/04_session.ts @@ -5,16 +5,47 @@ import { createScopedAccessToken } from '../src/infra/auth/jwt'; import * as fixtures from './test-lib/fixtures'; import { supertest, UserObjectParam } from './test-lib/supertest'; import { version } from './test-lib/versions'; +import { Device } from './test-lib/fake-device'; +import { Application } from '../src/balena-model'; const atob = (x: string) => Buffer.from(x, 'base64').toString('binary'); const parseJwt = (t: string) => JSON.parse(atob(t.split('.')[1])); describe('session', () => { let admin: UserObjectParam; + let device: Device; + let application: Application; + let deviceApiKey: string; + let provisioningKey: string; + let userApiKey: string; before(async function () { - const fx = await fixtures.load(); + const fx = await fixtures.load('04-session'); + this.loadedFixtures = fx; admin = fx.users.admin; + device = fx.devices.device1; + application = fx.applications.app1; + + const { body: deviceKeyBody } = await supertest(admin).post( + `/api-key/device/${device.id}/device-key`, + ); + deviceApiKey = deviceKeyBody; + + const { body: appKeyBody } = await supertest(admin).post( + `/api-key/application/${application.id}/provisioning`, + ); + provisioningKey = appKeyBody; + + const { body: userKeyBody } = await supertest(admin) + .post('/api-key/user/full') + .send({ name: 'actorwhoamitest' }); + + userApiKey = userKeyBody; + }); + + after(async function () { + await supertest(admin).delete(`/${version}/api_key`).expect(200); + await fixtures.clean(this.loadedFixtures); }); it('/user/v1/whoami returns a user', async function () { @@ -164,4 +195,94 @@ describe('session', () => { .expect(401); }); }); + + it('/actor/v1/whoami returns an actor for an user token', async function () { + const userActor = ( + await supertest(admin).get('/actor/v1/whoami').expect(200) + ).body; + + expect(userActor).to.have.property('id').that.is.a('number'); + expect(userActor.actorType).to.equal('user'); + expect(userActor.actorTypeId).to.equal(admin.id); + expect(userActor.username).to.equal('admin'); + expect(userActor.email).to.equal(SUPERUSER_EMAIL); + }); + + it('/actor/v1/whoami returns an actor for an user api key', async function () { + const userActor = ( + await supertest(userApiKey).get('/actor/v1/whoami').expect(200) + ).body; + + expect(userActor).to.have.property('id').that.is.a('number'); + expect(userActor.actorType).to.equal('user'); + expect(userActor.actorTypeId).to.equal(admin.id); + expect(userActor.username).to.equal('admin'); + expect(userActor.email).to.equal(SUPERUSER_EMAIL); + }); + + it('/actor/v1/whoami returns an actor for a device api key', async function () { + const deviceActor = ( + await supertest(deviceApiKey).get('/actor/v1/whoami').expect(200) + ).body; + + expect(deviceActor).to.have.property('id').that.is.a('number'); + expect(deviceActor.actorType).to.equal('device'); + expect(deviceActor.actorTypeId).to.equal(device.id); + expect(deviceActor.uuid).to.equal(device.uuid); + }); + + it('/actor/v1/whoami returns an actor for an application api key', async function () { + const appActor = ( + await supertest(provisioningKey).get('/actor/v1/whoami').expect(200) + ).body; + + expect(appActor).to.have.property('id').that.is.a('number'); + expect(appActor.actorType).to.equal('application'); + expect(appActor.actorTypeId).to.equal(application.id); + expect(appActor.slug).to.equal(application.slug); + }); + + it('/actor/v1/whoami returns a user when using a correctly scoped access token', async function () { + const record = ( + await supertest(admin) + .get(`/${version}/user?$filter=username eq 'admin'`) + .expect(200) + ).body.d[0]; + + // Create a token that only has access to the granting users document + const accessToken = createScopedAccessToken({ + actor: record.actor.__id, + permissions: ['resin.user.read?actor eq @__ACTOR_ID'], + expiresIn: 60 * 10, + }); + + const userActor = ( + await supertest(accessToken).get('/actor/v1/whoami').expect(200) + ).body; + + expect(userActor).to.have.property('id').that.is.a('number'); + expect(userActor.actorType).to.equal('user'); + expect(userActor.actorTypeId).to.equal(admin.id); + expect(userActor.username).to.equal('admin'); + expect(userActor.email).to.equal(SUPERUSER_EMAIL); + }); + + it('/actor/v1/whoami returns a 401 error when using a scoped access token that does not have user permissions', async function () { + const record = ( + await supertest(admin) + .get(`/${version}/user?$filter=username eq 'admin'`) + .expect(200) + ).body.d[0]; + + const permissions = ['resin.application.read?actor eq @__ACTOR_ID']; + + // Create a token that only has access to the granting users applications + const accessToken = createScopedAccessToken({ + actor: record.actor.__id, + permissions, + expiresIn: 60 * 10, + }); + + await supertest(accessToken).get('/actor/v1/whoami').expect(401); + }); }); diff --git a/test/fixtures/04-session/applications.json b/test/fixtures/04-session/applications.json new file mode 100644 index 000000000..91e29839f --- /dev/null +++ b/test/fixtures/04-session/applications.json @@ -0,0 +1,7 @@ +{ + "app1": { + "user": "admin", + "app_name": "test_actor_whoami", + "device_type": "raspberry-pi" + } +} diff --git a/test/fixtures/04-session/devices.json b/test/fixtures/04-session/devices.json new file mode 100644 index 000000000..cf7919a8f --- /dev/null +++ b/test/fixtures/04-session/devices.json @@ -0,0 +1,8 @@ +{ + "device1": { + "belongs_to__application": "app1", + "device_type": "raspberry-pi", + "belongs_to__user": "admin", + "uuid": "c47e4dec05f76ee37c4b8e805c35c1eee54335803b3a40458928f8afce618b" + } +} From 5a2e0a664bec9cdac54c6f3f041da961cc73fca5 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:30:14 +0000 Subject: [PATCH 058/221] v14.1.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 78c5fc192..9b636cfdc 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Add /actor/v1/whoami endpoint + hash: aad908f4deb012c804947778878cbdddb05bccd7 + body: "" + footer: + Change-type: minor + change-type: minor + author: Otávio Jacobi + nested: [] + version: 14.1.0 + title: "" + date: 2023-08-02T15:30:09.471Z - commits: - subject: Update grafana/loki Docker tag to v2.8.3 hash: 752dd1e116eca02572866f844e42329739bb1699 diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c330f2c4..d5b079af2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.1.0 - 2023-08-02 + +* Add /actor/v1/whoami endpoint [Otávio Jacobi] + ## 14.0.4 - 2023-07-21 * Update grafana/loki Docker tag to v2.8.3 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index e3212372a..99e7dcb3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.0.4", + "version": "14.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.0.4", + "version": "14.1.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 104bb34b0..5a27ba6cb 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.0.4", + "version": "14.1.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-07-21T16:19:37.187Z" + "publishedAt": "2023-08-02T15:30:10.454Z" } } From ccc45f57f649e3dff1783b8cb87b430503d7dca4 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Fri, 11 Aug 2023 23:07:22 +0000 Subject: [PATCH 059/221] Update grafana/loki Docker tag to v2.8.4 Update grafana/loki from 2.8.3 to 2.8.4 Change-type: patch --- docker-compose.test-custom.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index 74f798340..c1161b3e9 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -16,7 +16,7 @@ services: networks: - local-test loki: - image: grafana/loki:2.8.3 + image: grafana/loki:2.8.4 restart: "no" ports: - "9095:9095" From 95fcc13601096b2bcde4bc0c0b09e497f4627d3b Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 11 Aug 2023 23:16:20 +0000 Subject: [PATCH 060/221] v14.1.1 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 9b636cfdc..53057561b 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update grafana/loki Docker tag to v2.8.4 + hash: abc4f73b0875b66d1b5d234696f89996372a6943 + body: | + Update grafana/loki from 2.8.3 to 2.8.4 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.1.1 + title: "" + date: 2023-08-11T23:16:16.935Z - commits: - subject: Add /actor/v1/whoami endpoint hash: aad908f4deb012c804947778878cbdddb05bccd7 diff --git a/CHANGELOG.md b/CHANGELOG.md index d5b079af2..b6306dc06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.1.1 - 2023-08-11 + +* Update grafana/loki Docker tag to v2.8.4 [Self-hosted Renovate Bot] + ## 14.1.0 - 2023-08-02 * Add /actor/v1/whoami endpoint [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index 99e7dcb3e..0604a1859 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.1.0", + "version": "14.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.1.0", + "version": "14.1.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.2", diff --git a/package.json b/package.json index 5a27ba6cb..a7bfeb8df 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.1.0", + "version": "14.1.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-02T15:30:10.454Z" + "publishedAt": "2023-08-11T23:16:17.818Z" } } From da4f2402211190cb8711ca70273be121bd1d9ad8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Sun, 12 Mar 2023 12:08:07 -0300 Subject: [PATCH 061/221] Adds webresource typing Update @balena/pinejs from 15.0.0 to 15.3.0 Change-type: minor --- package-lock.json | 4393 +++++++++++++++++++++++++++++++++++-------- package.json | 4 +- src/balena-model.ts | 7 + 3 files changed, 3653 insertions(+), 751 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0604a1859..4bdaa03b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "14.1.1", "license": "AGPL-3.0", "dependencies": { - "@balena/abstract-sql-compiler": "^9.0.2", + "@balena/abstract-sql-compiler": "^9.0.3", "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.0.0", + "@balena/pinejs": "^15.3.0", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", @@ -84,7 +84,7 @@ "redlock": "^4.2.0", "request": "^2.88.2", "rsmq": "^0.12.4", - "semver": "^7.5.2", + "semver": "^7.5.0", "strict-event-emitter-types": "^2.0.0", "supervisor": "^0.12.0", "tar": "^6.1.13", @@ -121,920 +121,3828 @@ "npm": "^9.4.1" } }, - "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, + "node_modules/@aws-crypto/crc32": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz", + "integrity": "sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==", + "optional": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/crc32c": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz", + "integrity": "sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg==", + "optional": true, + "dependencies": { + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/ie11-detection": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", + "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "optional": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha1-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz", + "integrity": "sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA==", + "optional": true, + "dependencies": { + "@aws-crypto/ie11-detection": "^2.0.0", + "@aws-crypto/supports-web-crypto": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", + "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "optional": true, + "dependencies": { + "@aws-crypto/ie11-detection": "^2.0.0", + "@aws-crypto/sha256-js": "^2.0.0", + "@aws-crypto/supports-web-crypto": "^2.0.0", + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", + "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "optional": true, + "dependencies": { + "@aws-crypto/util": "^2.0.0", + "@aws-sdk/types": "^3.1.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", + "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "optional": true, + "dependencies": { + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-crypto/util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", + "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "^3.110.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" + } + }, + "node_modules/@aws-sdk/abort-controller": { + "version": "3.296.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.296.0.tgz", + "integrity": "sha512-gNUFBlBw6+sEMfDjPVa83iscpQwXBS4uoiZXnfeQ6s6tnaxqQpJDrBBmNvYqDEXNdaAJX4FhayEwkSvtir/f3A==", + "optional": true, + "peer": true, + "dependencies": { + "@aws-sdk/types": "3.296.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@babel/generator": { - "version": "7.21.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", - "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", - "dev": true, + "node_modules/@aws-sdk/abort-controller/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true, + "peer": true + }, + "node_modules/@aws-sdk/chunked-blob-reader": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.188.0.tgz", + "integrity": "sha512-zkPRFZZPL3eH+kH86LDYYXImiClA1/sW60zYOjse9Pgka+eDJlvBN6hcYxwDEKjcwATYiSRR1aVQHcfCinlGXg==", + "optional": true, "dependencies": { - "@babel/types": "^7.21.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/chunked-blob-reader-native": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.188.0.tgz", + "integrity": "sha512-WielYjaAHfT/HAOW7Tj6yVeNdaOtts3aUm9Sf/3D+ElbCTGyaaMNfE4x0a+qn6dJZXewf1eAxybOIU5ftIeSGw==", + "optional": true, + "dependencies": { + "@aws-sdk/util-base64-browser": "3.188.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/chunked-blob-reader-native/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/chunked-blob-reader/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/client-s3": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.200.0.tgz", + "integrity": "sha512-gwMImRT78eZZ2x/LuSU5AP2BNT6dqILGX4sllGd9vEL5/O3fVJqRCkLUvZMEer0fDN5uLAoQ5GtVZox/UZIzKA==", + "optional": true, + "dependencies": { + "@aws-crypto/sha1-browser": "2.0.0", + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/client-sts": "3.200.0", + "@aws-sdk/config-resolver": "3.200.0", + "@aws-sdk/credential-provider-node": "3.200.0", + "@aws-sdk/eventstream-serde-browser": "3.200.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.200.0", + "@aws-sdk/eventstream-serde-node": "3.200.0", + "@aws-sdk/fetch-http-handler": "3.200.0", + "@aws-sdk/hash-blob-browser": "3.200.0", + "@aws-sdk/hash-node": "3.200.0", + "@aws-sdk/hash-stream-node": "3.200.0", + "@aws-sdk/invalid-dependency": "3.200.0", + "@aws-sdk/md5-js": "3.200.0", + "@aws-sdk/middleware-bucket-endpoint": "3.200.0", + "@aws-sdk/middleware-content-length": "3.200.0", + "@aws-sdk/middleware-endpoint": "3.200.0", + "@aws-sdk/middleware-expect-continue": "3.200.0", + "@aws-sdk/middleware-flexible-checksums": "3.200.0", + "@aws-sdk/middleware-host-header": "3.200.0", + "@aws-sdk/middleware-location-constraint": "3.200.0", + "@aws-sdk/middleware-logger": "3.200.0", + "@aws-sdk/middleware-recursion-detection": "3.200.0", + "@aws-sdk/middleware-retry": "3.200.0", + "@aws-sdk/middleware-sdk-s3": "3.200.0", + "@aws-sdk/middleware-serde": "3.200.0", + "@aws-sdk/middleware-signing": "3.200.0", + "@aws-sdk/middleware-ssec": "3.200.0", + "@aws-sdk/middleware-stack": "3.200.0", + "@aws-sdk/middleware-user-agent": "3.200.0", + "@aws-sdk/node-config-provider": "3.200.0", + "@aws-sdk/node-http-handler": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/signature-v4-multi-region": "3.200.0", + "@aws-sdk/smithy-client": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/url-parser": "3.200.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.200.0", + "@aws-sdk/util-defaults-mode-node": "3.200.0", + "@aws-sdk/util-endpoints": "3.200.0", + "@aws-sdk/util-stream-browser": "3.200.0", + "@aws-sdk/util-stream-node": "3.200.0", + "@aws-sdk/util-user-agent-browser": "3.200.0", + "@aws-sdk/util-user-agent-node": "3.200.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.199.0", + "@aws-sdk/util-waiter": "3.200.0", + "@aws-sdk/xml-builder": "3.188.0", + "fast-xml-parser": "4.0.11", + "tslib": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=12.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, + "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", - "dev": true, + "node_modules/@aws-sdk/client-s3/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.200.0.tgz", + "integrity": "sha512-EyOSl3hlkrTE9i0bgIvtdvMpCMplmZcLlkMy2mx2LdPKO+AWFOjUN7i5RgpFa7YdZq/csHkcakooJi48OOgSVA==", + "optional": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.200.0", + "@aws-sdk/fetch-http-handler": "3.200.0", + "@aws-sdk/hash-node": "3.200.0", + "@aws-sdk/invalid-dependency": "3.200.0", + "@aws-sdk/middleware-content-length": "3.200.0", + "@aws-sdk/middleware-endpoint": "3.200.0", + "@aws-sdk/middleware-host-header": "3.200.0", + "@aws-sdk/middleware-logger": "3.200.0", + "@aws-sdk/middleware-recursion-detection": "3.200.0", + "@aws-sdk/middleware-retry": "3.200.0", + "@aws-sdk/middleware-serde": "3.200.0", + "@aws-sdk/middleware-stack": "3.200.0", + "@aws-sdk/middleware-user-agent": "3.200.0", + "@aws-sdk/node-config-provider": "3.200.0", + "@aws-sdk/node-http-handler": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/smithy-client": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/url-parser": "3.200.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.200.0", + "@aws-sdk/util-defaults-mode-node": "3.200.0", + "@aws-sdk/util-endpoints": "3.200.0", + "@aws-sdk/util-user-agent-browser": "3.200.0", + "@aws-sdk/util-user-agent-node": "3.200.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.199.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=12.0.0" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.18.6" - }, + "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, + "node_modules/@aws-sdk/client-sso/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.200.0.tgz", + "integrity": "sha512-9k3NlHDyaEdv5aUnt6V1wBugIl5fIL7AsKbvIH8+vCDaAknc9+9vLbxkBsskiOAh5rEWFeso60hjNJC+2ky5xQ==", + "optional": true, "dependencies": { - "@babel/types": "^7.18.6" + "@aws-crypto/sha256-browser": "2.0.0", + "@aws-crypto/sha256-js": "2.0.0", + "@aws-sdk/config-resolver": "3.200.0", + "@aws-sdk/credential-provider-node": "3.200.0", + "@aws-sdk/fetch-http-handler": "3.200.0", + "@aws-sdk/hash-node": "3.200.0", + "@aws-sdk/invalid-dependency": "3.200.0", + "@aws-sdk/middleware-content-length": "3.200.0", + "@aws-sdk/middleware-endpoint": "3.200.0", + "@aws-sdk/middleware-host-header": "3.200.0", + "@aws-sdk/middleware-logger": "3.200.0", + "@aws-sdk/middleware-recursion-detection": "3.200.0", + "@aws-sdk/middleware-retry": "3.200.0", + "@aws-sdk/middleware-sdk-sts": "3.200.0", + "@aws-sdk/middleware-serde": "3.200.0", + "@aws-sdk/middleware-signing": "3.200.0", + "@aws-sdk/middleware-stack": "3.200.0", + "@aws-sdk/middleware-user-agent": "3.200.0", + "@aws-sdk/node-config-provider": "3.200.0", + "@aws-sdk/node-http-handler": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/smithy-client": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/url-parser": "3.200.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-base64-node": "3.188.0", + "@aws-sdk/util-body-length-browser": "3.188.0", + "@aws-sdk/util-body-length-node": "3.188.0", + "@aws-sdk/util-defaults-mode-browser": "3.200.0", + "@aws-sdk/util-defaults-mode-node": "3.200.0", + "@aws-sdk/util-endpoints": "3.200.0", + "@aws-sdk/util-user-agent-browser": "3.200.0", + "@aws-sdk/util-user-agent-node": "3.200.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.199.0", + "fast-xml-parser": "4.0.11", + "tslib": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">=12.0.0" } }, - "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true, + "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } + "node_modules/@aws-sdk/client-sts/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true }, - "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, + "node_modules/@aws-sdk/config-resolver": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.200.0.tgz", + "integrity": "sha512-eq03XA4sPNJ6C3WbMLR5NPYQmS/S+TdFlNY044rG1ne0Mh+yrNPjIPggu42F4Xr5KtURB97et7bxSx1w7gvDeQ==", + "optional": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "@aws-sdk/signature-v4": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/util-middleware": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "node_modules/@aws-sdk/config-resolver/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=6.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", - "dev": true, + "node_modules/@aws-sdk/config-resolver/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.200.0.tgz", + "integrity": "sha512-I2hlRxEqcwsmr0C44RD083QYJ3nDIZE3K8WBQjNetFi5qTzXlI1usrOlCMfaIbee6k3BBB+cXIX1Vp8RUNkNQQ==", + "optional": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "node_modules/@aws-sdk/credential-provider-env/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=6.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", - "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-env/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/credential-provider-imds": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.200.0.tgz", + "integrity": "sha512-qvUeUuK2DSQ0eVKijzh1ccOj1xNojVCTf+ENDa2EhXPVQmpERbhQiamTeSkLcKYOtDKxyEK7YBlkczIt/BL2UQ==", + "optional": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.2", - "@babel/types": "^7.21.2", - "debug": "^4.1.0", - "globals": "^11.1.0" + "@aws-sdk/node-config-provider": "3.200.0", + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/url-parser": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, + "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=6.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@babel/types": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", - "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", - "dev": true, + "node_modules/@aws-sdk/credential-provider-imds/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.200.0.tgz", + "integrity": "sha512-6b8CbfxAw7UiWJ2GWSP/RhA2qxgo9iLZOunMqCqOlI627JEZb+oFKTzXwcORrrjpTKbfb/Q6/3ev5yGPonewHw==", + "optional": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "@aws-sdk/credential-provider-env": "3.200.0", + "@aws-sdk/credential-provider-imds": "3.200.0", + "@aws-sdk/credential-provider-sso": "3.200.0", + "@aws-sdk/credential-provider-web-identity": "3.200.0", + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/shared-ini-file-loader": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=6.9.0" + "node": ">= 12.0.0" } }, - "node_modules/@balena/abstract-sql-compiler": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-9.0.2.tgz", - "integrity": "sha512-tyA6eBYwKg7IrSoWgDLdJgyym8VkJoQTyOaDKRzsSiRba/jFLhtnKKJgDfL/9eONzPd32bf6zYqlJ8TavjplTA==", - "dependencies": { - "@balena/sbvr-types": "^5.0.0", - "lodash": "^4.17.21" - }, + "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=16.13.0", - "npm": ">=8.1.0" + "node": ">= 12.0.0" } }, - "node_modules/@balena/abstract-sql-to-typescript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.0.0.tgz", - "integrity": "sha512-w5Pe/ffDuljomB2Z60+6eJnyT74loqg5xaK4Vam47Riwg+7N9GakJiCzW7CpJV3RLTb4tR01ygYHJU4H2vPDfg==", + "node_modules/@aws-sdk/credential-provider-ini/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.200.0.tgz", + "integrity": "sha512-HpBiMJt+xvHBTf2BjJJwnH+gXf6JapX4cGk3nZlJxE8Uu6P0bIVeFnwD20+yQ5N6Pm0vsJuoA8MNz9vOiPjImg==", + "optional": true, "dependencies": { - "@balena/abstract-sql-compiler": "^9.0.0", - "@balena/odata-to-abstract-sql": "^5.9.6", - "@types/node": "^16.18.25", - "common-tags": "^1.8.2" + "@aws-sdk/credential-provider-env": "3.200.0", + "@aws-sdk/credential-provider-imds": "3.200.0", + "@aws-sdk/credential-provider-ini": "3.200.0", + "@aws-sdk/credential-provider-process": "3.200.0", + "@aws-sdk/credential-provider-sso": "3.200.0", + "@aws-sdk/credential-provider-web-identity": "3.200.0", + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/shared-ini-file-loader": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=16.13.0", - "npm": ">=8.1.0" + "node": ">=12.0.0" } }, - "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-parser": { + "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node/node_modules/tslib": { "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-2.5.0.tgz", - "integrity": "sha512-SoBiJ2f+Xcu25lLKUki6Z3zYFeE6c2jys9YRcsFx1rHc/B+CS28LkkUKo/M5shn1Ccej273pRmmSyV6/k/pBTw==" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true }, - "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-to-abstract-sql": { - "version": "5.9.6", - "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-5.9.6.tgz", - "integrity": "sha512-oRiVU/EtzHK/jjiQrc7FsRtEgwypPQUeQwp/wznyMmRIpfcmGFxMKJSGpN+VVzBBFHrwgFFfBlw/ymK8CtkpMg==", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.200.0.tgz", + "integrity": "sha512-Juio3viiz/ywrb88viwNxfauaxG+MrD2gMbnCfGEtZgdvix6XBYc6bRd+F94yY23EYWiU1s1tfdlScCIVeYfqA==", + "optional": true, "dependencies": { - "@balena/abstract-sql-compiler": "^8.4.1", - "@balena/odata-parser": "^2.4.6", - "@types/lodash": "^4.14.194", - "@types/memoizee": "^0.4.8", - "@types/string-hash": "^1.1.1", - "lodash": "^4.17.21", - "memoizee": "^0.4.15", - "string-hash": "^1.1.3" + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/shared-ini-file-loader": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/abstract-sql-compiler": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.5.0.tgz", - "integrity": "sha512-LSomZ6hf86nnHQLi1JSasz0vL9O82Z9PwbYjNMcQdeFLv9k8BgWKcKIpzPBLNX9j4xh09Yp5irNd+0larZFchg==", - "dependencies": { - "@balena/sbvr-types": "^3.5.0", - "lodash": "^4.17.21" + "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/sbvr-types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", - "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", - "optionalDependencies": { - "bcrypt": "^5.1.0", - "bcryptjs": "^2.4.3", - "sha.js": "^2.4.11" - } + "node_modules/@aws-sdk/credential-provider-process/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true }, - "node_modules/@balena/abstract-sql-to-typescript/node_modules/@types/node": { - "version": "16.18.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.31.tgz", - "integrity": "sha512-KPXltf4z4g517OlVJO9XQ2357CYw7fvuJ3ZuBynjXC5Jos9i+K7LvFb7bUIwtJXSZj0vTp9Q6NJBSQpkwwO8Zw==" + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.200.0.tgz", + "integrity": "sha512-62ktkTAcr51GYshZiQdJcukps1O9QZGwJrVrmY+VdpKwdfSoJygpXmpFGWWlMs+hDkXLcNl3oLOPa3T+fxqN9Q==", + "optional": true, + "dependencies": { + "@aws-sdk/client-sso": "3.200.0", + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/shared-ini-file-loader": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } }, - "node_modules/@balena/env-parsing": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@balena/env-parsing/-/env-parsing-1.1.5.tgz", - "integrity": "sha512-9ISTzFUSwPg7hQWm4fQRLiG/5D1I2N4jBu/tR7bvlr7uOykVtdrtKxsQjPLHsJ+9pDwoPThY2FGlnrrvysKvmA==" + "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } }, - "node_modules/@balena/es-version": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@balena/es-version/-/es-version-1.0.2.tgz", - "integrity": "sha512-hoYEg44i27yyw1Rv+j07O2vBjK5dMsbgb6ktsPz8czxS7R0wm3tAC6h+0ump13UxMK4l3MaAbb1EGIIRM/f9ig==" + "node_modules/@aws-sdk/credential-provider-sso/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true }, - "node_modules/@balena/lf-to-abstract-sql": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@balena/lf-to-abstract-sql/-/lf-to-abstract-sql-5.0.0.tgz", - "integrity": "sha512-3yDQiGfsgBmKFllZiLNaHg069bavh/KmXBYO12iepNEWRsifCPaXKlXbkxRG6DsaXrR1GQiVgI+t6QclSXFeng==", + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.200.0.tgz", + "integrity": "sha512-++C1vRu/9SJo3MJuC6ARMYfwNKkR2ioq0KDL2b4NQAIyQLgyw0hoOzPlfUgpfvyx0CnPecAoQIY8jGNWfdDSBA==", + "optional": true, "dependencies": { - "@balena/sbvr-parser": "^1.4.3", - "lodash": "^4.17.21", - "ometa-js": "^1.5.4" + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@balena/lint": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-6.2.2.tgz", - "integrity": "sha512-PD1l90kE109lhj6+U2l1jgoDC92qkpI9EFREkqIv+aCc6ZtBvBBcyjCFaD8NMw46xom/TJYC3mD8ir3QsR5Xgg==", - "dev": true, - "dependencies": { - "@types/glob": "^7.1.3", - "@types/node": "^12.20.13", - "@types/prettier": "^2.2.3", - "depcheck": "^1.4.1", - "glob": "^7.1.7", - "prettier": "^2.3.0", - "tslint": "^6.1.3", - "tslint-config-prettier": "^1.18.0", - "tslint-no-unused-expression-chai": "^0.1.4", - "typescript": "^5.0.2", - "yargs": "^16.2.0" - }, - "bin": { - "balena-lint": "bin/balena-lint" - }, + "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@balena/lint/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", - "dev": true + "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true }, - "node_modules/@balena/node-metrics-gatherer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@balena/node-metrics-gatherer/-/node-metrics-gatherer-6.0.3.tgz", - "integrity": "sha512-BNGhWQ1Sxd5enRhbIza54YKqugW15zYDBL6vD0xSb7p5wejLmjHEyvLQs/oq/5+fpYsbD0COcVTjHQUAeyvK0w==", + "node_modules/@aws-sdk/eventstream-codec": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.200.0.tgz", + "integrity": "sha512-PnDl+Vo3Ck+aUmm12RbjJ4DPRfFl4BIa6S5+LyEZW3N0RKil1IuVgm5X5PjwEjAqNSgPQqX0y/xLb37Mq9r5EA==", + "optional": true, "dependencies": { - "@types/debug": "^4.1.7", - "@types/express": "^4.17.13", - "@types/on-finished": "^2.3.1", - "debug": "^4.3.4", - "express": "^4.17.3", - "on-finished": "^2.4.1", - "prom-client": "^14.0.1", - "typed-error": "^3.2.1" + "@aws-crypto/crc32": "2.0.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-hex-encoding": "3.188.0", + "tslib": "^2.3.1" } }, - "node_modules/@balena/odata-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-3.0.0.tgz", - "integrity": "sha512-2+iKtAqWxnEiQByC4dcMoUhSBLAKyd+uOfpZ3K28NTtdiIUayasG/Y+kDjJRtnSfPm1vbu4rrM1t2dBj0gIG0w==", + "node_modules/@aws-sdk/eventstream-codec/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=16.13.0", - "npm": ">=8.1.0" + "node": ">= 12.0.0" } }, - "node_modules/@balena/odata-to-abstract-sql": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.0.1.tgz", - "integrity": "sha512-S5dXiJFmOhsrZEKdd1WDwE2wBG3t8sj6jRGLQ7/dtjgB3WxE6u7KS9hnQD+FqAFrvOEBFeH3czMUohulYDJy2g==", + "node_modules/@aws-sdk/eventstream-codec/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/eventstream-serde-browser": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.200.0.tgz", + "integrity": "sha512-YobB/7VTeffzfYighvLZF342efG43xS+KzTFoBmr/22U/h2QiPhKdxoJlQMrGtjkDlnRG7oZrUfKhWTbjq/jBA==", + "optional": true, "dependencies": { - "@balena/abstract-sql-compiler": "^8.4.1", - "@balena/odata-parser": "^3.0.0", - "@types/lodash": "^4.14.194", - "@types/memoizee": "^0.4.8", - "@types/string-hash": "^1.1.1", - "lodash": "^4.17.21", - "memoizee": "^0.4.15", - "string-hash": "^1.1.3" + "@aws-sdk/eventstream-serde-universal": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=16.13.0", - "npm": ">=8.1.0" + "node": ">= 12.0.0" } }, - "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/abstract-sql-compiler": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.5.0.tgz", - "integrity": "sha512-LSomZ6hf86nnHQLi1JSasz0vL9O82Z9PwbYjNMcQdeFLv9k8BgWKcKIpzPBLNX9j4xh09Yp5irNd+0larZFchg==", - "dependencies": { - "@balena/sbvr-types": "^3.5.0", - "lodash": "^4.17.21" + "node_modules/@aws-sdk/eventstream-serde-browser/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/sbvr-types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", - "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", - "optionalDependencies": { - "bcrypt": "^5.1.0", - "bcryptjs": "^2.4.3", - "sha.js": "^2.4.11" - } + "node_modules/@aws-sdk/eventstream-serde-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true }, - "node_modules/@balena/pinejs": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.0.0.tgz", - "integrity": "sha512-ULGSVXWnehrZFXISTN35MMyJ/+dqdbDx+An/IGcBdZbx6Rr7L29gsDgjQ2SHVdVeRxzIYbvMD3zR7tZoLYgoBw==", + "node_modules/@aws-sdk/eventstream-serde-config-resolver": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.200.0.tgz", + "integrity": "sha512-1TXUX4eothH292I2RY4onlymccZUg/cIt2bjXpmJaThLlAUKftHdVto/FxHH6ChTvQmKns4maL4+/OwErKjF6A==", + "optional": true, "dependencies": { - "@balena/abstract-sql-compiler": "^9.0.2", - "@balena/abstract-sql-to-typescript": "^2.0.0", - "@balena/env-parsing": "^1.1.5", - "@balena/lf-to-abstract-sql": "^5.0.0", - "@balena/odata-parser": "^3.0.0", - "@balena/odata-to-abstract-sql": "^6.0.1", - "@balena/sbvr-parser": "^1.4.3", - "@balena/sbvr-types": "^5.0.0", - "@types/body-parser": "^1.19.2", - "@types/compression": "^1.7.2", - "@types/cookie-parser": "^1.4.3", - "@types/deep-freeze": "^0.1.2", - "@types/express": "^4.17.17", - "@types/express-session": "^1.17.7", - "@types/lodash": "^4.14.194", - "@types/memoizee": "^0.4.8", - "@types/method-override": "^0.0.32", - "@types/multer": "^1.4.7", - "@types/mysql": "^2.15.21", - "@types/node": "^18.16.1", - "@types/passport": "^1.0.12", - "@types/passport-local": "^1.0.35", - "@types/passport-strategy": "^0.2.35", - "@types/pg": "^8.6.6", - "@types/randomstring": "^1.1.8", - "@types/websql": "^0.0.27", - "commander": "^10.0.1", - "deep-freeze": "^0.0.1", - "eventemitter3": "^5.0.0", - "express-session": "^1.17.3", - "lodash": "^4.17.21", - "memoizee": "^0.4.15", - "pinejs-client-core": "^6.12.3", - "randomstring": "^1.2.3", - "typed-error": "^3.2.2" - }, - "bin": { - "abstract-sql-compiler": "bin/abstract-sql-compiler.js", - "odata-compiler": "bin/odata-compiler.js", - "sbvr-compiler": "bin/sbvr-compiler.js" + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=16.13.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "bcrypt": "^5.1.0", - "body-parser": "^1.20.2", - "compression": "^1.7.4", - "cookie-parser": "^1.4.6", - "express": "^4.18.2", - "method-override": "^3.0.0", - "multer": "1.4.5-lts.1", - "mysql": "^2.18.1", - "passport": "^0.6.0", - "passport-local": "^1.0.0", - "pg": "^8.10.0", - "pg-connection-string": "^2.5.0", - "serve-static": "^1.15.0" - } - }, - "node_modules/@balena/sbvr-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@balena/sbvr-parser/-/sbvr-parser-1.4.3.tgz", - "integrity": "sha512-f6LgwNtJnTWOQ+1/KtSVHoS2/fSlmsVHAzvTfFJohw6lzHX1XCUAyVQLHrAvMRNN90NhPsnEpS9XMtVR0exHJA==", - "dependencies": { - "lodash": "^4.17.21", - "ometa-js": "^1.5.4" + "node": ">= 12.0.0" } }, - "node_modules/@balena/sbvr-types": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-5.0.0.tgz", - "integrity": "sha512-nJ8SC6b5ciK8jshH85BHvAMcp5YGC8RoPYkMbiDcepIlRC7f+orAzcGGjubZga2S6WY5Mrrzr+Ls5Lpjll7yIw==", + "node_modules/@aws-sdk/eventstream-serde-config-resolver/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, "engines": { - "node": ">=16.13.0", - "npm": ">=8.1.0" - }, - "optionalDependencies": { - "bcrypt": "^5.1.0", - "bcryptjs": "^2.4.3", - "sha.js": "^2.4.11" + "node": ">= 12.0.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@aws-sdk/eventstream-serde-config-resolver/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/eventstream-serde-node": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.200.0.tgz", + "integrity": "sha512-vSXTk+yUpbn+X2ot/TR326/zKhJql/uZfE1FDvN2CztLRIKeNULLocQlc3Pz6QBeuWPmrWbWERearP4m5QqRWQ==", + "optional": true, "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "@aws-sdk/eventstream-serde-universal": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=12" + "node": ">= 12.0.0" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "node_modules/@aws-sdk/eventstream-serde-node/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true + "node_modules/@aws-sdk/eventstream-serde-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true }, - "node_modules/@grpc/grpc-js": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.11.tgz", - "integrity": "sha512-f/xC+6Z2QKsRJ+VSSFlt4hA5KSRm+PKvMWV8kMPkMgGlFidR6PeIkXrOasIY2roe+WROM6GFQLlgDKfeEZo2YQ==", + "node_modules/@aws-sdk/eventstream-serde-universal": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.200.0.tgz", + "integrity": "sha512-XoWwwTrq0rVAXpjsBbAJmo1cHqAVIvS68PwNxp7k8Z4q2tp3RNtSrh6R/BPvs5K7+r2knmlYqeXEG7a2s6hwzA==", + "optional": true, "dependencies": { - "@grpc/proto-loader": "^0.7.0", - "@types/node": ">=12.12.47" + "@aws-sdk/eventstream-codec": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": "^8.13.0 || >=10.10.0" + "node": ">= 12.0.0" } }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.5.tgz", + "node_modules/@aws-sdk/eventstream-serde-universal/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/eventstream-serde-universal/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/fetch-http-handler": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.200.0.tgz", + "integrity": "sha512-sqYUn3sjEWy6Yx/mJXjGQcMxfJ1YsxqPGrE0qmMCa6EP6ENl1BWrX0eutQmwdCq85UiziYqxRpkflJ7nN2Abag==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/querystring-builder": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/fetch-http-handler/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/fetch-http-handler/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/hash-blob-browser": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.200.0.tgz", + "integrity": "sha512-ukG+MvQbHG+WnoicbhJjHE117F5WuseVuD4GL4FNxY+MHx+SzMoSAMz9t+jxzTP8r6mlYuPoHl05Gt6+0SFTvQ==", + "optional": true, + "dependencies": { + "@aws-sdk/chunked-blob-reader": "3.188.0", + "@aws-sdk/chunked-blob-reader-native": "3.188.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/hash-blob-browser/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/hash-blob-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/hash-node": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.200.0.tgz", + "integrity": "sha512-iQ0K85BteaiSq7V5LTsMbOSa9RckraOQ3eLtUaJ7u98ywByb7v6H96jfaFdAOAYE0SZ7n2Qp87d+zkHs3kxS5w==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/hash-node/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/hash-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/hash-stream-node": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.200.0.tgz", + "integrity": "sha512-IJ1cCPEAOxSGKfH1zWEKxOQN7pnuI9K10knc1VCQ6Fm1HmHwQjsvU2o1XpPYxVIFZsZ08/n5N81id6DTTdGdCA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/hash-stream-node/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/hash-stream-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/invalid-dependency": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.200.0.tgz", + "integrity": "sha512-M3g8U1Nahj9ef2Tqn26j03FIwHwQuIVps39i5P+dWEyFAfFJsdwMtrDI/neXmf7BPcbPFUH9MMcrOJpq/MxYBQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/invalid-dependency/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/invalid-dependency/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/is-array-buffer": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.188.0.tgz", + "integrity": "sha512-n69N4zJZCNd87Rf4NzufPzhactUeM877Y0Tp/F3KiHqGeTnVjYUa4Lv1vLBjqtfjYb2HWT3NKlYn5yzrhaEwiQ==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/is-array-buffer/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/lib-storage": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.200.0.tgz", + "integrity": "sha512-isFNcUwS0FV+fstVAaqvhhH7hk8ph1UnD991oDuFXNL90GY9w81j2LmKpJJys8WJWSPk/JEUQqll4+7l6z4mjg==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-endpoint": "3.200.0", + "@aws-sdk/smithy-client": "3.200.0", + "buffer": "5.6.0", + "events": "3.3.0", + "stream-browserify": "3.0.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "@aws-sdk/abort-controller": "^3.0.0", + "@aws-sdk/client-s3": "^3.0.0" + } + }, + "node_modules/@aws-sdk/lib-storage/node_modules/buffer": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "optional": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "node_modules/@aws-sdk/lib-storage/node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "optional": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/@aws-sdk/lib-storage/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/md5-js": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.200.0.tgz", + "integrity": "sha512-691KiDvlqWUzuSPKtDbS2RbsotgSG1u7h5ggXoagvXqsHkm7VPHrtCUo2rVxqQQ0fmzQYOE5jCnr+oF4n1s+GA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "@aws-sdk/util-utf8-node": "3.199.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/md5-js/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/md5-js/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.200.0.tgz", + "integrity": "sha512-jYS5kksBtlAOHj2XLGNLxlMzHayWejsvG3Qk3lHZ2GFRBUV0yArbSU0U/gbAh/kHZbQ31dHJUXnrnrQZIDDx6Q==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-arn-parser": "3.188.0", + "@aws-sdk/util-config-provider": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-content-length": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.200.0.tgz", + "integrity": "sha512-GOvtCgP0Q+dYvzWfn06DawaZbDkn+yz8p6R0UaoYMOWvpINFuR6kYu/tz9qjGhZsrjuDqVH+6mj6uuC87fupQQ==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-content-length/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-content-length/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-endpoint": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.200.0.tgz", + "integrity": "sha512-r0OkdhjYqdv/iYM3KXj6LubQFZbM848FhAVuEiJEUNBFpUvhS6pCkmjhkd5QIUT+bhiD0gUj1OFzIHhQaHwyWA==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-serde": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/signature-v4": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/url-parser": "3.200.0", + "@aws-sdk/util-config-provider": "3.188.0", + "@aws-sdk/util-middleware": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-endpoint/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.200.0.tgz", + "integrity": "sha512-IH3adiZTn1/AcbuAMqsqbTReKn0xFjRqp/7rDqsdwNFuelw4eemi05mt86kQb4e93hO5skTNoZc7B7rd6gqRkQ==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-expect-continue/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.200.0.tgz", + "integrity": "sha512-fVw06kbfhDK0kmwcaVvdUGbsDRXNmhnbvJG34mU0iFt/biGR/lJfzy6/wwXlaOZzbkz0/ZAiv/R5uIEk2a2fKw==", + "optional": true, + "dependencies": { + "@aws-crypto/crc32": "2.0.0", + "@aws-crypto/crc32c": "2.0.0", + "@aws-sdk/is-array-buffer": "3.188.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.200.0.tgz", + "integrity": "sha512-oFRSUBXGBw6+QiOXgzu3cTPqAN97y+Lc3z2mDS3wJRqA4/Wmdzx/oTWhB5G0IsYSJHTevhZhfQPBLbhK5Ffehw==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.200.0.tgz", + "integrity": "sha512-kPG2Ke53ZFMf3BpAW+8mLpYvAq4GUqB9ho8WzmHJm9SlyPSrKkCyeXm89mr/XTLon6EZO/IkEVJtUZn9pmLHjQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-location-constraint/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.200.0.tgz", + "integrity": "sha512-uTtu1bCDqKQNLoZ0MkEsn102T4itNC5o7U+FDNSRHKYHPY6o1MbS9nbcOKywMDBqhEit5nNKCw9vOoz49N6zpw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.200.0.tgz", + "integrity": "sha512-3Y5UaBBuBs3EE1NgYexhnOdFfozyxHvz4f/452b1K55IigJvovTl3TI46tFEkXiqhRs9bJZ/DiuakbsGfiKMFQ==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-retry": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.200.0.tgz", + "integrity": "sha512-9YVofOwxocbNDfTcNQfWJsOA9MVdZIu0T6or0fr54cn1q0WJ69IoFeHVUmCiOXy9HRTop3GC6Fyc5pQmjaRRcQ==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/service-error-classification": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-middleware": "3.200.0", + "tslib": "^2.3.1", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-retry/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-retry/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.200.0.tgz", + "integrity": "sha512-dIxigpsYSDRXcmqhH3KumCdgi/0357pN/qjGcu71TQyDCdeg6Y0dU986P8t84UEM869997y51JyIfGwLO2f9dg==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-bucket-endpoint": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-arn-parser": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.200.0.tgz", + "integrity": "sha512-1kZVgK+hk5F4oFMbzjzvv5qZ4DXJfpXOrHRu7dpmOeV8KL+NKYqYq7BeToDMjTTTq8atTHlDyQ4YrlgaOHyVCQ==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-signing": "3.200.0", + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/signature-v4": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-serde": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.200.0.tgz", + "integrity": "sha512-NDYLVC7UxIDvu906itssEJE5yobPdVhMuE3Ef3MEMk3UTawd8f7lmo40kzFDBS3cW/c4jluGiTsN8r+8fPc3oA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-serde/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-serde/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.200.0.tgz", + "integrity": "sha512-Guztdq7i/ZNWR68InHUJpSYpg668rNt+2N5z14SlWrZ8cup6ZHy3bRgzqClAPiXuHPKx9r9ysvczT6jCCyy+Xg==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/signature-v4": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-middleware": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-signing/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.200.0.tgz", + "integrity": "sha512-Z8Dw8/DpK+lCFL/LgGsHsu6uL6vWNrRi8LydYjFrYosfW2LodFo09zwaPcWQ1CKjb1BDTV1KvZFB22naL7V2XA==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-ssec/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-stack": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.200.0.tgz", + "integrity": "sha512-j2uSX4Bv347/14zXz7v/PKcTvE/AXQbXu+BQ1IQgqji7e3AT9QYJMsUD4TMK0SLYvCfBEtpfDXkA6WitT/ZPSA==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-stack/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.200.0.tgz", + "integrity": "sha512-RZ3cfaIIC3+xjm+raEb1xfOB/kJsH99mHHcVkOeGuKGzzYAG8wG1N6EYOZgqO2SaNsr87sx9fxCAd8A4X0wgRA==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/node-config-provider": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.200.0.tgz", + "integrity": "sha512-TUZB/7JZfFQ6Ra4AhFCt64JvScosSkNZmhBE3a5Wdbh1uQlhVoczMumWPs1Gsl9awmYGipsDhZybTeI9r0b66w==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/shared-ini-file-loader": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/node-config-provider/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/node-config-provider/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/node-http-handler": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.200.0.tgz", + "integrity": "sha512-foqNf0qsHTdClogmtlzJgPk8/s/kEOjAnkMVwJwBPEjVTxTN8i5oC4rXUsPIZ7LOYBTz2QQGkl3vY6BBFMmVGw==", + "optional": true, + "dependencies": { + "@aws-sdk/abort-controller": "3.200.0", + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/querystring-builder": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/node-http-handler/node_modules/@aws-sdk/abort-controller": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.200.0.tgz", + "integrity": "sha512-YflVl9JEFjy0cco+40FAocQfFGZ7fR2tnYhQPqXtfCJ9ywikB2PnzN3G6TtvNCFaSG1tLwnI0LZphVbk89sDtw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/node-http-handler/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/node-http-handler/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/property-provider": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.200.0.tgz", + "integrity": "sha512-KABh7LSkcWXCkilBa/WY2PvyR5vRMn1nwa2HYu9s1UToHbPCxIG0/ybtQfWNwVR4x5AtNODQYZBqxpBYUwau8w==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/property-provider/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/property-provider/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/protocol-http": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.200.0.tgz", + "integrity": "sha512-P61hkZtXXaTTk/ap+WCOxX/IIRCH1lTap6Yy8RigcDmblh/BE+vDRqqRiTebIq/pWgOzQ67OjFJLxDkkS/OMKQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/protocol-http/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/protocol-http/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/querystring-builder": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.200.0.tgz", + "integrity": "sha512-r4q7oUkcYsnxeVaIUEPGEPPobyn1CpAn7NmeuK8c3Lq4MrcfTx11aQMEtklmW+hvzavNPFxgYyUNiDuIyiVd6A==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-uri-escape": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/querystring-builder/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/querystring-builder/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/querystring-parser": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.200.0.tgz", + "integrity": "sha512-9C6c+fas2hMqvuCK8m7vwMqLb5W/x1Wib9yYJnBx40bOSdnOADRoRQitxCE07Iuq8aeHjPZYn1IhLhE9i9EmOg==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/querystring-parser/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/querystring-parser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.383.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.383.0.tgz", + "integrity": "sha512-LN4j5Fj7w+ecOAVFjwHbV0l9E7VgSvIzc/6g786pqSkSflwRnd6HQ6QfOlIJjxqtPBTfmbocphC8qt40XpZi0g==", + "optional": true, + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.378.0", + "@aws-sdk/types": "3.378.0", + "@aws-sdk/util-format-url": "3.378.0", + "@smithy/middleware-endpoint": "^2.0.1", + "@smithy/protocol-http": "^2.0.1", + "@smithy/smithy-client": "^2.0.1", + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.378.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.378.0.tgz", + "integrity": "sha512-gtuABS7EeYZQeNzTrabY3Ruv4wWmoz4u8OMSGl47gYPDWA70WYEZ0aoi4zSGuKhXiqtVvTsO9wGEMIInwV5phQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.378.0", + "@smithy/protocol-http": "^2.0.1", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/signature-v4-crt": "^3.118.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/signature-v4-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/types": { + "version": "3.378.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.378.0.tgz", + "integrity": "sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/s3-request-presigner/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@aws-sdk/service-error-classification": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.200.0.tgz", + "integrity": "sha512-MFaMIJ/3v3C0XDerJDEfNYEquQXysnKtvuJJJWqPOPXMxCls4u8utyeXv0E6wO8ast6UW5xJKtzqEFRQ3t/+7w==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/shared-ini-file-loader": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.200.0.tgz", + "integrity": "sha512-K7PxcJSsZ3ExdVsa6HP0l9f2kzsEeIfBn1bTBYsaacKmLeb1eUom+egSf5zr6cNmuyhPvKv0W7SbqYNC9MWTXg==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/shared-ini-file-loader/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/shared-ini-file-loader/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/signature-v4": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.200.0.tgz", + "integrity": "sha512-2xMRWwfHTIthwV97/ubWFnXwzh4lMEXcAzPTpuqGljAaG5mtExUTkAQqoNuJqt4wLconkN6QBbhN5fREtkUlRQ==", + "optional": true, + "dependencies": { + "@aws-sdk/is-array-buffer": "3.188.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/util-middleware": "3.200.0", + "@aws-sdk/util-uri-escape": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.200.0.tgz", + "integrity": "sha512-XsXunksD4jg9r3/0ESE4Ycejzj6J4ldQA7SiCEHDAsUBZV4ZqTixQ/fUPXW3RCd2VR1pp7AEICVP2gs8DH2lJw==", + "optional": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.200.0", + "@aws-sdk/signature-v4": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-arn-parser": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "@aws-sdk/signature-v4-crt": "^3.118.0" + }, + "peerDependenciesMeta": { + "@aws-sdk/signature-v4-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4-multi-region/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/signature-v4/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/smithy-client": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.200.0.tgz", + "integrity": "sha512-3tZHcvTHADz9H7su9w/fOJavOOAsC5olYfVVgeqteaHaSojFOaNm8fD4KvluSAIDpHyHZPVPLZIHwcEwuc7j9A==", + "optional": true, + "dependencies": { + "@aws-sdk/middleware-stack": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/smithy-client/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/smithy-client/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/types": { + "version": "3.296.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.296.0.tgz", + "integrity": "sha512-s0wIac64rrMEo2ioUxP9IarGiiCGmelCspNcoNTPSjGl25QqjhyfQqTeGgS58qJ4fHoQb07qra39930xp1IzJg==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/types/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/url-parser": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.200.0.tgz", + "integrity": "sha512-scoAdYsBRBcg4gNKcwVUZrQ4C/ewYWo2JLRjWcaptcGfcdCWcl6905iTzcE/n1OhmaqWJsmUL6YL5ERr/4x8lA==", + "optional": true, + "dependencies": { + "@aws-sdk/querystring-parser": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/url-parser/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/url-parser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.188.0.tgz", + "integrity": "sha512-q4nZzt/g3sRY9a3sj1PaNFwql5bXfKSW4fRy0zLdbZHcYdgq2oQfVsJTIlL9lUNjifkXiIsmk61Q16JExtrLyw==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-arn-parser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-base64-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", + "integrity": "sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-base64-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-base64-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.188.0.tgz", + "integrity": "sha512-r1dccRsRjKq+OhVRUfqFiW3sGgZBjHbMeHLbrAs9jrOjU2PTQ8PSzAXLvX/9lmp7YjmX17Qvlsg0NCr1tbB9OA==", + "optional": true, + "dependencies": { + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-base64-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-body-length-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", + "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-body-length-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-body-length-node": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.188.0.tgz", + "integrity": "sha512-XwqP3vxk60MKp4YDdvDeCD6BPOiG2e+/Ou4AofZOy5/toB6NKz2pFNibQIUg2+jc7mPMnGnvOW3MQEgSJ+gu/Q==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-body-length-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-buffer-from": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.188.0.tgz", + "integrity": "sha512-NX1WXZ8TH20IZb4jPFT2CnLKSqZWddGxtfiWxD9M47YOtq/SSQeR82fhqqVjJn4P8w2F5E28f+Du4ntg/sGcxA==", + "optional": true, + "dependencies": { + "@aws-sdk/is-array-buffer": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-buffer-from/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-config-provider": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.188.0.tgz", + "integrity": "sha512-LBA7tLbi7v4uvbOJhSnjJrxbcRifKK/1ZVK94JTV2MNSCCyNkFotyEI5UWDl10YKriTIUyf7o5cakpiDZ3O4xg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-config-provider/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-defaults-mode-browser": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.200.0.tgz", + "integrity": "sha512-WDFXifeo617AjCLd6ltddPDNvC7gsbCMQgUdXsuHt+paplyjqHF20jCU1+WXvFaTU5Ia1lN+SGDJb1nB1jawkw==", + "optional": true, + "dependencies": { + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/types": "3.200.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-defaults-mode-node": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.200.0.tgz", + "integrity": "sha512-1S/Y/KzKnK/aCqQiPR3JUlXv8NWjHiuuGUB1po3neeWnsld10Q4o2ScWWT/v+XCXFac7ublX6yjrCQ+1YBZNCw==", + "optional": true, + "dependencies": { + "@aws-sdk/config-resolver": "3.200.0", + "@aws-sdk/credential-provider-imds": "3.200.0", + "@aws-sdk/node-config-provider": "3.200.0", + "@aws-sdk/property-provider": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.200.0.tgz", + "integrity": "sha512-qBPq/nVziDixIp8dLxL0Q+03JPy9HuJmL0sREHaE4sIHL1/g4gutXCQe5oYS4de82xSe4uNZo9qVBYW96h6m6A==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-format-url": { + "version": "3.378.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.378.0.tgz", + "integrity": "sha512-CtW2HnCq08ildVD7B5OPn1zOxBAMBjkDxqzOcLw3Rk9F6OKuMM9hawulU62tMtouJPC0QSS6eLoNOrYGch5ehQ==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.378.0", + "@smithy/querystring-builder": "^2.0.1", + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url/node_modules/@aws-sdk/types": { + "version": "3.378.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.378.0.tgz", + "integrity": "sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-format-url/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@aws-sdk/util-hex-encoding": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.188.0.tgz", + "integrity": "sha512-QyWovTtjQ2RYxqVM+STPh65owSqzuXURnfoof778spyX4iQ4z46wOge1YV2ZtwS8w5LWd9eeVvDrLu5POPYOnA==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-hex-encoding/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.295.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz", + "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-middleware": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.200.0.tgz", + "integrity": "sha512-yMC4pg9z31AxnvC9f2M+D7L1KCh6NgykPsNqQQxTz6fFIt/nXNc10eqYaVCJCn419bcSgQhtVDJ2RAudrCCabg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-middleware/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-stream-browser": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.200.0.tgz", + "integrity": "sha512-O6nSHtp2j1EcnwaNCqiHFkfF0UpMLJnJVr8L7GutSJbty+oTXIcMjLnLSQP5Vl6UeAb8iXP1VDohtweVHVm+DA==", + "optional": true, + "dependencies": { + "@aws-sdk/fetch-http-handler": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-base64-browser": "3.188.0", + "@aws-sdk/util-hex-encoding": "3.188.0", + "@aws-sdk/util-utf8-browser": "3.188.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-stream-browser/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-stream-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-stream-node": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.200.0.tgz", + "integrity": "sha512-jMEpvcu3E3oU3XHQRYmyw5ttJAYfPVZaPaWFbq4H5dl+Dd/VPCohENutQH1iU+f4lz9B0Z5x/PgTpAMv5YXygw==", + "optional": true, + "dependencies": { + "@aws-sdk/node-http-handler": "3.200.0", + "@aws-sdk/types": "3.200.0", + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-stream-node/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-stream-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-uri-escape": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.188.0.tgz", + "integrity": "sha512-4Y6AYZMT483Tiuq8dxz5WHIiPNdSFPGrl6tRTo2Oi2FcwypwmFhqgEGcqxeXDUJktvaCBxeA08DLr/AemVhPCg==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-uri-escape/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.200.0.tgz", + "integrity": "sha512-985Qtcw813q3UanTakl17OJzdVRcw6p1lIl1Xww1CmuA9sW6X8+q6oQavnmXtACMd059sTUR/f+V4Yloya2Pmg==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "bowser": "^2.11.0", + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.200.0.tgz", + "integrity": "sha512-3dgMp31enW37VMg7GZDq5xhohEMo8mocwafQ1pKND/NDEjha9df3nk6Oy4F5Y2pG8GPdFvHnsTqJ6FJKwwYtxA==", + "optional": true, + "dependencies": { + "@aws-sdk/node-config-provider": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, + "node_modules/@aws-sdk/util-user-agent-node/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-utf8-browser": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz", + "integrity": "sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + } + }, + "node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-utf8-node": { + "version": "3.199.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.199.0.tgz", + "integrity": "sha512-Kk3qCdGbe5k0PUE8EBgMsRxNstvDCoWStYWjNwsHWuc/hJitSf44PColzXw6xxHqH1sY+6LcgIaMwJZ5C4bB6w==", + "optional": true, + "dependencies": { + "@aws-sdk/util-buffer-from": "3.188.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-utf8-node/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/util-waiter": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.200.0.tgz", + "integrity": "sha512-5NSCY25pHaTJkZZTRefzLpzBUWGtMbgn8I74bPuAoA67BgteVV8nvMblqDPsmKUYvZaOTDpBPak280JmkujYXQ==", + "optional": true, + "dependencies": { + "@aws-sdk/abort-controller": "3.200.0", + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-waiter/node_modules/@aws-sdk/abort-controller": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.200.0.tgz", + "integrity": "sha512-YflVl9JEFjy0cco+40FAocQfFGZ7fR2tnYhQPqXtfCJ9ywikB2PnzN3G6TtvNCFaSG1tLwnI0LZphVbk89sDtw==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-waiter/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "optional": true, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/util-waiter/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@aws-sdk/xml-builder": { + "version": "3.188.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.188.0.tgz", + "integrity": "sha512-/Hah3gAtrBpEaDInX3eSS0nXw/IUeb+rWiGspXxb5O8bh5kyjQqeu8/sVJQlpOtq4aPDbMDmloH4k696qTqgbw==", + "optional": true, + "dependencies": { + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/xml-builder/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "optional": true + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.16.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", + "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.1", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@balena/abstract-sql-compiler": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-9.0.3.tgz", + "integrity": "sha512-MIGMG1abVfyTHyIKX+4mXJfPJX3BMAw1tV3rL/MqMovvw69Pyh0WRFduYR4AiPcWjYNQK+W1SbK7Q57/L7JmdA==", + "dependencies": { + "@balena/sbvr-types": "^6.0.0", + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + } + }, + "node_modules/@balena/abstract-sql-to-typescript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.1.0.tgz", + "integrity": "sha512-lO6qslyTsB/4ARfHBlkEmf1vgu8P6KT0+Y2+aRktDjTIa/IGiUy3A9qznUDUhkQvcGtPdVGC0HRqV6/JE+HR4A==", + "dependencies": { + "@balena/abstract-sql-compiler": "^9.0.3", + "@balena/odata-to-abstract-sql": "^5.9.6", + "@types/node": "^16.18.25", + "common-tags": "^1.8.2" + }, + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + } + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-parser": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-2.5.0.tgz", + "integrity": "sha512-SoBiJ2f+Xcu25lLKUki6Z3zYFeE6c2jys9YRcsFx1rHc/B+CS28LkkUKo/M5shn1Ccej273pRmmSyV6/k/pBTw==" + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-to-abstract-sql": { + "version": "5.9.6", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-5.9.6.tgz", + "integrity": "sha512-oRiVU/EtzHK/jjiQrc7FsRtEgwypPQUeQwp/wznyMmRIpfcmGFxMKJSGpN+VVzBBFHrwgFFfBlw/ymK8CtkpMg==", + "dependencies": { + "@balena/abstract-sql-compiler": "^8.4.1", + "@balena/odata-parser": "^2.4.6", + "@types/lodash": "^4.14.194", + "@types/memoizee": "^0.4.8", + "@types/string-hash": "^1.1.1", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "string-hash": "^1.1.3" + } + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/abstract-sql-compiler": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.5.0.tgz", + "integrity": "sha512-LSomZ6hf86nnHQLi1JSasz0vL9O82Z9PwbYjNMcQdeFLv9k8BgWKcKIpzPBLNX9j4xh09Yp5irNd+0larZFchg==", + "dependencies": { + "@balena/sbvr-types": "^3.5.0", + "lodash": "^4.17.21" + } + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@balena/sbvr-types": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", + "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", + "optionalDependencies": { + "bcrypt": "^5.1.0", + "bcryptjs": "^2.4.3", + "sha.js": "^2.4.11" + } + }, + "node_modules/@balena/abstract-sql-to-typescript/node_modules/@types/node": { + "version": "16.18.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz", + "integrity": "sha512-+yno3ItTEwGxXiS/75Q/aHaa5srkpnJaH+kdkTVJ3DtJEwv92itpKbxU+FjPoh2m/5G9zmUQfrL4A4C13c+iGA==" + }, + "node_modules/@balena/env-parsing": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@balena/env-parsing/-/env-parsing-1.1.5.tgz", + "integrity": "sha512-9ISTzFUSwPg7hQWm4fQRLiG/5D1I2N4jBu/tR7bvlr7uOykVtdrtKxsQjPLHsJ+9pDwoPThY2FGlnrrvysKvmA==" + }, + "node_modules/@balena/es-version": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@balena/es-version/-/es-version-1.0.2.tgz", + "integrity": "sha512-hoYEg44i27yyw1Rv+j07O2vBjK5dMsbgb6ktsPz8czxS7R0wm3tAC6h+0ump13UxMK4l3MaAbb1EGIIRM/f9ig==" + }, + "node_modules/@balena/lf-to-abstract-sql": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@balena/lf-to-abstract-sql/-/lf-to-abstract-sql-5.0.0.tgz", + "integrity": "sha512-3yDQiGfsgBmKFllZiLNaHg069bavh/KmXBYO12iepNEWRsifCPaXKlXbkxRG6DsaXrR1GQiVgI+t6QclSXFeng==", + "dependencies": { + "@balena/sbvr-parser": "^1.4.3", + "lodash": "^4.17.21", + "ometa-js": "^1.5.4" + } + }, + "node_modules/@balena/lint": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-6.2.2.tgz", + "integrity": "sha512-PD1l90kE109lhj6+U2l1jgoDC92qkpI9EFREkqIv+aCc6ZtBvBBcyjCFaD8NMw46xom/TJYC3mD8ir3QsR5Xgg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.3", + "@types/node": "^12.20.13", + "@types/prettier": "^2.2.3", + "depcheck": "^1.4.1", + "glob": "^7.1.7", + "prettier": "^2.3.0", + "tslint": "^6.1.3", + "tslint-config-prettier": "^1.18.0", + "tslint-no-unused-expression-chai": "^0.1.4", + "typescript": "^5.0.2", + "yargs": "^16.2.0" + }, + "bin": { + "balena-lint": "bin/balena-lint" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/@balena/lint/node_modules/@types/node": { + "version": "12.20.55", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", + "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "dev": true + }, + "node_modules/@balena/node-metrics-gatherer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@balena/node-metrics-gatherer/-/node-metrics-gatherer-6.0.3.tgz", + "integrity": "sha512-BNGhWQ1Sxd5enRhbIza54YKqugW15zYDBL6vD0xSb7p5wejLmjHEyvLQs/oq/5+fpYsbD0COcVTjHQUAeyvK0w==", + "dependencies": { + "@types/debug": "^4.1.7", + "@types/express": "^4.17.13", + "@types/on-finished": "^2.3.1", + "debug": "^4.3.4", + "express": "^4.17.3", + "on-finished": "^2.4.1", + "prom-client": "^14.0.1", + "typed-error": "^3.2.1" + } + }, + "node_modules/@balena/odata-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-3.0.0.tgz", + "integrity": "sha512-2+iKtAqWxnEiQByC4dcMoUhSBLAKyd+uOfpZ3K28NTtdiIUayasG/Y+kDjJRtnSfPm1vbu4rrM1t2dBj0gIG0w==", + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + } + }, + "node_modules/@balena/odata-to-abstract-sql": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.0.1.tgz", + "integrity": "sha512-S5dXiJFmOhsrZEKdd1WDwE2wBG3t8sj6jRGLQ7/dtjgB3WxE6u7KS9hnQD+FqAFrvOEBFeH3czMUohulYDJy2g==", + "dependencies": { + "@balena/abstract-sql-compiler": "^8.4.1", + "@balena/odata-parser": "^3.0.0", + "@types/lodash": "^4.14.194", + "@types/memoizee": "^0.4.8", + "@types/string-hash": "^1.1.1", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "string-hash": "^1.1.3" + }, + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + } + }, + "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/abstract-sql-compiler": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.5.0.tgz", + "integrity": "sha512-LSomZ6hf86nnHQLi1JSasz0vL9O82Z9PwbYjNMcQdeFLv9k8BgWKcKIpzPBLNX9j4xh09Yp5irNd+0larZFchg==", + "dependencies": { + "@balena/sbvr-types": "^3.5.0", + "lodash": "^4.17.21" + } + }, + "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/sbvr-types": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", + "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", + "optionalDependencies": { + "bcrypt": "^5.1.0", + "bcryptjs": "^2.4.3", + "sha.js": "^2.4.11" + } + }, + "node_modules/@balena/pinejs": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.0.tgz", + "integrity": "sha512-FxXXRIJZgPapPYVOM0/F46BmNwr6FRgOhRoOXu8QgpXMPodT0ufvngATiDAhngTn3BnfcWVanntNUJh82h0Zbg==", + "dependencies": { + "@balena/abstract-sql-compiler": "^9.0.3", + "@balena/abstract-sql-to-typescript": "^2.1.0", + "@balena/env-parsing": "^1.1.5", + "@balena/lf-to-abstract-sql": "^5.0.0", + "@balena/odata-parser": "^3.0.0", + "@balena/odata-to-abstract-sql": "^6.0.1", + "@balena/sbvr-parser": "^1.4.3", + "@balena/sbvr-types": "^6.0.0", + "@types/body-parser": "^1.19.2", + "@types/compression": "^1.7.2", + "@types/cookie-parser": "^1.4.3", + "@types/deep-freeze": "^0.1.2", + "@types/express": "^4.17.17", + "@types/express-session": "^1.17.7", + "@types/lodash": "^4.14.194", + "@types/memoizee": "^0.4.8", + "@types/method-override": "^0.0.32", + "@types/multer": "^1.4.7", + "@types/mysql": "^2.15.21", + "@types/node": "^18.16.1", + "@types/passport": "^1.0.12", + "@types/passport-local": "^1.0.35", + "@types/passport-strategy": "^0.2.35", + "@types/pg": "^8.6.6", + "@types/randomstring": "^1.1.8", + "@types/websql": "^0.0.27", + "busboy": "^1.6.0", + "commander": "^10.0.1", + "deep-freeze": "^0.0.1", + "eventemitter3": "^5.0.0", + "express-session": "^1.17.3", + "lodash": "^4.17.21", + "memoizee": "^0.4.15", + "pinejs-client-core": "^6.13.0", + "randomstring": "^1.2.3", + "type-is": "^1.6.18", + "typed-error": "^3.2.2" + }, + "bin": { + "abstract-sql-compiler": "bin/abstract-sql-compiler.js", + "odata-compiler": "bin/odata-compiler.js", + "sbvr-compiler": "bin/sbvr-compiler.js" + }, + "engines": { + "node": ">=16.13.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@aws-sdk/client-s3": "^3.200.0", + "@aws-sdk/lib-storage": "^3.200.0", + "@aws-sdk/s3-request-presigner": "^3.200.0", + "bcrypt": "^5.1.0", + "body-parser": "^1.20.2", + "compression": "^1.7.4", + "cookie-parser": "^1.4.6", + "express": "^4.18.2", + "method-override": "^3.0.0", + "mysql": "^2.18.1", + "passport": "^0.6.0", + "passport-local": "^1.0.0", + "pg": "^8.10.0", + "pg-connection-string": "^2.5.0", + "serve-static": "^1.15.0" + } + }, + "node_modules/@balena/sbvr-parser": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@balena/sbvr-parser/-/sbvr-parser-1.4.3.tgz", + "integrity": "sha512-f6LgwNtJnTWOQ+1/KtSVHoS2/fSlmsVHAzvTfFJohw6lzHX1XCUAyVQLHrAvMRNN90NhPsnEpS9XMtVR0exHJA==", + "dependencies": { + "lodash": "^4.17.21", + "ometa-js": "^1.5.4" + } + }, + "node_modules/@balena/sbvr-types": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-6.0.0.tgz", + "integrity": "sha512-fj7xlS7JxSOnx9Mvu/Z3OcCYI6yPa7ziNGLdpY+FV2eAfHweKD+fb/u2pRpBUnV+v+Bq6YTe0V55l+R5M5Yl9w==", + "engines": { + "node": ">=16.13.0", + "npm": ">=8.1.0" + }, + "optionalDependencies": { + "bcrypt": "^5.1.0", + "bcryptjs": "^2.4.3", + "sha.js": "^2.4.11" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@grpc/grpc-js": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.11.tgz", + "integrity": "sha512-f/xC+6Z2QKsRJ+VSSFlt4hA5KSRm+PKvMWV8kMPkMgGlFidR6PeIkXrOasIY2roe+WROM6GFQLlgDKfeEZo2YQ==", + "dependencies": { + "@grpc/proto-loader": "^0.7.0", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.5.tgz", "integrity": "sha512-mfcTuMbFowq1wh/Rn5KQl6qb95M21Prej3bewD9dUQMurYGVckGO/Pbe2Ocwto6sD05b/mxZLspvqwx60xO2Rg==", "dependencies": { - "@types/long": "^4.0.1", - "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^7.0.0", - "yargs": "^16.2.0" + "@types/long": "^4.0.1", + "lodash.camelcase": "^4.3.0", + "long": "^4.0.0", + "protobufjs": "^7.0.0", + "yargs": "^16.2.0" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@ioredis/commands": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", + "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", + "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", + "devOptional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" }, "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "devOptional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@sentry-internal/tracing": { + "version": "7.49.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.49.0.tgz", + "integrity": "sha512-ESh3+ZneQk/3HESTUmIPNrW5GVPu/HrRJU+eAJJto74vm+6vP7zDn2YV2gJ1w18O/37nc7W/bVCgZJlhZ3cwew==", + "dependencies": { + "@sentry/core": "7.49.0", + "@sentry/types": "7.49.0", + "@sentry/utils": "7.49.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/core": { + "version": "7.49.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.49.0.tgz", + "integrity": "sha512-AlSnCYgfEbvK8pkNluUkmdW/cD9UpvOVCa+ERQswXNRkAv5aDGCL6Ihv6fnIajE++BYuwZh0+HwZUBVKTFzoZg==", + "dependencies": { + "@sentry/types": "7.49.0", + "@sentry/utils": "7.49.0", + "tslib": "^1.9.3" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/node": { + "version": "7.49.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.49.0.tgz", + "integrity": "sha512-KLIrqcbKk4yR3g8fjl87Eyv4M9j4YI6b7sqVAZYj3FrX3mC6JQyGdlDfUpSKy604n1iAdr6OuUp5f9x7jPJaeQ==", + "dependencies": { + "@sentry-internal/tracing": "7.49.0", + "@sentry/core": "7.49.0", + "@sentry/types": "7.49.0", + "@sentry/utils": "7.49.0", + "cookie": "^0.4.1", + "https-proxy-agent": "^5.0.0", + "lru_map": "^0.3.3", + "tslib": "^1.9.3" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==" + "node_modules/@sentry/types": { + "version": "7.49.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.49.0.tgz", + "integrity": "sha512-9yXXh7iv76+O6h2ONUVx0wsL1auqJFWez62mTjWk4350SgMmWp/zUkBxnVXhmcYqscz/CepC+Loz9vITLXtgxg==", + "engines": { + "node": ">=8" + } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, + "node_modules/@sentry/utils": { + "version": "7.49.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.49.0.tgz", + "integrity": "sha512-JdC9yGnOgev4ISJVwmIoFsk8Zx0psDZJAj2DV7x4wMZsO6QK+YjC7G3mUED/S5D5lsrkBZ/3uvQQhr8DQI4UcQ==", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@sentry/types": "7.49.0", + "tslib": "^1.9.3" }, "engines": { - "node": ">=12" + "node": ">=8" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "dependencies": { + "type-detect": "4.0.8" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", + "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dependencies": { + "@sinonjs/commons": "^2.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "node_modules/@sinonjs/samsam": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", + "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", "dev": true, "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "@sinonjs/commons": "^2.0.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, + "node_modules/@sinonjs/text-encoding": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", + "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", + "dev": true + }, + "node_modules/@smithy/abort-controller": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.1.tgz", + "integrity": "sha512-0s7XjIbsTwZyUW9OwXQ8J6x1UiA1TNCh60Vaw56nHahL7kUZsLhmTlWiaxfLkFtO2Utkj8YewcpHTYpxaTzO+w==", + "optional": true, "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=14.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, + "node_modules/@smithy/abort-controller/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/eventstream-codec": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.1.tgz", + "integrity": "sha512-/IiNB7gQM2y2ZC/GAWOWDa8+iXfhr1g9Xe5979cQEOdCWDISvrAiv18cn3OtIQUhbYOR3gm7QtCpkq1to2takQ==", + "optional": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "@aws-crypto/crc32": "3.0.0", + "@smithy/types": "^2.0.2", + "@smithy/util-hex-encoding": "^2.0.0", + "tslib": "^2.5.0" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "engines": { - "node": ">=6.0.0" + "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "optional": true, + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" + "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, + "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "optional": true, + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-utf8-browser": "^3.0.0", + "tslib": "^1.11.1" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, + "node_modules/@smithy/eventstream-codec/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.0.1.tgz", + "integrity": "sha512-/SoU/ClazgcdOxgE4zA7RX8euiELwpsrKCSvulVQvu9zpmqJRyEJn8ZTWYFV17/eHOBdHTs9kqodhNhsNT+cUw==", + "optional": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@smithy/protocol-http": "^2.0.1", + "@smithy/querystring-builder": "^2.0.1", + "@smithy/types": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "tslib": "^2.5.0" } }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", - "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", - "devOptional": true, + "node_modules/@smithy/fetch-http-handler/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/is-array-buffer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", + "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", + "optional": true, "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" + "tslib": "^2.5.0" }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "devOptional": true, + "node_modules/@smithy/is-array-buffer/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.1.tgz", + "integrity": "sha512-uz/KI1MBd9WHrrkVFZO4L4Wyv24raf0oR4EsOYEeG5jPJO5U+C7MZGLcMxX8gWERDn1sycBDqmGv8fjUMLxT6w==", + "optional": true, "dependencies": { - "glob": "^7.1.3" + "@smithy/middleware-serde": "^2.0.1", + "@smithy/types": "^2.0.2", + "@smithy/url-parser": "^2.0.1", + "@smithy/util-middleware": "^2.0.0", + "tslib": "^2.5.0" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/middleware-serde": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.1.tgz", + "integrity": "sha512-uKxPaC6ItH9ZXdpdqNtf8sda7GcU4SPMp0tomq/5lUg9oiMa/Q7+kD35MUrpKaX3IVXVrwEtkjCU9dogZ/RAUA==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@smithy/middleware-serde/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/middleware-stack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.0.tgz", + "integrity": "sha512-31XC1xNF65nlbc16yuh3wwTudmqs6qy4EseQUGF8A/p2m/5wdd/cnXJqpniy/XvXVwkHPz/GwV36HqzHtIKATQ==", + "optional": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "tslib": "^2.5.0" }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@smithy/middleware-stack/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/node-http-handler": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.0.1.tgz", + "integrity": "sha512-Zv3fxk3p9tsmPT2CKMsbuwbbxnq2gzLDIulxv+yI6aE+02WPYorObbbe9gh7SW3weadMODL1vTfOoJ9yFypDzg==", + "optional": true, + "dependencies": { + "@smithy/abort-controller": "^2.0.1", + "@smithy/protocol-http": "^2.0.1", + "@smithy/querystring-builder": "^2.0.1", + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@smithy/node-http-handler/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/protocol-http": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-2.0.1.tgz", + "integrity": "sha512-mrkMAp0wtaDEIkgRObWYxI1Kun1tm6Iu6rK+X4utb6Ah7Uc3Kk4VIWwK/rBHdYGReiLIrxFCB1rq4a2gyZnSgg==", + "optional": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" } }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dev": true, + "node_modules/@smithy/protocol-http/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/querystring-builder": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.1.tgz", + "integrity": "sha512-bp+93WFzx1FojVEIeFPtG0A1pKsFdCUcZvVdZdRlmNooOUrz9Mm9bneRd8hDwAQ37pxiZkCOxopSXXRQN10mYw==", + "optional": true, "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" + "@smithy/types": "^2.0.2", + "@smithy/util-uri-escape": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, + "node_modules/@smithy/querystring-builder/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/querystring-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.1.tgz", + "integrity": "sha512-h+e7k1z+IvI2sSbUBG9Aq46JsgLl4UqIUl6aigAlRBj+P6ocNXpM6Yn1vMBw5ijtXeZbYpd1YvCxwDgdw3jhmg==", + "optional": true, "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, + "node_modules/@smithy/querystring-parser/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/signature-v4": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.1.tgz", + "integrity": "sha512-jztv5Mirca42ilxmMDjzLdXcoAmRhZskGafGL49sRo5u7swEZcToEFrq6vtX5YMbSyTVrE9Teog5EFexY5Ff2Q==", + "optional": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "@smithy/eventstream-codec": "^2.0.1", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/types": "^2.0.2", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-middleware": "^2.0.0", + "@smithy/util-uri-escape": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, + "node_modules/@smithy/signature-v4/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/smithy-client": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.0.1.tgz", + "integrity": "sha512-LHC5m6tYpEu1iNbONfvMbwtErboyTZJfEIPoD78Ei5MVr36vZQCaCla5mvo36+q/a2NAk2//fA5Rx3I1Kf7+lQ==", "optional": true, + "dependencies": { + "@smithy/middleware-stack": "^2.0.0", + "@smithy/types": "^2.0.2", + "@smithy/util-stream": "^2.0.1", + "tslib": "^2.5.0" + }, "engines": { - "node": ">=14" + "node": ">=14.0.0" } }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + "node_modules/@smithy/smithy-client/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "node_modules/@smithy/types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.0.2.tgz", + "integrity": "sha512-wcymEjIXQ9+NEfE5Yt5TInAqe1o4n+Nh+rh00AwoazppmUt8tdo6URhc5gkDcOYrcvlDVAZE7uG69nDpEGUKxw==", + "optional": true, "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + "node_modules/@smithy/types/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + "node_modules/@smithy/url-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.1.tgz", + "integrity": "sha512-NpHVOAwddo+OyyIoujDL9zGL96piHWrTNXqltWmBvlUoWgt1HPyBuKs6oHjioyFnNZXUqveTOkEEq0U5w6Uv8A==", + "optional": true, + "dependencies": { + "@smithy/querystring-parser": "^2.0.1", + "@smithy/types": "^2.0.2", + "tslib": "^2.5.0" + } }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + "node_modules/@smithy/url-parser/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true }, - "node_modules/@sentry-internal/tracing": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.49.0.tgz", - "integrity": "sha512-ESh3+ZneQk/3HESTUmIPNrW5GVPu/HrRJU+eAJJto74vm+6vP7zDn2YV2gJ1w18O/37nc7W/bVCgZJlhZ3cwew==", + "node_modules/@smithy/util-base64": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", + "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "optional": true, "dependencies": { - "@sentry/core": "7.49.0", - "@sentry/types": "7.49.0", - "@sentry/utils": "7.49.0", - "tslib": "^1.9.3" + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@sentry/core": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.49.0.tgz", - "integrity": "sha512-AlSnCYgfEbvK8pkNluUkmdW/cD9UpvOVCa+ERQswXNRkAv5aDGCL6Ihv6fnIajE++BYuwZh0+HwZUBVKTFzoZg==", + "node_modules/@smithy/util-base64/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/util-buffer-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", + "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "optional": true, "dependencies": { - "@sentry/types": "7.49.0", - "@sentry/utils": "7.49.0", - "tslib": "^1.9.3" + "@smithy/is-array-buffer": "^2.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@sentry/node": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.49.0.tgz", - "integrity": "sha512-KLIrqcbKk4yR3g8fjl87Eyv4M9j4YI6b7sqVAZYj3FrX3mC6JQyGdlDfUpSKy604n1iAdr6OuUp5f9x7jPJaeQ==", + "node_modules/@smithy/util-buffer-from/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", + "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", + "optional": true, "dependencies": { - "@sentry-internal/tracing": "7.49.0", - "@sentry/core": "7.49.0", - "@sentry/types": "7.49.0", - "@sentry/utils": "7.49.0", - "cookie": "^0.4.1", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^1.9.3" + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@sentry/types": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.49.0.tgz", - "integrity": "sha512-9yXXh7iv76+O6h2ONUVx0wsL1auqJFWez62mTjWk4350SgMmWp/zUkBxnVXhmcYqscz/CepC+Loz9vITLXtgxg==", + "node_modules/@smithy/util-hex-encoding/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/util-middleware": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.0.tgz", + "integrity": "sha512-eCWX4ECuDHn1wuyyDdGdUWnT4OGyIzV0LN1xRttBFMPI9Ff/4heSHVxneyiMtOB//zpXWCha1/SWHJOZstG7kA==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@sentry/utils": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.49.0.tgz", - "integrity": "sha512-JdC9yGnOgev4ISJVwmIoFsk8Zx0psDZJAj2DV7x4wMZsO6QK+YjC7G3mUED/S5D5lsrkBZ/3uvQQhr8DQI4UcQ==", + "node_modules/@smithy/util-middleware/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/util-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.1.tgz", + "integrity": "sha512-2a0IOtwIKC46EEo7E7cxDN8u2jwOiYYJqcFKA6rd5rdXqKakHT2Gc+AqHWngr0IEHUfW92zX12wRQKwyoqZf2Q==", + "optional": true, "dependencies": { - "@sentry/types": "7.49.0", - "tslib": "^1.9.3" + "@smithy/fetch-http-handler": "^2.0.1", + "@smithy/node-http-handler": "^2.0.1", + "@smithy/types": "^2.0.2", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-hex-encoding": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" } }, - "node_modules/@sinonjs/commons": { + "node_modules/@smithy/util-stream/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true + }, + "node_modules/@smithy/util-uri-escape": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", + "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", + "optional": true, "dependencies": { - "type-detect": "4.0.8" + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0" - } + "node_modules/@smithy/util-uri-escape/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, + "node_modules/@smithy/util-utf8": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", + "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", + "optional": true, "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", - "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", - "dev": true + "node_modules/@smithy/util-utf8/node_modules/tslib": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", + "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "optional": true }, "node_modules/@tootallnate/once": { "version": "1.1.2", @@ -1821,12 +4729,6 @@ "node": ">= 8" } }, - "node_modules/append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", - "optional": true - }, "node_modules/aproba": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", @@ -2188,6 +5090,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "optional": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -2230,12 +5138,6 @@ "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "optional": true - }, "node_modules/buffer-writer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", @@ -2258,7 +5160,6 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "optional": true, "dependencies": { "streamsearch": "^1.1.0" }, @@ -2812,21 +5713,6 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "devOptional": true }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "optional": true, - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -3679,6 +6565,22 @@ "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", "dev": true }, + "node_modules/fast-xml-parser": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz", + "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==", + "optional": true, + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + }, + "funding": { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + }, "node_modules/fastq": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", @@ -5839,36 +8741,6 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, - "node_modules/multer": { - "version": "1.4.5-lts.1", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", - "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", - "optional": true, - "dependencies": { - "append-field": "^1.0.0", - "busboy": "^1.0.0", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/multer/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "optional": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, "node_modules/multimatch": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", @@ -6711,9 +9583,9 @@ } }, "node_modules/pinejs-client-core": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/pinejs-client-core/-/pinejs-client-core-6.12.3.tgz", - "integrity": "sha512-Qg9TbiaUlKDqcWCE6ARFFzOvNnJnBmovPifeyhV7ybYVDDpd8WAGrItQSJkOjuk4ZSwcaYMcHJ+FNatBUAnGWw==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/pinejs-client-core/-/pinejs-client-core-6.13.0.tgz", + "integrity": "sha512-U2Eg8lBlxCjTZ2K5cHdxIO4SixzX+ZIJzQpYqUOwqN4SxDqtDYY+ChiLF6xC86sqkjogJ2AFOr+jo2zUrlFc8A==", "dependencies": { "@balena/es-version": "^1.0.1" }, @@ -7981,11 +10853,34 @@ "node": ">= 0.8" } }, + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", + "optional": true, + "dependencies": { + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" + } + }, + "node_modules/stream-browserify/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/streamsearch": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "optional": true, "engines": { "node": ">=10.0.0" } @@ -8139,6 +11034,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", + "optional": true + }, "node_modules/superagent": { "version": "8.0.9", "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz", @@ -8585,12 +11486,6 @@ "npm": ">=3.0.0" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "optional": true - }, "node_modules/typescript": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", diff --git a/package.json b/package.json index a7bfeb8df..febb49cd9 100644 --- a/package.json +++ b/package.json @@ -33,11 +33,11 @@ "prepare": "node -e \"try { require('husky').install() } catch (e) {if (e.code !== 'MODULE_NOT_FOUND') throw e}\"" }, "dependencies": { - "@balena/abstract-sql-compiler": "^9.0.2", + "@balena/abstract-sql-compiler": "^9.0.3", "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.0.0", + "@balena/pinejs": "^15.3.0", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", diff --git a/src/balena-model.ts b/src/balena-model.ts index c97aa81de..fee702043 100644 --- a/src/balena-model.ts +++ b/src/balena-model.ts @@ -11,6 +11,13 @@ export type Deferred = Exclude; export type PickDeferred = { [P in K]: Deferred; }; +export interface WebResource { + filename: string; + href: string; + content_type?: string; + content_disposition?: string; + size?: number; +} export interface Actor { created_at: DateString; From ba1715728ec75b1a5f4fd86cf410aaa531417cdb Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 17 Aug 2023 14:48:05 +0000 Subject: [PATCH 062/221] v14.2.0 --- .versionbot/CHANGELOG.yml | 167 ++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 64 +++++++++++++++ package-lock.json | 4 +- package.json | 4 +- 4 files changed, 235 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 53057561b..c1d4d2de5 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,170 @@ +- commits: + - subject: Adds webresource typing + hash: b917b310dccf6715b9b99be008b6feebcaae65b6 + body: | + Update @balena/pinejs from 15.0.0 to 15.3.0 + footer: + Change-type: minor + change-type: minor + author: Otávio Jacobi + nested: + - commits: + - subject: Add support to WebResrouce type + hash: 9d17553b52bd105211d6c2619ccf7eeabfe4da01 + body: "" + footer: + Change-type: minor + change-type: minor + author: Otávio Jacobi + nested: [] + version: pinejs-15.3.0 + title: "" + date: 2023-08-16T21:54:26.306Z + - commits: + - subject: Mark that `tx` is always passed to `POSTRUN-ERROR` hooks + hash: 29982a40eddb816f25c61ae47b1e6a7433c2f583 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: pinejs-15.2.1 + title: "" + date: 2023-08-14T15:07:28.239Z + - commits: + - subject: Return a response even when the request resolves to an HTTP error + hash: d1d68a068778a617d7b14b12a2657fb44511ee52 + body: "" + footer: + Change-type: minor + change-type: minor + author: myarmolinsky + nested: [] + version: pinejs-15.2.0 + title: "" + date: 2023-08-02T12:11:45.279Z + - commits: + - subject: Throw a Bad Request error when passing unknown vocabulary in a request + hash: 1fb238a13d68d881a8c541845f6432480acfae9d + body: "" + footer: + Change-type: patch + change-type: patch + author: myarmolinsky + nested: [] + version: pinejs-15.1.1 + title: "" + date: 2023-08-02T12:00:01.570Z + - commits: + - subject: Update pinejs-client-core to 6.13.0 + hash: 9757808e1422074b805c57fd5b629f5b3ef6f779 + body: | + Update pinejs-client-core from 6.12.3 to 6.13.0 + footer: + Change-type: minor + change-type: minor + author: Thodoris Greasidis + nested: + - commits: + - subject: Add support for $duration + hash: 05edeeea86147ac49dd864ae6e0b46ffc73f6fc4 + body: "" + footer: + Change-type: minor + change-type: minor + author: Thodoris Greasidis + nested: [] + version: pinejs-client-js-6.13.0 + title: "" + date: 2023-07-11T13:16:05.245Z + - commits: + - subject: Avoid an unnecessary function creation on each get() call + hash: 782e43ef40a22fa4c8e0f3d64917b03e07c77522 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: pinejs-client-js-6.12.4 + title: "" + date: 2023-05-09T13:11:13.136Z + version: pinejs-15.1.0 + title: "" + date: 2023-07-11T14:03:07.450Z + - commits: + - subject: Mark the bin scripts as executable + hash: b530c6d4f5c599e517345084f2db3c544118186e + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: pinejs-15.0.5 + title: "" + date: 2023-07-07T15:40:24.029Z + - commits: + - subject: Add transaction cancelation tests for properly hooked custom endpoints + hash: dfe17f5933b2da276633ee713de5c2a0d714b656 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Add OData request transaction cancelation tests + hash: e6a3cb5d9b6b0be45ae77f6217d4112b6c5fa0a7 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: pinejs-15.0.4 + title: "" + date: 2023-06-27T15:50:39.665Z + - commits: + - subject: Fix pinejs 15 migrations for the migrations model + hash: 2705ae109fdef70777a38aa1000d117c32b84d2f + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: pinejs-15.0.3 + title: "" + date: 2023-06-15T12:32:07.075Z + - commits: + - subject: Update TypeScript to 5.1.3 + hash: 67487ebc958401c7b20dc3b4052f2374b36548c4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: pinejs-15.0.2 + title: "" + date: 2023-06-02T14:43:20.273Z + - commits: + - subject: "Migrations.md: Add marking the sbvr field as optional on the 2nd + deploy" + hash: d6d0ded8eccc6eadb2492f4697918cf0afd00215 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: pinejs-15.0.1 + title: "" + date: 2023-05-23T09:41:23.575Z + version: 14.2.0 + title: "" + date: 2023-08-17T14:47:58.548Z - commits: - subject: Update grafana/loki Docker tag to v2.8.4 hash: abc4f73b0875b66d1b5d234696f89996372a6943 diff --git a/CHANGELOG.md b/CHANGELOG.md index b6306dc06..608510ebb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,70 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.2.0 - 2023-08-17 + + +
+ Adds webresource typing [Otávio Jacobi] + +> ### pinejs-15.3.0 - 2023-08-16 +> +> * Add support to WebResrouce type [Otávio Jacobi] +> +> ### pinejs-15.2.1 - 2023-08-14 +> +> * Mark that `tx` is always passed to `POSTRUN-ERROR` hooks [Pagan Gazzard] +> +> ### pinejs-15.2.0 - 2023-08-02 +> +> * Return a response even when the request resolves to an HTTP error [myarmolinsky] +> +> ### pinejs-15.1.1 - 2023-08-02 +> +> * Throw a Bad Request error when passing unknown vocabulary in a request [myarmolinsky] +> +> ### pinejs-15.1.0 - 2023-07-11 +> +> +>
+> Update pinejs-client-core to 6.13.0 [Thodoris Greasidis] +> +>> #### pinejs-client-js-6.13.0 - 2023-07-11 +>> +>> * Add support for $duration [Thodoris Greasidis] +>> +>> #### pinejs-client-js-6.12.4 - 2023-05-09 +>> +>> * Avoid an unnecessary function creation on each get() call [Thodoris Greasidis] +>> +> +>
+> +> +> ### pinejs-15.0.5 - 2023-07-07 +> +> * Mark the bin scripts as executable [Thodoris Greasidis] +> +> ### pinejs-15.0.4 - 2023-06-27 +> +> * Add transaction cancelation tests for properly hooked custom endpoints [Thodoris Greasidis] +> * Add OData request transaction cancelation tests [Thodoris Greasidis] +> +> ### pinejs-15.0.3 - 2023-06-15 +> +> * Fix pinejs 15 migrations for the migrations model [Pagan Gazzard] +> +> ### pinejs-15.0.2 - 2023-06-02 +> +> * Update TypeScript to 5.1.3 [Thodoris Greasidis] +> +> ### pinejs-15.0.1 - 2023-05-23 +> +> * Migrations.md: Add marking the sbvr field as optional on the 2nd deploy [Thodoris Greasidis] +> + +
+ ## 14.1.1 - 2023-08-11 * Update grafana/loki Docker tag to v2.8.4 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 4bdaa03b5..ef22ec62c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.1.1", + "version": "14.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.1.1", + "version": "14.2.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index febb49cd9..4352016f3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.1.1", + "version": "14.2.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-11T23:16:17.818Z" + "publishedAt": "2023-08-17T14:48:01.157Z" } } From caed98da4e664947b6500181f58cfae31ba12d39 Mon Sep 17 00:00:00 2001 From: Josh Bowling Date: Fri, 18 Aug 2023 13:13:33 +0900 Subject: [PATCH 063/221] CI: Use pglast to validate SQL Change-type: patch --- Dockerfile | 4 + docker-compose.test-custom.yml | 1 - package-lock.json | 705 ++------------------------------- package.json | 1 - test/10_migrations.ts | 102 +++-- 5 files changed, 82 insertions(+), 731 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2dd788bbc..9d1f1eadd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,6 +16,10 @@ RUN systemctl enable open-balena-api.service # Set up a test image that can be reused FROM runtime as test +RUN apt update && apt install \ + && apt install python3-pglast \ + && rm -rf /var/lib/apt/lists/* + RUN npm ci && npm run lint # Make the default output be the runtime image diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index c1161b3e9..3a359329d 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -112,7 +112,6 @@ services: - /usr/src/app/node_modules/@mapbox/node-pre-gyp - /usr/src/app/node_modules/bcrypt - /usr/src/app/node_modules/grpc - - /usr/src/app/node_modules/libpg-query - /usr/src/app/node_modules/nan - /usr/src/app/node_modules/node-addon-api - ./package.json:/usr/src/app/package.json diff --git a/package-lock.json b/package-lock.json index ef22ec62c..31d30ae43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -106,7 +106,6 @@ "chai": "^4.3.7", "copyfiles": "^2.4.1", "husky": "^8.0.3", - "libpg-query": "^15.0.2", "lint-staged": "^13.2.1", "mocha": "^10.2.0", "mockery": "^2.1.0", @@ -3050,12 +3049,6 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, "node_modules/@grpc/grpc-js": { "version": "1.8.11", "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.11.tgz", @@ -3214,7 +3207,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", - "devOptional": true, + "optional": true, "dependencies": { "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", @@ -3234,7 +3227,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "devOptional": true, + "optional": true, "dependencies": { "glob": "^7.1.3" }, @@ -3277,45 +3270,6 @@ "node": ">= 8" } }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "dev": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -3944,15 +3898,6 @@ "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", "optional": true }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -4562,7 +4507,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "devOptional": true + "optional": true }, "node_modules/accepts": { "version": "1.3.8", @@ -4606,20 +4551,6 @@ "node": ">= 6.0.0" } }, - "node_modules/agentkeepalive": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", - "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "depd": "^2.0.0", - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -4733,13 +4664,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "devOptional": true + "optional": true }, "node_modules/are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "devOptional": true, + "optional": true, "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" @@ -4752,7 +4683,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "devOptional": true, + "optional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5175,74 +5106,6 @@ "node": ">= 0.8" } }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cacache/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cache-manager": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cache-manager/-/cache-manager-4.1.0.tgz", @@ -5563,7 +5426,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "devOptional": true, + "optional": true, "bin": { "color-support": "bin.js" } @@ -5717,7 +5580,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "devOptional": true + "optional": true }, "node_modules/content-disposition": { "version": "0.5.4", @@ -6007,7 +5870,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "devOptional": true + "optional": true }, "node_modules/denque": { "version": "2.1.0", @@ -6081,7 +5944,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", - "devOptional": true, + "optional": true, "engines": { "node": ">=8" } @@ -6151,8 +6014,8 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, "optional": true, + "peer": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -6161,8 +6024,8 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, "optional": true, + "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -6170,21 +6033,6 @@ "node": ">=0.10.0" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -6780,7 +6628,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "devOptional": true, + "optional": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", "color-support": "^1.1.2", @@ -6800,13 +6648,13 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "devOptional": true + "optional": true }, "node_modules/gauge/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "devOptional": true, + "optional": true, "engines": { "node": ">=8" } @@ -6815,7 +6663,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "devOptional": true, + "optional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6939,12 +6787,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -7015,7 +6857,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "devOptional": true + "optional": true }, "node_modules/he": { "version": "1.2.0", @@ -7035,12 +6877,6 @@ "node": ">=8" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -7056,20 +6892,6 @@ "node": ">= 0.8" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -7105,15 +6927,6 @@ "node": ">=14.18.0" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "dependencies": { - "ms": "^2.0.0" - } - }, "node_modules/husky": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", @@ -7176,15 +6989,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", @@ -7194,12 +6998,6 @@ "node": ">=8" } }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -7247,12 +7045,6 @@ "url": "https://opencollective.com/ioredis" } }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true - }, "node_modules/ipaddr.js": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", @@ -7367,12 +7159,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -7634,24 +7420,6 @@ "node": ">=0.10.0" } }, - "node_modules/libpg-query": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/libpg-query/-/libpg-query-15.0.2.tgz", - "integrity": "sha512-Nj+gQJPbvthDCfLb+NEcnhfUUW76N1otzD8xBxmr6kY4292GWJwhANse3SwGFGn5xl76WWAVW+IM7Wk5uyb9hg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.8", - "node-addon-api": "^1.6.3", - "node-gyp": "^8.0.0" - } - }, - "node_modules/libpg-query/node_modules/node-addon-api": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz", - "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==", - "dev": true - }, "node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", @@ -8176,7 +7944,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "devOptional": true, + "optional": true, "dependencies": { "semver": "^6.0.0" }, @@ -8191,7 +7959,7 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "devOptional": true, + "optional": true, "bin": { "semver": "bin/semver.js" } @@ -8201,57 +7969,6 @@ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "dev": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -8411,131 +8128,6 @@ "node": ">=8" } }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "dev": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-fetch/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", @@ -8892,7 +8484,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", - "devOptional": true, + "optional": true, "dependencies": { "whatwg-url": "^5.0.0" }, @@ -8908,135 +8500,6 @@ } } }, - "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/node-gyp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/node-schedule": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/node-schedule/-/node-schedule-2.1.1.tgz", @@ -9088,7 +8551,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "devOptional": true, + "optional": true, "dependencies": { "abbrev": "1" }, @@ -9139,7 +8602,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "devOptional": true, + "optional": true, "dependencies": { "are-we-there-yet": "^2.0.0", "console-control-strings": "^1.1.0", @@ -9786,25 +9249,6 @@ "node": ">=10" } }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/propagate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", @@ -10225,15 +9669,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -10543,7 +9978,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "devOptional": true + "optional": true }, "node_modules/setprototypeof": { "version": "1.2.0", @@ -10688,44 +10123,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dev": true, - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, "node_modules/sorted-array-functions": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz", @@ -10816,30 +10213,6 @@ "node": ">=0.10.0" } }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "dev": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/ssri/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/standard-as-callback": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", @@ -11237,7 +10610,7 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "devOptional": true + "optional": true }, "node_modules/ts-node": { "version": "10.9.1", @@ -11578,24 +10951,6 @@ "node": ">= 0.8" } }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -11706,13 +11061,13 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "devOptional": true + "optional": true }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "devOptional": true, + "optional": true, "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -11756,7 +11111,7 @@ "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "devOptional": true, + "optional": true, "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -11765,13 +11120,13 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "devOptional": true + "optional": true }, "node_modules/wide-align/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "devOptional": true, + "optional": true, "engines": { "node": ">=8" } @@ -11780,7 +11135,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "devOptional": true, + "optional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", diff --git a/package.json b/package.json index 4352016f3..a6e7339bb 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,6 @@ "chai": "^4.3.7", "copyfiles": "^2.4.1", "husky": "^8.0.3", - "libpg-query": "^15.0.2", "lint-staged": "^13.2.1", "mocha": "^10.2.0", "mockery": "^2.1.0", diff --git a/test/10_migrations.ts b/test/10_migrations.ts index 74760f0cb..fc5f7d34c 100644 --- a/test/10_migrations.ts +++ b/test/10_migrations.ts @@ -1,10 +1,21 @@ import { strict as assert } from 'assert'; import fs from 'fs'; import _ from 'lodash'; +import { execSync } from 'node:child_process'; import path from 'path'; -import parser from 'libpg-query'; import configJson from '../config'; +// Validate SQL files using squawk +function validateSql(file: string): void { + try { + execSync(`pgpp -t ${file}`, { + stdio: ['ignore', 'ignore', 'pipe'], + }); + } catch (e) { + throw new Error(`Invalid SQL in ${file}: ${e.stderr.toString()}`); + } +} + describe('migrations', () => { _(configJson.models) .filter('migrationsPath') @@ -13,10 +24,8 @@ describe('migrations', () => { if (!path.isAbsolute(migrationsPath!)) { migrationsPath = __dirname + '/../src/' + migrationsPath; } - const fileNamesPromise = fs.promises.readdir(migrationsPath!); + const fileNames = fs.readdirSync(migrationsPath!); it('should have unique prefixes', async () => { - const fileNames = await fileNamesPromise; - const duplicates = _(fileNames) .groupBy((v) => v.split('-', 1)[0]) .filter((v) => v.length > 1) @@ -28,30 +37,21 @@ describe('migrations', () => { } }); - it('should have valid sql', async () => { - const fileNames = await fileNamesPromise; - - // Sanity check SQL files - const fullSqlPaths = fileNames - .filter((fileName) => fileName.endsWith('.sql')) - .map((fileName) => path.join(migrationsPath!, fileName)); - for (const fullSqlPath of fullSqlPaths) { - try { - const sql = await fs.promises.readFile(fullSqlPath, 'utf8'); - await parser.parseQuery(sql); - } catch (e) { - const [migrationKey] = path.basename(fullSqlPath).split('-', 1); - throw new Error( - `Invalid sql for migration ${migrationKey}: ${e} `, - ); - } - } + // Sanity check SQL files + for (const fileName of fileNames.filter((f) => { + return f.endsWith('.sql'); + })) { + it(`should have valid sql in ${fileName}`, async () => { + validateSql(path.join(migrationsPath!, fileName)); + }); + } - // Sanity check async migrations - const asyncMigrationPaths = fileNames - .filter((fileName) => fileName.endsWith('.async.ts')) - .map((fileName) => path.join(migrationsPath!, fileName)); - for (const asyncMigrationPath of asyncMigrationPaths) { + // Sanity check async migrations + const asyncMigrationPaths = fileNames + .filter((fileName) => fileName.endsWith('.async.ts')) + .map((fileName) => path.join(migrationsPath!, fileName)); + for (const asyncMigrationPath of asyncMigrationPaths) { + it(`should have valid sql in ${asyncMigrationPath}`, async () => { const migration = (await import(asyncMigrationPath)).default; if (migration.syncSql || migration.asyncSql) { assert( @@ -60,39 +60,33 @@ describe('migrations', () => { migration.asyncBatchSize, 'Missing required async migration options', ); - try { - await parser.parseQuery( - migration.asyncSql.replaceAll( - '%%ASYNC_BATCH_SIZE%%', - migration.asyncBatchSize, - ), - ); - await parser.parseQuery(migration.syncSql); - } catch (e) { - const [migrationKey] = path - .basename(asyncMigrationPath) - .split('-', 1); - throw new Error( - `Invalid sql for migration ${migrationKey}: ${e} `, - ); - } + const asyncPath = `/tmp/async-${path.basename( + asyncMigrationPath, + )}.sql`; + const syncPath = `/tmp/sync-${path.basename( + asyncMigrationPath, + )}.sql`; + fs.writeFileSync( + asyncPath, + migration.asyncSql.replaceAll( + '%%ASYNC_BATCH_SIZE%%', + migration.asyncBatchSize, + ), + ); + fs.writeFileSync(syncPath, migration.syncSql); + validateSql(asyncPath); + validateSql(syncPath); + fs.unlinkSync(asyncPath); + fs.unlinkSync(syncPath); } - } - }); + }); + } }); }); }); describe('balena-init.sql', () => { it('should have valid sql', async () => { - try { - const sql = await fs.promises.readFile( - require.resolve('../src/balena-init.sql'), - 'utf8', - ); - await parser.parseQuery(sql); - } catch (e) { - throw new Error(`Invalid sql: ${e} `); - } + validateSql('src/balena-init.sql'); }); }); From 86a31f9f23ad1b7e49d34d00a7c95f1419fa2f6c Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 18 Aug 2023 04:27:15 +0000 Subject: [PATCH 064/221] v14.2.1 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index c1d4d2de5..ecd34e989 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: "CI: Use pglast to validate SQL" + hash: 928a789c37918328713fa4a84d3b8a547bc5cd85 + body: "" + footer: + Change-type: patch + change-type: patch + author: Josh Bowling + nested: [] + version: 14.2.1 + title: "" + date: 2023-08-18T04:27:10.038Z - commits: - subject: Adds webresource typing hash: b917b310dccf6715b9b99be008b6feebcaae65b6 diff --git a/CHANGELOG.md b/CHANGELOG.md index 608510ebb..f3426e05d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.2.1 - 2023-08-18 + +* CI: Use pglast to validate SQL [Josh Bowling] + ## 14.2.0 - 2023-08-17 diff --git a/package-lock.json b/package-lock.json index 31d30ae43..3637f2319 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.2.0", + "version": "14.2.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.2.0", + "version": "14.2.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index a6e7339bb..73b1745e3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.2.0", + "version": "14.2.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-17T14:48:01.157Z" + "publishedAt": "2023-08-18T04:27:11.112Z" } } From 8d6dbacd16805fa6f4fc7e957f6d21b8b609a7f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Thu, 17 Aug 2023 16:37:19 -0300 Subject: [PATCH 065/221] Remove imports from pinejs/out directory Change-type: patch --- src/features/auth/whoami.ts | 9 ++++----- src/features/device-logs/lib/backends/loki.ts | 10 ++++------ src/features/device-logs/lib/supervisor.ts | 3 +-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/features/auth/whoami.ts b/src/features/auth/whoami.ts index 6079a3ae4..d638dc8f9 100644 --- a/src/features/auth/whoami.ts +++ b/src/features/auth/whoami.ts @@ -1,6 +1,6 @@ import type { RequestHandler } from 'express'; -import { sbvrUtils, permissions } from '@balena/pinejs'; +import { sbvrUtils, permissions, errors } from '@balena/pinejs'; import { getUser } from '../../infra/auth/auth'; import { @@ -10,7 +10,6 @@ import { } from '../../infra/error-handling'; import type { User, Application, Device } from '../../balena-model'; -import { UnauthorizedError } from '@balena/pinejs/out/sbvr-api/errors'; const { api } = sbvrUtils; @@ -128,14 +127,14 @@ export const actorWhoami: RequestHandler = async (req, res) => { })) as Array>; if (userWithId == null) { - throw new UnauthorizedError(); + throw new errors.UnauthorizedError(); } } const actorId = req.apiKey?.actor ?? req.user?.actor; if (actorId == null) { - throw new UnauthorizedError( + throw new errors.UnauthorizedError( 'Request API Key or Token has no associated actor', ); } @@ -218,7 +217,7 @@ const validateRawActorInfo = (rawActorInfo: ExpandedActor) => { } if (amountAssociatedResources < 1) { - throw new UnauthorizedError( + throw new errors.UnauthorizedError( `Actor ${rawActorInfo.id} is not associated to any resource`, ); } diff --git a/src/features/device-logs/lib/backends/loki.ts b/src/features/device-logs/lib/backends/loki.ts index 9c01eb348..c71a487c9 100644 --- a/src/features/device-logs/lib/backends/loki.ts +++ b/src/features/device-logs/lib/backends/loki.ts @@ -20,7 +20,7 @@ import { TailResponse, Timestamp, } from 'loki-grpc-client'; -import { errors, sbvrUtils } from '@balena/pinejs'; +import { errors, sbvrUtils, permissions, types } from '@balena/pinejs'; import { LOKI_HOST, LOKI_PORT } from '../../../../lib/config'; import { DeviceLog, @@ -43,9 +43,7 @@ import { incrementPublishCallTotal, } from './metrics'; import { setTimeout } from 'timers/promises'; -import { root } from '@balena/pinejs/out/sbvr-api/permissions'; import { Device, PickDeferred } from '../../../../balena-model'; -import { RequiredField } from '@balena/pinejs/out/sbvr-api/common-types'; const { BadRequestError } = errors; @@ -107,13 +105,13 @@ async function assertLokiLogContext( ctx: LogContext & Partial, ): Promise { if ('belongs_to__application' in ctx) { - return ctx as RequiredField; + return ctx as types.RequiredField; } const device = (await sbvrUtils.api.resin.get({ resource: 'device', id: ctx.id, - passthrough: { req: root }, + passthrough: { req: permissions.root }, options: { $select: ['belongs_to__application'], }, @@ -123,7 +121,7 @@ async function assertLokiLogContext( (ctx as Writable).belongs_to__application = device?.belongs_to__application!.__id; - return ctx as RequiredField; + return ctx as types.RequiredField; } export class LokiBackend implements DeviceLogsBackend { diff --git a/src/features/device-logs/lib/supervisor.ts b/src/features/device-logs/lib/supervisor.ts index 7bf74c9aa..5c6a06c45 100644 --- a/src/features/device-logs/lib/supervisor.ts +++ b/src/features/device-logs/lib/supervisor.ts @@ -4,7 +4,6 @@ import { errors } from '@balena/pinejs'; import type { DeviceLog, OldSupervisorLog, SupervisorLog } from './struct'; import { getNanoTimestamp } from '../../../lib/utils'; -import { BadRequestError } from '@balena/pinejs/out/sbvr-api/errors'; const MAX_LOGS_PER_BATCH = 10; @@ -26,7 +25,7 @@ export class Supervisor { private convertAnyLog(log: SupervisorLog): DeviceLog | undefined { if (this.isOldLog(log)) { // Old format supervisor logs are no longer supported - throw new BadRequestError(); + throw new errors.BadRequestError(); } return this.convertLog(log); } From 43817a106d7953f7b29309b8174080ca76011144 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 21 Aug 2023 22:44:02 +0000 Subject: [PATCH 066/221] v14.2.2 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ecd34e989..2b0f808df 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Remove imports from pinejs/out directory + hash: 9ac66a26f0ac83096875a8e541a51b6b6099e991 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: 14.2.2 + title: "" + date: 2023-08-21T22:43:57.731Z - commits: - subject: "CI: Use pglast to validate SQL" hash: 928a789c37918328713fa4a84d3b8a547bc5cd85 diff --git a/CHANGELOG.md b/CHANGELOG.md index f3426e05d..824268638 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.2.2 - 2023-08-21 + +* Remove imports from pinejs/out directory [Otávio Jacobi] + ## 14.2.1 - 2023-08-18 * CI: Use pglast to validate SQL [Josh Bowling] diff --git a/package-lock.json b/package-lock.json index 3637f2319..9c597bfb4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.2.1", + "version": "14.2.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.2.1", + "version": "14.2.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 73b1745e3..3e2cd77e8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.2.1", + "version": "14.2.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-18T04:27:11.112Z" + "publishedAt": "2023-08-21T22:43:58.816Z" } } From cfcf9f94c7aa3a6477f36cf4251332d1d83d868b Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 21 Aug 2023 23:11:25 +0000 Subject: [PATCH 067/221] Update dependency lint-staged to v14 Update lint-staged from 13.2.1 to 14.0.1 Change-type: patch --- package-lock.json | 426 ++++++++++++++++------------------------------ package.json | 2 +- 2 files changed, 145 insertions(+), 283 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9c597bfb4..ec2003d3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -106,7 +106,7 @@ "chai": "^4.3.7", "copyfiles": "^2.4.1", "husky": "^8.0.3", - "lint-staged": "^13.2.1", + "lint-staged": "^14.0.0", "mocha": "^10.2.0", "mockery": "^2.1.0", "nock": "^13.3.0", @@ -4551,19 +4551,6 @@ "node": ">= 6.0.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -4613,15 +4600,15 @@ } }, "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-5.0.0.tgz", + "integrity": "sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "type-fest": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -4791,15 +4778,6 @@ "node": "*" } }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/async": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", @@ -5306,25 +5284,19 @@ "node": ">=10" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-truncate": { @@ -5432,9 +5404,9 @@ } }, "node_modules/colorette": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", - "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, "node_modules/colors": { @@ -6145,9 +6117,9 @@ } }, "node_modules/eventemitter3": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.0.tgz", - "integrity": "sha512-riuVbElZZNXLeLEoprfNYoDSwTBRR44X3mnhdI1YcnENpWTCsTTVZ2zFuqQcpoyqPQIUXdiPEU0ECAq0KQRaHg==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, "node_modules/events": { "version": "1.1.1", @@ -6158,9 +6130,9 @@ } }, "node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", @@ -6989,15 +6961,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -7436,39 +7399,36 @@ "dev": true }, "node_modules/lint-staged": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-13.2.1.tgz", - "integrity": "sha512-8gfzinVXoPfga5Dz/ZOn8I2GOhf81Wvs+KwbEXQn/oWZAvCVS2PivrXfVbFJc93zD16uC0neS47RXHIjXKYZQw==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.1.tgz", + "integrity": "sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==", "dev": true, "dependencies": { - "chalk": "5.2.0", - "cli-truncate": "^3.1.0", - "commander": "^10.0.0", - "debug": "^4.3.4", - "execa": "^7.0.0", + "chalk": "5.3.0", + "commander": "11.0.0", + "debug": "4.3.4", + "execa": "7.2.0", "lilconfig": "2.1.0", - "listr2": "^5.0.7", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.3", - "pidtree": "^0.6.0", - "string-argv": "^0.3.1", - "yaml": "^2.2.1" + "listr2": "6.6.1", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.1" }, "bin": { "lint-staged": "bin/lint-staged.js" }, "engines": { - "node": "^14.13.1 || >=16.0.0" + "node": "^16.14.0 || >=18.0.0" }, "funding": { "url": "https://opencollective.com/lint-staged" } }, "node_modules/lint-staged/node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" @@ -7477,32 +7437,39 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/lint-staged/node_modules/commander": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", + "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, "node_modules/lint-staged/node_modules/yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, "engines": { "node": ">= 14" } }, "node_modules/listr2": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-5.0.7.tgz", - "integrity": "sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", + "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", "dev": true, "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.19", - "log-update": "^4.0.0", - "p-map": "^4.0.0", + "cli-truncate": "^3.1.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^5.0.1", "rfdc": "^1.3.0", - "rxjs": "^7.8.0", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" + "wrap-ansi": "^8.1.0" }, "engines": { - "node": "^14.13.1 || >=16.0.0" + "node": ">=16.0.0" }, "peerDependencies": { "enquirer": ">= 2.3.0 < 3" @@ -7513,96 +7480,60 @@ } } }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/listr2/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/listr2/node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "node_modules/listr2/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/listr2/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/listr2/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "color-name": "~1.1.4" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/listr2/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/listr2/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/listr2/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "node": ">=12" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/listr2/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/locate-path": { @@ -7743,114 +7674,78 @@ } }, "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-5.0.1.tgz", + "integrity": "sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==", "dev": true, "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" + "ansi-escapes": "^5.0.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^5.0.0", + "strip-ansi": "^7.0.1", + "wrap-ansi": "^8.0.1" }, "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "engines": { - "node": ">=8" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/loki-grpc-client": { @@ -8724,21 +8619,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/packet-reader": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", @@ -9633,16 +9513,19 @@ } }, "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/restore-cursor/node_modules/mimic-fn": { @@ -9810,21 +9693,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", - "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==", - "dev": true - }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -10272,9 +10140,9 @@ } }, "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, "engines": { "node": ">=0.6.19" @@ -10541,12 +10409,6 @@ "node": ">=0.2.6" } }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", - "dev": true - }, "node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", @@ -10827,9 +10689,9 @@ } }, "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, "engines": { "node": ">=10" diff --git a/package.json b/package.json index 3e2cd77e8..a292b1443 100644 --- a/package.json +++ b/package.json @@ -130,7 +130,7 @@ "chai": "^4.3.7", "copyfiles": "^2.4.1", "husky": "^8.0.3", - "lint-staged": "^13.2.1", + "lint-staged": "^14.0.0", "mocha": "^10.2.0", "mockery": "^2.1.0", "nock": "^13.3.0", From 151ec6347e968ba9569ef8f85abbe70191010f00 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 22 Aug 2023 07:42:20 +0000 Subject: [PATCH 068/221] v14.2.3 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 2b0f808df..c9cbdde10 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency lint-staged to v14 + hash: 646a0cb697e508cee6a9f214670f1508b8d217d0 + body: | + Update lint-staged from 13.2.1 to 14.0.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.2.3 + title: "" + date: 2023-08-22T07:42:13.156Z - commits: - subject: Remove imports from pinejs/out directory hash: 9ac66a26f0ac83096875a8e541a51b6b6099e991 diff --git a/CHANGELOG.md b/CHANGELOG.md index 824268638..8d8d60bd9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.2.3 - 2023-08-22 + +* Update dependency lint-staged to v14 [Self-hosted Renovate Bot] + ## 14.2.2 - 2023-08-21 * Remove imports from pinejs/out directory [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index ec2003d3d..b71a8f4d7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.2.2", + "version": "14.2.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.2.2", + "version": "14.2.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index a292b1443..83e0485d4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.2.2", + "version": "14.2.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-21T22:43:58.816Z" + "publishedAt": "2023-08-22T07:42:14.315Z" } } From c8abdff5a6881a7c04c71e27f5fa2bcda13d9369 Mon Sep 17 00:00:00 2001 From: Shaun Cooley Date: Mon, 21 Aug 2023 16:28:14 -0700 Subject: [PATCH 069/221] Add support for Redis auth Resolves: #1397 Change-type: minor --- config/confd/conf.d/env.toml | 1 + config/confd/templates/env.tmpl | 4 +++ src/infra/redis/config.ts | 2 ++ src/lib/config.ts | 55 +++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+) diff --git a/config/confd/conf.d/env.toml b/config/confd/conf.d/env.toml index 2154d1f39..e7d28b0fc 100644 --- a/config/confd/conf.d/env.toml +++ b/config/confd/conf.d/env.toml @@ -34,6 +34,7 @@ keys = [ "MIXPANEL_TOKEN", "PRODUCTION_MODE", "REDIS_HOST", + "REDIS_AUTH", "LOGS_HOST", "LOKI_HOST", "LOKI_PORT", diff --git a/config/confd/templates/env.tmpl b/config/confd/templates/env.tmpl index 9b28ab4eb..f6284dba7 100644 --- a/config/confd/templates/env.tmpl +++ b/config/confd/templates/env.tmpl @@ -44,10 +44,14 @@ PRODUCTION_MODE={{getenv "PRODUCTION_MODE"}} PROFILING_MODE=false REDIS_IS_CLUSTER={{getenv "REDIS_IS_CLUSTER"}} REDIS_HOST={{getenv "REDIS_HOST"}} +REDIS_AUTH={{getenv "REDIS_AUTH"}} {{if getenv "REDIS_RO_HOST"}}REDIS_RO_HOST={{getenv "REDIS_RO_HOST"}}{{end}} +{{if getenv "REDIS_RO_AUTH"}}REDIS_RO_AUTH={{getenv "REDIS_RO_AUTH"}}{{end}} {{if getenv "REDIS_LOGS_IS_CLUSTER"}}REDIS_LOGS_IS_CLUSTER={{getenv "REDIS_LOGS_IS_CLUSTER"}}{{end}} {{if getenv "REDIS_LOGS_HOST"}}REDIS_LOGS_HOST={{getenv "REDIS_LOGS_HOST"}}{{end}} +{{if getenv "REDIS_LOGS_AUTH"}}REDIS_LOGS_AUTH={{getenv "REDIS_LOGS_AUTH"}}{{end}} {{if getenv "REDIS_LOGS_RO_HOST"}}REDIS_LOGS_RO_HOST={{getenv "REDIS_LOGS_RO_HOST"}}{{end}} +{{if getenv "REDIS_LOGS_RO_AUTH"}}REDIS_LOGS_RO_AUTH={{getenv "REDIS_LOGS_RO_AUTH"}}{{end}} {{if getenv "REDIS_LOGS_SHARDED_PUBSUB"}}REDIS_LOGS_SHARDED_PUBSUB={{getenv "REDIS_LOGS_SHARDED_PUBSUB"}}{{end}} {{if getenv "LOKI_HOST"}}LOKI_HOST={{getenv "LOKI_HOST"}}{{end}} {{if getenv "LOKI_PORT"}}LOKI_PORT={{getenv "LOKI_PORT"}}{{end}} diff --git a/src/infra/redis/config.ts b/src/infra/redis/config.ts index e35e65a83..5a0c312de 100644 --- a/src/infra/redis/config.ts +++ b/src/infra/redis/config.ts @@ -41,11 +41,13 @@ export const getRedisOptions = ({ enableOfflineQueue: false, scaleReads: 'slave', redisOptions, + ...r.auth, }, }; } else { return { ...(readOnly ? r.roHost : r.host), + ...(readOnly ? r.roAuth : r.auth), ...redisOptions, }; } diff --git a/src/lib/config.ts b/src/lib/config.ts index 76d3fbf28..fbbd987ca 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -148,15 +148,23 @@ export const RATE_LIMIT_MEMORY_BACKEND = optionalVar( 'RATE_LIMIT_MEMORY_BACKEND', ); +type RedisAuth = { + username?: string; + password?: string; +}; + type RedisOpts = | { isCluster: true; hosts: HostPort[]; + auth: RedisAuth; } | { isCluster: false; host: HostPort; + auth: RedisAuth; roHost: HostPort; + roAuth: RedisAuth; }; function redisOpts(prefix: string): RedisOpts; function redisOpts( @@ -170,9 +178,12 @@ function redisOpts( defaultIsCluster?: boolean, ): RedisOpts { const hostVarName = `${prefix}_HOST`; + const authVarName = `${prefix}_AUTH`; const roHostVarName = `${prefix}_RO_HOST`; + const roAuthVarName = `${prefix}_RO_AUTH`; const isCluster = boolVar(`${prefix}_IS_CLUSTER`, defaultIsCluster); const hosts = hostPortsVar(hostVarName, defaultHosts); + const auth = redisAuthVar(authVarName); if (isCluster == null) { throw new Error(`Missing env: '${prefix}_IS_CLUSTER'`); } @@ -183,9 +194,16 @@ function redisOpts( `'${prefix}_RO_HOST' must be empty when in cluster mode `, ); } + const roAuthCheck = process.env[roAuthVarName]; + if (roAuthCheck != null && roAuthCheck !== '') { + throw new Error( + `'${prefix}_RO_AUTH' must be empty when in cluster mode `, + ); + } return { isCluster, hosts, + auth, }; } if (hosts.length > 1) { @@ -197,10 +215,13 @@ function redisOpts( if (roHosts.length > 1) { throw new Error(`'${roHostVarName}' must contain at most one entry`); } + const roAuth = redisAuthVar(roHostVarName, auth); return { isCluster, host: hosts[0], + auth, roHost: roHosts[0], + roAuth, }; } const generalRedis = redisOpts('REDIS'); @@ -393,3 +414,37 @@ export const IGNORE_FROZEN_DEVICE_PERMISSIONS = boolVar( 'IGNORE_FROZEN_DEVICE_PERMISSIONS', false, ); + +/** + * Splits an env var in the format of `${username}:${password}` + * into a RedisAuth object. Auth is optional, so this can return + * an empty RedisAuth object. + */ +export const redisAuthVar = ( + varName: string | string[], + defaultAuth?: RedisAuth, +): RedisAuth => { + const authPair = optionalVar(varName); + if (authPair == null) { + if (defaultAuth == null) { + return {}; + } + return defaultAuth; + } + + // Valid auth is of the form `${username}:${password}`, `${password}`, `:${password}`, or `${username}:` + const parts = authPair.trim().split(':'); + switch (parts.length) { + case 1: + return { + password: parts[0], + }; + case 2: + return { + username: parts[0], + password: parts[1], + }; + } + + return {}; +}; From d6bf9050d111c16b0b1884dc30a83e68365541a3 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 22 Aug 2023 22:00:57 +0000 Subject: [PATCH 070/221] v14.3.0 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index c9cbdde10..8ea2b5f74 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Add support for Redis auth + hash: 614db90f0bd25bee972b51c4924ec6872aaef481 + body: "" + footer: + Resolves: "#1397" + resolves: "#1397" + Change-type: minor + change-type: minor + author: Shaun Cooley + nested: [] + version: 14.3.0 + title: "" + date: 2023-08-22T22:00:51.387Z - commits: - subject: Update dependency lint-staged to v14 hash: 646a0cb697e508cee6a9f214670f1508b8d217d0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d8d60bd9..b79480fd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.0 - 2023-08-22 + +* Add support for Redis auth [Shaun Cooley] + ## 14.2.3 - 2023-08-22 * Update dependency lint-staged to v14 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index b71a8f4d7..c2c86d736 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.2.3", + "version": "14.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.2.3", + "version": "14.3.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 83e0485d4..19cf0832b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.2.3", + "version": "14.3.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-22T07:42:14.315Z" + "publishedAt": "2023-08-22T22:00:52.511Z" } } From 6edccf465561a6eabd332723fbf7df3bd51baedf Mon Sep 17 00:00:00 2001 From: Shaun Cooley Date: Tue, 22 Aug 2023 16:01:31 -0700 Subject: [PATCH 071/221] One additional Redis AUTH location also fixed possible 'redisAuthVar' use before initialization Change-type: patch --- src/features/device-heartbeat/index.ts | 1 + src/lib/config.ts | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/features/device-heartbeat/index.ts b/src/features/device-heartbeat/index.ts index c7658f86c..9a14ade62 100644 --- a/src/features/device-heartbeat/index.ts +++ b/src/features/device-heartbeat/index.ts @@ -190,6 +190,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ this.rsmq = new RedisSMQ({ // TODO: RSMQ does not currently support a redis cluster ...REDIS.general.host, + ...REDIS.general.auth, ns: DeviceOnlineStateManager.REDIS_NAMESPACE, }); diff --git a/src/lib/config.ts b/src/lib/config.ts index fbbd987ca..8e45afd51 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -420,10 +420,10 @@ export const IGNORE_FROZEN_DEVICE_PERMISSIONS = boolVar( * into a RedisAuth object. Auth is optional, so this can return * an empty RedisAuth object. */ -export const redisAuthVar = ( +function redisAuthVar( varName: string | string[], defaultAuth?: RedisAuth, -): RedisAuth => { +): RedisAuth { const authPair = optionalVar(varName); if (authPair == null) { if (defaultAuth == null) { @@ -447,4 +447,4 @@ export const redisAuthVar = ( } return {}; -}; +} From 01cb6113ca7c7a5e893d44a98629d411f749ffdf Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 13:26:57 +0000 Subject: [PATCH 072/221] v14.3.1 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 8ea2b5f74..f8dd2a836 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: One additional Redis AUTH location also fixed possible 'redisAuthVar' + use before initialization + hash: 40562d2b4388f5cc529e4ae8ec27a262e58d6dff + body: "" + footer: + Change-type: patch + change-type: patch + author: Shaun Cooley + nested: [] + version: 14.3.1 + title: "" + date: 2023-08-23T13:26:51.035Z - commits: - subject: Add support for Redis auth hash: 614db90f0bd25bee972b51c4924ec6872aaef481 diff --git a/CHANGELOG.md b/CHANGELOG.md index b79480fd4..7cbdb83db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.1 - 2023-08-23 + +* One additional Redis AUTH location also fixed possible 'redisAuthVar' use before initialization [Shaun Cooley] + ## 14.3.0 - 2023-08-22 * Add support for Redis auth [Shaun Cooley] diff --git a/package-lock.json b/package-lock.json index c2c86d736..0ea220bf9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.0", + "version": "14.3.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.0", + "version": "14.3.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 19cf0832b..cb1d5f5fc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.0", + "version": "14.3.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-22T22:00:52.511Z" + "publishedAt": "2023-08-23T13:26:52.273Z" } } From e4b3d4016743d2faa509b6ef9d017b320e94ee44 Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Tue, 22 Aug 2023 17:00:24 +0100 Subject: [PATCH 073/221] Make use of `.at(-1)` instead of `.length - 1` Change-type: patch --- src/features/device-logs/lib/read.ts | 2 +- test/13_loki-backend.ts | 2 +- test/18_resource_filtering.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/features/device-logs/lib/read.ts b/src/features/device-logs/lib/read.ts index 2512c5187..abf5aba39 100644 --- a/src/features/device-logs/lib/read.ts +++ b/src/features/device-logs/lib/read.ts @@ -147,7 +147,7 @@ async function handleStreamingRead( return; } - const afterDate = logs.length && logs[logs.length - 1].createdAt; + const afterDate = logs.at(-1)?.createdAt ?? 0; // Append the subscription logs to the history queue const firstAfterDateIndex = buffer.findIndex( (log) => log.createdAt > afterDate, diff --git a/test/13_loki-backend.ts b/test/13_loki-backend.ts index 3e9250ba2..ac43cc68a 100644 --- a/test/13_loki-backend.ts +++ b/test/13_loki-backend.ts @@ -42,7 +42,7 @@ describe('loki backend', () => { const response = await loki.publish(ctx, [_.clone(log)]); expect(response).to.be.not.null; const history = await loki.history(ctx, 1000); - expect(history[history.length - 1]).to.deep.equal(log); + expect(history.at(-1)).to.deep.equal(log); }); it('should convert multiple logs with different labels to streams and then back to logs', function () { diff --git a/test/18_resource_filtering.ts b/test/18_resource_filtering.ts index 89f8fd32f..24a4b877d 100644 --- a/test/18_resource_filtering.ts +++ b/test/18_resource_filtering.ts @@ -119,7 +119,7 @@ describe('Resource Filtering', () => { resource: 'application', options: { $filter: { - created_at: { $le: testTimes[testTimes.length - 1].created_at }, + created_at: { $le: testTimes.at(-1)!.created_at }, }, }, }); From 08d0efe5f4552a2cd08ca8420dec971c69bb9fef Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 14:04:35 +0000 Subject: [PATCH 074/221] v14.3.2 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f8dd2a836..72af82e50 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Make use of `.at(-1)` instead of `.length - 1` + hash: f544badbef5352db5539c48b4e71c9b3b7b15810 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: 14.3.2 + title: "" + date: 2023-08-23T14:04:31.358Z - commits: - subject: One additional Redis AUTH location also fixed possible 'redisAuthVar' use before initialization diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cbdb83db..a65304581 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.2 - 2023-08-23 + +* Make use of `.at(-1)` instead of `.length - 1` [Pagan Gazzard] + ## 14.3.1 - 2023-08-23 * One additional Redis AUTH location also fixed possible 'redisAuthVar' use before initialization [Shaun Cooley] diff --git a/package-lock.json b/package-lock.json index 0ea220bf9..f07256932 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.1", + "version": "14.3.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.1", + "version": "14.3.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index cb1d5f5fc..7525dd79e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.1", + "version": "14.3.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-23T13:26:52.273Z" + "publishedAt": "2023-08-23T14:04:32.350Z" } } From 23a68d11b9016df5e398aa6ca9d405890679678e Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Wed, 23 Aug 2023 14:59:05 +0100 Subject: [PATCH 075/221] Enable external PRs to run custom actions Change-type: patch --- .github/workflows/flowzone.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/flowzone.yml b/.github/workflows/flowzone.yml index 11ae6b4a6..bcac97dd9 100644 --- a/.github/workflows/flowzone.yml +++ b/.github/workflows/flowzone.yml @@ -21,3 +21,5 @@ jobs: secrets: inherit with: docker_images: balena/open-balena-api + # This allows external PRs to run custom actions so the custom actions must be safe to run in that context + restrict_custom_actions: false From b8317ceea16b66a39d4aebb0bb85de017b5f125f Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 23 Aug 2023 15:34:32 +0000 Subject: [PATCH 076/221] v14.3.3 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 72af82e50..a3b13607e 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Enable external PRs to run custom actions + hash: ee329ee856e81db3a3bec289d002a4e2ad784e20 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: 14.3.3 + title: "" + date: 2023-08-23T15:34:26.019Z - commits: - subject: Make use of `.at(-1)` instead of `.length - 1` hash: f544badbef5352db5539c48b4e71c9b3b7b15810 diff --git a/CHANGELOG.md b/CHANGELOG.md index a65304581..e5348b860 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.3 - 2023-08-23 + +* Enable external PRs to run custom actions [Pagan Gazzard] + ## 14.3.2 - 2023-08-23 * Make use of `.at(-1)` instead of `.length - 1` [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index f07256932..d5b441cf6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.2", + "version": "14.3.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.2", + "version": "14.3.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 7525dd79e..11763f1db 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.2", + "version": "14.3.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-23T14:04:32.350Z" + "publishedAt": "2023-08-23T15:34:26.973Z" } } From d57cb101c8bef951f7b4b1d74146d19e36b8e9c7 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 15:09:21 +0000 Subject: [PATCH 077/221] Update balena/open-balena-base Docker tag to v15.0.4 Update balena/open-balena-base from 15.0.3 to 15.0.4 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 9d1f1eadd..34ba7098c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v15.0.3 as runtime +FROM balena/open-balena-base:v15.0.4 as runtime EXPOSE 80 From e62d42667c7458757ddc4e9a0114d97e0598bca8 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 15:17:35 +0000 Subject: [PATCH 078/221] v14.3.4 --- .versionbot/CHANGELOG.yml | 47 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 15 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 66 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index a3b13607e..c62eecf2e 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,50 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v15.0.4 + hash: 67b529d9957f79e75aa713d4cf27df61d2b96bb5 + body: | + Update balena/open-balena-base from 15.0.3 to 15.0.4 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Use renovate regex annotations to manage confd releases + hash: eedbc17be7ea813b8b6880acff6bc85740559cc5 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Kyle Harding + signed-off-by: Kyle Harding + author: Kyle Harding + nested: [] + - subject: Install node and npm manually in no-systemd variant + hash: b3b1b2bcb75c6ce18dafa97b6f922ea73f88986d + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Kyle Harding + signed-off-by: Kyle Harding + author: Kyle Harding + nested: [] + - subject: Use renovate regex annotations to version node and npm + hash: 62907af9882c43306bcc2592385977550c64c022 + body: "" + footer: + Change-type: patch + change-type: patch + Signed-off-by: Kyle Harding + signed-off-by: Kyle Harding + author: Kyle Harding + nested: [] + version: open-balena-base-15.0.4 + title: "" + date: 2023-08-24T14:21:05.702Z + version: 14.3.4 + title: "" + date: 2023-08-24T15:17:29.984Z - commits: - subject: Enable external PRs to run custom actions hash: ee329ee856e81db3a3bec289d002a4e2ad784e20 diff --git a/CHANGELOG.md b/CHANGELOG.md index e5348b860..4e4872a54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.4 - 2023-08-24 + + +
+ Update balena/open-balena-base Docker tag to v15.0.4 [Self-hosted Renovate Bot] + +> ### open-balena-base-15.0.4 - 2023-08-24 +> +> * Use renovate regex annotations to manage confd releases [Kyle Harding] +> * Install node and npm manually in no-systemd variant [Kyle Harding] +> * Use renovate regex annotations to version node and npm [Kyle Harding] +> + +
+ ## 14.3.3 - 2023-08-23 * Enable external PRs to run custom actions [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index d5b441cf6..0c4ba0696 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.3", + "version": "14.3.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.3", + "version": "14.3.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 11763f1db..1b77693da 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.3", + "version": "14.3.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-23T15:34:26.973Z" + "publishedAt": "2023-08-24T15:17:31.864Z" } } From 1fc7f9747baed2f200b72a9dd0f9731ca479a56f Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 17:08:35 +0000 Subject: [PATCH 079/221] Update balena/open-balena-base Docker tag to v15.0.5 Update balena/open-balena-base from 15.0.4 to 15.0.5 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 34ba7098c..84a05cafe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v15.0.4 as runtime +FROM balena/open-balena-base:v15.0.5 as runtime EXPOSE 80 From 7462d3f825e69edf6c9025813893642789f72fed Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 24 Aug 2023 17:18:15 +0000 Subject: [PATCH 080/221] v14.3.5 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index c62eecf2e..f04296e2b 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v15.0.5 + hash: 34373974f8b57596826c643aab72d028c576215e + body: | + Update balena/open-balena-base from 15.0.4 to 15.0.5 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency node to v18.17.1 + hash: dcb6e3d103e646827312f7e33c8d5654511e25b7 + body: | + Update node from 18.17.0 to 18.17.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-15.0.5 + title: "" + date: 2023-08-24T15:48:28.223Z + version: 14.3.5 + title: "" + date: 2023-08-24T17:18:06.918Z - commits: - subject: Update balena/open-balena-base Docker tag to v15.0.4 hash: 67b529d9957f79e75aa713d4cf27df61d2b96bb5 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e4872a54..5a2c89bca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.5 - 2023-08-24 + + +
+ Update balena/open-balena-base Docker tag to v15.0.5 [Self-hosted Renovate Bot] + +> ### open-balena-base-15.0.5 - 2023-08-24 +> +> * Update dependency node to v18.17.1 [Self-hosted Renovate Bot] +> + +
+ ## 14.3.4 - 2023-08-24 diff --git a/package-lock.json b/package-lock.json index 0c4ba0696..7a0089d39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.4", + "version": "14.3.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.4", + "version": "14.3.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 1b77693da..0356688a4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.4", + "version": "14.3.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-24T15:17:31.864Z" + "publishedAt": "2023-08-24T17:18:09.130Z" } } From 5f6d3c38a494e58401cdaebc9eac07824fe88983 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Fri, 25 Aug 2023 18:12:04 +0000 Subject: [PATCH 081/221] Update balena/open-balena-base Docker tag to v15.1.0 Update balena/open-balena-base from 15.0.5 to 15.1.0 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 84a05cafe..87276a778 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v15.0.5 as runtime +FROM balena/open-balena-base:v15.1.0 as runtime EXPOSE 80 From d87dd841b2240f5cf1137a841dab08b73f8d7da0 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 25 Aug 2023 19:12:22 +0000 Subject: [PATCH 082/221] v14.3.6 --- .versionbot/CHANGELOG.yml | 25 +++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f04296e2b..44558be7c 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,28 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v15.1.0 + hash: c31603ee27f4994e64a288f7b9b85e7bdc033c7e + body: | + Update balena/open-balena-base from 15.0.5 to 15.1.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Add WEBRESOURCES_S3 ACCESS_KEY, SECRET_KEY and HOST to en configuration + hash: fddc756fe24a0e097d440da362ddc074d54bda1b + body: "" + footer: + Change-type: minor + change-type: minor + author: Otávio Jacobi + nested: [] + version: open-balena-base-15.1.0 + title: "" + date: 2023-08-24T16:35:11.511Z + version: 14.3.6 + title: "" + date: 2023-08-25T19:12:16.574Z - commits: - subject: Update balena/open-balena-base Docker tag to v15.0.5 hash: 34373974f8b57596826c643aab72d028c576215e diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a2c89bca..b61cffbbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.6 - 2023-08-25 + + +
+ Update balena/open-balena-base Docker tag to v15.1.0 [Self-hosted Renovate Bot] + +> ### open-balena-base-15.1.0 - 2023-08-24 +> +> * Add WEBRESOURCES_S3 ACCESS_KEY, SECRET_KEY and HOST to en configuration [Otávio Jacobi] +> + +
+ ## 14.3.5 - 2023-08-24 diff --git a/package-lock.json b/package-lock.json index 7a0089d39..58f608cc7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.5", + "version": "14.3.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.5", + "version": "14.3.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 0356688a4..7078aa51e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.5", + "version": "14.3.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-24T17:18:09.130Z" + "publishedAt": "2023-08-25T19:12:18.571Z" } } From a3d0f01f2045b4cb44cf0186e2a3b20cef5970ab Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 29 Aug 2023 12:39:30 +0300 Subject: [PATCH 083/221] Fix the construction of the Redis RO auth options in non-cluster mode Change-type: patch See: https://github.com/balena-io/open-balena-api/pull/1399 --- src/lib/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/config.ts b/src/lib/config.ts index 8e45afd51..84469d3e2 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -215,7 +215,7 @@ function redisOpts( if (roHosts.length > 1) { throw new Error(`'${roHostVarName}' must contain at most one entry`); } - const roAuth = redisAuthVar(roHostVarName, auth); + const roAuth = redisAuthVar(roAuthVarName, auth); return { isCluster, host: hosts[0], From 6281e526b761ea354255bc522741924c152d806e Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 29 Aug 2023 09:51:26 +0000 Subject: [PATCH 084/221] v14.3.7 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 44558be7c..ee0775b2c 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Fix the construction of the Redis RO auth options in non-cluster mode + hash: f6d7b019ca13a76fda063b5a2766089694192a02 + body: "" + footer: + Change-type: patch + change-type: patch + See: https://github.com/balena-io/open-balena-api/pull/1399 + see: https://github.com/balena-io/open-balena-api/pull/1399 + author: Thodoris Greasidis + nested: [] + version: 14.3.7 + title: "" + date: 2023-08-29T09:51:19.877Z - commits: - subject: Update balena/open-balena-base Docker tag to v15.1.0 hash: c31603ee27f4994e64a288f7b9b85e7bdc033c7e diff --git a/CHANGELOG.md b/CHANGELOG.md index b61cffbbe..92b60fa2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.7 - 2023-08-29 + +* Fix the construction of the Redis RO auth options in non-cluster mode [Thodoris Greasidis] + ## 14.3.6 - 2023-08-25 diff --git a/package-lock.json b/package-lock.json index 58f608cc7..26f40bd04 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.6", + "version": "14.3.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.6", + "version": "14.3.7", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 7078aa51e..c7c872702 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.6", + "version": "14.3.7", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-25T19:12:18.571Z" + "publishedAt": "2023-08-29T09:51:21.092Z" } } From fb48d2a7b55de9d4508c886525d24cfc49feb4e1 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 29 Aug 2023 12:42:58 +0300 Subject: [PATCH 085/221] Annotate a few type-only ioredis imports as such Change-type: patch --- src/features/device-logs/lib/backends/redis.ts | 2 +- src/infra/redis/config.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/features/device-logs/lib/backends/redis.ts b/src/features/device-logs/lib/backends/redis.ts index 7f4cd72eb..4a6e48ee5 100644 --- a/src/features/device-logs/lib/backends/redis.ts +++ b/src/features/device-logs/lib/backends/redis.ts @@ -20,7 +20,7 @@ import { newSubscribeInstance, createIsolatedRedis, } from '../../../../infra/redis'; -import { Result } from 'ioredis'; +import type { Result } from 'ioredis'; const SUBSCRIBECMD = REDIS_LOGS_SHARDED_PUBSUB ? 'ssubscribe' : 'subscribe'; const UNSUBSCRIBECMD = REDIS_LOGS_SHARDED_PUBSUB diff --git a/src/infra/redis/config.ts b/src/infra/redis/config.ts index 5a0c312de..1360f7b1e 100644 --- a/src/infra/redis/config.ts +++ b/src/infra/redis/config.ts @@ -1,5 +1,5 @@ import _ from 'lodash'; -import * as Redis from 'ioredis'; +import type * as Redis from 'ioredis'; import { REDIS } from '../../lib/config'; /* From 5d58c09895102e6fc949703e3651db184dc4a301 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 29 Aug 2023 12:44:27 +0300 Subject: [PATCH 086/221] Throw when the redis auth env vars are not in the expected format Change-type: patch --- src/lib/config.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/config.ts b/src/lib/config.ts index 84469d3e2..654734f68 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -446,5 +446,7 @@ function redisAuthVar( }; } - return {}; + throw new Error( + `'${varName}' must be in one of the following forms 'username:password', 'password', ':password', or 'username:'`, + ); } From b6382effe9a0cdd288011a714bf9d58a85291785 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 29 Aug 2023 15:49:08 +0300 Subject: [PATCH 087/221] config: Refactor the cluster mode Redis auth env var checks Change-type: patch --- src/lib/config.ts | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/lib/config.ts b/src/lib/config.ts index 654734f68..e774f8c07 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -188,17 +188,11 @@ function redisOpts( throw new Error(`Missing env: '${prefix}_IS_CLUSTER'`); } if (isCluster) { - const roHost = process.env[roHostVarName]; - if (roHost != null && roHost !== '') { - throw new Error( - `'${prefix}_RO_HOST' must be empty when in cluster mode `, - ); - } - const roAuthCheck = process.env[roAuthVarName]; - if (roAuthCheck != null && roAuthCheck !== '') { - throw new Error( - `'${prefix}_RO_AUTH' must be empty when in cluster mode `, - ); + const varsIncompatibleWithClusterMode = [roHostVarName, roAuthVarName]; + for (const varName of varsIncompatibleWithClusterMode) { + if (optionalVar(varName) != null) { + throw new Error(`'${varName}' must be empty when in cluster mode `); + } } return { isCluster, From 80b6c93cbacc57090d2cbd12b38526cc9148279e Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 29 Aug 2023 13:09:11 +0000 Subject: [PATCH 088/221] v14.3.8 --- .versionbot/CHANGELOG.yml | 28 ++++++++++++++++++++++++++++ CHANGELOG.md | 6 ++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ee0775b2c..5851d2166 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,31 @@ +- commits: + - subject: "config: Refactor the cluster mode Redis auth env var checks" + hash: 5e48b01dfe0b8e9aedb346f10f0add8603e323f1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Throw when the redis auth env vars are not in the expected format + hash: 847b08a2f1551c68b9cbbb695d35dee0dc841452 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Annotate a few type-only ioredis imports as such + hash: 62bd2bcc42a96fdc47c3623d2b8402857bb2eeb8 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.3.8 + title: "" + date: 2023-08-29T13:09:04.798Z - commits: - subject: Fix the construction of the Redis RO auth options in non-cluster mode hash: f6d7b019ca13a76fda063b5a2766089694192a02 diff --git a/CHANGELOG.md b/CHANGELOG.md index 92b60fa2b..37b39fd27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.8 - 2023-08-29 + +* config: Refactor the cluster mode Redis auth env var checks [Thodoris Greasidis] +* Throw when the redis auth env vars are not in the expected format [Thodoris Greasidis] +* Annotate a few type-only ioredis imports as such [Thodoris Greasidis] + ## 14.3.7 - 2023-08-29 * Fix the construction of the Redis RO auth options in non-cluster mode [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 26f40bd04..80791349b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.7", + "version": "14.3.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.7", + "version": "14.3.8", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index c7c872702..c20b28b86 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.7", + "version": "14.3.8", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-29T09:51:21.092Z" + "publishedAt": "2023-08-29T13:09:05.820Z" } } From eaf280e4d54c0dd4ef312f17e9f45f35923aff34 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Mon, 28 Aug 2023 10:46:16 +0300 Subject: [PATCH 089/221] Update @balena/lint to 7.0.2 Update @balena/lint from 6.2.2 to 7.0.2 Depends-on: https://github.com/balena-io-modules/node-balena-lint/pull/85 Change-type: patch --- package-lock.json | 2563 ++++++++++++++++++++++++++++++++++++++++----- package.json | 2 +- tsconfig.json | 1 + 3 files changed, 2300 insertions(+), 266 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80791349b..4130dd3ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -96,7 +96,7 @@ "validator": "^13.9.0" }, "devDependencies": { - "@balena/lint": "^6.2.2", + "@balena/lint": "^7.0.2", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/mockery": "^1.4.30", @@ -120,6 +120,15 @@ "npm": "^9.4.1" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@aws-crypto/crc32": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz", @@ -2843,20 +2852,24 @@ } }, "node_modules/@balena/lint": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-6.2.2.tgz", - "integrity": "sha512-PD1l90kE109lhj6+U2l1jgoDC92qkpI9EFREkqIv+aCc6ZtBvBBcyjCFaD8NMw46xom/TJYC3mD8ir3QsR5Xgg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-7.0.2.tgz", + "integrity": "sha512-oG0S5DQxjyoVan6j9wnFBQGSFzaqzKCEzSjelSNIVmIGdhDwfTr7WDBGZzoLVpkg4FMpsFPnoWnY/pe/59BAjA==", "dev": true, "dependencies": { + "@types/eslint": "^8.44.2", "@types/glob": "^7.1.3", - "@types/node": "^12.20.13", - "@types/prettier": "^2.2.3", + "@types/node": "^16.18.40", + "@typescript-eslint/eslint-plugin": "^6.3.0", + "@typescript-eslint/parser": "^6.3.0", "depcheck": "^1.4.1", + "eslint": "^8.46.0", + "eslint-config-prettier": "^9.0.0", + "eslint-plugin-chai-friendly": "^0.7.2", + "eslint-plugin-jsdoc": "^46.4.6", + "eslint-plugin-react": "^7.33.1", "glob": "^7.1.7", - "prettier": "^2.3.0", - "tslint": "^6.1.3", - "tslint-config-prettier": "^1.18.0", - "tslint-no-unused-expression-chai": "^0.1.4", + "prettier": "^3.0.2", "typescript": "^5.0.2", "yargs": "^16.2.0" }, @@ -2864,14 +2877,14 @@ "balena-lint": "bin/balena-lint" }, "engines": { - "node": ">=12.0.0", + "node": ">=16.0.0", "npm": ">=6.0.0" } }, "node_modules/@balena/lint/node_modules/@types/node": { - "version": "12.20.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.55.tgz", - "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", + "version": "16.18.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.42.tgz", + "integrity": "sha512-IrFfX/1oxDFQNpQzgt/BoP/hbMuQT68DPsNwzJmw8y3K8lfnPp0XymVN9GLFz+LobFmJGZ/peRzq+9wXYfCCtw==", "dev": true }, "node_modules/@balena/node-metrics-gatherer": { @@ -3049,6 +3062,121 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@es-joy/jsdoccomment": { + "version": "0.40.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", + "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", + "dev": true, + "dependencies": { + "comment-parser": "1.4.0", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", + "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", + "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@grpc/grpc-js": { "version": "1.8.11", "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.11.tgz", @@ -3079,6 +3207,39 @@ "node": ">=6" } }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "node_modules/@ioredis/commands": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", @@ -4049,6 +4210,22 @@ "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.2.tgz", "integrity": "sha512-gaBLT8pdcexFztLSPRtriHeXY/Kn4907uOCZ4Q3lncFBkheAWOuNt53ypsF8szgxbEJ513UeBzcf4utN0EzEwA==" }, + "node_modules/@types/eslint": { + "version": "8.44.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", + "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true + }, "node_modules/@types/express": { "version": "4.17.17", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", @@ -4102,9 +4279,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" }, "node_modules/@types/jsonwebtoken": { "version": "9.0.1", @@ -4277,12 +4454,6 @@ "pg-types": "^2.2.0" } }, - "node_modules/@types/prettier": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", - "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", - "dev": true - }, "node_modules/@types/proxy-addr": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/proxy-addr/-/proxy-addr-2.0.0.tgz", @@ -4336,9 +4507,9 @@ } }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==" + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" }, "node_modules/@types/serve-static": { "version": "1.15.1", @@ -4434,126 +4605,405 @@ "resolved": "https://registry.npmjs.org/@types/websql/-/websql-0.0.27.tgz", "integrity": "sha512-bmJkLrp/S1G1m/MEcCFuRYjSpgFIWt1KoglSw4D9i3veQBR6v0BYFmp7snK1u3ri53AFdLaRR8qwIsOzw1h8LA==" }, - "node_modules/@vue/compiler-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", - "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz", + "integrity": "sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==", "dev": true, "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.4.1", + "@typescript-eslint/type-utils": "6.4.1", + "@typescript-eslint/utils": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@vue/compiler-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", - "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@vue/compiler-sfc": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", - "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-ssr": "3.2.47", - "@vue/reactivity-transform": "3.2.47", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@vue/compiler-ssr": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", - "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "node_modules/@typescript-eslint/parser": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.1.tgz", + "integrity": "sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/shared": "3.2.47" + "@typescript-eslint/scope-manager": "6.4.1", + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/typescript-estree": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@vue/reactivity-transform": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", - "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz", + "integrity": "sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==", "dev": true, "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@vue/shared": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", - "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@typescript-eslint/type-utils": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz", + "integrity": "sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==", + "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "@typescript-eslint/typescript-estree": "6.4.1", + "@typescript-eslint/utils": "6.4.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": ">= 0.6" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "bin": { - "acorn": "bin/acorn" - }, + "node_modules/@typescript-eslint/types": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.1.tgz", + "integrity": "sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==", + "dev": true, "engines": { - "node": ">=0.4.0" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz", + "integrity": "sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/visitor-keys": "6.4.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, "engines": { - "node": ">=0.4.0" + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "debug": "4" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=10" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.1.tgz", + "integrity": "sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.4.1", + "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/typescript-estree": "6.4.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz", + "integrity": "sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.4.1", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -4653,6 +5103,15 @@ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "optional": true }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/are-we-there-yet": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", @@ -4694,6 +5153,19 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-differ": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", @@ -4708,6 +5180,25 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "node_modules/array-includes": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", + "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-sort": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", @@ -4738,6 +5229,75 @@ "node": ">=0.10.0" } }, + "node_modules/array.prototype.flat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", + "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", + "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", + "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.1.3" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", + "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", @@ -4783,6 +5343,15 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -5057,14 +5626,17 @@ } }, "node_modules/builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha512-wxXCdllwGhI2kCC0MnvTGYTMvnVZTvqgypkiTI8Pa5tcz2i6VqsqwYGgqwXji+4RgCzms6EajE4IxiUH6HH8nQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, "engines": { - "node": ">=0.10.0" - } - }, + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/busboy": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", @@ -5436,6 +6008,15 @@ "node": ">=14" } }, + "node_modules/comment-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", + "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "dev": true, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/common-tags": { "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", @@ -5819,6 +6400,12 @@ "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz", "integrity": "sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==" }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, "node_modules/default-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", @@ -5830,6 +6417,22 @@ "node": ">=0.10.0" } }, + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -5940,6 +6543,30 @@ "node": ">=0.3.1" } }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -6014,6 +6641,121 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-abstract": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", + "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.1", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.10", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "safe-array-concat": "^1.0.0", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.7", + "string.prototype.trimend": "^1.0.6", + "string.prototype.trimstart": "^1.0.6", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", + "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.21.3", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.0", + "safe-array-concat": "^1.0.0" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", + "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/es5-ext": { "version": "0.10.62", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", @@ -6058,26 +6800,418 @@ "es6-symbol": "^3.1.1" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", + "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "^8.47.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-chai-friendly": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-0.7.2.tgz", + "integrity": "sha512-LOIfGx5sZZ5FwM1shr2GlYAWV9Omdi+1/3byuVagvQNoGUuU0iHhp7AfjA1uR+4dJ4Isfb4+FwBJgQajIw9iAg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=3.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc": { + "version": "46.5.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.5.0.tgz", + "integrity": "sha512-aulXdA4I1dyWpzyS1Nh/GNoS6PavzeucxEapnMR4JUERowWvaEk2Y4A5irpHAcdXtBBHLVe8WIhdXNjoAlGQgA==", + "dev": true, + "dependencies": { + "@es-joy/jsdoccomment": "~0.40.1", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.0", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", + "spdx-expression-parse": "^3.0.1" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-jsdoc/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", + "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.21.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", + "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, "engines": { - "node": ">=0.8.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -6093,12 +7227,54 @@ "node": ">=4" } }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", @@ -6379,6 +7555,12 @@ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", @@ -6409,6 +7591,18 @@ "reusify": "^1.0.4" } }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -6475,6 +7669,40 @@ "flat": "cli.js" } }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, "node_modules/for-each": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", @@ -6596,6 +7824,33 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gauge": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", @@ -6663,12 +7918,13 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3" }, "funding": { @@ -6687,6 +7943,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", @@ -6743,6 +8015,41 @@ "node": ">=4" } }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/google-protobuf": { "version": "3.21.2", "resolved": "https://registry.npmjs.org/google-protobuf/-/google-protobuf-3.21.2.tgz", @@ -6759,6 +8066,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -6791,6 +8104,15 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6800,6 +8122,29 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -6961,6 +8306,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6976,6 +8330,20 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -7031,12 +8399,53 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -7049,11 +8458,42 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -7077,6 +8517,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -7085,6 +8540,18 @@ "node": ">=0.10.0" } }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", @@ -7122,6 +8589,27 @@ "node": ">=0.10.0" } }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -7130,6 +8618,30 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -7144,6 +8656,43 @@ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", @@ -7156,6 +8705,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typed-array": { "version": "1.1.10", "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", @@ -7191,6 +8770,40 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -7207,6 +8820,19 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, + "node_modules/iterator.prototype": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", + "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "has-tostringtag": "^1.0.0", + "reflect.getprototypeof": "^1.0.3" + } + }, "node_modules/jackspeak": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz", @@ -7257,6 +8883,15 @@ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", @@ -7285,6 +8920,12 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -7331,6 +8972,21 @@ "node": ">=0.6.0" } }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/just-extend": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz", @@ -7383,6 +9039,19 @@ "node": ">=0.10.0" } }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", @@ -7587,6 +9256,12 @@ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -8274,6 +9949,12 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, "node_modules/ndjson": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ndjson/-/ndjson-2.0.0.tgz", @@ -8529,6 +10210,94 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", + "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", + "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", + "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", + "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/ometa-js": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ometa-js/-/ometa-js-1.5.4.tgz", @@ -8589,6 +10358,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -9097,16 +10883,25 @@ "node": ">=0.10.0" } }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/prettier": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", - "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", + "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -9129,6 +10924,17 @@ "node": ">=10" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, "node_modules/propagate": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz", @@ -9315,6 +11121,12 @@ "node": ">= 0.8" } }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, "node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -9403,6 +11215,43 @@ "node": ">=8.0.0" } }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", + "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", @@ -9690,14 +11539,52 @@ } ], "dependencies": { - "queue-microtask": "^1.2.2" + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", + "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -9963,6 +11850,15 @@ "node": ">=8" } }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/slice-ansi": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", @@ -10021,6 +11917,28 @@ "deprecated": "Please use @jridgewell/sourcemap-codec instead", "dev": true }, + "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==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "dev": true + }, "node_modules/split2": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", @@ -10227,6 +12145,70 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/string.prototype.matchall": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", + "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.4.3", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", + "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -10401,6 +12383,12 @@ "bintrees": "1.0.2" } }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, "node_modules/thirty-two": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.2.tgz", @@ -10474,6 +12462,18 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "optional": true }, + "node_modules/ts-api-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.2.tgz", + "integrity": "sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -10529,115 +12529,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, - "node_modules/tslint": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", - "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", - "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.13.0", - "tsutils": "^2.29.0" - }, - "bin": { - "tslint": "bin/tslint" - }, - "engines": { - "node": ">=4.8.0" - }, - "peerDependencies": { - "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" - } - }, - "node_modules/tslint-config-prettier": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.18.0.tgz", - "integrity": "sha512-xPw9PgNPLG3iKRxmK7DWr+Ea/SzrvfHtjFt5LBl61gk2UBG/DB9kCXRjv+xyIU1rUtnayLeMUVJBcMX8Z17nDg==", - "dev": true, - "bin": { - "tslint-config-prettier-check": "bin/check.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/tslint-no-unused-expression-chai": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/tslint-no-unused-expression-chai/-/tslint-no-unused-expression-chai-0.1.4.tgz", - "integrity": "sha512-frEWKNTcq7VsaWKgUxMDOB2N/cmQadVkUtUGIut+2K4nv/uFXPfgJyPjuNC/cHyfUVqIkHMAvHOCL+d/McU3nQ==", - "dev": true, - "dependencies": { - "tsutils": "^3.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "tslint": ">=5.1.0" - } - }, - "node_modules/tslint-no-unused-expression-chai/node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tslint/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/tslint/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/tslint/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/tslint/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, "node_modules/tsscmp": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", @@ -10646,18 +12537,6 @@ "node": ">=0.6.x" } }, - "node_modules/tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "peerDependencies": { - "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" - } - }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -10679,6 +12558,18 @@ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", @@ -10712,6 +12603,71 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-error": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/typed-error/-/typed-error-3.2.2.tgz", @@ -10813,6 +12769,21 @@ "node": ">= 0.8" } }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -10950,17 +12921,79 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", "dependencies": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" diff --git a/package.json b/package.json index c20b28b86..588f78baf 100644 --- a/package.json +++ b/package.json @@ -120,7 +120,7 @@ "validator": "^13.9.0" }, "devDependencies": { - "@balena/lint": "^6.2.2", + "@balena/lint": "^7.0.2", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/mockery": "^1.4.30", diff --git a/tsconfig.json b/tsconfig.json index af751d46e..6a1c5d6ac 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "include": [ "src/**/*.ts", "typings/**/*.d.ts", + "*.js", "*.ts", "test/**/*.ts" ] From d3e45f6f150c1d03f71f0bcef1a9f58abfec9d96 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 22 Aug 2023 16:00:11 +0300 Subject: [PATCH 090/221] Rerun prettier --- src/features/device-config/device-config.ts | 4 +--- src/features/device-state/routes/state-patch-v2.ts | 7 +++---- src/features/device-state/routes/state-patch-v3.ts | 13 ++++++------- src/infra/auth/jwt-passport.ts | 5 ++--- test/test-lib/fixtures.ts | 5 ++--- 5 files changed, 14 insertions(+), 20 deletions(-) diff --git a/src/features/device-config/device-config.ts b/src/features/device-config/device-config.ts index 13fe698d6..d89467bf4 100644 --- a/src/features/device-config/device-config.ts +++ b/src/features/device-config/device-config.ts @@ -57,9 +57,7 @@ export const generateConfig = async ( // Older ones have to use the old "user api keys" return await createUserApiKey( req, - ( - await userPromise - ).id, + (await userPromise).id, apiKeyOptions, ); } diff --git a/src/features/device-state/routes/state-patch-v2.ts b/src/features/device-state/routes/state-patch-v2.ts index 1728998de..2f14137aa 100644 --- a/src/features/device-state/routes/state-patch-v2.ts +++ b/src/features/device-state/routes/state-patch-v2.ts @@ -139,10 +139,9 @@ export const statePatchV2: RequestHandler = async (req, res) => { if (local != null) { const { apps } = local; - let deviceBody: - | Pick & { - is_running__release?: number | null; - } = _.pick(local, v2ValidPatchFields); + let deviceBody: Pick & { + is_running__release?: number | null; + } = _.pick(local, v2ValidPatchFields); let metricsBody: Pick = _.pick(local, metricsPatchFields); if ( diff --git a/src/features/device-state/routes/state-patch-v3.ts b/src/features/device-state/routes/state-patch-v3.ts index 8ec1a9318..a1ba57aba 100644 --- a/src/features/device-state/routes/state-patch-v3.ts +++ b/src/features/device-state/routes/state-patch-v3.ts @@ -270,13 +270,12 @@ export const statePatchV3: RequestHandler = async (req, res) => { const { apps } = state; - let deviceBody: - | Pick< - StatePatchV3Body[string], - (typeof v3ValidPatchFields)[number] - > & { - is_running__release?: number | null; - } = _.pick(state, v3ValidPatchFields); + let deviceBody: Pick< + StatePatchV3Body[string], + (typeof v3ValidPatchFields)[number] + > & { + is_running__release?: number | null; + } = _.pick(state, v3ValidPatchFields); let metricsBody: Pick< StatePatchV3Body[string], (typeof metricsPatchFields)[number] diff --git a/src/infra/auth/jwt-passport.ts b/src/infra/auth/jwt-passport.ts index 149b31006..2f0f66393 100644 --- a/src/infra/auth/jwt-passport.ts +++ b/src/infra/auth/jwt-passport.ts @@ -65,9 +65,8 @@ export const createStrategy = ( } if ('service' in jwtUser && jwtUser.service) { const { service, apikey } = jwtUser; - const apiKeyPermissions = await permissions.getApiKeyPermissions( - apikey, - ); + const apiKeyPermissions = + await permissions.getApiKeyPermissions(apikey); return { service, apikey, permissions: apiKeyPermissions }; } else if ( 'access' in jwtUser && diff --git a/test/test-lib/fixtures.ts b/test/test-lib/fixtures.ts index 95f92cd7d..44c5c9c5e 100644 --- a/test/test-lib/fixtures.ts +++ b/test/test-lib/fixtures.ts @@ -407,9 +407,8 @@ const loaders: Dictionary = { if (user == null) { logErrorAndThrow(`Could not find user: ${jsonData.user}`); } - const application = await fixtures.applications[ - jsonData.belongs_to__application - ]; + const application = + await fixtures.applications[jsonData.belongs_to__application]; if (application == null) { logErrorAndThrow( `Could not find application: ${jsonData.belongs_to__application}`, From 6aff6f1eaaed42fa6875bc5cfefd491475fc2b6e Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 22 Aug 2023 16:02:34 +0300 Subject: [PATCH 091/221] Remove not used lodash imports Change-type: patch --- src/features/application-types/application-types.ts | 2 -- src/features/ci-cd/hooks/release-update-timestamp.ts | 2 -- src/features/ci-cd/hooks/release-versioning.ts | 1 - src/features/ci-cd/hooks/track-latest-release.ts | 1 - src/infra/auth/jwt-passport.ts | 1 - src/infra/cache/multi-level-store.ts | 1 - src/infra/scheduler/index.ts | 1 - test/09_contracts.ts | 1 - test/11_utils.ts | 1 - test/15_target-hostapp.ts | 1 - test/test-lib/pinetest.ts | 1 - 11 files changed, 13 deletions(-) diff --git a/src/features/application-types/application-types.ts b/src/features/application-types/application-types.ts index af23aed13..4930f1590 100644 --- a/src/features/application-types/application-types.ts +++ b/src/features/application-types/application-types.ts @@ -1,5 +1,3 @@ -import _ from 'lodash'; - import { sbvrUtils, errors, permissions } from '@balena/pinejs'; import * as semver from 'balena-semver'; diff --git a/src/features/ci-cd/hooks/release-update-timestamp.ts b/src/features/ci-cd/hooks/release-update-timestamp.ts index a5f5a08dd..883d9502f 100644 --- a/src/features/ci-cd/hooks/release-update-timestamp.ts +++ b/src/features/ci-cd/hooks/release-update-timestamp.ts @@ -1,5 +1,3 @@ -import _ from 'lodash'; - import { hooks } from '@balena/pinejs'; const releaseUpdateTimestampHook: hooks.Hooks = { diff --git a/src/features/ci-cd/hooks/release-versioning.ts b/src/features/ci-cd/hooks/release-versioning.ts index efdaa7c7e..a27ca2829 100644 --- a/src/features/ci-cd/hooks/release-versioning.ts +++ b/src/features/ci-cd/hooks/release-versioning.ts @@ -7,7 +7,6 @@ import { } from '@balena/pinejs'; import type { FilterObj } from 'pinejs-client-core'; import semverLib from 'semver'; -import _ from 'lodash'; import { ADVISORY_LOCK_NAMESPACES } from '../../../lib/config'; import { groupByMap } from '../../../lib/utils'; import type { PickDeferred, Release } from '../../../balena-model'; diff --git a/src/features/ci-cd/hooks/track-latest-release.ts b/src/features/ci-cd/hooks/track-latest-release.ts index 361004983..75412ab9e 100644 --- a/src/features/ci-cd/hooks/track-latest-release.ts +++ b/src/features/ci-cd/hooks/track-latest-release.ts @@ -1,4 +1,3 @@ -import _ from 'lodash'; import { sbvrUtils, hooks } from '@balena/pinejs'; // We only track releases that are successful, final, not invalid, and passing tests diff --git a/src/infra/auth/jwt-passport.ts b/src/infra/auth/jwt-passport.ts index 2f0f66393..41c19992e 100644 --- a/src/infra/auth/jwt-passport.ts +++ b/src/infra/auth/jwt-passport.ts @@ -1,7 +1,6 @@ import Bluebird from 'bluebird'; import type { RequestHandler } from 'express'; import jsonwebtoken from 'jsonwebtoken'; -import _ from 'lodash'; import passport from 'passport'; import { ExtractJwt, Strategy as JwtStrategy } from 'passport-jwt'; import { TypedError } from 'typed-error'; diff --git a/src/infra/cache/multi-level-store.ts b/src/infra/cache/multi-level-store.ts index 12af12cd3..4d167c45a 100644 --- a/src/infra/cache/multi-level-store.ts +++ b/src/infra/cache/multi-level-store.ts @@ -1,4 +1,3 @@ -import _ from 'lodash'; import cacheManager from 'cache-manager'; import redisStore from 'cache-manager-ioredis'; import { version } from '../../lib/config'; diff --git a/src/infra/scheduler/index.ts b/src/infra/scheduler/index.ts index 8d35e2f2d..328d3eced 100644 --- a/src/infra/scheduler/index.ts +++ b/src/infra/scheduler/index.ts @@ -18,7 +18,6 @@ */ import { sbvrUtils, permissions } from '@balena/pinejs'; -import _ from 'lodash'; import schedule from 'node-schedule'; import Redlock from 'redlock'; import type { ScheduledJobRun } from '../../balena-model'; diff --git a/test/09_contracts.ts b/test/09_contracts.ts index bca933187..63491f8cf 100644 --- a/test/09_contracts.ts +++ b/test/09_contracts.ts @@ -1,4 +1,3 @@ -import _ from 'lodash'; import { fetchContractsLocally, getContracts, diff --git a/test/11_utils.ts b/test/11_utils.ts index daa63218b..c83def26d 100644 --- a/test/11_utils.ts +++ b/test/11_utils.ts @@ -1,4 +1,3 @@ -import _ from 'lodash'; import { withRetries } from '../src/lib/utils'; import { expect } from 'chai'; diff --git a/test/15_target-hostapp.ts b/test/15_target-hostapp.ts index faf4a74b9..6bc684e8f 100644 --- a/test/15_target-hostapp.ts +++ b/test/15_target-hostapp.ts @@ -1,4 +1,3 @@ -import _ from 'lodash'; import * as fixtures from './test-lib/fixtures'; import * as fakeDevice from './test-lib/fake-device'; import { expect } from 'chai'; diff --git a/test/test-lib/pinetest.ts b/test/test-lib/pinetest.ts index 6ab4d59c3..021d98e0a 100644 --- a/test/test-lib/pinetest.ts +++ b/test/test-lib/pinetest.ts @@ -1,4 +1,3 @@ -import _ from 'lodash'; import { PineTest } from 'pinejs-client-supertest'; import { app } from '../../init'; import { version } from './versions'; From fd54925f02f99d3df08f1458e15392e3e84acb64 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 22 Aug 2023 16:07:19 +0300 Subject: [PATCH 092/221] Add explicit no-var-requires exceptions --- index.js | 1 + src/features/device-logs/lib/config.ts | 1 + src/index.ts | 1 + src/lib/config.ts | 4 ++-- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index b4460d1c8..00d932193 100644 --- a/index.js +++ b/index.js @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-var-requires */ const numWorkers = process.env.NUM_WORKERS || require('os').cpus().length; if (numWorkers > 1) { const cluster = require('cluster'); diff --git a/src/features/device-logs/lib/config.ts b/src/features/device-logs/lib/config.ts index 311101a51..a719b759a 100644 --- a/src/features/device-logs/lib/config.ts +++ b/src/features/device-logs/lib/config.ts @@ -25,6 +25,7 @@ export const getBackend = _.once((): DeviceLogsBackend => new RedisBackend()); export const getLokiBackend = _.once((): DeviceLogsBackend => { const { LokiBackend } = + // eslint-disable-next-line @typescript-eslint/no-var-requires require('./backends/loki') as typeof import('./backends/loki'); return new LokiBackend(); }); diff --git a/src/index.ts b/src/index.ts index b54281331..d4615d7c4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -478,6 +478,7 @@ async function runCommand( cmd: string, argv: string[], ): Promise { + // eslint-disable-next-line @typescript-eslint/no-var-requires const script = require(path.join(__dirname, 'commands', cmd)); await script.execute(app, argv); process.exit(0); diff --git a/src/lib/config.ts b/src/lib/config.ts index e774f8c07..972fd48f3 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -391,9 +391,9 @@ if (typeof trustProxy === 'string') { // Support comma-separated IPs const trustProxyIPs = trustProxy.split(/ *, */); - // tslint:disable-next-line:no-var-requires + // eslint-disable-next-line @typescript-eslint/no-var-requires const proxyAddr = require('proxy-addr') as typeof import('proxy-addr'); - // tslint:disable-next-line:no-var-requires + // eslint-disable-next-line @typescript-eslint/no-var-requires const memoizee = require('memoizee') as typeof import('memoizee'); trustProxyValue = memoizee(proxyAddr.compile(trustProxyIPs), { primitive: true, From c97627363c1c036e21e5781ed57c4a39df07628a Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 22 Aug 2023 16:23:15 +0300 Subject: [PATCH 093/221] Remove unnecessary escaping from regexes Change-type: patch --- src/features/device-proxy/device-proxy.ts | 2 +- src/features/registry/registry.ts | 6 +++--- src/features/vars-schema/env-vars.ts | 2 +- src/index.ts | 3 +-- test/05_device-config.ts | 2 +- test/test-lib/fixtures.ts | 3 +-- 6 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/features/device-proxy/device-proxy.ts b/src/features/device-proxy/device-proxy.ts index df80aaaf7..4384a1ebb 100644 --- a/src/features/device-proxy/device-proxy.ts +++ b/src/features/device-proxy/device-proxy.ts @@ -63,7 +63,7 @@ const validateSupervisorResponse = ( } res.status(statusCode).json(jsonBody); } else if (/^text\/(plain|html)/.test(contentType)) { - if (/^([A-Za-z0-9\s:'\.\?!,\/-])*$/g.test(body)) { + if (/^([A-Za-z0-9\s:'.?!,/-])*$/g.test(body)) { res.status(statusCode).set('Content-Type', 'text/plain').send(body); } else { badSupervisorResponse(req, res, filter, 'Invalid TEXT data'); diff --git a/src/features/registry/registry.ts b/src/features/registry/registry.ts index a0338d9b9..62c44fe79 100644 --- a/src/features/registry/registry.ts +++ b/src/features/registry/registry.ts @@ -34,7 +34,7 @@ const RESINOS_REPOSITORY = 'resin/resinos'; const SUPERVISOR_REPOSITORIES = /^resin\/(?:[a-zA-Z0-9]+-)+supervisor$/; // match v2/randomhash image -const NEW_REGISTRY_REGEX = /(^(\d+)\/[\d\-]+$|^(v2\/[a-z0-9]+)(-[0-9]+)?)/; +const NEW_REGISTRY_REGEX = /(^(\d+)\/[\d-]+$|^(v2\/[a-z0-9]+)(-[0-9]+)?)/; /* * Group 1: application slug (org/app) @@ -45,7 +45,7 @@ const NEW_REGISTRY_REGEX = /(^(\d+)\/[\d\-]+$|^(v2\/[a-z0-9]+)(-[0-9]+)?)/; * - Group 5: service name */ const APP_RELEASE_REGEX = - /^(([a-z0-9_-]+)\/([a-z0-9_-]+))(?:\/([a-z0-9_\.-]+))?(?:\/([a-z0-9_-]+))?$/; + /^(([a-z0-9_-]+)\/([a-z0-9_-]+))(?:\/([a-z0-9_.-]+))?(?:\/([a-z0-9_-]+))?$/; const TARGET_RELEASE_KEYWORDS = [`latest`, `current`, `default`, `pinned`]; @@ -64,7 +64,7 @@ const TARGET_RELEASE_KEYWORDS = [`latest`, `current`, `default`, `pinned`]; // push // push,pull const SCOPE_PARSE_REGEX = - /^([a-z]+):([a-z0-9_-]+\/[a-z0-9_-]+(?:\/[a-z0-9_\.-]+)?(?:\/[a-z0-9_-]+)?|\d+\/[\d\-]+|v2\/[a-z0-9]+-[0-9]+)(?::[a-z0-9]+|@sha256:[a-f0-9]+)?:((?:push|pull|,)+)$/; + /^([a-z]+):([a-z0-9_-]+\/[a-z0-9_-]+(?:\/[a-z0-9_.-]+)?(?:\/[a-z0-9_-]+)?|\d+\/[\d-]+|v2\/[a-z0-9]+-[0-9]+)(?::[a-z0-9]+|@sha256:[a-f0-9]+)?:((?:push|pull|,)+)$/; export interface Access { name: string; diff --git a/src/features/vars-schema/env-vars.ts b/src/features/vars-schema/env-vars.ts index a81e12733..d1fa76d42 100644 --- a/src/features/vars-schema/env-vars.ts +++ b/src/features/vars-schema/env-vars.ts @@ -133,7 +133,7 @@ export const SUPERVISOR_CONFIG_VAR_PROPERTIES: { 'Define the PNG image to be used for the boot splash screen. Only supported by supervisor versions >= v12.3.0.', maxLength: 13400, // ~10KB base64 encoded image will_reboot: true, - pattern: `^data:image\/png;(?:name=(.*);)?base64,(.*)$`, + pattern: `^data:image/png;(?:name=(.*);)?base64,(.*)$`, }, BALENA_SUPERVISOR_HARDWARE_METRICS: { enum: ['false', 'true'], diff --git a/src/index.ts b/src/index.ts index d4615d7c4..c2c3f82af 100644 --- a/src/index.ts +++ b/src/index.ts @@ -440,8 +440,7 @@ function setupMiddleware(app: Application) { ); app.use(AUTH_PATH, cookieParser()); - const JSON_REGEXP = - /^application\/(([\w!//\$%&\*`\-\.\^~]*\+)?json|csp-report)/i; + const JSON_REGEXP = /^application\/(([\w!//$%&*`\-.^~]*\+)?json|csp-report)/i; const isJson: bodyParser.Options['type'] = (req) => { const contentType = req.headers['content-type']; if (contentType == null) { diff --git a/test/05_device-config.ts b/test/05_device-config.ts index 34c1ef171..fffb1d011 100644 --- a/test/05_device-config.ts +++ b/test/05_device-config.ts @@ -104,7 +104,7 @@ describe('generate device config', function () { .expect('content-type', /^application\/json/); expect(body).to.have.a.property('logsEndpoint'); - expect(body.logsEndpoint).to.match(/^https\:\/\//); + expect(body.logsEndpoint).to.match(/^https:\/\//); }); }); }); diff --git a/test/test-lib/fixtures.ts b/test/test-lib/fixtures.ts index 44c5c9c5e..3841cae31 100644 --- a/test/test-lib/fixtures.ts +++ b/test/test-lib/fixtures.ts @@ -181,8 +181,7 @@ const loaders: Dictionary = { belongs_to__user: user.id, start_timestamp: Date.now(), end_timestamp: Date.now(), - commit: - jsonData.commit ?? randomUUID().replace(/\-/g, '').toLowerCase(), + commit: jsonData.commit ?? randomUUID().replace(/-/g, '').toLowerCase(), ..._.pick( jsonData, 'app_name', From 6ae37f56c945ad1f485c0f46104ac2cd4182f0f4 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 22 Aug 2023 16:08:37 +0300 Subject: [PATCH 094/221] Switch hasOwnProperty() to Object.prototype.hasOwnProperty.call Change-type: patch --- test/21_fleet-target-state.ts | 2 +- test/test-lib/device-type.ts | 5 ++++- test/test-lib/fixtures.ts | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/test/21_fleet-target-state.ts b/test/21_fleet-target-state.ts index 58dc4b1ed..ef97ca490 100644 --- a/test/21_fleet-target-state.ts +++ b/test/21_fleet-target-state.ts @@ -20,7 +20,7 @@ mockery.registerMock('../src/lib/config', configMock); // test fleet default state helper const appMatcherFunc = (svc: AnyObject, fxProp: AnyObject) => - svc.hasOwnProperty('environment') && !!fxProp; + Object.prototype.hasOwnProperty.call(svc, 'environment') && !!fxProp; const svcMatcherFunc = (svc: AnyObject, fxProp: AnyObject) => svc.id === fxProp.service.__id; const imgMatcherFunc = (svc: AnyObject, fxProp: AnyObject) => diff --git a/test/test-lib/device-type.ts b/test/test-lib/device-type.ts index 0cf0b538d..eb2abdc60 100644 --- a/test/test-lib/device-type.ts +++ b/test/test-lib/device-type.ts @@ -14,7 +14,10 @@ export const loadDefaultFixtures = () => 'deviceTypes', new Proxy({} as Dictionary, { get: async (obj, slug) => { - if (typeof slug === 'string' && !obj.hasOwnProperty(slug)) { + if ( + typeof slug === 'string' && + !Object.prototype.hasOwnProperty.call(obj, slug) + ) { if (slug === 'then') { // Something is checking if we're a thenable return; diff --git a/test/test-lib/fixtures.ts b/test/test-lib/fixtures.ts index 3841cae31..4164a344a 100644 --- a/test/test-lib/fixtures.ts +++ b/test/test-lib/fixtures.ts @@ -515,7 +515,10 @@ export const load = async (fixtureName?: string): Promise => { .filter( (file) => file.endsWith('.json') && - loaders.hasOwnProperty(file.slice(0, -'.json'.length)), + Object.prototype.hasOwnProperty.call( + loaders, + file.slice(0, -'.json'.length), + ), ) .map((file) => file.slice(0, -'.json'.length).trim()); From bbe1f05ab2f8f4cea8af7ccd1f645bfa91a6dc58 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Mon, 28 Aug 2023 10:39:04 +0300 Subject: [PATCH 095/221] Stop using {} as a type Update @balena/abstract-sql-to-typescript to 2.1.1 Change-type: patch --- package-lock.json | 6 +++--- src/balena-model.ts | 10 +++++----- src/features/device-state/routes/state-get-v2.ts | 5 +++-- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4130dd3ba..b7db77a6f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2773,9 +2773,9 @@ } }, "node_modules/@balena/abstract-sql-to-typescript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.1.0.tgz", - "integrity": "sha512-lO6qslyTsB/4ARfHBlkEmf1vgu8P6KT0+Y2+aRktDjTIa/IGiUy3A9qznUDUhkQvcGtPdVGC0HRqV6/JE+HR4A==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.1.1.tgz", + "integrity": "sha512-2P7QyImaoViyJWGbSEtAYiCiTTNjJyH4nfr8LGIw1AvR0aXheSPZM5CifqvNRhXUrCuJZHyx58QQqUvXL6Dcdw==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/odata-to-abstract-sql": "^5.9.6", diff --git a/src/balena-model.ts b/src/balena-model.ts index fee702043..1ea3778df 100644 --- a/src/balena-model.ts +++ b/src/balena-model.ts @@ -194,7 +194,7 @@ export interface DeviceType { name: string; is_of__cpu_architecture: { __id: number } | [CpuArchitecture]; logo: string | null; - contract: {} | null; + contract: object | null; belongs_to__device_family: { __id: number } | [DeviceFamily?] | null; is_default_for__application?: Application[]; describes__device?: Device[]; @@ -219,7 +219,7 @@ export interface Image { push_timestamp: DateString | null; status: string; content_hash: string | null; - contract: {} | null; + contract: object | null; device__installs__image?: ImageInstall[]; image_install?: ImageInstall[]; is_installed_on__device?: ImageInstall[]; @@ -476,7 +476,7 @@ export interface Release { id: number; belongs_to__application: { __id: number } | [Application]; commit: string; - composition: {}; + composition: object; status: string; source: string; build_log: string | null; @@ -485,7 +485,7 @@ export interface Release { end_timestamp: DateString | null; update_timestamp: DateString; release_version: string | null; - contract: {} | null; + contract: object | null; is_passing_tests: boolean; is_finalized_at__date: DateString | null; phase: 'next' | 'current' | 'sunset' | 'end-of-life' | null; @@ -502,7 +502,7 @@ export interface Release { is_final: boolean; semver: string; raw_version: string; - version: {}; + version: object; release__has__tag_key?: ReleaseTag[]; release_tag?: ReleaseTag[]; image__is_part_of__release?: ImageIsPartOfRelease[]; diff --git a/src/features/device-state/routes/state-get-v2.ts b/src/features/device-state/routes/state-get-v2.ts index 769ecf4a9..9c15ef2bd 100644 --- a/src/features/device-state/routes/state-get-v2.ts +++ b/src/features/device-state/routes/state-get-v2.ts @@ -58,8 +58,9 @@ export type StateV2 = { }; }; dependent: { - apps: {}; - devices: {}; + // Empty objects since we dropped support for dependent devices + apps: Record; + devices: Record; }; }; From a56dc6bb018dbed49a9bf2153e7a2e2fec669554 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Mon, 28 Aug 2023 10:21:16 +0300 Subject: [PATCH 096/221] scheduler: Add missing await to the unlocking phase Change-type: patch See: https://github.com/balena-io/balena-api/pull/2344/commits/a8ecb8bb36597a6cc7eea48458f23f3e8c7ff6c7 --- src/infra/scheduler/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/infra/scheduler/index.ts b/src/infra/scheduler/index.ts index 328d3eced..d8c985af2 100644 --- a/src/infra/scheduler/index.ts +++ b/src/infra/scheduler/index.ts @@ -170,7 +170,7 @@ export const scheduleJob = ( await updateJobInfoExecute(jobInfoKey, job); } finally { try { - lock.unlock(); + await lock.unlock(); } catch (err) { console.error(`[Scheduler] Failed to unlock job: ${jobId}`, err); captureException(err); From 9b5bbdabb6bcdcdcdb922a3bba5df59e0e0391a7 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Mon, 28 Aug 2023 10:03:12 +0300 Subject: [PATCH 097/221] Properly mark floating-promise errors Change-type: patch --- init.ts | 4 +++- src/features/device-heartbeat/index.ts | 6 +++++- src/features/device-logs/lib/backends/redis.ts | 5 +++++ .../device-provisioning/hooks/cache-invalidation.ts | 1 + src/features/device-provisioning/register.ts | 2 ++ .../device-types/hooks/device-types-cache-invalidation.ts | 4 ++++ test/13_loki-backend.ts | 2 ++ 7 files changed, 22 insertions(+), 2 deletions(-) diff --git a/init.ts b/init.ts index 273274f6c..019345bd3 100644 --- a/init.ts +++ b/init.ts @@ -137,7 +137,8 @@ async function onInitHooks() { }, }); - // this will pre-fetch the device types and populate the cache... + // Pre-fetch the device types and populate the cache w/o blocking the API startup + // eslint-disable-next-line @typescript-eslint/no-floating-promises getAccessibleDeviceTypes(sbvrUtils.api.resin); await sbvrUtils.db.transaction((tx) => @@ -256,4 +257,5 @@ const init = async () => { process.exit(1); } }; +// eslint-disable-next-line @typescript-eslint/no-floating-promises init(); diff --git a/src/features/device-heartbeat/index.ts b/src/features/device-heartbeat/index.ts index 9a14ade62..b4125d2d8 100644 --- a/src/features/device-heartbeat/index.ts +++ b/src/features/device-heartbeat/index.ts @@ -195,6 +195,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ }); // create the RedisMQ queue and start consuming messages... + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.rsmq .createQueueAsync({ qname: DeviceOnlineStateManager.EXPIRED_QUEUE }) .catch((err) => { @@ -209,7 +210,8 @@ export class DeviceOnlineStateManager extends EventEmitter<{ ); } - private async setupQueueStatsEmitter(interval: number) { + private setupQueueStatsEmitter(interval: number) { + // eslint-disable-next-line @typescript-eslint/no-floating-promises setTimeout(interval, undefined, { ref: false }).then(async () => { try { const startAt = Date.now(); @@ -280,6 +282,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ private consume() { // pull a message from the queue... + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.rsmq .receiveMessageAsync({ qname: DeviceOnlineStateManager.EXPIRED_QUEUE, @@ -305,6 +308,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ deviceId, DeviceOnlineStates.Timeout, ); + // eslint-disable-next-line @typescript-eslint/no-floating-promises this.scheduleChangeOfStateForDevice( deviceId, await this.getDeviceOnlineState(deviceId), diff --git a/src/features/device-logs/lib/backends/redis.ts b/src/features/device-logs/lib/backends/redis.ts index 4a6e48ee5..df5a4ae68 100644 --- a/src/features/device-logs/lib/backends/redis.ts +++ b/src/features/device-logs/lib/backends/redis.ts @@ -181,11 +181,14 @@ export class RedisBackend implements DeviceLogsBackend { const key = this.getKey(ctx); if (!this.subscriptions.listenerCount(key)) { const subscribersKey = this.getKey(ctx, 'subscribers'); + // eslint-disable-next-line @typescript-eslint/no-floating-promises pubSub[SUBSCRIBECMD](key); // Increment the subscribers counter to recognize we've subscribed + // eslint-disable-next-line @typescript-eslint/no-floating-promises redis.incrSubscribers(subscribersKey); // Start a heartbeat to ensure the subscribers counter stays alive whilst we're subscribed this.subscriptionHeartbeats[key] = setInterval(() => { + // eslint-disable-next-line @typescript-eslint/no-floating-promises redis.expire(subscribersKey, LOGS_SUBSCRIPTION_EXPIRY_SECONDS); }, LOGS_SUBSCRIPTION_EXPIRY_HEARTBEAT_SECONDS); } @@ -200,6 +203,7 @@ export class RedisBackend implements DeviceLogsBackend { // Clear the heartbeat clearInterval(this.subscriptionHeartbeats[key]); // And decrement the subscribers counter + // eslint-disable-next-line @typescript-eslint/no-floating-promises redis.decrSubscribers(subscribersKey).then((n) => { if (n < 0) { captureException( @@ -208,6 +212,7 @@ export class RedisBackend implements DeviceLogsBackend { ); } }); + // eslint-disable-next-line @typescript-eslint/no-floating-promises pubSub[UNSUBSCRIBECMD](key); } } diff --git a/src/features/device-provisioning/hooks/cache-invalidation.ts b/src/features/device-provisioning/hooks/cache-invalidation.ts index 8bb5224e7..fbc63fb11 100644 --- a/src/features/device-provisioning/hooks/cache-invalidation.ts +++ b/src/features/device-provisioning/hooks/cache-invalidation.ts @@ -31,6 +31,7 @@ const setupCacheInvalidation = ( tx.on('end', () => { for (const affectedItem of affectedItems) { // Run in the background as this is not a reason to fail the request + // eslint-disable-next-line @typescript-eslint/no-floating-promises (async () => { try { await cache.delete(affectedItem[keyProperty]); diff --git a/src/features/device-provisioning/register.ts b/src/features/device-provisioning/register.ts index 3034936ba..7d1380ab5 100644 --- a/src/features/device-provisioning/register.ts +++ b/src/features/device-provisioning/register.ts @@ -71,6 +71,7 @@ export const register: RequestHandler = async (req, res) => { // TODO: Replace this manual rollback on request closure with a more generic/automated version onFinished(res, () => { if (!tx.isClosed()) { + // eslint-disable-next-line @typescript-eslint/no-floating-promises tx.rollback(); } }); @@ -106,6 +107,7 @@ export const register: RequestHandler = async (req, res) => { // Clear the device existence cache for the just registered device // in case it tried to communicate with the API before registering + // eslint-disable-next-line @typescript-eslint/no-floating-promises checkDeviceExistsIsFrozen.delete(response.uuid); res.status(201).json(response); diff --git a/src/features/device-types/hooks/device-types-cache-invalidation.ts b/src/features/device-types/hooks/device-types-cache-invalidation.ts index d3ec7672f..dd928ffbd 100644 --- a/src/features/device-types/hooks/device-types-cache-invalidation.ts +++ b/src/features/device-types/hooks/device-types-cache-invalidation.ts @@ -4,6 +4,8 @@ import { getDeviceTypes } from '../device-types-list'; hooks.addPureHook('POST', 'resin', 'application', { POSTRUN: async ({ request }) => { if (request.values.is_host) { + // no need to wait for the cache invalidation + // eslint-disable-next-line @typescript-eslint/no-floating-promises getDeviceTypes.delete(); } }, @@ -13,6 +15,8 @@ hooks.addPureHook('PATCH', 'resin', 'application', { POSTRUN: async ({ request }) => { const affectedIds = request.affectedIds!; if (request.values.is_host && affectedIds.length !== 0) { + // no need to wait for the cache invalidation + // eslint-disable-next-line @typescript-eslint/no-floating-promises getDeviceTypes.delete(); } }, diff --git a/test/13_loki-backend.ts b/test/13_loki-backend.ts index ac43cc68a..deba12deb 100644 --- a/test/13_loki-backend.ts +++ b/test/13_loki-backend.ts @@ -99,6 +99,7 @@ describe('loki backend', () => { const loki = new LokiBackend(); const log = createLog(); const incomingLog = await new Bluebird(async (resolve) => { + // eslint-disable-next-line @typescript-eslint/no-floating-promises loki.subscribe(ctx, resolve); await setTimeout(100); // wait for the subscription to connect await loki.publish(ctx, [_.clone(log)]); @@ -111,6 +112,7 @@ describe('loki backend', () => { const loki = new LokiBackend(); await new Bluebird(async (resolve) => { let countLogs = 0; + // eslint-disable-next-line @typescript-eslint/no-floating-promises loki.subscribe(ctx, () => { countLogs += 1; if (countLogs === 5) { From 567f326dfba890a5731f56504534cdf66ce3c7fb Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 22 Aug 2023 16:29:26 +0300 Subject: [PATCH 098/221] Fix the remaining eslint errors Change-type: patch --- index.js | 1 - src/features/device-config/download.ts | 11 ++++++----- src/features/device-proxy/device-proxy.ts | 6 ++---- src/infra/haiku-name/index.ts | 1 - src/infra/scheduler/index.ts | 2 +- test/03_device-state.ts | 11 +++++------ test/04_session.ts | 6 ++---- typings/express-extension.d.ts | 6 +++--- typings/memoizee.d.ts | 3 ++- 9 files changed, 21 insertions(+), 26 deletions(-) diff --git a/index.js b/index.js index 00d932193..c9616f31a 100644 --- a/index.js +++ b/index.js @@ -5,7 +5,6 @@ if (numWorkers > 1) { if (cluster.isPrimary) { // Setup the RateLimiterCluster store on the master worker const { RateLimiterClusterMaster } = require('rate-limiter-flexible'); - // tslint:disable-next-line:no-unused-expression-chai new RateLimiterClusterMaster(); console.log(`Forking ${numWorkers} workers`); diff --git a/src/features/device-config/download.ts b/src/features/device-config/download.ts index 7391fad67..ffd3d9b00 100644 --- a/src/features/device-config/download.ts +++ b/src/features/device-config/download.ts @@ -71,13 +71,14 @@ export const downloadImageConfig: RequestHandler = async (req, res) => { res.json(config); } catch (err) { - if (err instanceof UnauthorizedError) { - err = new NotFoundError(err); + let errorToReturn = err; + if (errorToReturn instanceof UnauthorizedError) { + errorToReturn = new NotFoundError(errorToReturn); } - if (handleHttpErrors(req, res, err)) { + if (handleHttpErrors(req, res, errorToReturn)) { return; } - captureException(err, 'Error generating config', { req }); - res.status(500).send(translateError(err)); + captureException(errorToReturn, 'Error generating config', { req }); + res.status(500).send(translateError(errorToReturn)); } }; diff --git a/src/features/device-proxy/device-proxy.ts b/src/features/device-proxy/device-proxy.ts index 4384a1ebb..f7674625c 100644 --- a/src/features/device-proxy/device-proxy.ts +++ b/src/features/device-proxy/device-proxy.ts @@ -132,10 +132,8 @@ export const proxy = async (req: Request, res: Response) => { if (handleHttpErrors(req, res, err)) { return; } - if (err?.body != null) { - err = err.body; - } - res.status(502).send(translateError(err)); + const errorToReturn = err?.body ?? err; + res.status(502).send(translateError(errorToReturn)); } }; diff --git a/src/infra/haiku-name/index.ts b/src/infra/haiku-name/index.ts index 837ed3f0f..6d091330a 100644 --- a/src/infra/haiku-name/index.ts +++ b/src/infra/haiku-name/index.ts @@ -258,6 +258,5 @@ const bigNumber = Math.pow(2, 12); export const generate = () => { const adjRnd = Math.floor(Math.random() * bigNumber); const nounRnd = Math.floor(Math.random() * bigNumber); - // tslint:disable-next-line:no-bitwise return `${adjs[adjRnd % adjsCount]}-${nouns[nounRnd % nounsCount]}`; }; diff --git a/src/infra/scheduler/index.ts b/src/infra/scheduler/index.ts index d8c985af2..ec35b87ad 100644 --- a/src/infra/scheduler/index.ts +++ b/src/infra/scheduler/index.ts @@ -46,7 +46,7 @@ const JOB_INFO_PREFIX = 'api:jobs:info:'; const JOB_DEFAULT_TTL = 5000; declare module 'ioredis' { - interface RedisCommander { + interface RedisCommander { // This overload exists specifically to retain compatibility to `redlock` eval( args: Array, diff --git a/test/03_device-state.ts b/test/03_device-state.ts index eb1a35c30..0982ef9da 100644 --- a/test/03_device-state.ts +++ b/test/03_device-state.ts @@ -830,12 +830,11 @@ mockery.registerMock('../src/lib/config', configMock); delimiter: string = '', ): string => { let validAddress = ''; - while (true) { - if (validAddress.length + addr.length + delimiter.length > truncLen) { - break; - } else { - validAddress += addr + delimiter; - } + while ( + validAddress.length + addr.length + delimiter.length <= + truncLen + ) { + validAddress += addr + delimiter; } return validAddress.trim(); }; diff --git a/test/04_session.ts b/test/04_session.ts index 4bfa62f38..b54ddd849 100644 --- a/test/04_session.ts +++ b/test/04_session.ts @@ -122,7 +122,6 @@ describe('session', () => { }); it('should refresh & update the authTime with a POST to /user/v1/refresh-token using a correct password', async function () { - let initialAuthTime: number; const res = await supertest(token) .get('/user/v1/refresh-token') .expect(200); @@ -136,7 +135,7 @@ describe('session', () => { expect(payload).to.have.property('username'); expect(payload).to.have.property('email'); expect(payload).to.have.property('authTime'); - initialAuthTime = payload.authTime; + const initialAuthTime: number = payload.authTime; const res1 = await supertest(token) .post('/user/v1/refresh-token') @@ -157,7 +156,6 @@ describe('session', () => { }); it('should not update the authTime with a POST to /user/v1/refresh-token w/o a password', async function () { - let initialAuthTime: number; const res = await supertest(token) .get('/user/v1/refresh-token') .expect(200); @@ -170,7 +168,7 @@ describe('session', () => { expect(payload).to.have.property('username'); expect(payload).to.have.property('email'); expect(payload).to.have.property('authTime'); - initialAuthTime = payload.authTime; + const initialAuthTime: number = payload.authTime; const res1 = await supertest(token) .post('/user/v1/refresh-token') diff --git a/typings/express-extension.d.ts b/typings/express-extension.d.ts index 2324217f9..9e7f0a4d4 100644 --- a/typings/express-extension.d.ts +++ b/typings/express-extension.d.ts @@ -1,11 +1,11 @@ // Augment express.js with balena-specific attributes via declaration merging. - -// tslint:disable-next-line:no-namespace declare namespace Express { type ApiUser = import('../src/infra/auth/jwt-passport').User; - // tslint:disable-next-line:no-empty-interface + // Augment Express.User to include the props of our ApiUser. + // eslint-disable-next-line @typescript-eslint/no-empty-interface interface User extends ApiUser {} + export interface Request { prefetchApiKey?: Resolvable; diff --git a/typings/memoizee.d.ts b/typings/memoizee.d.ts index d4d19f2da..42b9e98d1 100644 --- a/typings/memoizee.d.ts +++ b/typings/memoizee.d.ts @@ -1,3 +1,4 @@ declare module 'memoizee/normalizers/primitive' { - export = (args: any[]) => string; + function PrimitiveNormalizer(args: any[]): string; + export = PrimitiveNormalizer; } From 3e38566a250a1da5e422f50dcf4e5c1bff915a22 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 29 Aug 2023 16:17:11 +0300 Subject: [PATCH 099/221] Mark runCommand & runFromCommandLine as deprecated Change-type: patch See: https://github.com/balena-io/open-balena-api/pull/22#pullrequestreview-171985037 --- src/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.ts b/src/index.ts index c2c3f82af..a176fd517 100644 --- a/src/index.ts +++ b/src/index.ts @@ -393,7 +393,9 @@ export async function setup(app: Application, options: SetupOptions) { return { app, startServer: _.partial(startServer, app), + /** @deprecated */ runCommand: _.partial(runCommand, app), + /** @deprecated */ runFromCommandLine: _.partial(runFromCommandLine, app), }; } @@ -472,6 +474,7 @@ async function startServer( return server!; } +// TODO: Drop me in the next major since we atm only have a dummy command async function runCommand( app: Application, cmd: string, @@ -483,6 +486,7 @@ async function runCommand( process.exit(0); } +// TODO: Drop me in the next major since we atm only have a dummy command function runFromCommandLine(app: Application): Promise { const cmd = process.argv[2]; const args = process.argv.slice(3); From c82163e67fb55408d4639faf212fb2881b095412 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 29 Aug 2023 13:32:29 +0000 Subject: [PATCH 100/221] v14.3.9 --- .versionbot/CHANGELOG.yml | 84 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 12 ++++++ package-lock.json | 4 +- package.json | 4 +- 4 files changed, 100 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 5851d2166..5a8dc7836 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,87 @@ +- commits: + - subject: Mark runCommand & runFromCommandLine as deprecated + hash: 6f2510b24bc67b022761e0f39030e593a67ab0f3 + body: "" + footer: + Change-type: patch + change-type: patch + See: https://github.com/balena-io/open-balena-api/pull/22#pullrequestreview-171985037 + see: https://github.com/balena-io/open-balena-api/pull/22#pullrequestreview-171985037 + author: Thodoris Greasidis + nested: [] + - subject: Fix the remaining eslint errors + hash: 1d55da407633a056723187af1a65459d812e56f1 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Properly mark floating-promise errors + hash: d5508d6bb6f8d9a519ca1489c1b02dd2b178f466 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: "scheduler: Add missing await to the unlocking phase" + hash: 08344acd3ccf8b482c9399054121f595589a61b7 + body: "" + footer: + Change-type: patch + change-type: patch + See: https://github.com/balena-io/balena-api/pull/2344/commits/a8ecb8bb36597a6cc7eea48458f23f3e8c7ff6c7 + see: https://github.com/balena-io/balena-api/pull/2344/commits/a8ecb8bb36597a6cc7eea48458f23f3e8c7ff6c7 + author: Thodoris Greasidis + nested: [] + - subject: Stop using {} as a type + hash: b362cde9fdd1da21318fdf19c18a6e1608570304 + body: | + Update @balena/abstract-sql-to-typescript to 2.1.1 + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Switch hasOwnProperty() to Object.prototype.hasOwnProperty.call + hash: 56553f821d1beb07369398b3db7856c1a87ea82b + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Remove unnecessary escaping from regexes + hash: 09a361909cc28145b5c06e3b80045436f8c89a9f + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Remove not used lodash imports + hash: 663193ace07f100399e267dae14798732e624588 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + - subject: Update @balena/lint to 7.0.2 + hash: 83d96438d4998e5b694d194aef2ecb7b07248c59 + body: | + Update @balena/lint from 6.2.2 to 7.0.2 + footer: + Depends-on: https://github.com/balena-io-modules/node-balena-lint/pull/85 + depends-on: https://github.com/balena-io-modules/node-balena-lint/pull/85 + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.3.9 + title: "" + date: 2023-08-29T13:32:24.240Z - commits: - subject: "config: Refactor the cluster mode Redis auth env var checks" hash: 5e48b01dfe0b8e9aedb346f10f0add8603e323f1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 37b39fd27..0021bf6b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.9 - 2023-08-29 + +* Mark runCommand & runFromCommandLine as deprecated [Thodoris Greasidis] +* Fix the remaining eslint errors [Thodoris Greasidis] +* Properly mark floating-promise errors [Thodoris Greasidis] +* scheduler: Add missing await to the unlocking phase [Thodoris Greasidis] +* Stop using {} as a type [Thodoris Greasidis] +* Switch hasOwnProperty() to Object.prototype.hasOwnProperty.call [Thodoris Greasidis] +* Remove unnecessary escaping from regexes [Thodoris Greasidis] +* Remove not used lodash imports [Thodoris Greasidis] +* Update @balena/lint to 7.0.2 [Thodoris Greasidis] + ## 14.3.8 - 2023-08-29 * config: Refactor the cluster mode Redis auth env var checks [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index b7db77a6f..15d2e53c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.8", + "version": "14.3.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.8", + "version": "14.3.9", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 588f78baf..9c01c4ff8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.8", + "version": "14.3.9", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-29T13:09:05.820Z" + "publishedAt": "2023-08-29T13:32:25.385Z" } } From 2c1fbac7a7ffbc4d2fd0662bd84e7d59d62749ab Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Mon, 28 Aug 2023 10:15:43 +0300 Subject: [PATCH 101/221] Update TypeScript to 5.2.2 Change-type: patch --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15d2e53c4..d90abceee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -91,7 +91,7 @@ "thirty-two": "^1.0.2", "ts-node": "^10.9.1", "typed-error": "^3.2.2", - "typescript": "^5.1.3", + "typescript": "^5.2.2", "uuid": "^9.0.0", "validator": "^13.9.0" }, @@ -12678,9 +12678,9 @@ } }, "node_modules/typescript": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz", - "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index 9c01c4ff8..4f99c1989 100644 --- a/package.json +++ b/package.json @@ -115,7 +115,7 @@ "thirty-two": "^1.0.2", "ts-node": "^10.9.1", "typed-error": "^3.2.2", - "typescript": "^5.1.3", + "typescript": "^5.2.2", "uuid": "^9.0.0", "validator": "^13.9.0" }, From df0a50dca079caeb56450de00a4ac57c36d0b784 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 29 Aug 2023 13:45:04 +0000 Subject: [PATCH 102/221] v14.3.10 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 5a8dc7836..b33604f46 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Update TypeScript to 5.2.2 + hash: 6743cfa7cb21ee3275de5e23c789f66a42d6b5c6 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.3.10 + title: "" + date: 2023-08-29T13:44:59.187Z - commits: - subject: Mark runCommand & runFromCommandLine as deprecated hash: 6f2510b24bc67b022761e0f39030e593a67ab0f3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0021bf6b1..a1208356d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.10 - 2023-08-29 + +* Update TypeScript to 5.2.2 [Thodoris Greasidis] + ## 14.3.9 - 2023-08-29 * Mark runCommand & runFromCommandLine as deprecated [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index d90abceee..7217f5608 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.9", + "version": "14.3.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.9", + "version": "14.3.10", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 4f99c1989..3520ff746 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.9", + "version": "14.3.10", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-29T13:32:25.385Z" + "publishedAt": "2023-08-29T13:45:00.079Z" } } From 9f3d8268f8e2e84b993462dadcb4b303e7b51124 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 29 Aug 2023 16:13:38 +0300 Subject: [PATCH 103/221] device-logs: Import the Loki backend asyncronoushly Depends-on: https://github.com/balena-io/open-balena-api/pull/1396 Change-type: patch See: https://github.com/balena-io/open-balena-api/pull/1396#discussion_r1308491416 --- src/features/device-logs/lib/config.ts | 6 ++---- src/features/device-logs/lib/store.ts | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/features/device-logs/lib/config.ts b/src/features/device-logs/lib/config.ts index a719b759a..21bd98a67 100644 --- a/src/features/device-logs/lib/config.ts +++ b/src/features/device-logs/lib/config.ts @@ -23,9 +23,7 @@ export function addRetentionLimit( export const getBackend = _.once((): DeviceLogsBackend => new RedisBackend()); -export const getLokiBackend = _.once((): DeviceLogsBackend => { - const { LokiBackend } = - // eslint-disable-next-line @typescript-eslint/no-var-requires - require('./backends/loki') as typeof import('./backends/loki'); +export const getLokiBackend = _.once(async (): Promise => { + const { LokiBackend } = await import('./backends/loki'); return new LokiBackend(); }); diff --git a/src/features/device-logs/lib/store.ts b/src/features/device-logs/lib/store.ts index 80bdfee61..12b225df2 100644 --- a/src/features/device-logs/lib/store.ts +++ b/src/features/device-logs/lib/store.ts @@ -105,7 +105,7 @@ export const store: RequestHandler = async (req: Request, res: Response) => { await Promise.all([ getBackend().publish(ctx, logs), shouldPublishToLoki() - ? getLokiBackend() + ? (await getLokiBackend()) .publish(ctx, logs) .catch((err) => captureException(err, 'Failed to publish logs to Loki'), @@ -149,7 +149,7 @@ const publishBackend = LOKI_ENABLED ) => { const publishingToRedis = backend.publish(ctx, buffer); const publishingToLoki = shouldPublishToLoki() - ? getLokiBackend() + ? (await getLokiBackend()) .publish(ctx, buffer) .catch((err) => captureException(err, 'Failed to publish logs to Loki'), From 6bd04f6dbfeac89f4eb3deffa794bf27b18b2d2a Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 29 Aug 2023 14:11:56 +0000 Subject: [PATCH 104/221] v14.3.11 --- .versionbot/CHANGELOG.yml | 16 ++++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index b33604f46..f47b9e43d 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,19 @@ +- commits: + - subject: "device-logs: Import the Loki backend asyncronoushly" + hash: fbaacfa4c856d53ea8f4ad012725cfb21e02eada + body: "" + footer: + Depends-on: https://github.com/balena-io/open-balena-api/pull/1396 + depends-on: https://github.com/balena-io/open-balena-api/pull/1396 + Change-type: patch + change-type: patch + See: https://github.com/balena-io/open-balena-api/pull/1396#discussion_r1308491416 + see: https://github.com/balena-io/open-balena-api/pull/1396#discussion_r1308491416 + author: Thodoris Greasidis + nested: [] + version: 14.3.11 + title: "" + date: 2023-08-29T14:11:51.126Z - commits: - subject: Update TypeScript to 5.2.2 hash: 6743cfa7cb21ee3275de5e23c789f66a42d6b5c6 diff --git a/CHANGELOG.md b/CHANGELOG.md index a1208356d..f41f322ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.3.11 - 2023-08-29 + +* device-logs: Import the Loki backend asyncronoushly [Thodoris Greasidis] + ## 14.3.10 - 2023-08-29 * Update TypeScript to 5.2.2 [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 7217f5608..65b4abde0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.10", + "version": "14.3.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.10", + "version": "14.3.11", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 3520ff746..123ef6f9d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.10", + "version": "14.3.11", "license": "AGPL-3.0", "repository": { "type": "git", @@ -152,6 +152,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-29T13:45:00.079Z" + "publishedAt": "2023-08-29T14:11:52.213Z" } } From 3f8c6251fcf4189849ed48b6cc08795620f6f9b8 Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Fri, 25 Aug 2023 18:02:31 +0100 Subject: [PATCH 105/221] Use snappy compression for device logs Change-type: minor --- package-lock.json | 223 ++++++++++++++++++ package.json | 1 + .../device-logs/lib/backends/redis.ts | 28 ++- 3 files changed, 244 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 65b4abde0..13c8e3730 100644 --- a/package-lock.json +++ b/package-lock.json @@ -85,6 +85,7 @@ "request": "^2.88.2", "rsmq": "^0.12.4", "semver": "^7.5.0", + "snappy": "^7.2.2", "strict-event-emitter-types": "^2.0.0", "supervisor": "^0.12.0", "tar": "^6.1.13", @@ -3399,6 +3400,201 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@napi-rs/snappy-android-arm-eabi": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-android-arm-eabi/-/snappy-android-arm-eabi-7.2.2.tgz", + "integrity": "sha512-H7DuVkPCK5BlAr1NfSU8bDEN7gYs+R78pSHhDng83QxRnCLmVIZk33ymmIwurmoA1HrdTxbkbuNl+lMvNqnytw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-android-arm64": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-android-arm64/-/snappy-android-arm64-7.2.2.tgz", + "integrity": "sha512-2R/A3qok+nGtpVK8oUMcrIi5OMDckGYNoBLFyli3zp8w6IArPRfg1yOfVUcHvpUDTo9T7LOS1fXgMOoC796eQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-darwin-arm64": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-darwin-arm64/-/snappy-darwin-arm64-7.2.2.tgz", + "integrity": "sha512-USgArHbfrmdbuq33bD5ssbkPIoT7YCXCRLmZpDS6dMDrx+iM7eD2BecNbOOo7/v1eu6TRmQ0xOzeQ6I/9FIi5g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-darwin-x64": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-darwin-x64/-/snappy-darwin-x64-7.2.2.tgz", + "integrity": "sha512-0APDu8iO5iT0IJKblk2lH0VpWSl9zOZndZKnBYIc+ei1npw2L5QvuErFOTeTdHBtzvUHASB+9bvgaWnQo4PvTQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-freebsd-x64": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-freebsd-x64/-/snappy-freebsd-x64-7.2.2.tgz", + "integrity": "sha512-mRTCJsuzy0o/B0Hnp9CwNB5V6cOJ4wedDTWEthsdKHSsQlO7WU9W1yP7H3Qv3Ccp/ZfMyrmG98Ad7u7lG58WXA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-linux-arm-gnueabihf": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-linux-arm-gnueabihf/-/snappy-linux-arm-gnueabihf-7.2.2.tgz", + "integrity": "sha512-v1uzm8+6uYjasBPcFkv90VLZ+WhLzr/tnfkZ/iD9mHYiULqkqpRuC8zvc3FZaJy5wLQE9zTDkTJN1IvUcZ+Vcg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-linux-arm64-gnu": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-linux-arm64-gnu/-/snappy-linux-arm64-gnu-7.2.2.tgz", + "integrity": "sha512-LrEMa5pBScs4GXWOn6ZYXfQ72IzoolZw5txqUHVGs8eK4g1HR9HTHhb2oY5ySNaKakG5sOgMsb1rwaEnjhChmQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-linux-arm64-musl": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-linux-arm64-musl/-/snappy-linux-arm64-musl-7.2.2.tgz", + "integrity": "sha512-3orWZo9hUpGQcB+3aTLW7UFDqNCQfbr0+MvV67x8nMNYj5eAeUtMmUE/HxLznHO4eZ1qSqiTwLbVx05/Socdlw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-linux-x64-gnu": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-linux-x64-gnu/-/snappy-linux-x64-gnu-7.2.2.tgz", + "integrity": "sha512-jZt8Jit/HHDcavt80zxEkDpH+R1Ic0ssiVCoueASzMXa7vwPJeF4ZxZyqUw4qeSy7n8UUExomu8G8ZbP6VKhgw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-linux-x64-musl": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-linux-x64-musl/-/snappy-linux-x64-musl-7.2.2.tgz", + "integrity": "sha512-Dh96IXgcZrV39a+Tej/owcd9vr5ihiZ3KRix11rr1v0MWtVb61+H1GXXlz6+Zcx9y8jM1NmOuiIuJwkV4vZ4WA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-win32-arm64-msvc": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-win32-arm64-msvc/-/snappy-win32-arm64-msvc-7.2.2.tgz", + "integrity": "sha512-9No0b3xGbHSWv2wtLEn3MO76Yopn1U2TdemZpCaEgOGccz1V+a/1d16Piz3ofSmnA13HGFz3h9NwZH9EOaIgYA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-win32-ia32-msvc": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-win32-ia32-msvc/-/snappy-win32-ia32-msvc-7.2.2.tgz", + "integrity": "sha512-QiGe+0G86J74Qz1JcHtBwM3OYdTni1hX1PFyLRo3HhQUSpmi13Bzc1En7APn+6Pvo7gkrcy81dObGLDSxFAkQQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/snappy-win32-x64-msvc": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@napi-rs/snappy-win32-x64-msvc/-/snappy-win32-x64-msvc-7.2.2.tgz", + "integrity": "sha512-a43cyx1nK0daw6BZxVcvDEXxKMFLSBSDTAhsFD0VqSKcC7MGUBMaqyoWUcMiI7LBSz4bxUmxDWKfCYzpEmeb3w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -11887,6 +12083,33 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/snappy": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/snappy/-/snappy-7.2.2.tgz", + "integrity": "sha512-iADMq1kY0v3vJmGTuKcFWSXt15qYUz7wFkArOrsSg0IFfI3nJqIJvK2/ZbEIndg7erIJLtAVX2nSOqPz7DcwbA==", + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/snappy-android-arm-eabi": "7.2.2", + "@napi-rs/snappy-android-arm64": "7.2.2", + "@napi-rs/snappy-darwin-arm64": "7.2.2", + "@napi-rs/snappy-darwin-x64": "7.2.2", + "@napi-rs/snappy-freebsd-x64": "7.2.2", + "@napi-rs/snappy-linux-arm-gnueabihf": "7.2.2", + "@napi-rs/snappy-linux-arm64-gnu": "7.2.2", + "@napi-rs/snappy-linux-arm64-musl": "7.2.2", + "@napi-rs/snappy-linux-x64-gnu": "7.2.2", + "@napi-rs/snappy-linux-x64-musl": "7.2.2", + "@napi-rs/snappy-win32-arm64-msvc": "7.2.2", + "@napi-rs/snappy-win32-ia32-msvc": "7.2.2", + "@napi-rs/snappy-win32-x64-msvc": "7.2.2" + } + }, "node_modules/sorted-array-functions": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz", diff --git a/package.json b/package.json index 123ef6f9d..1d70e2849 100644 --- a/package.json +++ b/package.json @@ -109,6 +109,7 @@ "request": "^2.88.2", "rsmq": "^0.12.4", "semver": "^7.5.0", + "snappy": "^7.2.2", "strict-event-emitter-types": "^2.0.0", "supervisor": "^0.12.0", "tar": "^6.1.13", diff --git a/src/features/device-logs/lib/backends/redis.ts b/src/features/device-logs/lib/backends/redis.ts index df5a4ae68..390c4ab5f 100644 --- a/src/features/device-logs/lib/backends/redis.ts +++ b/src/features/device-logs/lib/backends/redis.ts @@ -1,4 +1,5 @@ import avro from 'avsc'; +import * as snappy from 'snappy'; import { stripIndent } from 'common-tags'; import { EventEmitter } from 'events'; import _ from 'lodash'; @@ -140,7 +141,8 @@ export class RedisBackend implements DeviceLogsBackend { count === Infinity ? 0 : -count, -1, ); - return _(payloads).map(this.fromRedisLog).compact().value(); + const parsedLogs = await Promise.all(payloads.map(this.fromRedisLog)); + return _.compact(parsedLogs); } public get available(): boolean { @@ -152,7 +154,7 @@ export class RedisBackend implements DeviceLogsBackend { throw new ServiceUnavailableError(); } // Immediately map the logs as they are synchronously cleared - const redisLogs = logs.map(this.toRedisLog, this); + const redisLogs = await Promise.all(logs.map(this.toRedisLog, this)); const limit = ctx.retention_limit; const key = this.getKey(ctx); @@ -229,16 +231,25 @@ export class RedisBackend implements DeviceLogsBackend { return `{device:${ctx.id}}:${suffix}`; } - private handleMessage(key: string, payload: string) { - const log = this.fromRedisLog(payload); + private async handleMessage(key: string, payload: string) { + const log = await this.fromRedisLog(payload); if (log) { this.subscriptions.emit(key, log); } } - private fromRedisLog(payload: string): DeviceLog | undefined { + private async fromRedisLog(payload: string): Promise { try { - const log = schema.fromBuffer(Buffer.from(payload, BUFFER_ENCODING)); + let decompressedBuffer = Buffer.from(payload, BUFFER_ENCODING); + try { + decompressedBuffer = (await snappy.uncompress( + decompressedBuffer, + )) as Buffer; + } catch { + // We ignore ones that fail to decompress as they are likely from before we added compression + // TODO: Stop ignoring these errors once we're sure all logs are compressed + } + const log = schema.fromBuffer(decompressedBuffer); if (log.version !== VERSION) { throw new Error( `Invalid Redis serialization version: ${JSON.stringify(log)}`, @@ -254,9 +265,10 @@ export class RedisBackend implements DeviceLogsBackend { } } - private toRedisLog(log: DeviceLog): string { + private async toRedisLog(log: DeviceLog): Promise { try { - return schema.toBuffer(log).toString(BUFFER_ENCODING); + const compressedLog = await snappy.compress(schema.toBuffer(log)); + return compressedLog.toString(BUFFER_ENCODING); } catch (err) { captureException(err, 'Failed to convert log to redis buffer'); throw new BadRequestError(); From 2c2ffdac156daaf3f4a6295328845c64241aead4 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 29 Aug 2023 15:17:07 +0000 Subject: [PATCH 106/221] v14.4.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f47b9e43d..eff6e4383 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Use snappy compression for device logs + hash: 7bb118fd388ddf157e3e74a17208047d1673f6ff + body: "" + footer: + Change-type: minor + change-type: minor + author: Pagan Gazzard + nested: [] + version: 14.4.0 + title: "" + date: 2023-08-29T15:17:02.753Z - commits: - subject: "device-logs: Import the Loki backend asyncronoushly" hash: fbaacfa4c856d53ea8f4ad012725cfb21e02eada diff --git a/CHANGELOG.md b/CHANGELOG.md index f41f322ec..abbec897c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.4.0 - 2023-08-29 + +* Use snappy compression for device logs [Pagan Gazzard] + ## 14.3.11 - 2023-08-29 * device-logs: Import the Loki backend asyncronoushly [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 13c8e3730..b612c1402 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.3.11", + "version": "14.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.3.11", + "version": "14.4.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 1d70e2849..25dfd1ea4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.3.11", + "version": "14.4.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-29T14:11:52.213Z" + "publishedAt": "2023-08-29T15:17:03.779Z" } } From 411e05c3f2079965f5748039a1a04717ef70cf56 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 18 Jul 2023 19:21:28 +0300 Subject: [PATCH 107/221] Export the augmentReqApiKeyPermissions api key helper Change-type: minor --- src/features/api-keys/lib.ts | 23 +++++++++++++++++--- src/features/auth/public-keys.ts | 2 +- src/features/device-provisioning/register.ts | 5 ++--- src/index.ts | 6 ++++- 4 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/features/api-keys/lib.ts b/src/features/api-keys/lib.ts index d9bb3c9cd..27d2f0262 100644 --- a/src/features/api-keys/lib.ts +++ b/src/features/api-keys/lib.ts @@ -335,10 +335,27 @@ export const augmentReqApiKeyPermissions = < T extends permissions.PermissionReq, >( req: T, - ...extraPermissions: string[] + extraPermissions: string[], + /** + * When mutateRequestObject is + * false: A new request object with augmented permissions is returned to be used for specific tasks, + * while the rest of the code (eg: middleware & hooks) still runs with permissions the original request. + * true: The permissions are augmented for the whole lifetime of the request. + */ + mutateRequestObject = false, ): T => { - const augmentedReq = _.clone(req); - augmentedReq.apiKey = _.cloneDeep(augmentedReq.apiKey); + let augmentedReq = req; + + if (!mutateRequestObject) { + augmentedReq = _.clone(req); + augmentedReq.apiKey = _.cloneDeep(augmentedReq.apiKey); + } else if (augmentedReq.apiKey?.permissions) { + // When mutateRequestObject === true we still need to clone + // the permissions array rather than modifying it directly + // so that we do not pollute pine's apiKeyPermissions cache. + augmentedReq.apiKey.permissions = [...augmentedReq.apiKey.permissions]; + } + augmentedReq.apiKey?.permissions?.push(...extraPermissions); return augmentedReq; }; diff --git a/src/features/auth/public-keys.ts b/src/features/auth/public-keys.ts index 2b7b6c15d..73941e296 100644 --- a/src/features/auth/public-keys.ts +++ b/src/features/auth/public-keys.ts @@ -16,7 +16,7 @@ export const getUserPublicKeys: RequestHandler = async (req, res) => { // Augment with the ability to resolve the user's username for this request only, there's no need // for device keys to have the ability by default. Access to the public key will still be restricted // by `user__has__public_key` so this only affects the ability to resolve the username they apply to - req = augmentReqApiKeyPermissions(req, 'resin.user.read'); + req = augmentReqApiKeyPermissions(req, ['resin.user.read']); const data = (await sbvrUtils.api.resin.get({ resource: 'user__has__public_key', options: { diff --git a/src/features/device-provisioning/register.ts b/src/features/device-provisioning/register.ts index 7d1380ab5..6801549a0 100644 --- a/src/features/device-provisioning/register.ts +++ b/src/features/device-provisioning/register.ts @@ -58,14 +58,13 @@ export const register: RequestHandler = async (req, res) => { * - Fetch the device we create & create an api key for it * - Read the hostApp releases that should be operating the device */ - req = augmentReqApiKeyPermissions( - req, + req = augmentReqApiKeyPermissions(req, [ 'resin.device.read', 'resin.device.create-device-api-key', `resin.application.read?is_public eq true and is_host eq true and is_for__device_type/canAccess()`, 'resin.release.read?belongs_to__application/canAccess()', `resin.release_tag.read?release/canAccess()`, - ); + ]); const response = await sbvrUtils.db.transaction(async (tx) => { // TODO: Replace this manual rollback on request closure with a more generic/automated version diff --git a/src/index.ts b/src/index.ts index a176fd517..1f62777e5 100644 --- a/src/index.ts +++ b/src/index.ts @@ -92,7 +92,10 @@ import { import { createScopedAccessToken, createJwt } from './infra/auth/jwt'; import { resolveOrDenyDevicesWithStatus } from './features/device-state/middleware'; import { middleware as authMiddleware } from './infra/auth'; -import { isApiKeyWithRole } from './features/api-keys/lib'; +import { + augmentReqApiKeyPermissions, + isApiKeyWithRole, +} from './features/api-keys/lib'; import { setupDeleteCascade as addDeleteHookForDependents } from './features/cascade-delete/setup-delete-cascade'; import { updateOrInsertModel, @@ -225,6 +228,7 @@ export const utils = { throttledForEach, }; export const apiKeys = { + augmentReqApiKeyPermissions, isApiKeyWithRole, }; export const application = { From 3e85558e8cf7e31d4fb2e6b40b67e0053d11abaa Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 30 Aug 2023 06:56:35 +0000 Subject: [PATCH 108/221] v14.5.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index eff6e4383..aeb4fb78a 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Export the augmentReqApiKeyPermissions api key helper + hash: 6af0fa210aa543994040d1d53c07c80472b4a855 + body: "" + footer: + Change-type: minor + change-type: minor + author: Thodoris Greasidis + nested: [] + version: 14.5.0 + title: "" + date: 2023-08-30T06:56:30.433Z - commits: - subject: Use snappy compression for device logs hash: 7bb118fd388ddf157e3e74a17208047d1673f6ff diff --git a/CHANGELOG.md b/CHANGELOG.md index abbec897c..d06a9c8c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.5.0 - 2023-08-30 + +* Export the augmentReqApiKeyPermissions api key helper [Thodoris Greasidis] + ## 14.4.0 - 2023-08-29 * Use snappy compression for device logs [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index b612c1402..a7811a5fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.4.0", + "version": "14.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.4.0", + "version": "14.5.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 25dfd1ea4..78606da9b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.4.0", + "version": "14.5.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-29T15:17:03.779Z" + "publishedAt": "2023-08-30T06:56:31.349Z" } } From 73eec4e6259061b60afac9db16ba221dd0b1c1a8 Mon Sep 17 00:00:00 2001 From: Harald Fischer Date: Wed, 30 Aug 2023 14:07:13 +0200 Subject: [PATCH 109/221] Update @balena/pinejs dependencies Update @balena/pinejs from 15.3.0 to 15.3.4 Change-type: patch Signed-off-by: Harald Fischer --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a7811a5fb..47bfe39da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.0", + "@balena/pinejs": "^15.3.4", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", @@ -2951,9 +2951,9 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.0.tgz", - "integrity": "sha512-FxXXRIJZgPapPYVOM0/F46BmNwr6FRgOhRoOXu8QgpXMPodT0ufvngATiDAhngTn3BnfcWVanntNUJh82h0Zbg==", + "version": "15.3.4", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.4.tgz", + "integrity": "sha512-kFEUeg3DduSR6vIPO/kkuUs/T4LkklVreXLKKDjHuQ6IOqIxHmJcej4S5PptmAjNVVeHD6HfMr4Ke07uY6TbLg==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.0", diff --git a/package.json b/package.json index 78606da9b..52b7ba268 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.0", + "@balena/pinejs": "^15.3.4", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", From 54cdb7ddab7308ad4e10321688e970a056b8a0d6 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 30 Aug 2023 12:33:38 +0000 Subject: [PATCH 110/221] v14.5.1 --- .versionbot/CHANGELOG.yml | 73 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 25 ++++++++++++++ package-lock.json | 4 +-- package.json | 4 +-- 4 files changed, 102 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index aeb4fb78a..b431ef166 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,76 @@ +- commits: + - subject: Update @balena/pinejs dependencies + hash: f5ff89edd6eb310040d74481957f3366cc136041 + body: | + Update @balena/pinejs from 15.3.0 to 15.3.4 + footer: + Change-type: patch + change-type: patch + Signed-off-by: Harald Fischer + signed-off-by: Harald Fischer + author: Harald Fischer + nested: + - commits: + - subject: Fix skipped migrations on empty database schema + hash: b34235542b82a7d347b49f79f26be036509afd00 + body: > + On empty database schemas the `migrations` model is not + executed. + + Hence, every model migration that is executed before the `migrations` model + + will not be tracked properly. This is an edge case for empty database schemas. + footer: + Change-type: patch + change-type: patch + Signed-off-by: Harald Fischer + signed-off-by: Harald Fischer + author: Harald Fischer + nested: [] + version: pinejs-15.3.4 + title: "" + date: 2023-08-29T15:30:10.063Z + - commits: + - subject: Change S3Handler signing config from private to protected + hash: 6d7741dfe4117e937d0f4af9c6abb338beeffa89 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: pinejs-15.3.3 + title: "" + date: 2023-08-29T13:06:53.643Z + - commits: + - subject: Fix webresource patch on not accessible/inexistent key + hash: de01723cf88ec09b422578a5ca76437fe10fdabb + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: pinejs-15.3.2 + title: "" + date: 2023-08-24T20:20:55.423Z + - commits: + - subject: "bin: Use async imports in the cli commands" + hash: 2bf7de6c60589f0b33575b7ab6f4309011fc8062 + body: "" + footer: + Change-type: patch + change-type: patch + See: https://github.com/balena-io/pinejs/pull/682#discussion_r1304255389 + see: https://github.com/balena-io/pinejs/pull/682#discussion_r1304255389 + author: Thodoris Greasidis + nested: [] + version: pinejs-15.3.1 + title: "" + date: 2023-08-24T17:46:19.792Z + version: 14.5.1 + title: "" + date: 2023-08-30T12:33:29.266Z - commits: - subject: Export the augmentReqApiKeyPermissions api key helper hash: 6af0fa210aa543994040d1d53c07c80472b4a855 diff --git a/CHANGELOG.md b/CHANGELOG.md index d06a9c8c3..9a327a951 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,31 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.5.1 - 2023-08-30 + + +
+ Update @balena/pinejs dependencies [Harald Fischer] + +> ### pinejs-15.3.4 - 2023-08-29 +> +> * Fix skipped migrations on empty database schema [Harald Fischer] +> +> ### pinejs-15.3.3 - 2023-08-29 +> +> * Change S3Handler signing config from private to protected [Otávio Jacobi] +> +> ### pinejs-15.3.2 - 2023-08-24 +> +> * Fix webresource patch on not accessible/inexistent key [Otávio Jacobi] +> +> ### pinejs-15.3.1 - 2023-08-24 +> +> * bin: Use async imports in the cli commands [Thodoris Greasidis] +> + +
+ ## 14.5.0 - 2023-08-30 * Export the augmentReqApiKeyPermissions api key helper [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 47bfe39da..9dd02618d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.5.0", + "version": "14.5.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.5.0", + "version": "14.5.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 52b7ba268..bd21fcb5f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.5.0", + "version": "14.5.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-30T06:56:31.349Z" + "publishedAt": "2023-08-30T12:33:32.160Z" } } From 18f5dfae0d67e8f13790aba0739495f8d65cb73e Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Thu, 7 Sep 2023 14:11:48 +0000 Subject: [PATCH 111/221] Update grafana/loki Docker tag to v2.9.0 Update grafana/loki from 2.8.4 to 2.9.0 Change-type: patch --- docker-compose.test-custom.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index 3a359329d..4d4378d93 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -16,7 +16,7 @@ services: networks: - local-test loki: - image: grafana/loki:2.8.4 + image: grafana/loki:2.9.0 restart: "no" ports: - "9095:9095" From 85d78f5ef6d20fa0c3faa67b525aa5c1e8f06b36 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 7 Sep 2023 14:21:41 +0000 Subject: [PATCH 112/221] v14.5.2 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index b431ef166..38502afa3 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update grafana/loki Docker tag to v2.9.0 + hash: cb249b39d22cc6ba1431a868f1d3850729021754 + body: | + Update grafana/loki from 2.8.4 to 2.9.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.5.2 + title: "" + date: 2023-09-07T14:21:35.978Z - commits: - subject: Update @balena/pinejs dependencies hash: f5ff89edd6eb310040d74481957f3366cc136041 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a327a951..a930dbb12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.5.2 - 2023-09-07 + +* Update grafana/loki Docker tag to v2.9.0 [Self-hosted Renovate Bot] + ## 14.5.1 - 2023-08-30 diff --git a/package-lock.json b/package-lock.json index 9dd02618d..a124a584c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.5.1", + "version": "14.5.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.5.1", + "version": "14.5.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index bd21fcb5f..a29a5305c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.5.1", + "version": "14.5.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-08-30T12:33:32.160Z" + "publishedAt": "2023-09-07T14:21:36.947Z" } } From 534df087087cbe3c54c14aa4a5806272c18982e0 Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Mon, 11 Sep 2023 11:49:44 +0100 Subject: [PATCH 113/221] Update open-balena-base to 16.0.0 Update open-balena-base from 15.1.0 to 16.0.0 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 87276a778..a98e1bfb2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v15.1.0 as runtime +FROM balena/open-balena-base:v16.0.0 as runtime EXPOSE 80 From dc34a16dc118076145383bdf12efb193fc83878d Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 11:01:33 +0000 Subject: [PATCH 114/221] v14.5.3 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 38502afa3..5b2bcee4d 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update open-balena-base to 16.0.0 + hash: 5fccc00a761600e78fa69de9949377f0e94db432 + body: | + Update open-balena-base from 15.1.0 to 16.0.0 + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: 14.5.3 + title: "" + date: 2023-09-11T11:01:24.594Z - commits: - subject: Update grafana/loki Docker tag to v2.9.0 hash: cb249b39d22cc6ba1431a868f1d3850729021754 diff --git a/CHANGELOG.md b/CHANGELOG.md index a930dbb12..ce2f23ae2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.5.3 - 2023-09-11 + +* Update open-balena-base to 16.0.0 [Pagan Gazzard] + ## 14.5.2 - 2023-09-07 * Update grafana/loki Docker tag to v2.9.0 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index a124a584c..a9a3a5875 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.5.2", + "version": "14.5.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.5.2", + "version": "14.5.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index a29a5305c..32ea09f72 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.5.2", + "version": "14.5.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-07T14:21:36.947Z" + "publishedAt": "2023-09-11T11:01:25.750Z" } } From 08bf0db20a41ba2e257ed0b05996d6e5b3191ebb Mon Sep 17 00:00:00 2001 From: Pagan Gazzard Date: Mon, 11 Sep 2023 12:34:29 +0100 Subject: [PATCH 115/221] Update open-balena-base package.json to specify nodejs 20 Change-type: patch --- package-lock.json | 977 ++++++++++++++++++++-------------------------- package.json | 6 +- 2 files changed, 425 insertions(+), 558 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9a3a5875..b035b7df3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "@types/memoizee": "^0.4.8", "@types/morgan": "^1.9.4", "@types/ndjson": "^2.0.1", - "@types/node": "^18.16.1", + "@types/node": "^20.6.0", "@types/node-schedule": "^2.1.0", "@types/on-finished": "^2.3.1", "@types/passport-jwt": "^3.0.8", @@ -117,8 +117,8 @@ "supertest": "^6.3.3" }, "engines": { - "node": "^18.14.0", - "npm": "^9.4.1" + "node": "^20.6.1", + "npm": "^10.1.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -223,25 +223,32 @@ } }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.296.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.296.0.tgz", - "integrity": "sha512-gNUFBlBw6+sEMfDjPVa83iscpQwXBS4uoiZXnfeQ6s6tnaxqQpJDrBBmNvYqDEXNdaAJX4FhayEwkSvtir/f3A==", + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.200.0.tgz", + "integrity": "sha512-YflVl9JEFjy0cco+40FAocQfFGZ7fR2tnYhQPqXtfCJ9ywikB2PnzN3G6TtvNCFaSG1tLwnI0LZphVbk89sDtw==", "optional": true, - "peer": true, "dependencies": { - "@aws-sdk/types": "3.296.0", - "tslib": "^2.5.0" + "@aws-sdk/types": "3.200.0", + "tslib": "^2.3.1" }, "engines": { - "node": ">=14.0.0" + "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/abort-controller/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "node_modules/@aws-sdk/abort-controller/node_modules/@aws-sdk/types": { + "version": "3.200.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", + "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", "optional": true, - "peer": true + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/abort-controller/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "optional": true }, "node_modules/@aws-sdk/chunked-blob-reader": { "version": "3.188.0", @@ -263,15 +270,15 @@ } }, "node_modules/@aws-sdk/chunked-blob-reader-native/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/chunked-blob-reader/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/client-s3": { @@ -350,9 +357,9 @@ } }, "node_modules/@aws-sdk/client-s3/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/client-sso": { @@ -409,9 +416,9 @@ } }, "node_modules/@aws-sdk/client-sso/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/client-sts": { @@ -472,9 +479,9 @@ } }, "node_modules/@aws-sdk/client-sts/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/config-resolver": { @@ -503,9 +510,9 @@ } }, "node_modules/@aws-sdk/config-resolver/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/credential-provider-env": { @@ -532,9 +539,9 @@ } }, "node_modules/@aws-sdk/credential-provider-env/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/credential-provider-imds": { @@ -563,9 +570,9 @@ } }, "node_modules/@aws-sdk/credential-provider-imds/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/credential-provider-ini": { @@ -597,9 +604,9 @@ } }, "node_modules/@aws-sdk/credential-provider-ini/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/credential-provider-node": { @@ -633,9 +640,9 @@ } }, "node_modules/@aws-sdk/credential-provider-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/credential-provider-process": { @@ -663,9 +670,9 @@ } }, "node_modules/@aws-sdk/credential-provider-process/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/credential-provider-sso": { @@ -694,9 +701,9 @@ } }, "node_modules/@aws-sdk/credential-provider-sso/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/credential-provider-web-identity": { @@ -723,9 +730,9 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/eventstream-codec": { @@ -750,9 +757,9 @@ } }, "node_modules/@aws-sdk/eventstream-codec/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/eventstream-serde-browser": { @@ -779,9 +786,9 @@ } }, "node_modules/@aws-sdk/eventstream-serde-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/eventstream-serde-config-resolver": { @@ -807,9 +814,9 @@ } }, "node_modules/@aws-sdk/eventstream-serde-config-resolver/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/eventstream-serde-node": { @@ -836,9 +843,9 @@ } }, "node_modules/@aws-sdk/eventstream-serde-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/eventstream-serde-universal": { @@ -865,9 +872,9 @@ } }, "node_modules/@aws-sdk/eventstream-serde-universal/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/fetch-http-handler": { @@ -893,9 +900,9 @@ } }, "node_modules/@aws-sdk/fetch-http-handler/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/hash-blob-browser": { @@ -920,9 +927,9 @@ } }, "node_modules/@aws-sdk/hash-blob-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/hash-node": { @@ -949,9 +956,9 @@ } }, "node_modules/@aws-sdk/hash-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/hash-stream-node": { @@ -977,9 +984,9 @@ } }, "node_modules/@aws-sdk/hash-stream-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/invalid-dependency": { @@ -1002,9 +1009,9 @@ } }, "node_modules/@aws-sdk/invalid-dependency/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/is-array-buffer": { @@ -1020,9 +1027,9 @@ } }, "node_modules/@aws-sdk/is-array-buffer/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/lib-storage": { @@ -1066,9 +1073,9 @@ } }, "node_modules/@aws-sdk/lib-storage/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/md5-js": { @@ -1093,9 +1100,9 @@ } }, "node_modules/@aws-sdk/md5-js/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { @@ -1124,9 +1131,9 @@ } }, "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-content-length": { @@ -1153,9 +1160,9 @@ } }, "node_modules/@aws-sdk/middleware-content-length/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-endpoint": { @@ -1187,9 +1194,9 @@ } }, "node_modules/@aws-sdk/middleware-endpoint/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-expect-continue": { @@ -1216,9 +1223,9 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-flexible-checksums": { @@ -1248,9 +1255,9 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-host-header": { @@ -1277,9 +1284,9 @@ } }, "node_modules/@aws-sdk/middleware-host-header/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-location-constraint": { @@ -1305,9 +1312,9 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-logger": { @@ -1333,9 +1340,9 @@ } }, "node_modules/@aws-sdk/middleware-logger/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-recursion-detection": { @@ -1362,9 +1369,9 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-retry": { @@ -1394,9 +1401,9 @@ } }, "node_modules/@aws-sdk/middleware-retry/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { @@ -1434,9 +1441,9 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-sdk-sts": { @@ -1466,9 +1473,9 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-serde": { @@ -1494,9 +1501,9 @@ } }, "node_modules/@aws-sdk/middleware-serde/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-signing": { @@ -1526,9 +1533,9 @@ } }, "node_modules/@aws-sdk/middleware-signing/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-ssec": { @@ -1554,9 +1561,9 @@ } }, "node_modules/@aws-sdk/middleware-ssec/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-stack": { @@ -1572,9 +1579,9 @@ } }, "node_modules/@aws-sdk/middleware-stack/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/middleware-user-agent": { @@ -1601,9 +1608,9 @@ } }, "node_modules/@aws-sdk/middleware-user-agent/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/node-config-provider": { @@ -1631,9 +1638,9 @@ } }, "node_modules/@aws-sdk/node-config-provider/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/node-http-handler": { @@ -1652,19 +1659,6 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/node-http-handler/node_modules/@aws-sdk/abort-controller": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.200.0.tgz", - "integrity": "sha512-YflVl9JEFjy0cco+40FAocQfFGZ7fR2tnYhQPqXtfCJ9ywikB2PnzN3G6TtvNCFaSG1tLwnI0LZphVbk89sDtw==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, "node_modules/@aws-sdk/node-http-handler/node_modules/@aws-sdk/types": { "version": "3.200.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", @@ -1675,9 +1669,9 @@ } }, "node_modules/@aws-sdk/node-http-handler/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/property-provider": { @@ -1703,9 +1697,9 @@ } }, "node_modules/@aws-sdk/property-provider/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/protocol-http": { @@ -1731,9 +1725,9 @@ } }, "node_modules/@aws-sdk/protocol-http/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/querystring-builder": { @@ -1760,9 +1754,9 @@ } }, "node_modules/@aws-sdk/querystring-builder/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/querystring-parser": { @@ -1788,9 +1782,9 @@ } }, "node_modules/@aws-sdk/querystring-parser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/s3-request-presigner": { @@ -1836,23 +1830,10 @@ } } }, - "node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/types": { - "version": "3.378.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.378.0.tgz", - "integrity": "sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/s3-request-presigner/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/service-error-classification": { @@ -1887,9 +1868,9 @@ } }, "node_modules/@aws-sdk/shared-ini-file-loader/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/signature-v4": { @@ -1943,9 +1924,9 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/types": { @@ -1958,9 +1939,9 @@ } }, "node_modules/@aws-sdk/signature-v4/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/smithy-client": { @@ -1987,17 +1968,18 @@ } }, "node_modules/@aws-sdk/smithy-client/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/types": { - "version": "3.296.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.296.0.tgz", - "integrity": "sha512-s0wIac64rrMEo2ioUxP9IarGiiCGmelCspNcoNTPSjGl25QqjhyfQqTeGgS58qJ4fHoQb07qra39930xp1IzJg==", + "version": "3.378.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.378.0.tgz", + "integrity": "sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==", "optional": true, "dependencies": { + "@smithy/types": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -2005,9 +1987,9 @@ } }, "node_modules/@aws-sdk/types/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/url-parser": { @@ -2031,9 +2013,9 @@ } }, "node_modules/@aws-sdk/url-parser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-arn-parser": { @@ -2049,9 +2031,9 @@ } }, "node_modules/@aws-sdk/util-arn-parser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-base64-browser": { @@ -2064,9 +2046,9 @@ } }, "node_modules/@aws-sdk/util-base64-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-base64-node": { @@ -2083,9 +2065,9 @@ } }, "node_modules/@aws-sdk/util-base64-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-body-length-browser": { @@ -2098,9 +2080,9 @@ } }, "node_modules/@aws-sdk/util-body-length-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-body-length-node": { @@ -2116,9 +2098,9 @@ } }, "node_modules/@aws-sdk/util-body-length-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-buffer-from": { @@ -2135,9 +2117,9 @@ } }, "node_modules/@aws-sdk/util-buffer-from/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-config-provider": { @@ -2153,9 +2135,9 @@ } }, "node_modules/@aws-sdk/util-config-provider/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-defaults-mode-browser": { @@ -2183,9 +2165,9 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-defaults-mode-node": { @@ -2215,9 +2197,9 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-endpoints": { @@ -2243,9 +2225,9 @@ } }, "node_modules/@aws-sdk/util-endpoints/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-format-url": { @@ -2263,23 +2245,10 @@ "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-format-url/node_modules/@aws-sdk/types": { - "version": "3.378.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.378.0.tgz", - "integrity": "sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@aws-sdk/util-format-url/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-hex-encoding": { @@ -2295,9 +2264,9 @@ } }, "node_modules/@aws-sdk/util-hex-encoding/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-locate-window": { @@ -2313,9 +2282,9 @@ } }, "node_modules/@aws-sdk/util-locate-window/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-middleware": { @@ -2331,9 +2300,9 @@ } }, "node_modules/@aws-sdk/util-middleware/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-stream-browser": { @@ -2360,9 +2329,9 @@ } }, "node_modules/@aws-sdk/util-stream-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-stream-node": { @@ -2390,9 +2359,9 @@ } }, "node_modules/@aws-sdk/util-stream-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-uri-escape": { @@ -2408,9 +2377,9 @@ } }, "node_modules/@aws-sdk/util-uri-escape/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-user-agent-browser": { @@ -2434,9 +2403,9 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-user-agent-node": { @@ -2471,9 +2440,9 @@ } }, "node_modules/@aws-sdk/util-user-agent-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-utf8-browser": { @@ -2486,9 +2455,9 @@ } }, "node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-utf8-node": { @@ -2505,9 +2474,9 @@ } }, "node_modules/@aws-sdk/util-utf8-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/util-waiter": { @@ -2524,19 +2493,6 @@ "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-waiter/node_modules/@aws-sdk/abort-controller": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.200.0.tgz", - "integrity": "sha512-YflVl9JEFjy0cco+40FAocQfFGZ7fR2tnYhQPqXtfCJ9ywikB2PnzN3G6TtvNCFaSG1tLwnI0LZphVbk89sDtw==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, "node_modules/@aws-sdk/util-waiter/node_modules/@aws-sdk/types": { "version": "3.200.0", "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", @@ -2547,9 +2503,9 @@ } }, "node_modules/@aws-sdk/util-waiter/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@aws-sdk/xml-builder": { @@ -2565,9 +2521,9 @@ } }, "node_modules/@aws-sdk/xml-builder/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@babel/code-frame": { @@ -2702,9 +2658,9 @@ } }, "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "version": "7.22.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", + "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2735,9 +2691,9 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/parser": { - "version": "7.21.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", - "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "version": "7.22.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", + "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2828,9 +2784,9 @@ } }, "node_modules/@balena/abstract-sql-to-typescript/node_modules/@types/node": { - "version": "16.18.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz", - "integrity": "sha512-+yno3ItTEwGxXiS/75Q/aHaa5srkpnJaH+kdkTVJ3DtJEwv92itpKbxU+FjPoh2m/5G9zmUQfrL4A4C13c+iGA==" + "version": "16.18.50", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.50.tgz", + "integrity": "sha512-OiDU5xRgYTJ203v4cprTs0RwOCd5c5Zjv+K5P8KSqfiCsB1W3LcamTUMcnQarpq5kOYbhHfSOgIEJvdPyb5xyw==" }, "node_modules/@balena/env-parsing": { "version": "1.1.5", @@ -2883,9 +2839,9 @@ } }, "node_modules/@balena/lint/node_modules/@types/node": { - "version": "16.18.42", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.42.tgz", - "integrity": "sha512-IrFfX/1oxDFQNpQzgt/BoP/hbMuQT68DPsNwzJmw8y3K8lfnPp0XymVN9GLFz+LobFmJGZ/peRzq+9wXYfCCtw==", + "version": "16.18.50", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.50.tgz", + "integrity": "sha512-OiDU5xRgYTJ203v4cprTs0RwOCd5c5Zjv+K5P8KSqfiCsB1W3LcamTUMcnQarpq5kOYbhHfSOgIEJvdPyb5xyw==", "dev": true }, "node_modules/@balena/node-metrics-gatherer": { @@ -2913,9 +2869,9 @@ } }, "node_modules/@balena/odata-to-abstract-sql": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.0.1.tgz", - "integrity": "sha512-S5dXiJFmOhsrZEKdd1WDwE2wBG3t8sj6jRGLQ7/dtjgB3WxE6u7KS9hnQD+FqAFrvOEBFeH3czMUohulYDJy2g==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.1.0.tgz", + "integrity": "sha512-QOjt5JHHUFqMqpfMxSUZLQ8gcdWtcMPxWQ8mFnAxvGMxhx6l6EPA1ha7RT2ZEVutlWGeaLB6PlYqhCJYHA/Lag==", "dependencies": { "@balena/abstract-sql-compiler": "^8.4.1", "@balena/odata-parser": "^3.0.0", @@ -3020,6 +2976,11 @@ "serve-static": "^1.15.0" } }, + "node_modules/@balena/pinejs/node_modules/@types/node": { + "version": "18.17.15", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.15.tgz", + "integrity": "sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==" + }, "node_modules/@balena/sbvr-parser": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/@balena/sbvr-parser/-/sbvr-parser-1.4.3.tgz", @@ -3288,9 +3249,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -3356,13 +3317,13 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@mapbox/node-pre-gyp": { @@ -3805,9 +3766,9 @@ } }, "node_modules/@smithy/abort-controller/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/eventstream-codec": { @@ -3857,9 +3818,9 @@ "optional": true }, "node_modules/@smithy/eventstream-codec/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/fetch-http-handler": { @@ -3876,9 +3837,9 @@ } }, "node_modules/@smithy/fetch-http-handler/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/is-array-buffer": { @@ -3894,9 +3855,9 @@ } }, "node_modules/@smithy/is-array-buffer/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/middleware-endpoint": { @@ -3916,9 +3877,9 @@ } }, "node_modules/@smithy/middleware-endpoint/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/middleware-serde": { @@ -3935,9 +3896,9 @@ } }, "node_modules/@smithy/middleware-serde/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/middleware-stack": { @@ -3953,9 +3914,9 @@ } }, "node_modules/@smithy/middleware-stack/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/node-http-handler": { @@ -3975,9 +3936,9 @@ } }, "node_modules/@smithy/node-http-handler/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/protocol-http": { @@ -3994,9 +3955,9 @@ } }, "node_modules/@smithy/protocol-http/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/querystring-builder": { @@ -4014,9 +3975,9 @@ } }, "node_modules/@smithy/querystring-builder/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/querystring-parser": { @@ -4033,9 +3994,9 @@ } }, "node_modules/@smithy/querystring-parser/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/signature-v4": { @@ -4058,9 +4019,9 @@ } }, "node_modules/@smithy/signature-v4/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/smithy-client": { @@ -4079,9 +4040,9 @@ } }, "node_modules/@smithy/smithy-client/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/types": { @@ -4097,9 +4058,9 @@ } }, "node_modules/@smithy/types/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/url-parser": { @@ -4114,9 +4075,9 @@ } }, "node_modules/@smithy/url-parser/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/util-base64": { @@ -4133,9 +4094,9 @@ } }, "node_modules/@smithy/util-base64/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/util-buffer-from": { @@ -4152,9 +4113,9 @@ } }, "node_modules/@smithy/util-buffer-from/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/util-hex-encoding": { @@ -4170,9 +4131,9 @@ } }, "node_modules/@smithy/util-hex-encoding/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/util-middleware": { @@ -4188,9 +4149,9 @@ } }, "node_modules/@smithy/util-middleware/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/util-stream": { @@ -4213,9 +4174,9 @@ } }, "node_modules/@smithy/util-stream/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/util-uri-escape": { @@ -4231,9 +4192,9 @@ } }, "node_modules/@smithy/util-uri-escape/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@smithy/util-utf8": { @@ -4250,9 +4211,9 @@ } }, "node_modules/@smithy/util-utf8/node_modules/tslib": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz", - "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, "node_modules/@tsconfig/node10": { @@ -4577,9 +4538,9 @@ } }, "node_modules/@types/node": { - "version": "18.16.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.13.tgz", - "integrity": "sha512-uZRomboV1vBL61EBXneL4j9/hEn+1Yqa4LQdpGrKmXFyJmVfWc9JV9+yb2AlnOnuaDnb2PDO3hC6/LKmzJxP1A==" + "version": "20.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", + "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==" }, "node_modules/@types/node-schedule": { "version": "2.1.0", @@ -4836,33 +4797,6 @@ } } }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/parser": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.1.tgz", @@ -4975,33 +4909,6 @@ } } }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/utils": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.1.tgz", @@ -5027,33 +4934,6 @@ "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@typescript-eslint/visitor-keys": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz", @@ -7131,33 +7011,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-plugin-react": { "version": "7.33.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", @@ -7924,9 +7777,9 @@ } }, "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz", - "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { "node": ">=14" @@ -8015,6 +7868,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "devOptional": true }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -8573,9 +8440,9 @@ } }, "node_modules/ipaddr.js": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", - "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", "engines": { "node": ">= 10" } @@ -8702,9 +8569,9 @@ } }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, "dependencies": { "has": "^1.0.3" @@ -9722,9 +9589,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "optional": true, "bin": { "semver": "bin/semver.js" @@ -10725,13 +10592,13 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.9.2.tgz", - "integrity": "sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1", - "minipass": "^5.0.0 || ^6.0.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -10741,18 +10608,18 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", - "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", "dev": true, "engines": { "node": "14 || >=16.14" } }, "node_modules/path-scurry/node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -11532,12 +11399,12 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -11659,16 +11526,16 @@ } }, "node_modules/rimraf/node_modules/glob": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.5.tgz", - "integrity": "sha512-Gj+dFYPZ5hc5dazjXzB0iHg2jKWJZYMjITXYPBRQ/xc2Buw7H0BINknRTwURJ6IC6MEFpYbLvtgVb3qD+DwyuA==", + "version": "10.3.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", + "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.0.3", - "minimatch": "^9.0.0", - "minipass": "^5.0.0 || ^6.0.2", - "path-scurry": "^1.7.0" + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" }, "bin": { "glob": "dist/cjs/src/bin.js" @@ -11681,9 +11548,9 @@ } }, "node_modules/rimraf/node_modules/minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -11696,9 +11563,9 @@ } }, "node_modules/rimraf/node_modules/minipass": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-6.0.2.tgz", - "integrity": "sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", + "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -11822,9 +11689,9 @@ } }, "node_modules/semver": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz", - "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -12354,9 +12221,9 @@ } }, "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { "ansi-regex": "^6.0.1" @@ -12487,9 +12354,9 @@ "optional": true }, "node_modules/superagent": { - "version": "8.0.9", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.9.tgz", - "integrity": "sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", "dev": true, "dependencies": { "component-emitter": "^1.3.0", diff --git a/package.json b/package.json index 32ea09f72..16f87b405 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "@types/memoizee": "^0.4.8", "@types/morgan": "^1.9.4", "@types/ndjson": "^2.0.1", - "@types/node": "^18.16.1", + "@types/node": "^20.6.0", "@types/node-schedule": "^2.1.0", "@types/on-finished": "^2.3.1", "@types/passport-jwt": "^3.0.8", @@ -141,8 +141,8 @@ "supertest": "^6.3.3" }, "engines": { - "node": "^18.14.0", - "npm": "^9.4.1" + "node": "^20.6.1", + "npm": "^10.1.0" }, "mocha": { "reporter": "spec", From 64c565211e9bee31de9607ee51b2b4054aa8a56e Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 11 Sep 2023 11:50:07 +0000 Subject: [PATCH 116/221] v14.5.4 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 5b2bcee4d..ced2085ea 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Update open-balena-base package.json to specify nodejs 20 + hash: 30849b3c6dd1f0f8b2a275f32e0a70ef27f71013 + body: "" + footer: + Change-type: patch + change-type: patch + author: Pagan Gazzard + nested: [] + version: 14.5.4 + title: "" + date: 2023-09-11T11:50:00.716Z - commits: - subject: Update open-balena-base to 16.0.0 hash: 5fccc00a761600e78fa69de9949377f0e94db432 diff --git a/CHANGELOG.md b/CHANGELOG.md index ce2f23ae2..2b4d2a20d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.5.4 - 2023-09-11 + +* Update open-balena-base package.json to specify nodejs 20 [Pagan Gazzard] + ## 14.5.3 - 2023-09-11 * Update open-balena-base to 16.0.0 [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index b035b7df3..45a939d97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.5.3", + "version": "14.5.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.5.3", + "version": "14.5.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 16f87b405..306a398f8 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.5.3", + "version": "14.5.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-11T11:01:25.750Z" + "publishedAt": "2023-09-11T11:50:01.882Z" } } From eb4173b01f77be0f5225dfde60f79d7ea2bf5542 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 13 Sep 2023 00:11:50 +0000 Subject: [PATCH 117/221] Update balena/open-balena-base Docker tag to v16.0.1 Update balena/open-balena-base from 16.0.0 to 16.0.1 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a98e1bfb2..722b32cb9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.0 as runtime +FROM balena/open-balena-base:v16.0.1 as runtime EXPOSE 80 From 41fda5682043ae8900a8f515a1005af99b142c5a Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 13 Sep 2023 00:20:59 +0000 Subject: [PATCH 118/221] v14.5.5 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ced2085ea..ad5301fea 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.1 + hash: e64df56c0da52e2c517ebb7cc90c69fa506dae5d + body: | + Update balena/open-balena-base from 16.0.0 to 16.0.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: don't clobber existing values + hash: c7f97c2749f0b3c638a8a8686ccf9b4e36154502 + body: > + - don't overwrite existing non-null values in the API_KEYS array + with null values + footer: + change-type: patch + author: Anton Belodedenko + nested: [] + version: open-balena-base-16.0.1 + title: "" + date: 2023-09-12T23:15:08.184Z + version: 14.5.5 + title: "" + date: 2023-09-13T00:20:51.197Z - commits: - subject: Update open-balena-base package.json to specify nodejs 20 hash: 30849b3c6dd1f0f8b2a275f32e0a70ef27f71013 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b4d2a20d..332d23e67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.5.5 - 2023-09-13 + + +
+ Update balena/open-balena-base Docker tag to v16.0.1 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.1 - 2023-09-12 +> +> * don't clobber existing values [Anton Belodedenko] +> + +
+ ## 14.5.4 - 2023-09-11 * Update open-balena-base package.json to specify nodejs 20 [Pagan Gazzard] diff --git a/package-lock.json b/package-lock.json index 45a939d97..229d3b194 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.5.4", + "version": "14.5.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.5.4", + "version": "14.5.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 306a398f8..38255a623 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.5.4", + "version": "14.5.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-11T11:50:01.882Z" + "publishedAt": "2023-09-13T00:20:53.463Z" } } From df6018dfbe4e525e3b843c274105c473e0614d1e Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Thu, 14 Sep 2023 17:12:05 +0000 Subject: [PATCH 119/221] Update grafana/loki Docker tag to v2.9.1 Update grafana/loki from 2.9.0 to 2.9.1 Change-type: patch --- docker-compose.test-custom.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index 4d4378d93..6fa9b38e4 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -16,7 +16,7 @@ services: networks: - local-test loki: - image: grafana/loki:2.9.0 + image: grafana/loki:2.9.1 restart: "no" ports: - "9095:9095" From 04cb209aa15d9b900376c714ff958cc6f5adedd9 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 14 Sep 2023 17:21:49 +0000 Subject: [PATCH 120/221] v14.5.6 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ad5301fea..a28cb9fb5 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update grafana/loki Docker tag to v2.9.1 + hash: d5f9712ca10d320aef3e3617956728585c82005a + body: | + Update grafana/loki from 2.9.0 to 2.9.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.5.6 + title: "" + date: 2023-09-14T17:21:44.170Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.1 hash: e64df56c0da52e2c517ebb7cc90c69fa506dae5d diff --git a/CHANGELOG.md b/CHANGELOG.md index 332d23e67..4c1705d97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.5.6 - 2023-09-14 + +* Update grafana/loki Docker tag to v2.9.1 [Self-hosted Renovate Bot] + ## 14.5.5 - 2023-09-13 diff --git a/package-lock.json b/package-lock.json index 229d3b194..a2dd56acc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.5.5", + "version": "14.5.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.5.5", + "version": "14.5.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 38255a623..95ac8d4a9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.5.5", + "version": "14.5.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-13T00:20:53.463Z" + "publishedAt": "2023-09-14T17:21:45.333Z" } } From a6fb351c878ba5279dd422f504c4b025fb6a44df Mon Sep 17 00:00:00 2001 From: Shaun Cooley Date: Fri, 8 Sep 2023 22:36:11 -0700 Subject: [PATCH 121/221] Use general Redis auth when also using the general Redis host Resolves: balena-io#1424 Change-type: minor --- src/lib/config.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib/config.ts b/src/lib/config.ts index 972fd48f3..def2a5009 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -170,11 +170,13 @@ function redisOpts(prefix: string): RedisOpts; function redisOpts( prefix: string, defaultHosts: HostPort[], + defaultAuth: RedisAuth, defaultIsCluster: boolean, ): RedisOpts; function redisOpts( prefix: string, defaultHosts?: HostPort[], + defaultAuth?: RedisAuth, defaultIsCluster?: boolean, ): RedisOpts { const hostVarName = `${prefix}_HOST`; @@ -183,7 +185,7 @@ function redisOpts( const roAuthVarName = `${prefix}_RO_AUTH`; const isCluster = boolVar(`${prefix}_IS_CLUSTER`, defaultIsCluster); const hosts = hostPortsVar(hostVarName, defaultHosts); - const auth = redisAuthVar(authVarName); + const auth = redisAuthVar(authVarName, defaultAuth); if (isCluster == null) { throw new Error(`Missing env: '${prefix}_IS_CLUSTER'`); } @@ -229,7 +231,12 @@ if (generalRedis.isCluster) { export const REDIS = { general: generalRedis, - logs: redisOpts('REDIS_LOGS', [generalRedis.host], generalRedis.isCluster), + logs: redisOpts( + 'REDIS_LOGS', + [generalRedis.host], + generalRedis.auth, + generalRedis.isCluster, + ), }; export const REDIS_LOGS_SHARDED_PUBSUB = boolVar( 'REDIS_LOGS_SHARDED_PUBSUB', From 98d369a2afcd65131f25d720230d48643f2765f6 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 20 Sep 2023 13:27:55 +0000 Subject: [PATCH 122/221] v14.6.0 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index a28cb9fb5..6373ebb09 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Use general Redis auth when also using the general Redis host + hash: 9d8252d80be726e69c533795a5ef19facbb76fa2 + body: "" + footer: + Resolves: balena-io#1424 + resolves: balena-io#1424 + Change-type: minor + change-type: minor + author: Shaun Cooley + nested: [] + version: 14.6.0 + title: "" + date: 2023-09-20T13:27:49.310Z - commits: - subject: Update grafana/loki Docker tag to v2.9.1 hash: d5f9712ca10d320aef3e3617956728585c82005a diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c1705d97..3db2b014f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.6.0 - 2023-09-20 + +* Use general Redis auth when also using the general Redis host [Shaun Cooley] + ## 14.5.6 - 2023-09-14 * Update grafana/loki Docker tag to v2.9.1 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index a2dd56acc..943488ab3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.5.6", + "version": "14.6.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.5.6", + "version": "14.6.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 95ac8d4a9..06a1815e1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.5.6", + "version": "14.6.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-14T17:21:45.333Z" + "publishedAt": "2023-09-20T13:27:50.560Z" } } From 872e1ab864334aa67923b7d73737ce716a226960 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 29 Aug 2023 18:41:51 +0300 Subject: [PATCH 123/221] Mark expected floating promises with the `void` operator Update @balena/lint from 7.0.2 to 7.1.1 Change-type: patch See: https://github.com/balena-io/pinejs/pull/682#discussion_r1308867996 --- init.ts | 7 +++---- package-lock.json | 8 ++++---- package.json | 2 +- src/features/device-heartbeat/index.ts | 12 ++++-------- src/features/device-logs/lib/backends/redis.ts | 15 +++++---------- .../hooks/cache-invalidation.ts | 3 +-- src/features/device-provisioning/register.ts | 6 ++---- .../hooks/device-types-cache-invalidation.ts | 6 ++---- test/13_loki-backend.ts | 6 ++---- 9 files changed, 24 insertions(+), 41 deletions(-) diff --git a/init.ts b/init.ts index 019345bd3..295c824bd 100644 --- a/init.ts +++ b/init.ts @@ -138,8 +138,7 @@ async function onInitHooks() { }); // Pre-fetch the device types and populate the cache w/o blocking the API startup - // eslint-disable-next-line @typescript-eslint/no-floating-promises - getAccessibleDeviceTypes(sbvrUtils.api.resin); + void getAccessibleDeviceTypes(sbvrUtils.api.resin); await sbvrUtils.db.transaction((tx) => createAll(tx, permissionNames, auth.ROLES, auth.KEYS, {}), @@ -257,5 +256,5 @@ const init = async () => { process.exit(1); } }; -// eslint-disable-next-line @typescript-eslint/no-floating-promises -init(); + +void init(); diff --git a/package-lock.json b/package-lock.json index 943488ab3..20aa15d8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -97,7 +97,7 @@ "validator": "^13.9.0" }, "devDependencies": { - "@balena/lint": "^7.0.2", + "@balena/lint": "^7.1.1", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/mockery": "^1.4.30", @@ -2809,9 +2809,9 @@ } }, "node_modules/@balena/lint": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-7.0.2.tgz", - "integrity": "sha512-oG0S5DQxjyoVan6j9wnFBQGSFzaqzKCEzSjelSNIVmIGdhDwfTr7WDBGZzoLVpkg4FMpsFPnoWnY/pe/59BAjA==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-7.1.1.tgz", + "integrity": "sha512-3h9M+0G4vCfH9bt4xxA8tLDUTn4Px83eBpU9WvD1/1uTnb2RtUa1dMxcX7ZhDs9Aw3waz8ewEzib8vSu2thtHA==", "dev": true, "dependencies": { "@types/eslint": "^8.44.2", diff --git a/package.json b/package.json index 06a1815e1..f4a4d0e18 100644 --- a/package.json +++ b/package.json @@ -121,7 +121,7 @@ "validator": "^13.9.0" }, "devDependencies": { - "@balena/lint": "^7.0.2", + "@balena/lint": "^7.1.1", "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/mockery": "^1.4.30", diff --git a/src/features/device-heartbeat/index.ts b/src/features/device-heartbeat/index.ts index b4125d2d8..abbd5e7d2 100644 --- a/src/features/device-heartbeat/index.ts +++ b/src/features/device-heartbeat/index.ts @@ -195,8 +195,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ }); // create the RedisMQ queue and start consuming messages... - // eslint-disable-next-line @typescript-eslint/no-floating-promises - this.rsmq + void this.rsmq .createQueueAsync({ qname: DeviceOnlineStateManager.EXPIRED_QUEUE }) .catch((err) => { if (err.name !== 'queueExists') { @@ -211,8 +210,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ } private setupQueueStatsEmitter(interval: number) { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - setTimeout(interval, undefined, { ref: false }).then(async () => { + void setTimeout(interval, undefined, { ref: false }).then(async () => { try { const startAt = Date.now(); const queueAttributes = await this.rsmq.getQueueAttributesAsync({ @@ -282,8 +280,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ private consume() { // pull a message from the queue... - // eslint-disable-next-line @typescript-eslint/no-floating-promises - this.rsmq + void this.rsmq .receiveMessageAsync({ qname: DeviceOnlineStateManager.EXPIRED_QUEUE, vt: DeviceOnlineStateManager.RSMQ_READ_TIMEOUT, // prevent other consumers seeing the same message (if any) preventing multiple API agents from processing it... @@ -308,8 +305,7 @@ export class DeviceOnlineStateManager extends EventEmitter<{ deviceId, DeviceOnlineStates.Timeout, ); - // eslint-disable-next-line @typescript-eslint/no-floating-promises - this.scheduleChangeOfStateForDevice( + void this.scheduleChangeOfStateForDevice( deviceId, await this.getDeviceOnlineState(deviceId), DeviceOnlineStates.Timeout, diff --git a/src/features/device-logs/lib/backends/redis.ts b/src/features/device-logs/lib/backends/redis.ts index 390c4ab5f..6b5a90dc1 100644 --- a/src/features/device-logs/lib/backends/redis.ts +++ b/src/features/device-logs/lib/backends/redis.ts @@ -183,15 +183,12 @@ export class RedisBackend implements DeviceLogsBackend { const key = this.getKey(ctx); if (!this.subscriptions.listenerCount(key)) { const subscribersKey = this.getKey(ctx, 'subscribers'); - // eslint-disable-next-line @typescript-eslint/no-floating-promises - pubSub[SUBSCRIBECMD](key); + void pubSub[SUBSCRIBECMD](key); // Increment the subscribers counter to recognize we've subscribed - // eslint-disable-next-line @typescript-eslint/no-floating-promises - redis.incrSubscribers(subscribersKey); + void redis.incrSubscribers(subscribersKey); // Start a heartbeat to ensure the subscribers counter stays alive whilst we're subscribed this.subscriptionHeartbeats[key] = setInterval(() => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - redis.expire(subscribersKey, LOGS_SUBSCRIPTION_EXPIRY_SECONDS); + void redis.expire(subscribersKey, LOGS_SUBSCRIPTION_EXPIRY_SECONDS); }, LOGS_SUBSCRIPTION_EXPIRY_HEARTBEAT_SECONDS); } this.subscriptions.on(key, subscription); @@ -205,8 +202,7 @@ export class RedisBackend implements DeviceLogsBackend { // Clear the heartbeat clearInterval(this.subscriptionHeartbeats[key]); // And decrement the subscribers counter - // eslint-disable-next-line @typescript-eslint/no-floating-promises - redis.decrSubscribers(subscribersKey).then((n) => { + void redis.decrSubscribers(subscribersKey).then((n) => { if (n < 0) { captureException( new Error(), @@ -214,8 +210,7 @@ export class RedisBackend implements DeviceLogsBackend { ); } }); - // eslint-disable-next-line @typescript-eslint/no-floating-promises - pubSub[UNSUBSCRIBECMD](key); + void pubSub[UNSUBSCRIBECMD](key); } } diff --git a/src/features/device-provisioning/hooks/cache-invalidation.ts b/src/features/device-provisioning/hooks/cache-invalidation.ts index fbc63fb11..59a5d3ea7 100644 --- a/src/features/device-provisioning/hooks/cache-invalidation.ts +++ b/src/features/device-provisioning/hooks/cache-invalidation.ts @@ -31,8 +31,7 @@ const setupCacheInvalidation = ( tx.on('end', () => { for (const affectedItem of affectedItems) { // Run in the background as this is not a reason to fail the request - // eslint-disable-next-line @typescript-eslint/no-floating-promises - (async () => { + void (async () => { try { await cache.delete(affectedItem[keyProperty]); } catch (err) { diff --git a/src/features/device-provisioning/register.ts b/src/features/device-provisioning/register.ts index 6801549a0..e3234b2b0 100644 --- a/src/features/device-provisioning/register.ts +++ b/src/features/device-provisioning/register.ts @@ -70,8 +70,7 @@ export const register: RequestHandler = async (req, res) => { // TODO: Replace this manual rollback on request closure with a more generic/automated version onFinished(res, () => { if (!tx.isClosed()) { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - tx.rollback(); + void tx.rollback(); } }); @@ -106,8 +105,7 @@ export const register: RequestHandler = async (req, res) => { // Clear the device existence cache for the just registered device // in case it tried to communicate with the API before registering - // eslint-disable-next-line @typescript-eslint/no-floating-promises - checkDeviceExistsIsFrozen.delete(response.uuid); + void checkDeviceExistsIsFrozen.delete(response.uuid); res.status(201).json(response); } catch (err) { diff --git a/src/features/device-types/hooks/device-types-cache-invalidation.ts b/src/features/device-types/hooks/device-types-cache-invalidation.ts index dd928ffbd..f7e169a48 100644 --- a/src/features/device-types/hooks/device-types-cache-invalidation.ts +++ b/src/features/device-types/hooks/device-types-cache-invalidation.ts @@ -5,8 +5,7 @@ hooks.addPureHook('POST', 'resin', 'application', { POSTRUN: async ({ request }) => { if (request.values.is_host) { // no need to wait for the cache invalidation - // eslint-disable-next-line @typescript-eslint/no-floating-promises - getDeviceTypes.delete(); + void getDeviceTypes.delete(); } }, }); @@ -16,8 +15,7 @@ hooks.addPureHook('PATCH', 'resin', 'application', { const affectedIds = request.affectedIds!; if (request.values.is_host && affectedIds.length !== 0) { // no need to wait for the cache invalidation - // eslint-disable-next-line @typescript-eslint/no-floating-promises - getDeviceTypes.delete(); + void getDeviceTypes.delete(); } }, }); diff --git a/test/13_loki-backend.ts b/test/13_loki-backend.ts index deba12deb..a39127454 100644 --- a/test/13_loki-backend.ts +++ b/test/13_loki-backend.ts @@ -99,8 +99,7 @@ describe('loki backend', () => { const loki = new LokiBackend(); const log = createLog(); const incomingLog = await new Bluebird(async (resolve) => { - // eslint-disable-next-line @typescript-eslint/no-floating-promises - loki.subscribe(ctx, resolve); + void loki.subscribe(ctx, resolve); await setTimeout(100); // wait for the subscription to connect await loki.publish(ctx, [_.clone(log)]); }).timeout(5000, 'Subscription did not receive log'); @@ -112,8 +111,7 @@ describe('loki backend', () => { const loki = new LokiBackend(); await new Bluebird(async (resolve) => { let countLogs = 0; - // eslint-disable-next-line @typescript-eslint/no-floating-promises - loki.subscribe(ctx, () => { + void loki.subscribe(ctx, () => { countLogs += 1; if (countLogs === 5) { resolve(); From 4c5f30111750a21bacc0c5a008a9a2eb375b41d6 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 27 Sep 2023 14:31:41 +0000 Subject: [PATCH 124/221] v14.6.1 --- .versionbot/CHANGELOG.yml | 15 +++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 6373ebb09..19c39895c 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,18 @@ +- commits: + - subject: Mark expected floating promises with the `void` operator + hash: b818913e9e0165b40dc2d07f76eadeceac2521f3 + body: | + Update @balena/lint from 7.0.2 to 7.1.1 + footer: + Change-type: patch + change-type: patch + See: https://github.com/balena-io/pinejs/pull/682#discussion_r1308867996 + see: https://github.com/balena-io/pinejs/pull/682#discussion_r1308867996 + author: Thodoris Greasidis + nested: [] + version: 14.6.1 + title: "" + date: 2023-09-27T14:31:33.890Z - commits: - subject: Use general Redis auth when also using the general Redis host hash: 9d8252d80be726e69c533795a5ef19facbb76fa2 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3db2b014f..2b9452216 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.6.1 - 2023-09-27 + +* Mark expected floating promises with the `void` operator [Thodoris Greasidis] + ## 14.6.0 - 2023-09-20 * Use general Redis auth when also using the general Redis host [Shaun Cooley] diff --git a/package-lock.json b/package-lock.json index 20aa15d8c..51692cbd9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.6.0", + "version": "14.6.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.6.0", + "version": "14.6.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index f4a4d0e18..d8fd6d6ff 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.6.0", + "version": "14.6.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-20T13:27:50.560Z" + "publishedAt": "2023-09-27T14:31:34.818Z" } } From 9b6c83ccbdeca58fb38aaf15e10ca7d68183af86 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 19 Sep 2023 17:43:48 +0300 Subject: [PATCH 125/221] Support extending the device fields populated in the "get-state" event Change-type: minor --- src/features/device-state/index.ts | 7 ++++++- src/features/device-state/routes/state-get-v2.ts | 5 ++++- src/features/device-state/routes/state-get-v3.ts | 5 ++++- src/features/device-state/state-get-utils.ts | 13 +++++++++++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/features/device-state/index.ts b/src/features/device-state/index.ts index 0c556cc46..30d34f0bd 100644 --- a/src/features/device-state/index.ts +++ b/src/features/device-state/index.ts @@ -3,6 +3,7 @@ import type StrictEventEmitter from 'strict-event-emitter-types'; import { EventEmitter } from 'events'; import { middleware } from '../../infra/auth'; +import type { Device } from '../../balena-model'; import { resolveOrDenyDevicesWithStatus } from './middleware'; import { stateV2 } from './routes/state-get-v2'; @@ -14,9 +15,10 @@ import { statePatchV3, } from './routes/state-patch-v3'; import { fleetStateV3 } from './routes/fleet-state-get-v3'; -import { Device } from '../../balena-model'; +import type { GetStateEventStoredDeviceFields } from './state-get-utils'; export { + getStateEventAdditionalFields, getConfig, setReadTransaction, filterDeviceConfig, @@ -74,7 +76,10 @@ export interface Events { info: Pick & { config?: Dictionary; ipAddress: string | undefined; + // TODO: Drop in the next major + /** @deprecated use the storedDeviceFields */ storedPublicAddress: Device['public_address']; + storedDeviceFields: GetStateEventStoredDeviceFields; }, ) => void; } diff --git a/src/features/device-state/routes/state-get-v2.ts b/src/features/device-state/routes/state-get-v2.ts index 9c15ef2bd..5fe1ec5f8 100644 --- a/src/features/device-state/routes/state-get-v2.ts +++ b/src/features/device-state/routes/state-get-v2.ts @@ -15,6 +15,7 @@ import { ConfigurationVarsToLabels, getStateDelayingEmpty, getConfig, + getStateEventAdditionalFields, } from '../state-get-utils'; import { sbvrUtils } from '@balena/pinejs'; import { events } from '..'; @@ -194,7 +195,7 @@ const stateQuery = _.once(() => resource: 'device', id: { uuid: { '@': 'uuid' } }, options: { - $select: ['device_name', 'public_address'], + $select: ['device_name', ...getStateEventAdditionalFields], $expand: { device_config_variable: { $select: ['name', 'value'], @@ -250,7 +251,9 @@ const getStateV2 = async (req: Request, uuid: string): Promise => { apiKey: req.apiKey, config, ipAddress: getIP(req), + // TODO: Drop in the next major in favor of storedDeviceFields storedPublicAddress: device.public_address as Device['public_address'], + storedDeviceFields: _.pick(device, getStateEventAdditionalFields), }); const userApp = getUserAppForState(device, config); diff --git a/src/features/device-state/routes/state-get-v3.ts b/src/features/device-state/routes/state-get-v3.ts index 813110b75..ba7eef427 100644 --- a/src/features/device-state/routes/state-get-v3.ts +++ b/src/features/device-state/routes/state-get-v3.ts @@ -12,6 +12,7 @@ import { getConfig, getReleaseForDevice, getStateDelayingEmpty, + getStateEventAdditionalFields, readTransaction, serviceInstallFromImage, varListInsert, @@ -270,7 +271,7 @@ const stateQuery = _.once(() => resource: 'device', id: { uuid: { '@': 'uuid' } }, options: { - $select: ['device_name', 'public_address'], + $select: ['device_name', ...getStateEventAdditionalFields], $expand: deviceExpand, }, }), @@ -287,7 +288,9 @@ const getStateV3 = async (req: Request, uuid: string): Promise => { apiKey: req.apiKey, config, ipAddress: getIP(req), + // TODO: Drop in the next major in favor of storedDeviceFields storedPublicAddress: device.public_address as Device['public_address'], + storedDeviceFields: _.pick(device, getStateEventAdditionalFields), }); let apps = getUserAppState(device, config); diff --git a/src/features/device-state/state-get-utils.ts b/src/features/device-state/state-get-utils.ts index 0e5b94f89..0f2f274bd 100644 --- a/src/features/device-state/state-get-utils.ts +++ b/src/features/device-state/state-get-utils.ts @@ -8,6 +8,19 @@ import { createMultiLevelStore, reqPermissionNormalizer, } from '../../infra/cache'; +import type { Device } from '../../balena-model'; + +// eslint-disable-next-line @typescript-eslint/no-empty-interface -- This needs to be an interface so that downstream projects can extend it. +export interface GetStateEventStoredDeviceFields + extends Pick {} + +// We do not use "satisfies" or "as const" so that downstream projects can augment this list. +export const getStateEventAdditionalFields: Array< + keyof GetStateEventStoredDeviceFields +> = [ + // TODO: Remove the public_address from this list in the next major since it's not used by oB-api and downstream projects can set it if needed. + 'public_address', +]; const defaultConfigVariableFns: Array<(config: Dictionary) => void> = [ function setMinPollInterval(config) { From dbad5e5f46bf85f281cca1bd54de2c3143ad2d7c Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 07:12:01 +0000 Subject: [PATCH 126/221] v14.7.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 19c39895c..ad0d801c8 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Support extending the device fields populated in the "get-state" event + hash: 9fe1e79fd23618dd374f4a9f913710ebda387954 + body: "" + footer: + Change-type: minor + change-type: minor + author: Thodoris Greasidis + nested: [] + version: 14.7.0 + title: "" + date: 2023-09-28T07:11:57.106Z - commits: - subject: Mark expected floating promises with the `void` operator hash: b818913e9e0165b40dc2d07f76eadeceac2521f3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b9452216..50a03ef2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.7.0 - 2023-09-28 + +* Support extending the device fields populated in the "get-state" event [Thodoris Greasidis] + ## 14.6.1 - 2023-09-27 * Mark expected floating promises with the `void` operator [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 51692cbd9..66ede7bbb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.6.1", + "version": "14.7.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.6.1", + "version": "14.7.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index d8fd6d6ff..509c5d77c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.6.1", + "version": "14.7.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-27T14:31:34.818Z" + "publishedAt": "2023-09-28T07:11:58.059Z" } } From 73f15856b6b4ad05f6c8f911a60cbcb59343283d Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Thu, 28 Sep 2023 11:43:43 +0300 Subject: [PATCH 127/221] Check user access to the device type provided to /config/vars Change-type: patch See: https://balena.zulipchat.com/#narrow/stream/345889-balena-io.2Fos/topic/balenaOS.20for.20RPi.205.20.5BUnder.20NDA.5D/near/393642691 --- src/features/vars-schema/schema.ts | 45 ++++++++++++++++--- test/01_basic.ts | 8 ++++ test/02_device-types.ts | 4 +- test/09_contracts.ts | 8 ++-- .../hw.device-type/jetson-tx2/contract.json | 37 +++++++++++++++ .../hw.device-type/jetson-tx2/jetson-tx2.svg | 27 +++++++++++ .../hw.device-type/up-board/contract.json | 40 +++++++++++++++++ .../hw.device-type/up-board/up-board.svg | 12 +++++ 8 files changed, 170 insertions(+), 11 deletions(-) create mode 100644 test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/contract.json create mode 100644 test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/jetson-tx2.svg create mode 100644 test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/contract.json create mode 100644 test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/up-board.svg diff --git a/src/features/vars-schema/schema.ts b/src/features/vars-schema/schema.ts index 421f3b653..fac58eb4c 100644 --- a/src/features/vars-schema/schema.ts +++ b/src/features/vars-schema/schema.ts @@ -1,6 +1,6 @@ import type { RequestHandler } from 'express'; import type { JSONSchema6 } from 'json-schema'; - +import { sbvrUtils } from '@balena/pinejs'; import { BLOCKED_NAMES, DEVICE_TYPE_SPECIFIC_CONFIG_VAR_PROPERTIES, @@ -13,19 +13,54 @@ import { ALLOWED_NAMESPACES, } from './env-vars'; +const { api } = sbvrUtils; + // Return config variable constants for use by external components. // A query string parameter of 'deviceType' is accepted, which should // be a device type slug. -export const schema: RequestHandler = (req, res) => { +export const schema: RequestHandler = async (req, res) => { + const deviceTypeSlug = await (async () => { + if (typeof req.query.deviceType !== 'string') { + return; + } + + const resinApi = api.resin.clone({ passthrough: { req } }); + // Ensure that the user has access to the provided device type. + const [dt] = (await resinApi.get({ + resource: 'device_type', + options: { + $top: 1, + $select: 'slug', + $filter: { + device_type_alias: { + $any: { + $alias: 'dta', + $expr: { + dta: { + is_referenced_by__alias: req.query.deviceType, + }, + }, + }, + }, + }, + }, + })) as Array<{ slug: string }>; + + // We do not throw when the DT is not found for backwards compatibility reasons. + return dt?.slug; + })(); + const configVarSchema: JSONSchema6 = { type: 'object', $schema: 'http://json-schema.org/draft-06/schema#', properties: Object.assign( {}, SUPERVISOR_CONFIG_VAR_PROPERTIES, - ...DEVICE_TYPE_SPECIFIC_CONFIG_VAR_PROPERTIES.filter((config) => - config.capableDeviceTypes.includes(req.query.deviceType as string), - ).map((config) => config.properties), + ...(deviceTypeSlug != null + ? DEVICE_TYPE_SPECIFIC_CONFIG_VAR_PROPERTIES.filter((config) => + config.capableDeviceTypes.includes(deviceTypeSlug), + ).map((config) => config.properties) + : []), ), }; diff --git a/test/01_basic.ts b/test/01_basic.ts index 789a75f67..bff12e9d9 100644 --- a/test/01_basic.ts +++ b/test/01_basic.ts @@ -109,6 +109,14 @@ describe('Basic', () => { checkBaseVarsResult(vars); }); + it(`should return the base vars when device type is not found`, async () => { + const { body: vars } = await supertest() + .get(`/config/vars?deviceType=wrong-device-type`) + .expect(200); + + checkBaseVarsResult(vars); + }); + [ { deviceType: 'beaglebone-black' }, { diff --git a/test/02_device-types.ts b/test/02_device-types.ts index 5c8105768..de2940878 100644 --- a/test/02_device-types.ts +++ b/test/02_device-types.ts @@ -90,7 +90,7 @@ describe('device type resource', () => { expect(deviceType).to.have.property('name').that.is.a('string'); }); - expect(res.body.d).to.have.property('length', 14); + expect(res.body.d).to.have.property('length', 16); }); }); @@ -217,7 +217,7 @@ describe('device type endpoints', () => { it('should return a proper result', async () => { const res = await supertest().get('/device-types/v1').expect(200); expect(res.body).to.be.an('array'); - expect(res.body).to.have.property('length', 15); + expect(res.body).to.have.property('length', 17); const rpi3config = _.find(res.body, { slug: 'raspberrypi3' }); expect(rpi3config).to.be.an('object'); expect(rpi3config).to.have.property('buildId', '2.19.0+rev1.prod'); diff --git a/test/09_contracts.ts b/test/09_contracts.ts index 63491f8cf..3de24a9e4 100644 --- a/test/09_contracts.ts +++ b/test/09_contracts.ts @@ -78,7 +78,7 @@ describe('contracts', () => { await fetchContractsLocally([contractRepository]); const contracts = await getContracts('hw.device-type'); - expect(contracts).to.have.length(14); + expect(contracts).to.have.length(16); expect(contracts.find((contract) => contract.slug === 'raspberrypi3')).to .not.be.undefined; }); @@ -96,7 +96,7 @@ describe('contracts', () => { ]); const contracts = await getContracts('hw.device-type'); - expect(contracts).to.have.length(15); + expect(contracts).to.have.length(17); expect( contracts.find((contract) => contract.slug === 'other-contract-dt'), ).to.not.be.undefined; @@ -163,7 +163,7 @@ describe('contracts', () => { (dbDeviceType) => dbDeviceType.slug === 'fincm3', ); - expect(contracts).to.have.length(15); + expect(contracts).to.have.length(17); expect(newDt).to.not.be.undefined; expect(finDt).to.have.property('name', 'Fin'); }); @@ -232,7 +232,7 @@ describe('contracts', () => { (dbDeviceType) => dbDeviceType.slug === 'raspberry-pi', ); - expect(dbDeviceTypes).to.have.length(15); + expect(dbDeviceTypes).to.have.length(17); expect(newDt).to.not.be.undefined; expect(finDt).to.have.property('name', 'Fin'); expect(finDt).to.have.deep.property( diff --git a/test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/contract.json b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/contract.json new file mode 100644 index 000000000..a48d1c24d --- /dev/null +++ b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/contract.json @@ -0,0 +1,37 @@ +{ + "slug": "jetson-tx2", + "version": "1", + "type": "hw.device-type", + "aliases": [], + "name": "Nvidia Jetson TX2", + "assets": { + "logo": { + "url": "./jetson-tx2.svg", + "name": "logo" + } + }, + "data": { + "arch": "aarch64", + "hdmi": true, + "led": false, + "connectivity": { + "bluetooth": true, + "wifi": true + }, + "storage": { + "internal": true + }, + "media": { + "defaultBoot": "internal", + "altBoot": ["sdcard"] + }, + "is_private": false + }, + "partials": { + "bootDeviceExternal": [ + "Connect power to the {{name}} and press and hold the POWER push button for 1 second" + ], + "flashIndicator": ["all LEDs are off"], + "bootDevice": ["Remove and re-connect power to the {{name}}"] + } +} diff --git a/test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/jetson-tx2.svg b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/jetson-tx2.svg new file mode 100644 index 000000000..8b77d60d4 --- /dev/null +++ b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/jetson-tx2/jetson-tx2.svg @@ -0,0 +1,27 @@ + + + + +Nvidia_logo +Created with Sketch. + + + + + + + + + + diff --git a/test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/contract.json b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/contract.json new file mode 100644 index 000000000..b56e6e930 --- /dev/null +++ b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/contract.json @@ -0,0 +1,40 @@ +{ + "slug": "up-board", + "version": "1", + "type": "hw.device-type", + "aliases": [], + "name": "UP Board", + "assets": { + "logo": { + "url": "./up-board.svg", + "name": "logo" + } + }, + "data": { + "arch": "amd64", + "family": "family-upboard", + "hdmi": true, + "led": true, + "connectivity": { + "bluetooth": false, + "wifi": false + }, + "storage": { + "internal": true + }, + "media": { + "defaultBoot": "internal", + "altBoot": ["usb_mass_storage"] + }, + "is_private": false + }, + "partials": { + "bootDeviceExternal": [ + "Power on the {{name}} with a keyboard connected.", + "Press the F7 key while BIOS is loading to enter the boot menu.", + "Select the \"UEFI:\" option from the boot menu." + ], + "flashIndicator": ["all LEDs are off"], + "bootDevice": ["Power up the {{name}}"] + } +} diff --git a/test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/up-board.svg b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/up-board.svg new file mode 100644 index 000000000..86d814c54 --- /dev/null +++ b/test/fixtures/contracts/base-contracts/contracts/hw.device-type/up-board/up-board.svg @@ -0,0 +1,12 @@ + + + + + + + + + From 43ef40f550d9e225d85825486000f5b59933f1ed Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 10:30:00 +0000 Subject: [PATCH 128/221] v14.7.1 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ad0d801c8..f25de25a5 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Check user access to the device type provided to /config/vars + hash: a0c5b7053490842dc55a657c9c7d749664cbff85 + body: "" + footer: + Change-type: patch + change-type: patch + See: https://balena.zulipchat.com/#narrow/stream/345889-balena-io.2Fos/topic/balenaOS.20for.20RPi.205.20.5BUnder.20NDA.5D/near/393642691 + see: https://balena.zulipchat.com/#narrow/stream/345889-balena-io.2Fos/topic/balenaOS.20for.20RPi.205.20.5BUnder.20NDA.5D/near/393642691 + author: Thodoris Greasidis + nested: [] + version: 14.7.1 + title: "" + date: 2023-09-28T10:29:54.567Z - commits: - subject: Support extending the device fields populated in the "get-state" event hash: 9fe1e79fd23618dd374f4a9f913710ebda387954 diff --git a/CHANGELOG.md b/CHANGELOG.md index 50a03ef2f..c25e54050 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.7.1 - 2023-09-28 + +* Check user access to the device type provided to /config/vars [Thodoris Greasidis] + ## 14.7.0 - 2023-09-28 * Support extending the device fields populated in the "get-state" event [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 66ede7bbb..5ad8b5387 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.7.0", + "version": "14.7.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.7.0", + "version": "14.7.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 509c5d77c..571bbba1a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.7.0", + "version": "14.7.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-28T07:11:58.059Z" + "publishedAt": "2023-09-28T10:29:55.588Z" } } From 33926e5ec2a15c0867dd1d4dbe4922bbbcd916d6 Mon Sep 17 00:00:00 2001 From: Alex Gonzalez Date: Thu, 28 Sep 2023 09:37:48 +0200 Subject: [PATCH 129/221] Expose the RPi family config vars to raspberrypi5 board Change-type: minor Signed-off-by: Alex Gonzalez --- src/features/vars-schema/env-vars.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/features/vars-schema/env-vars.ts b/src/features/vars-schema/env-vars.ts index d1fa76d42..fef48c366 100644 --- a/src/features/vars-schema/env-vars.ts +++ b/src/features/vars-schema/env-vars.ts @@ -159,6 +159,7 @@ export const DEVICE_TYPE_SPECIFIC_CONFIG_VAR_PROPERTIES: Array<{ 'raspberrypi4-64', 'raspberrypi400-64', 'raspberrypicm4-ioboard', + 'raspberrypi5', 'revpi-connect', 'revpi-connect-s', 'revpi-core-3', From 6ea1d40447feb44a7ead1cc85c39ca45288c469a Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 28 Sep 2023 11:09:41 +0000 Subject: [PATCH 130/221] v14.8.0 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f25de25a5..b33d964c9 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Expose the RPi family config vars to raspberrypi5 board + hash: d266a77dff93a82c9fdaac48fe198fa2b6966372 + body: "" + footer: + Change-type: minor + change-type: minor + Signed-off-by: Alex Gonzalez + signed-off-by: Alex Gonzalez + author: Alex Gonzalez + nested: [] + version: 14.8.0 + title: "" + date: 2023-09-28T11:09:31.922Z - commits: - subject: Check user access to the device type provided to /config/vars hash: a0c5b7053490842dc55a657c9c7d749664cbff85 diff --git a/CHANGELOG.md b/CHANGELOG.md index c25e54050..50e7da3ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.8.0 - 2023-09-28 + +* Expose the RPi family config vars to raspberrypi5 board [Alex Gonzalez] + ## 14.7.1 - 2023-09-28 * Check user access to the device type provided to /config/vars [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 5ad8b5387..9c751b82c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.7.1", + "version": "14.8.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.7.1", + "version": "14.8.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 571bbba1a..1657d4be9 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.7.1", + "version": "14.8.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -153,6 +153,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-28T10:29:55.588Z" + "publishedAt": "2023-09-28T11:09:33.071Z" } } From 15306b7ea5a864031db6aaf3913e8c1c9d2ea97c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Mon, 28 Aug 2023 09:00:05 -0300 Subject: [PATCH 131/221] Add S3 webresource handler Change-type: minor --- config.ts | 2 + config/confd/conf.d/cloudront-pk.pem.toml | 7 ++ config/confd/conf.d/env.toml | 11 +- config/confd/templates/cloudfront-pk.pem.tmpl | 1 + config/confd/templates/env.tmpl | 9 ++ package-lock.json | 68 +++++++----- package.json | 3 +- src/fileupload-handler.ts | 102 ++++++++++++++++++ src/index.ts | 1 + src/lib/config.ts | 23 ++++ 10 files changed, 199 insertions(+), 28 deletions(-) create mode 100644 config/confd/conf.d/cloudront-pk.pem.toml create mode 100644 config/confd/templates/cloudfront-pk.pem.tmpl create mode 100644 src/fileupload-handler.ts diff --git a/config.ts b/config.ts index 17cb4db8b..211a295e5 100644 --- a/config.ts +++ b/config.ts @@ -1,5 +1,6 @@ import type { ConfigLoader } from '@balena/pinejs'; import * as balenaModel from './src/balena'; +import { getFileUploadHandler } from './src/fileupload-handler'; export = { models: [balenaModel], @@ -25,4 +26,5 @@ export = { ], }, ], + webResourceHandler: getFileUploadHandler(), } as ConfigLoader.Config; diff --git a/config/confd/conf.d/cloudront-pk.pem.toml b/config/confd/conf.d/cloudront-pk.pem.toml new file mode 100644 index 000000000..8127f2759 --- /dev/null +++ b/config/confd/conf.d/cloudront-pk.pem.toml @@ -0,0 +1,7 @@ +[template] +src = "cloudfront-pk.pem.tmpl" +dest = "/etc/ssl/private/cloudfront-pk.pem" +keys = [ + "WEBRESOURCES_CLOUDFRONT_PRIVATEKEY", +] +mode = "0400" diff --git a/config/confd/conf.d/env.toml b/config/confd/conf.d/env.toml index e7d28b0fc..44d08be61 100644 --- a/config/confd/conf.d/env.toml +++ b/config/confd/conf.d/env.toml @@ -53,5 +53,14 @@ keys = [ "VPN_PORT", "VPN_SERVICE_API_KEY", "VPN_GUEST_API_KEY", - "VPN_CONNECT_PROXY_PORT" + "VPN_CONNECT_PROXY_PORT", + "WEBRESOURCES_S3_ACCESS_KEY", + "WEBRESOURCES_S3_SECRET_KEY", + "WEBRESOURCES_S3_REGION", + "WEBRESOURCES_S3_HOST", + "WEBRESOURCES_S3_BUCKET", + "WEBRESOURCES_S3_MAX_FILESIZE", + "WEBRESOURCES_CLOUDFRONT_PUBLICKEY", + "WEBRESOURCES_CLOUDFRONT_HOST", + "WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH" ] diff --git a/config/confd/templates/cloudfront-pk.pem.tmpl b/config/confd/templates/cloudfront-pk.pem.tmpl new file mode 100644 index 000000000..068ad8bd9 --- /dev/null +++ b/config/confd/templates/cloudfront-pk.pem.tmpl @@ -0,0 +1 @@ +{{base64Decode (getenv "WEBRESOURCES_CLOUDFRONT_PRIVATEKEY" "")}} diff --git a/config/confd/templates/env.tmpl b/config/confd/templates/env.tmpl index f6284dba7..123bbdbdb 100644 --- a/config/confd/templates/env.tmpl +++ b/config/confd/templates/env.tmpl @@ -79,3 +79,12 @@ VPN_SERVICE_API_KEY={{getenv "VPN_SERVICE_API_KEY"}} {{if getenv "VPN_GUEST_API_KEY"}}VPN_GUEST_API_KEY={{getenv "VPN_GUEST_API_KEY"}}{{end}} {{if getenv "AUTH_RESINOS_REGISTRY_CODE"}}AUTH_RESINOS_REGISTRY_CODE={{getenv "AUTH_RESINOS_REGISTRY_CODE"}}{{end}} {{if getenv "BROTLI_COMPRESSION_QUALITY"}}BROTLI_COMPRESSION_QUALITY={{getenv "BROTLI_COMPRESSION_QUALITY"}}{{end}} +{{if getenv "WEBRESOURCES_S3_ACCESS_KEY"}}WEBRESOURCES_S3_ACCESS_KEY={{getenv "WEBRESOURCES_S3_ACCESS_KEY"}}{{end}} +{{if getenv "WEBRESOURCES_S3_SECRET_KEY"}}WEBRESOURCES_S3_SECRET_KEY={{getenv "WEBRESOURCES_S3_SECRET_KEY"}}{{end}} +{{if getenv "WEBRESOURCES_S3_REGION"}}WEBRESOURCES_S3_REGION={{getenv "WEBRESOURCES_S3_REGION"}}{{end}} +{{if getenv "WEBRESOURCES_S3_HOST"}}WEBRESOURCES_S3_HOST={{getenv "WEBRESOURCES_S3_HOST"}}{{end}} +{{if getenv "WEBRESOURCES_S3_BUCKET"}}WEBRESOURCES_S3_BUCKET={{getenv "WEBRESOURCES_S3_BUCKET"}}{{end}} +{{if getenv "WEBRESOURCES_S3_MAX_FILESIZE"}}WEBRESOURCES_S3_MAX_FILESIZE={{getenv "WEBRESOURCES_S3_MAX_FILESIZE"}}{{end}} +{{if getenv "WEBRESOURCES_CLOUDFRONT_PUBLICKEY"}}WEBRESOURCES_CLOUDFRONT_PUBLICKEY={{getenv "WEBRESOURCES_CLOUDFRONT_PUBLICKEY"}}{{end}} +{{if getenv "WEBRESOURCES_CLOUDFRONT_HOST"}}WEBRESOURCES_CLOUDFRONT_HOST={{getenv "WEBRESOURCES_CLOUDFRONT_HOST"}}{{end}} +WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH=/etc/ssl/private/cloudfront-pk.pem diff --git a/package-lock.json b/package-lock.json index 9c751b82c..c7bc0c265 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,8 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.4", + "@balena/pinejs": "^15.3.8", + "@balena/pinejs-webresource-cloudfront": "^0.0.4", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", @@ -484,6 +485,17 @@ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", "optional": true }, + "node_modules/@aws-sdk/cloudfront-signer": { + "version": "3.398.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/cloudfront-signer/-/cloudfront-signer-3.398.0.tgz", + "integrity": "sha512-fyUty9SNI3oiOSvgVcK0S2OmihawzqWCR5TdcZ2EWbpiLk0V94U5BaKoIKu6jYY+57OgGjr/vUDrDideT/0cMw==", + "dependencies": { + "@smithy/url-parser": "^2.0.5" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/config-resolver": { "version": "3.200.0", "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.200.0.tgz", @@ -2907,12 +2919,12 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.4", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.4.tgz", - "integrity": "sha512-kFEUeg3DduSR6vIPO/kkuUs/T4LkklVreXLKKDjHuQ6IOqIxHmJcej4S5PptmAjNVVeHD6HfMr4Ke07uY6TbLg==", + "version": "15.3.8", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.8.tgz", + "integrity": "sha512-scNqPhb0ZfrC9m/Si4V3hhzHMPn/N/iE9rHh1mEp40WJW1KxR2n9NS5e/PlYA/thblA2CGakQLwuqR+0ZTqlbQ==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", - "@balena/abstract-sql-to-typescript": "^2.1.0", + "@balena/abstract-sql-to-typescript": "^2.1.1", "@balena/env-parsing": "^1.1.5", "@balena/lf-to-abstract-sql": "^5.0.0", "@balena/odata-parser": "^3.0.0", @@ -2976,6 +2988,16 @@ "serve-static": "^1.15.0" } }, + "node_modules/@balena/pinejs-webresource-cloudfront": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@balena/pinejs-webresource-cloudfront/-/pinejs-webresource-cloudfront-0.0.4.tgz", + "integrity": "sha512-pACee791NLsxih/4nwZe6dIyWy4UP+F41ZoyO9udIIUlHJ0pZin7mviWAuRoAqyfT3iC0Nhm0r/0CcT4nA08kg==", + "dependencies": { + "@aws-sdk/cloudfront-signer": "^3.398.0", + "@balena/pinejs": "^15.3.3", + "memoizee": "^0.4.15" + } + }, "node_modules/@balena/pinejs/node_modules/@types/node": { "version": "18.17.15", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.15.tgz", @@ -3981,12 +4003,11 @@ "optional": true }, "node_modules/@smithy/querystring-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.1.tgz", - "integrity": "sha512-h+e7k1z+IvI2sSbUBG9Aq46JsgLl4UqIUl6aigAlRBj+P6ocNXpM6Yn1vMBw5ijtXeZbYpd1YvCxwDgdw3jhmg==", - "optional": true, + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.5.tgz", + "integrity": "sha512-C2stCULH0r54KBksv3AWcN8CLS3u9+WsEW8nBrvctrJ5rQTNa1waHkffpVaiKvcW2nP0aIMBPCobD/kYf/q9mA==", "dependencies": { - "@smithy/types": "^2.0.2", + "@smithy/types": "^2.2.2", "tslib": "^2.5.0" }, "engines": { @@ -3996,8 +4017,7 @@ "node_modules/@smithy/querystring-parser/node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/@smithy/signature-v4": { "version": "2.0.1", @@ -4046,10 +4066,9 @@ "optional": true }, "node_modules/@smithy/types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.0.2.tgz", - "integrity": "sha512-wcymEjIXQ9+NEfE5Yt5TInAqe1o4n+Nh+rh00AwoazppmUt8tdo6URhc5gkDcOYrcvlDVAZE7uG69nDpEGUKxw==", - "optional": true, + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.2.2.tgz", + "integrity": "sha512-4PS0y1VxDnELGHGgBWlDksB2LJK8TG8lcvlWxIsgR+8vROI7Ms8h1P4FQUx+ftAX2QZv5g1CJCdhdRmQKyonyw==", "dependencies": { "tslib": "^2.5.0" }, @@ -4060,25 +4079,22 @@ "node_modules/@smithy/types/node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/@smithy/url-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.1.tgz", - "integrity": "sha512-NpHVOAwddo+OyyIoujDL9zGL96piHWrTNXqltWmBvlUoWgt1HPyBuKs6oHjioyFnNZXUqveTOkEEq0U5w6Uv8A==", - "optional": true, + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.5.tgz", + "integrity": "sha512-OdMBvZhpckQSkugCXNJQCvqJ71wE7Ftxce92UOQLQ9pwF6hoS5PLL7wEfpnuEXtStzBqJYkzu1C1ZfjuFGOXAA==", "dependencies": { - "@smithy/querystring-parser": "^2.0.1", - "@smithy/types": "^2.0.2", + "@smithy/querystring-parser": "^2.0.5", + "@smithy/types": "^2.2.2", "tslib": "^2.5.0" } }, "node_modules/@smithy/url-parser/node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/@smithy/util-base64": { "version": "2.0.0", diff --git a/package.json b/package.json index 1657d4be9..0062c4d42 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,8 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.4", + "@balena/pinejs": "^15.3.8", + "@balena/pinejs-webresource-cloudfront": "^0.0.4", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", diff --git a/src/fileupload-handler.ts b/src/fileupload-handler.ts new file mode 100644 index 000000000..dda78416e --- /dev/null +++ b/src/fileupload-handler.ts @@ -0,0 +1,102 @@ +import { webResourceHandler } from '@balena/pinejs'; +import { + CloudFrontHandler, + CloudFrontHandlerProps, +} from '@balena/pinejs-webresource-cloudfront'; +import * as fs from 'fs'; + +import { + WEBRESOURCES_S3_ACCESS_KEY, + WEBRESOURCES_S3_SECRET_KEY, + WEBRESOURCES_S3_REGION, + WEBRESOURCES_S3_HOST, + WEBRESOURCES_S3_BUCKET, + WEBRESOURCES_S3_MAX_FILESIZE, + WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH, + WEBRESOURCES_CLOUDFRONT_PUBLICKEY, + WEBRESOURCES_CLOUDFRONT_HOST, +} from './lib/config'; + +const getEndpointFromHost = (host: string): string => { + return host.startsWith('http') ? host : `https://${host}`; +}; + +const getS3Config = (): webResourceHandler.S3HandlerProps | undefined => { + if ( + WEBRESOURCES_S3_ACCESS_KEY != null && + WEBRESOURCES_S3_SECRET_KEY != null && + WEBRESOURCES_S3_REGION != null && + WEBRESOURCES_S3_HOST != null && + WEBRESOURCES_S3_BUCKET != null + ) { + return { + endpoint: getEndpointFromHost(WEBRESOURCES_S3_HOST), + accessKey: WEBRESOURCES_S3_ACCESS_KEY, + secretKey: WEBRESOURCES_S3_SECRET_KEY, + region: WEBRESOURCES_S3_REGION, + bucket: WEBRESOURCES_S3_BUCKET, + maxSize: WEBRESOURCES_S3_MAX_FILESIZE, + }; + } +}; + +const getCloudfrontConfig = (): CloudFrontHandlerProps | undefined => { + const s3Config = getS3Config(); + if ( + s3Config != null && + WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH != null && + WEBRESOURCES_CLOUDFRONT_PUBLICKEY != null && + WEBRESOURCES_CLOUDFRONT_HOST != null + ) { + let cfSecretKey: string; + try { + cfSecretKey = fs.readFileSync( + WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH, + 'utf-8', + ); + } catch (e) { + console.error('Failed to start cloudfront with error', e); + return; + } + + return { + cfDistributionDomain: getEndpointFromHost(WEBRESOURCES_CLOUDFRONT_HOST), + cfPublicKeyId: WEBRESOURCES_CLOUDFRONT_PUBLICKEY, + cfSecretKey, + ...s3Config, + }; + } +}; + +let handler: webResourceHandler.WebResourceHandler | undefined; +export const getFileUploadHandler = () => { + if (handler == null) { + const cfConfig = getCloudfrontConfig(); + if (cfConfig != null) { + handler = new CloudFrontHandler(cfConfig); + console.log('Successfully initialised webresource CloudFront handler.'); + console.log({ + region: cfConfig.region, + endpoint: cfConfig.endpoint, + bucket: cfConfig.bucket, + cfHost: cfConfig.cfDistributionDomain, + }); + return handler; + } + + const s3Config = getS3Config(); + if (s3Config != null) { + handler = new webResourceHandler.S3Handler(s3Config); + console.log('Successfully initialised webresource S3 handler.'); + console.log({ + region: s3Config.region, + endpoint: s3Config.endpoint, + bucket: s3Config.bucket, + }); + return handler; + } + + console.log('No webresource handler loaded.'); + } + return handler; +}; diff --git a/src/index.ts b/src/index.ts index 1f62777e5..3617e1e52 100644 --- a/src/index.ts +++ b/src/index.ts @@ -164,6 +164,7 @@ export * as scheduler from './infra/scheduler'; export * as cache from './infra/cache'; export * as config from './lib/config'; export * as abstractSql from './abstract-sql-utils'; +export { getFileUploadHandler } from './fileupload-handler'; export * as deviceState from './features/device-state'; export const errors = { diff --git a/src/lib/config.ts b/src/lib/config.ts index def2a5009..25ce84ea2 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -416,6 +416,29 @@ export const IGNORE_FROZEN_DEVICE_PERMISSIONS = boolVar( false, ); +export const WEBRESOURCES_S3_HOST = optionalVar('WEBRESOURCES_S3_HOST'); +export const WEBRESOURCES_S3_REGION = optionalVar('WEBRESOURCES_S3_REGION'); +export const WEBRESOURCES_S3_ACCESS_KEY = optionalVar( + 'WEBRESOURCES_S3_ACCESS_KEY', +); +export const WEBRESOURCES_S3_SECRET_KEY = optionalVar( + 'WEBRESOURCES_S3_SECRET_KEY', +); +export const WEBRESOURCES_S3_BUCKET = optionalVar('WEBRESOURCES_S3_BUCKET'); +export const WEBRESOURCES_S3_MAX_FILESIZE = intVar( + 'WEBRESOURCES_S3_MAX_FILESIZE', + 10000000, +); +export const WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH = optionalVar( + 'WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH', +); +export const WEBRESOURCES_CLOUDFRONT_PUBLICKEY = optionalVar( + 'WEBRESOURCES_CLOUDFRONT_PUBLICKEY', +); +export const WEBRESOURCES_CLOUDFRONT_HOST = optionalVar( + 'WEBRESOURCES_CLOUDFRONT_HOST', +); + /** * Splits an env var in the format of `${username}:${password}` * into a RedisAuth object. Auth is optional, so this can return From 34c9de0ec0965665ac061e6fc5dfe62e5e5cc4dc Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 19:49:09 +0000 Subject: [PATCH 132/221] v14.9.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index b33d964c9..dc43ac616 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Add S3 webresource handler + hash: a27f4b5f79da6e996063b29908cbc3008386c14d + body: "" + footer: + Change-type: minor + change-type: minor + author: Otávio Jacobi + nested: [] + version: 14.9.0 + title: "" + date: 2023-09-29T19:49:04.807Z - commits: - subject: Expose the RPi family config vars to raspberrypi5 board hash: d266a77dff93a82c9fdaac48fe198fa2b6966372 diff --git a/CHANGELOG.md b/CHANGELOG.md index 50e7da3ab..c2b8e45df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.0 - 2023-09-29 + +* Add S3 webresource handler [Otávio Jacobi] + ## 14.8.0 - 2023-09-28 * Expose the RPi family config vars to raspberrypi5 board [Alex Gonzalez] diff --git a/package-lock.json b/package-lock.json index c7bc0c265..e2389bb87 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.8.0", + "version": "14.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.8.0", + "version": "14.9.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 0062c4d42..688d6a00a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.8.0", + "version": "14.9.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-28T11:09:33.071Z" + "publishedAt": "2023-09-29T19:49:06.009Z" } } From 40a9faa12beb3060e2f1ba0cc0fb82aa2b110a1f Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 20:01:48 +0000 Subject: [PATCH 133/221] Update dependency sinon to v16 Update sinon from 15.0.4 to 16.0.0 Change-type: patch --- package-lock.json | 27 ++++++++++++++++++--------- package.json | 2 +- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index e2389bb87..6cc82b9ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -114,7 +114,7 @@ "nock": "^13.3.0", "pinejs-client-supertest": "^1.4.0", "rimraf": "^5.0.0", - "sinon": "^15.0.4", + "sinon": "^16.0.0", "supertest": "^6.3.3" }, "engines": { @@ -3749,12 +3749,21 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^2.0.0" + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" } }, "node_modules/@sinonjs/samsam": { @@ -11873,13 +11882,13 @@ "devOptional": true }, "node_modules/sinon": { - "version": "15.0.4", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.0.4.tgz", - "integrity": "sha512-uzmfN6zx3GQaria1kwgWGeKiXSSbShBbue6Dcj0SI8fiCNFbiUDqKl57WFlY5lyhxZVUKmXvzgG2pilRQCBwWg==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.0.0.tgz", + "integrity": "sha512-B8AaZZm9CT5pqe4l4uWJztfD/mOTa7dL8Qo0W4+s+t74xECOgSZDDQCBjNgIK3+n4kyxQrSTv2V5ul8K25qkiQ==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.0.2", + "@sinonjs/fake-timers": "^10.3.0", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", "nise": "^5.1.4", diff --git a/package.json b/package.json index 688d6a00a..770653a5f 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "nock": "^13.3.0", "pinejs-client-supertest": "^1.4.0", "rimraf": "^5.0.0", - "sinon": "^15.0.4", + "sinon": "^16.0.0", "supertest": "^6.3.3" }, "engines": { From a876125204cd2b8195336b272f0e07a6822a5fc9 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 10:20:33 +0000 Subject: [PATCH 134/221] v14.9.1 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index dc43ac616..cf33fe83f 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency sinon to v16 + hash: 4fb8a726ae15010385d23a17ea2c59510fb95fba + body: | + Update sinon from 15.0.4 to 16.0.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.9.1 + title: "" + date: 2023-10-01T10:20:27.680Z - commits: - subject: Add S3 webresource handler hash: a27f4b5f79da6e996063b29908cbc3008386c14d diff --git a/CHANGELOG.md b/CHANGELOG.md index c2b8e45df..ff4bdb1f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.1 - 2023-10-01 + +* Update dependency sinon to v16 [Self-hosted Renovate Bot] + ## 14.9.0 - 2023-09-29 * Add S3 webresource handler [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index 6cc82b9ea..284640659 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.0", + "version": "14.9.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.0", + "version": "14.9.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 770653a5f..7ceabba3d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.0", + "version": "14.9.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-09-29T19:49:06.009Z" + "publishedAt": "2023-10-01T10:20:28.640Z" } } From 8fa1809a47a96005820353d0d98518c43c5c0129 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Sep 2023 19:50:25 +0000 Subject: [PATCH 135/221] Bump protobufjs from 7.2.2 to 7.2.5 Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.2 to 7.2.5. - [Release notes](https://github.com/protobufjs/protobuf.js/releases) - [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md) - [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.2...protobufjs-v7.2.5) --- updated-dependencies: - dependency-name: protobufjs dependency-type: indirect ... Change-type: patch Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 284640659..61553381a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11033,9 +11033,9 @@ } }, "node_modules/protobufjs": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.2.tgz", - "integrity": "sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q==", + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.5.tgz", + "integrity": "sha512-gGXRSXvxQ7UiPgfw8gevrfRWcTlSbOFg+p/N+JVJEK5VhueL2miT6qTymqAmjr1Q5WbOCyJbyrk6JfWKwlFn6A==", "hasInstallScript": true, "dependencies": { "@protobufjs/aspromise": "^1.1.2", From 15cbb05e598da776b3496f477e2fcf4dd951f57b Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 10:51:27 +0000 Subject: [PATCH 136/221] v14.9.2 --- .versionbot/CHANGELOG.yml | 31 +++++++++++++++++++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index cf33fe83f..30b0ca890 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,34 @@ +- commits: + - subject: Bump protobufjs from 7.2.2 to 7.2.5 + hash: 5fd34df187d5c93fc880e4732b6b8b2b28e55003 + body: > + Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 7.2.2 + to 7.2.5. + + - [Release notes](https://github.com/protobufjs/protobuf.js/releases) + + - [Changelog](https://github.com/protobufjs/protobuf.js/blob/master/CHANGELOG.md) + + - [Commits](https://github.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.2...protobufjs-v7.2.5) + + + --- + + updated-dependencies: + + - dependency-name: protobufjs + dependency-type: indirect + ... + footer: + Change-type: patch + change-type: patch + Signed-off-by: dependabot[bot] + signed-off-by: dependabot[bot] + author: dependabot[bot] + nested: [] + version: 14.9.2 + title: "" + date: 2023-10-01T10:51:21.867Z - commits: - subject: Update dependency sinon to v16 hash: 4fb8a726ae15010385d23a17ea2c59510fb95fba diff --git a/CHANGELOG.md b/CHANGELOG.md index ff4bdb1f8..9054fac88 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.2 - 2023-10-01 + +* Bump protobufjs from 7.2.2 to 7.2.5 [dependabot[bot]] + ## 14.9.1 - 2023-10-01 * Update dependency sinon to v16 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 61553381a..4aedeeb44 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.1", + "version": "14.9.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.1", + "version": "14.9.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 7ceabba3d..984d30ed0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.1", + "version": "14.9.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-01T10:20:28.640Z" + "publishedAt": "2023-10-01T10:51:22.799Z" } } From caa81fc3089d946ccdc09ea83def50c292174620 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 11:00:15 +0000 Subject: [PATCH 137/221] Update balena/open-balena-base Docker tag to v16.0.6 Update balena/open-balena-base from 16.0.1 to 16.0.6 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 722b32cb9..48260ebd3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.1 as runtime +FROM balena/open-balena-base:v16.0.6 as runtime EXPOSE 80 From 11ffa999c9234197e8306985f20568e0306826c5 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 11:09:35 +0000 Subject: [PATCH 138/221] v14.9.3 --- .versionbot/CHANGELOG.yml | 84 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 29 ++++++++++++++ package-lock.json | 4 +- package.json | 4 +- 4 files changed, 117 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 30b0ca890..451def743 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,87 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.6 + hash: e919ffc74ca14e90317e1afafdeafbcf05971c7b + body: | + Update balena/open-balena-base from 16.0.1 to 16.0.6 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency node to v20.8.0 + hash: 84dcf871b68935e6c4c43682edd24b53f5c34e2e + body: | + Update node from 20.7.0 to 20.8.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.6 + title: "" + date: 2023-09-29T04:01:35.850Z + - commits: + - subject: Build confd from source to avoid upx issues in released binaries + hash: 96e9eb4d3e94c2848ef6a5e83d51d9c71835139f + body: > + upx v3.96 (2020) fixes this issue, but that was released after + the + + v0.16.0 confd release in 2018 + footer: + Resolves: https://github.com/balena-io/balena-monitor/issues/549 + resolves: https://github.com/balena-io/balena-monitor/issues/549 + Change-type: patch + change-type: patch + Signed-off-by: Kyle Harding + signed-off-by: Kyle Harding + author: Kyle Harding + nested: [] + version: open-balena-base-16.0.5 + title: "" + date: 2023-09-21T13:03:29.817Z + - commits: + - subject: Bump no-systemd image to node 20/npm 10 matching systemd + hash: 9240224742ab2b6bd0694a709df53bebd88295da + body: "" + footer: + Change-type: patch + change-type: patch + author: Page- + nested: [] + version: open-balena-base-16.0.4 + title: "" + date: 2023-09-21T11:00:30.491Z + - commits: + - subject: Update dependency node to v18.18.0 + hash: 9c41d0beafb959c21ffadbc8f8cb0cb8cf58ad8d + body: | + Update node from 18.17.1 to 18.18.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.3 + title: "" + date: 2023-09-18T23:00:07.081Z + - commits: + - subject: Update dependency node to v20.7.0 + hash: 4e0c577fe7372e90b0a8787b72a5fff41f48e4d8 + body: | + Update node from 20.6.1 to 20.7.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.2 + title: "" + date: 2023-09-18T19:08:54.386Z + version: 14.9.3 + title: "" + date: 2023-10-01T11:09:31.061Z - commits: - subject: Bump protobufjs from 7.2.2 to 7.2.5 hash: 5fd34df187d5c93fc880e4732b6b8b2b28e55003 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9054fac88..8b2fa605a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,35 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.3 - 2023-10-01 + + +
+ Update balena/open-balena-base Docker tag to v16.0.6 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.6 - 2023-09-29 +> +> * Update dependency node to v20.8.0 [Self-hosted Renovate Bot] +> +> ### open-balena-base-16.0.5 - 2023-09-21 +> +> * Build confd from source to avoid upx issues in released binaries [Kyle Harding] +> +> ### open-balena-base-16.0.4 - 2023-09-21 +> +> * Bump no-systemd image to node 20/npm 10 matching systemd [Page-] +> +> ### open-balena-base-16.0.3 - 2023-09-18 +> +> * Update dependency node to v18.18.0 [Self-hosted Renovate Bot] +> +> ### open-balena-base-16.0.2 - 2023-09-18 +> +> * Update dependency node to v20.7.0 [Self-hosted Renovate Bot] +> + +
+ ## 14.9.2 - 2023-10-01 * Bump protobufjs from 7.2.2 to 7.2.5 [dependabot[bot]] diff --git a/package-lock.json b/package-lock.json index 4aedeeb44..2d2cad7c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.2", + "version": "14.9.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.2", + "version": "14.9.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 984d30ed0..01d1b1c5d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.2", + "version": "14.9.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-01T10:51:22.799Z" + "publishedAt": "2023-10-01T11:09:32.851Z" } } From e33351acb8d37971c043516d571c64fbc4f96631 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Sun, 1 Oct 2023 12:01:32 +0000 Subject: [PATCH 139/221] Update dependency @balena/pinejs-webresource-cloudfront to ^0.0.5 Update @balena/pinejs-webresource-cloudfront from 0.0.4 to 0.0.5 Change-type: patch --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d2cad7c2..51b63c9ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", "@balena/pinejs": "^15.3.8", - "@balena/pinejs-webresource-cloudfront": "^0.0.4", + "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", @@ -2989,9 +2989,9 @@ } }, "node_modules/@balena/pinejs-webresource-cloudfront": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@balena/pinejs-webresource-cloudfront/-/pinejs-webresource-cloudfront-0.0.4.tgz", - "integrity": "sha512-pACee791NLsxih/4nwZe6dIyWy4UP+F41ZoyO9udIIUlHJ0pZin7mviWAuRoAqyfT3iC0Nhm0r/0CcT4nA08kg==", + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@balena/pinejs-webresource-cloudfront/-/pinejs-webresource-cloudfront-0.0.5.tgz", + "integrity": "sha512-mE9KX2yqs49abmpTU6ZZ9PlOhVK8jo6wMZ/GlOKAZp8+hKzLs6w5T7N9aPJziMNncM0qASdBsTufC3ZUPR84ig==", "dependencies": { "@aws-sdk/cloudfront-signer": "^3.398.0", "@balena/pinejs": "^15.3.3", diff --git a/package.json b/package.json index 01d1b1c5d..b0418d3e3 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", "@balena/pinejs": "^15.3.8", - "@balena/pinejs-webresource-cloudfront": "^0.0.4", + "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", "@types/bluebird": "^3.5.38", From 4d0b79ed34b645567924fd12f7eac47a7519df0c Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 11:03:46 +0000 Subject: [PATCH 140/221] v14.9.4 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 451def743..3e699cfd1 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency @balena/pinejs-webresource-cloudfront to ^0.0.5 + hash: e7f06626c35221e726f4b934bd07f69bc497916b + body: | + Update @balena/pinejs-webresource-cloudfront from 0.0.4 to 0.0.5 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.9.4 + title: "" + date: 2023-10-03T11:03:40.248Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.6 hash: e919ffc74ca14e90317e1afafdeafbcf05971c7b diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b2fa605a..dfc001908 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.4 - 2023-10-03 + +* Update dependency @balena/pinejs-webresource-cloudfront to ^0.0.5 [Self-hosted Renovate Bot] + ## 14.9.3 - 2023-10-01 diff --git a/package-lock.json b/package-lock.json index 51b63c9ef..a87bb01d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.3", + "version": "14.9.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.3", + "version": "14.9.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index b0418d3e3..f8bc636c4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.3", + "version": "14.9.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-01T11:09:32.851Z" + "publishedAt": "2023-10-03T11:03:41.463Z" } } From 6b68c7ee88e290c064e46f185f5cac98caf1b3f7 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 12:02:24 +0000 Subject: [PATCH 141/221] Update balena/open-balena-base Docker tag to v16.0.7 Update balena/open-balena-base from 16.0.6 to 16.0.7 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 48260ebd3..334b758a0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.6 as runtime +FROM balena/open-balena-base:v16.0.7 as runtime EXPOSE 80 From a1400095d2bb851b7cfaeb22fd0a477c14cf1133 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 12:12:43 +0000 Subject: [PATCH 142/221] v14.9.5 --- .versionbot/CHANGELOG.yml | 27 +++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 3e699cfd1..6d5336b5f 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,30 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.7 + hash: 16de1b5d0137bb3fb641f943bf3a4636791bbb69 + body: | + Update balena/open-balena-base from 16.0.6 to 16.0.7 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Prefer using local env var values before falling back to defaults + hash: 3012af05ce93203768e661c77e4a322ac3147b85 + body: "" + footer: + Change-type: patch + change-type: patch + See: https://github.com/balena-io-modules/open-balena-base/pull/316/files#diff-95ccd7ac2401d4f914cf825fabd8648b9db8a1f5436aafcedf3a640e9a1b73b6R376-R378 + see: https://github.com/balena-io-modules/open-balena-base/pull/316/files#diff-95ccd7ac2401d4f914cf825fabd8648b9db8a1f5436aafcedf3a640e9a1b73b6R376-R378 + author: Thodoris Greasidis + nested: [] + version: open-balena-base-16.0.7 + title: "" + date: 2023-10-02T14:41:18.394Z + version: 14.9.5 + title: "" + date: 2023-10-03T12:12:37.079Z - commits: - subject: Update dependency @balena/pinejs-webresource-cloudfront to ^0.0.5 hash: e7f06626c35221e726f4b934bd07f69bc497916b diff --git a/CHANGELOG.md b/CHANGELOG.md index dfc001908..2dada9541 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.5 - 2023-10-03 + + +
+ Update balena/open-balena-base Docker tag to v16.0.7 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.7 - 2023-10-02 +> +> * Prefer using local env var values before falling back to defaults [Thodoris Greasidis] +> + +
+ ## 14.9.4 - 2023-10-03 * Update dependency @balena/pinejs-webresource-cloudfront to ^0.0.5 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index a87bb01d2..c8e0c3fd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.4", + "version": "14.9.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.4", + "version": "14.9.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index f8bc636c4..b208e61d6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.4", + "version": "14.9.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-03T11:03:41.463Z" + "publishedAt": "2023-10-03T12:12:38.696Z" } } From 1bce0758e29efd613f9dbd4169485c2f493044ad Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 18:03:17 +0000 Subject: [PATCH 143/221] Update balena/open-balena-base Docker tag to v16.0.8 Update balena/open-balena-base from 16.0.7 to 16.0.8 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 334b758a0..0285ae6ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.7 as runtime +FROM balena/open-balena-base:v16.0.8 as runtime EXPOSE 80 From 317594e2b49b1cf373b6e52d38d6077bf50a2a36 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 18:12:26 +0000 Subject: [PATCH 144/221] v14.9.6 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 6d5336b5f..c4b33655d 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.8 + hash: 3097de578c740a8592b63538e13f575bc12a914f + body: | + Update balena/open-balena-base from 16.0.7 to 16.0.8 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v10.2.0 + hash: f3008a7cbe68214b20c61b76c0e553a610466da2 + body: | + Update npm from 10.1.0 to 10.2.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.8 + title: "" + date: 2023-10-03T17:05:16.337Z + version: 14.9.6 + title: "" + date: 2023-10-03T18:12:21.427Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.7 hash: 16de1b5d0137bb3fb641f943bf3a4636791bbb69 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dada9541..ec3e2d58d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.6 - 2023-10-03 + + +
+ Update balena/open-balena-base Docker tag to v16.0.8 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.8 - 2023-10-03 +> +> * Update dependency npm to v10.2.0 [Self-hosted Renovate Bot] +> + +
+ ## 14.9.5 - 2023-10-03 diff --git a/package-lock.json b/package-lock.json index c8e0c3fd1..0efdb16ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.5", + "version": "14.9.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.5", + "version": "14.9.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index b208e61d6..d3b6b9c2e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.5", + "version": "14.9.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-03T12:12:38.696Z" + "publishedAt": "2023-10-03T18:12:23.084Z" } } From 512ae733c4b0d8eb5295ee0d0db3fc8245dcd350 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Oct 2023 18:13:10 +0000 Subject: [PATCH 145/221] Bump postcss from 8.4.21 to 8.4.31 Bumps [postcss](https://github.com/postcss/postcss) from 8.4.21 to 8.4.31. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.4.21...8.4.31) --- updated-dependencies: - dependency-name: postcss dependency-type: indirect ... Change-type: patch Signed-off-by: dependabot[bot] --- package-lock.json | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0efdb16ed..a3fc36713 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10895,9 +10895,9 @@ } }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, "funding": [ { @@ -10907,10 +10907,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, From bf5d07bbd480b2023c487a161e8cd26bf01e755c Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 4 Oct 2023 06:50:23 +0000 Subject: [PATCH 146/221] v14.9.7 --- .versionbot/CHANGELOG.yml | 31 +++++++++++++++++++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index c4b33655d..84ab13874 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,34 @@ +- commits: + - subject: Bump postcss from 8.4.21 to 8.4.31 + hash: bbb3b654f57c975c5d916a99c3755e647b1b04db + body: > + Bumps [postcss](https://github.com/postcss/postcss) from 8.4.21 to + 8.4.31. + + - [Release notes](https://github.com/postcss/postcss/releases) + + - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) + + - [Commits](https://github.com/postcss/postcss/compare/8.4.21...8.4.31) + + + --- + + updated-dependencies: + + - dependency-name: postcss + dependency-type: indirect + ... + footer: + Change-type: patch + change-type: patch + Signed-off-by: dependabot[bot] + signed-off-by: dependabot[bot] + author: dependabot[bot] + nested: [] + version: 14.9.7 + title: "" + date: 2023-10-04T06:50:19.095Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.8 hash: 3097de578c740a8592b63538e13f575bc12a914f diff --git a/CHANGELOG.md b/CHANGELOG.md index ec3e2d58d..a7892b790 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.9.7 - 2023-10-04 + +* Bump postcss from 8.4.21 to 8.4.31 [dependabot[bot]] + ## 14.9.6 - 2023-10-03 diff --git a/package-lock.json b/package-lock.json index a3fc36713..c3aefb39f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.6", + "version": "14.9.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.6", + "version": "14.9.7", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index d3b6b9c2e..9957078f6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.6", + "version": "14.9.7", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-03T18:12:23.084Z" + "publishedAt": "2023-10-04T06:50:19.997Z" } } From 78a049abebc40ae56832cf37e3ddead81adbba0c Mon Sep 17 00:00:00 2001 From: Shaun Cooley Date: Tue, 19 Sep 2023 13:49:57 -0700 Subject: [PATCH 147/221] New CONTRACT_ALLOWLIST option to limit device types/contracts Resolves: #1433 Change-type: minor --- config/confd/conf.d/env.toml | 1 + config/confd/templates/env.tmpl | 1 + src/features/contracts/contracts-directory.ts | 24 ++++++++++++++++++- .../device-types/device-types-list.ts | 16 ++++++++++++- src/lib/config.ts | 17 +++++++++++++ 5 files changed, 57 insertions(+), 2 deletions(-) diff --git a/config/confd/conf.d/env.toml b/config/confd/conf.d/env.toml index 44d08be61..e69f93b54 100644 --- a/config/confd/conf.d/env.toml +++ b/config/confd/conf.d/env.toml @@ -29,6 +29,7 @@ keys = [ "IMAGE_STORAGE_FORCE_PATH_STYLE", "IMAGE_STORAGE_PREFIX", "IMAGE_STORAGE_SECRET_KEY", + "CONTRACT_ALLOWLIST", "JSON_WEB_TOKEN_EXPIRY_MINUTES", "JSON_WEB_TOKEN_SECRET", "MIXPANEL_TOKEN", diff --git a/config/confd/templates/env.tmpl b/config/confd/templates/env.tmpl index 123bbdbdb..55d261d5f 100644 --- a/config/confd/templates/env.tmpl +++ b/config/confd/templates/env.tmpl @@ -8,6 +8,7 @@ COOKIE_SESSION_SECRET={{getenv "COOKIE_SESSION_SECRET"}} {{if getenv "CONTRACTS_PRIVATE_REPO_NAME"}}CONTRACTS_PRIVATE_REPO_NAME={{getenv "CONTRACTS_PRIVATE_REPO_NAME"}}{{end}} {{if getenv "CONTRACTS_PRIVATE_REPO_BRANCH"}}CONTRACTS_PRIVATE_REPO_BRANCH"CONTRACTS_PRIVATE_REPO_BRANCH"}}{{end}} {{if getenv "CONTRACTS_PRIVATE_REPO_TOKEN"}}CONTRACTS_PRIVATE_REPO_TOKEN={{getenv "CONTRACTS_PRIVATE_REPO_TOKEN"}}{{end}} +{{if getenv "CONTRACT_ALLOWLIST"}}CONTRACT_ALLOWLIST={{getenv "CONTRACT_ALLOWLIST"}}{{end}} DATABASE_URL=postgres://{{getenv "DB_USER"}}:{{getenv "DB_PASSWORD"}}@{{getenv "DB_HOST"}}:{{getenv "DB_PORT"}}/{{getenv "DB_NAME" "resin"}} DB_HOST={{getenv "DB_HOST"}} DB_PASSWORD={{getenv "DB_PASSWORD"}} diff --git a/src/features/contracts/contracts-directory.ts b/src/features/contracts/contracts-directory.ts index 02c8fa8e1..2d40e7154 100644 --- a/src/features/contracts/contracts-directory.ts +++ b/src/features/contracts/contracts-directory.ts @@ -11,6 +11,7 @@ import validator from 'validator'; import type { RepositoryInfo, Contract } from './index'; import { getBase64DataUri } from '../../lib/utils'; import { captureException } from '../../infra/error-handling'; +import { CONTRACT_ALLOWLIST } from '../../lib/config'; const pipeline = util.promisify(stream.pipeline); const exists = util.promisify(fs.exists); @@ -177,13 +178,34 @@ export const getContracts = async (type: string): Promise => { return []; } - const contractFiles = await glob( + let contractFiles = await glob( `${CONTRACTS_BASE_DIR}/**/contracts/${type}/**/*.json`, ); if (!contractFiles.length) { return []; } + // If there are explicit includes, then everything else is excluded so we need to + // filter the contractFiles list to include only contracts that are in the CONTRACT_ALLOWLIST map + if (CONTRACT_ALLOWLIST.size > 0) { + const slugRegex = new RegExp(`/contracts/(${_.escapeRegExp(type)}/[^/]+)/`); + const before = contractFiles.length; + contractFiles = contractFiles.filter((file) => { + // Get the contract slug from the file path + const deviceTypeSlug = file.match(slugRegex)?.[1]; + if (!deviceTypeSlug) { + return false; + } + + // Check if this slug is included in the map + return CONTRACT_ALLOWLIST.has(deviceTypeSlug); + }); + + console.log( + `CONTRACT_ALLOWLIST reduced ${type} contract slugs from ${before} to ${contractFiles.length}`, + ); + } + const contracts = await Promise.all( contractFiles.map(async (file) => { let contract; diff --git a/src/features/device-types/device-types-list.ts b/src/features/device-types/device-types-list.ts index 9197c5337..32ef61e59 100644 --- a/src/features/device-types/device-types-list.ts +++ b/src/features/device-types/device-types-list.ts @@ -14,6 +14,7 @@ import { multiCacheMemoizee } from '../../infra/cache'; import { DEVICE_TYPES_CACHE_LOCAL_TIMEOUT, DEVICE_TYPES_CACHE_TIMEOUT, + CONTRACT_ALLOWLIST, } from '../../lib/config'; export interface DeviceTypeInfo { @@ -58,7 +59,20 @@ const getFirstValidBuild = async ( export const getDeviceTypes = multiCacheMemoizee( async (): Promise> => { const result: Dictionary = {}; - const slugs = await listFolders(IMAGE_STORAGE_PREFIX); + let slugs = await listFolders(IMAGE_STORAGE_PREFIX); + + // If there are explicit includes, then everything else is excluded so we need to + // filter the slugs list to include only contracts that are in the CONTRACT_ALLOWLIST map + if (CONTRACT_ALLOWLIST.size > 0) { + const before = slugs.length; + slugs = slugs.filter((slug) => + CONTRACT_ALLOWLIST.has(`hw.device-type/${slug}`), + ); + console.log( + `CONTRACT_ALLOWLIST reduced device type slugs from ${before} to ${slugs.length}`, + ); + } + await Promise.all( slugs.map(async (slug) => { try { diff --git a/src/lib/config.ts b/src/lib/config.ts index 25ce84ea2..abbe92972 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -82,6 +82,23 @@ export const AUTH_RESINOS_REGISTRY_CODE = optionalVar( 'AUTH_RESINOS_REGISTRY_CODE', ); export const COOKIE_SESSION_SECRET = requiredVar('COOKIE_SESSION_SECRET'); + +/** + * null: include all device type and device contract slugs + * "x;y;z": include only the specified device type and contract slugs - note that you MUST list + * all dependent slugs as well so for hw.device-type/asus-tinker-board-s you would need: + * `arch.sw/armv7hf;hw.device-manufacturer/asus;hw.device-family/tinkerboard;hw.device-type/asus-tinker-board-s` + * For something like hw.device-type/iot-gate-imx8 you would need: + * `arch.sw/aarch64;hw.device-type/iot-gate-imx8` + * (the order of the slugs in this variable does not matter) + */ +export const CONTRACT_ALLOWLIST = new Set( + optionalVar('CONTRACT_ALLOWLIST', '') + .split(';') + .map((slug) => slug.trim()) + .filter((slug) => slug.length > 0), +); + export const CONTRACTS_PUBLIC_REPO_OWNER = optionalVar( 'CONTRACTS_PUBLIC_REPO_OWNER', 'balena-io', From fa609bea00b6d45e9ed9933e5aac5daeacbc65e4 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 6 Oct 2023 16:48:09 +0000 Subject: [PATCH 148/221] v14.10.0 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 84ab13874..89221610a 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: New CONTRACT_ALLOWLIST option to limit device types/contracts + hash: 0fd8048baacc0b4327c2e370f59495adae5aaad7 + body: "" + footer: + Resolves: "#1433" + resolves: "#1433" + Change-type: minor + change-type: minor + author: Shaun Cooley + nested: [] + version: 14.10.0 + title: "" + date: 2023-10-06T16:48:03.200Z - commits: - subject: Bump postcss from 8.4.21 to 8.4.31 hash: bbb3b654f57c975c5d916a99c3755e647b1b04db diff --git a/CHANGELOG.md b/CHANGELOG.md index a7892b790..b12e0e7d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.10.0 - 2023-10-06 + +* New CONTRACT_ALLOWLIST option to limit device types/contracts [Shaun Cooley] + ## 14.9.7 - 2023-10-04 * Bump postcss from 8.4.21 to 8.4.31 [dependabot[bot]] diff --git a/package-lock.json b/package-lock.json index c3aefb39f..d7d0d1c48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.9.7", + "version": "14.10.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.9.7", + "version": "14.10.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 9957078f6..1013eb2a4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.9.7", + "version": "14.10.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-04T06:50:19.997Z" + "publishedAt": "2023-10-06T16:48:04.186Z" } } From 0aceffdf5ffe576b70f3a840ca7e831cd948b8b0 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 10 Oct 2023 16:32:37 +0300 Subject: [PATCH 149/221] Update pinejs-client-supertest to v2.0.1 Change-type: patch --- package-lock.json | 68 +++++------------------------------------------ package.json | 2 +- 2 files changed, 8 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index d7d0d1c48..8bb18980b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -112,7 +112,7 @@ "mocha": "^10.2.0", "mockery": "^2.1.0", "nock": "^13.3.0", - "pinejs-client-supertest": "^1.4.0", + "pinejs-client-supertest": "^2.0.1", "rimraf": "^5.0.0", "sinon": "^16.0.0", "supertest": "^6.3.3" @@ -10812,9 +10812,9 @@ } }, "node_modules/pinejs-client-supertest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pinejs-client-supertest/-/pinejs-client-supertest-1.4.0.tgz", - "integrity": "sha512-mTJ2DIjLOb1Z+/R9gnPmZ1grclweVb53fTOxur6SaYI0YG9vfSK3divOL8lSna7YNeYbSXLPoiXK0d747HPvYw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinejs-client-supertest/-/pinejs-client-supertest-2.0.1.tgz", + "integrity": "sha512-KdDSwKhA+UuyPg0Trosl12OrkqG97cErEX7zZjaWLtPH0Q5G4eLHB/Tx5H1+4YWtlz2Go5QACFx3tZPeV9TDoQ==", "dev": true, "dependencies": { "@types/chai": "^4.2.14", @@ -10824,65 +10824,11 @@ "chai": "^4.2.0", "chai-as-promised": "^7.1.1", "pinejs-client-core": "^6.10.1", - "supertest": "^4.0.2" - }, - "engines": { - "node": ">=10.0.0", - "npm": ">=6.0.0" - } - }, - "node_modules/pinejs-client-supertest/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/pinejs-client-supertest/node_modules/formidable": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", - "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", - "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", - "dev": true, - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/pinejs-client-supertest/node_modules/superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", - "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .", - "dev": true, - "dependencies": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/pinejs-client-supertest/node_modules/supertest": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-4.0.2.tgz", - "integrity": "sha512-1BAbvrOZsGA3YTCWqbmh14L0YEq0EGICX/nBnfkfVJn7SrxQV1I3pMYjSzG9y/7ZU2V9dWqyqk2POwxlb09duQ==", - "dev": true, - "dependencies": { - "methods": "^1.1.2", - "superagent": "^3.8.3" + "supertest": "^6.3.3" }, "engines": { - "node": ">=6.0.0" + "node": ">=16.13.0", + "npm": ">=8.0.0" } }, "node_modules/please-upgrade-node": { diff --git a/package.json b/package.json index 1013eb2a4..4b7580aa1 100644 --- a/package.json +++ b/package.json @@ -136,7 +136,7 @@ "mocha": "^10.2.0", "mockery": "^2.1.0", "nock": "^13.3.0", - "pinejs-client-supertest": "^1.4.0", + "pinejs-client-supertest": "^2.0.1", "rimraf": "^5.0.0", "sinon": "^16.0.0", "supertest": "^6.3.3" From 54fe8fdcef963df2ce9d5fe0aec8b87ebae69ab1 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 14:08:37 +0000 Subject: [PATCH 150/221] v14.10.1 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 89221610a..1479ed12a 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Update pinejs-client-supertest to v2.0.1 + hash: f2d0a7cc73113384593d1b94ea675c86a6dd93c0 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.10.1 + title: "" + date: 2023-10-10T14:08:33.685Z - commits: - subject: New CONTRACT_ALLOWLIST option to limit device types/contracts hash: 0fd8048baacc0b4327c2e370f59495adae5aaad7 diff --git a/CHANGELOG.md b/CHANGELOG.md index b12e0e7d6..45febd013 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.10.1 - 2023-10-10 + +* Update pinejs-client-supertest to v2.0.1 [Thodoris Greasidis] + ## 14.10.0 - 2023-10-06 * New CONTRACT_ALLOWLIST option to limit device types/contracts [Shaun Cooley] diff --git a/package-lock.json b/package-lock.json index 8bb18980b..de04a1bef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.10.0", + "version": "14.10.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.10.0", + "version": "14.10.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 4b7580aa1..a5adda877 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.10.0", + "version": "14.10.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-06T16:48:04.186Z" + "publishedAt": "2023-10-10T14:08:34.783Z" } } From 64777f86a2d8c996e77a1133e262bfb89ee26f3c Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 10 Oct 2023 16:52:12 +0300 Subject: [PATCH 151/221] Augment supertest .expect(status) to log the response body when failing Change-type: patch Change-type: patch --- test/test-lib/init-tests.ts | 7 +++++- test/test-lib/supertest.ts | 38 +++++++++++++++++++++++++++++++- typings/supertest-extension.d.ts | 10 +++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 typings/supertest-extension.d.ts diff --git a/test/test-lib/init-tests.ts b/test/test-lib/init-tests.ts index 2a6221aa3..b538e1d20 100644 --- a/test/test-lib/init-tests.ts +++ b/test/test-lib/init-tests.ts @@ -1,6 +1,10 @@ import jsonwebtoken from 'jsonwebtoken'; import * as fixtures from './fixtures'; -import { supertest, UserObjectParam } from './supertest'; +import { + supertest, + augmentStatusAssertionError, + UserObjectParam, +} from './supertest'; import { version } from './versions'; import { getContractRepos, @@ -8,6 +12,7 @@ import { } from '../../src/features/contracts'; export const preInit = async () => { + augmentStatusAssertionError(); await import('./aws-mock'); await import('./contracts-mock'); diff --git a/test/test-lib/supertest.ts b/test/test-lib/supertest.ts index 32a7031d9..821c17174 100644 --- a/test/test-lib/supertest.ts +++ b/test/test-lib/supertest.ts @@ -1,13 +1,49 @@ import { app } from '../../init'; import $supertest from 'supertest'; import { User } from '../../src/infra/auth/jwt-passport'; +import { ThisShouldNeverHappenError } from '../../src/infra/error-handling'; export type UserObjectParam = Partial; +export const augmentStatusAssertionError = () => { + const originalExpect: $supertest.Test['expect'] = + $supertest.Test.prototype.expect; + /** + * This enhances `.expect(statusCode, ...)` to also log the response body when + * the statusCode is different than expected, to make the original error more useful. + */ + $supertest.Test.prototype.expect = function (this: $supertest.Test, ...args) { + const [expectedStatus] = args; + let supertestFluentChain = this; + if (typeof expectedStatus === 'number') { + // TODO: Switch `.bind()` to `.call()` once TS is able to pick the correct overload. + supertestFluentChain = originalExpect.bind(supertestFluentChain)( + (res) => { + const error = this._assertStatus(expectedStatus, res); + if (error) { + error.message += `, with response body:\n${JSON.stringify( + res.body, + null, + 2, + )}`; + throw error; + } + }, + ); + } + return originalExpect.apply(supertestFluentChain, args); + } satisfies typeof originalExpect; +}; + export const supertest = function (user?: string | UserObjectParam) { // Can be an object with `token`, a JWT string or an API key string let token = user; - if (typeof user === 'object' && user.token) { + if (user != null && typeof user === 'object') { + if (user.token == null) { + throw ThisShouldNeverHappenError( + 'Heads-up: You provided an object as a parameter to supertest that does not include a token, making requests that require authentication to always return 401!!!', + ); + } token = user.token; } // We have to cast `as any` because the types are poorly maintained diff --git a/typings/supertest-extension.d.ts b/typings/supertest-extension.d.ts new file mode 100644 index 000000000..6c32298bc --- /dev/null +++ b/typings/supertest-extension.d.ts @@ -0,0 +1,10 @@ +import 'supertest'; + +// Augment supertest +declare module 'supertest' { + interface Test { + _assertStatus(status: number, res: Response): Error | undefined; + } + + function Test(app: any, method: string, path: string): Test; +} From f3bbbd402c0732fde508a66e5e4b080fc785b794 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 14:42:19 +0000 Subject: [PATCH 152/221] v14.10.2 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 1479ed12a..0be7007df 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: "Augment supertest .expect(status) to log the response body when + failing Change-type: patch" + hash: f35ff3a1a95bd47e8154e7ed49c36506cbc8d005 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.10.2 + title: "" + date: 2023-10-10T14:42:14.141Z - commits: - subject: Update pinejs-client-supertest to v2.0.1 hash: f2d0a7cc73113384593d1b94ea675c86a6dd93c0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 45febd013..60a3c2394 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.10.2 - 2023-10-10 + +* Augment supertest .expect(status) to log the response body when failing Change-type: patch [Thodoris Greasidis] + ## 14.10.1 - 2023-10-10 * Update pinejs-client-supertest to v2.0.1 [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index de04a1bef..983371ec7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.10.1", + "version": "14.10.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.10.1", + "version": "14.10.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index a5adda877..5a76e662e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.10.1", + "version": "14.10.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-10T14:08:34.783Z" + "publishedAt": "2023-10-10T14:42:15.268Z" } } From af6d51531a14b19604af728515fb8a1875a6c962 Mon Sep 17 00:00:00 2001 From: Christina Ying Wang Date: Thu, 17 Aug 2023 15:38:02 -0700 Subject: [PATCH 153/221] Update /os/v1/config endpoint for config.json migration See: https://balena.fibery.io/Work/Improvement/os-config-improving-the-interface-for-config.json-modification-901 Change-type: minor Signed-off-by: Christina Ying Wang --- src/features/os-config/index.ts | 48 ++++++++++++++++++++++----------- test/22_os-config.ts | 35 ++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 15 deletions(-) create mode 100644 test/22_os-config.ts diff --git a/src/features/os-config/index.ts b/src/features/os-config/index.ts index 4885a972b..5a4ef9861 100644 --- a/src/features/os-config/index.ts +++ b/src/features/os-config/index.ts @@ -1,27 +1,45 @@ -import type { Application, RequestHandler } from 'express'; +import type { Application } from 'express'; import { DEVICE_CONFIG_OPENVPN_CA, DEVICE_CONFIG_OPENVPN_CONFIG, DEVICE_CONFIG_SSH_AUTHORIZED_KEYS, + LOGS_HOST, } from '../../lib/config'; import { b64decode } from '../../lib/utils'; -const getOsConfiguration: RequestHandler = (_req, res) => { - res.json({ - services: { - openvpn: { - config: DEVICE_CONFIG_OPENVPN_CONFIG, - ca: b64decode(DEVICE_CONFIG_OPENVPN_CA), - }, - ssh: { - authorized_keys: DEVICE_CONFIG_SSH_AUTHORIZED_KEYS, - }, - }, - schema_version: '1.0.0', - }); +// OS service configurations +const services = { + openvpn: { + config: DEVICE_CONFIG_OPENVPN_CONFIG, + ca: b64decode(DEVICE_CONFIG_OPENVPN_CA), + }, + ssh: { + authorized_keys: DEVICE_CONFIG_SSH_AUTHORIZED_KEYS, + }, +}; + +// Config.json migrations: Changes should be evaluated for security risks before applying. +// +// - A field may not be deleted from config.json. +// - A field with a value of non-null tells os-config that the value will be updated +// to the new value if it's different. +// - A field not found in the whitelist of the os-config schema will be ignored. +const config = { + overrides: { + ...(LOGS_HOST != null && { logsEndpoint: `https://${LOGS_HOST}` }), + }, }; export const setup = (app: Application) => { - app.get('/os/v1/config/', getOsConfiguration); + app.get('/os/v1/config/', (_req, res) => { + res.json({ + services, + // Older os-configs don't know how to handle the config field, but + // luckily serde-rs ignores unknown fields by default. + config, + /** @deprecated schema_version is an outdated field kept for compatibility with legacy os-configs */ + schema_version: '1.0.0', + }); + }); }; diff --git a/test/22_os-config.ts b/test/22_os-config.ts new file mode 100644 index 000000000..00d36b182 --- /dev/null +++ b/test/22_os-config.ts @@ -0,0 +1,35 @@ +import { expect } from 'chai'; + +import { supertest } from './test-lib/supertest'; +import { LOGS_HOST } from '../src/lib/config'; + +describe('OS configuration endpoints', () => { + describe('/os/v1/config', () => { + it('should return a valid JSON response', async () => { + const { body } = await supertest().get('/os/v1/config').expect(200); + + // Service configurations should be valid for their respective services + expect(body) + .to.have.property('services') + .that.has.all.keys('openvpn', 'ssh'); + expect(body.services.openvpn).to.have.all.keys('config', 'ca'); + expect(body.services.openvpn.config).to.be.a('string'); + expect(body.services.openvpn.ca).to.be.a('string'); + expect(body.services.ssh) + .to.have.property('authorized_keys') + .that.is.a('string'); + + // schema_version is kept for backwards compatibility + expect(body).to.have.property('schema_version').that.equals('1.0.0'); + + // Config should contain config.json overrides + expect(body) + .to.have.property('config') + .that.deep.equals({ + overrides: { + ...(LOGS_HOST != null && { logsEndpoint: `https://${LOGS_HOST}` }), + }, + }); + }); + }); +}); From 8df414d69e88934eefb1a6ae3668f38c0bfde20d Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 18:33:21 +0000 Subject: [PATCH 154/221] v14.11.0 --- .versionbot/CHANGELOG.yml | 16 ++++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 0be7007df..2ec618dd3 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,19 @@ +- commits: + - subject: Update /os/v1/config endpoint for config.json migration + hash: 572692e301f656abdc02a0ab5ed245d3b21f3a75 + body: "" + footer: + See: https://balena.fibery.io/Work/Improvement/os-config-improving-the-interface-for-config.json-modification-901 + see: https://balena.fibery.io/Work/Improvement/os-config-improving-the-interface-for-config.json-modification-901 + Change-type: minor + change-type: minor + Signed-off-by: Christina Ying Wang + signed-off-by: Christina Ying Wang + author: Christina Ying Wang + nested: [] + version: 14.11.0 + title: "" + date: 2023-10-10T18:33:15.344Z - commits: - subject: "Augment supertest .expect(status) to log the response body when failing Change-type: patch" diff --git a/CHANGELOG.md b/CHANGELOG.md index 60a3c2394..cd873cae6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.11.0 - 2023-10-10 + +* Update /os/v1/config endpoint for config.json migration [Christina Ying Wang] + ## 14.10.2 - 2023-10-10 * Augment supertest .expect(status) to log the response body when failing Change-type: patch [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 983371ec7..13ff23df7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.10.2", + "version": "14.11.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.10.2", + "version": "14.11.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 5a76e662e..11d3362b6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.10.2", + "version": "14.11.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-10T14:42:15.268Z" + "publishedAt": "2023-10-10T18:33:16.491Z" } } From 4b4762829de7a3747d65b1eac7c87ece9dd6903d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Wed, 11 Oct 2023 14:24:20 -0300 Subject: [PATCH 155/221] Update @balena/pinejs dependencies Update @balena/pinejs from 15.3.8 to 15.3.10 Change-type: patch --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 13ff23df7..670a0b4cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.8", + "@balena/pinejs": "^15.3.10", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", @@ -2919,9 +2919,9 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.8", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.8.tgz", - "integrity": "sha512-scNqPhb0ZfrC9m/Si4V3hhzHMPn/N/iE9rHh1mEp40WJW1KxR2n9NS5e/PlYA/thblA2CGakQLwuqR+0ZTqlbQ==", + "version": "15.3.10", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.10.tgz", + "integrity": "sha512-b86eFKAOm40Xw3bhBcFsfgMbq5YRLScbmYLFDt1bRsUsHbp+FshYB3tE6TKbMoavcITfqYNVN5TtbSYr3yC+Hg==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.1", diff --git a/package.json b/package.json index 11d3362b6..fa54b4a4e 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.8", + "@balena/pinejs": "^15.3.10", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", From a470d6d799bbd46a1b0aca0b3fe42a933f2541d4 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 11 Oct 2023 17:39:58 +0000 Subject: [PATCH 156/221] v14.11.1 --- .versionbot/CHANGELOG.yml | 36 ++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 17 +++++++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 57 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 2ec618dd3..cf65c49b9 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,39 @@ +- commits: + - subject: Update @balena/pinejs dependencies + hash: 542c231bdefe125324c51dfff48b7dfdb734bf14 + body: Update @balena/pinejs from 15.3.8 to 15.3.10 + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: + - commits: + - subject: Allow uploading file on resourceName and synonyms + hash: 1f6f5aa7e60fe7e6ce938b97f072d13dcaa8012c + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: pinejs-15.3.10 + title: "" + date: 2023-10-06T23:32:39.347Z + - commits: + - subject: Fix Term Forms and Synonyms on webresources models + hash: 96747c24ee17652246c7d0c4391ed5e7e6af8586 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: pinejs-15.3.9 + title: "" + date: 2023-10-06T18:11:11.295Z + version: 14.11.1 + title: "" + date: 2023-10-11T17:39:53.216Z - commits: - subject: Update /os/v1/config endpoint for config.json migration hash: 572692e301f656abdc02a0ab5ed245d3b21f3a75 diff --git a/CHANGELOG.md b/CHANGELOG.md index cd873cae6..46333342c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.11.1 - 2023-10-11 + + +
+ Update @balena/pinejs dependencies [Otávio Jacobi] + +> ### pinejs-15.3.10 - 2023-10-06 +> +> * Allow uploading file on resourceName and synonyms [Otávio Jacobi] +> +> ### pinejs-15.3.9 - 2023-10-06 +> +> * Fix Term Forms and Synonyms on webresources models [Otávio Jacobi] +> + +
+ ## 14.11.0 - 2023-10-10 * Update /os/v1/config endpoint for config.json migration [Christina Ying Wang] diff --git a/package-lock.json b/package-lock.json index 670a0b4cd..2c63cd519 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.11.0", + "version": "14.11.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.11.0", + "version": "14.11.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index fa54b4a4e..15eff30ee 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.11.0", + "version": "14.11.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-10T18:33:16.491Z" + "publishedAt": "2023-10-11T17:39:55.287Z" } } From ec88d235d83e5c3af3e48b230f16ebd9fdea64fe Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 14:05:38 +0000 Subject: [PATCH 157/221] Update grafana/loki Docker tag to v2.9.2 Update grafana/loki from 2.9.1 to 2.9.2 Change-type: patch --- docker-compose.test-custom.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index 6fa9b38e4..9c137aece 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -16,7 +16,7 @@ services: networks: - local-test loki: - image: grafana/loki:2.9.1 + image: grafana/loki:2.9.2 restart: "no" ports: - "9095:9095" From e146b23ce25fbef32afb8f007293f5920a7fef44 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 14:15:38 +0000 Subject: [PATCH 158/221] v14.11.2 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index cf65c49b9..8ffb66106 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update grafana/loki Docker tag to v2.9.2 + hash: 8d4b57291b025566c940bb3333868b937143ab96 + body: | + Update grafana/loki from 2.9.1 to 2.9.2 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.11.2 + title: "" + date: 2023-10-16T14:15:33.918Z - commits: - subject: Update @balena/pinejs dependencies hash: 542c231bdefe125324c51dfff48b7dfdb734bf14 diff --git a/CHANGELOG.md b/CHANGELOG.md index 46333342c..a31c97005 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.11.2 - 2023-10-16 + +* Update grafana/loki Docker tag to v2.9.2 [Self-hosted Renovate Bot] + ## 14.11.1 - 2023-10-11 diff --git a/package-lock.json b/package-lock.json index 2c63cd519..be6fd981c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.11.1", + "version": "14.11.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.11.1", + "version": "14.11.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 15eff30ee..5cff11167 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.11.1", + "version": "14.11.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-11T17:39:55.287Z" + "publishedAt": "2023-10-16T14:15:34.867Z" } } From 38f5de5f7a719d5afa22caa892053d3fb4b9000d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 14:16:59 +0000 Subject: [PATCH 159/221] Bump @babel/traverse from 7.21.2 to 7.23.2 Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.21.2 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Change-type: patch Signed-off-by: dependabot[bot] --- package-lock.json | 137 +++++++++++++++++++++++----------------------- 1 file changed, 69 insertions(+), 68 deletions(-) diff --git a/package-lock.json b/package-lock.json index be6fd981c..5f75fc4b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2539,24 +2539,25 @@ "optional": true }, "node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/generator": { - "version": "7.21.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", - "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.21.0", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -2566,77 +2567,77 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", - "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -2656,23 +2657,23 @@ } }, "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.22.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", - "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2682,19 +2683,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", - "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.21.1", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.21.2", - "@babel/types": "^7.21.2", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2703,9 +2704,9 @@ } }, "node_modules/@babel/traverse/node_modules/@babel/parser": { - "version": "7.22.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", - "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2715,13 +2716,13 @@ } }, "node_modules/@babel/types": { - "version": "7.21.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", - "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -3303,9 +3304,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", From 3b78d328a09ed084973344ff9213df7e6af6ac91 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 15:04:41 +0000 Subject: [PATCH 160/221] v14.11.3 --- .versionbot/CHANGELOG.yml | 32 ++++++++++++++++++++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 40 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 8ffb66106..ecbe558ed 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,35 @@ +- commits: + - subject: Bump @babel/traverse from 7.21.2 to 7.23.2 + hash: 19f8a7b4f13ed649f2ed0c6f86f7543ba3c84aaa + body: > + Bumps + [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) + from 7.21.2 to 7.23.2. + + - [Release notes](https://github.com/babel/babel/releases) + + - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) + + - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) + + + --- + + updated-dependencies: + + - dependency-name: "@babel/traverse" + dependency-type: indirect + ... + footer: + Change-type: patch + change-type: patch + Signed-off-by: dependabot[bot] + signed-off-by: dependabot[bot] + author: dependabot[bot] + nested: [] + version: 14.11.3 + title: "" + date: 2023-10-16T15:04:28.560Z - commits: - subject: Update grafana/loki Docker tag to v2.9.2 hash: 8d4b57291b025566c940bb3333868b937143ab96 diff --git a/CHANGELOG.md b/CHANGELOG.md index a31c97005..e94044f7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.11.3 - 2023-10-16 + +* Bump @babel/traverse from 7.21.2 to 7.23.2 [dependabot[bot]] + ## 14.11.2 - 2023-10-16 * Update grafana/loki Docker tag to v2.9.2 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 5f75fc4b4..4b5123d36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.11.2", + "version": "14.11.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.11.2", + "version": "14.11.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 5cff11167..cf5cbe5a1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.11.2", + "version": "14.11.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-16T14:15:34.867Z" + "publishedAt": "2023-10-16T15:04:29.940Z" } } From c550641bb9dbff4bc18fdc42a6e603e4102b73d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Fri, 13 Oct 2023 14:28:29 -0300 Subject: [PATCH 161/221] Increase max webresource file Change-type: patch --- src/lib/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/config.ts b/src/lib/config.ts index abbe92972..6359c61a0 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -444,7 +444,7 @@ export const WEBRESOURCES_S3_SECRET_KEY = optionalVar( export const WEBRESOURCES_S3_BUCKET = optionalVar('WEBRESOURCES_S3_BUCKET'); export const WEBRESOURCES_S3_MAX_FILESIZE = intVar( 'WEBRESOURCES_S3_MAX_FILESIZE', - 10000000, + 500000000, ); export const WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH = optionalVar( 'WEBRESOURCES_CLOUDFRONT_PRIVATEKEY_PATH', From 26bf2c7f2a5db98d7ea27df53e973e3150900682 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 16 Oct 2023 16:00:19 +0000 Subject: [PATCH 162/221] v14.11.4 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index ecbe558ed..bb56a33d5 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Increase max webresource file + hash: 8f1e91c21ad750ba8475d5ccd2ea565b0a67b71f + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: 14.11.4 + title: "" + date: 2023-10-16T16:00:14.853Z - commits: - subject: Bump @babel/traverse from 7.21.2 to 7.23.2 hash: 19f8a7b4f13ed649f2ed0c6f86f7543ba3c84aaa diff --git a/CHANGELOG.md b/CHANGELOG.md index e94044f7c..709b06763 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.11.4 - 2023-10-16 + +* Increase max webresource file [Otávio Jacobi] + ## 14.11.3 - 2023-10-16 * Bump @babel/traverse from 7.21.2 to 7.23.2 [dependabot[bot]] diff --git a/package-lock.json b/package-lock.json index 4b5123d36..58d4cb101 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.11.3", + "version": "14.11.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.11.3", + "version": "14.11.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index cf5cbe5a1..e09e5e940 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.11.3", + "version": "14.11.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-16T15:04:29.940Z" + "publishedAt": "2023-10-16T16:00:15.940Z" } } From d71082864df2952b41d104a96399861b4fcecf6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Wed, 11 Oct 2023 11:39:00 -0300 Subject: [PATCH 163/221] Add release_asset Change-type: minor --- automation/fasttest.sh | 2 +- automation/test.sh | 2 +- docker-compose.test-custom.yml | 32 ++ src/balena-model.ts | 11 + src/balena.sbvr | 14 + src/lib/auth.ts | 1 + src/migrations/00084-create-release-asset.sql | 32 ++ test/23_release_asset.ts | 307 ++++++++++++++++++ .../create-release-asset/applications.json | 12 + .../create-release-asset/releases.json | 56 ++++ .../delete-release-asset/applications.json | 7 + .../delete-release-asset/release_asset.json | 8 + .../delete-release-asset/releases.json | 20 ++ .../retrieve-release-asset/applications.json | 12 + .../retrieve-release-asset/release_asset.json | 20 ++ .../retrieve-release-asset/releases.json | 56 ++++ test/fixtures/23-release-asset/sample.txt | 2 + .../update-release-asset/applications.json | 7 + .../update-release-asset/release_asset.json | 14 + .../update-release-asset/releases.json | 20 ++ test/test-lib/fileupload-helper.ts | 37 +++ test/test-lib/fixtures.ts | 25 ++ 22 files changed, 695 insertions(+), 2 deletions(-) create mode 100644 src/migrations/00084-create-release-asset.sql create mode 100644 test/23_release_asset.ts create mode 100644 test/fixtures/23-release-asset/create-release-asset/applications.json create mode 100644 test/fixtures/23-release-asset/create-release-asset/releases.json create mode 100644 test/fixtures/23-release-asset/delete-release-asset/applications.json create mode 100644 test/fixtures/23-release-asset/delete-release-asset/release_asset.json create mode 100644 test/fixtures/23-release-asset/delete-release-asset/releases.json create mode 100644 test/fixtures/23-release-asset/retrieve-release-asset/applications.json create mode 100644 test/fixtures/23-release-asset/retrieve-release-asset/release_asset.json create mode 100644 test/fixtures/23-release-asset/retrieve-release-asset/releases.json create mode 100644 test/fixtures/23-release-asset/sample.txt create mode 100644 test/fixtures/23-release-asset/update-release-asset/applications.json create mode 100644 test/fixtures/23-release-asset/update-release-asset/release_asset.json create mode 100644 test/fixtures/23-release-asset/update-release-asset/releases.json create mode 100644 test/test-lib/fileupload-helper.ts diff --git a/automation/fasttest.sh b/automation/fasttest.sh index e04a338b6..599b66b5d 100755 --- a/automation/fasttest.sh +++ b/automation/fasttest.sh @@ -37,7 +37,7 @@ if [[ ! -f ".materialized-config.json" ]]; then touch .materialized-config.json fi -docker compose -f docker-compose.test-custom.yml up --renew-anon-volumes --force-recreate --detach redis db +docker compose -f docker-compose.test-custom.yml up --renew-anon-volumes --force-recreate --detach redis db minio-server minio-client if [[ -z "$test_files" ]]; then echo "Running all tests" else diff --git a/automation/test.sh b/automation/test.sh index 09077d981..dea717db0 100755 --- a/automation/test.sh +++ b/automation/test.sh @@ -15,5 +15,5 @@ docker compose -f docker-compose.test-custom.yml run \ sut bash -c "npx mocha && npm run check-model-types-generated" # ensure redis and db have clean volumes -docker compose -f docker-compose.test-custom.yml up --force-recreate --renew-anon-volumes -d db redis loki +docker compose -f docker-compose.test-custom.yml up --force-recreate --renew-anon-volumes -d db redis loki minio-server minio-client docker compose -f docker-compose.test-custom.yml run --env NODE_ENV=production sut npx mocha diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index 9c137aece..ec64bff67 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -23,6 +23,30 @@ services: - "3100:3100" networks: - local-test + minio-server: + image: minio/minio + restart: always + environment: + MINIO_ROOT_USER: USERNAME + MINIO_ROOT_PASSWORD: PASSWORD + command: server /data --console-address ":9001" + ports: + - "43680:9000" + - "43697:9001" + networks: + - local-test + minio-client: + image: minio/mc + depends_on: + - minio-server + entrypoint: > + /bin/sh -c " + /usr/bin/mc config host add minio-server http://minio-server:9000 USERNAME PASSWORD; + /usr/bin/mc mb --ignore-existing minio-server/balena-pine-web-resources; + sleep infinity; + " + networks: + - local-test sut: build: context: ./ @@ -33,6 +57,7 @@ services: - "db" - "redis" - "loki" + - "minio-client" ports: - "9228:9229" networks: @@ -89,6 +114,12 @@ services: VPN_PORT: 5433 VPN_SERVICE_API_KEY: vpn_service_api_key VPN_SERVICE_CONNECTIONS: 5 + WEBRESOURCES_S3_ACCESS_KEY: USERNAME + WEBRESOURCES_S3_SECRET_KEY: PASSWORD + WEBRESOURCES_S3_REGION: devenv + WEBRESOURCES_S3_HOST: http://minio-server:9000 + WEBRESOURCES_S3_BUCKET: balena-pine-web-resources + WEBRESOURCES_S3_MAX_FILESIZE: 50000000 sut-fast: build: @@ -99,6 +130,7 @@ services: - "db" - "redis" - "loki" + - "minio-client" ports: - "9228:9229" networks: diff --git a/src/balena-model.ts b/src/balena-model.ts index 1ea3778df..88c7cb84f 100644 --- a/src/balena-model.ts +++ b/src/balena-model.ts @@ -505,6 +505,8 @@ export interface Release { version: object; release__has__tag_key?: ReleaseTag[]; release_tag?: ReleaseTag[]; + release__has__asset_key?: ReleaseAsset[]; + release_asset?: ReleaseAsset[]; image__is_part_of__release?: ImageIsPartOfRelease[]; release_image?: ImageIsPartOfRelease[]; contains__image?: ImageIsPartOfRelease[]; @@ -580,6 +582,15 @@ export interface DeviceTypeAlias { id: number; } +export interface ReleaseAsset { + created_at: DateString; + modified_at: DateString; + release: { __id: number } | [Release]; + asset_key: string; + id: number; + asset: WebResource; +} + export interface MyApplication { created_at: DateString; modified_at: DateString; diff --git a/src/balena.sbvr b/src/balena.sbvr index ec352c508..9508c5271 100644 --- a/src/balena.sbvr +++ b/src/balena.sbvr @@ -91,6 +91,12 @@ Term: api secret Term: app name Concept Type: Text (Type) +Term: asset + Concept Type: WebResource (Type) + +Term: asset key + Concept Type: Short Text (Type) + Term: build log Concept Type: Text (Type) @@ -703,6 +709,14 @@ Fact type: release has note Fact type: release has invalidation reason Necessity: each release has at most one invalidation reason. Necessity: each release that has an invalidation reason, is invalidated. +Fact type: release has asset key + Term Form: release asset + Database Table Name: release asset + Necessity: each release asset has an asset key that has a Length (Type) that is greater than 0. + +-- release asset +Fact type: release asset has asset + Necessity: each release asset has exactly one asset. -- service environment variable diff --git a/src/lib/auth.ts b/src/lib/auth.ts index 89d32fa66..f5970e3c9 100644 --- a/src/lib/auth.ts +++ b/src/lib/auth.ts @@ -72,6 +72,7 @@ export const ROLES: { 'resin.service_label.all', 'resin.user.read', `resin.user__has__public_key.all?${matchesUser}`, + 'resin.release_asset.all', ], }; diff --git a/src/migrations/00084-create-release-asset.sql b/src/migrations/00084-create-release-asset.sql new file mode 100644 index 000000000..e2f17972a --- /dev/null +++ b/src/migrations/00084-create-release-asset.sql @@ -0,0 +1,32 @@ +CREATE TABLE IF NOT EXISTS "release asset" ( + "created at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL +, "modified at" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL +, "release" INTEGER NOT NULL +, "asset key" VARCHAR(255) NOT NULL +, "id" SERIAL NOT NULL PRIMARY KEY +, "asset" JSONB NOT NULL +, FOREIGN KEY ("release") REFERENCES "release" ("id") +, UNIQUE("release", "asset key") +, -- It is necessary that each release asset has an asset key that has a Length (Type) that is greater than 0. +CONSTRAINT "release asset$p9L6VYTv4TOtRNnzupzjcGioRwtUZeiq0c2vYbePKko=" CHECK (0 < LENGTH("asset key") +AND LENGTH("asset key") IS NOT NULL +AND "asset key" = "asset key" +AND "asset key" IS NOT NULL) +); + +DO +$$ +BEGIN +IF NOT EXISTS( + SELECT 1 + FROM "information_schema"."triggers" + WHERE "event_object_table" = 'release asset' + AND "trigger_name" = 'release asset_trigger_update_modified_at' +) THEN + CREATE TRIGGER "release asset_trigger_update_modified_at" + BEFORE UPDATE ON "release asset" + FOR EACH ROW + EXECUTE PROCEDURE "trigger_update_modified_at"(); +END IF; +END; +$$ diff --git a/test/23_release_asset.ts b/test/23_release_asset.ts new file mode 100644 index 000000000..802a34def --- /dev/null +++ b/test/23_release_asset.ts @@ -0,0 +1,307 @@ +import { expect } from 'chai'; +import { sbvrUtils, permissions } from '@balena/pinejs'; +import * as fixtures from './test-lib/fixtures'; +import { supertest } from './test-lib/supertest'; +import { + checkFileExists, + expectEqualBlobs, +} from './test-lib/fileupload-helper'; +import { version } from './test-lib/versions'; + +const { api } = sbvrUtils; + +describe('release asset', function () { + describe('create release asset', function () { + before(async function () { + const fx = await fixtures.load('23-release-asset/create-release-asset'); + + this.loadedFixtures = fx; + this.user = fx.users.admin; + this.release1 = fx.releases.release1; + this.release2 = fx.releases.release2; + this.release3 = fx.releases.release3; + }); + + after(async function () { + await api.resin.delete({ + resource: 'release_asset', + passthrough: { req: permissions.root }, + options: { + $filter: { + release: { + $in: [this.release1.id, this.release2.id, this.release3.id], + }, + }, + }, + }); + await fixtures.clean(this.loadedFixtures); + }); + + const filePath = `${__dirname}/fixtures/23-release-asset/sample.txt`; + it('should succeed with mandatory properties', async function () { + const res = await supertest(this.user) + .post(`/${version}/release_asset`) + .field('release', this.release1.id) + .field('asset_key', 'unique_key_1') + .attach('asset', filePath, { + filename: 'sample.txt', + contentType: 'text/plain', + }) + .expect(201); + + expect(res.body).to.have.property('id').that.is.a('number'); + expect(res.body) + .to.have.nested.property('asset.href') + .that.is.a('string'); + expect(res.body) + .to.have.nested.property('release.__id') + .that.equals(this.release1.id); + expect(res.body.asset_key).to.be.equal('unique_key_1'); + + const href = res.body.asset.href; + expect(await checkFileExists(href, 450)).to.be.eq(true); + await expectEqualBlobs(href, filePath); + }); + + it('should succeed with same key for a different release', async function () { + const res = await supertest(this.user) + .post(`/${version}/release_asset`) + .field('release', this.release3.id) + .field('asset_key', 'unique_key_1') + .attach('asset', filePath, { + filename: 'sample.txt', + contentType: 'text/plain', + }) + .expect(201); + + expect(res.body).to.have.property('id').that.is.a('number'); + expect(res.body) + .to.have.nested.property('asset.href') + .that.is.a('string'); + expect(res.body) + .to.have.nested.property('release.__id') + .that.equals(this.release3.id); + expect(res.body.asset_key).to.be.equal('unique_key_1'); + + const href = res.body.asset.href; + expect(await checkFileExists(href, 450)).to.be.eq(true); + await expectEqualBlobs(href, filePath); + }); + + it('should fail when using duplicated key for that release', async function () { + await supertest(this.user) + .post(`/${version}/release_asset`) + .field('release', this.release1.id) + .field('asset_key', 'unique_key_1') + .attach('asset', filePath, { + filename: 'sample.txt', + contentType: 'text/plain', + }) + .expect(409, '"\\"release\\" and \\"asset_key\\" must be unique."'); + }); + + it('should fail when not passing release', async function () { + await supertest(this.user) + .post(`/${version}/release_asset`) + .field('release_key', 'unique_key_2') + .attach('asset', filePath, { + filename: 'sample.txt', + contentType: 'text/plain', + }) + .expect(500); // This should ideally be 4xx + }); + + it('should fail when not passing release asset key', async function () { + await supertest(this.user) + .post(`/${version}/release_asset`) + .field('release', this.release1.id) + .attach('asset', filePath, { + filename: 'sample.txt', + contentType: 'text/plain', + }) + .expect(500); // This should ideally be 4xx + }); + }); + + describe('retrieve release assets', function () { + before(async function () { + const fx = await fixtures.load('23-release-asset/retrieve-release-asset'); + this.loadedFixtures = fx; + this.user = fx.users.admin; + this.releaseasset1 = fx.release_asset.releaseasset1; + this.release1 = fx.releases.release1; + }); + + after(async function () { + await fixtures.clean(this.loadedFixtures); + }); + + it('should succeed when retrieving all assets', async function () { + const res = await supertest(this.user) + .get( + `/${version}/release_asset?$select=id,release,asset&$orderby=release asc`, + ) + .expect(200); + + expect(res.body).to.have.property('d').that.is.an('array'); + expect(res.body).to.have.nested.property('d.length', 3); + expect(res.body).to.have.nested.property('d[0].id').that.is.a('number'); + expect(res.body) + .to.have.nested.property('d[0].release.__id') + .that.is.a('number'); + expect(res.body) + .to.have.nested.property('d[0].asset.href') + .that.is.a('string'); + + expect(res.body).to.have.nested.property('d[1].id').that.is.a('number'); + expect(res.body) + .to.have.nested.property('d[1].release.__id') + .that.is.a('number'); + expect(res.body) + .to.have.nested.property('d[1].asset.href') + .that.is.a('string'); + + expect(res.body).to.have.nested.property('d[2].id').that.is.a('number'); + expect(res.body) + .to.have.nested.property('d[2].release.__id') + .that.is.a('number'); + expect(res.body) + .to.have.nested.property('d[2].asset.href') + .that.is.a('string'); + }); + + it('should succeed when requesting a specific release_asset', async function () { + const res = await supertest(this.user) + .get( + `/${version}/release_asset(${this.releaseasset1.id})?$select=id,release,asset`, + ) + .expect(200); + + expect(res.body).to.have.property('d').that.is.an('array'); + expect(res.body).to.have.nested.property('d.length', 1); + expect(res.body) + .to.have.nested.property('d[0].id') + .that.equals(this.releaseasset1.id); + expect(res.body) + .to.have.nested.property('d[0].asset.href') + .that.equals(this.releaseasset1.asset.href); + expect(res.body) + .to.have.nested.property('d[0].release.__id') + .that.equals(this.releaseasset1.release.__id); + }); + + it('should succeed when expanding a release', async function () { + const res = await supertest(this.user) + .get( + `/${version}/release(${this.release1.id})?$select=release_asset&$expand=release_asset($select=id,release,asset)`, + ) + .expect(200); + + expect(res.body).to.have.property('d').that.is.an('array'); + expect(res.body).to.have.nested.property('d.length', 1); + expect(res.body).to.have.nested.property('d[0]').that.is.an('object'); + expect(res.body) + .to.have.nested.property('d[0].release_asset') + .that.is.an('array'); + expect(res.body).to.have.nested.property('d[0].release_asset.length', 2); + expect(res.body) + .to.have.nested.property('d[0].release_asset[0].id') + .that.is.a('number'); + expect(res.body) + .to.have.nested.property('d[0].release_asset[1].id') + .that.is.a('number'); + }); + + it('should succeed when expanding a release_asset', async function () { + const res = await supertest(this.user) + .get( + `/${version}/release_asset(${this.releaseasset1.id})?$select=release&$expand=release($select=id)`, + ) + .expect(200); + + expect(res.body).to.have.property('d').that.is.an('array'); + expect(res.body).to.have.nested.property('d.length', 1); + expect(res.body) + .to.have.nested.property('d[0].release[0].id') + .that.equals(this.releaseasset1.release.__id); + }); + }); + + describe('update release_asset', function () { + before(async function () { + const fx = await fixtures.load('23-release-asset/update-release-asset'); + this.loadedFixtures = fx; + this.user = fx.users.admin; + this.releaseasset1 = fx.release_asset.releaseasset1; + this.releaseasset2 = fx.release_asset.releaseasset2; + }); + + after(async function () { + await fixtures.clean(this.loadedFixtures); + }); + + const filePath = `${__dirname}/fixtures/23-release-asset/sample.txt`; + it('should succeed', async function () { + await supertest(this.user) + .patch(`/${version}/release_asset(${this.releaseasset1.id})`) + .attach('asset', filePath, { + filename: 'sample.txt', + contentType: 'text/plain', + }) + .expect(200); + + const res = await supertest(this.user) + .get( + `/${version}/release_asset(${this.releaseasset1.id})?$select=id,release,asset`, + ) + .expect(200); + + expect(res.body).to.have.property('d').that.is.an('array'); + expect(res.body).to.have.nested.property('d.length', 1); + expect(res.body) + .to.have.nested.property('d[0].id') + .that.equals(this.releaseasset1.id); + expect(res.body) + .to.have.nested.property('d[0].release.__id') + .that.equals(this.releaseasset1.release.__id); + + const href = res.body.d[0].asset.href; + + expect(res.body.d[0].asset.size).to.equals(39); + expect(await checkFileExists(href, 450)).to.be.eq(true); + await expectEqualBlobs(href, filePath); + }); + + it('should fail to update key if another key has the same name', async function () { + await supertest(this.user) + .patch(`/${version}/release_asset(${this.releaseasset1.id})`) + .field('asset_key', this.releaseasset2.asset_key) + .expect(409, '"\\"release\\" and \\"asset_key\\" must be unique."'); + }); + }); + + describe('delete release asset', function () { + before(async function () { + const fx = await fixtures.load('23-release-asset/delete-release-asset'); + this.loadedFixtures = fx; + this.user = fx.users.admin; + this.releaseasset1 = fx.release_asset.releaseasset1; + }); + + after(async function () { + await fixtures.clean(this.loadedFixtures); + }); + + it('should succeed', async function () { + await supertest(this.user) + .del(`/${version}/release_asset(${this.releaseasset1.id})`) + .expect(200); + + const res = await supertest(this.user) + .get(`/${version}/release_asset(${this.releaseasset1.id})`) + .expect(200); + + expect(res.body).to.have.nested.property('d.length', 0); + }); + }); +}); diff --git a/test/fixtures/23-release-asset/create-release-asset/applications.json b/test/fixtures/23-release-asset/create-release-asset/applications.json new file mode 100644 index 000000000..8f3b55f93 --- /dev/null +++ b/test/fixtures/23-release-asset/create-release-asset/applications.json @@ -0,0 +1,12 @@ +{ + "app1": { + "user": "admin", + "app_name": "test_create_release_asset", + "device_type": "raspberry-pi" + }, + "app2": { + "user": "admin", + "app_name": "test_create_release_asset_other", + "device_type": "raspberry-pi" + } +} diff --git a/test/fixtures/23-release-asset/create-release-asset/releases.json b/test/fixtures/23-release-asset/create-release-asset/releases.json new file mode 100644 index 000000000..181635367 --- /dev/null +++ b/test/fixtures/23-release-asset/create-release-asset/releases.json @@ -0,0 +1,56 @@ +{ + "release1": { + "user": "admin", + "application": "app1", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000001", + "is_final": false + }, + "release2": { + "user": "admin", + "application": "app2", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000002", + "is_final": false + }, + "release3": { + "user": "admin", + "application": "app1", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000003", + "is_final": false + } +} diff --git a/test/fixtures/23-release-asset/delete-release-asset/applications.json b/test/fixtures/23-release-asset/delete-release-asset/applications.json new file mode 100644 index 000000000..ca8c37d64 --- /dev/null +++ b/test/fixtures/23-release-asset/delete-release-asset/applications.json @@ -0,0 +1,7 @@ +{ + "app1": { + "user": "admin", + "app_name": "test_delete_release_asset", + "device_type": "raspberry-pi" + } +} diff --git a/test/fixtures/23-release-asset/delete-release-asset/release_asset.json b/test/fixtures/23-release-asset/delete-release-asset/release_asset.json new file mode 100644 index 000000000..0b91139d0 --- /dev/null +++ b/test/fixtures/23-release-asset/delete-release-asset/release_asset.json @@ -0,0 +1,8 @@ +{ + "releaseasset1": { + "user": "admin", + "release": "release1", + "asset_key": "delete_release_asset.txt", + "asset": "delete_release_asset.txt" + } +} diff --git a/test/fixtures/23-release-asset/delete-release-asset/releases.json b/test/fixtures/23-release-asset/delete-release-asset/releases.json new file mode 100644 index 000000000..07361be9e --- /dev/null +++ b/test/fixtures/23-release-asset/delete-release-asset/releases.json @@ -0,0 +1,20 @@ +{ + "release1": { + "user": "admin", + "application": "app1", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000001", + "is_final": false + } +} diff --git a/test/fixtures/23-release-asset/retrieve-release-asset/applications.json b/test/fixtures/23-release-asset/retrieve-release-asset/applications.json new file mode 100644 index 000000000..84e9375dd --- /dev/null +++ b/test/fixtures/23-release-asset/retrieve-release-asset/applications.json @@ -0,0 +1,12 @@ +{ + "app1": { + "user": "admin", + "app_name": "test_retrieve_release_asset", + "device_type": "raspberry-pi" + }, + "app2": { + "user": "admin", + "app_name": "test_retrieve_release_asset_other", + "device_type": "raspberry-pi" + } +} diff --git a/test/fixtures/23-release-asset/retrieve-release-asset/release_asset.json b/test/fixtures/23-release-asset/retrieve-release-asset/release_asset.json new file mode 100644 index 000000000..76ed86346 --- /dev/null +++ b/test/fixtures/23-release-asset/retrieve-release-asset/release_asset.json @@ -0,0 +1,20 @@ +{ + "releaseasset1": { + "user": "admin", + "release": "release1", + "asset_key": "retrievereleaseasset1.txt", + "asset": "retrievereleaseasset1.txt" + }, + "releaseasset2": { + "user": "admin", + "release": "release1", + "asset_key": "retrievereleaseasset2.txt", + "asset": "retrievereleaseasset2.txt" + }, + "releaseasset3": { + "user": "admin", + "release": "release3", + "asset_key": "retrievereleaseasset3.txt", + "asset": "retrievereleaseasset3.txt" + } +} diff --git a/test/fixtures/23-release-asset/retrieve-release-asset/releases.json b/test/fixtures/23-release-asset/retrieve-release-asset/releases.json new file mode 100644 index 000000000..181635367 --- /dev/null +++ b/test/fixtures/23-release-asset/retrieve-release-asset/releases.json @@ -0,0 +1,56 @@ +{ + "release1": { + "user": "admin", + "application": "app1", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000001", + "is_final": false + }, + "release2": { + "user": "admin", + "application": "app2", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000002", + "is_final": false + }, + "release3": { + "user": "admin", + "application": "app1", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000003", + "is_final": false + } +} diff --git a/test/fixtures/23-release-asset/sample.txt b/test/fixtures/23-release-asset/sample.txt new file mode 100644 index 000000000..ba15361a8 --- /dev/null +++ b/test/fixtures/23-release-asset/sample.txt @@ -0,0 +1,2 @@ +sample testing +file for release assets diff --git a/test/fixtures/23-release-asset/update-release-asset/applications.json b/test/fixtures/23-release-asset/update-release-asset/applications.json new file mode 100644 index 000000000..7e3afe79e --- /dev/null +++ b/test/fixtures/23-release-asset/update-release-asset/applications.json @@ -0,0 +1,7 @@ +{ + "app1": { + "user": "admin", + "app_name": "test_update_release_asset", + "device_type": "raspberry-pi" + } +} diff --git a/test/fixtures/23-release-asset/update-release-asset/release_asset.json b/test/fixtures/23-release-asset/update-release-asset/release_asset.json new file mode 100644 index 000000000..bf3676624 --- /dev/null +++ b/test/fixtures/23-release-asset/update-release-asset/release_asset.json @@ -0,0 +1,14 @@ +{ + "releaseasset1": { + "user": "admin", + "release": "release1", + "asset_key": "update_release_asset.txt", + "asset": "update_release_asset.txt" + }, + "releaseasset2": { + "user": "admin", + "release": "release1", + "asset_key": "update_release_asset2.txt", + "asset": "update_release_asset2.txt" + } +} diff --git a/test/fixtures/23-release-asset/update-release-asset/releases.json b/test/fixtures/23-release-asset/update-release-asset/releases.json new file mode 100644 index 000000000..07361be9e --- /dev/null +++ b/test/fixtures/23-release-asset/update-release-asset/releases.json @@ -0,0 +1,20 @@ +{ + "release1": { + "user": "admin", + "application": "app1", + "composition": { + "services": { + "image1": { + "build": "./image1/" + }, + "image2": { + "build": "./image2/" + } + } + }, + "status": "success", + "source": "cloud", + "commit": "00000001", + "is_final": false + } +} diff --git a/test/test-lib/fileupload-helper.ts b/test/test-lib/fileupload-helper.ts new file mode 100644 index 000000000..6cdf9a40b --- /dev/null +++ b/test/test-lib/fileupload-helper.ts @@ -0,0 +1,37 @@ +import * as fs from 'fs/promises'; +import { requestAsync } from '../../src/infra/request-promise'; +import { expect } from 'chai'; + +export async function checkFileExists( + url: string, + timeout = 10000, + pollInterval = 500, +) { + const start = Date.now(); + while (Date.now() - start < timeout) { + try { + const [response] = await requestAsync({ url, method: 'GET' }); + if (response.statusCode !== 200) { + return false; + } + } catch (error) { + console.error(error); + } + await new Promise((resolve) => setTimeout(resolve, pollInterval)); + } + return true; +} + +export async function expectEqualBlobs(url: string, localBlobPath: string) { + const [response, fileRes] = await requestAsync({ + url, + method: 'GET', + encoding: null, + }); + + expect(response.statusCode).to.be.eq(200); + + const originalFile = await fs.readFile(localBlobPath); + const diff = originalFile.compare(fileRes); + expect(diff).to.be.eq(0); +} diff --git a/test/test-lib/fixtures.ts b/test/test-lib/fixtures.ts index 4164a344a..a3f5136a1 100644 --- a/test/test-lib/fixtures.ts +++ b/test/test-lib/fixtures.ts @@ -9,6 +9,7 @@ import { Headers } from 'request'; import { API_HOST } from '../../src/lib/config'; import { requestAsync } from '../../src/infra/request-promise'; import { version } from './versions'; +import { supertest } from './supertest'; const { api } = sbvrUtils; @@ -206,6 +207,28 @@ const loaders: Dictionary = { } return release; }, + release_asset: async (jsonData, fixtures) => { + const user = await fixtures.users[jsonData.user]; + if (user == null) { + logErrorAndThrow(`Could not find user: ${jsonData.user}`); + } + const release = await fixtures.releases[jsonData.release]; + if (release == null) { + logErrorAndThrow(`Could not find release: ${jsonData.release}`); + } + + let req = supertest(user).post('/v6/release_asset'); + + req = req.field('release', release.id); + req = req.field('asset_key', jsonData.asset_key); + req = req.attach('asset', Buffer.from([1, 2, 3]), { + filename: jsonData.asset, + contentType: 'image/png', + }); + + const res = await req.expect(201); + return res.body; + }, release_tags: async (jsonData, fixtures) => { const user = await fixtures.users[jsonData.user]; if (user == null) { @@ -450,6 +473,7 @@ const deleteResource = (resource: string) => async (obj: { id: number }) => { const modelUnloadOrder = [ 'devices', + 'release_asset', 'applications', 'releases', 'image_install', @@ -464,6 +488,7 @@ const unloaders: { applications: deleteResource('application'), releases: deleteResource('release'), image_install: deleteResource('image_install'), + release_asset: deleteResource('release_asset'), }; export const clean = async (fixtures: AnyObject) => { From 799073320e1a5fcf3ce1a0c16377a1e01e9414b7 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 14:51:41 +0000 Subject: [PATCH 164/221] v14.12.0 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index bb56a33d5..6a43efbe8 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Add release_asset + hash: 113d05d4d3efe7e46f6f5cd5e7f37c17a1f7f867 + body: "" + footer: + Change-type: minor + change-type: minor + author: Otávio Jacobi + nested: [] + version: 14.12.0 + title: "" + date: 2023-10-17T14:51:35.643Z - commits: - subject: Increase max webresource file hash: 8f1e91c21ad750ba8475d5ccd2ea565b0a67b71f diff --git a/CHANGELOG.md b/CHANGELOG.md index 709b06763..85aebd238 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.12.0 - 2023-10-17 + +* Add release_asset [Otávio Jacobi] + ## 14.11.4 - 2023-10-16 * Increase max webresource file [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index 58d4cb101..aadd2209e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.11.4", + "version": "14.12.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.11.4", + "version": "14.12.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index e09e5e940..7180bce97 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.11.4", + "version": "14.12.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-16T16:00:15.940Z" + "publishedAt": "2023-10-17T14:51:36.637Z" } } From 8f2b3253f847ec1d3bee44280e2d4469ef97ef24 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 19:05:28 +0000 Subject: [PATCH 165/221] Update dependency lint-staged to v15 Update lint-staged from 14.0.1 to 15.0.0 Change-type: patch --- package-lock.json | 86 +++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 46 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index aadd2209e..7be5ef6b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -108,7 +108,7 @@ "chai": "^4.3.7", "copyfiles": "^2.4.1", "husky": "^8.0.3", - "lint-staged": "^14.0.0", + "lint-staged": "^15.0.0", "mocha": "^10.2.0", "mockery": "^2.1.0", "nock": "^13.3.0", @@ -7381,28 +7381,40 @@ } }, "node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/execa/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -8021,12 +8033,12 @@ } }, "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8325,12 +8337,12 @@ } }, "node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, "engines": { - "node": ">=14.18.0" + "node": ">=16.17.0" } }, "node_modules/husky": { @@ -9157,27 +9169,27 @@ "dev": true }, "node_modules/lint-staged": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.1.tgz", - "integrity": "sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==", + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.0.1.tgz", + "integrity": "sha512-2IU5OWmCaxch0X0+IBF4/v7sutpB+F3qoXbro43pYjQTOo5wumckjxoxn47pQBqqBsCWrD5HnI2uG/zJA7isew==", "dev": true, "dependencies": { "chalk": "5.3.0", - "commander": "11.0.0", + "commander": "11.1.0", "debug": "4.3.4", - "execa": "7.2.0", + "execa": "8.0.1", "lilconfig": "2.1.0", - "listr2": "6.6.1", + "listr2": "7.0.1", "micromatch": "4.0.5", "pidtree": "0.6.0", "string-argv": "0.3.2", - "yaml": "2.3.1" + "yaml": "2.3.2" }, "bin": { "lint-staged": "bin/lint-staged.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.12.0" }, "funding": { "url": "https://opencollective.com/lint-staged" @@ -9196,27 +9208,27 @@ } }, "node_modules/lint-staged/node_modules/commander": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz", - "integrity": "sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, "engines": { "node": ">=16" } }, "node_modules/lint-staged/node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", "dev": true, "engines": { "node": ">= 14" } }, "node_modules/listr2": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-6.6.1.tgz", - "integrity": "sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-7.0.1.tgz", + "integrity": "sha512-nz+7hwgbDp8eWNoDgzdl4hA/xDSLrNRzPu1TLgOYs6l5Y+Ma6zVWWy9Oyt9TQFONwKoSPoka3H50D3vD5EuNwg==", "dev": true, "dependencies": { "cli-truncate": "^3.1.0", @@ -9228,14 +9240,6 @@ }, "engines": { "node": ">=16.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } } }, "node_modules/listr2/node_modules/ansi-regex": { diff --git a/package.json b/package.json index 7180bce97..aa20722bb 100644 --- a/package.json +++ b/package.json @@ -132,7 +132,7 @@ "chai": "^4.3.7", "copyfiles": "^2.4.1", "husky": "^8.0.3", - "lint-staged": "^14.0.0", + "lint-staged": "^15.0.0", "mocha": "^10.2.0", "mockery": "^2.1.0", "nock": "^13.3.0", From 775fbd6d969f46c7c3a77c92f1ae65f310e2fc73 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 01:42:24 +0000 Subject: [PATCH 166/221] v14.12.1 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 6a43efbe8..778b14a41 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency lint-staged to v15 + hash: a1d068f4de02ec0821a68d344a1c91adb5abfb55 + body: | + Update lint-staged from 14.0.1 to 15.0.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.12.1 + title: "" + date: 2023-10-18T01:42:19.918Z - commits: - subject: Add release_asset hash: 113d05d4d3efe7e46f6f5cd5e7f37c17a1f7f867 diff --git a/CHANGELOG.md b/CHANGELOG.md index 85aebd238..685818ec4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.12.1 - 2023-10-18 + +* Update dependency lint-staged to v15 [Self-hosted Renovate Bot] + ## 14.12.0 - 2023-10-17 * Add release_asset [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index 7be5ef6b5..f2824664f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.12.0", + "version": "14.12.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.12.0", + "version": "14.12.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index aa20722bb..21f6fe420 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.12.0", + "version": "14.12.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-17T14:51:36.637Z" + "publishedAt": "2023-10-18T01:42:20.870Z" } } From 807c0955ea1ce9ee47034cd96b0f8e2945a93588 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Tue, 17 Oct 2023 12:24:20 +0300 Subject: [PATCH 167/221] Fix the request.creds typings Change-type: patch --- src/features/request-logging/index.ts | 11 +++++++---- typings/express-extension.d.ts | 3 +++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/features/request-logging/index.ts b/src/features/request-logging/index.ts index 837a163f2..c4f28b650 100644 --- a/src/features/request-logging/index.ts +++ b/src/features/request-logging/index.ts @@ -18,14 +18,17 @@ export const skipLogging: RequestHandler = (req, _res, next) => { // - u/ - user ID; used whenever we can extract a user info about the calls (both for API key and JWT auth); // - s/ - service name; used when an internal balena service is making an API request. const getCallerId = (req: Request) => { - if (req.creds?.service || req.apiKey?.permissions?.includes('service')) { + if ( + (req.creds != null && 'service' in req.creds && req.creds.service) || + req.apiKey?.permissions?.includes('service') + ) { return `s/${getServiceFromRequest(req) || 'unknown'}`; } - if (req.creds) { - if (req.creds.actor) { + if (req.creds != null) { + if ('actor' in req.creds && req.creds.actor) { return `a/${req.creds.actor}`; } - if (req.creds.id) { + if ('id' in req.creds && req.creds.id) { return `u/${req.creds.id}`; } } diff --git a/typings/express-extension.d.ts b/typings/express-extension.d.ts index 9e7f0a4d4..3e407753a 100644 --- a/typings/express-extension.d.ts +++ b/typings/express-extension.d.ts @@ -1,5 +1,8 @@ // Augment express.js with balena-specific attributes via declaration merging. declare namespace Express { + import type { Creds } from '../src/infra/auth/jwt-passport'; + // For some reason TS doesn't like v so we had to use `import()` + // import type { User as ApiUser } from '../src/infra/auth/jwt-passport'; type ApiUser = import('../src/infra/auth/jwt-passport').User; // Augment Express.User to include the props of our ApiUser. From 23e67674cbcb362c8fcf3492eea15a0e99c71663 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 08:16:49 +0000 Subject: [PATCH 168/221] v14.12.2 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 778b14a41..972f45694 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Fix the request.creds typings + hash: 1e6e116e14957ed516335d04a1c41473aa4e1be4 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.12.2 + title: "" + date: 2023-10-18T08:16:42.935Z - commits: - subject: Update dependency lint-staged to v15 hash: a1d068f4de02ec0821a68d344a1c91adb5abfb55 diff --git a/CHANGELOG.md b/CHANGELOG.md index 685818ec4..0bd54754c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.12.2 - 2023-10-18 + +* Fix the request.creds typings [Thodoris Greasidis] + ## 14.12.1 - 2023-10-18 * Update dependency lint-staged to v15 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index f2824664f..0995b2869 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.12.1", + "version": "14.12.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.12.1", + "version": "14.12.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 21f6fe420..98aadbc77 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.12.1", + "version": "14.12.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-18T01:42:20.870Z" + "publishedAt": "2023-10-18T08:16:43.894Z" } } From d92bc135f86fd297e9bb009e2273d6c6c6900272 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:02:41 +0000 Subject: [PATCH 169/221] Update balena/open-balena-base Docker tag to v16.0.9 Update balena/open-balena-base from 16.0.8 to 16.0.9 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0285ae6ea..0127986ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.8 as runtime +FROM balena/open-balena-base:v16.0.9 as runtime EXPOSE 80 From a8bf3e20c1203308da7148a1323780dd53d7ca19 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 22:12:53 +0000 Subject: [PATCH 170/221] v14.12.3 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 972f45694..12c4161e7 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.9 + hash: 3cf1c42860bd6ccdcd0ff6811b26a3746d07124e + body: | + Update balena/open-balena-base from 16.0.8 to 16.0.9 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v10.2.1 + hash: e2f7d7617d2941bafc41954c7538bef2a6909e10 + body: | + Update npm from 10.2.0 to 10.2.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.9 + title: "" + date: 2023-10-18T21:04:56.954Z + version: 14.12.3 + title: "" + date: 2023-10-18T22:12:44.881Z - commits: - subject: Fix the request.creds typings hash: 1e6e116e14957ed516335d04a1c41473aa4e1be4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bd54754c..49b8842e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.12.3 - 2023-10-18 + + +
+ Update balena/open-balena-base Docker tag to v16.0.9 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.9 - 2023-10-18 +> +> * Update dependency npm to v10.2.1 [Self-hosted Renovate Bot] +> + +
+ ## 14.12.2 - 2023-10-18 * Fix the request.creds typings [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 0995b2869..19fed839c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.12.2", + "version": "14.12.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.12.2", + "version": "14.12.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 98aadbc77..570809435 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.12.2", + "version": "14.12.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-18T08:16:43.894Z" + "publishedAt": "2023-10-18T22:12:47.228Z" } } From 2dff0d1601431434162151ee25af75b58bd36629 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 23:01:06 +0000 Subject: [PATCH 171/221] Update balena/open-balena-base Docker tag to v16.0.10 Update balena/open-balena-base from 16.0.9 to 16.0.10 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0127986ec..5d0c4c5ab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.9 as runtime +FROM balena/open-balena-base:v16.0.10 as runtime EXPOSE 80 From ce178162c5ce09d3cdd9b47daee2924940bf88d1 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 18 Oct 2023 23:10:49 +0000 Subject: [PATCH 172/221] v14.12.4 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 12c4161e7..f52240d8a 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.10 + hash: 4a6796cde94e65b00d5a44f199d218866557daf5 + body: | + Update balena/open-balena-base from 16.0.9 to 16.0.10 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency node to v20.8.1 + hash: 3944159d01d942aa9ccb8aa7b1f5ccf37264cfbe + body: | + Update node from 20.8.0 to 20.8.1 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.10 + title: "" + date: 2023-10-18T21:58:04.157Z + version: 14.12.4 + title: "" + date: 2023-10-18T23:10:41.981Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.9 hash: 3cf1c42860bd6ccdcd0ff6811b26a3746d07124e diff --git a/CHANGELOG.md b/CHANGELOG.md index 49b8842e5..3fb899f31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.12.4 - 2023-10-18 + + +
+ Update balena/open-balena-base Docker tag to v16.0.10 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.10 - 2023-10-18 +> +> * Update dependency node to v20.8.1 [Self-hosted Renovate Bot] +> + +
+ ## 14.12.3 - 2023-10-18 diff --git a/package-lock.json b/package-lock.json index 19fed839c..e877e4168 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.12.3", + "version": "14.12.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.12.3", + "version": "14.12.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 570809435..28af77e5b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.12.3", + "version": "14.12.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-18T22:12:47.228Z" + "publishedAt": "2023-10-18T23:10:44.292Z" } } From be382518a046524cae880678e0a4e1f575244fd7 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Thu, 19 Oct 2023 16:23:23 +0300 Subject: [PATCH 173/221] Add cascade deletes for release assets Change-type: patch --- src/features/cascade-delete/hooks.ts | 1 + test/23_release_asset.ts | 14 -------------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/src/features/cascade-delete/hooks.ts b/src/features/cascade-delete/hooks.ts index 69f4764cf..68e67bade 100644 --- a/src/features/cascade-delete/hooks.ts +++ b/src/features/cascade-delete/hooks.ts @@ -35,6 +35,7 @@ setupDeleteCascade('image__is_part_of__release', { }); setupDeleteCascade('release', { + release_asset: 'release', release_tag: 'release', image__is_part_of__release: 'is_part_of__release', image_install: 'is_provided_by__release', diff --git a/test/23_release_asset.ts b/test/23_release_asset.ts index 802a34def..34b739c91 100644 --- a/test/23_release_asset.ts +++ b/test/23_release_asset.ts @@ -1,5 +1,4 @@ import { expect } from 'chai'; -import { sbvrUtils, permissions } from '@balena/pinejs'; import * as fixtures from './test-lib/fixtures'; import { supertest } from './test-lib/supertest'; import { @@ -8,8 +7,6 @@ import { } from './test-lib/fileupload-helper'; import { version } from './test-lib/versions'; -const { api } = sbvrUtils; - describe('release asset', function () { describe('create release asset', function () { before(async function () { @@ -23,17 +20,6 @@ describe('release asset', function () { }); after(async function () { - await api.resin.delete({ - resource: 'release_asset', - passthrough: { req: permissions.root }, - options: { - $filter: { - release: { - $in: [this.release1.id, this.release2.id, this.release3.id], - }, - }, - }, - }); await fixtures.clean(this.loadedFixtures); }); From cdced308bcaf0c7d0ee8dbb28061988fec7da293 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:36:13 +0000 Subject: [PATCH 174/221] v14.12.5 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f52240d8a..883f384e5 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Add cascade deletes for release assets + hash: ea858b69aafc4948ad5005b88470d670849e52b5 + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.12.5 + title: "" + date: 2023-10-19T13:36:08.866Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.10 hash: 4a6796cde94e65b00d5a44f199d218866557daf5 diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fb899f31..c01b17c03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.12.5 - 2023-10-19 + +* Add cascade deletes for release assets [Thodoris Greasidis] + ## 14.12.4 - 2023-10-18 diff --git a/package-lock.json b/package-lock.json index e877e4168..d660dd2d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.12.4", + "version": "14.12.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.12.4", + "version": "14.12.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 28af77e5b..3252d4f29 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.12.4", + "version": "14.12.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-18T23:10:44.292Z" + "publishedAt": "2023-10-19T13:36:09.768Z" } } From 702c9dd5b2cf66f265e5b7a11ab94264ad283c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Thu, 19 Oct 2023 11:15:45 -0300 Subject: [PATCH 175/221] Add release_asset update asset_key tests Change-type: patch --- test/23_release_asset.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/test/23_release_asset.ts b/test/23_release_asset.ts index 34b739c91..48a673f05 100644 --- a/test/23_release_asset.ts +++ b/test/23_release_asset.ts @@ -264,6 +264,31 @@ describe('release asset', function () { .field('asset_key', this.releaseasset2.asset_key) .expect(409, '"\\"release\\" and \\"asset_key\\" must be unique."'); }); + + it('should fail to update key if another key has the same name with application/json body', async function () { + await supertest(this.user) + .patch(`/${version}/release_asset(${this.releaseasset1.id})`) + .send({ + asset_key: this.releaseasset2.asset_key, + }) + .expect(409, '"\\"release\\" and \\"asset_key\\" must be unique."'); + }); + + it('should succeed to update key with a different asset_key name with application/json body', async function () { + await supertest(this.user) + .patch(`/${version}/release_asset(${this.releaseasset1.id})`) + .send({ + asset_key: 'another_asset_key', + }) + .expect(200); + + const res = await supertest(this.user) + .get( + `/${version}/release_asset(${this.releaseasset1.id})?$select=id,asset_key`, + ) + .expect(200); + expect(res.body.d[0].asset_key).to.be.eq('another_asset_key'); + }); }); describe('delete release asset', function () { From 87e07802cbbee6d27f153d7303496b2f7429f2cc Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 19 Oct 2023 14:35:37 +0000 Subject: [PATCH 176/221] v14.12.6 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 883f384e5..4c6188da7 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Add release_asset update asset_key tests + hash: 032f5d4c42554fd94dcec6e7b24f4fe1ba33cc51 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: 14.12.6 + title: "" + date: 2023-10-19T14:35:33.930Z - commits: - subject: Add cascade deletes for release assets hash: ea858b69aafc4948ad5005b88470d670849e52b5 diff --git a/CHANGELOG.md b/CHANGELOG.md index c01b17c03..5b17a3b90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.12.6 - 2023-10-19 + +* Add release_asset update asset_key tests [Otávio Jacobi] + ## 14.12.5 - 2023-10-19 * Add cascade deletes for release assets [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index d660dd2d3..01d565392 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.12.5", + "version": "14.12.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.12.5", + "version": "14.12.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 3252d4f29..ceb3dd4af 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.12.5", + "version": "14.12.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-19T13:36:09.768Z" + "publishedAt": "2023-10-19T14:35:34.858Z" } } From d97fcab796431095900443fa8dd62f6e1f34ab0b Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Wed, 18 Oct 2023 14:12:34 +0300 Subject: [PATCH 177/221] multi-level-memoizee: Support local & global specific extra Cache options Change-type: minor --- src/infra/cache/multi-level-memoizee.ts | 129 +++++++++++++++++++++--- 1 file changed, 115 insertions(+), 14 deletions(-) diff --git a/src/infra/cache/multi-level-memoizee.ts b/src/infra/cache/multi-level-memoizee.ts index 5f483393f..eca35db71 100644 --- a/src/infra/cache/multi-level-memoizee.ts +++ b/src/infra/cache/multi-level-memoizee.ts @@ -16,42 +16,130 @@ type MultiCacheMemoizeeOpts any> = { max?: MemoizeeOptions['max']; } & Pick, 'preFetch' | 'normalizer'>; -const memoizeeSharedOptionsKeys = ['max', 'maxAge', 'preFetch'] as const; +const memoizeeExtraOptionsKeys = ['max', 'maxAge', 'preFetch'] as const; -type MultiCacheMemoizeeSharedOpts any> = Pick< - Exclude, 'max'>, - (typeof memoizeeSharedOptionsKeys)[number] +type AnyFunction = (...args: any[]) => any; + +type SharedMultiCacheMemoizeeExtraOpts = Exclude< + Partial>, + 'max' +>; + +type MultiCacheMemoizeeExtraOpts = Pick< + MultiCacheMemoizeeOpts, + (typeof memoizeeExtraOptionsKeys)[number] >; +const checkUnsupportedExtraCacheKeys = ( + opts: Partial> | undefined, + cacheType: string, +) => { + if (opts == null) { + return; + } + const remainingKeys = _.without( + Object.keys(opts), + ...memoizeeExtraOptionsKeys, + ); + if (remainingKeys != null && remainingKeys.length > 0) { + throw new Error(`Unsupported ${cacheType} cache options: ${remainingKeys}`); + } +}; + export interface MemoizedFn Promise> { (...args: Parameters): Promise>; delete: (...args: Parameters) => Promise; } +// TODO: Move these to common-types.ts once we make them part of the build output. +// This makes TS emit a union of `Record` for each `keyof T`. +type ToSinglePropUnions = { [K in keyof T]: Record }[keyof T]; +// Requires at least one of the properties of T to be defined aka NonEmptyPartial. +type AtLeastOneProp = Partial & ToSinglePropUnions; + +// The AtLeastOneProp makes the empty object only assignable to SharedMultiCacheMemoizeeExtraOpts so that +// we can use use `'local'|'global' in opts` to discriminate which of the two types of the union we have on hand. +type ExtraCacheOptsByType = AtLeastOneProp<{ + local: Partial> | false; + global: SharedMultiCacheMemoizeeExtraOpts; +}>; + +type ExtraCacheOpts = + | ExtraCacheOptsByType + // TODO: Drop SharedMultiCacheMemoizeeExtraOpts from the union in the next major and switch AtLeastOneProp to a plain Partial + /** + * @deprecated + */ + | SharedMultiCacheMemoizeeExtraOpts; + /** * A multi layer cache compatible with a subset of memoizee options * Note: `undefined`/`null` can only be locally cached so avoid if possible + * + * @example + * multiCacheMemoizee('test', { + * maxAge: 24 * HOURS, + * }, { + * local: false, // Disable the local cache + * }); + * + * @example + * multiCacheMemoizee('test', { + * maxAge: 1 * HOURS, + * }, { + * global: { + * maxAge: 24 * HOURS, // override the shared cache (redis) ttl + * } + * }); + * + * @example + * // deprecated extraCacheOpts notation + * multiCacheMemoizee('test', { + * maxAge: 1 * HOURS, + * }, { + * maxAge: 24 * HOURS, // override the shared cache (redis) ttl + * }); + */ +export function multiCacheMemoizee< + T extends (...args: any[]) => Promise, +>( + fn: T, + opts: types.RequiredField, 'undefinedAs'>, + extraCacheOpts?: ExtraCacheOptsByType, +): MemoizedFn; +export function multiCacheMemoizee< + T extends (...args: any[]) => Promise, +>( + fn: T, + opts: MultiCacheMemoizeeOpts, + extraCacheOpts?: ExtraCacheOptsByType, +): MemoizedFn; +/** + * @deprecated */ export function multiCacheMemoizee< T extends (...args: any[]) => Promise, >( fn: T, opts: types.RequiredField, 'undefinedAs'>, - sharedCacheOpts?: Partial>, + extraCacheOpts?: SharedMultiCacheMemoizeeExtraOpts, ): MemoizedFn; +/** + * @deprecated + */ export function multiCacheMemoizee< T extends (...args: any[]) => Promise, >( fn: T, opts: MultiCacheMemoizeeOpts, - sharedCacheOpts?: Partial>, + extraCacheOpts?: SharedMultiCacheMemoizeeExtraOpts, ): MemoizedFn; export function multiCacheMemoizee< T extends (...args: any[]) => Promise, >( fn: T, opts: MultiCacheMemoizeeOpts, - sharedCacheOpts?: Partial>, + extraCacheOpts?: ExtraCacheOpts, ): MemoizedFn { const { cacheKey = fn.name, @@ -68,13 +156,22 @@ export function multiCacheMemoizee< if (remainingKeys.length > 0) { throw new Error(`Unsupported options: ${remainingKeys}`); } - const remainingSharedCacheKeys = - sharedCacheOpts != null - ? _.without(Object.keys(sharedCacheOpts), ...memoizeeSharedOptionsKeys) - : null; - if (remainingSharedCacheKeys != null && remainingSharedCacheKeys.length > 0) { - throw new Error(`Unsupported shared cache options: ${remainingKeys}`); + + if ( + extraCacheOpts != null && + !('local' in extraCacheOpts) && + !('global' in extraCacheOpts) + ) { + extraCacheOpts = { + global: extraCacheOpts, + }; } + + if (extraCacheOpts?.local !== false) { + checkUnsupportedExtraCacheKeys(extraCacheOpts?.local, 'local'); + } + checkUnsupportedExtraCacheKeys(extraCacheOpts?.global, 'shared'); + if (promise !== true) { throw new Error('Only promise mode memoization is supported'); } @@ -105,7 +202,11 @@ export function multiCacheMemoizee< const multiCacheOpts: Parameters[1] = { default: { ...convertToMultiStoreOpts(opts), isCacheableValue: () => true }, - global: convertToMultiStoreOpts({ ...opts, ...sharedCacheOpts }), + local: + extraCacheOpts?.local === false + ? false + : convertToMultiStoreOpts({ ...opts, ...extraCacheOpts?.local }), + global: convertToMultiStoreOpts({ ...opts, ...extraCacheOpts?.global }), }; return multiCache(fn, cacheKey, normalizer, multiCacheOpts, undefinedAs); From 14403ed0ed03120d9cc2eb51a9302a5f8f18d224 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 20 Oct 2023 09:48:56 +0000 Subject: [PATCH 178/221] v14.13.0 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 4c6188da7..c0b483664 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: "multi-level-memoizee: Support local & global specific extra Cache + options" + hash: 3869ab9cbfda8e6e7a76be19cc3cb0a74ef743e9 + body: "" + footer: + Change-type: minor + change-type: minor + author: Thodoris Greasidis + nested: [] + version: 14.13.0 + title: "" + date: 2023-10-20T09:48:47.384Z - commits: - subject: Add release_asset update asset_key tests hash: 032f5d4c42554fd94dcec6e7b24f4fe1ba33cc51 diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b17a3b90..ca7ae936c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.0 - 2023-10-20 + +* multi-level-memoizee: Support local & global specific extra Cache options [Thodoris Greasidis] + ## 14.12.6 - 2023-10-19 * Add release_asset update asset_key tests [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index 01d565392..e2047d2f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.12.6", + "version": "14.13.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.12.6", + "version": "14.13.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index ceb3dd4af..564827f59 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.12.6", + "version": "14.13.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-19T14:35:34.858Z" + "publishedAt": "2023-10-20T09:48:48.485Z" } } From a7ae58812f02e576d83bcaad1ac2db608f4f7b83 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 00:01:16 +0000 Subject: [PATCH 179/221] Lock file maintenance Update Change-type: patch --- package-lock.json | 6442 +++++++++++++++++++-------------------------- 1 file changed, 2725 insertions(+), 3717 deletions(-) diff --git a/package-lock.json b/package-lock.json index e2047d2f0..57c10919f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -132,2306 +132,822 @@ } }, "node_modules/@aws-crypto/crc32": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz", - "integrity": "sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", "optional": true, "dependencies": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" } }, + "node_modules/@aws-crypto/crc32/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@aws-crypto/crc32c": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz", - "integrity": "sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", + "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", "optional": true, "dependencies": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" } }, + "node_modules/@aws-crypto/crc32c/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@aws-crypto/ie11-detection": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz", - "integrity": "sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", + "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", "optional": true, "dependencies": { "tslib": "^1.11.1" } }, + "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@aws-crypto/sha1-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz", - "integrity": "sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", + "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", "optional": true, "dependencies": { - "@aws-crypto/ie11-detection": "^2.0.0", - "@aws-crypto/supports-web-crypto": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" } }, + "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@aws-crypto/sha256-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz", - "integrity": "sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", + "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", "optional": true, "dependencies": { - "@aws-crypto/ie11-detection": "^2.0.0", - "@aws-crypto/sha256-js": "^2.0.0", - "@aws-crypto/supports-web-crypto": "^2.0.0", - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/ie11-detection": "^3.0.0", + "@aws-crypto/sha256-js": "^3.0.0", + "@aws-crypto/supports-web-crypto": "^3.0.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" } }, + "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@aws-crypto/sha256-js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz", - "integrity": "sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", + "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", "optional": true, "dependencies": { - "@aws-crypto/util": "^2.0.0", - "@aws-sdk/types": "^3.1.0", + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", "tslib": "^1.11.1" } }, + "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@aws-crypto/supports-web-crypto": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz", - "integrity": "sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", + "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", "optional": true, "dependencies": { "tslib": "^1.11.1" } }, + "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "optional": true + }, "node_modules/@aws-crypto/util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz", - "integrity": "sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", + "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.110.0", + "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-utf8-browser": "^3.0.0", "tslib": "^1.11.1" } }, - "node_modules/@aws-sdk/abort-controller": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.200.0.tgz", - "integrity": "sha512-YflVl9JEFjy0cco+40FAocQfFGZ7fR2tnYhQPqXtfCJ9ywikB2PnzN3G6TtvNCFaSG1tLwnI0LZphVbk89sDtw==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/abort-controller/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/abort-controller/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/chunked-blob-reader": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.188.0.tgz", - "integrity": "sha512-zkPRFZZPL3eH+kH86LDYYXImiClA1/sW60zYOjse9Pgka+eDJlvBN6hcYxwDEKjcwATYiSRR1aVQHcfCinlGXg==", - "optional": true, - "dependencies": { - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/chunked-blob-reader-native": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.188.0.tgz", - "integrity": "sha512-WielYjaAHfT/HAOW7Tj6yVeNdaOtts3aUm9Sf/3D+ElbCTGyaaMNfE4x0a+qn6dJZXewf1eAxybOIU5ftIeSGw==", - "optional": true, - "dependencies": { - "@aws-sdk/util-base64-browser": "3.188.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/chunked-blob-reader-native/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/chunked-blob-reader/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "node_modules/@aws-crypto/util/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "optional": true }, "node_modules/@aws-sdk/client-s3": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.200.0.tgz", - "integrity": "sha512-gwMImRT78eZZ2x/LuSU5AP2BNT6dqILGX4sllGd9vEL5/O3fVJqRCkLUvZMEer0fDN5uLAoQ5GtVZox/UZIzKA==", - "optional": true, - "dependencies": { - "@aws-crypto/sha1-browser": "2.0.0", - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.200.0", - "@aws-sdk/config-resolver": "3.200.0", - "@aws-sdk/credential-provider-node": "3.200.0", - "@aws-sdk/eventstream-serde-browser": "3.200.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.200.0", - "@aws-sdk/eventstream-serde-node": "3.200.0", - "@aws-sdk/fetch-http-handler": "3.200.0", - "@aws-sdk/hash-blob-browser": "3.200.0", - "@aws-sdk/hash-node": "3.200.0", - "@aws-sdk/hash-stream-node": "3.200.0", - "@aws-sdk/invalid-dependency": "3.200.0", - "@aws-sdk/md5-js": "3.200.0", - "@aws-sdk/middleware-bucket-endpoint": "3.200.0", - "@aws-sdk/middleware-content-length": "3.200.0", - "@aws-sdk/middleware-endpoint": "3.200.0", - "@aws-sdk/middleware-expect-continue": "3.200.0", - "@aws-sdk/middleware-flexible-checksums": "3.200.0", - "@aws-sdk/middleware-host-header": "3.200.0", - "@aws-sdk/middleware-location-constraint": "3.200.0", - "@aws-sdk/middleware-logger": "3.200.0", - "@aws-sdk/middleware-recursion-detection": "3.200.0", - "@aws-sdk/middleware-retry": "3.200.0", - "@aws-sdk/middleware-sdk-s3": "3.200.0", - "@aws-sdk/middleware-serde": "3.200.0", - "@aws-sdk/middleware-signing": "3.200.0", - "@aws-sdk/middleware-ssec": "3.200.0", - "@aws-sdk/middleware-stack": "3.200.0", - "@aws-sdk/middleware-user-agent": "3.200.0", - "@aws-sdk/node-config-provider": "3.200.0", - "@aws-sdk/node-http-handler": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/signature-v4-multi-region": "3.200.0", - "@aws-sdk/smithy-client": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/url-parser": "3.200.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.200.0", - "@aws-sdk/util-defaults-mode-node": "3.200.0", - "@aws-sdk/util-endpoints": "3.200.0", - "@aws-sdk/util-stream-browser": "3.200.0", - "@aws-sdk/util-stream-node": "3.200.0", - "@aws-sdk/util-user-agent-browser": "3.200.0", - "@aws-sdk/util-user-agent-node": "3.200.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.199.0", - "@aws-sdk/util-waiter": "3.200.0", - "@aws-sdk/xml-builder": "3.188.0", - "fast-xml-parser": "4.0.11", - "tslib": "^2.3.1" + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.433.0.tgz", + "integrity": "sha512-gCuV4kmmHPFrQIl53VxddIylqItarwyX9+ykNIxMoMcEcBVmJhmshV6M9Re+wzS8eUPB6maqurOKGu83YUMpIA==", + "optional": true, + "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.433.0", + "@aws-sdk/credential-provider-node": "3.433.0", + "@aws-sdk/middleware-bucket-endpoint": "3.433.0", + "@aws-sdk/middleware-expect-continue": "3.433.0", + "@aws-sdk/middleware-flexible-checksums": "3.433.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-location-constraint": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-sdk-s3": "3.433.0", + "@aws-sdk/middleware-signing": "3.433.0", + "@aws-sdk/middleware-ssec": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/signature-v4-multi-region": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.433.0", + "@aws-sdk/xml-builder": "3.310.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/eventstream-serde-browser": "^2.0.12", + "@smithy/eventstream-serde-config-resolver": "^2.0.12", + "@smithy/eventstream-serde-node": "^2.0.12", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-blob-browser": "^2.0.12", + "@smithy/hash-node": "^2.0.12", + "@smithy/hash-stream-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/md5-js": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-stream": "^2.0.17", + "@smithy/util-utf8": "^2.0.0", + "@smithy/util-waiter": "^2.0.12", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@aws-sdk/client-s3/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-s3/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/client-sso": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.200.0.tgz", - "integrity": "sha512-EyOSl3hlkrTE9i0bgIvtdvMpCMplmZcLlkMy2mx2LdPKO+AWFOjUN7i5RgpFa7YdZq/csHkcakooJi48OOgSVA==", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.200.0", - "@aws-sdk/fetch-http-handler": "3.200.0", - "@aws-sdk/hash-node": "3.200.0", - "@aws-sdk/invalid-dependency": "3.200.0", - "@aws-sdk/middleware-content-length": "3.200.0", - "@aws-sdk/middleware-endpoint": "3.200.0", - "@aws-sdk/middleware-host-header": "3.200.0", - "@aws-sdk/middleware-logger": "3.200.0", - "@aws-sdk/middleware-recursion-detection": "3.200.0", - "@aws-sdk/middleware-retry": "3.200.0", - "@aws-sdk/middleware-serde": "3.200.0", - "@aws-sdk/middleware-stack": "3.200.0", - "@aws-sdk/middleware-user-agent": "3.200.0", - "@aws-sdk/node-config-provider": "3.200.0", - "@aws-sdk/node-http-handler": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/smithy-client": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/url-parser": "3.200.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.200.0", - "@aws-sdk/util-defaults-mode-node": "3.200.0", - "@aws-sdk/util-endpoints": "3.200.0", - "@aws-sdk/util-user-agent-browser": "3.200.0", - "@aws-sdk/util-user-agent-node": "3.200.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.199.0", - "tslib": "^2.3.1" + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.433.0.tgz", + "integrity": "sha512-L7ksMP7UnYH+w52ly+m+s5vk8662VtyqJ+UduFEMPqKUHTFEm7w+CCw4Xfk3hl5GlVvqPvYWqBqv8eLKSHpCEQ==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.433.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@aws-sdk/client-sso/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-sso/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/client-sts": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.200.0.tgz", - "integrity": "sha512-9k3NlHDyaEdv5aUnt6V1wBugIl5fIL7AsKbvIH8+vCDaAknc9+9vLbxkBsskiOAh5rEWFeso60hjNJC+2ky5xQ==", - "optional": true, - "dependencies": { - "@aws-crypto/sha256-browser": "2.0.0", - "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.200.0", - "@aws-sdk/credential-provider-node": "3.200.0", - "@aws-sdk/fetch-http-handler": "3.200.0", - "@aws-sdk/hash-node": "3.200.0", - "@aws-sdk/invalid-dependency": "3.200.0", - "@aws-sdk/middleware-content-length": "3.200.0", - "@aws-sdk/middleware-endpoint": "3.200.0", - "@aws-sdk/middleware-host-header": "3.200.0", - "@aws-sdk/middleware-logger": "3.200.0", - "@aws-sdk/middleware-recursion-detection": "3.200.0", - "@aws-sdk/middleware-retry": "3.200.0", - "@aws-sdk/middleware-sdk-sts": "3.200.0", - "@aws-sdk/middleware-serde": "3.200.0", - "@aws-sdk/middleware-signing": "3.200.0", - "@aws-sdk/middleware-stack": "3.200.0", - "@aws-sdk/middleware-user-agent": "3.200.0", - "@aws-sdk/node-config-provider": "3.200.0", - "@aws-sdk/node-http-handler": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/smithy-client": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/url-parser": "3.200.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-base64-node": "3.188.0", - "@aws-sdk/util-body-length-browser": "3.188.0", - "@aws-sdk/util-body-length-node": "3.188.0", - "@aws-sdk/util-defaults-mode-browser": "3.200.0", - "@aws-sdk/util-defaults-mode-node": "3.200.0", - "@aws-sdk/util-endpoints": "3.200.0", - "@aws-sdk/util-user-agent-browser": "3.200.0", - "@aws-sdk/util-user-agent-node": "3.200.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.199.0", - "fast-xml-parser": "4.0.11", - "tslib": "^2.3.1" + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.433.0.tgz", + "integrity": "sha512-hQ+NLIcA1KRJ2qPdrtkJ3fOEVnehLLMlnB/I5mjg9K2UKjuiOufLao6tc5SyW9fseIL9AdX3fjJ8Unhg+y1RWg==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/credential-provider-node": "3.433.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-sdk-sts": "3.433.0", + "@aws-sdk/middleware-signing": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/region-config-resolver": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.433.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", + "fast-xml-parser": "4.2.5", + "tslib": "^2.5.0" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@aws-sdk/client-sts/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/client-sts/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/cloudfront-signer": { - "version": "3.398.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/cloudfront-signer/-/cloudfront-signer-3.398.0.tgz", - "integrity": "sha512-fyUty9SNI3oiOSvgVcK0S2OmihawzqWCR5TdcZ2EWbpiLk0V94U5BaKoIKu6jYY+57OgGjr/vUDrDideT/0cMw==", + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/cloudfront-signer/-/cloudfront-signer-3.433.0.tgz", + "integrity": "sha512-I86TTLVSAFb0nMVPWxNipVwkmf0dw0FEchoA1sJx5j9YPyBhc0gzg3Af1Qkzzty+Pkwwc+CtPbqHkYxbXI1tFg==", "dependencies": { - "@smithy/url-parser": "^2.0.5" + "@smithy/url-parser": "^2.0.12" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/config-resolver": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.200.0.tgz", - "integrity": "sha512-eq03XA4sPNJ6C3WbMLR5NPYQmS/S+TdFlNY044rG1ne0Mh+yrNPjIPggu42F4Xr5KtURB97et7bxSx1w7gvDeQ==", - "optional": true, - "dependencies": { - "@aws-sdk/signature-v4": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-config-provider": "3.188.0", - "@aws-sdk/util-middleware": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/config-resolver/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/config-resolver/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.200.0.tgz", - "integrity": "sha512-I2hlRxEqcwsmr0C44RD083QYJ3nDIZE3K8WBQjNetFi5qTzXlI1usrOlCMfaIbee6k3BBB+cXIX1Vp8RUNkNQQ==", - "optional": true, - "dependencies": { - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.200.0.tgz", - "integrity": "sha512-qvUeUuK2DSQ0eVKijzh1ccOj1xNojVCTf+ENDa2EhXPVQmpERbhQiamTeSkLcKYOtDKxyEK7YBlkczIt/BL2UQ==", + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.433.0.tgz", + "integrity": "sha512-Vl7Qz5qYyxBurMn6hfSiNJeUHSqfVUlMt0C1Bds3tCkl3IzecRWwyBOlxtxO3VCrgVeW3HqswLzCvhAFzPH6nQ==", "optional": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.200.0", - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/url-parser": "3.200.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-imds/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-imds/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.200.0.tgz", - "integrity": "sha512-6b8CbfxAw7UiWJ2GWSP/RhA2qxgo9iLZOunMqCqOlI627JEZb+oFKTzXwcORrrjpTKbfb/Q6/3ev5yGPonewHw==", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.200.0", - "@aws-sdk/credential-provider-imds": "3.200.0", - "@aws-sdk/credential-provider-sso": "3.200.0", - "@aws-sdk/credential-provider-web-identity": "3.200.0", - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/shared-ini-file-loader": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.433.0.tgz", + "integrity": "sha512-T+YhCOORyA4+i4T86FfFCmi/jPsmLOP6GAtScHp/K8XzB9XuVvJSZ+T8SUKeW6/9G9z3Az7dqeBVLcMdC6fFDA==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.433.0", + "@aws-sdk/credential-provider-process": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.433.0", + "@aws-sdk/credential-provider-web-identity": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-ini/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.200.0.tgz", - "integrity": "sha512-HpBiMJt+xvHBTf2BjJJwnH+gXf6JapX4cGk3nZlJxE8Uu6P0bIVeFnwD20+yQ5N6Pm0vsJuoA8MNz9vOiPjImg==", - "optional": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.200.0", - "@aws-sdk/credential-provider-imds": "3.200.0", - "@aws-sdk/credential-provider-ini": "3.200.0", - "@aws-sdk/credential-provider-process": "3.200.0", - "@aws-sdk/credential-provider-sso": "3.200.0", - "@aws-sdk/credential-provider-web-identity": "3.200.0", - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/shared-ini-file-loader": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.433.0.tgz", + "integrity": "sha512-uOTBJszqGJIX5SrH2YdN501cv9rW4ghuSkasxI9DL+sVV5YRMd/bwu6I3PphRyK7z4dosDEbJ1xoIuVR/W04HQ==", + "optional": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.433.0", + "@aws-sdk/credential-provider-ini": "3.433.0", + "@aws-sdk/credential-provider-process": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.433.0", + "@aws-sdk/credential-provider-web-identity": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@smithy/credential-provider-imds": "^2.0.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.200.0.tgz", - "integrity": "sha512-Juio3viiz/ywrb88viwNxfauaxG+MrD2gMbnCfGEtZgdvix6XBYc6bRd+F94yY23EYWiU1s1tfdlScCIVeYfqA==", + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.433.0.tgz", + "integrity": "sha512-W7FcGlQjio9Y/PepcZGRyl5Bpwb0uWU7qIUCh+u4+q2mW4D5ZngXg8V/opL9/I/p4tUH9VXZLyLGwyBSkdhL+A==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/shared-ini-file-loader": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-process/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.200.0.tgz", - "integrity": "sha512-62ktkTAcr51GYshZiQdJcukps1O9QZGwJrVrmY+VdpKwdfSoJygpXmpFGWWlMs+hDkXLcNl3oLOPa3T+fxqN9Q==", - "optional": true, - "dependencies": { - "@aws-sdk/client-sso": "3.200.0", - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/shared-ini-file-loader": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.200.0.tgz", - "integrity": "sha512-++C1vRu/9SJo3MJuC6ARMYfwNKkR2ioq0KDL2b4NQAIyQLgyw0hoOzPlfUgpfvyx0CnPecAoQIY8jGNWfdDSBA==", + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.433.0.tgz", + "integrity": "sha512-vuc2X7q/1HUAO/NowfnNMpRDoHw8H2lyZZzUc0lmamy6PDrEFBi/VTm1nStGPuS9egCFrYlkRHsfp50ukYGa5w==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" + "@aws-sdk/client-sso": "3.433.0", + "@aws-sdk/token-providers": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/eventstream-codec": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.200.0.tgz", - "integrity": "sha512-PnDl+Vo3Ck+aUmm12RbjJ4DPRfFl4BIa6S5+LyEZW3N0RKil1IuVgm5X5PjwEjAqNSgPQqX0y/xLb37Mq9r5EA==", - "optional": true, - "dependencies": { - "@aws-crypto/crc32": "2.0.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-hex-encoding": "3.188.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/eventstream-codec/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-codec/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/eventstream-serde-browser": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.200.0.tgz", - "integrity": "sha512-YobB/7VTeffzfYighvLZF342efG43xS+KzTFoBmr/22U/h2QiPhKdxoJlQMrGtjkDlnRG7oZrUfKhWTbjq/jBA==", - "optional": true, - "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-browser/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.200.0.tgz", - "integrity": "sha512-1TXUX4eothH292I2RY4onlymccZUg/cIt2bjXpmJaThLlAUKftHdVto/FxHH6ChTvQmKns4maL4+/OwErKjF6A==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-config-resolver/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-config-resolver/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/eventstream-serde-node": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.200.0.tgz", - "integrity": "sha512-vSXTk+yUpbn+X2ot/TR326/zKhJql/uZfE1FDvN2CztLRIKeNULLocQlc3Pz6QBeuWPmrWbWERearP4m5QqRWQ==", - "optional": true, - "dependencies": { - "@aws-sdk/eventstream-serde-universal": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-node/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/eventstream-serde-universal": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.200.0.tgz", - "integrity": "sha512-XoWwwTrq0rVAXpjsBbAJmo1cHqAVIvS68PwNxp7k8Z4q2tp3RNtSrh6R/BPvs5K7+r2knmlYqeXEG7a2s6hwzA==", - "optional": true, - "dependencies": { - "@aws-sdk/eventstream-codec": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-universal/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/eventstream-serde-universal/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.200.0.tgz", - "integrity": "sha512-sqYUn3sjEWy6Yx/mJXjGQcMxfJ1YsxqPGrE0qmMCa6EP6ENl1BWrX0eutQmwdCq85UiziYqxRpkflJ7nN2Abag==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/querystring-builder": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/fetch-http-handler/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/fetch-http-handler/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/hash-blob-browser": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.200.0.tgz", - "integrity": "sha512-ukG+MvQbHG+WnoicbhJjHE117F5WuseVuD4GL4FNxY+MHx+SzMoSAMz9t+jxzTP8r6mlYuPoHl05Gt6+0SFTvQ==", - "optional": true, - "dependencies": { - "@aws-sdk/chunked-blob-reader": "3.188.0", - "@aws-sdk/chunked-blob-reader-native": "3.188.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/hash-blob-browser/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/hash-blob-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/hash-node": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.200.0.tgz", - "integrity": "sha512-iQ0K85BteaiSq7V5LTsMbOSa9RckraOQ3eLtUaJ7u98ywByb7v6H96jfaFdAOAYE0SZ7n2Qp87d+zkHs3kxS5w==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-buffer-from": "3.188.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/hash-node/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/hash-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/hash-stream-node": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.200.0.tgz", - "integrity": "sha512-IJ1cCPEAOxSGKfH1zWEKxOQN7pnuI9K10knc1VCQ6Fm1HmHwQjsvU2o1XpPYxVIFZsZ08/n5N81id6DTTdGdCA==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/hash-stream-node/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/hash-stream-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.200.0.tgz", - "integrity": "sha512-M3g8U1Nahj9ef2Tqn26j03FIwHwQuIVps39i5P+dWEyFAfFJsdwMtrDI/neXmf7BPcbPFUH9MMcrOJpq/MxYBQ==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/invalid-dependency/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/invalid-dependency/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.188.0.tgz", - "integrity": "sha512-n69N4zJZCNd87Rf4NzufPzhactUeM877Y0Tp/F3KiHqGeTnVjYUa4Lv1vLBjqtfjYb2HWT3NKlYn5yzrhaEwiQ==", - "optional": true, - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/is-array-buffer/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/lib-storage": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.200.0.tgz", - "integrity": "sha512-isFNcUwS0FV+fstVAaqvhhH7hk8ph1UnD991oDuFXNL90GY9w81j2LmKpJJys8WJWSPk/JEUQqll4+7l6z4mjg==", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-endpoint": "3.200.0", - "@aws-sdk/smithy-client": "3.200.0", - "buffer": "5.6.0", - "events": "3.3.0", - "stream-browserify": "3.0.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "@aws-sdk/abort-controller": "^3.0.0", - "@aws-sdk/client-s3": "^3.0.0" - } - }, - "node_modules/@aws-sdk/lib-storage/node_modules/buffer": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", - "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", - "optional": true, - "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "node_modules/@aws-sdk/lib-storage/node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "optional": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/@aws-sdk/lib-storage/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/md5-js": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.200.0.tgz", - "integrity": "sha512-691KiDvlqWUzuSPKtDbS2RbsotgSG1u7h5ggXoagvXqsHkm7VPHrtCUo2rVxqQQ0fmzQYOE5jCnr+oF4n1s+GA==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "@aws-sdk/util-utf8-node": "3.199.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/md5-js/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/md5-js/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.200.0.tgz", - "integrity": "sha512-jYS5kksBtlAOHj2XLGNLxlMzHayWejsvG3Qk3lHZ2GFRBUV0yArbSU0U/gbAh/kHZbQ31dHJUXnrnrQZIDDx6Q==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-arn-parser": "3.188.0", - "@aws-sdk/util-config-provider": "3.188.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.200.0.tgz", - "integrity": "sha512-GOvtCgP0Q+dYvzWfn06DawaZbDkn+yz8p6R0UaoYMOWvpINFuR6kYu/tz9qjGhZsrjuDqVH+6mj6uuC87fupQQ==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-content-length/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-content-length/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.200.0.tgz", - "integrity": "sha512-r0OkdhjYqdv/iYM3KXj6LubQFZbM848FhAVuEiJEUNBFpUvhS6pCkmjhkd5QIUT+bhiD0gUj1OFzIHhQaHwyWA==", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-serde": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/signature-v4": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/url-parser": "3.200.0", - "@aws-sdk/util-config-provider": "3.188.0", - "@aws-sdk/util-middleware": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-endpoint/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-endpoint/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.200.0.tgz", - "integrity": "sha512-IH3adiZTn1/AcbuAMqsqbTReKn0xFjRqp/7rDqsdwNFuelw4eemi05mt86kQb4e93hO5skTNoZc7B7rd6gqRkQ==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.200.0.tgz", - "integrity": "sha512-fVw06kbfhDK0kmwcaVvdUGbsDRXNmhnbvJG34mU0iFt/biGR/lJfzy6/wwXlaOZzbkz0/ZAiv/R5uIEk2a2fKw==", - "optional": true, - "dependencies": { - "@aws-crypto/crc32": "2.0.0", - "@aws-crypto/crc32c": "2.0.0", - "@aws-sdk/is-array-buffer": "3.188.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.200.0.tgz", - "integrity": "sha512-oFRSUBXGBw6+QiOXgzu3cTPqAN97y+Lc3z2mDS3wJRqA4/Wmdzx/oTWhB5G0IsYSJHTevhZhfQPBLbhK5Ffehw==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.200.0.tgz", - "integrity": "sha512-kPG2Ke53ZFMf3BpAW+8mLpYvAq4GUqB9ho8WzmHJm9SlyPSrKkCyeXm89mr/XTLon6EZO/IkEVJtUZn9pmLHjQ==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.200.0.tgz", - "integrity": "sha512-uTtu1bCDqKQNLoZ0MkEsn102T4itNC5o7U+FDNSRHKYHPY6o1MbS9nbcOKywMDBqhEit5nNKCw9vOoz49N6zpw==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.200.0.tgz", - "integrity": "sha512-3Y5UaBBuBs3EE1NgYexhnOdFfozyxHvz4f/452b1K55IigJvovTl3TI46tFEkXiqhRs9bJZ/DiuakbsGfiKMFQ==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-retry": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.200.0.tgz", - "integrity": "sha512-9YVofOwxocbNDfTcNQfWJsOA9MVdZIu0T6or0fr54cn1q0WJ69IoFeHVUmCiOXy9HRTop3GC6Fyc5pQmjaRRcQ==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/service-error-classification": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-middleware": "3.200.0", - "tslib": "^2.3.1", - "uuid": "^8.3.2" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.200.0.tgz", - "integrity": "sha512-dIxigpsYSDRXcmqhH3KumCdgi/0357pN/qjGcu71TQyDCdeg6Y0dU986P8t84UEM869997y51JyIfGwLO2f9dg==", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-bucket-endpoint": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-arn-parser": "3.188.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-s3/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.200.0.tgz", - "integrity": "sha512-1kZVgK+hk5F4oFMbzjzvv5qZ4DXJfpXOrHRu7dpmOeV8KL+NKYqYq7BeToDMjTTTq8atTHlDyQ4YrlgaOHyVCQ==", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-signing": "3.200.0", - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/signature-v4": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-serde": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.200.0.tgz", - "integrity": "sha512-NDYLVC7UxIDvu906itssEJE5yobPdVhMuE3Ef3MEMk3UTawd8f7lmo40kzFDBS3cW/c4jluGiTsN8r+8fPc3oA==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-serde/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-serde/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-signing": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.200.0.tgz", - "integrity": "sha512-Guztdq7i/ZNWR68InHUJpSYpg668rNt+2N5z14SlWrZ8cup6ZHy3bRgzqClAPiXuHPKx9r9ysvczT6jCCyy+Xg==", - "optional": true, - "dependencies": { - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/signature-v4": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-middleware": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-signing/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.200.0.tgz", - "integrity": "sha512-Z8Dw8/DpK+lCFL/LgGsHsu6uL6vWNrRi8LydYjFrYosfW2LodFo09zwaPcWQ1CKjb1BDTV1KvZFB22naL7V2XA==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-ssec/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-ssec/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-stack": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.200.0.tgz", - "integrity": "sha512-j2uSX4Bv347/14zXz7v/PKcTvE/AXQbXu+BQ1IQgqji7e3AT9QYJMsUD4TMK0SLYvCfBEtpfDXkA6WitT/ZPSA==", - "optional": true, - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-stack/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.200.0.tgz", - "integrity": "sha512-RZ3cfaIIC3+xjm+raEb1xfOB/kJsH99mHHcVkOeGuKGzzYAG8wG1N6EYOZgqO2SaNsr87sx9fxCAd8A4X0wgRA==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/node-config-provider": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.200.0.tgz", - "integrity": "sha512-TUZB/7JZfFQ6Ra4AhFCt64JvScosSkNZmhBE3a5Wdbh1uQlhVoczMumWPs1Gsl9awmYGipsDhZybTeI9r0b66w==", - "optional": true, - "dependencies": { - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/shared-ini-file-loader": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/node-config-provider/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/node-config-provider/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/node-http-handler": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.200.0.tgz", - "integrity": "sha512-foqNf0qsHTdClogmtlzJgPk8/s/kEOjAnkMVwJwBPEjVTxTN8i5oC4rXUsPIZ7LOYBTz2QQGkl3vY6BBFMmVGw==", - "optional": true, - "dependencies": { - "@aws-sdk/abort-controller": "3.200.0", - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/querystring-builder": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/node-http-handler/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/node-http-handler/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/property-provider": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.200.0.tgz", - "integrity": "sha512-KABh7LSkcWXCkilBa/WY2PvyR5vRMn1nwa2HYu9s1UToHbPCxIG0/ybtQfWNwVR4x5AtNODQYZBqxpBYUwau8w==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/property-provider/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/property-provider/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/protocol-http": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.200.0.tgz", - "integrity": "sha512-P61hkZtXXaTTk/ap+WCOxX/IIRCH1lTap6Yy8RigcDmblh/BE+vDRqqRiTebIq/pWgOzQ67OjFJLxDkkS/OMKQ==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/protocol-http/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/protocol-http/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/querystring-builder": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.200.0.tgz", - "integrity": "sha512-r4q7oUkcYsnxeVaIUEPGEPPobyn1CpAn7NmeuK8c3Lq4MrcfTx11aQMEtklmW+hvzavNPFxgYyUNiDuIyiVd6A==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-uri-escape": "3.188.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/querystring-builder/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/querystring-builder/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/querystring-parser": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.200.0.tgz", - "integrity": "sha512-9C6c+fas2hMqvuCK8m7vwMqLb5W/x1Wib9yYJnBx40bOSdnOADRoRQitxCE07Iuq8aeHjPZYn1IhLhE9i9EmOg==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/querystring-parser/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/querystring-parser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.383.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.383.0.tgz", - "integrity": "sha512-LN4j5Fj7w+ecOAVFjwHbV0l9E7VgSvIzc/6g786pqSkSflwRnd6HQ6QfOlIJjxqtPBTfmbocphC8qt40XpZi0g==", - "optional": true, - "dependencies": { - "@aws-sdk/signature-v4-multi-region": "3.378.0", - "@aws-sdk/types": "3.378.0", - "@aws-sdk/util-format-url": "3.378.0", - "@smithy/middleware-endpoint": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/smithy-client": "^2.0.1", - "@smithy/types": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/s3-request-presigner/node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.378.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.378.0.tgz", - "integrity": "sha512-gtuABS7EeYZQeNzTrabY3Ruv4wWmoz4u8OMSGl47gYPDWA70WYEZ0aoi4zSGuKhXiqtVvTsO9wGEMIInwV5phQ==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.378.0", - "@smithy/protocol-http": "^2.0.1", - "@smithy/signature-v4": "^2.0.0", - "@smithy/types": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@aws-sdk/signature-v4-crt": "^3.118.0" - }, - "peerDependenciesMeta": { - "@aws-sdk/signature-v4-crt": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/s3-request-presigner/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/service-error-classification": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.200.0.tgz", - "integrity": "sha512-MFaMIJ/3v3C0XDerJDEfNYEquQXysnKtvuJJJWqPOPXMxCls4u8utyeXv0E6wO8ast6UW5xJKtzqEFRQ3t/+7w==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.200.0.tgz", - "integrity": "sha512-K7PxcJSsZ3ExdVsa6HP0l9f2kzsEeIfBn1bTBYsaacKmLeb1eUom+egSf5zr6cNmuyhPvKv0W7SbqYNC9MWTXg==", - "optional": true, - "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/shared-ini-file-loader/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/shared-ini-file-loader/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/signature-v4": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.200.0.tgz", - "integrity": "sha512-2xMRWwfHTIthwV97/ubWFnXwzh4lMEXcAzPTpuqGljAaG5mtExUTkAQqoNuJqt4wLconkN6QBbhN5fREtkUlRQ==", - "optional": true, - "dependencies": { - "@aws-sdk/is-array-buffer": "3.188.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-hex-encoding": "3.188.0", - "@aws-sdk/util-middleware": "3.200.0", - "@aws-sdk/util-uri-escape": "3.188.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.200.0.tgz", - "integrity": "sha512-XsXunksD4jg9r3/0ESE4Ycejzj6J4ldQA7SiCEHDAsUBZV4ZqTixQ/fUPXW3RCd2VR1pp7AEICVP2gs8DH2lJw==", - "optional": true, - "dependencies": { - "@aws-sdk/protocol-http": "3.200.0", - "@aws-sdk/signature-v4": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-arn-parser": "3.188.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "@aws-sdk/signature-v4-crt": "^3.118.0" - }, - "peerDependenciesMeta": { - "@aws-sdk/signature-v4-crt": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/signature-v4-multi-region/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4-multi-region/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/signature-v4/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/smithy-client": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.200.0.tgz", - "integrity": "sha512-3tZHcvTHADz9H7su9w/fOJavOOAsC5olYfVVgeqteaHaSojFOaNm8fD4KvluSAIDpHyHZPVPLZIHwcEwuc7j9A==", - "optional": true, - "dependencies": { - "@aws-sdk/middleware-stack": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/smithy-client/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/smithy-client/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/types": { - "version": "3.378.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.378.0.tgz", - "integrity": "sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w==", - "optional": true, - "dependencies": { - "@smithy/types": "^2.0.2", - "tslib": "^2.5.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/types/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/url-parser": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.200.0.tgz", - "integrity": "sha512-scoAdYsBRBcg4gNKcwVUZrQ4C/ewYWo2JLRjWcaptcGfcdCWcl6905iTzcE/n1OhmaqWJsmUL6YL5ERr/4x8lA==", - "optional": true, - "dependencies": { - "@aws-sdk/querystring-parser": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/url-parser/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/url-parser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.188.0.tgz", - "integrity": "sha512-q4nZzt/g3sRY9a3sj1PaNFwql5bXfKSW4fRy0zLdbZHcYdgq2oQfVsJTIlL9lUNjifkXiIsmk61Q16JExtrLyw==", - "optional": true, - "dependencies": { - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/util-arn-parser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.188.0.tgz", - "integrity": "sha512-qlH+5NZBLiyKziL335BEPedYxX6j+p7KFRWXvDQox9S+s+gLCayednpK+fteOhBenCcR9fUZOVuAPScy1I8qCg==", + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.433.0.tgz", + "integrity": "sha512-RlwjP1I5wO+aPpwyCp23Mk8nmRbRL33hqRASy73c4JA2z2YiRua+ryt6MalIxehhwQU6xvXUKulJnPG9VaMFZg==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-base64-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-base64-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.188.0.tgz", - "integrity": "sha512-r1dccRsRjKq+OhVRUfqFiW3sGgZBjHbMeHLbrAs9jrOjU2PTQ8PSzAXLvX/9lmp7YjmX17Qvlsg0NCr1tbB9OA==", + "node_modules/@aws-sdk/lib-storage": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.433.0.tgz", + "integrity": "sha512-dlFN6goupeGGrxCqe/PwZxTY5lKyAd4bCGGLPZJxUjkH8YaGnrnuwMy/qKmRdofStHPjANxcorD4c6QZWOI30w==", "optional": true, "dependencies": { - "@aws-sdk/util-buffer-from": "3.188.0", - "tslib": "^2.3.1" + "@smithy/abort-controller": "^2.0.1", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/smithy-client": "^2.1.12", + "buffer": "5.6.0", + "events": "3.3.0", + "stream-browserify": "3.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" + }, + "peerDependencies": { + "@aws-sdk/client-s3": "^3.0.0" } }, - "node_modules/@aws-sdk/util-base64-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz", - "integrity": "sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg==", + "node_modules/@aws-sdk/middleware-bucket-endpoint": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.433.0.tgz", + "integrity": "sha512-Lk1xIu2tWTRa1zDw5hCF1RrpWQYSodUhrS/q3oKz8IAoFqEy+lNaD5jx+fycuZb5EkE4IzWysT+8wVkd0mAnOg==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-arn-parser": "3.310.0", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "@smithy/util-config-provider": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-body-length-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.188.0.tgz", - "integrity": "sha512-XwqP3vxk60MKp4YDdvDeCD6BPOiG2e+/Ou4AofZOy5/toB6NKz2pFNibQIUg2+jc7mPMnGnvOW3MQEgSJ+gu/Q==", + "node_modules/@aws-sdk/middleware-expect-continue": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.433.0.tgz", + "integrity": "sha512-Uq2rPIsjz0CR2sulM/HyYr5WiqiefrSRLdwUZuA7opxFSfE808w5DBWSprHxbH3rbDSQR4nFiOiVYIH8Eth7nA==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-body-length-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.188.0.tgz", - "integrity": "sha512-NX1WXZ8TH20IZb4jPFT2CnLKSqZWddGxtfiWxD9M47YOtq/SSQeR82fhqqVjJn4P8w2F5E28f+Du4ntg/sGcxA==", + "node_modules/@aws-sdk/middleware-flexible-checksums": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.433.0.tgz", + "integrity": "sha512-Ptssx373+I7EzFUWjp/i/YiNFt6I6sDuRHz6DOUR9nmmRTlHHqmdcBXlJL2d9wwFxoBRCN8/PXGsTc/DJ4c95Q==", "optional": true, "dependencies": { - "@aws-sdk/is-array-buffer": "3.188.0", - "tslib": "^2.3.1" + "@aws-crypto/crc32": "3.0.0", + "@aws-crypto/crc32c": "3.0.0", + "@aws-sdk/types": "3.433.0", + "@smithy/is-array-buffer": "^2.0.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-buffer-from/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-config-provider": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.188.0.tgz", - "integrity": "sha512-LBA7tLbi7v4uvbOJhSnjJrxbcRifKK/1ZVK94JTV2MNSCCyNkFotyEI5UWDl10YKriTIUyf7o5cakpiDZ3O4xg==", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.433.0.tgz", + "integrity": "sha512-mBTq3UWv1UzeHG+OfUQ2MB/5GEkt5LTKFaUqzL7ESwzW8XtpBgXnjZvIwu3Vcd3sEetMwijwaGiJhY0ae/YyaA==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-config-provider/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.200.0.tgz", - "integrity": "sha512-WDFXifeo617AjCLd6ltddPDNvC7gsbCMQgUdXsuHt+paplyjqHF20jCU1+WXvFaTU5Ia1lN+SGDJb1nB1jawkw==", + "node_modules/@aws-sdk/middleware-location-constraint": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.433.0.tgz", + "integrity": "sha512-2YD860TGntwZifIUbxm+lFnNJJhByR/RB/+fV1I8oGKg+XX2rZU+94pRfHXRywoZKlCA0L+LGDA1I56jxrB9sw==", "optional": true, "dependencies": { - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/types": "3.200.0", - "bowser": "^2.11.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.433.0.tgz", + "integrity": "sha512-We346Fb5xGonTGVZC9Nvqtnqy74VJzYuTLLiuuftA5sbNzftBDy/22QCfvYSTOAl3bvif+dkDUzQY2ihc5PwOQ==", "optional": true, + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.200.0.tgz", - "integrity": "sha512-1S/Y/KzKnK/aCqQiPR3JUlXv8NWjHiuuGUB1po3neeWnsld10Q4o2ScWWT/v+XCXFac7ublX6yjrCQ+1YBZNCw==", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.433.0.tgz", + "integrity": "sha512-HEvYC9PQlWY/ccUYtLvAlwwf1iCif2TSAmLNr3YTBRVa98x6jKL0hlCrHWYklFeqOGSKy6XhE+NGJMUII0/HaQ==", "optional": true, "dependencies": { - "@aws-sdk/config-resolver": "3.200.0", - "@aws-sdk/credential-provider-imds": "3.200.0", - "@aws-sdk/node-config-provider": "3.200.0", - "@aws-sdk/property-provider": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 10.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "node_modules/@aws-sdk/middleware-sdk-s3": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.433.0.tgz", + "integrity": "sha512-mkn3DiSuMVh4NTLsduC42Av+ApcOor52LMoQY0Wc6M5Mx7Xd05U+G1j8sjI9n/1bs5cZ/PoeRYJ/9bL1Xxznnw==", "optional": true, + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-arn-parser": "3.310.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.200.0.tgz", - "integrity": "sha512-qBPq/nVziDixIp8dLxL0Q+03JPy9HuJmL0sREHaE4sIHL1/g4gutXCQe5oYS4de82xSe4uNZo9qVBYW96h6m6A==", + "node_modules/@aws-sdk/middleware-sdk-sts": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.433.0.tgz", + "integrity": "sha512-ORYbJnBejUyonFl5FwIqhvI3Cq6sAp9j+JpkKZtFNma9tFPdrhmYgfCeNH32H/wGTQV/tUoQ3luh0gA4cuk6DA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" + "@aws-sdk/middleware-signing": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-endpoints/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "node_modules/@aws-sdk/middleware-signing": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.433.0.tgz", + "integrity": "sha512-jxPvt59NZo/epMNLNTu47ikmP8v0q217I6bQFGJG7JVFnfl36zDktMwGw+0xZR80qiK47/2BWrNpta61Zd2FxQ==", "optional": true, + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.4.0", + "@smithy/util-middleware": "^2.0.5", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-endpoints/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-format-url": { - "version": "3.378.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.378.0.tgz", - "integrity": "sha512-CtW2HnCq08ildVD7B5OPn1zOxBAMBjkDxqzOcLw3Rk9F6OKuMM9hawulU62tMtouJPC0QSS6eLoNOrYGch5ehQ==", + "node_modules/@aws-sdk/middleware-ssec": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.433.0.tgz", + "integrity": "sha512-2AMaPx0kYfCiekxoL7aqFqSSoA9du+yI4zefpQNLr+1cZOerYiDxdsZ4mbqStR1CVFaX6U6hrYokXzjInsvETw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.378.0", - "@smithy/querystring-builder": "^2.0.1", - "@smithy/types": "^2.0.2", + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-format-url/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.188.0.tgz", - "integrity": "sha512-QyWovTtjQ2RYxqVM+STPh65owSqzuXURnfoof778spyX4iQ4z46wOge1YV2ZtwS8w5LWd9eeVvDrLu5POPYOnA==", + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.433.0.tgz", + "integrity": "sha512-jMgA1jHfisBK4oSjMKrtKEZf0sl2vzADivkFmyZFzORpSZxBnF6hC21RjaI+70LJLcc9rSCzLgcoz5lHb9LLDg==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-hex-encoding/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.295.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.295.0.tgz", - "integrity": "sha512-d/s+zhUx5Kh4l/ecMP/TBjzp1GR/g89Q4nWH6+wH5WgdHsK+LG+vmsk6mVNuP/8wsCofYG4NBqp5Ulbztbm9QA==", + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.433.0.tgz", + "integrity": "sha512-xpjRjCZW+CDFdcMmmhIYg81ST5UAnJh61IHziQEk0FXONrg4kjyYPZAOjEdzXQ+HxJQuGQLKPhRdzxmQnbX7pg==", "optional": true, "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", + "@smithy/util-config-provider": "^2.0.0", + "@smithy/util-middleware": "^2.0.5", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-locate-window/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@aws-sdk/s3-request-presigner": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.433.0.tgz", + "integrity": "sha512-mR5+0iZH5GeRWAkRJKgCs4RN0RfS6/7sLgAJxItX+LL4O4jiGodYqm++RUvRqcZuZDGZ5wFs9CSMA++1YSxeew==", + "optional": true, + "dependencies": { + "@aws-sdk/signature-v4-multi-region": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-format-url": "3.433.0", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/protocol-http": "^3.0.8", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@aws-sdk/util-middleware": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.200.0.tgz", - "integrity": "sha512-yMC4pg9z31AxnvC9f2M+D7L1KCh6NgykPsNqQQxTz6fFIt/nXNc10eqYaVCJCn419bcSgQhtVDJ2RAudrCCabg==", + "node_modules/@aws-sdk/signature-v4-multi-region": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.433.0.tgz", + "integrity": "sha512-wl2j1dos4VOKFawbapPm/0CNa3cIgpJXbEx+sp+DI3G8tSuP3c5UGtm0pXjM85egxZulhHVK1RVde0iD8j63pQ==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/signature-v4": "^2.0.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-middleware/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@aws-sdk/token-providers": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.433.0.tgz", + "integrity": "sha512-Q6aYVaQKB+CkBLHQQlN8MHVpOzZv9snRfVz7SxIpdbHkRuGEHiLliCY3fg6Sonvu3AKEPERPuHcaC75tnNpOBw==", + "optional": true, + "dependencies": { + "@aws-crypto/sha256-browser": "3.0.0", + "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/middleware-host-header": "3.433.0", + "@aws-sdk/middleware-logger": "3.433.0", + "@aws-sdk/middleware-recursion-detection": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/types": "3.433.0", + "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-user-agent-browser": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.433.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/hash-node": "^2.0.12", + "@smithy/invalid-dependency": "^2.0.12", + "@smithy/middleware-content-length": "^2.0.14", + "@smithy/middleware-endpoint": "^2.1.3", + "@smithy/middleware-retry": "^2.0.18", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/property-provider": "^2.0.0", + "@smithy/protocol-http": "^3.0.8", + "@smithy/shared-ini-file-loader": "^2.0.6", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-base64": "^2.0.0", + "@smithy/util-body-length-browser": "^2.0.0", + "@smithy/util-body-length-node": "^2.1.0", + "@smithy/util-defaults-mode-browser": "^2.0.16", + "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-retry": "^2.0.5", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@aws-sdk/util-stream-browser": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.200.0.tgz", - "integrity": "sha512-O6nSHtp2j1EcnwaNCqiHFkfF0UpMLJnJVr8L7GutSJbty+oTXIcMjLnLSQP5Vl6UeAb8iXP1VDohtweVHVm+DA==", + "node_modules/@aws-sdk/types": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.433.0.tgz", + "integrity": "sha512-0jEE2mSrNDd8VGFjTc1otYrwYPIkzZJEIK90ZxisKvQ/EURGBhNzWn7ejWB9XCMFT6XumYLBR0V9qq5UPisWtA==", "optional": true, "dependencies": { - "@aws-sdk/fetch-http-handler": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-base64-browser": "3.188.0", - "@aws-sdk/util-hex-encoding": "3.188.0", - "@aws-sdk/util-utf8-browser": "3.188.0", - "tslib": "^2.3.1" + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-stream-browser/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "node_modules/@aws-sdk/util-arn-parser": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz", + "integrity": "sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==", "optional": true, + "dependencies": { + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-stream-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-stream-node": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.200.0.tgz", - "integrity": "sha512-jMEpvcu3E3oU3XHQRYmyw5ttJAYfPVZaPaWFbq4H5dl+Dd/VPCohENutQH1iU+f4lz9B0Z5x/PgTpAMv5YXygw==", + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.433.0.tgz", + "integrity": "sha512-LFNUh9FH7RMtYjSjPGz9lAJQMzmJ3RcXISzc5X5k2R/9mNwMK7y1k2VAfvx+RbuDbll6xwsXlgv6QHcxVdF2zw==", "optional": true, "dependencies": { - "@aws-sdk/node-http-handler": "3.200.0", - "@aws-sdk/types": "3.200.0", - "@aws-sdk/util-buffer-from": "3.188.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-stream-node/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", + "node_modules/@aws-sdk/util-format-url": { + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.433.0.tgz", + "integrity": "sha512-Z6T7I4hELoQ4eeIuKIKx+52B9bc3SCPhjgMcFAFQeesjmHAr0drHyoGNJIat6ckvgI6zzFaeaBZTvWDA2hyDkA==", "optional": true, + "dependencies": { + "@aws-sdk/types": "3.433.0", + "@smithy/querystring-builder": "^2.0.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-stream-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.188.0.tgz", - "integrity": "sha512-4Y6AYZMT483Tiuq8dxz5WHIiPNdSFPGrl6tRTo2Oi2FcwypwmFhqgEGcqxeXDUJktvaCBxeA08DLr/AemVhPCg==", + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", + "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/util-uri-escape/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.200.0.tgz", - "integrity": "sha512-985Qtcw813q3UanTakl17OJzdVRcw6p1lIl1Xww1CmuA9sW6X8+q6oQavnmXtACMd059sTUR/f+V4Yloya2Pmg==", + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.433.0.tgz", + "integrity": "sha512-2Cf/Lwvxbt5RXvWFXrFr49vXv0IddiUwrZoAiwhDYxvsh+BMnh+NUFot+ZQaTrk/8IPZVDeLPWZRdVy00iaVXQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.200.0", + "@aws-sdk/types": "3.433.0", + "@smithy/types": "^2.4.0", "bowser": "^2.11.0", - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" + "tslib": "^2.5.0" } }, - "node_modules/@aws-sdk/util-user-agent-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.200.0.tgz", - "integrity": "sha512-3dgMp31enW37VMg7GZDq5xhohEMo8mocwafQ1pKND/NDEjha9df3nk6Oy4F5Y2pG8GPdFvHnsTqJ6FJKwwYtxA==", + "version": "3.433.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.433.0.tgz", + "integrity": "sha512-yT1tO4MbbsUBLl5+S+jVv8wxiAtP5TKjKib9B2KQ2x0OtWWTrIf2o+IZK8va+zQqdV4MVMjezdxdE20hOdB4yQ==", "optional": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.200.0", - "@aws-sdk/types": "3.200.0", - "tslib": "^2.3.1" + "@aws-sdk/types": "3.433.0", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "aws-crt": ">=1.0.0" @@ -2442,102 +958,27 @@ } } }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz", - "integrity": "sha512-jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==", - "optional": true, - "dependencies": { - "tslib": "^2.3.1" - } - }, - "node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.199.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.199.0.tgz", - "integrity": "sha512-Kk3qCdGbe5k0PUE8EBgMsRxNstvDCoWStYWjNwsHWuc/hJitSf44PColzXw6xxHqH1sY+6LcgIaMwJZ5C4bB6w==", - "optional": true, - "dependencies": { - "@aws-sdk/util-buffer-from": "3.188.0", - "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/util-utf8-node/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@aws-sdk/util-waiter": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.200.0.tgz", - "integrity": "sha512-5NSCY25pHaTJkZZTRefzLpzBUWGtMbgn8I74bPuAoA67BgteVV8nvMblqDPsmKUYvZaOTDpBPak280JmkujYXQ==", + "version": "3.259.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", + "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", "optional": true, "dependencies": { - "@aws-sdk/abort-controller": "3.200.0", - "@aws-sdk/types": "3.200.0", "tslib": "^2.3.1" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/@aws-sdk/util-waiter/node_modules/@aws-sdk/types": { - "version": "3.200.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.200.0.tgz", - "integrity": "sha512-4BfspYfvSwscstd5kUPAABu2rs6OfPZLKKq17frsNt6k3ax2WeHBsp3KIaOmqr0WDQnEBPjJginTB4uVsiSkdA==", - "optional": true, - "engines": { - "node": ">= 12.0.0" } }, - "node_modules/@aws-sdk/util-waiter/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.188.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.188.0.tgz", - "integrity": "sha512-/Hah3gAtrBpEaDInX3eSS0nXw/IUeb+rWiGspXxb5O8bh5kyjQqeu8/sVJQlpOtq4aPDbMDmloH4k696qTqgbw==", + "version": "3.310.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz", + "integrity": "sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==", "optional": true, "dependencies": { - "tslib": "^2.3.1" + "tslib": "^2.5.0" }, "engines": { - "node": ">= 12.0.0" + "node": ">=14.0.0" } }, - "node_modules/@aws-sdk/xml-builder/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@babel/code-frame": { "version": "7.22.13", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", @@ -2645,9 +1086,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -2670,18 +1111,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/traverse": { "version": "7.23.2", "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", @@ -2703,18 +1132,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/traverse/node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/types": { "version": "7.23.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", @@ -2743,13 +1160,13 @@ } }, "node_modules/@balena/abstract-sql-to-typescript": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.1.1.tgz", - "integrity": "sha512-2P7QyImaoViyJWGbSEtAYiCiTTNjJyH4nfr8LGIw1AvR0aXheSPZM5CifqvNRhXUrCuJZHyx58QQqUvXL6Dcdw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.1.2.tgz", + "integrity": "sha512-Swbmrjsi7oVduo+aQSJLDjM0z/G9/SQoQ+mv4Tjt7yFmRsPaDLF8+jOMWG+03N5GCrr2QbH/1CHuWXBh2nAnbg==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/odata-to-abstract-sql": "^5.9.6", - "@types/node": "^16.18.25", + "@types/node": "^18.0.0", "common-tags": "^1.8.2" }, "engines": { @@ -2797,24 +1214,24 @@ } }, "node_modules/@balena/abstract-sql-to-typescript/node_modules/@types/node": { - "version": "16.18.50", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.50.tgz", - "integrity": "sha512-OiDU5xRgYTJ203v4cprTs0RwOCd5c5Zjv+K5P8KSqfiCsB1W3LcamTUMcnQarpq5kOYbhHfSOgIEJvdPyb5xyw==" + "version": "18.18.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", + "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==" }, "node_modules/@balena/env-parsing": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@balena/env-parsing/-/env-parsing-1.1.5.tgz", - "integrity": "sha512-9ISTzFUSwPg7hQWm4fQRLiG/5D1I2N4jBu/tR7bvlr7uOykVtdrtKxsQjPLHsJ+9pDwoPThY2FGlnrrvysKvmA==" + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@balena/env-parsing/-/env-parsing-1.1.7.tgz", + "integrity": "sha512-rh2x2HBgB/ObN9gT/3H18ty2Jx/v6fOPEYTfoPlbRrrFbcgqJe0l+ijbd9P/TKZQgu6EAcxnlMDgDQMtFyrg2g==" }, "node_modules/@balena/es-version": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@balena/es-version/-/es-version-1.0.2.tgz", - "integrity": "sha512-hoYEg44i27yyw1Rv+j07O2vBjK5dMsbgb6ktsPz8czxS7R0wm3tAC6h+0ump13UxMK4l3MaAbb1EGIIRM/f9ig==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@balena/es-version/-/es-version-1.0.3.tgz", + "integrity": "sha512-ER6xtNwBSytZ1E1TmEzcE19mHpfJH8NPItxgGeJZjMYE4k5VHlBorl4UwZkAmsiW4vhy7LgJ+RGvHU15rB1L7g==" }, "node_modules/@balena/lf-to-abstract-sql": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@balena/lf-to-abstract-sql/-/lf-to-abstract-sql-5.0.0.tgz", - "integrity": "sha512-3yDQiGfsgBmKFllZiLNaHg069bavh/KmXBYO12iepNEWRsifCPaXKlXbkxRG6DsaXrR1GQiVgI+t6QclSXFeng==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@balena/lf-to-abstract-sql/-/lf-to-abstract-sql-5.0.1.tgz", + "integrity": "sha512-sn95OD1cFzKt1hDjAUyEFq/gGHY5ELMZoix4qSc1n41DaNvVX0O2MRxq6mXUe0Dt1PxkSIXXg00bQv7LKy9zDg==", "dependencies": { "@balena/sbvr-parser": "^1.4.3", "lodash": "^4.17.21", @@ -2822,23 +1239,21 @@ } }, "node_modules/@balena/lint": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-7.1.1.tgz", - "integrity": "sha512-3h9M+0G4vCfH9bt4xxA8tLDUTn4Px83eBpU9WvD1/1uTnb2RtUa1dMxcX7ZhDs9Aw3waz8ewEzib8vSu2thtHA==", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-7.2.1.tgz", + "integrity": "sha512-3AwjX5MjaEWbLp5NikEhUF7t3hpiBLxrQ5Mq+XZ6+PWbLz4rWxcm1xFowHqJhIhEUHbJxLKpba3WUZwVMqKQVw==", "dev": true, "dependencies": { - "@types/eslint": "^8.44.2", - "@types/glob": "^7.1.3", - "@types/node": "^16.18.40", - "@typescript-eslint/eslint-plugin": "^6.3.0", - "@typescript-eslint/parser": "^6.3.0", + "@typescript-eslint/eslint-plugin": "^6.6.0", + "@typescript-eslint/parser": "^6.6.0", "depcheck": "^1.4.1", "eslint": "^8.46.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-chai-friendly": "^0.7.2", "eslint-plugin-jsdoc": "^46.4.6", + "eslint-plugin-no-only-tests": "^3.1.0", "eslint-plugin-react": "^7.33.1", - "glob": "^7.1.7", + "glob": "^10.3.10", "prettier": "^3.0.2", "typescript": "^5.0.2", "yargs": "^16.2.0" @@ -2851,12 +1266,6 @@ "npm": ">=6.0.0" } }, - "node_modules/@balena/lint/node_modules/@types/node": { - "version": "16.18.50", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.50.tgz", - "integrity": "sha512-OiDU5xRgYTJ203v4cprTs0RwOCd5c5Zjv+K5P8KSqfiCsB1W3LcamTUMcnQarpq5kOYbhHfSOgIEJvdPyb5xyw==", - "dev": true - }, "node_modules/@balena/node-metrics-gatherer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@balena/node-metrics-gatherer/-/node-metrics-gatherer-6.0.3.tgz", @@ -2873,23 +1282,23 @@ } }, "node_modules/@balena/odata-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-3.0.0.tgz", - "integrity": "sha512-2+iKtAqWxnEiQByC4dcMoUhSBLAKyd+uOfpZ3K28NTtdiIUayasG/Y+kDjJRtnSfPm1vbu4rrM1t2dBj0gIG0w==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@balena/odata-parser/-/odata-parser-3.0.1.tgz", + "integrity": "sha512-mNriSW+bhoZs2ZAI+gfaBPNKRxBeniasiKhmPCzj91NeN3d1e5vTv90QkjKwEhx5c14sWDCqiHNV9J+6Rz/KTw==", "engines": { "node": ">=16.13.0", "npm": ">=8.1.0" } }, "node_modules/@balena/odata-to-abstract-sql": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.1.0.tgz", - "integrity": "sha512-QOjt5JHHUFqMqpfMxSUZLQ8gcdWtcMPxWQ8mFnAxvGMxhx6l6EPA1ha7RT2ZEVutlWGeaLB6PlYqhCJYHA/Lag==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.1.2.tgz", + "integrity": "sha512-x2xAbNkx0WBo3fRz0J50QUzrD2jHACRN0oP34y/GYE4pL04e/xmq3rI8ixdzjtvZj0IK8QwOu5nXL9X/e6knhw==", "dependencies": { - "@balena/abstract-sql-compiler": "^8.4.1", - "@balena/odata-parser": "^3.0.0", - "@types/lodash": "^4.14.194", - "@types/memoizee": "^0.4.8", + "@balena/abstract-sql-compiler": "^9.0.3", + "@balena/odata-parser": "^3.0.1", + "@types/lodash": "^4.14.199", + "@types/memoizee": "^0.4.9", "@types/string-hash": "^1.1.1", "lodash": "^4.17.21", "memoizee": "^0.4.15", @@ -2900,29 +1309,10 @@ "npm": ">=8.1.0" } }, - "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/abstract-sql-compiler": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-compiler/-/abstract-sql-compiler-8.5.0.tgz", - "integrity": "sha512-LSomZ6hf86nnHQLi1JSasz0vL9O82Z9PwbYjNMcQdeFLv9k8BgWKcKIpzPBLNX9j4xh09Yp5irNd+0larZFchg==", - "dependencies": { - "@balena/sbvr-types": "^3.5.0", - "lodash": "^4.17.21" - } - }, - "node_modules/@balena/odata-to-abstract-sql/node_modules/@balena/sbvr-types": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-3.5.0.tgz", - "integrity": "sha512-b7dXTpOnXLjnl4hHl44Gb7FhBf5yZEa2UBdL5nxDtcaXNPGQ+FVnWRy8s6Kzpa3FzABRnXlxl2t/d79UQ6u36Q==", - "optionalDependencies": { - "bcrypt": "^5.1.0", - "bcryptjs": "^2.4.3", - "sha.js": "^2.4.11" - } - }, "node_modules/@balena/pinejs": { - "version": "15.3.10", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.10.tgz", - "integrity": "sha512-b86eFKAOm40Xw3bhBcFsfgMbq5YRLScbmYLFDt1bRsUsHbp+FshYB3tE6TKbMoavcITfqYNVN5TtbSYr3yC+Hg==", + "version": "15.3.12", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.12.tgz", + "integrity": "sha512-2bL38PEbCu5apEeRzGYYq3yETSmT+jC/10CctUMyNU52EKPeQbK3wSRdeKVEOyf1sDRO2q8wDPbLkBz1L2xitA==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.1", @@ -2940,7 +1330,7 @@ "@types/express-session": "^1.17.7", "@types/lodash": "^4.14.194", "@types/memoizee": "^0.4.8", - "@types/method-override": "^0.0.32", + "@types/method-override": "^0.0.33", "@types/multer": "^1.4.7", "@types/mysql": "^2.15.21", "@types/node": "^18.16.1", @@ -2949,7 +1339,7 @@ "@types/passport-strategy": "^0.2.35", "@types/pg": "^8.6.6", "@types/randomstring": "^1.1.8", - "@types/websql": "^0.0.27", + "@types/websql": "^0.0.28", "busboy": "^1.6.0", "commander": "^10.0.1", "deep-freeze": "^0.0.1", @@ -3000,9 +1390,9 @@ } }, "node_modules/@balena/pinejs/node_modules/@types/node": { - "version": "18.17.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.17.15.tgz", - "integrity": "sha512-2yrWpBk32tvV/JAd3HNHWuZn/VDN1P+72hWirHnvsvTGSqbANi+kSeuQR9yAHnbvaBvHDsoTdXV0Fe+iRtHLKA==" + "version": "18.18.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", + "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==" }, "node_modules/@balena/sbvr-parser": { "version": "1.4.3", @@ -3014,9 +1404,9 @@ } }, "node_modules/@balena/sbvr-types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-6.0.0.tgz", - "integrity": "sha512-fj7xlS7JxSOnx9Mvu/Z3OcCYI6yPa7ziNGLdpY+FV2eAfHweKD+fb/u2pRpBUnV+v+Bq6YTe0V55l+R5M5Yl9w==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@balena/sbvr-types/-/sbvr-types-6.1.0.tgz", + "integrity": "sha512-dkQTZA/gVrRZDhsSrAyIJSbajy8c4BpIogGazT8mDmUcZJmqQiU1MmOGUzRtny/s/jtzN93fYMNtxU8T0KwfDw==", "engines": { "node": ">=16.13.0", "npm": ">=8.1.0" @@ -3077,9 +1467,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.7.0.tgz", - "integrity": "sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -3115,9 +1505,9 @@ "dev": true }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -3154,20 +1544,20 @@ } }, "node_modules/@eslint/js": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz", - "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", + "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@grpc/grpc-js": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.11.tgz", - "integrity": "sha512-f/xC+6Z2QKsRJ+VSSFlt4hA5KSRm+PKvMWV8kMPkMgGlFidR6PeIkXrOasIY2roe+WROM6GFQLlgDKfeEZo2YQ==", + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.7.tgz", + "integrity": "sha512-yMaA/cIsRhGzW3ymCNpdlPcInXcovztlgu/rirThj2b87u3RzWUszliOqZ/pldy7yhmJPS8uwog+kZSTa4A0PQ==", "dependencies": { - "@grpc/proto-loader": "^0.7.0", + "@grpc/proto-loader": "^0.7.8", "@types/node": ">=12.12.47" }, "engines": { @@ -3175,15 +1565,14 @@ } }, "node_modules/@grpc/proto-loader": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.5.tgz", - "integrity": "sha512-mfcTuMbFowq1wh/Rn5KQl6qb95M21Prej3bewD9dUQMurYGVckGO/Pbe2Ocwto6sD05b/mxZLspvqwx60xO2Rg==", + "version": "0.7.10", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.10.tgz", + "integrity": "sha512-CAqDfoaQ8ykFd9zqBDn4k6iWT9loLAlc2ETmDFS9JCD70gDcnA4L3AFEo2iV7KyAtAAHFW9ftq1Fz+Vsgq80RQ==", "dependencies": { - "@types/long": "^4.0.1", "lodash.camelcase": "^4.3.0", - "long": "^4.0.0", - "protobufjs": "^7.0.0", - "yargs": "^16.2.0" + "long": "^5.0.0", + "protobufjs": "^7.2.4", + "yargs": "^17.7.2" }, "bin": { "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" @@ -3192,13 +1581,123 @@ "node": ">=6" } }, + "node_modules/@grpc/proto-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@grpc/proto-loader/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@grpc/proto-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@grpc/proto-loader/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/@grpc/proto-loader/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/@grpc/proto-loader/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@grpc/proto-loader/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@grpc/proto-loader/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@grpc/proto-loader/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@grpc/proto-loader/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -3220,9 +1719,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "node_modules/@ioredis/commands": { @@ -3259,18 +1758,6 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", @@ -3286,23 +1773,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", @@ -3318,9 +1788,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { "node": ">=6.0.0" } @@ -3335,14 +1805,14 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -3350,9 +1820,9 @@ } }, "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", - "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", "optional": true, "dependencies": { "detect-libc": "^2.0.0", @@ -3369,6 +1839,26 @@ "node-pre-gyp": "bin/node-pre-gyp" } }, + "node_modules/@mapbox/node-pre-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "optional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@mapbox/node-pre-gyp/node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -3676,74 +2166,74 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@sentry-internal/tracing": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.49.0.tgz", - "integrity": "sha512-ESh3+ZneQk/3HESTUmIPNrW5GVPu/HrRJU+eAJJto74vm+6vP7zDn2YV2gJ1w18O/37nc7W/bVCgZJlhZ3cwew==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.1.tgz", + "integrity": "sha512-nNaiZreQxCitG2PzYPaC7XtyA9OMsETGYMKAtiK4p62/uTmeYbsBva9BoNx1XeiHRwbrVQYRMKQ9nV5e2jS4/A==", "dependencies": { - "@sentry/core": "7.49.0", - "@sentry/types": "7.49.0", - "@sentry/utils": "7.49.0", - "tslib": "^1.9.3" + "@sentry/core": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", + "tslib": "^2.4.1 || ^1.9.3" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/core": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.49.0.tgz", - "integrity": "sha512-AlSnCYgfEbvK8pkNluUkmdW/cD9UpvOVCa+ERQswXNRkAv5aDGCL6Ihv6fnIajE++BYuwZh0+HwZUBVKTFzoZg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.1.tgz", + "integrity": "sha512-LvEhOSfdIvwkr+PdlrT/aA/iOLhkXrSkvjqAQyogE4ddCWeYfS0NoirxNt1EaxMBAWKhYZRqzkA7WA4LDLbzlA==", "dependencies": { - "@sentry/types": "7.49.0", - "@sentry/utils": "7.49.0", - "tslib": "^1.9.3" + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", + "tslib": "^2.4.1 || ^1.9.3" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.49.0.tgz", - "integrity": "sha512-KLIrqcbKk4yR3g8fjl87Eyv4M9j4YI6b7sqVAZYj3FrX3mC6JQyGdlDfUpSKy604n1iAdr6OuUp5f9x7jPJaeQ==", - "dependencies": { - "@sentry-internal/tracing": "7.49.0", - "@sentry/core": "7.49.0", - "@sentry/types": "7.49.0", - "@sentry/utils": "7.49.0", - "cookie": "^0.4.1", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.74.1.tgz", + "integrity": "sha512-aMUQ2LFZF64FBr+cgjAqjT4OkpYBIC9lyWI8QqjEHqNho5+LGu18/iVrJPD4fgs4UhGdCuAiQjpC36MbmnIDZA==", + "dependencies": { + "@sentry-internal/tracing": "7.74.1", + "@sentry/core": "7.74.1", + "@sentry/types": "7.74.1", + "@sentry/utils": "7.74.1", + "cookie": "^0.5.0", "https-proxy-agent": "^5.0.0", "lru_map": "^0.3.3", - "tslib": "^1.9.3" + "tslib": "^2.4.1 || ^1.9.3" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/types": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.49.0.tgz", - "integrity": "sha512-9yXXh7iv76+O6h2ONUVx0wsL1auqJFWez62mTjWk4350SgMmWp/zUkBxnVXhmcYqscz/CepC+Loz9vITLXtgxg==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.1.tgz", + "integrity": "sha512-2jIuPc+YKvXqZETwr2E8VYnsH1zsSUR/wkIvg1uTVeVNyoowJv+YsOtCdeGyL2AwiotUBSPKu7O1Lz0kq5rMOQ==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.49.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.49.0.tgz", - "integrity": "sha512-JdC9yGnOgev4ISJVwmIoFsk8Zx0psDZJAj2DV7x4wMZsO6QK+YjC7G3mUED/S5D5lsrkBZ/3uvQQhr8DQI4UcQ==", + "version": "7.74.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.1.tgz", + "integrity": "sha512-qUsqufuHYcy5gFhLZslLxA5kcEOkkODITXW3c7D+x+8iP/AJqa8v8CeUCVNS7RetHCuIeWAbbTClC4c411EwQg==", "dependencies": { - "@sentry/types": "7.49.0", - "tslib": "^1.9.3" + "@sentry/types": "7.74.1", + "tslib": "^2.4.1 || ^1.9.3" }, "engines": { "node": ">=8" } }, "node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "dependencies": { "type-detect": "4.0.8" @@ -3758,15 +2248,6 @@ "@sinonjs/commons": "^3.0.0" } }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, "node_modules/@sinonjs/samsam": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", @@ -3778,101 +2259,215 @@ "type-detect": "^4.0.8" } }, + "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, "node_modules/@sinonjs/text-encoding": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz", "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==", "dev": true }, - "node_modules/@smithy/abort-controller": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.1.tgz", - "integrity": "sha512-0s7XjIbsTwZyUW9OwXQ8J6x1UiA1TNCh60Vaw56nHahL7kUZsLhmTlWiaxfLkFtO2Utkj8YewcpHTYpxaTzO+w==", + "node_modules/@smithy/abort-controller": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.12.tgz", + "integrity": "sha512-YIJyefe1mi3GxKdZxEBEuzYOeQ9xpYfqnFmWzojCssRAuR7ycxwpoRQgp965vuW426xUAQhCV5rCaWElQ7XsaA==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz", + "integrity": "sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz", + "integrity": "sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==", + "optional": true, + "dependencies": { + "@smithy/util-base64": "^2.0.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.16.tgz", + "integrity": "sha512-1k+FWHQDt2pfpXhJsOmNMmlAZ3NUQ98X5tYsjQhVGq+0X6cOBMhfh6Igd0IX3Ut6lEO6DQAdPMI/blNr3JZfMQ==", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", + "@smithy/util-config-provider": "^2.0.0", + "@smithy/util-middleware": "^2.0.5", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.18.tgz", + "integrity": "sha512-QnPBi6D2zj6AHJdUTo5zXmk8vwHJ2bNevhcVned1y+TZz/OI5cizz5DsYNkqFUIDn8tBuEyKNgbmKVNhBbuY3g==", "optional": true, "dependencies": { - "@smithy/types": "^2.0.2", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/property-provider": "^2.0.13", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/abort-controller/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/eventstream-codec": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.1.tgz", - "integrity": "sha512-/IiNB7gQM2y2ZC/GAWOWDa8+iXfhr1g9Xe5979cQEOdCWDISvrAiv18cn3OtIQUhbYOR3gm7QtCpkq1to2takQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.12.tgz", + "integrity": "sha512-ZZQLzHBJkbiAAdj2C5K+lBlYp/XJ+eH2uy+jgJgYIFW/o5AM59Hlj7zyI44/ZTDIQWmBxb3EFv/c5t44V8/g8A==", "optional": true, "dependencies": { "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.0.2", + "@smithy/types": "^2.4.0", "@smithy/util-hex-encoding": "^2.0.0", "tslib": "^2.5.0" } }, - "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "node_modules/@smithy/eventstream-serde-browser": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.12.tgz", + "integrity": "sha512-0pi8QlU/pwutNshoeJcbKR1p7Ie5STd8UFAMX5xhSoSJjNlxIv/OsHbF023jscMRN2Prrqd6ToGgdCnsZVQjvg==", "optional": true, "dependencies": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" + "@smithy/eventstream-serde-universal": "^2.0.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/crc32/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "optional": true - }, - "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.12.tgz", + "integrity": "sha512-I0XfwQkIX3gAnbrU5rLMkBSjTM9DHttdbLwf12CXmj7SSI5dT87PxtKLRrZGanaCMbdf2yCep+MW5/4M7IbvQA==", "optional": true, "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@smithy/eventstream-codec/node_modules/@aws-crypto/util/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "optional": true + "node_modules/@smithy/eventstream-serde-node": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.12.tgz", + "integrity": "sha512-vf1vMHGOkG3uqN9x1zKOhnvW/XgvhJXWqjV6zZiT2FMjlEayugQ1mzpSqr7uf89+BzjTzuZKERmOsEAmewLbxw==", + "optional": true, + "dependencies": { + "@smithy/eventstream-serde-universal": "^2.0.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, - "node_modules/@smithy/eventstream-codec/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/eventstream-serde-universal": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.12.tgz", + "integrity": "sha512-xZ3ZNpCxIND+q+UCy7y1n1/5VQEYicgSTNCcPqsKawX+Vd+6OcFX7gUHMyPzL8cZr+GdmJuxNleqHlH4giK2tw==", + "optional": true, + "dependencies": { + "@smithy/eventstream-codec": "^2.0.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.0.1.tgz", - "integrity": "sha512-/SoU/ClazgcdOxgE4zA7RX8euiELwpsrKCSvulVQvu9zpmqJRyEJn8ZTWYFV17/eHOBdHTs9kqodhNhsNT+cUw==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.4.tgz", + "integrity": "sha512-gIPRFEGi+c6V52eauGKrjDzPWF2Cu7Z1r5F8A3j2wcwz25sPG/t8kjsbEhli/tS/2zJp/ybCZXe4j4ro3yv/HA==", "optional": true, "dependencies": { - "@smithy/protocol-http": "^2.0.1", - "@smithy/querystring-builder": "^2.0.1", - "@smithy/types": "^2.0.2", + "@smithy/protocol-http": "^3.0.8", + "@smithy/querystring-builder": "^2.0.12", + "@smithy/types": "^2.4.0", "@smithy/util-base64": "^2.0.0", "tslib": "^2.5.0" } }, - "node_modules/@smithy/fetch-http-handler/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/hash-blob-browser": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.12.tgz", + "integrity": "sha512-riLnV16f27yyePX8UF0deRHAeccUK8SrOxyTykSTrnVkgS3DsjNapZtTbd8OGNKEbI60Ncdb5GwN3rHZudXvog==", + "optional": true, + "dependencies": { + "@smithy/chunked-blob-reader": "^2.0.0", + "@smithy/chunked-blob-reader-native": "^2.0.0", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/hash-node": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.12.tgz", + "integrity": "sha512-fDZnTr5j9t5qcbeJ037aMZXxMka13Znqwrgy3PAqYj6Dm3XHXHftTH3q+NWgayUxl1992GFtQt1RuEzRMy3NnQ==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-buffer-from": "^2.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/hash-stream-node": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.12.tgz", + "integrity": "sha512-x/DrSynPKrW0k00q7aZ/vy531a3mRw79mOajHp+cIF0TrA1SqEMFoy/B8X0XtoAtlJWt/vvgeDNqt/KAeaAqMw==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.12.tgz", + "integrity": "sha512-p5Y+iMHV3SoEpy3VSR7mifbreHQwVSvHSAz/m4GdoXfOzKzaYC8hYv10Ks7Deblkf7lhas8U+lAp9ThbBM+ZXA==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + } }, "node_modules/@smithy/is-array-buffer": { "version": "2.0.0", @@ -3886,119 +2481,167 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/is-array-buffer/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/md5-js": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.12.tgz", + "integrity": "sha512-OgDt+Xnrw+W5z3MSl5KZZzebqmXrYl9UdbCiBYnnjErmNywwSjV6QB/Oic3/7hnsPniSU81n7Rvlhz2kH4EREQ==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.14.tgz", + "integrity": "sha512-poUNgKTw9XwPXfX9nEHpVgrMNVpaSMZbshqvPxFVoalF4wp6kRzYKOfdesSVectlQ51VtigoLfbXcdyPwvxgTg==", + "optional": true, + "dependencies": { + "@smithy/protocol-http": "^3.0.8", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.1.tgz", - "integrity": "sha512-uz/KI1MBd9WHrrkVFZO4L4Wyv24raf0oR4EsOYEeG5jPJO5U+C7MZGLcMxX8gWERDn1sycBDqmGv8fjUMLxT6w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.3.tgz", + "integrity": "sha512-ZrQ0/YX6hNVTxqMEHtEaDbDv6pNeEji/a5Vk3HuFC5R3ZY8lfoATyxmOGxBVYnF3NUvZLNC7umEv1WzWGWvCGQ==", "optional": true, "dependencies": { - "@smithy/middleware-serde": "^2.0.1", - "@smithy/types": "^2.0.2", - "@smithy/url-parser": "^2.0.1", - "@smithy/util-middleware": "^2.0.0", + "@smithy/middleware-serde": "^2.0.12", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/shared-ini-file-loader": "^2.2.2", + "@smithy/types": "^2.4.0", + "@smithy/url-parser": "^2.0.12", + "@smithy/util-middleware": "^2.0.5", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/middleware-endpoint/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/middleware-retry": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.18.tgz", + "integrity": "sha512-VyrHQRldGSb3v9oFOB5yPxmLT7U2sQic2ytylOnYlnsmVOLlFIaI6sW22c+w2675yq+XZ6HOuzV7x2OBYCWRNA==", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/protocol-http": "^3.0.8", + "@smithy/service-error-classification": "^2.0.5", + "@smithy/types": "^2.4.0", + "@smithy/util-middleware": "^2.0.5", + "@smithy/util-retry": "^2.0.5", + "tslib": "^2.5.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "optional": true, + "bin": { + "uuid": "dist/bin/uuid" + } }, "node_modules/@smithy/middleware-serde": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.1.tgz", - "integrity": "sha512-uKxPaC6ItH9ZXdpdqNtf8sda7GcU4SPMp0tomq/5lUg9oiMa/Q7+kD35MUrpKaX3IVXVrwEtkjCU9dogZ/RAUA==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.12.tgz", + "integrity": "sha512-IBeco157lIScecq2Z+n0gq56i4MTnfKxS7rbfrAORveDJgnbBAaEQgYqMqp/cYqKrpvEXcyTjwKHrBjCCIZh2A==", "optional": true, "dependencies": { - "@smithy/types": "^2.0.2", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/middleware-serde/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/middleware-stack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.0.tgz", - "integrity": "sha512-31XC1xNF65nlbc16yuh3wwTudmqs6qy4EseQUGF8A/p2m/5wdd/cnXJqpniy/XvXVwkHPz/GwV36HqzHtIKATQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.6.tgz", + "integrity": "sha512-YSvNZeOKWLJ0M/ycxwDIe2Ztkp6Qixmcml1ggsSv2fdHKGkBPhGrX5tMzPGMI1yyx55UEYBi2OB4s+RriXX48A==", "optional": true, "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/middleware-stack/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/node-config-provider": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.3.tgz", + "integrity": "sha512-J6lXvRHGVnSX3n1PYi+e1L5HN73DkkJpUviV3Ebf+8wSaIjAf+eVNbzyvh/S5EQz7nf4KVfwbD5vdoZMAthAEQ==", + "optional": true, + "dependencies": { + "@smithy/property-provider": "^2.0.13", + "@smithy/shared-ini-file-loader": "^2.2.2", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@smithy/node-http-handler": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.0.1.tgz", - "integrity": "sha512-Zv3fxk3p9tsmPT2CKMsbuwbbxnq2gzLDIulxv+yI6aE+02WPYorObbbe9gh7SW3weadMODL1vTfOoJ9yFypDzg==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.8.tgz", + "integrity": "sha512-KZylM7Wff/So5SmCiwg2kQNXJ+RXgz34wkxS7WNwIUXuZrZZpY/jKJCK+ZaGyuESDu3TxcaY+zeYGJmnFKbQsA==", "optional": true, "dependencies": { - "@smithy/abort-controller": "^2.0.1", - "@smithy/protocol-http": "^2.0.1", - "@smithy/querystring-builder": "^2.0.1", - "@smithy/types": "^2.0.2", + "@smithy/abort-controller": "^2.0.12", + "@smithy/protocol-http": "^3.0.8", + "@smithy/querystring-builder": "^2.0.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/node-http-handler/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/property-provider": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.13.tgz", + "integrity": "sha512-VJqUf2CbsQX6uUiC5dUPuoEATuFjkbkW3lJHbRnpk9EDC9X+iKqhfTK+WP+lve5EQ9TcCI1Q6R7hrg41FyC54w==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@smithy/protocol-http": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-2.0.1.tgz", - "integrity": "sha512-mrkMAp0wtaDEIkgRObWYxI1Kun1tm6Iu6rK+X4utb6Ah7Uc3Kk4VIWwK/rBHdYGReiLIrxFCB1rq4a2gyZnSgg==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.8.tgz", + "integrity": "sha512-SHJvYeWq8q0FK8xHk+xjV9dzDUDjFMT+G1pZbV+XB6OVoac/FSVshlMNPeUJ8AmSkcDKHRu5vASnRqZHgD3qhw==", "optional": true, "dependencies": { - "@smithy/types": "^2.0.2", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/protocol-http/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/querystring-builder": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.1.tgz", - "integrity": "sha512-bp+93WFzx1FojVEIeFPtG0A1pKsFdCUcZvVdZdRlmNooOUrz9Mm9bneRd8hDwAQ37pxiZkCOxopSXXRQN10mYw==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.12.tgz", + "integrity": "sha512-cDbF07IuCjiN8CdGvPzfJjXIrmDSelScRfyJYrYBNBbKl2+k7QD/KqiHhtRyEKgID5mmEVrV6KE6L/iPJ98sFw==", "optional": true, "dependencies": { - "@smithy/types": "^2.0.2", + "@smithy/types": "^2.4.0", "@smithy/util-uri-escape": "^2.0.0", "tslib": "^2.5.0" }, @@ -4006,40 +2649,54 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/querystring-builder/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/querystring-parser": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.5.tgz", - "integrity": "sha512-C2stCULH0r54KBksv3AWcN8CLS3u9+WsEW8nBrvctrJ5rQTNa1waHkffpVaiKvcW2nP0aIMBPCobD/kYf/q9mA==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.12.tgz", + "integrity": "sha512-fytyTcXaMzPBuNtPlhj5v6dbl4bJAnwKZFyyItAGt4Tgm9HFPZNo7a9r1SKPr/qdxUEBzvL9Rh+B9SkTX3kFxg==", "dependencies": { - "@smithy/types": "^2.2.2", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/querystring-parser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "node_modules/@smithy/service-error-classification": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.5.tgz", + "integrity": "sha512-M0SeJnEgD2ywJyV99Fb1yKFzmxDe9JfpJiYTVSRMyRLc467BPU0qsuuDPzMCdB1mU8M8u1rVOdkqdoyFN8UFTw==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.2.tgz", + "integrity": "sha512-noyQUPn7b1M8uB0GEXc/Zyxq+5K2b7aaqWnLp+hgJ7+xu/FCvtyWy5eWLDjQEsHnAet2IZhS5QF8872OR69uNg==", + "optional": true, + "dependencies": { + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@smithy/signature-v4": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.1.tgz", - "integrity": "sha512-jztv5Mirca42ilxmMDjzLdXcoAmRhZskGafGL49sRo5u7swEZcToEFrq6vtX5YMbSyTVrE9Teog5EFexY5Ff2Q==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.12.tgz", + "integrity": "sha512-6Kc2lCZEVmb1nNYngyNbWpq0d82OZwITH11SW/Q0U6PX5fH7B2cIcFe7o6eGEFPkTZTP8itTzmYiGcECL0D0Lw==", "optional": true, "dependencies": { - "@smithy/eventstream-codec": "^2.0.1", + "@smithy/eventstream-codec": "^2.0.12", "@smithy/is-array-buffer": "^2.0.0", - "@smithy/types": "^2.0.2", + "@smithy/types": "^2.4.0", "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-middleware": "^2.0.0", + "@smithy/util-middleware": "^2.0.5", "@smithy/util-uri-escape": "^2.0.0", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" @@ -4048,102 +2705,135 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/signature-v4/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/smithy-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.0.1.tgz", - "integrity": "sha512-LHC5m6tYpEu1iNbONfvMbwtErboyTZJfEIPoD78Ei5MVr36vZQCaCla5mvo36+q/a2NAk2//fA5Rx3I1Kf7+lQ==", + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.12.tgz", + "integrity": "sha512-XXqhridfkKnpj+lt8vM6HRlZbqUAqBjVC74JIi13F/AYQd/zTj9SOyGfxnbp4mjY9q28LityxIuV8CTinr9r5w==", "optional": true, "dependencies": { - "@smithy/middleware-stack": "^2.0.0", - "@smithy/types": "^2.0.2", - "@smithy/util-stream": "^2.0.1", + "@smithy/middleware-stack": "^2.0.6", + "@smithy/types": "^2.4.0", + "@smithy/util-stream": "^2.0.17", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/smithy-client/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/types": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.2.2.tgz", - "integrity": "sha512-4PS0y1VxDnELGHGgBWlDksB2LJK8TG8lcvlWxIsgR+8vROI7Ms8h1P4FQUx+ftAX2QZv5g1CJCdhdRmQKyonyw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.4.0.tgz", + "integrity": "sha512-iH1Xz68FWlmBJ9vvYeHifVMWJf82ONx+OybPW8ZGf5wnEv2S0UXcU4zwlwJkRXuLKpcSLHrraHbn2ucdVXLb4g==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.12.tgz", + "integrity": "sha512-qgkW2mZqRvlNUcBkxYB/gYacRaAdck77Dk3/g2iw0S9F0EYthIS3loGfly8AwoWpIvHKhkTsCXXQfzksgZ4zIA==", + "dependencies": { + "@smithy/querystring-parser": "^2.0.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", + "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "optional": true, + "dependencies": { + "@smithy/util-buffer-from": "^2.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", + "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", + "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", + "optional": true, + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", + "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "optional": true, "dependencies": { + "@smithy/is-array-buffer": "^2.0.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/types/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@smithy/url-parser": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.5.tgz", - "integrity": "sha512-OdMBvZhpckQSkugCXNJQCvqJ71wE7Ftxce92UOQLQ9pwF6hoS5PLL7wEfpnuEXtStzBqJYkzu1C1ZfjuFGOXAA==", + "node_modules/@smithy/util-config-provider": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", + "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", + "optional": true, "dependencies": { - "@smithy/querystring-parser": "^2.0.5", - "@smithy/types": "^2.2.2", "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/@smithy/url-parser/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/@smithy/util-base64": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", - "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.16.tgz", + "integrity": "sha512-Uv5Cu8nVkuvLn0puX+R9zWbSNpLIR3AxUlPoLJ7hC5lvir8B2WVqVEkJLwtixKAncVLasnTVjPDCidtAUTGEQw==", "optional": true, "dependencies": { - "@smithy/util-buffer-from": "^2.0.0", + "@smithy/property-provider": "^2.0.13", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", + "bowser": "^2.11.0", "tslib": "^2.5.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" } }, - "node_modules/@smithy/util-base64/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, - "node_modules/@smithy/util-buffer-from": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", - "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", + "node_modules/@smithy/util-defaults-mode-node": { + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.21.tgz", + "integrity": "sha512-cUEsttVZ79B7Al2rWK2FW03HBpD9LyuqFtm+1qFty5u9sHSdesr215gS2Ln53fTopNiPgeXpdoM3IgjvIO0rJw==", "optional": true, "dependencies": { - "@smithy/is-array-buffer": "^2.0.0", + "@smithy/config-resolver": "^2.0.16", + "@smithy/credential-provider-imds": "^2.0.18", + "@smithy/node-config-provider": "^2.1.3", + "@smithy/property-provider": "^2.0.13", + "@smithy/smithy-client": "^2.1.12", + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { - "node": ">=14.0.0" + "node": ">= 10.0.0" } }, - "node_modules/@smithy/util-buffer-from/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/util-hex-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", @@ -4156,39 +2846,42 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/util-hex-encoding/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/util-middleware": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.0.tgz", - "integrity": "sha512-eCWX4ECuDHn1wuyyDdGdUWnT4OGyIzV0LN1xRttBFMPI9Ff/4heSHVxneyiMtOB//zpXWCha1/SWHJOZstG7kA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.5.tgz", + "integrity": "sha512-1lyT3TcaMJQe+OFfVI+TlomDkPuVzb27NZYdYtmSTltVmLaUjdCyt4KE+OH1CnhZKsz4/cdCL420Lg9UH5Z2Mw==", "optional": true, "dependencies": { + "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/@smithy/util-middleware/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/util-retry": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.5.tgz", + "integrity": "sha512-x3t1+MQAJ6QONk3GTbJNcugCFDVJ+Bkro5YqQQK1EyVesajNDqxFtCx9WdOFNGm/Cbm7tUdwVEmfKQOJoU2Vtw==", + "optional": true, + "dependencies": { + "@smithy/service-error-classification": "^2.0.5", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, "node_modules/@smithy/util-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.1.tgz", - "integrity": "sha512-2a0IOtwIKC46EEo7E7cxDN8u2jwOiYYJqcFKA6rd5rdXqKakHT2Gc+AqHWngr0IEHUfW92zX12wRQKwyoqZf2Q==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.17.tgz", + "integrity": "sha512-fP/ZQ27rRvHsqItds8yB7jerwMpZFTL3QqbQbidUiG0+mttMoKdP0ZqnvM8UK5q0/dfc3/pN7g4XKPXOU7oRWw==", "optional": true, "dependencies": { - "@smithy/fetch-http-handler": "^2.0.1", - "@smithy/node-http-handler": "^2.0.1", - "@smithy/types": "^2.0.2", + "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/node-http-handler": "^2.1.8", + "@smithy/types": "^2.4.0", "@smithy/util-base64": "^2.0.0", "@smithy/util-buffer-from": "^2.0.0", "@smithy/util-hex-encoding": "^2.0.0", @@ -4199,12 +2892,6 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/util-stream/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/util-uri-escape": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", @@ -4217,12 +2904,6 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/util-uri-escape/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true - }, "node_modules/@smithy/util-utf8": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", @@ -4236,11 +2917,19 @@ "node": ">=14.0.0" } }, - "node_modules/@smithy/util-utf8/node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "optional": true + "node_modules/@smithy/util-waiter": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.12.tgz", + "integrity": "sha512-3sENmyVa1NnOPoiT2NCApPmu7ukP7S/v7kL9IxNmnygkDldn7/yK0TP42oPJLwB2k3mospNsSePIlqdXEUyPHA==", + "optional": true, + "dependencies": { + "@smithy/abort-controller": "^2.0.12", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } }, "node_modules/@tsconfig/node10": { "version": "1.0.9", @@ -4258,161 +2947,145 @@ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, "node_modules/@types/basic-auth": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@types/basic-auth/-/basic-auth-1.1.3.tgz", - "integrity": "sha512-W3rv6J0IGlxqgE2eQ2pTb0gBjaGtejQpJ6uaCjz3UQ65+TFTPC5/lAE+POfx1YLdjtxvejJzsIAfd3MxWiVmfg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@types/basic-auth/-/basic-auth-1.1.5.tgz", + "integrity": "sha512-eYnGxbb3KZuTU4ZnrF8cMclnPpnrywEjGVjLbmO9TDBsCQ3wTQyGX0lcYEWpHOHw195kWpJ/YSMvvHUajrSIZw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/bluebird": { - "version": "3.5.38", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.38.tgz", - "integrity": "sha512-yR/Kxc0dd4FfwtEoLZMoqJbM/VE/W7hXn/MIjb+axcwag0iFmSPK7OBUZq1YWLynJUoWQkfUrI7T0HDqGApNSg==" + "version": "3.5.41", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.41.tgz", + "integrity": "sha512-/OT2UoYPu2fqGNS85UYUx0Ke8Zd/vM0/Au0JqLInTprkRO0NexYe7qAUkDsjhsO3BKHI14wX/UhN5SUaoFVDUQ==" }, "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", + "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/cache-manager": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/cache-manager/-/cache-manager-4.0.2.tgz", - "integrity": "sha512-fT5FMdzsiSX0AbgnS5gDvHl2Nco0h5zYyjwDQy4yPC7Ww6DeGMVKPRqIZtg9HOXDV2kkc18SL1B0N8f0BecrCA==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/cache-manager/-/cache-manager-4.0.4.tgz", + "integrity": "sha512-Kyk9uF54w5/JQWLDKr5378euWUPvebknZut6UpsKhO3R7vE5a5o71QxTR2uev1niBgVAoXAR+BCNMU1lipjxWQ==" }, "node_modules/@types/cache-manager-ioredis": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/cache-manager-ioredis/-/cache-manager-ioredis-2.0.3.tgz", - "integrity": "sha512-IIwKdlUSztH0TMk1ikRes2CDr2vV4UrSMKhdZ6fBN1++PdgAl/JsxHKRzaSThGqjDUb0UzcWo7dZF4RPPMInMA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/cache-manager-ioredis/-/cache-manager-ioredis-2.0.5.tgz", + "integrity": "sha512-B2Yvxc29tkSr/BgHnGb07yccndLniytVXfG/XyGIep2SWh98gtonJYDj38xULlE+ExJ10fE1ZgHMxU771Sh7XQ==", "dependencies": { "@types/cache-manager": "*", "@types/ioredis": "^4.28.10" } }, "node_modules/@types/caseless": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.2.tgz", - "integrity": "sha512-6ckxMjBBD8URvjB6J3NcnuAn5Pkl7t3TizAg+xdlzzQGSPSmBcXf8KoIH0ua/i+tio+ZRUHEXp0HEmvaR4kt0w==" + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.4.tgz", + "integrity": "sha512-2in/lrHRNmDvHPgyormtEralhPcN3An1gLjJzj2Bw145VBxkQ75JEXW6CTdMAwShiHQcYsl2d10IjQSdJSJz4g==" }, "node_modules/@types/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==", + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.9.tgz", + "integrity": "sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==", "dev": true }, "node_modules/@types/chai-as-promised": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.5.tgz", - "integrity": "sha512-jStwss93SITGBwt/niYrkf2C+/1KTeZCZl1LaeezTlqppAKeoQC7jxyqYuP72sxBGKCIbw7oHgbYssIRzT5FCQ==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.7.tgz", + "integrity": "sha512-APucaP5rlmTRYKtRA6FE5QPP87x76ejw5t5guRJ4y5OgMnwtsvigw7HHhKZlx2MGXLeZd6R/GNZR/IqDHcbtQw==", "dev": true, "dependencies": { "@types/chai": "*" } }, "node_modules/@types/common-tags": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.1.tgz", - "integrity": "sha512-20R/mDpKSPWdJs5TOpz3e7zqbeCNuMCPhV7Yndk9KU2Rbij2r5W4RzwDPkzC+2lzUqXYu9rFzTktCBnDjHuNQg==" + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.3.tgz", + "integrity": "sha512-v3smfzf7umSwpkJrmlUe+apSv6bVnrIFCeBeprnP4f8lIh6pECZxyD50e8yFwfouIt85TdxN5yXiFwS5fnsS3w==" }, "node_modules/@types/compressible": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/compressible/-/compressible-2.0.0.tgz", - "integrity": "sha512-ioFCyNkga3vWcvLowx1qO+/4D0jw8JYpjoIC2b6NzQ7zk7A03Sw/KEsDuRtKqtAo2/GOhbyWQYuPVsg8h/ACcA==" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/compressible/-/compressible-2.0.1.tgz", + "integrity": "sha512-ISvzi8xPKbWy+R+njxFljN7p4vhbfdkVjS2CpBpHxPP1y97+htwgziMiw61gNUNrDtYPpGIZo6C5HDKf5VDe0Q==" }, "node_modules/@types/compression": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.2.tgz", - "integrity": "sha512-lwEL4M/uAGWngWFLSG87ZDr2kLrbuR8p7X+QZB1OQlT+qkHsCPDVFnHPyXf4Vyl4yDDorNY+mAhosxkCvppatg==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-sdFVnQJRkQBX83ydsLCBm4A39p45y0QkxdAR689yOtAFNbbS9Acrp86RZWJj6BHRXyZH9tX4t1dU7XDiGdY3nA==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/compression-next": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/compression-next/-/compression-next-1.0.0.tgz", - "integrity": "sha512-EO8pK7yni4ge3dsAC2WJTy0O+U1dUFj8auJ//mpIOnzqO2hlx7JUCNBWQIxwc98xb7mKBXD4CRhHhEJTmCTyWQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/compression-next/-/compression-next-1.0.2.tgz", + "integrity": "sha512-MT1oGrcS2UZUhlVqeLm5bdozKbQ7CcQS1e7XLbzB1jxRxM/Vu7nywwBgz9hC3N8rfD+vYJkXCcAoHS6I9fifUg==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "version": "3.4.37", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", + "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/cookie-parser": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.3.tgz", - "integrity": "sha512-CqSKwFwefj4PzZ5n/iwad/bow2hTCh0FlNAeWLtQM3JA/NX/iYagIpWG2cf1bQKQ2c9gU2log5VUCrn7LDOs0w==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.5.tgz", + "integrity": "sha512-cbpH1NldYslPt7WRHXZFm+G7DTfUg57dQSCf1qrHwT8wtGX41JHLYf3Cieiqg7waPWjorVgcSSllZov+A1PJbg==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/cookie-session": { - "version": "2.0.44", - "resolved": "https://registry.npmjs.org/@types/cookie-session/-/cookie-session-2.0.44.tgz", - "integrity": "sha512-3DheOZ41pql6raSIkqEPphJdhA2dX2bkS+s2Qacv8YMKkoCbAIEXbsDil7351ARzMqvfyDUGNeHGiRZveIzhqQ==", + "version": "2.0.46", + "resolved": "https://registry.npmjs.org/@types/cookie-session/-/cookie-session-2.0.46.tgz", + "integrity": "sha512-tz1Ekw1XjtF+/SXvd90m+9nmDdi2PF4JvQub7Hj4tTlR4uxACC0p+WvhGxAbaELLR5oc3c5tQIgKsh6paWUt7A==", "dependencies": { "@types/express": "*", "@types/keygrip": "*" } }, "node_modules/@types/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.3.tgz", + "integrity": "sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg==", "dev": true }, "node_modules/@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", + "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", "dependencies": { "@types/ms": "*" } }, "node_modules/@types/deep-freeze": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/deep-freeze/-/deep-freeze-0.1.2.tgz", - "integrity": "sha512-M6x29Vk4681dght4IMnPIcF1SNmeEm0c4uatlTFhp+++H1oDK1THEIzuCC2WeCBVhX+gU0NndsseDS3zaCtlcQ==" + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/deep-freeze/-/deep-freeze-0.1.4.tgz", + "integrity": "sha512-axIlS/9rrHXqet5THlrX2VJNh4tQR3E6bvAsSnGR0fqT45IiZBC/UqCXZfpSkiKBO1YEKRZhI36f6Y+zU0lheg==" }, "node_modules/@types/escape-html": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.2.tgz", - "integrity": "sha512-gaBLT8pdcexFztLSPRtriHeXY/Kn4907uOCZ4Q3lncFBkheAWOuNt53ypsF8szgxbEJ513UeBzcf4utN0EzEwA==" - }, - "node_modules/@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-QbNxKa2IX2y/9eGiy4w8rrwk//ERHXA6zwYVRA3+ayA/D3pkz+/bLL4b5uSLA0L0kPuNX1Jbv9HyPzv9T4zbJQ==" }, "node_modules/@types/express": { - "version": "4.17.17", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", - "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4421,37 +3094,33 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.33", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz", - "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==", + "version": "4.17.39", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", + "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", "dependencies": { "@types/node": "*", "@types/qs": "*", - "@types/range-parser": "*" + "@types/range-parser": "*", + "@types/send": "*" } }, "node_modules/@types/express-session": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.7.tgz", - "integrity": "sha512-L25080PBYoRLu472HY/HNCxaXY8AaGgqGC8/p/8+BYMhG0RDOLQ1wpXOpAzr4Gi5TGozTKyJv5BVODM5UNyVMw==", + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.9.tgz", + "integrity": "sha512-yIqficLlTPdloeEPhOVenpOUWILkdaXHUWhTOqFGx9JoSuTgeatNjb97k8VvJehbTk0kUSUAHy5r27PXMga89Q==", "dependencies": { "@types/express": "*" } }, - "node_modules/@types/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", - "dev": true, - "dependencies": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, "node_modules/@types/google-protobuf": { - "version": "3.15.6", - "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.6.tgz", - "integrity": "sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw==" + "version": "3.15.9", + "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.9.tgz", + "integrity": "sha512-l51aVJnCNNMBkmSUQddSStXinB2qSXqfrmY9zkdcE9sqPzDneQ3BGg/hu7LfeOCUeGHOu+Rly89YhuDhvbmmPw==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", + "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" }, "node_modules/@types/ioredis": { "version": "4.28.10", @@ -4462,50 +3131,45 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" }, "node_modules/@types/jsonwebtoken": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz", - "integrity": "sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.4.tgz", + "integrity": "sha512-8UYapdmR0QlxgvJmyE8lP7guxD0UGVMfknsdtCFZh4ovShdBl3iOI4zdvqBHrB/IS+xUj3PSx73Qkey1fhWz+g==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/keygrip": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz", - "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.4.tgz", + "integrity": "sha512-/tjWYD8StMrINelsrHNmpXceo9s3/Y22AzePH1qCvXIgmz/aQp2YFFr6HqhNQVIOdcvaVyp5GS+yjHGuF7Rwsg==" }, "node_modules/@types/lodash": { - "version": "4.14.194", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz", - "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==" - }, - "node_modules/@types/long": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", - "integrity": "sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==" + "version": "4.14.200", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.200.tgz", + "integrity": "sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==" }, "node_modules/@types/memoizee": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@types/memoizee/-/memoizee-0.4.8.tgz", - "integrity": "sha512-qDpXKGgwKywnQt/64fH1O0LiPA++QGIYeykEUiZ51HymKVRLnUSGcRuF60IfpPeeXiuRwiR/W4y7S5VzbrgLCA==" + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/@types/memoizee/-/memoizee-0.4.10.tgz", + "integrity": "sha512-VOsAhXMsvpFRXbVD2nQi7U0rDcYJG23w3MLEuWPUcbuJ1CxyONdADKoMtn1Xmz/g7BgDx/0IWR42ou+gA3aQoA==" }, "node_modules/@types/method-override": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/method-override/-/method-override-0.0.32.tgz", - "integrity": "sha512-Vf9AohOlANmhNswCbkdRG3p+tYcq1+63O+ex1UoNIVYWW3tO8Mx6Z+5G1R8DENeC6/t1SiDJS+ph6ACKpryokg==", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/method-override/-/method-override-0.0.33.tgz", + "integrity": "sha512-H6hK7AZdUOCmboTTUlhfDG3uT0XDljjrk3vIb+GJ3ylkogXu5s/NncGB85r3rtCz6sxZBWF62dlf7I04sIQA5A==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/mime": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", - "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" }, "node_modules/@types/minimatch": { "version": "3.0.5", @@ -4514,94 +3178,97 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.3.tgz", + "integrity": "sha512-RsOPImTriV/OE4A9qKjMtk2MnXiuLLbcO3nCXK+kvq4nr0iMfFgpjaX3MPLb6f7+EL1FGSelYvuJMV6REH+ZPQ==", "dev": true }, "node_modules/@types/mockery": { - "version": "1.4.30", - "resolved": "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.30.tgz", - "integrity": "sha512-uv53RrNdhbkV/3VmVCtfImfYCWC3GTTRn3R11Whni3EJ+gb178tkZBVNj2edLY5CMrB749dQi+SJkg87jsN8UQ==", + "version": "1.4.32", + "resolved": "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.32.tgz", + "integrity": "sha512-aIfWlmbr81j+my5AE1NGsWDBGXa+Re0mnBKptqwrK+RXlb6l6mTCphgC7REdwX2wmkfOa3ewxRY8JPo+BZct1w==", "dev": true }, "node_modules/@types/morgan": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.4.tgz", - "integrity": "sha512-cXoc4k+6+YAllH3ZHmx4hf7La1dzUk6keTR4bF4b4Sc0mZxU/zK4wO7l+ZzezXm/jkYj/qC+uYGZrarZdIVvyQ==", + "version": "1.9.7", + "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.7.tgz", + "integrity": "sha512-4sJFBUBrIZkP5EvMm1L6VCXp3SQe8dnXqlVpe1jsmTjS1JQVmSjnpMNs8DosQd6omBi/K7BSKJ6z/Mc3ki0K9g==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", + "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==" }, "node_modules/@types/multer": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.7.tgz", - "integrity": "sha512-/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==", + "version": "1.4.9", + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.9.tgz", + "integrity": "sha512-9NSvPJ2E8bNTc8XtJq1Cimx2Wrn2Ah48F15B2Du/hM8a8CHLhVbJMlF3ZCqhvMdht7Sa+YdP0aKP7N4fxDcrrg==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/mysql": { - "version": "2.15.21", - "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.21.tgz", - "integrity": "sha512-NPotx5CVful7yB+qZbWtXL2fA4e7aEHkihHLjklc6ID8aq7bhguHgeIoC1EmSNTAuCgI6ZXrjt2ZSaXnYX0EUg==", + "version": "2.15.23", + "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.23.tgz", + "integrity": "sha512-l3mEJpU1VNkt7uJP2vYWZrfjxlzQtwJNKSWe+7sgChuDjFoyRfu263f9pBDlhFPmyda23o8GNGq6FL5CHSd/QA==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ndjson": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/ndjson/-/ndjson-2.0.1.tgz", - "integrity": "sha512-xSRLa/CtPjEo0plSQj+nMKjVBkYh5MeMwOXa1y//jFELdmy9AmVQgWKWQgZ+/XrNlAYxXtmKR8OHaizPgEpUEw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/ndjson/-/ndjson-2.0.3.tgz", + "integrity": "sha512-HJe8EzlFvyv7ntqwoxWm2NS6Ir0LvtEveuSR2neyK3fP/YnvIkyiR2TAz+JL0EhL5L0jqD0AHlqLCqd65FStPg==", "dependencies": { "@types/node": "*", "@types/through": "*" } }, "node_modules/@types/node": { - "version": "20.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", - "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==" + "version": "20.8.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", + "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", + "dependencies": { + "undici-types": "~5.25.1" + } }, "node_modules/@types/node-schedule": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/node-schedule/-/node-schedule-2.1.0.tgz", - "integrity": "sha512-NiTwl8YN3v/1YCKrDFSmCTkVxFDylueEqsOFdgF+vPsm+AlyJKGAo5yzX1FiOxPsZiN6/r8gJitYx2EaSuBmmg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@types/node-schedule/-/node-schedule-2.1.2.tgz", + "integrity": "sha512-pNf6vCw14EYbqo0Y1eLGhkyv9RhgvphrxpPk4bd1CqwsWbHCrLSVYpO+9NmKOCUSYwxG6eRaWDR3Y6C+4gtzow==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/on-finished": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@types/on-finished/-/on-finished-2.3.1.tgz", - "integrity": "sha512-mzVYaYcFs5Jd2n/O6uYIRUsFRR1cHyZLRvkLCU0E7+G5WhY0qBDAR5fUCeZbvecYOSh9ikhlesyi2UfI8B9ckQ==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/on-finished/-/on-finished-2.3.3.tgz", + "integrity": "sha512-qyr2ZlsJvXAjIvLygTDbs8zLUNI2j798WyGSnO745KEauD4OdykMMA0sSJAr2GIp+UvF+1TQq8+2cUIPMB9gnQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", + "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==", "dev": true }, "node_modules/@types/passport": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.12.tgz", - "integrity": "sha512-QFdJ2TiAEoXfEQSNDISJR1Tm51I78CymqcBa8imbjo6dNNu+l2huDxxbDEIoFIwOSKMkOfHEikyDuZ38WwWsmw==", + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.14.tgz", + "integrity": "sha512-D6p2ygR2S7Cq5PO7iUaEIQu/5WrM0tONu6Lxgk0C9r3lafQIlVpWCo3V/KI9To3OqHBxcfQaOeK+8AvwW5RYmw==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/passport-jwt": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.8.tgz", - "integrity": "sha512-VKJZDJUAHFhPHHYvxdqFcc5vlDht8Q2pL1/ePvKAgqRThDaCc84lSYOTQmnx3+JIkDlN+2KfhFhXIzlcVT+Pcw==", + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.11.tgz", + "integrity": "sha512-HwQNi4cajueebj41EjH5rtnLAdxQfusICFU18JEnvV3uYCJzKoT1D3MCwQ+nn8HeGjy6QuTxnm/I2WxuraqeDw==", "dependencies": { "@types/express": "*", "@types/jsonwebtoken": "*", @@ -4609,9 +3276,9 @@ } }, "node_modules/@types/passport-local": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/@types/passport-local/-/passport-local-1.0.35.tgz", - "integrity": "sha512-K4eLTJ8R0yYW8TvCqkjB0pTKoqfUSdl5PfZdidTjV2ETV3604fQxtY6BHKjQWAx50WUS0lqzBvKv3LoI1ZBPeA==", + "version": "1.0.37", + "resolved": "https://registry.npmjs.org/@types/passport-local/-/passport-local-1.0.37.tgz", + "integrity": "sha512-c57CwMHhMP2BBiOLyQZGRP43F8JtC84H976YVJdiU4EIWvqRCZ3F7QtsEgksOEIgMOk1Kz3EEKGA93OiDPQtRQ==", "dependencies": { "@types/express": "*", "@types/passport": "*", @@ -4619,46 +3286,46 @@ } }, "node_modules/@types/passport-strategy": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.35.tgz", - "integrity": "sha512-o5D19Jy2XPFoX2rKApykY15et3Apgax00RRLf0RUotPDUsYrQa7x4howLYr9El2mlUApHmCMv5CZ1IXqKFQ2+g==", + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.37.tgz", + "integrity": "sha512-ltgwLnwHVfpjK7/66lpv43hiz90nIVb36JmeB0iF3FAZoHX6+LbkY5Ey97Bm8Jr0uGhQyDFEsSOOfejp5PJehg==", "dependencies": { "@types/express": "*", "@types/passport": "*" } }, "node_modules/@types/pg": { - "version": "8.6.6", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.6.tgz", - "integrity": "sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==", + "version": "8.10.7", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.10.7.tgz", + "integrity": "sha512-ksJqHipwYaSEHz9e1fr6H6erjoEdNNaOxwyJgPx9bNeaqOW3iWBQgVHfpwiSAoqGzchfc+ZyRLwEfeCcyYD3uQ==", "dependencies": { "@types/node": "*", "pg-protocol": "*", - "pg-types": "^2.2.0" + "pg-types": "^4.0.1" } }, "node_modules/@types/proxy-addr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/proxy-addr/-/proxy-addr-2.0.0.tgz", - "integrity": "sha512-JEm0kSrO3CjbFSLpYeYhCscS0vpW1mIWedhWuurJnYbMzY1vcm9fzJ6TL6SWq3m/m3g4KUV5JBT69mQSwUHZHg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/proxy-addr/-/proxy-addr-2.0.2.tgz", + "integrity": "sha512-6OK5kH63HPo+0kDR8c05960AYxsfMEFOd/CXmhy87jREIpVIgYTCrHEqjl3f1wS5USA0i2is4Bx1BLzt+5evfA==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "version": "6.9.9", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", + "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" }, "node_modules/@types/randomstring": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@types/randomstring/-/randomstring-1.1.8.tgz", - "integrity": "sha512-NPOJcW+TTjT9Qiog0UjSoG3Sj24c7EfzZO39BU9E61D7fQtwNmBNblyQhSsK9+5s9Fm0o31rvX+ZyZkpE/c7jA==" + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/@types/randomstring/-/randomstring-1.1.10.tgz", + "integrity": "sha512-wyjGBt+hb8fJ+8Hyulw7TY5f0VunAmAJ63Q5rHPKZx6/bh9qrJxYlYnpxNaisu9enClOAih4l/N8kSQ3jpEYMw==" }, "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==" + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", + "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" }, "node_modules/@types/redis": { "version": "2.8.32", @@ -4669,9 +3336,9 @@ } }, "node_modules/@types/redlock": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/redlock/-/redlock-4.0.4.tgz", - "integrity": "sha512-1Q2cbSmuGQzqowWDVXkSDsj96muMSs1RiDBDHqSCiycyrpvNcMkmGZRaVrDgnbiL/YWXh3DAlKplAtIO4rzV7g==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/redlock/-/redlock-4.0.6.tgz", + "integrity": "sha512-qPdEnTCraBuxrzqgx7bBvfqw8WYcg7QUhVGH9KPH68i2++RKZ4L6NygkzMiFNTpPId7lGnu9IUHvutsnj+vVWg==", "dependencies": { "@types/bluebird": "*", "@types/ioredis": "^4.28.10", @@ -4679,9 +3346,9 @@ } }, "node_modules/@types/request": { - "version": "2.48.8", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.8.tgz", - "integrity": "sha512-whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==", + "version": "2.48.11", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.11.tgz", + "integrity": "sha512-HuihY1+Vss5RS9ZHzRyTGIzwPTdrJBkCm/mAeLRYrOQu/MGqyezKXWOK1VhCnR+SDbp9G2mRUP+OVEqCrzpcfA==", "dependencies": { "@types/caseless": "*", "@types/node": "*", @@ -4690,43 +3357,53 @@ } }, "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==" + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==" + }, + "node_modules/@types/send": { + "version": "0.17.3", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", + "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } }, "node_modules/@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", + "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", "dependencies": { + "@types/http-errors": "*", "@types/mime": "*", "@types/node": "*" } }, "node_modules/@types/sinon": { - "version": "10.0.14", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.14.tgz", - "integrity": "sha512-mn72up6cjaMyMuaPaa/AwKf6WtsSRysQC7wxFkCm1XcOKXPM1z+5Y4H5wjIVBz4gdAkjvZxVVfjA6ba1nHr5WQ==", + "version": "10.0.20", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz", + "integrity": "sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==", "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" } }, "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", + "version": "8.1.4", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.4.tgz", + "integrity": "sha512-GDV68H0mBSN449sa5HEj51E0wfpVQb8xNSMzxf/PrypMFcLTMwJMOM/cgXiv71Mq5drkOQmUGvL1okOZcu6RrQ==", "dev": true }, "node_modules/@types/string-hash": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/string-hash/-/string-hash-1.1.1.tgz", - "integrity": "sha512-ijt3zdHi2DmZxQpQTmozXszzDo78V4R3EdvX0jFMfnMH2ZzQSmCbaWOMPGXFUYSzSIdStv78HDjg32m5dxc+tA==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@types/string-hash/-/string-hash-1.1.2.tgz", + "integrity": "sha512-CtVwNz47vNgl2qVUnX29IkZaBr5XbscAL30cKFwU8HgbCB3cQ1OuY/COl4MrvWbJq0xfmB7mo/nZTng+bi4TDg==" }, "node_modules/@types/superagent": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.16.tgz", - "integrity": "sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ==", + "version": "4.1.20", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.20.tgz", + "integrity": "sha512-GfpwJgYSr3yO+nArFkmyqv3i0vZavyEG5xPd/o95RwpKYpsOKJYI5XLdxLpdRbZI3YiGKKdIOFIf/jlP7A0Jxg==", "dev": true, "dependencies": { "@types/cookiejar": "*", @@ -4734,71 +3411,71 @@ } }, "node_modules/@types/supertest": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.12.tgz", - "integrity": "sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.15.tgz", + "integrity": "sha512-jUCZZ/TMcpGzoSaed9Gjr8HCf3HehExdibyw3OHHEL1als1KmyzcOZZH4MjbObI8TkWsEr7bc7gsW0WTDni+qQ==", "dev": true, "dependencies": { "@types/superagent": "*" } }, "node_modules/@types/tar": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.4.tgz", - "integrity": "sha512-Cp4oxpfIzWt7mr2pbhHT2OTXGMAL0szYCzuf8lRWyIMCgsx6/Hfc3ubztuhvzXHXgraTQxyOCmmg7TDGIMIJJQ==", + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.7.tgz", + "integrity": "sha512-57ovoJf/lFhugSbDqDgpulTfm78uwO0Pa3EwgO3Op2IAIDZaDE4Z/orZ2yl25QRr8NQa1xjms9ElcoHx4pUedQ==", "dependencies": { "@types/node": "*", "minipass": "^4.0.0" } }, "node_modules/@types/temp": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.9.1.tgz", - "integrity": "sha512-yDQ8Y+oQi9V7VkexwE6NBSVyNuyNFeGI275yWXASc2DjmxNicMi9O50KxDpNlST1kBbV9jKYBHGXhgNYFMPqtA==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.9.3.tgz", + "integrity": "sha512-nGBEaq8uLbc+mDhpEE6bJHgR4d0WUUfJTBHXxRQsdLVLwZVfBl8F6HKl15MeAhrp3OlQgExyec7HG6JJ3xPzLw==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/through": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.30.tgz", - "integrity": "sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==", + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.32.tgz", + "integrity": "sha512-7XsfXIsjdfJM2wFDRAtEWp3zb2aVPk5QeyZxGlVK57q4u26DczMHhJmlhr0Jqv0THwxam/L8REXkj8M2I/lcvw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.4.tgz", + "integrity": "sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==" }, "node_modules/@types/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==" + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.6.tgz", + "integrity": "sha512-BT2Krtx4xaO6iwzwMFUYvWBWkV2pr37zD68Vmp1CDV196MzczBRxuEpD6Pr395HAgebC/co7hOphs53r8V7jew==" }, "node_modules/@types/validator": { - "version": "13.7.15", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.7.15.tgz", - "integrity": "sha512-yeinDVQunb03AEP8luErFcyf/7Lf7AzKCD0NXfgVoGCCQDNpZET8Jgq74oBgqKld3hafLbfzt/3inUdQvaFeXQ==" + "version": "13.11.5", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.5.tgz", + "integrity": "sha512-xW4qsT4UIYILu+7ZrBnfQdBYniZrMLYYK3wN9M/NdeIHgBN5pZI2/8Q7UfdWIcr5RLJv/OGENsx91JIpUUoC7Q==" }, "node_modules/@types/websql": { - "version": "0.0.27", - "resolved": "https://registry.npmjs.org/@types/websql/-/websql-0.0.27.tgz", - "integrity": "sha512-bmJkLrp/S1G1m/MEcCFuRYjSpgFIWt1KoglSw4D9i3veQBR6v0BYFmp7snK1u3ri53AFdLaRR8qwIsOzw1h8LA==" + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/@types/websql/-/websql-0.0.28.tgz", + "integrity": "sha512-9cocXIcxXowJOVIS5D0kHYQG8darHJ7JpgWeh8ESvPbGH35I5NkfF2DhRjv+Kw8URZisqlnpbMtA/whhcKrWXw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.4.1.tgz", - "integrity": "sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", + "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/type-utils": "6.4.1", - "@typescript-eslint/utils": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/type-utils": "6.8.0", + "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4824,15 +3501,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.4.1.tgz", - "integrity": "sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", + "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/typescript-estree": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4" }, "engines": { @@ -4852,13 +3529,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.4.1.tgz", - "integrity": "sha512-p/OavqOQfm4/Hdrr7kvacOSFjwQ2rrDVJRPxt/o0TOWdFnjJptnjnZ+sYDR7fi4OimvIuKp+2LCkc+rt9fIW+A==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", + "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1" + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4869,13 +3546,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.4.1.tgz", - "integrity": "sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", + "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.4.1", - "@typescript-eslint/utils": "6.4.1", + "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/utils": "6.8.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4896,9 +3573,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.4.1.tgz", - "integrity": "sha512-zAAopbNuYu++ijY1GV2ylCsQsi3B8QvfPHVqhGdDcbx/NK5lkqMnCGU53amAjccSpk+LfeONxwzUhDzArSfZJg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", + "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4909,13 +3586,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.4.1.tgz", - "integrity": "sha512-xF6Y7SatVE/OyV93h1xGgfOkHr2iXuo8ip0gbfzaKeGGuKiAnzS+HtVhSPx8Www243bwlW8IF7X0/B62SzFftg==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", + "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/visitor-keys": "6.4.1", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/visitor-keys": "6.8.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4936,17 +3613,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.4.1.tgz", - "integrity": "sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", + "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.4.1", - "@typescript-eslint/types": "6.4.1", - "@typescript-eslint/typescript-estree": "6.4.1", + "@typescript-eslint/scope-manager": "6.8.0", + "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/typescript-estree": "6.8.0", "semver": "^7.5.4" }, "engines": { @@ -4961,12 +3638,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.4.1.tgz", - "integrity": "sha512-y/TyRJsbZPkJIZQXrHfdnxVnxyKegnpEvnRGNam7s3TRR2ykGefEWOhaef00/UUN3IZxizS7BTO3svd3lCOJRQ==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", + "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.4.1", + "@typescript-eslint/types": "6.8.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -4977,73 +3654,79 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/@vue/compiler-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", - "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.6.tgz", + "integrity": "sha512-2JNjemwaNwf+MkkatATVZi7oAH1Hx0B04DdPH3ZoZ8vKC1xZVP7nl4HIsk8XYd3r+/52sqqoz9TWzYc3yE9dqA==", "dev": true, "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.23.0", + "@vue/shared": "3.3.6", "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", - "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.6.tgz", + "integrity": "sha512-1MxXcJYMHiTPexjLAJUkNs/Tw2eDf2tY3a0rL+LfuWyiKN2s6jvSwywH3PWD8bKICjfebX3GWx2Os8jkRDq3Ng==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-core": "3.3.6", + "@vue/shared": "3.3.6" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", - "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.6.tgz", + "integrity": "sha512-/Kms6du2h1VrXFreuZmlvQej8B1zenBqIohP0690IUBkJjsFvJxY0crcvVRJ0UhMgSR9dewB+khdR1DfbpArJA==", "dev": true, "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-ssr": "3.2.47", - "@vue/reactivity-transform": "3.2.47", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.6", + "@vue/compiler-dom": "3.3.6", + "@vue/compiler-ssr": "3.3.6", + "@vue/reactivity-transform": "3.3.6", + "@vue/shared": "3.3.6", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", - "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.6.tgz", + "integrity": "sha512-QTIHAfDCHhjXlYGkUg5KH7YwYtdUM1vcFl/FxFDlD6d0nXAmnjizka3HITp8DGudzHndv2PjKVS44vqqy0vP4w==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-dom": "3.3.6", + "@vue/shared": "3.3.6" } }, "node_modules/@vue/reactivity-transform": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", - "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.6.tgz", + "integrity": "sha512-RlJl4dHfeO7EuzU1iJOsrlqWyJfHTkJbvYz/IOJWqu8dlCNWtxWX377WI0VsbAgBizjwD+3ZjdnvSyyFW1YVng==", "dev": true, "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.6", + "@vue/shared": "3.3.6", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "magic-string": "^0.30.5" } }, "node_modules/@vue/shared": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", - "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.6.tgz", + "integrity": "sha512-Xno5pEqg8SVhomD0kTSmfh30ZEmV/+jZtyh39q6QflrjdJCXah5lrnOLi9KB6a5k5aAHXMXjoMnxlzUkCNfWLQ==", "dev": true }, "node_modules/abbrev": { @@ -5283,15 +3966,15 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -5323,23 +4006,15 @@ "node": ">=8" } }, - "node_modules/array-uniq": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz", - "integrity": "sha512-GVYjmpL05al4dNlKJm53mKE4w9OOLiuVHWorsIA3YVz+Hu0hcn6PtE3Ydl0EqU7v+7ABC4mjjWsnLUxbpno+CA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array.prototype.flat": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", - "integrity": "sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -5350,14 +4025,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -5368,27 +4043,28 @@ } }, "node_modules/array.prototype.tosorted": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz", - "integrity": "sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.1.3" + "get-intrinsic": "^1.2.1" } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz", - "integrity": "sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", "call-bind": "^1.0.2", "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "get-intrinsic": "^1.2.1", "is-array-buffer": "^3.0.2", "is-shared-array-buffer": "^1.0.2" @@ -5479,9 +4155,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1365.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1365.0.tgz", - "integrity": "sha512-GRwHfzYufi7BhBtgyzeHvqS5yCMRC5ZCqmDU/TBMnr8IaH6sabSG2iAhVn1Kkpjv3tDnWHwDr5s8wNMTzJLPmg==", + "version": "2.1478.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1478.0.tgz", + "integrity": "sha512-F+Ud9FxMD4rwvGbEXn7qc25Q19N4p+9klRjiH1llFLYssPw6TRtY464Cry/jG4OzuYkE/DsnhcwVFEJjGvMmuQ==", "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -5498,6 +4174,24 @@ "node": ">= 10.0.0" } }, + "node_modules/aws-sdk/node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/aws-sdk/node_modules/events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/aws-sdk/node_modules/uuid": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", @@ -5535,9 +4229,9 @@ } }, "node_modules/balena-semver": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/balena-semver/-/balena-semver-2.3.2.tgz", - "integrity": "sha512-/Jjf6emcDRds1zqr40cP90JDKai5AHNn5CRLwOrs9ix7Lk4P+aU9GBeIbSvtORAkILE8R75v7y6y9017jy+4jg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/balena-semver/-/balena-semver-2.3.3.tgz", + "integrity": "sha512-koL3JwsOhfA+TZwwVVBilk9p4QasAcL1oixF+cHBqDFjtfJYiDLylvwbaaWQnsApVSCNJUtV/XC1YqnzE3DbMA==", "dependencies": { "@types/lodash": "^4.14.149", "@types/semver": "^7.1.0", @@ -5579,13 +4273,13 @@ } }, "node_modules/bcrypt": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.0.tgz", - "integrity": "sha512-RHBS7HI5N5tEnGTmtR/pppX0mmDSBpQ4aCBsj7CEQfYXDcO74A8sIBYcJMuCsis2E81zDxeENYhv66oZwLiA+Q==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", "hasInstallScript": true, "optional": true, "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.10", + "@mapbox/node-pre-gyp": "^1.0.11", "node-addon-api": "^5.0.0" }, "engines": { @@ -5704,13 +4398,13 @@ "dev": true }, "node_modules/buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.6.0.tgz", + "integrity": "sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==", + "optional": true, "dependencies": { "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "ieee754": "^1.1.4" } }, "node_modules/buffer-equal-constant-time": { @@ -5812,26 +4506,28 @@ "url": "https://opencollective.com/ioredis" } }, - "node_modules/cache-manager-ioredis/node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -5871,18 +4567,18 @@ } }, "node_modules/chai": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", - "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" @@ -5915,10 +4611,13 @@ } }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -5944,10 +4643,22 @@ "readdirp": "~3.6.0" }, "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/chownr": { @@ -5993,21 +4704,57 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" } }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -6016,6 +4763,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6025,6 +4773,23 @@ "node": ">=8" } }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/cluster-key-slot": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", @@ -6276,9 +5041,9 @@ } }, "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "engines": { "node": ">= 0.6" } @@ -6386,10 +5151,31 @@ "copyup": "copyfiles" } }, + "node_modules/copyfiles/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "devOptional": true }, "node_modules/cosmiconfig": { "version": "7.1.0", @@ -6413,9 +5199,9 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cron-parser": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.7.1.tgz", - "integrity": "sha512-WguFaoQ0hQ61SgsCZLHUcNbAvlK0lypKXu62ARguefYmjzaOXIVRNrAmyXzabTwUn4sQvQLkk6bjH+ipGfw8bA==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz", + "integrity": "sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==", "dependencies": { "luxon": "^3.2.1" }, @@ -6519,12 +5305,26 @@ "node": ">=0.10.0" } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -6558,34 +5358,34 @@ } }, "node_modules/depcheck": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-1.4.3.tgz", - "integrity": "sha512-vy8xe1tlLFu7t4jFyoirMmOR7x7N601ubU9Gkifyr9z8rjBFtEdWHDBMqXyk6OkK+94NXutzddVXJuo0JlUQKQ==", - "dev": true, - "dependencies": { - "@babel/parser": "7.16.4", - "@babel/traverse": "^7.12.5", - "@vue/compiler-sfc": "^3.0.5", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "deps-regex": "^0.1.4", - "ignore": "^5.1.8", - "is-core-module": "^2.4.0", - "js-yaml": "^3.14.0", - "json5": "^2.1.3", - "lodash": "^4.17.20", - "minimatch": "^3.0.4", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/depcheck/-/depcheck-1.4.7.tgz", + "integrity": "sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@babel/traverse": "^7.23.2", + "@vue/compiler-sfc": "^3.3.4", + "callsite": "^1.0.0", + "camelcase": "^6.3.0", + "cosmiconfig": "^7.1.0", + "debug": "^4.3.4", + "deps-regex": "^0.2.0", + "findup-sync": "^5.0.0", + "ignore": "^5.2.4", + "is-core-module": "^2.12.0", + "js-yaml": "^3.14.1", + "json5": "^2.2.3", + "lodash": "^4.17.21", + "minimatch": "^7.4.6", "multimatch": "^5.0.0", "please-upgrade-node": "^3.2.0", - "query-ast": "^1.0.3", - "readdirp": "^3.5.0", + "readdirp": "^3.6.0", "require-package-name": "^2.0.1", - "resolve": "^1.18.1", - "sass": "^1.29.0", - "scss-parser": "^1.0.4", - "semver": "^7.3.2", - "yargs": "^16.1.0" + "resolve": "^1.22.3", + "resolve-from": "^5.0.0", + "semver": "^7.5.4", + "yargs": "^16.2.0" }, "bin": { "depcheck": "bin/depcheck.js" @@ -6594,6 +5394,30 @@ "node": ">=10" } }, + "node_modules/depcheck/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/depcheck/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -6603,9 +5427,9 @@ } }, "node_modules/deps-regex": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz", - "integrity": "sha512-3tzwGYogSJi8HoG93R5x9NrdefZQOXgHgGih/7eivloOq6yC6O+yoFxZnkgP661twvfILONfoKRdF9GQOGx2RA==", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/deps-regex/-/deps-regex-0.2.0.tgz", + "integrity": "sha512-PwuBojGMQAYbWkMXOY9Pd/NWCDNHVH12pnS7WHqZkTSeMESe4hwnKKRp0yR87g37113x4JPbo/oIvXY+s/f56Q==", "dev": true }, "node_modules/destroy": { @@ -6617,10 +5441,19 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "optional": true, "engines": { "node": ">=8" @@ -6711,29 +5544,6 @@ "node": ">= 0.8" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "peer": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -6744,26 +5554,26 @@ } }, "node_modules/es-abstract": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.1.tgz", - "integrity": "sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.0", - "arraybuffer.prototype.slice": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.2", "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.5", "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", + "hasown": "^2.0.0", "internal-slot": "^1.0.5", "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", @@ -6771,23 +5581,23 @@ "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "safe-array-concat": "^1.0.0", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", "typed-array-buffer": "^1.0.0", "typed-array-byte-length": "^1.0.0", "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.10" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -6797,15 +5607,15 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.13.tgz", - "integrity": "sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==", + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", "dev": true, "dependencies": { "asynciterator.prototype": "^1.0.0", "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.21.3", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", "es-set-tostringtag": "^2.0.1", "function-bind": "^1.1.1", "get-intrinsic": "^1.2.1", @@ -6814,31 +5624,31 @@ "has-proto": "^1.0.1", "has-symbols": "^1.0.3", "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.0", - "safe-array-concat": "^1.0.0" + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" } }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { @@ -6925,18 +5735,19 @@ } }, "node_modules/eslint": { - "version": "8.47.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz", - "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==", + "version": "8.52.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", + "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "^8.47.0", - "@humanwhocodes/config-array": "^0.11.10", + "@eslint/js": "8.52.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -7003,9 +5814,9 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "46.5.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.5.0.tgz", - "integrity": "sha512-aulXdA4I1dyWpzyS1Nh/GNoS6PavzeucxEapnMR4JUERowWvaEk2Y4A5irpHAcdXtBBHLVe8WIhdXNjoAlGQgA==", + "version": "46.8.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", + "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", "dev": true, "dependencies": { "@es-joy/jsdoccomment": "~0.40.1", @@ -7037,6 +5848,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint-plugin-no-only-tests": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-3.1.0.tgz", + "integrity": "sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==", + "dev": true, + "engines": { + "node": ">=5.0.0" + } + }, "node_modules/eslint-plugin-react": { "version": "7.33.2", "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", @@ -7080,12 +5900,12 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.4.tgz", - "integrity": "sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==", + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", "dev": true, "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -7200,22 +6020,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/eslint/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -7373,11 +6181,12 @@ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" }, "node_modules/events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "optional": true, "engines": { - "node": ">=0.4.x" + "node": ">=0.8.x" } }, "node_modules/execa": { @@ -7403,16 +6212,16 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", "dev": true, - "engines": { - "node": ">=14" + "dependencies": { + "homedir-polyfill": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=0.10.0" } }, "node_modules/express": { @@ -7474,6 +6283,14 @@ "node": ">= 0.8.0" } }, + "node_modules/express-session/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express-session/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7529,14 +6346,6 @@ "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -7623,9 +6432,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -7637,6 +6446,17 @@ "node": ">=8.6.0" } }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -7655,19 +6475,25 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz", - "integrity": "sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", + "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "funding": [ + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + }, + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], "optional": true, "dependencies": { "strnum": "^1.0.5" }, "bin": { "fxparser": "src/cli/cli.js" - }, - "funding": { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" } }, "node_modules/fastq": { @@ -7747,6 +6573,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/findup-sync": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz", + "integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==", + "dev": true, + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.3", + "micromatch": "^4.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/flat": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", @@ -7757,16 +6598,37 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/flat-cache/node_modules/rimraf": { @@ -7785,9 +6647,9 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "node_modules/for-each": { @@ -7814,18 +6676,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -7921,20 +6771,23 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -7987,6 +6840,12 @@ "node": ">=8" } }, + "node_modules/gauge/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "optional": true + }, "node_modules/gauge/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -8010,23 +6869,23 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", + "function-bind": "^1.1.2", "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8077,34 +6936,112 @@ } }, "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "devOptional": true, + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">= 6" + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "dev": true, + "dependencies": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, "node_modules/globals": { @@ -8194,17 +7131,6 @@ "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -8224,12 +7150,11 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dependencies": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8277,6 +7202,17 @@ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "optional": true }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -8295,6 +7231,18 @@ "node": ">=8" } }, + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "dev": true, + "dependencies": { + "parse-passwd": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -8385,12 +7333,6 @@ "node": ">= 4" } }, - "node_modules/immutable": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.2.4.tgz", - "integrity": "sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==", - "dev": true - }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -8407,6 +7349,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -8431,29 +7382,26 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { "node": ">= 0.4" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, - "dependencies": { - "loose-envify": "^1.0.0" - } - }, "node_modules/ioredis": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", @@ -8607,12 +7555,12 @@ } }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8837,15 +7785,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -8905,6 +7849,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -8922,22 +7875,22 @@ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "node_modules/iterator.prototype": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.0.tgz", - "integrity": "sha512-rjuhAk1AJ1fssphHD0IFV6TWL40CwRZ53FrztKx43yk2v6rguBYsY4Bj1VU4HmoMmKwZUlx7mfnhDf9cOp4YTw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dev": true, "dependencies": { - "define-properties": "^1.1.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "has-tostringtag": "^1.0.0", - "reflect.getprototypeof": "^1.0.3" + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" } }, "node_modules/jackspeak": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz", - "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -9005,6 +7958,12 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -9045,14 +8004,20 @@ } }, "node_modules/jsonwebtoken": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz", - "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", "dependencies": { "jws": "^3.2.2", - "lodash": "^4.17.21", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", "ms": "^2.1.1", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "engines": { "node": ">=12", @@ -9124,6 +8089,15 @@ "node": ">= 0.6" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", @@ -9169,9 +8143,9 @@ "dev": true }, "node_modules/lint-staged": { - "version": "15.0.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.0.1.tgz", - "integrity": "sha512-2IU5OWmCaxch0X0+IBF4/v7sutpB+F3qoXbro43pYjQTOo5wumckjxoxn47pQBqqBsCWrD5HnI2uG/zJA7isew==", + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.0.2.tgz", + "integrity": "sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==", "dev": true, "dependencies": { "chalk": "5.3.0", @@ -9179,11 +8153,11 @@ "debug": "4.3.4", "execa": "8.0.1", "lilconfig": "2.1.0", - "listr2": "7.0.1", + "listr2": "7.0.2", "micromatch": "4.0.5", "pidtree": "0.6.0", "string-argv": "0.3.2", - "yaml": "2.3.2" + "yaml": "2.3.3" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -9217,18 +8191,18 @@ } }, "node_modules/lint-staged/node_modules/yaml": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", - "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", + "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", "dev": true, "engines": { "node": ">= 14" } }, "node_modules/listr2": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-7.0.1.tgz", - "integrity": "sha512-nz+7hwgbDp8eWNoDgzdl4hA/xDSLrNRzPu1TLgOYs6l5Y+Ma6zVWWy9Oyt9TQFONwKoSPoka3H50D3vD5EuNwg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-7.0.2.tgz", + "integrity": "sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==", "dev": true, "dependencies": { "cli-truncate": "^3.1.0", @@ -9242,62 +8216,6 @@ "node": ">=16.0.0" } }, - "node_modules/listr2/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -9344,17 +8262,52 @@ "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", "dev": true }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, "node_modules/lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==" }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -9472,18 +8425,6 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/log-update/node_modules/strip-ansi": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", @@ -9499,23 +8440,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, "node_modules/loki-grpc-client": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loki-grpc-client/-/loki-grpc-client-2.0.0.tgz", @@ -9527,9 +8451,9 @@ } }, "node_modules/long": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" }, "node_modules/long-timeout": { "version": "0.1.1", @@ -9557,12 +8481,12 @@ } }, "node_modules/loupe": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", - "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, "dependencies": { - "get-func-name": "^2.0.0" + "get-func-name": "^2.0.1" } }, "node_modules/lru_map": { @@ -9587,20 +8511,23 @@ } }, "node_modules/luxon": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.2.1.tgz", - "integrity": "sha512-QrwPArQCNLAKGO/C+ZIilgIuDnEnKx5QYODdDtbFaxzsbZcc/a7WFq7MhsVYgRlwawLtvOUESTlfJ+hc/USqPg==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", "engines": { "node": ">=12" } }, "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" } }, "node_modules/make-dir": { @@ -9871,15 +8798,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/mocha/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -9892,6 +8810,38 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mocha/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/mocha/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -9925,6 +8875,15 @@ "node": ">=10" } }, + "node_modules/mocha/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/mocha/node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -10101,9 +9060,9 @@ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, "node_modules/nise": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.4.tgz", - "integrity": "sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.5.tgz", + "integrity": "sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==", "dev": true, "dependencies": { "@sinonjs/commons": "^2.0.0", @@ -10113,6 +9072,15 @@ "path-to-regexp": "^1.7.0" } }, + "node_modules/nise/node_modules/@sinonjs/commons": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", + "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, "node_modules/nise/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -10129,14 +9097,13 @@ } }, "node_modules/nock": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz", - "integrity": "sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==", + "version": "13.3.6", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.6.tgz", + "integrity": "sha512-lT6YuktKroUFM+27mubf2uqQZVy2Jf+pfGzuh9N6VwdHlFoZqvi4zyxFTVR1w/ChPqGY6yxGehHp6C3wqCASCw==", "dev": true, "dependencies": { "debug": "^4.1.0", "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.21", "propagate": "^2.0.0" }, "engines": { @@ -10150,9 +9117,9 @@ "optional": true }, "node_modules/node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "optional": true, "dependencies": { "whatwg-url": "^5.0.0" @@ -10296,9 +9263,9 @@ } }, "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10331,28 +9298,28 @@ } }, "node_modules/object.entries": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.6.tgz", - "integrity": "sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.6.tgz", - "integrity": "sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -10362,27 +9329,27 @@ } }, "node_modules/object.hasown": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.2.tgz", - "integrity": "sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", "dev": true, "dependencies": { - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -10391,6 +9358,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, "node_modules/ometa-js": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/ometa-js/-/ometa-js-1.5.4.tgz", @@ -10498,6 +9470,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "engines": { + "node": ">=6" + } + }, "node_modules/packet-reader": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", @@ -10534,6 +9514,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -10647,9 +9636,9 @@ } }, "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -10689,15 +9678,15 @@ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/pg": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.10.0.tgz", - "integrity": "sha512-ke7o7qSTMb47iwzOSaZMfeR7xToFdkE71ifIipOAAaLIM0DYzfOAXlgFFmYUIE2BcJtvnVlGCID84ZzCegE8CQ==", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", + "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", "optional": true, "dependencies": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", - "pg-connection-string": "^2.5.0", - "pg-pool": "^3.6.0", + "pg-connection-string": "^2.6.2", + "pg-pool": "^3.6.1", "pg-protocol": "^1.6.0", "pg-types": "^2.1.0", "pgpass": "1.x" @@ -10705,6 +9694,9 @@ "engines": { "node": ">= 8.0.0" }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, "peerDependencies": { "pg-native": ">=3.0.1" }, @@ -10714,10 +9706,16 @@ } } }, + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "optional": true + }, "node_modules/pg-connection-string": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", - "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==", "optional": true }, "node_modules/pg-int8": { @@ -10728,10 +9726,18 @@ "node": ">=4.0.0" } }, + "node_modules/pg-numeric": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pg-numeric/-/pg-numeric-1.0.2.tgz", + "integrity": "sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==", + "engines": { + "node": ">=4" + } + }, "node_modules/pg-pool": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.0.tgz", - "integrity": "sha512-clFRf2ksqd+F497kWFyM21tMjeikn60oGDmqMT8UBrynEwVEX/5R5xd2sdvdo1cZCFlguORNpVuqxIj+aK4cfQ==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", + "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", "optional": true, "peerDependencies": { "pg": ">=8.0" @@ -10743,9 +9749,27 @@ "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" }, "node_modules/pg-types": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.1.tgz", + "integrity": "sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==", + "dependencies": { + "pg-int8": "1.0.1", + "pg-numeric": "1.0.2", + "postgres-array": "~3.0.1", + "postgres-bytea": "~3.0.0", + "postgres-date": "~2.0.1", + "postgres-interval": "^3.0.0", + "postgres-range": "^1.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/pg/node_modules/pg-types": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "optional": true, "dependencies": { "pg-int8": "1.0.1", "postgres-array": "~2.0.0", @@ -10757,6 +9781,45 @@ "node": ">=4" } }, + "node_modules/pg/node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "optional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/pg/node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pg/node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pg/node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "optional": true, + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/pgpass": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", @@ -10892,40 +9955,45 @@ } }, "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz", + "integrity": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==", "engines": { - "node": ">=4" + "node": ">=12" } }, "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", + "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", + "dependencies": { + "obuf": "~1.1.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.0.1.tgz", + "integrity": "sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==", "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "^4.0.0" - }, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", + "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", "engines": { - "node": ">=0.10.0" + "node": ">=12" } }, + "node_modules/postgres-range": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postgres-range/-/postgres-range-1.1.3.tgz", + "integrity": "sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==" + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -10936,9 +10004,9 @@ } }, "node_modules/prettier": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.2.tgz", - "integrity": "sha512-o2YR9qtniXvwEZlOKbveKfDQVyqxbEIWn48Z8m3ZJjBjcCmUy3xZGIv+7AkaeuaTr6yPXJjwv07ZWlsWbEy1rQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -10957,9 +10025,9 @@ "devOptional": true }, "node_modules/prom-client": { - "version": "14.1.1", - "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-14.1.1.tgz", - "integrity": "sha512-hFU32q7UZQ59bVJQGUtm3I2PrJ3gWvoCkilX9sF165ks1qflhugVCeK+S1JjJYHvyt3o5kj68+q3bchormjnzw==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-14.2.0.tgz", + "integrity": "sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA==", "dependencies": { "tdigest": "^0.1.1" }, @@ -11010,11 +10078,6 @@ "node": ">=12.0.0" } }, - "node_modules/protobufjs/node_modules/long": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", - "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -11071,16 +10134,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/query-ast": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/query-ast/-/query-ast-1.0.5.tgz", - "integrity": "sha512-JK+1ma4YDuLjvKKcz9JZ70G+CM9qEOs/l1cZzstMMfwKUabTJ9sud5jvDGrUNuv03yKUgs82bLkHXJkDyhRmBw==", - "dev": true, - "dependencies": { - "invariant": "2.2.4", - "lodash": "^4.17.21" - } - }, "node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -11123,11 +10176,10 @@ "integrity": "sha512-lDVjxQQFoCG1jcrP06LNo2lbWp4QTShEXnhActFBwYuHprllQV6VUpwreApsYqCgD+N1mHoqJ/BI/4eV4R2GYg==" }, "node_modules/randomstring": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/randomstring/-/randomstring-1.2.3.tgz", - "integrity": "sha512-3dEFySepTzp2CvH6W/ASYGguPPveBuz5MpZ7MuoUkoVehmyNl9+F9c9GFVrz2QPbM9NXTIHGcmJDY/3j4677kQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/randomstring/-/randomstring-1.3.0.tgz", + "integrity": "sha512-gY7aQ4i1BgwZ8I1Op4YseITAyiDiajeZOPQUbIq9TPGPhUm5FX59izIaOpmKbME1nmnEiABf28d9K2VSii6BBg==", "dependencies": { - "array-uniq": "1.0.2", "randombytes": "2.0.3" }, "bin": { @@ -11146,9 +10198,9 @@ } }, "node_modules/rate-limiter-flexible": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.4.1.tgz", - "integrity": "sha512-dgH4T44TzKVO9CLArNto62hJOwlWJMLUjVVr/ii0uUzZXEXthDNr7/yefW5z/1vvHAfycc1tnuiYyNJ8CTRB3g==" + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.4.2.tgz", + "integrity": "sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==" }, "node_modules/raw-body": { "version": "2.5.2", @@ -11259,15 +10311,15 @@ } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.3.tgz", - "integrity": "sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.1", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "globalthis": "^1.0.3", "which-builtin-type": "^1.1.3" }, @@ -11279,14 +10331,14 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -11379,9 +10431,9 @@ "dev": true }, "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, "dependencies": { "is-core-module": "^2.13.0", @@ -11395,13 +10447,26 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "node_modules/resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", + "dev": true, + "dependencies": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/restore-cursor": { @@ -11444,6 +10509,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -11479,15 +10550,15 @@ } }, "node_modules/rimraf": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.1.tgz", - "integrity": "sha512-OfFZdwtd3lZ+XZzYP/6gTACubwFcHdLRqS9UX3UwpU2dnGQYkPFISRwvM3w9IiB2w7bW5qGo/uAwE4SmXXSKvg==", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", + "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", "dev": true, "dependencies": { - "glob": "^10.2.5" + "glob": "^10.3.7" }, "bin": { - "rimraf": "dist/cjs/src/bin.js" + "rimraf": "dist/esm/bin.mjs" }, "engines": { "node": ">=14" @@ -11496,61 +10567,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.4.tgz", - "integrity": "sha512-6LFElP3A+i/Q8XQKEvZjkEWEOTgAIALR9AO2rwT8bgPhDd1anmqDJDZ6lLddI4ehxxxR1S5RIqKe1uapMQfYaQ==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minipass": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.3.tgz", - "integrity": "sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/rsmq": { "version": "0.12.4", "resolved": "https://registry.npmjs.org/rsmq/-/rsmq-0.12.4.tgz", @@ -11586,13 +10602,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.0.tgz", - "integrity": "sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -11633,41 +10649,11 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "node_modules/sass": { - "version": "1.58.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.3.tgz", - "integrity": "sha512-Q7RaEtYf6BflYrQ+buPudKR26/lH+10EmO9bBqbmPh/KeLqv8bjpTNqxe71ocONqXq+jYiCbpPUmQMS+JJPk4A==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/sax": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==" }, - "node_modules/scss-parser": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.6.tgz", - "integrity": "sha512-SH3TaoaJFzfAtqs3eG1j5IuHJkeEW5rKUPIjIN+ZorLAyJLHItQGnsgwHk76v25GtLtpT9IqfAcqK4vFWdiw+w==", - "dev": true, - "dependencies": { - "invariant": "2.2.4", - "lodash": "4.17.21" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -11778,6 +10764,34 @@ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "optional": true }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -11831,15 +10845,21 @@ } }, "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "devOptional": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/sinon": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.0.0.tgz", - "integrity": "sha512-B8AaZZm9CT5pqe4l4uWJztfD/mOTa7dL8Qo0W4+s+t74xECOgSZDDQCBjNgIK3+n4kyxQrSTv2V5ul8K25qkiQ==", + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.1.3.tgz", + "integrity": "sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0", @@ -11854,15 +10874,6 @@ "url": "https://opencollective.com/sinon" } }, - "node_modules/sinon/node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, "node_modules/sinon/node_modules/diff": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", @@ -11963,10 +10974,9 @@ "integrity": "sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==" }, "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", "engines": { "node": ">=0.10.0" } @@ -11980,13 +10990,6 @@ "node": ">=0.10.0" } }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead", - "dev": true - }, "node_modules/spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", @@ -12004,9 +11007,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true }, "node_modules/split2": { @@ -12046,9 +11049,9 @@ } }, "node_modules/sshpk": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", - "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -12216,18 +11219,19 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", "side-channel": "^1.0.4" }, "funding": { @@ -12235,14 +11239,14 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -12252,28 +11256,28 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12430,13 +11434,13 @@ } }, "node_modules/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -12445,6 +11449,14 @@ "node": ">=10" } }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/tdigest": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.2.tgz", @@ -12533,9 +11545,9 @@ "optional": true }, "node_modules/ts-api-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.2.tgz", - "integrity": "sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", "dev": true, "engines": { "node": ">=16.13.0" @@ -12595,9 +11607,9 @@ } }, "node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tsscmp": { "version": "1.0.6", @@ -12803,14 +11815,6 @@ "node": ">=0.10.0" } }, - "node_modules/uglify-js/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/uglify-js/node_modules/yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", @@ -12854,6 +11858,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/undici-types": { + "version": "5.25.3", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", + "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -12919,9 +11928,13 @@ } }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } @@ -12932,9 +11945,9 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "node_modules/validator": { - "version": "13.9.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.9.0.tgz", - "integrity": "sha512-B+dGG8U3fdtM0/aNK4/X8CXq/EcxU2WPrPEkJGslb47qyHsxmbggTWK0yEA4qnYVNF+nxNlN88o14hIcPmSIEA==", + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", "engines": { "node": ">= 0.10" } @@ -12960,6 +11973,11 @@ "extsprintf": "^1.2.0" } }, + "node_modules/verror/node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -13055,12 +12073,12 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", "has-tostringtag": "^1.0.0" @@ -13133,16 +12151,17 @@ "dev": true }, "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -13228,60 +12247,43 @@ "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/wrappy": { @@ -13314,6 +12316,7 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "devOptional": true, "engines": { "node": ">=0.4" } @@ -13344,6 +12347,7 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -13361,6 +12365,7 @@ "version": "20.2.4", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, "engines": { "node": ">=10" } @@ -13383,12 +12388,14 @@ "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -13397,6 +12404,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", From d1824280ede9ddb68a90b64bacfefca707f0f101 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 00:10:29 +0000 Subject: [PATCH 180/221] v14.13.1 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index c0b483664..f01b6aced 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Lock file maintenance + hash: 38e8e235f4ceef457caae3e2dc58762d31b897b6 + body: | + Update + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.13.1 + title: "" + date: 2023-10-23T00:10:25.372Z - commits: - subject: "multi-level-memoizee: Support local & global specific extra Cache options" diff --git a/CHANGELOG.md b/CHANGELOG.md index ca7ae936c..8fa307ecf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.1 - 2023-10-23 + +* Lock file maintenance [Self-hosted Renovate Bot] + ## 14.13.0 - 2023-10-20 * multi-level-memoizee: Support local & global specific extra Cache options [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 57c10919f..fc2b46465 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.0", + "version": "14.13.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.0", + "version": "14.13.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 564827f59..6270e84f1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.0", + "version": "14.13.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-20T09:48:48.485Z" + "publishedAt": "2023-10-23T00:10:26.300Z" } } From 57e245c15367136703ab09ae069b1b3f3483c95b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Mon, 23 Oct 2023 13:17:00 -0300 Subject: [PATCH 181/221] Update @balena/pinejs dependency Update @balena/pinejs from 15.3.10 to 15.3.13 Change-type: patch --- package-lock.json | 9 ++++----- package.json | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc2b46465..82cdc51a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.10", + "@balena/pinejs": "^15.3.13", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", @@ -1310,9 +1310,9 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.12", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.12.tgz", - "integrity": "sha512-2bL38PEbCu5apEeRzGYYq3yETSmT+jC/10CctUMyNU52EKPeQbK3wSRdeKVEOyf1sDRO2q8wDPbLkBz1L2xitA==", + "version": "15.3.13", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.13.tgz", + "integrity": "sha512-di4W97Azy3PdkNWtPUXaSXI/0E6IjJfNXQncSH6g60tUyrTt4eRNsn+vE1sLJFGV0ZIFlE3f8CQBgDFJo2MoBA==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.1", @@ -1349,7 +1349,6 @@ "memoizee": "^0.4.15", "pinejs-client-core": "^6.13.0", "randomstring": "^1.2.3", - "type-is": "^1.6.18", "typed-error": "^3.2.2" }, "bin": { diff --git a/package.json b/package.json index 6270e84f1..c5f086ca2 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.10", + "@balena/pinejs": "^15.3.13", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", From 1b3ae2ea364b5f32fe7eb266ab9901877a0d9254 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 16:32:36 +0000 Subject: [PATCH 182/221] v14.13.2 --- .versionbot/CHANGELOG.yml | 52 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 21 ++++++++++++++++ package-lock.json | 4 +-- package.json | 4 +-- 4 files changed, 77 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f01b6aced..f835c02b6 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,55 @@ +- commits: + - subject: Update @balena/pinejs dependency + hash: a00a9749356a4e44b7aa1bd95c783e64d49fc31e + body: | + Update @balena/pinejs from 15.3.10 to 15.3.13 + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: + - commits: + - subject: Blocks updating and creating webresources with non multipart-formdata + requests + hash: c3d6262661f2680f824790ab0d855caaeb89ec29 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: pinejs-15.3.13 + title: "" + date: 2023-10-23T15:35:39.739Z + - commits: + - subject: Update dependency @types/websql to ^0.0.28 + hash: f1fc571c6340aaecb591ffaee446a59642bad1af + body: | + Update @types/websql from 0.0.27 to 0.0.28 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: pinejs-15.3.12 + title: "" + date: 2023-10-20T01:33:45.209Z + - commits: + - subject: Update dependency @types/method-override to ^0.0.33 + hash: c3266ad791bcc11bed607657af460b87cdba2053 + body: | + Update @types/method-override from 0.0.32 to 0.0.33 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: pinejs-15.3.11 + title: "" + date: 2023-10-20T00:15:28.695Z + version: 14.13.2 + title: "" + date: 2023-10-23T16:32:30.561Z - commits: - subject: Lock file maintenance hash: 38e8e235f4ceef457caae3e2dc58762d31b897b6 diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fa307ecf..d82fe8194 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,27 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.2 - 2023-10-23 + + +
+ Update @balena/pinejs dependency [Otávio Jacobi] + +> ### pinejs-15.3.13 - 2023-10-23 +> +> * Blocks updating and creating webresources with non multipart-formdata requests [Otávio Jacobi] +> +> ### pinejs-15.3.12 - 2023-10-20 +> +> * Update dependency @types/websql to ^0.0.28 [Self-hosted Renovate Bot] +> +> ### pinejs-15.3.11 - 2023-10-20 +> +> * Update dependency @types/method-override to ^0.0.33 [Self-hosted Renovate Bot] +> + +
+ ## 14.13.1 - 2023-10-23 * Lock file maintenance [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 82cdc51a4..751af9377 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.1", + "version": "14.13.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.1", + "version": "14.13.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index c5f086ca2..10b7acfdc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.1", + "version": "14.13.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-23T00:10:26.300Z" + "publishedAt": "2023-10-23T16:32:32.602Z" } } From 16f3391e525fc1816f3292f79746e5b8bbc222ab Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 23 Oct 2023 17:01:08 +0000 Subject: [PATCH 183/221] Update dependency sinon to v17 Update sinon from 16.1.3 to 17.0.0 Change-type: patch --- package-lock.json | 21 +++++++++++++++------ package.json | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 751af9377..60c292f46 100644 --- a/package-lock.json +++ b/package-lock.json @@ -114,7 +114,7 @@ "nock": "^13.3.0", "pinejs-client-supertest": "^2.0.1", "rimraf": "^5.0.0", - "sinon": "^16.0.0", + "sinon": "^17.0.0", "supertest": "^6.3.3" }, "engines": { @@ -10856,16 +10856,16 @@ } }, "node_modules/sinon": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-16.1.3.tgz", - "integrity": "sha512-mjnWWeyxcAf9nC0bXcPmiDut+oE8HYridTNzBbF98AYVLmWwGRp2ISEpyhYflG1ifILT+eNn3BmKUJPxjXUPlA==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", + "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", + "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", "diff": "^5.1.0", - "nise": "^5.1.4", + "nise": "^5.1.5", "supports-color": "^7.2.0" }, "funding": { @@ -10873,6 +10873,15 @@ "url": "https://opencollective.com/sinon" } }, + "node_modules/sinon/node_modules/@sinonjs/fake-timers": { + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, "node_modules/sinon/node_modules/diff": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", diff --git a/package.json b/package.json index 10b7acfdc..2bc8d61fb 100644 --- a/package.json +++ b/package.json @@ -138,7 +138,7 @@ "nock": "^13.3.0", "pinejs-client-supertest": "^2.0.1", "rimraf": "^5.0.0", - "sinon": "^16.0.0", + "sinon": "^17.0.0", "supertest": "^6.3.3" }, "engines": { From ee9fcd8c667910ff2a878a0d4ecf787fcfc95dc9 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 06:53:04 +0000 Subject: [PATCH 184/221] v14.13.3 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index f835c02b6..d7812d92d 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency sinon to v17 + hash: 3446a47101418744af03ed2389bee785537ded7d + body: | + Update sinon from 16.1.3 to 17.0.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.13.3 + title: "" + date: 2023-10-24T06:52:58.825Z - commits: - subject: Update @balena/pinejs dependency hash: a00a9749356a4e44b7aa1bd95c783e64d49fc31e diff --git a/CHANGELOG.md b/CHANGELOG.md index d82fe8194..d6d6f9024 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.3 - 2023-10-24 + +* Update dependency sinon to v17 [Self-hosted Renovate Bot] + ## 14.13.2 - 2023-10-23 diff --git a/package-lock.json b/package-lock.json index 60c292f46..22749627f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.2", + "version": "14.13.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.2", + "version": "14.13.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 2bc8d61fb..bcf58e16b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.2", + "version": "14.13.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-23T16:32:32.602Z" + "publishedAt": "2023-10-24T06:52:59.890Z" } } From dc3367481cbe4794d4129624be7707c0e7d06fab Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 01:20:28 +0000 Subject: [PATCH 185/221] Lock file maintenance Update Change-type: patch --- package-lock.json | 511 ++++++++++++++++++++++++---------------------- 1 file changed, 267 insertions(+), 244 deletions(-) diff --git a/package-lock.json b/package-lock.json index 22749627f..4f268b8ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -273,16 +273,17 @@ "optional": true }, "node_modules/@aws-sdk/client-s3": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.433.0.tgz", - "integrity": "sha512-gCuV4kmmHPFrQIl53VxddIylqItarwyX9+ykNIxMoMcEcBVmJhmshV6M9Re+wzS8eUPB6maqurOKGu83YUMpIA==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.438.0.tgz", + "integrity": "sha512-5VxdfyZ9oovbK5qzIYW4ZeJ1waD6VqfclSDQLHmgulekM2JYo/goEQJSjWnI4VMWuMsopzvqyeA+L9xq9uXLBQ==", "optional": true, "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.433.0", - "@aws-sdk/credential-provider-node": "3.433.0", + "@aws-sdk/client-sts": "3.438.0", + "@aws-sdk/core": "3.436.0", + "@aws-sdk/credential-provider-node": "3.438.0", "@aws-sdk/middleware-bucket-endpoint": "3.433.0", "@aws-sdk/middleware-expect-continue": "3.433.0", "@aws-sdk/middleware-flexible-checksums": "3.433.0", @@ -293,13 +294,13 @@ "@aws-sdk/middleware-sdk-s3": "3.433.0", "@aws-sdk/middleware-signing": "3.433.0", "@aws-sdk/middleware-ssec": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/signature-v4-multi-region": "3.433.0", + "@aws-sdk/signature-v4-multi-region": "3.437.0", "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", "@aws-sdk/xml-builder": "3.310.0", "@smithy/config-resolver": "^2.0.16", "@smithy/eventstream-serde-browser": "^2.0.12", @@ -327,6 +328,7 @@ "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.16", "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", "@smithy/util-retry": "^2.0.5", "@smithy/util-stream": "^2.0.17", "@smithy/util-utf8": "^2.0.0", @@ -339,22 +341,23 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.433.0.tgz", - "integrity": "sha512-L7ksMP7UnYH+w52ly+m+s5vk8662VtyqJ+UduFEMPqKUHTFEm7w+CCw4Xfk3hl5GlVvqPvYWqBqv8eLKSHpCEQ==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.438.0.tgz", + "integrity": "sha512-L/xKq+K78PShLku8x5gM6lZDUp7LhFJ2ksKH7Vll+exSZq+QUaxuzjp4gqdzh6B0oIshv2jssQlUa0ScOmVRMg==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", + "@aws-sdk/core": "3.436.0", "@aws-sdk/middleware-host-header": "3.433.0", "@aws-sdk/middleware-logger": "3.433.0", "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", "@aws-sdk/region-config-resolver": "3.433.0", "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", "@smithy/config-resolver": "^2.0.16", "@smithy/fetch-http-handler": "^2.2.4", "@smithy/hash-node": "^2.0.12", @@ -375,6 +378,7 @@ "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.16", "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", "@smithy/util-retry": "^2.0.5", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" @@ -384,25 +388,26 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.433.0.tgz", - "integrity": "sha512-hQ+NLIcA1KRJ2qPdrtkJ3fOEVnehLLMlnB/I5mjg9K2UKjuiOufLao6tc5SyW9fseIL9AdX3fjJ8Unhg+y1RWg==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.438.0.tgz", + "integrity": "sha512-UBxLZKVVvbR4LHwSNSqaKx22YBSOGkavrh4SyDP8o8XOlXeRxTCllfSfjL9K5Mktp+ZwQ2NiubNcwmvUcGKbbg==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/credential-provider-node": "3.433.0", + "@aws-sdk/core": "3.436.0", + "@aws-sdk/credential-provider-node": "3.438.0", "@aws-sdk/middleware-host-header": "3.433.0", "@aws-sdk/middleware-logger": "3.433.0", "@aws-sdk/middleware-recursion-detection": "3.433.0", "@aws-sdk/middleware-sdk-sts": "3.433.0", "@aws-sdk/middleware-signing": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", "@aws-sdk/region-config-resolver": "3.433.0", "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", "@smithy/config-resolver": "^2.0.16", "@smithy/fetch-http-handler": "^2.2.4", "@smithy/hash-node": "^2.0.12", @@ -423,6 +428,7 @@ "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.16", "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", "@smithy/util-retry": "^2.0.5", "@smithy/util-utf8": "^2.0.0", "fast-xml-parser": "4.2.5", @@ -443,6 +449,18 @@ "node": ">=14.0.0" } }, + "node_modules/@aws-sdk/core": { + "version": "3.436.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.436.0.tgz", + "integrity": "sha512-vX5/LjXvCejC2XUY6TSg1oozjqK6BvkE75t0ys9dgqyr5PlZyZksMoeAFHUlj0sCjhT3ziWCujP1oiSpPWY9hg==", + "optional": true, + "dependencies": { + "@smithy/smithy-client": "^2.1.12" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/@aws-sdk/credential-provider-env": { "version": "3.433.0", "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.433.0.tgz", @@ -459,14 +477,14 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.433.0.tgz", - "integrity": "sha512-T+YhCOORyA4+i4T86FfFCmi/jPsmLOP6GAtScHp/K8XzB9XuVvJSZ+T8SUKeW6/9G9z3Az7dqeBVLcMdC6fFDA==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.438.0.tgz", + "integrity": "sha512-WYPQR3pXoHJjn9/RMWipUhsUNFy6zhOiII6u8LJ5w84aNqIjV4+BdRYztRNGJD98jdtekhbkX0YKoSuZqP+unQ==", "optional": true, "dependencies": { "@aws-sdk/credential-provider-env": "3.433.0", "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.438.0", "@aws-sdk/credential-provider-web-identity": "3.433.0", "@aws-sdk/types": "3.433.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -480,15 +498,15 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.433.0.tgz", - "integrity": "sha512-uOTBJszqGJIX5SrH2YdN501cv9rW4ghuSkasxI9DL+sVV5YRMd/bwu6I3PphRyK7z4dosDEbJ1xoIuVR/W04HQ==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.438.0.tgz", + "integrity": "sha512-uaw3D2R0svyrC32qyZ2aOv/l0AT9eClh+eQsZJTQD3Kz9q+2VdeOBThQ8fsMfRtm26nUbZo6A/CRwxkm6okI+w==", "optional": true, "dependencies": { "@aws-sdk/credential-provider-env": "3.433.0", - "@aws-sdk/credential-provider-ini": "3.433.0", + "@aws-sdk/credential-provider-ini": "3.438.0", "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.433.0", + "@aws-sdk/credential-provider-sso": "3.438.0", "@aws-sdk/credential-provider-web-identity": "3.433.0", "@aws-sdk/types": "3.433.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -518,13 +536,13 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.433.0.tgz", - "integrity": "sha512-vuc2X7q/1HUAO/NowfnNMpRDoHw8H2lyZZzUc0lmamy6PDrEFBi/VTm1nStGPuS9egCFrYlkRHsfp50ukYGa5w==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.438.0.tgz", + "integrity": "sha512-Xykli/64xR18cBV5P0XFxcH120omtfAjC/cFy/9nFU/+dPvbk0uu1yEOZYteWHyGGkPN4PkHmbh60GiUCLQkWQ==", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.433.0", - "@aws-sdk/token-providers": "3.433.0", + "@aws-sdk/client-sso": "3.438.0", + "@aws-sdk/token-providers": "3.438.0", "@aws-sdk/types": "3.433.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", @@ -551,9 +569,9 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.433.0.tgz", - "integrity": "sha512-dlFN6goupeGGrxCqe/PwZxTY5lKyAd4bCGGLPZJxUjkH8YaGnrnuwMy/qKmRdofStHPjANxcorD4c6QZWOI30w==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.438.0.tgz", + "integrity": "sha512-IMoYL22S2Xt9dmhk1vlWCcdPORnoE7STxT6iXj06T/6qAiJiDWsd7P9z8CZmP1GRIE/m2whHNxWrtFID0hmznw==", "optional": true, "dependencies": { "@smithy/abort-controller": "^2.0.1", @@ -746,13 +764,13 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.433.0.tgz", - "integrity": "sha512-jMgA1jHfisBK4oSjMKrtKEZf0sl2vzADivkFmyZFzORpSZxBnF6hC21RjaI+70LJLcc9rSCzLgcoz5lHb9LLDg==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.438.0.tgz", + "integrity": "sha512-a+xHT1wOxT6EA6YyLmrfaroKWOkwwyiktUfXKM0FsUutGzNi4fKhb5NZ2al58NsXzHgHFrasSDp+Lqbd/X2cEw==", "optional": true, "dependencies": { "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", "@smithy/protocol-http": "^3.0.8", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -778,12 +796,12 @@ } }, "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.433.0.tgz", - "integrity": "sha512-mR5+0iZH5GeRWAkRJKgCs4RN0RfS6/7sLgAJxItX+LL4O4jiGodYqm++RUvRqcZuZDGZ5wFs9CSMA++1YSxeew==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.438.0.tgz", + "integrity": "sha512-fVJIeNuSZsVX0eiF+cvcPPn1jpbGY54xignn3mDcYDiAw1+qkkYEDHjnR4e4JPlx3zkR3hsTT3b1GzgjQ+1sSQ==", "optional": true, "dependencies": { - "@aws-sdk/signature-v4-multi-region": "3.433.0", + "@aws-sdk/signature-v4-multi-region": "3.437.0", "@aws-sdk/types": "3.433.0", "@aws-sdk/util-format-url": "3.433.0", "@smithy/middleware-endpoint": "^2.1.3", @@ -797,9 +815,9 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.433.0.tgz", - "integrity": "sha512-wl2j1dos4VOKFawbapPm/0CNa3cIgpJXbEx+sp+DI3G8tSuP3c5UGtm0pXjM85egxZulhHVK1RVde0iD8j63pQ==", + "version": "3.437.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.437.0.tgz", + "integrity": "sha512-MmrqudssOs87JgVg7HGVdvJws/t4kcOrJJd+975ki+DPeSoyK2U4zBDfDkJ+n0tFuZBs3sLwLh0QXE7BV28rRA==", "optional": true, "dependencies": { "@aws-sdk/types": "3.433.0", @@ -813,9 +831,9 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.433.0.tgz", - "integrity": "sha512-Q6aYVaQKB+CkBLHQQlN8MHVpOzZv9snRfVz7SxIpdbHkRuGEHiLliCY3fg6Sonvu3AKEPERPuHcaC75tnNpOBw==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.438.0.tgz", + "integrity": "sha512-G2fUfTtU6/1ayYRMu0Pd9Ln4qYSvwJOWCqJMdkDgvXSwdgcOSOLsnAIk1AHGJDAvgLikdCzuyOsdJiexr9Vnww==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", @@ -823,11 +841,12 @@ "@aws-sdk/middleware-host-header": "3.433.0", "@aws-sdk/middleware-logger": "3.433.0", "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.433.0", + "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/region-config-resolver": "3.433.0", "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.433.0", + "@aws-sdk/util-endpoints": "3.438.0", "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.433.0", + "@aws-sdk/util-user-agent-node": "3.437.0", "@smithy/config-resolver": "^2.0.16", "@smithy/fetch-http-handler": "^2.2.4", "@smithy/hash-node": "^2.0.12", @@ -850,6 +869,7 @@ "@smithy/util-body-length-node": "^2.1.0", "@smithy/util-defaults-mode-browser": "^2.0.16", "@smithy/util-defaults-mode-node": "^2.0.21", + "@smithy/util-endpoints": "^1.0.2", "@smithy/util-retry": "^2.0.5", "@smithy/util-utf8": "^2.0.0", "tslib": "^2.5.0" @@ -884,12 +904,13 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.433.0.tgz", - "integrity": "sha512-LFNUh9FH7RMtYjSjPGz9lAJQMzmJ3RcXISzc5X5k2R/9mNwMK7y1k2VAfvx+RbuDbll6xwsXlgv6QHcxVdF2zw==", + "version": "3.438.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.438.0.tgz", + "integrity": "sha512-6VyPTq1kN3GWxwFt5DdZfOsr6cJZPLjWh0troY/0uUv3hK74C9o3Y0Xf/z8UAUvQFkVqZse12O0/BgPVMImvfA==", "optional": true, "dependencies": { "@aws-sdk/types": "3.433.0", + "@smithy/util-endpoints": "^1.0.2", "tslib": "^2.5.0" }, "engines": { @@ -936,9 +957,9 @@ } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.433.0.tgz", - "integrity": "sha512-yT1tO4MbbsUBLl5+S+jVv8wxiAtP5TKjKib9B2KQ2x0OtWWTrIf2o+IZK8va+zQqdV4MVMjezdxdE20hOdB4yQ==", + "version": "3.437.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.437.0.tgz", + "integrity": "sha512-JVEcvWaniamtYVPem4UthtCNoTBCfFTwYj7Y3CrWZ2Qic4TqrwLkAfaBGtI2TGrhIClVr77uzLI6exqMTN7orA==", "optional": true, "dependencies": { "@aws-sdk/types": "3.433.0", @@ -1160,13 +1181,13 @@ } }, "node_modules/@balena/abstract-sql-to-typescript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.1.2.tgz", - "integrity": "sha512-Swbmrjsi7oVduo+aQSJLDjM0z/G9/SQoQ+mv4Tjt7yFmRsPaDLF8+jOMWG+03N5GCrr2QbH/1CHuWXBh2nAnbg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@balena/abstract-sql-to-typescript/-/abstract-sql-to-typescript-2.1.3.tgz", + "integrity": "sha512-v/SMzFgTR4EEff58LCktYsm9/y1hjhVM9LYspOZizo3KnoW5K9novWURBYoblfwa7PPMTVHK871Z/VGtkcZk7Q==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/odata-to-abstract-sql": "^5.9.6", - "@types/node": "^18.0.0", + "@types/node": "^20.0.0", "common-tags": "^1.8.2" }, "engines": { @@ -1213,15 +1234,10 @@ "sha.js": "^2.4.11" } }, - "node_modules/@balena/abstract-sql-to-typescript/node_modules/@types/node": { - "version": "18.18.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", - "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==" - }, "node_modules/@balena/env-parsing": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@balena/env-parsing/-/env-parsing-1.1.7.tgz", - "integrity": "sha512-rh2x2HBgB/ObN9gT/3H18ty2Jx/v6fOPEYTfoPlbRrrFbcgqJe0l+ijbd9P/TKZQgu6EAcxnlMDgDQMtFyrg2g==" + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@balena/env-parsing/-/env-parsing-1.1.8.tgz", + "integrity": "sha512-6L9U2LJ5Akov92962+NjjvrfZ1VPVJGZwjb8DIurRXxFIWldA+D0EOgvvmmZtgiRsG3OfZnRK9oBBYVC/bDFxA==" }, "node_modules/@balena/es-version": { "version": "1.0.3", @@ -1310,9 +1326,9 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.13", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.13.tgz", - "integrity": "sha512-di4W97Azy3PdkNWtPUXaSXI/0E6IjJfNXQncSH6g60tUyrTt4eRNsn+vE1sLJFGV0ZIFlE3f8CQBgDFJo2MoBA==", + "version": "15.3.15", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.15.tgz", + "integrity": "sha512-wmfL71o4w15h0lY0XPlB6Nhro7LEFHJnkY1tWfTB+vqadRZFDnNSx9wEfd8KHkHd+fk83EXaK2IAk2wdJo3xyA==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.1", @@ -1333,7 +1349,7 @@ "@types/method-override": "^0.0.33", "@types/multer": "^1.4.7", "@types/mysql": "^2.15.21", - "@types/node": "^18.16.1", + "@types/node": "^20.0.0", "@types/passport": "^1.0.12", "@types/passport-local": "^1.0.35", "@types/passport-strategy": "^0.2.35", @@ -1388,11 +1404,6 @@ "memoizee": "^0.4.15" } }, - "node_modules/@balena/pinejs/node_modules/@types/node": { - "version": "18.18.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz", - "integrity": "sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w==" - }, "node_modules/@balena/sbvr-parser": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/@balena/sbvr-parser/-/sbvr-parser-1.4.3.tgz", @@ -1466,9 +1477,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -1552,9 +1563,9 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.7.tgz", - "integrity": "sha512-yMaA/cIsRhGzW3ymCNpdlPcInXcovztlgu/rirThj2b87u3RzWUszliOqZ/pldy7yhmJPS8uwog+kZSTa4A0PQ==", + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.8.tgz", + "integrity": "sha512-FFPzDS333Vw8hvf+1FaEsaCYVPBdNdUCw7zArTiF7+6gOzln967b4GBCBekKGqoKEgna8d3Ayxv8t+IvazXG3g==", "dependencies": { "@grpc/proto-loader": "^0.7.8", "@types/node": ">=12.12.47" @@ -2165,65 +2176,59 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@sentry-internal/tracing": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.74.1.tgz", - "integrity": "sha512-nNaiZreQxCitG2PzYPaC7XtyA9OMsETGYMKAtiK4p62/uTmeYbsBva9BoNx1XeiHRwbrVQYRMKQ9nV5e2jS4/A==", + "version": "7.76.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.76.0.tgz", + "integrity": "sha512-QQVIv+LS2sbGf/e5P2dRisHzXpy02dAcLqENLPG4sZ9otRaFNjdFYEqnlJ4qko+ORpJGQEQp/BX7Q/qzZQHlAg==", "dependencies": { - "@sentry/core": "7.74.1", - "@sentry/types": "7.74.1", - "@sentry/utils": "7.74.1", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/core": "7.76.0", + "@sentry/types": "7.76.0", + "@sentry/utils": "7.76.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/core": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.74.1.tgz", - "integrity": "sha512-LvEhOSfdIvwkr+PdlrT/aA/iOLhkXrSkvjqAQyogE4ddCWeYfS0NoirxNt1EaxMBAWKhYZRqzkA7WA4LDLbzlA==", + "version": "7.76.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.76.0.tgz", + "integrity": "sha512-M+ptkCTeCNf6fn7p2MmEb1Wd9/JXUWxIT/0QEc+t11DNR4FYy1ZP2O9Zb3Zp2XacO7ORrlL3Yc+VIfl5JTgjfw==", "dependencies": { - "@sentry/types": "7.74.1", - "@sentry/utils": "7.74.1", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/types": "7.76.0", + "@sentry/utils": "7.76.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.74.1.tgz", - "integrity": "sha512-aMUQ2LFZF64FBr+cgjAqjT4OkpYBIC9lyWI8QqjEHqNho5+LGu18/iVrJPD4fgs4UhGdCuAiQjpC36MbmnIDZA==", - "dependencies": { - "@sentry-internal/tracing": "7.74.1", - "@sentry/core": "7.74.1", - "@sentry/types": "7.74.1", - "@sentry/utils": "7.74.1", - "cookie": "^0.5.0", - "https-proxy-agent": "^5.0.0", - "lru_map": "^0.3.3", - "tslib": "^2.4.1 || ^1.9.3" + "version": "7.76.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.76.0.tgz", + "integrity": "sha512-C+YZ5S5W9oTphdWTBgV+3nDdcV1ldnupIHylHzf2Co+xNtJ76V06N5NjdJ/l9+qvQjMn0DdSp7Uu7KCEeNBT/g==", + "dependencies": { + "@sentry-internal/tracing": "7.76.0", + "@sentry/core": "7.76.0", + "@sentry/types": "7.76.0", + "@sentry/utils": "7.76.0", + "https-proxy-agent": "^5.0.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/types": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.74.1.tgz", - "integrity": "sha512-2jIuPc+YKvXqZETwr2E8VYnsH1zsSUR/wkIvg1uTVeVNyoowJv+YsOtCdeGyL2AwiotUBSPKu7O1Lz0kq5rMOQ==", + "version": "7.76.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.76.0.tgz", + "integrity": "sha512-vj6z+EAbVrKAXmJPxSv/clpwS9QjPqzkraMFk2hIdE/kii8s8kwnkBwTSpIrNc8GnzV3qYC4r3qD+BXDxAGPaw==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.74.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.74.1.tgz", - "integrity": "sha512-qUsqufuHYcy5gFhLZslLxA5kcEOkkODITXW3c7D+x+8iP/AJqa8v8CeUCVNS7RetHCuIeWAbbTClC4c411EwQg==", + "version": "7.76.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.76.0.tgz", + "integrity": "sha512-40jFD+yfQaKpFYINghdhovzec4IEpB7aAuyH/GtE7E0gLpcqnC72r55krEIVILfqIR2Mlr5OKUzyeoCyWAU/yw==", "dependencies": { - "@sentry/types": "7.74.1", - "tslib": "^2.4.1 || ^1.9.3" + "@sentry/types": "7.76.0" }, "engines": { "node": ">=8" @@ -2239,9 +2244,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", + "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0" @@ -2833,6 +2838,20 @@ "node": ">= 10.0.0" } }, + "node_modules/@smithy/util-endpoints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.2.tgz", + "integrity": "sha512-QEdq+sP68IJHAMVB2ugKVVZEWeKQtZLuf+akHzc8eTVElsZ2ZdVLWC6Cp+uKjJ/t4yOj1qu6ZzyxJQEQ8jdEjg==", + "optional": true, + "dependencies": { + "@smithy/node-config-provider": "^2.1.3", + "@smithy/types": "^2.4.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/@smithy/util-hex-encoding": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", @@ -3227,11 +3246,11 @@ } }, "node_modules/@types/node": { - "version": "20.8.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.7.tgz", - "integrity": "sha512-21TKHHh3eUHIi2MloeptJWALuCu5H7HQTdTrWIFReA8ad+aggoX+lRes3ex7/FtpC+sVUpFMQ+QTfYr74mruiQ==", + "version": "20.8.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", + "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~5.26.4" } }, "node_modules/@types/node-schedule": { @@ -3265,9 +3284,9 @@ } }, "node_modules/@types/passport-jwt": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.11.tgz", - "integrity": "sha512-HwQNi4cajueebj41EjH5rtnLAdxQfusICFU18JEnvV3uYCJzKoT1D3MCwQ+nn8HeGjy6QuTxnm/I2WxuraqeDw==", + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.12.tgz", + "integrity": "sha512-nXCd1lu20rw//nZ5AnK1FnlVZdSC4R5xksquev9oAJlXwJw0irMdZ7dRAE4KDlalptKObiaoam6BQ8lpujeZog==", "dependencies": { "@types/express": "*", "@types/jsonwebtoken": "*", @@ -3465,16 +3484,16 @@ "integrity": "sha512-9cocXIcxXowJOVIS5D0kHYQG8darHJ7JpgWeh8ESvPbGH35I5NkfF2DhRjv+Kw8URZisqlnpbMtA/whhcKrWXw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", - "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.0.tgz", + "integrity": "sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/type-utils": "6.8.0", - "@typescript-eslint/utils": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", + "@typescript-eslint/scope-manager": "6.9.0", + "@typescript-eslint/type-utils": "6.9.0", + "@typescript-eslint/utils": "6.9.0", + "@typescript-eslint/visitor-keys": "6.9.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -3500,15 +3519,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", - "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.0.tgz", + "integrity": "sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", + "@typescript-eslint/scope-manager": "6.9.0", + "@typescript-eslint/types": "6.9.0", + "@typescript-eslint/typescript-estree": "6.9.0", + "@typescript-eslint/visitor-keys": "6.9.0", "debug": "^4.3.4" }, "engines": { @@ -3528,13 +3547,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", - "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz", + "integrity": "sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0" + "@typescript-eslint/types": "6.9.0", + "@typescript-eslint/visitor-keys": "6.9.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3545,13 +3564,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", - "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.0.tgz", + "integrity": "sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/utils": "6.8.0", + "@typescript-eslint/typescript-estree": "6.9.0", + "@typescript-eslint/utils": "6.9.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -3572,9 +3591,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", - "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.0.tgz", + "integrity": "sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3585,13 +3604,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", - "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz", + "integrity": "sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", + "@typescript-eslint/types": "6.9.0", + "@typescript-eslint/visitor-keys": "6.9.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3612,17 +3631,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", - "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.0.tgz", + "integrity": "sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", + "@typescript-eslint/scope-manager": "6.9.0", + "@typescript-eslint/types": "6.9.0", + "@typescript-eslint/typescript-estree": "6.9.0", "semver": "^7.5.4" }, "engines": { @@ -3637,12 +3656,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", - "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz", + "integrity": "sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.8.0", + "@typescript-eslint/types": "6.9.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -3660,39 +3679,39 @@ "dev": true }, "node_modules/@vue/compiler-core": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.6.tgz", - "integrity": "sha512-2JNjemwaNwf+MkkatATVZi7oAH1Hx0B04DdPH3ZoZ8vKC1xZVP7nl4HIsk8XYd3r+/52sqqoz9TWzYc3yE9dqA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz", + "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==", "dev": true, "dependencies": { "@babel/parser": "^7.23.0", - "@vue/shared": "3.3.6", + "@vue/shared": "3.3.7", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.6.tgz", - "integrity": "sha512-1MxXcJYMHiTPexjLAJUkNs/Tw2eDf2tY3a0rL+LfuWyiKN2s6jvSwywH3PWD8bKICjfebX3GWx2Os8jkRDq3Ng==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz", + "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.3.6", - "@vue/shared": "3.3.6" + "@vue/compiler-core": "3.3.7", + "@vue/shared": "3.3.7" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.6.tgz", - "integrity": "sha512-/Kms6du2h1VrXFreuZmlvQej8B1zenBqIohP0690IUBkJjsFvJxY0crcvVRJ0UhMgSR9dewB+khdR1DfbpArJA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz", + "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==", "dev": true, "dependencies": { "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.6", - "@vue/compiler-dom": "3.3.6", - "@vue/compiler-ssr": "3.3.6", - "@vue/reactivity-transform": "3.3.6", - "@vue/shared": "3.3.6", + "@vue/compiler-core": "3.3.7", + "@vue/compiler-dom": "3.3.7", + "@vue/compiler-ssr": "3.3.7", + "@vue/reactivity-transform": "3.3.7", + "@vue/shared": "3.3.7", "estree-walker": "^2.0.2", "magic-string": "^0.30.5", "postcss": "^8.4.31", @@ -3700,32 +3719,32 @@ } }, "node_modules/@vue/compiler-ssr": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.6.tgz", - "integrity": "sha512-QTIHAfDCHhjXlYGkUg5KH7YwYtdUM1vcFl/FxFDlD6d0nXAmnjizka3HITp8DGudzHndv2PjKVS44vqqy0vP4w==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz", + "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.3.6", - "@vue/shared": "3.3.6" + "@vue/compiler-dom": "3.3.7", + "@vue/shared": "3.3.7" } }, "node_modules/@vue/reactivity-transform": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.6.tgz", - "integrity": "sha512-RlJl4dHfeO7EuzU1iJOsrlqWyJfHTkJbvYz/IOJWqu8dlCNWtxWX377WI0VsbAgBizjwD+3ZjdnvSyyFW1YVng==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz", + "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==", "dev": true, "dependencies": { "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.6", - "@vue/shared": "3.3.6", + "@vue/compiler-core": "3.3.7", + "@vue/shared": "3.3.7", "estree-walker": "^2.0.2", "magic-string": "^0.30.5" } }, "node_modules/@vue/shared": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.6.tgz", - "integrity": "sha512-Xno5pEqg8SVhomD0kTSmfh30ZEmV/+jZtyh39q6QflrjdJCXah5lrnOLi9KB6a5k5aAHXMXjoMnxlzUkCNfWLQ==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz", + "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==", "dev": true }, "node_modules/abbrev": { @@ -3747,9 +3766,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", "bin": { "acorn": "bin/acorn" }, @@ -3767,9 +3786,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", "engines": { "node": ">=0.4.0" } @@ -4154,9 +4173,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1478.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1478.0.tgz", - "integrity": "sha512-F+Ud9FxMD4rwvGbEXn7qc25Q19N4p+9klRjiH1llFLYssPw6TRtY464Cry/jG4OzuYkE/DsnhcwVFEJjGvMmuQ==", + "version": "2.1483.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1483.0.tgz", + "integrity": "sha512-u1DVpvBd2UeYLXwXgY8tO/SjbdFEE6nRkQWiLaDJaBoHycHpe+DjPtGl1KaLiOIMaDZ+cnIzf3/aRSss/mCeBQ==", "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -4228,9 +4247,9 @@ } }, "node_modules/balena-semver": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/balena-semver/-/balena-semver-2.3.3.tgz", - "integrity": "sha512-koL3JwsOhfA+TZwwVVBilk9p4QasAcL1oixF+cHBqDFjtfJYiDLylvwbaaWQnsApVSCNJUtV/XC1YqnzE3DbMA==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/balena-semver/-/balena-semver-2.3.5.tgz", + "integrity": "sha512-nsLg3TH9/mzjeCmUHdrx7jqcfRN3WD0QE5AcanxhcZ69equkU9eX6EDh860CkJHaGpsaO6fA5H650YHxsg6F4A==", "dependencies": { "@types/lodash": "^4.14.149", "@types/semver": "^7.1.0", @@ -5040,9 +5059,9 @@ } }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", "engines": { "node": ">= 0.6" } @@ -5059,14 +5078,6 @@ "node": ">= 0.8.0" } }, - "node_modules/cookie-parser/node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/cookie-session": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-2.0.0.tgz", @@ -6345,6 +6356,14 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -8488,11 +8507,6 @@ "get-func-name": "^2.0.1" } }, - "node_modules/lru_map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", - "integrity": "sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==" - }, "node_modules/lru-cache": { "version": "7.18.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", @@ -9080,6 +9094,24 @@ "type-detect": "4.0.8" } }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/nise/node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, "node_modules/nise/node_modules/isarray": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", @@ -10873,15 +10905,6 @@ "url": "https://opencollective.com/sinon" } }, - "node_modules/sinon/node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, "node_modules/sinon/node_modules/diff": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", @@ -11867,9 +11890,9 @@ } }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==" + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/unpipe": { "version": "1.0.0", From 81f691872b351d626bda993d3c0f85accbd51505 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 30 Oct 2023 01:30:21 +0000 Subject: [PATCH 186/221] v14.13.4 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index d7812d92d..8e2789840 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Lock file maintenance + hash: 62c9e5c8601e9396e99b9e24cd5e1b869eee7681 + body: | + Update + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.13.4 + title: "" + date: 2023-10-30T01:30:15.493Z - commits: - subject: Update dependency sinon to v17 hash: 3446a47101418744af03ed2389bee785537ded7d diff --git a/CHANGELOG.md b/CHANGELOG.md index d6d6f9024..0cab6d001 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.4 - 2023-10-30 + +* Lock file maintenance [Self-hosted Renovate Bot] + ## 14.13.3 - 2023-10-24 * Update dependency sinon to v17 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 4f268b8ce..13591e030 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.3", + "version": "14.13.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.3", + "version": "14.13.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index bcf58e16b..1c5bdd52c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.3", + "version": "14.13.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-24T06:52:59.890Z" + "publishedAt": "2023-10-30T01:30:16.624Z" } } From c992d8b81c1aa11a647279763ddc9d5c102de065 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Tue, 31 Oct 2023 20:02:46 +0000 Subject: [PATCH 187/221] Update balena/open-balena-base Docker tag to v16.0.11 Update balena/open-balena-base from 16.0.10 to 16.0.11 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5d0c4c5ab..0d071e209 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.10 as runtime +FROM balena/open-balena-base:v16.0.11 as runtime EXPOSE 80 From 83a75c7f9515f63472b36e07ebbd7c4c9a06361e Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 31 Oct 2023 20:13:03 +0000 Subject: [PATCH 188/221] v14.13.5 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 8e2789840..47cb7eb5a 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.11 + hash: e38dff86bf9422b480acf17465785a3ab843a94e + body: | + Update balena/open-balena-base from 16.0.10 to 16.0.11 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v10.2.2 + hash: 157c6b4560483f893ef763e824e522c35f55927c + body: | + Update npm from 10.2.1 to 10.2.2 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.11 + title: "" + date: 2023-10-31T19:06:09.574Z + version: 14.13.5 + title: "" + date: 2023-10-31T20:12:58.482Z - commits: - subject: Lock file maintenance hash: 62c9e5c8601e9396e99b9e24cd5e1b869eee7681 diff --git a/CHANGELOG.md b/CHANGELOG.md index 0cab6d001..6d196929a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.5 - 2023-10-31 + + +
+ Update balena/open-balena-base Docker tag to v16.0.11 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.11 - 2023-11-01 +> +> * Update dependency npm to v10.2.2 [Self-hosted Renovate Bot] +> + +
+ ## 14.13.4 - 2023-10-30 * Lock file maintenance [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 13591e030..a2f9c7ea7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.4", + "version": "14.13.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.4", + "version": "14.13.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 1c5bdd52c..76be5ee86 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.4", + "version": "14.13.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-30T01:30:16.624Z" + "publishedAt": "2023-10-31T20:13:00.073Z" } } From b78225377a98fe7e25d1e625ee7a5938491aee77 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Tue, 31 Oct 2023 21:05:41 +0000 Subject: [PATCH 189/221] Update balena/open-balena-base Docker tag to v16.0.12 Update balena/open-balena-base from 16.0.11 to 16.0.12 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0d071e209..091e5e6cb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.11 as runtime +FROM balena/open-balena-base:v16.0.12 as runtime EXPOSE 80 From 10bd92bd4f866083c6a4645676d6edeeeabe2ecd Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 31 Oct 2023 21:15:58 +0000 Subject: [PATCH 190/221] v14.13.6 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 47cb7eb5a..2126ca2a1 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.12 + hash: 4b8702496e7fd36bac5c85463a489ee51373bc46 + body: | + Update balena/open-balena-base from 16.0.11 to 16.0.12 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency node to v20.9.0 + hash: 82aeef20c95240809512c443e59cb177db7a1f4f + body: | + Update node from 20.8.1 to 20.9.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.12 + title: "" + date: 2023-10-31T19:59:20.031Z + version: 14.13.6 + title: "" + date: 2023-10-31T21:15:51.128Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.11 hash: e38dff86bf9422b480acf17465785a3ab843a94e diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d196929a..880b43ec0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.6 - 2023-10-31 + + +
+ Update balena/open-balena-base Docker tag to v16.0.12 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.12 - 2023-11-01 +> +> * Update dependency node to v20.9.0 [Self-hosted Renovate Bot] +> + +
+ ## 14.13.5 - 2023-10-31 diff --git a/package-lock.json b/package-lock.json index a2f9c7ea7..bb001d1f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.5", + "version": "14.13.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.5", + "version": "14.13.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 76be5ee86..28bc13fc2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.5", + "version": "14.13.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-31T20:13:00.073Z" + "publishedAt": "2023-10-31T21:15:53.539Z" } } From ea4fdcb2f45124048d2bb72aa7a549b31a056749 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Thu, 2 Nov 2023 17:35:53 +0200 Subject: [PATCH 191/221] rate-limiting: Use the ceiling of ms values for the Retry-After header Previously we were rounding the value, which could make clients relying on it to be hitting unexpected 429s. Change-type: patch --- src/infra/rate-limiting/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/infra/rate-limiting/index.ts b/src/infra/rate-limiting/index.ts index 2f7879e47..0d05924d2 100644 --- a/src/infra/rate-limiting/index.ts +++ b/src/infra/rate-limiting/index.ts @@ -66,7 +66,7 @@ export const createRateLimiter = ( if (e instanceof RateLimiterRes) { const headers: { [header: string]: string } = {}; if (e.msBeforeNext) { - headers['Retry-After'] = `${Math.round(e.msBeforeNext / 1000)}`; + headers['Retry-After'] = `${Math.ceil(e.msBeforeNext / 1000)}`; } throw new TooManyRequestsError( 'Too Many Requests', From 1f17c1e5431244feb4382d83c3df8897a1f7f324 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 16:24:13 +0000 Subject: [PATCH 192/221] v14.13.7 --- .versionbot/CHANGELOG.yml | 15 +++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 2126ca2a1..cd1b9473c 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,18 @@ +- commits: + - subject: "rate-limiting: Use the ceiling of ms values for the Retry-After header" + hash: bdae2895e3ef0c91cd45793417169b2300a4dec9 + body: | + Previously we were rounding the value, which + could make clients relying on it to be hitting + unexpected 429s. + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.13.7 + title: "" + date: 2023-11-02T16:24:08.397Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.12 hash: 4b8702496e7fd36bac5c85463a489ee51373bc46 diff --git a/CHANGELOG.md b/CHANGELOG.md index 880b43ec0..4976f5743 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.7 - 2023-11-02 + +* rate-limiting: Use the ceiling of ms values for the Retry-After header [Thodoris Greasidis] + ## 14.13.6 - 2023-10-31 diff --git a/package-lock.json b/package-lock.json index bb001d1f8..49e925f94 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.6", + "version": "14.13.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.6", + "version": "14.13.7", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 28bc13fc2..7c5f1d1f0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.6", + "version": "14.13.7", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-10-31T21:15:53.539Z" + "publishedAt": "2023-11-02T16:24:09.347Z" } } From da10917045663fffbeed3bc7aea1866940429b12 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 22:00:37 +0000 Subject: [PATCH 193/221] Update balena/open-balena-base Docker tag to v16.0.13 Update balena/open-balena-base from 16.0.12 to 16.0.13 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 091e5e6cb..d65225454 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.12 as runtime +FROM balena/open-balena-base:v16.0.13 as runtime EXPOSE 80 From 3a031ca459f0a95511c5edf9f84ddcf3f6fbe281 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 2 Nov 2023 22:10:45 +0000 Subject: [PATCH 194/221] v14.13.8 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index cd1b9473c..9e653c439 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.13 + hash: 8993ad8591a9e1ad0d14557160851aee9ce024e9 + body: | + Update balena/open-balena-base from 16.0.12 to 16.0.13 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v10.2.3 + hash: 01f85340e6131d54f8c6eed7a74c37ff68b8d902 + body: | + Update npm from 10.2.2 to 10.2.3 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.13 + title: "" + date: 2023-11-02T21:00:19.215Z + version: 14.13.8 + title: "" + date: 2023-11-02T22:10:39.569Z - commits: - subject: "rate-limiting: Use the ceiling of ms values for the Retry-After header" hash: bdae2895e3ef0c91cd45793417169b2300a4dec9 diff --git a/CHANGELOG.md b/CHANGELOG.md index 4976f5743..b590e7c9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.13.8 - 2023-11-02 + + +
+ Update balena/open-balena-base Docker tag to v16.0.13 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.13 - 2023-11-02 +> +> * Update dependency npm to v10.2.3 [Self-hosted Renovate Bot] +> + +
+ ## 14.13.7 - 2023-11-02 * rate-limiting: Use the ceiling of ms values for the Retry-After header [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index 49e925f94..47268e6b8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.7", + "version": "14.13.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.7", + "version": "14.13.8", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 7c5f1d1f0..906c83c7a 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.7", + "version": "14.13.8", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-02T16:24:09.347Z" + "publishedAt": "2023-11-02T22:10:41.567Z" } } From 0378fccf67d59a32395944ad013dafa1c0a58e75 Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Wed, 1 Nov 2023 15:20:34 +0200 Subject: [PATCH 195/221] Make Retry-After available to CORS browser requests Change-type: minor See: https://developer.mozilla.org/en-US/docs/Glossary/CORS-safelisted_response_header See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers --- src/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/index.ts b/src/index.ts index 3617e1e52..f11a7c680 100644 --- a/src/index.ts +++ b/src/index.ts @@ -339,6 +339,9 @@ export async function setup(app: Application, options: SetupOptions) { const origin = req.get('Origin') || '*'; res.header('Access-Control-Allow-Origin', origin); res.header('Access-Control-Allow-Credentials', 'true'); + // Indicates the response headers that should be made available to js code running in browsers, + // on top of the default CORS-safelisted ones. + res.header('Access-Control-Expose-Headers', 'Retry-After'); if (req.method !== 'OPTIONS') { // If we're not a preflight request then carry on to the real implementation From cead1cd0d8168ea103cceda364ce0c5d248140e6 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 3 Nov 2023 15:01:56 +0000 Subject: [PATCH 196/221] v14.14.0 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 9e653c439..dde2d29f7 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Make Retry-After available to CORS browser requests + hash: 7b9734ab00613ac881ea97c63b2313e1691ca5f6 + body: "" + footer: + Change-type: minor + change-type: minor + See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers + see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers + author: Thodoris Greasidis + nested: [] + version: 14.14.0 + title: "" + date: 2023-11-03T15:01:49.539Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.13 hash: 8993ad8591a9e1ad0d14557160851aee9ce024e9 diff --git a/CHANGELOG.md b/CHANGELOG.md index b590e7c9d..c05d89892 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.14.0 - 2023-11-03 + +* Make Retry-After available to CORS browser requests [Thodoris Greasidis] + ## 14.13.8 - 2023-11-02 diff --git a/package-lock.json b/package-lock.json index 47268e6b8..060c3fc77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.13.8", + "version": "14.14.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.13.8", + "version": "14.14.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 906c83c7a..0fd55522b 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.13.8", + "version": "14.14.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-02T22:10:41.567Z" + "publishedAt": "2023-11-03T15:01:50.700Z" } } From 6faf2bf53de07a42d5a9b5d61a5d51a1b9e7bf8c Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 01:20:44 +0000 Subject: [PATCH 197/221] Lock file maintenance Update Change-type: patch --- package-lock.json | 276 +++++++++++++++++++++++----------------------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/package-lock.json b/package-lock.json index 060c3fc77..c0b5cdfe4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -273,17 +273,17 @@ "optional": true }, "node_modules/@aws-sdk/client-s3": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.438.0.tgz", - "integrity": "sha512-5VxdfyZ9oovbK5qzIYW4ZeJ1waD6VqfclSDQLHmgulekM2JYo/goEQJSjWnI4VMWuMsopzvqyeA+L9xq9uXLBQ==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.441.0.tgz", + "integrity": "sha512-tJUhHk4Nvakw/q3IVI2oDFCu48DzuPCMu2G3n42JPyvmY0RvmtRjduduoG1lYIGgRKJu81/MFr9i8CGYNK+/5A==", "optional": true, "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.438.0", - "@aws-sdk/core": "3.436.0", - "@aws-sdk/credential-provider-node": "3.438.0", + "@aws-sdk/client-sts": "3.441.0", + "@aws-sdk/core": "3.441.0", + "@aws-sdk/credential-provider-node": "3.441.0", "@aws-sdk/middleware-bucket-endpoint": "3.433.0", "@aws-sdk/middleware-expect-continue": "3.433.0", "@aws-sdk/middleware-flexible-checksums": "3.433.0", @@ -291,7 +291,7 @@ "@aws-sdk/middleware-location-constraint": "3.433.0", "@aws-sdk/middleware-logger": "3.433.0", "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-sdk-s3": "3.433.0", + "@aws-sdk/middleware-sdk-s3": "3.440.0", "@aws-sdk/middleware-signing": "3.433.0", "@aws-sdk/middleware-ssec": "3.433.0", "@aws-sdk/middleware-user-agent": "3.438.0", @@ -341,14 +341,14 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.438.0.tgz", - "integrity": "sha512-L/xKq+K78PShLku8x5gM6lZDUp7LhFJ2ksKH7Vll+exSZq+QUaxuzjp4gqdzh6B0oIshv2jssQlUa0ScOmVRMg==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.441.0.tgz", + "integrity": "sha512-gndGymu4cEIN7WWhQ67RO0JMda09EGBlay2L8IKCHBK/65Y34FHUX1tCNbO2qezEzsi6BPW5o2n53Rd9QqpHUw==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.436.0", + "@aws-sdk/core": "3.441.0", "@aws-sdk/middleware-host-header": "3.433.0", "@aws-sdk/middleware-logger": "3.433.0", "@aws-sdk/middleware-recursion-detection": "3.433.0", @@ -388,15 +388,15 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.438.0.tgz", - "integrity": "sha512-UBxLZKVVvbR4LHwSNSqaKx22YBSOGkavrh4SyDP8o8XOlXeRxTCllfSfjL9K5Mktp+ZwQ2NiubNcwmvUcGKbbg==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.441.0.tgz", + "integrity": "sha512-GL0Cw2v7XL1cn0T+Sk5VHLlgBJoUdMsysXsHa1mFdk0l6XHMAAnwXVXiNnjmoDSPrG0psz7dL2AKzPVRXbIUjA==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.436.0", - "@aws-sdk/credential-provider-node": "3.438.0", + "@aws-sdk/core": "3.441.0", + "@aws-sdk/credential-provider-node": "3.441.0", "@aws-sdk/middleware-host-header": "3.433.0", "@aws-sdk/middleware-logger": "3.433.0", "@aws-sdk/middleware-recursion-detection": "3.433.0", @@ -450,9 +450,9 @@ } }, "node_modules/@aws-sdk/core": { - "version": "3.436.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.436.0.tgz", - "integrity": "sha512-vX5/LjXvCejC2XUY6TSg1oozjqK6BvkE75t0ys9dgqyr5PlZyZksMoeAFHUlj0sCjhT3ziWCujP1oiSpPWY9hg==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.441.0.tgz", + "integrity": "sha512-gV0eQwR0VnSPUYAbgDkbBtfXbSpZgl/K6UB13DP1IFFjQYbF/BxYwvcQe4jHoPOBifSgjEbl8MfOOeIyI7k9vg==", "optional": true, "dependencies": { "@smithy/smithy-client": "^2.1.12" @@ -477,14 +477,14 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.438.0.tgz", - "integrity": "sha512-WYPQR3pXoHJjn9/RMWipUhsUNFy6zhOiII6u8LJ5w84aNqIjV4+BdRYztRNGJD98jdtekhbkX0YKoSuZqP+unQ==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.441.0.tgz", + "integrity": "sha512-SQipQYxYqDUuSOfIhDmaTdwPTcndGQotGZXWJl56mMWqAhU8MkwjK+oMf3VgRt/umJC0QwUCF5HUHIj7gSB1JA==", "optional": true, "dependencies": { "@aws-sdk/credential-provider-env": "3.433.0", "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.438.0", + "@aws-sdk/credential-provider-sso": "3.441.0", "@aws-sdk/credential-provider-web-identity": "3.433.0", "@aws-sdk/types": "3.433.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -498,15 +498,15 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.438.0.tgz", - "integrity": "sha512-uaw3D2R0svyrC32qyZ2aOv/l0AT9eClh+eQsZJTQD3Kz9q+2VdeOBThQ8fsMfRtm26nUbZo6A/CRwxkm6okI+w==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.441.0.tgz", + "integrity": "sha512-WB9p37yHq6fGJt6Vll29ijHbkh9VDbPM/n5ns73bTAgFD7R0ht5kPmdmHGQA6m3RKjcHLPbymQ3lXykkMwWf/Q==", "optional": true, "dependencies": { "@aws-sdk/credential-provider-env": "3.433.0", - "@aws-sdk/credential-provider-ini": "3.438.0", + "@aws-sdk/credential-provider-ini": "3.441.0", "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.438.0", + "@aws-sdk/credential-provider-sso": "3.441.0", "@aws-sdk/credential-provider-web-identity": "3.433.0", "@aws-sdk/types": "3.433.0", "@smithy/credential-provider-imds": "^2.0.0", @@ -536,12 +536,12 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.438.0.tgz", - "integrity": "sha512-Xykli/64xR18cBV5P0XFxcH120omtfAjC/cFy/9nFU/+dPvbk0uu1yEOZYteWHyGGkPN4PkHmbh60GiUCLQkWQ==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.441.0.tgz", + "integrity": "sha512-pTg16G+62mWCE8yGKuQnEBqPdpG5g71remf2jUqXaI1c7GCzbnkQDV9eD4DaAGOvzIs0wo9zAQnS2kVDPFlCYA==", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.438.0", + "@aws-sdk/client-sso": "3.441.0", "@aws-sdk/token-providers": "3.438.0", "@aws-sdk/types": "3.433.0", "@smithy/property-provider": "^2.0.0", @@ -569,9 +569,9 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.438.0.tgz", - "integrity": "sha512-IMoYL22S2Xt9dmhk1vlWCcdPORnoE7STxT6iXj06T/6qAiJiDWsd7P9z8CZmP1GRIE/m2whHNxWrtFID0hmznw==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.441.0.tgz", + "integrity": "sha512-Olj/kVIhJo9Cvw06dzn0uQ8M29L7Vu8tSj4MHCewH0goJ0GGIclOf83uVofMZO94zG7X/bv6+4CtNBJIhlokQw==", "optional": true, "dependencies": { "@smithy/abort-controller": "^2.0.1", @@ -700,9 +700,9 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.433.0.tgz", - "integrity": "sha512-mkn3DiSuMVh4NTLsduC42Av+ApcOor52LMoQY0Wc6M5Mx7Xd05U+G1j8sjI9n/1bs5cZ/PoeRYJ/9bL1Xxznnw==", + "version": "3.440.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.440.0.tgz", + "integrity": "sha512-DVTSr+82Z8jR9xTwDN3YHzxX7qvi0n96V92OfxvSRDq2BldCEx/KEL1orUZjw97SAXhINOlUWjRR7j4HpwWQtQ==", "optional": true, "dependencies": { "@aws-sdk/types": "3.433.0", @@ -796,9 +796,9 @@ } }, "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.438.0.tgz", - "integrity": "sha512-fVJIeNuSZsVX0eiF+cvcPPn1jpbGY54xignn3mDcYDiAw1+qkkYEDHjnR4e4JPlx3zkR3hsTT3b1GzgjQ+1sSQ==", + "version": "3.441.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.441.0.tgz", + "integrity": "sha512-EUVsmy92imURMLoA/MX+PL1SIONQ8YSi424BHJA6xGEoaqvQiaVKlv8jJfCqJ6qQ8oLiCLe2hOBSBTY1XZiy/g==", "optional": true, "dependencies": { "@aws-sdk/signature-v4-multi-region": "3.437.0", @@ -1486,9 +1486,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -1554,18 +1554,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", - "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", + "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@grpc/grpc-js": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.8.tgz", - "integrity": "sha512-FFPzDS333Vw8hvf+1FaEsaCYVPBdNdUCw7zArTiF7+6gOzln967b4GBCBekKGqoKEgna8d3Ayxv8t+IvazXG3g==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.9.tgz", + "integrity": "sha512-vQ1qwi/Kiyprt+uhb1+rHMpyk4CVRMTGNUGGPRGS7pLNfWkdCHrGEnT6T3/JyC2VZgoOX/X1KwdoU0WYQAeYcQ==", "dependencies": { "@grpc/proto-loader": "^0.7.8", "@types/node": ">=12.12.47" @@ -2176,39 +2176,39 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@sentry-internal/tracing": { - "version": "7.76.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.76.0.tgz", - "integrity": "sha512-QQVIv+LS2sbGf/e5P2dRisHzXpy02dAcLqENLPG4sZ9otRaFNjdFYEqnlJ4qko+ORpJGQEQp/BX7Q/qzZQHlAg==", + "version": "7.77.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.77.0.tgz", + "integrity": "sha512-8HRF1rdqWwtINqGEdx8Iqs9UOP/n8E0vXUu3Nmbqj4p5sQPA7vvCfq+4Y4rTqZFc7sNdFpDsRION5iQEh8zfZw==", "dependencies": { - "@sentry/core": "7.76.0", - "@sentry/types": "7.76.0", - "@sentry/utils": "7.76.0" + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/core": { - "version": "7.76.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.76.0.tgz", - "integrity": "sha512-M+ptkCTeCNf6fn7p2MmEb1Wd9/JXUWxIT/0QEc+t11DNR4FYy1ZP2O9Zb3Zp2XacO7ORrlL3Yc+VIfl5JTgjfw==", + "version": "7.77.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.77.0.tgz", + "integrity": "sha512-Tj8oTYFZ/ZD+xW8IGIsU6gcFXD/gfE+FUxUaeSosd9KHwBQNOLhZSsYo/tTVf/rnQI/dQnsd4onPZLiL+27aTg==", "dependencies": { - "@sentry/types": "7.76.0", - "@sentry/utils": "7.76.0" + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.76.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.76.0.tgz", - "integrity": "sha512-C+YZ5S5W9oTphdWTBgV+3nDdcV1ldnupIHylHzf2Co+xNtJ76V06N5NjdJ/l9+qvQjMn0DdSp7Uu7KCEeNBT/g==", - "dependencies": { - "@sentry-internal/tracing": "7.76.0", - "@sentry/core": "7.76.0", - "@sentry/types": "7.76.0", - "@sentry/utils": "7.76.0", + "version": "7.77.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.77.0.tgz", + "integrity": "sha512-Ob5tgaJOj0OYMwnocc6G/CDLWC7hXfVvKX/ofkF98+BbN/tQa5poL+OwgFn9BA8ud8xKzyGPxGU6LdZ8Oh3z/g==", + "dependencies": { + "@sentry-internal/tracing": "7.77.0", + "@sentry/core": "7.77.0", + "@sentry/types": "7.77.0", + "@sentry/utils": "7.77.0", "https-proxy-agent": "^5.0.0" }, "engines": { @@ -2216,19 +2216,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.76.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.76.0.tgz", - "integrity": "sha512-vj6z+EAbVrKAXmJPxSv/clpwS9QjPqzkraMFk2hIdE/kii8s8kwnkBwTSpIrNc8GnzV3qYC4r3qD+BXDxAGPaw==", + "version": "7.77.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.77.0.tgz", + "integrity": "sha512-nfb00XRJVi0QpDHg+JkqrmEBHsqBnxJu191Ded+Cs1OJ5oPXEW6F59LVcBScGvMqe+WEk1a73eH8XezwfgrTsA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.76.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.76.0.tgz", - "integrity": "sha512-40jFD+yfQaKpFYINghdhovzec4IEpB7aAuyH/GtE7E0gLpcqnC72r55krEIVILfqIR2Mlr5OKUzyeoCyWAU/yw==", + "version": "7.77.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.77.0.tgz", + "integrity": "sha512-NmM2kDOqVchrey3N5WSzdQoCsyDkQkiRxExPaNI2oKQ/jMWHs9yt0tSy7otPBcXs0AP59ihl75Bvm1tDRcsp5g==", "dependencies": { - "@sentry/types": "7.76.0" + "@sentry/types": "7.77.0" }, "engines": { "node": ">=8" @@ -3246,9 +3246,9 @@ } }, "node_modules/@types/node": { - "version": "20.8.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", - "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", + "version": "20.8.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", + "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", "dependencies": { "undici-types": "~5.26.4" } @@ -3484,16 +3484,16 @@ "integrity": "sha512-9cocXIcxXowJOVIS5D0kHYQG8darHJ7JpgWeh8ESvPbGH35I5NkfF2DhRjv+Kw8URZisqlnpbMtA/whhcKrWXw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.0.tgz", - "integrity": "sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz", + "integrity": "sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.9.0", - "@typescript-eslint/type-utils": "6.9.0", - "@typescript-eslint/utils": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/type-utils": "6.9.1", + "@typescript-eslint/utils": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -3519,15 +3519,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.0.tgz", - "integrity": "sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.1.tgz", + "integrity": "sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.9.0", - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/typescript-estree": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4" }, "engines": { @@ -3547,13 +3547,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz", - "integrity": "sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz", + "integrity": "sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0" + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3564,13 +3564,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.0.tgz", - "integrity": "sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz", + "integrity": "sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.9.0", - "@typescript-eslint/utils": "6.9.0", + "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/utils": "6.9.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -3591,9 +3591,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.0.tgz", - "integrity": "sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.1.tgz", + "integrity": "sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3604,13 +3604,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz", - "integrity": "sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz", + "integrity": "sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/visitor-keys": "6.9.0", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/visitor-keys": "6.9.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3631,17 +3631,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.0.tgz", - "integrity": "sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.1.tgz", + "integrity": "sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.9.0", - "@typescript-eslint/types": "6.9.0", - "@typescript-eslint/typescript-estree": "6.9.0", + "@typescript-eslint/scope-manager": "6.9.1", + "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/typescript-estree": "6.9.1", "semver": "^7.5.4" }, "engines": { @@ -3656,12 +3656,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz", - "integrity": "sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz", + "integrity": "sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.9.0", + "@typescript-eslint/types": "6.9.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -4173,9 +4173,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1483.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1483.0.tgz", - "integrity": "sha512-u1DVpvBd2UeYLXwXgY8tO/SjbdFEE6nRkQWiLaDJaBoHycHpe+DjPtGl1KaLiOIMaDZ+cnIzf3/aRSss/mCeBQ==", + "version": "2.1488.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1488.0.tgz", + "integrity": "sha512-rRsOrIyqb/11T9VT65WSkTGC4yjI9z9IWKrwaZBhsqYJmqD2tj02CT9e1J6VNHqQbd+/rbKTddSKOWLjyjLXBQ==", "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -5745,15 +5745,15 @@ } }, "node_modules/eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", - "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", + "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.52.0", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.53.0", "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -9128,9 +9128,9 @@ } }, "node_modules/nock": { - "version": "13.3.6", - "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.6.tgz", - "integrity": "sha512-lT6YuktKroUFM+27mubf2uqQZVy2Jf+pfGzuh9N6VwdHlFoZqvi4zyxFTVR1w/ChPqGY6yxGehHp6C3wqCASCw==", + "version": "13.3.8", + "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.8.tgz", + "integrity": "sha512-96yVFal0c/W1lG7mmfRe7eO+hovrhJYd2obzzOZ90f6fjpeU/XNvd9cYHZKZAQJumDfhXgoTpkpJ9pvMj+hqHw==", "dev": true, "dependencies": { "debug": "^4.1.0", @@ -10135,9 +10135,9 @@ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } @@ -10888,9 +10888,9 @@ } }, "node_modules/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-p4lJiYKBoOEVUxxVIC9H1MM2znG1/c8gud++I2BauJA5hsz7hHsst35eurNWXTusBsIq66FzOQbZ/uMdpvbPIQ==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.0", From a06b5fcabf8e86c1c43b3d6bb186dbfc0daffe66 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 01:30:56 +0000 Subject: [PATCH 198/221] v14.14.1 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index dde2d29f7..a7adf6f13 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Lock file maintenance + hash: 49d93cc13e8a05d6fb6ed56e5a3a0b26d1bc2d6c + body: | + Update + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.14.1 + title: "" + date: 2023-11-06T01:30:50.799Z - commits: - subject: Make Retry-After available to CORS browser requests hash: 7b9734ab00613ac881ea97c63b2313e1691ca5f6 diff --git a/CHANGELOG.md b/CHANGELOG.md index c05d89892..c501e2a04 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.14.1 - 2023-11-06 + +* Lock file maintenance [Self-hosted Renovate Bot] + ## 14.14.0 - 2023-11-03 * Make Retry-After available to CORS browser requests [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index c0b5cdfe4..16db4e3c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.14.0", + "version": "14.14.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.14.0", + "version": "14.14.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 0fd55522b..7dd964b09 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.14.0", + "version": "14.14.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-03T15:01:50.700Z" + "publishedAt": "2023-11-06T01:30:52.168Z" } } From 8b2c807ca48328dcab3f886ca245da020f982106 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 22:58:37 +0000 Subject: [PATCH 199/221] Update dependency @types/sinon to v17 Update @types/sinon from 10.0.20 to 17.0.0 Change-type: patch --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 16db4e3c1..3e5dee6c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -102,7 +102,7 @@ "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/mockery": "^1.4.30", - "@types/sinon": "^10.0.14", + "@types/sinon": "^17.0.0", "@types/supertest": "^2.0.12", "@types/temp": "^0.9.1", "chai": "^4.3.7", @@ -3399,9 +3399,9 @@ } }, "node_modules/@types/sinon": { - "version": "10.0.20", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.20.tgz", - "integrity": "sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==", + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.0.tgz", + "integrity": "sha512-oN4AeDMFCeNZrAffCjhLcwwVymRZL2c9mljUmhPnd0eiM06d4ELDg0Q0TSvnZXrCIFlSA859qIdcfu1HapswPQ==", "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" diff --git a/package.json b/package.json index 7dd964b09..07797b795 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", "@types/mockery": "^1.4.30", - "@types/sinon": "^10.0.14", + "@types/sinon": "^17.0.0", "@types/supertest": "^2.0.12", "@types/temp": "^0.9.1", "chai": "^4.3.7", From 1c2966f5f2d134d36113f4eb524d1ad296cec949 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 23:07:39 +0000 Subject: [PATCH 200/221] v14.14.2 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index a7adf6f13..8724e23d6 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency @types/sinon to v17 + hash: 491ed13fb560c431766b53659e36ee6ce1cc68f5 + body: | + Update @types/sinon from 10.0.20 to 17.0.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.14.2 + title: "" + date: 2023-11-06T23:07:33.075Z - commits: - subject: Lock file maintenance hash: 49d93cc13e8a05d6fb6ed56e5a3a0b26d1bc2d6c diff --git a/CHANGELOG.md b/CHANGELOG.md index c501e2a04..c5d969569 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.14.2 - 2023-11-06 + +* Update dependency @types/sinon to v17 [Self-hosted Renovate Bot] + ## 14.14.1 - 2023-11-06 * Lock file maintenance [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 3e5dee6c9..afb81cecf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.14.1", + "version": "14.14.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.14.1", + "version": "14.14.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 07797b795..c8a78c52f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.14.1", + "version": "14.14.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-06T01:30:52.168Z" + "publishedAt": "2023-11-06T23:07:33.792Z" } } From ca8676f673d9dcc229aba4aa7a93b75f7bed7e9c Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 13 Nov 2023 01:19:36 +0000 Subject: [PATCH 201/221] Lock file maintenance Update Change-type: patch --- package-lock.json | 1782 +++++++++++++++++++++++++-------------------- 1 file changed, 1000 insertions(+), 782 deletions(-) diff --git a/package-lock.json b/package-lock.json index afb81cecf..69fd298ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -273,34 +273,34 @@ "optional": true }, "node_modules/@aws-sdk/client-s3": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.441.0.tgz", - "integrity": "sha512-tJUhHk4Nvakw/q3IVI2oDFCu48DzuPCMu2G3n42JPyvmY0RvmtRjduduoG1lYIGgRKJu81/MFr9i8CGYNK+/5A==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.449.0.tgz", + "integrity": "sha512-+xRyzPc2pVR1sX5cGvOIjyxWroa2hQ1IgjA5t4OV5QfQe87uFrxP2zHTclUo8+1USzaB5fESwUs2jXZQ647Z0g==", "optional": true, "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.441.0", - "@aws-sdk/core": "3.441.0", - "@aws-sdk/credential-provider-node": "3.441.0", - "@aws-sdk/middleware-bucket-endpoint": "3.433.0", - "@aws-sdk/middleware-expect-continue": "3.433.0", - "@aws-sdk/middleware-flexible-checksums": "3.433.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-location-constraint": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-sdk-s3": "3.440.0", - "@aws-sdk/middleware-signing": "3.433.0", - "@aws-sdk/middleware-ssec": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/client-sts": "3.449.0", + "@aws-sdk/core": "3.445.0", + "@aws-sdk/credential-provider-node": "3.449.0", + "@aws-sdk/middleware-bucket-endpoint": "3.449.0", + "@aws-sdk/middleware-expect-continue": "3.449.0", + "@aws-sdk/middleware-flexible-checksums": "3.449.0", + "@aws-sdk/middleware-host-header": "3.449.0", + "@aws-sdk/middleware-location-constraint": "3.449.0", + "@aws-sdk/middleware-logger": "3.449.0", + "@aws-sdk/middleware-recursion-detection": "3.449.0", + "@aws-sdk/middleware-sdk-s3": "3.449.0", + "@aws-sdk/middleware-signing": "3.449.0", + "@aws-sdk/middleware-ssec": "3.449.0", + "@aws-sdk/middleware-user-agent": "3.449.0", "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/signature-v4-multi-region": "3.437.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", + "@aws-sdk/signature-v4-multi-region": "3.449.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-endpoints": "3.449.0", + "@aws-sdk/util-user-agent-browser": "3.449.0", + "@aws-sdk/util-user-agent-node": "3.449.0", "@aws-sdk/xml-builder": "3.310.0", "@smithy/config-resolver": "^2.0.16", "@smithy/eventstream-serde-browser": "^2.0.12", @@ -341,23 +341,23 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.441.0.tgz", - "integrity": "sha512-gndGymu4cEIN7WWhQ67RO0JMda09EGBlay2L8IKCHBK/65Y34FHUX1tCNbO2qezEzsi6BPW5o2n53Rd9QqpHUw==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.449.0.tgz", + "integrity": "sha512-HFTlFbf9jwp5BJkXbMKlEwk6oGC7AVYaPEkaNk77kzZ8RGoqVSAqe0HL74DACcJUpMD/VWYX7pfWq/Wm+2B79g==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.441.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/core": "3.445.0", + "@aws-sdk/middleware-host-header": "3.449.0", + "@aws-sdk/middleware-logger": "3.449.0", + "@aws-sdk/middleware-recursion-detection": "3.449.0", + "@aws-sdk/middleware-user-agent": "3.449.0", "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-endpoints": "3.449.0", + "@aws-sdk/util-user-agent-browser": "3.449.0", + "@aws-sdk/util-user-agent-node": "3.449.0", "@smithy/config-resolver": "^2.0.16", "@smithy/fetch-http-handler": "^2.2.4", "@smithy/hash-node": "^2.0.12", @@ -388,26 +388,26 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.441.0.tgz", - "integrity": "sha512-GL0Cw2v7XL1cn0T+Sk5VHLlgBJoUdMsysXsHa1mFdk0l6XHMAAnwXVXiNnjmoDSPrG0psz7dL2AKzPVRXbIUjA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.449.0.tgz", + "integrity": "sha512-iKh5Es9tyY+Ch17bvMubW67ydW4X3Buy9vwTIqpmXlnXEfbvjZRwycjWK2MO/P1Su3wjA14zNBq2ifNWFxkwFA==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.441.0", - "@aws-sdk/credential-provider-node": "3.441.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-sdk-sts": "3.433.0", - "@aws-sdk/middleware-signing": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/core": "3.445.0", + "@aws-sdk/credential-provider-node": "3.449.0", + "@aws-sdk/middleware-host-header": "3.449.0", + "@aws-sdk/middleware-logger": "3.449.0", + "@aws-sdk/middleware-recursion-detection": "3.449.0", + "@aws-sdk/middleware-sdk-sts": "3.449.0", + "@aws-sdk/middleware-signing": "3.449.0", + "@aws-sdk/middleware-user-agent": "3.449.0", "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-endpoints": "3.449.0", + "@aws-sdk/util-user-agent-browser": "3.449.0", + "@aws-sdk/util-user-agent-node": "3.449.0", "@smithy/config-resolver": "^2.0.16", "@smithy/fetch-http-handler": "^2.2.4", "@smithy/hash-node": "^2.0.12", @@ -439,35 +439,37 @@ } }, "node_modules/@aws-sdk/cloudfront-signer": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/cloudfront-signer/-/cloudfront-signer-3.433.0.tgz", - "integrity": "sha512-I86TTLVSAFb0nMVPWxNipVwkmf0dw0FEchoA1sJx5j9YPyBhc0gzg3Af1Qkzzty+Pkwwc+CtPbqHkYxbXI1tFg==", + "version": "3.445.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/cloudfront-signer/-/cloudfront-signer-3.445.0.tgz", + "integrity": "sha512-FlBe4YsswZ2hB3kfvlBWPfWzf02/NM4S8qtEjlQQXQhiX+AqirMT6NcvbR67yGncM7Tpe9asMMHQpNCWaT5QZA==", "dependencies": { - "@smithy/url-parser": "^2.0.12" + "@smithy/url-parser": "^2.0.12", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/core": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.441.0.tgz", - "integrity": "sha512-gV0eQwR0VnSPUYAbgDkbBtfXbSpZgl/K6UB13DP1IFFjQYbF/BxYwvcQe4jHoPOBifSgjEbl8MfOOeIyI7k9vg==", + "version": "3.445.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.445.0.tgz", + "integrity": "sha512-6GYLElUG1QTOdmXG8zXa+Ull9IUeSeItKDYHKzHYfIkbsagMfYlf7wm9XIYlatjtgodNfZ3gPHAJfRyPmwKrsg==", "optional": true, "dependencies": { - "@smithy/smithy-client": "^2.1.12" + "@smithy/smithy-client": "^2.1.12", + "tslib": "^2.5.0" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.433.0.tgz", - "integrity": "sha512-Vl7Qz5qYyxBurMn6hfSiNJeUHSqfVUlMt0C1Bds3tCkl3IzecRWwyBOlxtxO3VCrgVeW3HqswLzCvhAFzPH6nQ==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.449.0.tgz", + "integrity": "sha512-SwO9XQcBoyA0XrsSmgnMqCnR99wIyp+BjGhvzDU+Wetib7QPt++E2slJkLM/iCNc6YiqiHZtHsvXapSV7RzBJw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/property-provider": "^2.0.0", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -477,16 +479,16 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.441.0.tgz", - "integrity": "sha512-SQipQYxYqDUuSOfIhDmaTdwPTcndGQotGZXWJl56mMWqAhU8MkwjK+oMf3VgRt/umJC0QwUCF5HUHIj7gSB1JA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.449.0.tgz", + "integrity": "sha512-C2pMYysIfbRBR4Q+Aj7J0cRsKY/X2cOnrggrWzsEUJK3EJ1aHwrzm3HI0VM5DttJyya5hE4tZ/H1VX3zNGUtKA==", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.433.0", - "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.441.0", - "@aws-sdk/credential-provider-web-identity": "3.433.0", - "@aws-sdk/types": "3.433.0", + "@aws-sdk/credential-provider-env": "3.449.0", + "@aws-sdk/credential-provider-process": "3.449.0", + "@aws-sdk/credential-provider-sso": "3.449.0", + "@aws-sdk/credential-provider-web-identity": "3.449.0", + "@aws-sdk/types": "3.449.0", "@smithy/credential-provider-imds": "^2.0.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", @@ -498,17 +500,17 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.441.0.tgz", - "integrity": "sha512-WB9p37yHq6fGJt6Vll29ijHbkh9VDbPM/n5ns73bTAgFD7R0ht5kPmdmHGQA6m3RKjcHLPbymQ3lXykkMwWf/Q==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.449.0.tgz", + "integrity": "sha512-cCsqMqL8vmHADwIHCmTWDB4vr5fCXb4PZn3njbA/PIA92xL4S7hRmYi/1ll0CMd+fks+t/h+s+PIhFGo54C7cA==", "optional": true, "dependencies": { - "@aws-sdk/credential-provider-env": "3.433.0", - "@aws-sdk/credential-provider-ini": "3.441.0", - "@aws-sdk/credential-provider-process": "3.433.0", - "@aws-sdk/credential-provider-sso": "3.441.0", - "@aws-sdk/credential-provider-web-identity": "3.433.0", - "@aws-sdk/types": "3.433.0", + "@aws-sdk/credential-provider-env": "3.449.0", + "@aws-sdk/credential-provider-ini": "3.449.0", + "@aws-sdk/credential-provider-process": "3.449.0", + "@aws-sdk/credential-provider-sso": "3.449.0", + "@aws-sdk/credential-provider-web-identity": "3.449.0", + "@aws-sdk/types": "3.449.0", "@smithy/credential-provider-imds": "^2.0.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", @@ -520,12 +522,12 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.433.0.tgz", - "integrity": "sha512-W7FcGlQjio9Y/PepcZGRyl5Bpwb0uWU7qIUCh+u4+q2mW4D5ZngXg8V/opL9/I/p4tUH9VXZLyLGwyBSkdhL+A==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.449.0.tgz", + "integrity": "sha512-IofhAgpwdSnaEg9H0dhydac07GCQ55Mc5oRzdzp/tm0Rl0MqnGdIvN8wYsxAeVhEi9pBSNla4eRiTu3LY6Z5+A==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", "@smithy/types": "^2.4.0", @@ -536,14 +538,14 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.441.0.tgz", - "integrity": "sha512-pTg16G+62mWCE8yGKuQnEBqPdpG5g71remf2jUqXaI1c7GCzbnkQDV9eD4DaAGOvzIs0wo9zAQnS2kVDPFlCYA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.449.0.tgz", + "integrity": "sha512-Lfhh38rOjFAZBjZZJ2ehve+X048xxr+hTr+ntGOKady1GAH6W1U5UGNYuD9fr5vFaQQtAcNLKkUui+TnmJ4z/w==", "optional": true, "dependencies": { - "@aws-sdk/client-sso": "3.441.0", - "@aws-sdk/token-providers": "3.438.0", - "@aws-sdk/types": "3.433.0", + "@aws-sdk/client-sso": "3.449.0", + "@aws-sdk/token-providers": "3.449.0", + "@aws-sdk/types": "3.449.0", "@smithy/property-provider": "^2.0.0", "@smithy/shared-ini-file-loader": "^2.0.6", "@smithy/types": "^2.4.0", @@ -554,12 +556,12 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.433.0.tgz", - "integrity": "sha512-RlwjP1I5wO+aPpwyCp23Mk8nmRbRL33hqRASy73c4JA2z2YiRua+ryt6MalIxehhwQU6xvXUKulJnPG9VaMFZg==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.449.0.tgz", + "integrity": "sha512-BdqATzdqg39z2VXnEH7I6dzuX/Di6F/4C8FyiiJYx2+VciYdqt6GPprlpGdpngtWct/f8pA/LxQysNBVuwU/RA==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/property-provider": "^2.0.0", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -569,9 +571,9 @@ } }, "node_modules/@aws-sdk/lib-storage": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.441.0.tgz", - "integrity": "sha512-Olj/kVIhJo9Cvw06dzn0uQ8M29L7Vu8tSj4MHCewH0goJ0GGIclOf83uVofMZO94zG7X/bv6+4CtNBJIhlokQw==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/lib-storage/-/lib-storage-3.449.0.tgz", + "integrity": "sha512-s2T97mjwRHNvAhYZ9po9pwsL75LhoIdNh2NJYjazGl7hPbUOJlliAVdowr1TtnpAwH+NWwc/oijUMdU31i3y5w==", "optional": true, "dependencies": { "@smithy/abort-controller": "^2.0.1", @@ -590,12 +592,12 @@ } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.433.0.tgz", - "integrity": "sha512-Lk1xIu2tWTRa1zDw5hCF1RrpWQYSodUhrS/q3oKz8IAoFqEy+lNaD5jx+fycuZb5EkE4IzWysT+8wVkd0mAnOg==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.449.0.tgz", + "integrity": "sha512-gH+IEdDfhzTmQLdWwfc23A40EhvvAhk8taXUu3DX/lXl+2lBqd4qCoGk8vfUtwh9y1kbRDnhLq04XM2DPvvj2w==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@aws-sdk/util-arn-parser": "3.310.0", "@smithy/node-config-provider": "^2.1.3", "@smithy/protocol-http": "^3.0.8", @@ -608,12 +610,12 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.433.0.tgz", - "integrity": "sha512-Uq2rPIsjz0CR2sulM/HyYr5WiqiefrSRLdwUZuA7opxFSfE808w5DBWSprHxbH3rbDSQR4nFiOiVYIH8Eth7nA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.449.0.tgz", + "integrity": "sha512-OOR78JoTbCo/42HViuA+F2Uy/cNWo31mN0YZJRbnY5oAMgLRrY7d2+NlJpvHlS4XPdUZ6UHeUecJ9BAWuVuWAQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/protocol-http": "^3.0.8", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -623,14 +625,14 @@ } }, "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.433.0.tgz", - "integrity": "sha512-Ptssx373+I7EzFUWjp/i/YiNFt6I6sDuRHz6DOUR9nmmRTlHHqmdcBXlJL2d9wwFxoBRCN8/PXGsTc/DJ4c95Q==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.449.0.tgz", + "integrity": "sha512-pKBgmwqA6jdiWZrYX0uaPOGdRldRiG2ArA7ufS5B7iz9X1JJP8ESZcO2wD+AbrLBtkZtVG31974qpqfNU6n4dQ==", "optional": true, "dependencies": { "@aws-crypto/crc32": "3.0.0", "@aws-crypto/crc32c": "3.0.0", - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/is-array-buffer": "^2.0.0", "@smithy/protocol-http": "^3.0.8", "@smithy/types": "^2.4.0", @@ -642,12 +644,12 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.433.0.tgz", - "integrity": "sha512-mBTq3UWv1UzeHG+OfUQ2MB/5GEkt5LTKFaUqzL7ESwzW8XtpBgXnjZvIwu3Vcd3sEetMwijwaGiJhY0ae/YyaA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.449.0.tgz", + "integrity": "sha512-uO7ao5eFhqEEPk8uqkhNhYqqJPPv/+i2aLchvSYrviDcmcbz9HURc8j+Q9WkmIj3jf0hjAJ9UVMQggBUfoLEgg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/protocol-http": "^3.0.8", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -657,12 +659,12 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.433.0.tgz", - "integrity": "sha512-2YD860TGntwZifIUbxm+lFnNJJhByR/RB/+fV1I8oGKg+XX2rZU+94pRfHXRywoZKlCA0L+LGDA1I56jxrB9sw==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.449.0.tgz", + "integrity": "sha512-MPCFKOpgke/ZV6WSxZZ/y9X4mn0ywLC2HVcaPJvDSKA0gsRtJLEQjWs2+I2QYTzEM0iwgoW9UOSgbFZYXF0Pow==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, @@ -671,12 +673,12 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.433.0.tgz", - "integrity": "sha512-We346Fb5xGonTGVZC9Nvqtnqy74VJzYuTLLiuuftA5sbNzftBDy/22QCfvYSTOAl3bvif+dkDUzQY2ihc5PwOQ==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.449.0.tgz", + "integrity": "sha512-YwmPLuSx5Zjdnloxr7bArT2KgF+VvlSe5+p5T/woZWEQgINRaCLdvDB37p7x/LlHrxxZRmk20MaFwSKlJU85qQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, @@ -685,12 +687,12 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.433.0.tgz", - "integrity": "sha512-HEvYC9PQlWY/ccUYtLvAlwwf1iCif2TSAmLNr3YTBRVa98x6jKL0hlCrHWYklFeqOGSKy6XhE+NGJMUII0/HaQ==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.449.0.tgz", + "integrity": "sha512-8kWxxpPBHwFUADf8JaZsUbJ+FtS3K9MGQpMx0AZhh3P9xLaoh602CL0y0+UEEdb2uh6FJJjQiIk4eQXEolhG6Q==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/protocol-http": "^3.0.8", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -700,12 +702,12 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.440.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.440.0.tgz", - "integrity": "sha512-DVTSr+82Z8jR9xTwDN3YHzxX7qvi0n96V92OfxvSRDq2BldCEx/KEL1orUZjw97SAXhINOlUWjRR7j4HpwWQtQ==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.449.0.tgz", + "integrity": "sha512-HbgWdv0txBdV9+9aJSGtGWXnQlVvpIXS6gqmJ5ESHKwZMiRHXswwptccZkvSrLjCQr5uuN37yIz3219MRrvrmw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@aws-sdk/util-arn-parser": "3.310.0", "@smithy/protocol-http": "^3.0.8", "@smithy/smithy-client": "^2.1.12", @@ -717,13 +719,13 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.433.0.tgz", - "integrity": "sha512-ORYbJnBejUyonFl5FwIqhvI3Cq6sAp9j+JpkKZtFNma9tFPdrhmYgfCeNH32H/wGTQV/tUoQ3luh0gA4cuk6DA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.449.0.tgz", + "integrity": "sha512-a+mknJkS9jDiDoHg2sFW24B0f6MgT2zs/oF6zMFvVmImvUHjbhSgBzYStE+Phl/uM1zwp1lJfbuO+I+5tVwZEw==", "optional": true, "dependencies": { - "@aws-sdk/middleware-signing": "3.433.0", - "@aws-sdk/types": "3.433.0", + "@aws-sdk/middleware-signing": "3.449.0", + "@aws-sdk/types": "3.449.0", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, @@ -732,12 +734,12 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.433.0.tgz", - "integrity": "sha512-jxPvt59NZo/epMNLNTu47ikmP8v0q217I6bQFGJG7JVFnfl36zDktMwGw+0xZR80qiK47/2BWrNpta61Zd2FxQ==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.449.0.tgz", + "integrity": "sha512-L33efrgdDDY3myjLwraeS2tzUlebaZL6WS7ooACsOwkB9mRs6UQRpSpT90HbcSAjwLaa+xGqaxTA0biAuRjT5A==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/property-provider": "^2.0.0", "@smithy/protocol-http": "^3.0.8", "@smithy/signature-v4": "^2.0.0", @@ -750,12 +752,12 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.433.0.tgz", - "integrity": "sha512-2AMaPx0kYfCiekxoL7aqFqSSoA9du+yI4zefpQNLr+1cZOerYiDxdsZ4mbqStR1CVFaX6U6hrYokXzjInsvETw==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.449.0.tgz", + "integrity": "sha512-NY7jt1/ukqXCUqnaK2rlm5yGFyj9sOJBqK6X8Gpu5qQaYAvIP892U1UMj6VTPC7yBLPYhW2/YCfDvxOClbqKEg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, @@ -764,13 +766,13 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.438.0.tgz", - "integrity": "sha512-a+xHT1wOxT6EA6YyLmrfaroKWOkwwyiktUfXKM0FsUutGzNi4fKhb5NZ2al58NsXzHgHFrasSDp+Lqbd/X2cEw==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.449.0.tgz", + "integrity": "sha512-0cRptIhIthxUYadrgb5FmcTgGhPIeXnFATBILaa2gA/ivfVY/CiqMAvOvLHxtBAYNK8/VXM9DFL5TfOt8mF2UQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-endpoints": "3.449.0", "@smithy/protocol-http": "^3.0.8", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -796,14 +798,14 @@ } }, "node_modules/@aws-sdk/s3-request-presigner": { - "version": "3.441.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.441.0.tgz", - "integrity": "sha512-EUVsmy92imURMLoA/MX+PL1SIONQ8YSi424BHJA6xGEoaqvQiaVKlv8jJfCqJ6qQ8oLiCLe2hOBSBTY1XZiy/g==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.449.0.tgz", + "integrity": "sha512-Rt4ys/Jt3deLCdLDyn8aEDMbpkbQaKKAitF2N2awGS/3pGGoz/V7BftMLi96yUARWo4cUWqnzfz/rEyVZFkNPg==", "optional": true, "dependencies": { - "@aws-sdk/signature-v4-multi-region": "3.437.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-format-url": "3.433.0", + "@aws-sdk/signature-v4-multi-region": "3.449.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-format-url": "3.449.0", "@smithy/middleware-endpoint": "^2.1.3", "@smithy/protocol-http": "^3.0.8", "@smithy/smithy-client": "^2.1.12", @@ -815,12 +817,12 @@ } }, "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.437.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.437.0.tgz", - "integrity": "sha512-MmrqudssOs87JgVg7HGVdvJws/t4kcOrJJd+975ki+DPeSoyK2U4zBDfDkJ+n0tFuZBs3sLwLh0QXE7BV28rRA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.449.0.tgz", + "integrity": "sha512-Ne8dF3R2Cj6JJBw0Utm7INtoJ2PdqGNgDpeTOFTnFGSGWnsumACbcVp4ikcZzgABTCQgKx88wPdXUHUZtaBqcg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/protocol-http": "^3.0.8", "@smithy/signature-v4": "^2.0.0", "@smithy/types": "^2.4.0", @@ -831,22 +833,22 @@ } }, "node_modules/@aws-sdk/token-providers": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.438.0.tgz", - "integrity": "sha512-G2fUfTtU6/1ayYRMu0Pd9Ln4qYSvwJOWCqJMdkDgvXSwdgcOSOLsnAIk1AHGJDAvgLikdCzuyOsdJiexr9Vnww==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.449.0.tgz", + "integrity": "sha512-Tgu6Z/l75uFuNQpKIidbn1gc5bI7OKmGdH5+E/ZAc58XYvxYs9N77HjhrhAGvYQEnXY6gRm26/WSeHAAh5wlgQ==", "optional": true, "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/middleware-host-header": "3.433.0", - "@aws-sdk/middleware-logger": "3.433.0", - "@aws-sdk/middleware-recursion-detection": "3.433.0", - "@aws-sdk/middleware-user-agent": "3.438.0", + "@aws-sdk/middleware-host-header": "3.449.0", + "@aws-sdk/middleware-logger": "3.449.0", + "@aws-sdk/middleware-recursion-detection": "3.449.0", + "@aws-sdk/middleware-user-agent": "3.449.0", "@aws-sdk/region-config-resolver": "3.433.0", - "@aws-sdk/types": "3.433.0", - "@aws-sdk/util-endpoints": "3.438.0", - "@aws-sdk/util-user-agent-browser": "3.433.0", - "@aws-sdk/util-user-agent-node": "3.437.0", + "@aws-sdk/types": "3.449.0", + "@aws-sdk/util-endpoints": "3.449.0", + "@aws-sdk/util-user-agent-browser": "3.449.0", + "@aws-sdk/util-user-agent-node": "3.449.0", "@smithy/config-resolver": "^2.0.16", "@smithy/fetch-http-handler": "^2.2.4", "@smithy/hash-node": "^2.0.12", @@ -879,9 +881,9 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.433.0.tgz", - "integrity": "sha512-0jEE2mSrNDd8VGFjTc1otYrwYPIkzZJEIK90ZxisKvQ/EURGBhNzWn7ejWB9XCMFT6XumYLBR0V9qq5UPisWtA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.449.0.tgz", + "integrity": "sha512-tSQPAvknheB6XnRoc+AuEgdzn2KhY447hddeVW0Mbg8Yl9es4u4TKVINloKDEyUrCKhB/1f93Hb5uJkPe/e/Ww==", "optional": true, "dependencies": { "@smithy/types": "^2.4.0", @@ -904,12 +906,12 @@ } }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.438.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.438.0.tgz", - "integrity": "sha512-6VyPTq1kN3GWxwFt5DdZfOsr6cJZPLjWh0troY/0uUv3hK74C9o3Y0Xf/z8UAUvQFkVqZse12O0/BgPVMImvfA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.449.0.tgz", + "integrity": "sha512-hWGM/e+BnbCExXLaIEa6gRb0JW3+XGfcHgRqWkAxsKCaxQuXVIPUA3HyifimxTZDKmTbGZcyWfxCnKGS7I19rw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/util-endpoints": "^1.0.2", "tslib": "^2.5.0" }, @@ -918,12 +920,12 @@ } }, "node_modules/@aws-sdk/util-format-url": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.433.0.tgz", - "integrity": "sha512-Z6T7I4hELoQ4eeIuKIKx+52B9bc3SCPhjgMcFAFQeesjmHAr0drHyoGNJIat6ckvgI6zzFaeaBZTvWDA2hyDkA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.449.0.tgz", + "integrity": "sha512-ZZR2clVM1U5NH7CQ2YQfTy/JsQlLbt/p0MjvlTIPWIm9ZLFUPww7yPR0+Ps/bCAOqKYs5xj+/WjgzvRnDk4Vyg==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/querystring-builder": "^2.0.12", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -945,24 +947,24 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.433.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.433.0.tgz", - "integrity": "sha512-2Cf/Lwvxbt5RXvWFXrFr49vXv0IddiUwrZoAiwhDYxvsh+BMnh+NUFot+ZQaTrk/8IPZVDeLPWZRdVy00iaVXQ==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.449.0.tgz", + "integrity": "sha512-MUQ8YIVZNZZso5w1qlatHu9c1JKYvdjlAugzKhj7npgV4U8D9RBOJUd2Ct8meXPaH4DTfW1qohPlZu/fWWqNVQ==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/types": "^2.4.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.437.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.437.0.tgz", - "integrity": "sha512-JVEcvWaniamtYVPem4UthtCNoTBCfFTwYj7Y3CrWZ2Qic4TqrwLkAfaBGtI2TGrhIClVr77uzLI6exqMTN7orA==", + "version": "3.449.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.449.0.tgz", + "integrity": "sha512-PFMnFMSQTdhMAS63anMFFkzz56kWKcjGscgl0bBheEaxo8zgfLf1AAdFuBM+Ob2KYXeMezUbxYu9zOC/0S2hvw==", "optional": true, "dependencies": { - "@aws-sdk/types": "3.433.0", + "@aws-sdk/types": "3.449.0", "@smithy/node-config-provider": "^2.1.3", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" @@ -1014,12 +1016,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", + "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.3", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -1107,9 +1109,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1133,19 +1135,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", + "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/generator": "^7.23.3", "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", + "@babel/parser": "^7.23.3", + "@babel/types": "^7.23.3", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1154,9 +1156,9 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", + "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.22.5", @@ -1255,24 +1257,24 @@ } }, "node_modules/@balena/lint": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-7.2.1.tgz", - "integrity": "sha512-3AwjX5MjaEWbLp5NikEhUF7t3hpiBLxrQ5Mq+XZ6+PWbLz4rWxcm1xFowHqJhIhEUHbJxLKpba3WUZwVMqKQVw==", + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@balena/lint/-/lint-7.2.4.tgz", + "integrity": "sha512-CIbhciF0Wtgl19kUspSdW1P6sbfXLz3s9oyQ62uEk+uuKPFz3EBqiv5qnAoDzoRRzqkEPXBswGI39scKCw8rWw==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "^6.6.0", - "@typescript-eslint/parser": "^6.6.0", - "depcheck": "^1.4.1", - "eslint": "^8.46.0", + "@typescript-eslint/eslint-plugin": "^6.10.0", + "@typescript-eslint/parser": "^6.10.0", + "depcheck": "^1.4.7", + "eslint": "^8.53.0", "eslint-config-prettier": "^9.0.0", "eslint-plugin-chai-friendly": "^0.7.2", - "eslint-plugin-jsdoc": "^46.4.6", + "eslint-plugin-jsdoc": "^46.8.2", "eslint-plugin-no-only-tests": "^3.1.0", - "eslint-plugin-react": "^7.33.1", + "eslint-plugin-react": "^7.33.2", "glob": "^10.3.10", - "prettier": "^3.0.2", - "typescript": "^5.0.2", - "yargs": "^16.2.0" + "prettier": "^3.0.3", + "typescript": "^5.2.2", + "yargs": "^17.7.2" }, "bin": { "balena-lint": "bin/balena-lint" @@ -1307,9 +1309,9 @@ } }, "node_modules/@balena/odata-to-abstract-sql": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.1.2.tgz", - "integrity": "sha512-x2xAbNkx0WBo3fRz0J50QUzrD2jHACRN0oP34y/GYE4pL04e/xmq3rI8ixdzjtvZj0IK8QwOu5nXL9X/e6knhw==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.1.3.tgz", + "integrity": "sha512-mi1juNx259UNYxFTF6gilD2NgX0xVNhBsfZmlcLbgt+/vNqk7CzRaeG3Fz63rZ3aJJv1yd88OsMzcJOLiyg+NQ==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/odata-parser": "^3.0.1", @@ -1326,9 +1328,9 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.15", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.15.tgz", - "integrity": "sha512-wmfL71o4w15h0lY0XPlB6Nhro7LEFHJnkY1tWfTB+vqadRZFDnNSx9wEfd8KHkHd+fk83EXaK2IAk2wdJo3xyA==", + "version": "15.3.16", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.16.tgz", + "integrity": "sha512-2dwwquGN3MU5KpWTTZIetg/t8GXitwEDHxQHv29/RoQ2QREw0ZrMz3gQVOZkSeVzKbP8dRgQFwpEBSPwnEaCoA==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.1", @@ -1448,12 +1450,12 @@ } }, "node_modules/@es-joy/jsdoccomment": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", - "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", + "version": "0.41.0", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.41.0.tgz", + "integrity": "sha512-aKUhyn1QI5Ksbqcr3fFJj16p99QdjUxXAEuFst1Z47DRyoiMwivIH9MV/ARcJOCXVjPfjITciej8ZD2O/6qUmw==", "dev": true, "dependencies": { - "comment-parser": "1.4.0", + "comment-parser": "1.4.1", "esquery": "^1.5.0", "jsdoc-type-pratt-parser": "~4.0.0" }, @@ -1591,116 +1593,6 @@ "node": ">=6" } }, - "node_modules/@grpc/proto-loader/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@grpc/proto-loader/node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@grpc/proto-loader/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@grpc/proto-loader/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/@grpc/proto-loader/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/@grpc/proto-loader/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@grpc/proto-loader/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@grpc/proto-loader/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@grpc/proto-loader/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@grpc/proto-loader/node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.13", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", @@ -2176,39 +2068,39 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@sentry-internal/tracing": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.77.0.tgz", - "integrity": "sha512-8HRF1rdqWwtINqGEdx8Iqs9UOP/n8E0vXUu3Nmbqj4p5sQPA7vvCfq+4Y4rTqZFc7sNdFpDsRION5iQEh8zfZw==", + "version": "7.80.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.80.0.tgz", + "integrity": "sha512-P1Ab9gamHLsbH9D82i1HY8xfq9dP8runvc4g50AAd6OXRKaJ45f2KGRZUmnMEVqBQ7YoPYp2LFMkrhNYbcZEoQ==", "dependencies": { - "@sentry/core": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0" + "@sentry/core": "7.80.0", + "@sentry/types": "7.80.0", + "@sentry/utils": "7.80.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/core": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.77.0.tgz", - "integrity": "sha512-Tj8oTYFZ/ZD+xW8IGIsU6gcFXD/gfE+FUxUaeSosd9KHwBQNOLhZSsYo/tTVf/rnQI/dQnsd4onPZLiL+27aTg==", + "version": "7.80.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.80.0.tgz", + "integrity": "sha512-nJiiymdTSEyI035/rdD3VOq6FlOZ2wWLR5bit9LK8a3rzHU3UXkwScvEo6zYgs0Xp1sC0yu1S9+0BEiYkmi29A==", "dependencies": { - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0" + "@sentry/types": "7.80.0", + "@sentry/utils": "7.80.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.77.0.tgz", - "integrity": "sha512-Ob5tgaJOj0OYMwnocc6G/CDLWC7hXfVvKX/ofkF98+BbN/tQa5poL+OwgFn9BA8ud8xKzyGPxGU6LdZ8Oh3z/g==", - "dependencies": { - "@sentry-internal/tracing": "7.77.0", - "@sentry/core": "7.77.0", - "@sentry/types": "7.77.0", - "@sentry/utils": "7.77.0", + "version": "7.80.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.80.0.tgz", + "integrity": "sha512-J35fqe8J5ac/17ZXT0ML3opYGTOclqYNE9Sybs1y9n6BqacHyzH8By72YrdI03F7JJDHwrcGw+/H8hGpkCwi0Q==", + "dependencies": { + "@sentry-internal/tracing": "7.80.0", + "@sentry/core": "7.80.0", + "@sentry/types": "7.80.0", + "@sentry/utils": "7.80.0", "https-proxy-agent": "^5.0.0" }, "engines": { @@ -2216,19 +2108,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.77.0.tgz", - "integrity": "sha512-nfb00XRJVi0QpDHg+JkqrmEBHsqBnxJu191Ded+Cs1OJ5oPXEW6F59LVcBScGvMqe+WEk1a73eH8XezwfgrTsA==", + "version": "7.80.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.80.0.tgz", + "integrity": "sha512-4bpMO+2jWiWLDa8zbTASWWNLWe6yhjfPsa7/6VH5y9x1NGtL8oRbqUsTgsvjF3nmeHEMkHQsC8NHPaQ/ibFmZQ==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.77.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.77.0.tgz", - "integrity": "sha512-NmM2kDOqVchrey3N5WSzdQoCsyDkQkiRxExPaNI2oKQ/jMWHs9yt0tSy7otPBcXs0AP59ihl75Bvm1tDRcsp5g==", + "version": "7.80.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.80.0.tgz", + "integrity": "sha512-XbBCEl6uLvE50ftKwrEo6XWdDaZXHXu+kkHXTPWQEcnbvfZKLuG9V0Hxtxxq3xQgyWmuF05OH1GcqYqiO+v5Yg==", "dependencies": { - "@sentry/types": "7.77.0" + "@sentry/types": "7.80.0" }, "engines": { "node": ">=8" @@ -2301,22 +2193,22 @@ } }, "node_modules/@smithy/chunked-blob-reader-native": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz", - "integrity": "sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.1.tgz", + "integrity": "sha512-N2oCZRglhWKm7iMBu7S6wDzXirjAofi7tAd26cxmgibRYOBS4D3hGfmkwCpHdASZzwZDD8rluh0Rcqw1JeZDRw==", "optional": true, "dependencies": { - "@smithy/util-base64": "^2.0.0", + "@smithy/util-base64": "^2.0.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/config-resolver": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.16.tgz", - "integrity": "sha512-1k+FWHQDt2pfpXhJsOmNMmlAZ3NUQ98X5tYsjQhVGq+0X6cOBMhfh6Igd0IX3Ut6lEO6DQAdPMI/blNr3JZfMQ==", + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.17.tgz", + "integrity": "sha512-iQ8Q8ojqiPqRKdybDI1g7HvG8EcnekRnH3DYeNTrT26vDuPq2nomyMCc0DZnPW+uAUcLCGZpAmGTAvEOYX55wA==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-config-provider": "^2.1.4", "@smithy/types": "^2.4.0", "@smithy/util-config-provider": "^2.0.0", "@smithy/util-middleware": "^2.0.5", @@ -2327,12 +2219,12 @@ } }, "node_modules/@smithy/credential-provider-imds": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.18.tgz", - "integrity": "sha512-QnPBi6D2zj6AHJdUTo5zXmk8vwHJ2bNevhcVned1y+TZz/OI5cizz5DsYNkqFUIDn8tBuEyKNgbmKVNhBbuY3g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.1.0.tgz", + "integrity": "sha512-amqeueHM3i02S6z35WlXp7gejBnRloT5ctR/mQLlg/6LWGd70Avc2epzuuWtCptNg2ak5/yODD1fAVs9NPCyqg==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-config-provider": "^2.1.4", "@smithy/property-provider": "^2.0.13", "@smithy/types": "^2.4.0", "@smithy/url-parser": "^2.0.12", @@ -2410,39 +2302,39 @@ } }, "node_modules/@smithy/fetch-http-handler": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.4.tgz", - "integrity": "sha512-gIPRFEGi+c6V52eauGKrjDzPWF2Cu7Z1r5F8A3j2wcwz25sPG/t8kjsbEhli/tS/2zJp/ybCZXe4j4ro3yv/HA==", + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.2.5.tgz", + "integrity": "sha512-m9yoTx+64XRSpCzWArOpvHeAuVfI2LFz2hDzgzjzCLlN8IIwzkFaCav5ShsYxx4iu9sXp09+on0a5VROY9+MFQ==", "optional": true, "dependencies": { "@smithy/protocol-http": "^3.0.8", "@smithy/querystring-builder": "^2.0.12", "@smithy/types": "^2.4.0", - "@smithy/util-base64": "^2.0.0", + "@smithy/util-base64": "^2.0.1", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-blob-browser": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.12.tgz", - "integrity": "sha512-riLnV16f27yyePX8UF0deRHAeccUK8SrOxyTykSTrnVkgS3DsjNapZtTbd8OGNKEbI60Ncdb5GwN3rHZudXvog==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.13.tgz", + "integrity": "sha512-vZeV2dAzNrAet50eIHjKH9kh8fDZTX8ia6eMD9juzMVNd/a/VyEFvguQ2Uawp3Oj9+IUMSCcmkBaQMmc5RFIHg==", "optional": true, "dependencies": { "@smithy/chunked-blob-reader": "^2.0.0", - "@smithy/chunked-blob-reader-native": "^2.0.0", + "@smithy/chunked-blob-reader-native": "^2.0.1", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" } }, "node_modules/@smithy/hash-node": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.12.tgz", - "integrity": "sha512-fDZnTr5j9t5qcbeJ037aMZXxMka13Znqwrgy3PAqYj6Dm3XHXHftTH3q+NWgayUxl1992GFtQt1RuEzRMy3NnQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.14.tgz", + "integrity": "sha512-eS2Q4IE2AZDfrfpXma49M2H1NVcs7VFg2KZ5hndQZibCmFJehS9CjjwIu0aWC61p4sEB7jWXw70bzOllyQU6GQ==", "optional": true, "dependencies": { "@smithy/types": "^2.4.0", "@smithy/util-buffer-from": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -2450,13 +2342,13 @@ } }, "node_modules/@smithy/hash-stream-node": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.12.tgz", - "integrity": "sha512-x/DrSynPKrW0k00q7aZ/vy531a3mRw79mOajHp+cIF0TrA1SqEMFoy/B8X0XtoAtlJWt/vvgeDNqt/KAeaAqMw==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.14.tgz", + "integrity": "sha512-8ZVKfeC8II5dThWWMZ7S8dSstzmzMTEMePXHDoq+Vxsrm0epU2XnUzwriRFTsWmxrD8Q9/GvfHoy2sm6YTc26A==", "optional": true, "dependencies": { "@smithy/types": "^2.4.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -2486,13 +2378,13 @@ } }, "node_modules/@smithy/md5-js": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.12.tgz", - "integrity": "sha512-OgDt+Xnrw+W5z3MSl5KZZzebqmXrYl9UdbCiBYnnjErmNywwSjV6QB/Oic3/7hnsPniSU81n7Rvlhz2kH4EREQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.14.tgz", + "integrity": "sha512-rwEMAfqFGwVO4WOiu5+g/GzOh9mTkpFr8nX9Xv7pK6CxskxHXjDX5f64OA+v5j9WpyzyCPZC2JfASUFAFy29jQ==", "optional": true, "dependencies": { "@smithy/types": "^2.4.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" } }, @@ -2511,14 +2403,14 @@ } }, "node_modules/@smithy/middleware-endpoint": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.3.tgz", - "integrity": "sha512-ZrQ0/YX6hNVTxqMEHtEaDbDv6pNeEji/a5Vk3HuFC5R3ZY8lfoATyxmOGxBVYnF3NUvZLNC7umEv1WzWGWvCGQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.1.5.tgz", + "integrity": "sha512-eRhI0mI9tnkpmLwJbprV+MdlPyOMe8tFtVrNFMUlgOQrJeYv5AD5UFRn/KhgNX1vO1pVgpPtD9R+cRuFhj/lIQ==", "optional": true, "dependencies": { "@smithy/middleware-serde": "^2.0.12", - "@smithy/node-config-provider": "^2.1.3", - "@smithy/shared-ini-file-loader": "^2.2.2", + "@smithy/node-config-provider": "^2.1.4", + "@smithy/shared-ini-file-loader": "^2.2.3", "@smithy/types": "^2.4.0", "@smithy/url-parser": "^2.0.12", "@smithy/util-middleware": "^2.0.5", @@ -2529,12 +2421,12 @@ } }, "node_modules/@smithy/middleware-retry": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.18.tgz", - "integrity": "sha512-VyrHQRldGSb3v9oFOB5yPxmLT7U2sQic2ytylOnYlnsmVOLlFIaI6sW22c+w2675yq+XZ6HOuzV7x2OBYCWRNA==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.19.tgz", + "integrity": "sha512-VMS1GHxLpRnuLHrPTj/nb9aD99jJsNzWX07F00fIuV9lkz3lWP7RUM7P1aitm0+4YfhShPn+Wri8/CuoqPOziA==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-config-provider": "^2.1.4", "@smithy/protocol-http": "^3.0.8", "@smithy/service-error-classification": "^2.0.5", "@smithy/types": "^2.4.0", @@ -2583,13 +2475,13 @@ } }, "node_modules/@smithy/node-config-provider": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.3.tgz", - "integrity": "sha512-J6lXvRHGVnSX3n1PYi+e1L5HN73DkkJpUviV3Ebf+8wSaIjAf+eVNbzyvh/S5EQz7nf4KVfwbD5vdoZMAthAEQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.1.4.tgz", + "integrity": "sha512-kROLnHFatpimtmZ8YefsRRb5OJ8LVIVNhUWp67KHL4D2Vjd+WpIHMzWtkLLV4p0qXpY+IxmwcL2d2XMPn8ppsQ==", "optional": true, "dependencies": { "@smithy/property-provider": "^2.0.13", - "@smithy/shared-ini-file-loader": "^2.2.2", + "@smithy/shared-ini-file-loader": "^2.2.3", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, @@ -2678,9 +2570,9 @@ } }, "node_modules/@smithy/shared-ini-file-loader": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.2.tgz", - "integrity": "sha512-noyQUPn7b1M8uB0GEXc/Zyxq+5K2b7aaqWnLp+hgJ7+xu/FCvtyWy5eWLDjQEsHnAet2IZhS5QF8872OR69uNg==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.2.3.tgz", + "integrity": "sha512-VDyhCNycPbNkPidMnBgYQeSwJkoATRFm5VrveVqIPAjsdGutf7yZpPycuDWW9bRFnuuwaBhCC0pA7KCH0+2wrg==", "optional": true, "dependencies": { "@smithy/types": "^2.4.0", @@ -2691,9 +2583,9 @@ } }, "node_modules/@smithy/signature-v4": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.12.tgz", - "integrity": "sha512-6Kc2lCZEVmb1nNYngyNbWpq0d82OZwITH11SW/Q0U6PX5fH7B2cIcFe7o6eGEFPkTZTP8itTzmYiGcECL0D0Lw==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.14.tgz", + "integrity": "sha512-ZUU8gGlDVFyU3tM9tCEbq2FxHtyfX2qYBUKoIGH23GSxbC4+Ld/HeFL2EZYIFrYwoOuPBO30+g3fAohOP9Ax3Q==", "optional": true, "dependencies": { "@smithy/eventstream-codec": "^2.0.12", @@ -2702,7 +2594,7 @@ "@smithy/util-hex-encoding": "^2.0.0", "@smithy/util-middleware": "^2.0.5", "@smithy/util-uri-escape": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -2710,14 +2602,14 @@ } }, "node_modules/@smithy/smithy-client": { - "version": "2.1.12", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.12.tgz", - "integrity": "sha512-XXqhridfkKnpj+lt8vM6HRlZbqUAqBjVC74JIi13F/AYQd/zTj9SOyGfxnbp4mjY9q28LityxIuV8CTinr9r5w==", + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.14.tgz", + "integrity": "sha512-SMiflchpKadmyvjWPTVwBKjDcEigRHkiUjtzLBlTp9dEp2FmbCjpyc95BNvUdOGOMcPCIkoQQGeabo6avIZNiw==", "optional": true, "dependencies": { "@smithy/middleware-stack": "^2.0.6", "@smithy/types": "^2.4.0", - "@smithy/util-stream": "^2.0.17", + "@smithy/util-stream": "^2.0.19", "tslib": "^2.5.0" }, "engines": { @@ -2746,9 +2638,9 @@ } }, "node_modules/@smithy/util-base64": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", - "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.1.tgz", + "integrity": "sha512-DlI6XFYDMsIVN+GH9JtcRp3j02JEVuWIn/QOZisVzpIAprdsxGveFed0bjbMRCqmIFe8uetn5rxzNrBtIGrPIQ==", "optional": true, "dependencies": { "@smithy/util-buffer-from": "^2.0.0", @@ -2805,13 +2697,13 @@ } }, "node_modules/@smithy/util-defaults-mode-browser": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.16.tgz", - "integrity": "sha512-Uv5Cu8nVkuvLn0puX+R9zWbSNpLIR3AxUlPoLJ7hC5lvir8B2WVqVEkJLwtixKAncVLasnTVjPDCidtAUTGEQw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.18.tgz", + "integrity": "sha512-Dok3alNbkKI3MGTiW9zYGY/1gmU0MgrUMk0aRuNOeypY1TuKJ4NuNAbq5dv1GnWvYeFzWk4j0FMIwpJLF8DVmg==", "optional": true, "dependencies": { "@smithy/property-provider": "^2.0.13", - "@smithy/smithy-client": "^2.1.12", + "@smithy/smithy-client": "^2.1.14", "@smithy/types": "^2.4.0", "bowser": "^2.11.0", "tslib": "^2.5.0" @@ -2821,16 +2713,16 @@ } }, "node_modules/@smithy/util-defaults-mode-node": { - "version": "2.0.21", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.21.tgz", - "integrity": "sha512-cUEsttVZ79B7Al2rWK2FW03HBpD9LyuqFtm+1qFty5u9sHSdesr215gS2Ln53fTopNiPgeXpdoM3IgjvIO0rJw==", + "version": "2.0.24", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.24.tgz", + "integrity": "sha512-f5wM/SbjvDTCXxk//od43hhnEPItdZB3ByAqbpz5dkum/vLQe2hFRvMNbpt7UA4htQTrbUmLWJatUmvGQEFypg==", "optional": true, "dependencies": { - "@smithy/config-resolver": "^2.0.16", - "@smithy/credential-provider-imds": "^2.0.18", - "@smithy/node-config-provider": "^2.1.3", + "@smithy/config-resolver": "^2.0.17", + "@smithy/credential-provider-imds": "^2.1.0", + "@smithy/node-config-provider": "^2.1.4", "@smithy/property-provider": "^2.0.13", - "@smithy/smithy-client": "^2.1.12", + "@smithy/smithy-client": "^2.1.14", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, @@ -2839,12 +2731,12 @@ } }, "node_modules/@smithy/util-endpoints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.2.tgz", - "integrity": "sha512-QEdq+sP68IJHAMVB2ugKVVZEWeKQtZLuf+akHzc8eTVElsZ2ZdVLWC6Cp+uKjJ/t4yOj1qu6ZzyxJQEQ8jdEjg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.0.3.tgz", + "integrity": "sha512-rMYXLMdAMVbJAEHhNlCSJsAxo3NG3lcPja7WmesjAbNrMSyYZ6FnHHTy8kzRhddn4eAtLvPBSO6LiBB21gCoHQ==", "optional": true, "dependencies": { - "@smithy/node-config-provider": "^2.1.3", + "@smithy/node-config-provider": "^2.1.4", "@smithy/types": "^2.4.0", "tslib": "^2.5.0" }, @@ -2892,18 +2784,18 @@ } }, "node_modules/@smithy/util-stream": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.17.tgz", - "integrity": "sha512-fP/ZQ27rRvHsqItds8yB7jerwMpZFTL3QqbQbidUiG0+mttMoKdP0ZqnvM8UK5q0/dfc3/pN7g4XKPXOU7oRWw==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.19.tgz", + "integrity": "sha512-2kwTRyOKJcRFeO1LX4Qn1vniEyU1urMG1DfomTpiOLTFS0iV3dsqNvYNltvTbmzZd9u0f15H96l38QP8dsKF1w==", "optional": true, "dependencies": { - "@smithy/fetch-http-handler": "^2.2.4", + "@smithy/fetch-http-handler": "^2.2.5", "@smithy/node-http-handler": "^2.1.8", "@smithy/types": "^2.4.0", - "@smithy/util-base64": "^2.0.0", + "@smithy/util-base64": "^2.0.1", "@smithy/util-buffer-from": "^2.0.0", "@smithy/util-hex-encoding": "^2.0.0", - "@smithy/util-utf8": "^2.0.0", + "@smithy/util-utf8": "^2.0.2", "tslib": "^2.5.0" }, "engines": { @@ -2923,9 +2815,9 @@ } }, "node_modules/@smithy/util-utf8": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", - "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.2.tgz", + "integrity": "sha512-qOiVORSPm6Ce4/Yu6hbSgNHABLP2VMv8QOC3tTDNHHlWY19pPyc++fBTbZPtx6egPXi4HQxKDnMxVxpbtX2GoA==", "optional": true, "dependencies": { "@smithy/util-buffer-from": "^2.0.0", @@ -2970,140 +2862,140 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, "node_modules/@types/basic-auth": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@types/basic-auth/-/basic-auth-1.1.5.tgz", - "integrity": "sha512-eYnGxbb3KZuTU4ZnrF8cMclnPpnrywEjGVjLbmO9TDBsCQ3wTQyGX0lcYEWpHOHw195kWpJ/YSMvvHUajrSIZw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@types/basic-auth/-/basic-auth-1.1.6.tgz", + "integrity": "sha512-RGqL8Eh/pHAt9REIlIbw8w1YbYs3s7syfPScYgq3qDiY7oaMUxGVA/YobE6hq4vL1kLRdE4g6CIvEnYdY64dPg==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/bluebird": { - "version": "3.5.41", - "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.41.tgz", - "integrity": "sha512-/OT2UoYPu2fqGNS85UYUx0Ke8Zd/vM0/Au0JqLInTprkRO0NexYe7qAUkDsjhsO3BKHI14wX/UhN5SUaoFVDUQ==" + "version": "3.5.42", + "resolved": "https://registry.npmjs.org/@types/bluebird/-/bluebird-3.5.42.tgz", + "integrity": "sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A==" }, "node_modules/@types/body-parser": { - "version": "1.19.4", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.4.tgz", - "integrity": "sha512-N7UDG0/xiPQa2D/XrVJXjkWbpqHCd2sBaB32ggRF2l83RhPfamgKGF8gwwqyksS95qUS5ZYF9aF+lLPRlwI2UA==", + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", "dependencies": { "@types/connect": "*", "@types/node": "*" } }, "node_modules/@types/cache-manager": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/cache-manager/-/cache-manager-4.0.4.tgz", - "integrity": "sha512-Kyk9uF54w5/JQWLDKr5378euWUPvebknZut6UpsKhO3R7vE5a5o71QxTR2uev1niBgVAoXAR+BCNMU1lipjxWQ==" + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/cache-manager/-/cache-manager-4.0.5.tgz", + "integrity": "sha512-DWzxGv0Kt7NKM2uFoHOHblobJJepgoC56sAEkyFJhqRG36nxvfkrr4Gb/1TXza32GC2A+Z8+bgxFT5FEMGdkyg==" }, "node_modules/@types/cache-manager-ioredis": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/cache-manager-ioredis/-/cache-manager-ioredis-2.0.5.tgz", - "integrity": "sha512-B2Yvxc29tkSr/BgHnGb07yccndLniytVXfG/XyGIep2SWh98gtonJYDj38xULlE+ExJ10fE1ZgHMxU771Sh7XQ==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/cache-manager-ioredis/-/cache-manager-ioredis-2.0.6.tgz", + "integrity": "sha512-MNJLj/I8hqXQEv+erzrJE2vnZIMbkgbZspaJDwWKk8b4smFkxSLnvienBrILxw7O/xZKtPcIW0Ml7RBXTseJGQ==", "dependencies": { "@types/cache-manager": "*", "@types/ioredis": "^4.28.10" } }, "node_modules/@types/caseless": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.4.tgz", - "integrity": "sha512-2in/lrHRNmDvHPgyormtEralhPcN3An1gLjJzj2Bw145VBxkQ75JEXW6CTdMAwShiHQcYsl2d10IjQSdJSJz4g==" + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.5.tgz", + "integrity": "sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==" }, "node_modules/@types/chai": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.9.tgz", - "integrity": "sha512-69TtiDzu0bcmKQv3yg1Zx409/Kd7r0b5F1PfpYJfSHzLGtB53547V4u+9iqKYsTu/O2ai6KTb0TInNpvuQ3qmg==", + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-of+ICnbqjmFCiixUnqRulbylyXQrPqIGf/B3Jax1wIF3DvSheysQxAWvqHhZiW3IQrycvokcLcFQlveGp+vyNg==", "dev": true }, "node_modules/@types/chai-as-promised": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.7.tgz", - "integrity": "sha512-APucaP5rlmTRYKtRA6FE5QPP87x76ejw5t5guRJ4y5OgMnwtsvigw7HHhKZlx2MGXLeZd6R/GNZR/IqDHcbtQw==", + "version": "7.1.8", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.8.tgz", + "integrity": "sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==", "dev": true, "dependencies": { "@types/chai": "*" } }, "node_modules/@types/common-tags": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.3.tgz", - "integrity": "sha512-v3smfzf7umSwpkJrmlUe+apSv6bVnrIFCeBeprnP4f8lIh6pECZxyD50e8yFwfouIt85TdxN5yXiFwS5fnsS3w==" + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/@types/common-tags/-/common-tags-1.8.4.tgz", + "integrity": "sha512-S+1hLDJPjWNDhcGxsxEbepzaxWqURP/o+3cP4aa2w7yBXgdcmKGQtZzP8JbyfOd0m+33nh+8+kvxYE2UJtBDkg==" }, "node_modules/@types/compressible": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/compressible/-/compressible-2.0.1.tgz", - "integrity": "sha512-ISvzi8xPKbWy+R+njxFljN7p4vhbfdkVjS2CpBpHxPP1y97+htwgziMiw61gNUNrDtYPpGIZo6C5HDKf5VDe0Q==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/compressible/-/compressible-2.0.2.tgz", + "integrity": "sha512-PUrWVQMqNGuDA8Jm2mNrEGJ2C1NrXD8wNMj0e90gCXZ3D862ICArVJc2TrgaAWMD7722H9TfSqEy4u3N7Q5x4A==" }, "node_modules/@types/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-sdFVnQJRkQBX83ydsLCBm4A39p45y0QkxdAR689yOtAFNbbS9Acrp86RZWJj6BHRXyZH9tX4t1dU7XDiGdY3nA==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.5.tgz", + "integrity": "sha512-AAQvK5pxMpaT+nDvhHrsBhLSYG5yQdtkaJE1WYieSNY2mVFKAgmU4ks65rkZD5oqnGCFLyQpUr1CqI4DmUMyDg==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/compression-next": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/compression-next/-/compression-next-1.0.2.tgz", - "integrity": "sha512-MT1oGrcS2UZUhlVqeLm5bdozKbQ7CcQS1e7XLbzB1jxRxM/Vu7nywwBgz9hC3N8rfD+vYJkXCcAoHS6I9fifUg==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/compression-next/-/compression-next-1.0.3.tgz", + "integrity": "sha512-OpoMqxxMv5tgTV8vVlqhxRUKuNKUEAZcgyjpC6qyXWKKzNkCJA6qqetjszDXwhyXrwYSqPphRb3bCfmfAOx1PQ==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/connect": { - "version": "3.4.37", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", - "integrity": "sha512-zBUSRqkfZ59OcwXon4HVxhx5oWCJmc0OtBTK05M+p0dYjgN6iTwIL2T/WbsQZrEsdnwaF9cWQ+azOnpPvIqY3Q==", + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/cookie-parser": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.5.tgz", - "integrity": "sha512-cbpH1NldYslPt7WRHXZFm+G7DTfUg57dQSCf1qrHwT8wtGX41JHLYf3Cieiqg7waPWjorVgcSSllZov+A1PJbg==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@types/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-KoooCrD56qlLskXPLGUiJxOMnv5l/8m7cQD2OxJ73NPMhuSz9PmvwRD6EpjDyKBVrdJDdQ4bQK7JFNHnNmax0w==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/cookie-session": { - "version": "2.0.46", - "resolved": "https://registry.npmjs.org/@types/cookie-session/-/cookie-session-2.0.46.tgz", - "integrity": "sha512-tz1Ekw1XjtF+/SXvd90m+9nmDdi2PF4JvQub7Hj4tTlR4uxACC0p+WvhGxAbaELLR5oc3c5tQIgKsh6paWUt7A==", + "version": "2.0.47", + "resolved": "https://registry.npmjs.org/@types/cookie-session/-/cookie-session-2.0.47.tgz", + "integrity": "sha512-Xw+NG/nKgEcnHmecFd4X81BfzZr8+Dj+mNigYLbZ8ZNhCSowsJCzpH47EiyabGnx/lDgPNWuq1r8LUIr8yt4lg==", "dependencies": { "@types/express": "*", "@types/keygrip": "*" } }, "node_modules/@types/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-LZ8SD3LpNmLMDLkG2oCBjZg+ETnx6XdCjydUE0HwojDmnDfDUnhMKKbtth1TZh+hzcqb03azrYWoXLS8sMXdqg==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-b698BLJ6kPVd6uhHsY7wlebZdrWPXYied883PDSzpJZYOP97EOn/oGdLCH3jJf157srkFReIZY5v0H1s8Dozrg==", "dev": true }, "node_modules/@types/debug": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.10.tgz", - "integrity": "sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dependencies": { "@types/ms": "*" } }, "node_modules/@types/deep-freeze": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@types/deep-freeze/-/deep-freeze-0.1.4.tgz", - "integrity": "sha512-axIlS/9rrHXqet5THlrX2VJNh4tQR3E6bvAsSnGR0fqT45IiZBC/UqCXZfpSkiKBO1YEKRZhI36f6Y+zU0lheg==" + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@types/deep-freeze/-/deep-freeze-0.1.5.tgz", + "integrity": "sha512-KZtR+jtmgkCpgE0f+We/QEI2Fi0towBV/tTkvHVhMzx+qhUVGXMx7pWvAtDp6vEWIjdKLTKpqbI/sORRCo8TKg==" }, "node_modules/@types/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-QbNxKa2IX2y/9eGiy4w8rrwk//ERHXA6zwYVRA3+ayA/D3pkz+/bLL4b5uSLA0L0kPuNX1Jbv9HyPzv9T4zbJQ==" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/escape-html/-/escape-html-1.0.4.tgz", + "integrity": "sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==" }, "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -3112,9 +3004,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.39", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.39.tgz", - "integrity": "sha512-BiEUfAiGCOllomsRAZOiMFP7LAnrifHpt56pc4Z7l9K6ACyN06Ns1JLMBxwkfLOjJRlSf06NwWsT7yzfpaVpyQ==", + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -3123,22 +3015,22 @@ } }, "node_modules/@types/express-session": { - "version": "1.17.9", - "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.9.tgz", - "integrity": "sha512-yIqficLlTPdloeEPhOVenpOUWILkdaXHUWhTOqFGx9JoSuTgeatNjb97k8VvJehbTk0kUSUAHy5r27PXMga89Q==", + "version": "1.17.10", + "resolved": "https://registry.npmjs.org/@types/express-session/-/express-session-1.17.10.tgz", + "integrity": "sha512-U32bC/s0ejXijw5MAzyaV4tuZopCh/K7fPoUDyNbsRXHvPSeymygYD1RFL99YOLhF5PNOkzswvOTRaVHdL1zMw==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/google-protobuf": { - "version": "3.15.9", - "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.9.tgz", - "integrity": "sha512-l51aVJnCNNMBkmSUQddSStXinB2qSXqfrmY9zkdcE9sqPzDneQ3BGg/hu7LfeOCUeGHOu+Rly89YhuDhvbmmPw==" + "version": "3.15.10", + "resolved": "https://registry.npmjs.org/@types/google-protobuf/-/google-protobuf-3.15.10.tgz", + "integrity": "sha512-uiyKJCa8hbmPE4yxwjbkMOALaBAiOVcatW/yEGbjTqwAh4kzNgQPWRlJMNPXpB5CPUM66xsYufiSX9WKHZCE9g==" }, "node_modules/@types/http-errors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.3.tgz", - "integrity": "sha512-pP0P/9BnCj1OVvQR2lF41EkDG/lWWnDyA203b/4Fmi2eTyORnBtcDoKDwjWQthELrBvWkMOrvSOnZ8OVlW6tXA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" }, "node_modules/@types/ioredis": { "version": "4.28.10", @@ -3149,32 +3041,32 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==" + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/jsonwebtoken": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.4.tgz", - "integrity": "sha512-8UYapdmR0QlxgvJmyE8lP7guxD0UGVMfknsdtCFZh4ovShdBl3iOI4zdvqBHrB/IS+xUj3PSx73Qkey1fhWz+g==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz", + "integrity": "sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/keygrip": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.4.tgz", - "integrity": "sha512-/tjWYD8StMrINelsrHNmpXceo9s3/Y22AzePH1qCvXIgmz/aQp2YFFr6HqhNQVIOdcvaVyp5GS+yjHGuF7Rwsg==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.5.tgz", + "integrity": "sha512-M+BUYYOXgiYoab5L98VpOY1PzmDwWcTkqqu4mdluez5qOTDV0MVPChxhRIPeIFxQgSi3+6qjg1PnGFaGlW373g==" }, "node_modules/@types/lodash": { - "version": "4.14.200", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.200.tgz", - "integrity": "sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==" + "version": "4.14.201", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.201.tgz", + "integrity": "sha512-y9euML0cim1JrykNxADLfaG0FgD1g/yTHwUs/Jg9ZIU7WKj2/4IW9Lbb1WZbvck78W/lfGXFfe+u2EGfIJXdLQ==" }, "node_modules/@types/memoizee": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/@types/memoizee/-/memoizee-0.4.10.tgz", - "integrity": "sha512-VOsAhXMsvpFRXbVD2nQi7U0rDcYJG23w3MLEuWPUcbuJ1CxyONdADKoMtn1Xmz/g7BgDx/0IWR42ou+gA3aQoA==" + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/@types/memoizee/-/memoizee-0.4.11.tgz", + "integrity": "sha512-2gyorIBZu8GoDr9pYjROkxWWcFtHCquF7TVbN2I+/OvgZhnIGQS0vX5KJz4lXNKb8XOSfxFOSG5OLru1ESqLUg==" }, "node_modules/@types/method-override": { "version": "0.0.33", @@ -3185,9 +3077,9 @@ } }, "node_modules/@types/mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", - "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" }, "node_modules/@types/minimatch": { "version": "3.0.5", @@ -3196,97 +3088,97 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.3.tgz", - "integrity": "sha512-RsOPImTriV/OE4A9qKjMtk2MnXiuLLbcO3nCXK+kvq4nr0iMfFgpjaX3MPLb6f7+EL1FGSelYvuJMV6REH+ZPQ==", + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.4.tgz", + "integrity": "sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==", "dev": true }, "node_modules/@types/mockery": { - "version": "1.4.32", - "resolved": "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.32.tgz", - "integrity": "sha512-aIfWlmbr81j+my5AE1NGsWDBGXa+Re0mnBKptqwrK+RXlb6l6mTCphgC7REdwX2wmkfOa3ewxRY8JPo+BZct1w==", + "version": "1.4.33", + "resolved": "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.33.tgz", + "integrity": "sha512-vpuuVxCnCEM0OakYNoyFs40mjJFJFJahBHyx0Z0Piysof+YwlDJzNO4V1weRvYySAmtAvlb0UHtxVO2IfTcykw==", "dev": true }, "node_modules/@types/morgan": { - "version": "1.9.7", - "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.7.tgz", - "integrity": "sha512-4sJFBUBrIZkP5EvMm1L6VCXp3SQe8dnXqlVpe1jsmTjS1JQVmSjnpMNs8DosQd6omBi/K7BSKJ6z/Mc3ki0K9g==", + "version": "1.9.9", + "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.9.tgz", + "integrity": "sha512-iRYSDKVaC6FkGSpEVVIvrRGw0DfJMiQzIn3qr2G5B3C//AWkulhXgaBd7tS9/J79GWSYMTHGs7PfI5b3Y8m+RQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ms": { - "version": "0.7.33", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.33.tgz", - "integrity": "sha512-AuHIyzR5Hea7ij0P9q7vx7xu4z0C28ucwjAZC0ja7JhINyCnOw8/DnvAPQQ9TfOlCtZAmCERKQX9+o1mgQhuOQ==" + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" }, "node_modules/@types/multer": { - "version": "1.4.9", - "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.9.tgz", - "integrity": "sha512-9NSvPJ2E8bNTc8XtJq1Cimx2Wrn2Ah48F15B2Du/hM8a8CHLhVbJMlF3ZCqhvMdht7Sa+YdP0aKP7N4fxDcrrg==", + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.10.tgz", + "integrity": "sha512-6l9mYMhUe8wbnz/67YIjc7ZJyQNZoKq7fRXVf7nMdgWgalD0KyzJ2ywI7hoATUSXSbTu9q2HBiEwzy0tNN1v2w==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/mysql": { - "version": "2.15.23", - "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.23.tgz", - "integrity": "sha512-l3mEJpU1VNkt7uJP2vYWZrfjxlzQtwJNKSWe+7sgChuDjFoyRfu263f9pBDlhFPmyda23o8GNGq6FL5CHSd/QA==", + "version": "2.15.24", + "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.24.tgz", + "integrity": "sha512-I0qULi8JBEg0oso69Fe4H4QPR+IdE0yRhZLu3uRhGwQ92m2Epz1cSD5jnXY0nMeZQKd61U8EvnOVMbNE74o3Kw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/ndjson": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/ndjson/-/ndjson-2.0.3.tgz", - "integrity": "sha512-HJe8EzlFvyv7ntqwoxWm2NS6Ir0LvtEveuSR2neyK3fP/YnvIkyiR2TAz+JL0EhL5L0jqD0AHlqLCqd65FStPg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/ndjson/-/ndjson-2.0.4.tgz", + "integrity": "sha512-ajAl7AjhFstF6waORYNSS49GL5iBKisqJlgvXuprXFKCX9fto4ordlNU3+XMgkMddgeR0WoQQBmKUk0v0dJ4pw==", "dependencies": { "@types/node": "*", "@types/through": "*" } }, "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "version": "20.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", + "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/node-schedule": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/node-schedule/-/node-schedule-2.1.2.tgz", - "integrity": "sha512-pNf6vCw14EYbqo0Y1eLGhkyv9RhgvphrxpPk4bd1CqwsWbHCrLSVYpO+9NmKOCUSYwxG6eRaWDR3Y6C+4gtzow==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@types/node-schedule/-/node-schedule-2.1.3.tgz", + "integrity": "sha512-sTWHBCD+17XjHRuxkLwoC0VdxAx/TVNny+1DUxv8RTPJNZGuokEKiSiGag+v9XdrnJ/c36ObWi4HA3JiokvOQw==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/on-finished": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/on-finished/-/on-finished-2.3.3.tgz", - "integrity": "sha512-qyr2ZlsJvXAjIvLygTDbs8zLUNI2j798WyGSnO745KEauD4OdykMMA0sSJAr2GIp+UvF+1TQq8+2cUIPMB9gnQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/on-finished/-/on-finished-2.3.4.tgz", + "integrity": "sha512-Ld4UQD3udYcKPaAWlI1EYXKhefkZcTlpqOLkQRmN3u5Ml/tUypMivUHbNH8LweP4H4FlhGGO+uBjJI1Y1dkE1g==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/parse-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.1.tgz", - "integrity": "sha512-3YmXzzPAdOTVljVMkTMBdBEvlOLg2cDQaDhnnhT3nT9uDbnJzjWhKlzb+desT12Y7tGqaN6d+AbozcKzyL36Ng==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", "dev": true }, "node_modules/@types/passport": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.14.tgz", - "integrity": "sha512-D6p2ygR2S7Cq5PO7iUaEIQu/5WrM0tONu6Lxgk0C9r3lafQIlVpWCo3V/KI9To3OqHBxcfQaOeK+8AvwW5RYmw==", + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.15.tgz", + "integrity": "sha512-oHOgzPBp5eLI1U/7421qYV/ZySQXMYCBSfRkDe1tQ0YrIbLY/M/76qIXE7Bs7lFyvw1x5QqiNQ9imvh0fQHe9Q==", "dependencies": { "@types/express": "*" } }, "node_modules/@types/passport-jwt": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.12.tgz", - "integrity": "sha512-nXCd1lu20rw//nZ5AnK1FnlVZdSC4R5xksquev9oAJlXwJw0irMdZ7dRAE4KDlalptKObiaoam6BQ8lpujeZog==", + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.13.tgz", + "integrity": "sha512-fjHaC6Bv8EpMMqzTnHP32SXlZGaNfBPC/Po5dmRGYi2Ky7ljXPbGnOy+SxZqa6iZvFgVhoJ1915Re3m93zmcfA==", "dependencies": { "@types/express": "*", "@types/jsonwebtoken": "*", @@ -3294,9 +3186,9 @@ } }, "node_modules/@types/passport-local": { - "version": "1.0.37", - "resolved": "https://registry.npmjs.org/@types/passport-local/-/passport-local-1.0.37.tgz", - "integrity": "sha512-c57CwMHhMP2BBiOLyQZGRP43F8JtC84H976YVJdiU4EIWvqRCZ3F7QtsEgksOEIgMOk1Kz3EEKGA93OiDPQtRQ==", + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/passport-local/-/passport-local-1.0.38.tgz", + "integrity": "sha512-nsrW4A963lYE7lNTv9cr5WmiUD1ibYJvWrpE13oxApFsRt77b0RdtZvKbCdNIY4v/QZ6TRQWaDDEwV1kCTmcXg==", "dependencies": { "@types/express": "*", "@types/passport": "*", @@ -3304,18 +3196,18 @@ } }, "node_modules/@types/passport-strategy": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.37.tgz", - "integrity": "sha512-ltgwLnwHVfpjK7/66lpv43hiz90nIVb36JmeB0iF3FAZoHX6+LbkY5Ey97Bm8Jr0uGhQyDFEsSOOfejp5PJehg==", + "version": "0.2.38", + "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.38.tgz", + "integrity": "sha512-GC6eMqqojOooq993Tmnmp7AUTbbQSgilyvpCYQjT+H6JfG/g6RGc7nXEniZlp0zyKJ0WUdOiZWLBZft9Yug1uA==", "dependencies": { "@types/express": "*", "@types/passport": "*" } }, "node_modules/@types/pg": { - "version": "8.10.7", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.10.7.tgz", - "integrity": "sha512-ksJqHipwYaSEHz9e1fr6H6erjoEdNNaOxwyJgPx9bNeaqOW3iWBQgVHfpwiSAoqGzchfc+ZyRLwEfeCcyYD3uQ==", + "version": "8.10.9", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.10.9.tgz", + "integrity": "sha512-UksbANNE/f8w0wOMxVKKIrLCbEMV+oM1uKejmwXr39olg4xqcfBDbXxObJAt6XxHbDa4XTKOlUEcEltXDX+XLQ==", "dependencies": { "@types/node": "*", "pg-protocol": "*", @@ -3323,27 +3215,27 @@ } }, "node_modules/@types/proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha512-6OK5kH63HPo+0kDR8c05960AYxsfMEFOd/CXmhy87jREIpVIgYTCrHEqjl3f1wS5USA0i2is4Bx1BLzt+5evfA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-TgAHHO4tNG3HgLTUhB+hM4iwW6JUNeQHCLnF1DjaDA9c69PN+IasoFu2MYDhubFc+ZIw5c5t9DMtjvrD6R3Egg==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/qs": { - "version": "6.9.9", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.9.tgz", - "integrity": "sha512-wYLxw35euwqGvTDx6zfY1vokBFnsK0HNrzc6xNHchxfO2hpuRg74GbkEW7e3sSmPvj0TjCDT1VCa6OtHXnubsg==" + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==" }, "node_modules/@types/randomstring": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@types/randomstring/-/randomstring-1.1.10.tgz", - "integrity": "sha512-wyjGBt+hb8fJ+8Hyulw7TY5f0VunAmAJ63Q5rHPKZx6/bh9qrJxYlYnpxNaisu9enClOAih4l/N8kSQ3jpEYMw==" + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@types/randomstring/-/randomstring-1.1.11.tgz", + "integrity": "sha512-j3y9mKzGyYN5PHWjRv8Ah/ieZlApRbfSb0rBWVrW9Z+z5N1xjZpbBxgVKbO7WAGfnMpvLG2Gg8gRPxo+f0JWmg==" }, "node_modules/@types/range-parser": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.6.tgz", - "integrity": "sha512-+0autS93xyXizIYiyL02FCY8N+KkKPhILhcUSA276HxzreZ16kl+cmwvV2qAM/PuCCwPXzOXOWhiPcw20uSFcA==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" }, "node_modules/@types/redis": { "version": "2.8.32", @@ -3354,9 +3246,9 @@ } }, "node_modules/@types/redlock": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/redlock/-/redlock-4.0.6.tgz", - "integrity": "sha512-qPdEnTCraBuxrzqgx7bBvfqw8WYcg7QUhVGH9KPH68i2++RKZ4L6NygkzMiFNTpPId7lGnu9IUHvutsnj+vVWg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@types/redlock/-/redlock-4.0.7.tgz", + "integrity": "sha512-5D6egBv0fCfdbmnCETjEynVuiwFMEFFc3YFjh9EwhaaVTAi0YmB6UI1swq1S1rjIu+n27ppmlTFDK3D3cadJqg==", "dependencies": { "@types/bluebird": "*", "@types/ioredis": "^4.28.10", @@ -3364,9 +3256,9 @@ } }, "node_modules/@types/request": { - "version": "2.48.11", - "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.11.tgz", - "integrity": "sha512-HuihY1+Vss5RS9ZHzRyTGIzwPTdrJBkCm/mAeLRYrOQu/MGqyezKXWOK1VhCnR+SDbp9G2mRUP+OVEqCrzpcfA==", + "version": "2.48.12", + "resolved": "https://registry.npmjs.org/@types/request/-/request-2.48.12.tgz", + "integrity": "sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==", "dependencies": { "@types/caseless": "*", "@types/node": "*", @@ -3375,23 +3267,23 @@ } }, "node_modules/@types/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==" + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz", + "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==" }, "node_modules/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dependencies": { "@types/mime": "^1", "@types/node": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.4.tgz", - "integrity": "sha512-aqqNfs1XTF0HDrFdlY//+SGUxmdSUbjeRXb5iaZc3x0/vMbYmdw9qvOgHWOyyLFxSSRnUuP5+724zBgfw8/WAw==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", "dependencies": { "@types/http-errors": "*", "@types/mime": "*", @@ -3399,29 +3291,29 @@ } }, "node_modules/@types/sinon": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.0.tgz", - "integrity": "sha512-oN4AeDMFCeNZrAffCjhLcwwVymRZL2c9mljUmhPnd0eiM06d4ELDg0Q0TSvnZXrCIFlSA859qIdcfu1HapswPQ==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.1.tgz", + "integrity": "sha512-Q2Go6TJetYn5Za1+RJA1Aik61Oa2FS8SuJ0juIqUuJ5dZR4wvhKfmSdIqWtQ3P6gljKWjW0/R7FZkA4oXVL6OA==", "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" } }, "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.4", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.4.tgz", - "integrity": "sha512-GDV68H0mBSN449sa5HEj51E0wfpVQb8xNSMzxf/PrypMFcLTMwJMOM/cgXiv71Mq5drkOQmUGvL1okOZcu6RrQ==", + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", "dev": true }, "node_modules/@types/string-hash": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@types/string-hash/-/string-hash-1.1.2.tgz", - "integrity": "sha512-CtVwNz47vNgl2qVUnX29IkZaBr5XbscAL30cKFwU8HgbCB3cQ1OuY/COl4MrvWbJq0xfmB7mo/nZTng+bi4TDg==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha512-p6skq756fJWiA59g2Uss+cMl6tpoDGuCBuxG0SI1t0NwJmYOU66LAMS6QiCgu7cUh3/hYCaMl5phcCW1JP5wOA==" }, "node_modules/@types/superagent": { - "version": "4.1.20", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.20.tgz", - "integrity": "sha512-GfpwJgYSr3yO+nArFkmyqv3i0vZavyEG5xPd/o95RwpKYpsOKJYI5XLdxLpdRbZI3YiGKKdIOFIf/jlP7A0Jxg==", + "version": "4.1.21", + "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.21.tgz", + "integrity": "sha512-yrbAccEEY9+BSa1wji3ry8R3/BdW9kyWnjkRKctrtw5ebn/k2a2CsMeaQ7dD4iLfomgHkomBVIVgOFRMV4XYHA==", "dev": true, "dependencies": { "@types/cookiejar": "*", @@ -3429,54 +3321,54 @@ } }, "node_modules/@types/supertest": { - "version": "2.0.15", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.15.tgz", - "integrity": "sha512-jUCZZ/TMcpGzoSaed9Gjr8HCf3HehExdibyw3OHHEL1als1KmyzcOZZH4MjbObI8TkWsEr7bc7gsW0WTDni+qQ==", + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz", + "integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==", "dev": true, "dependencies": { "@types/superagent": "*" } }, "node_modules/@types/tar": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.7.tgz", - "integrity": "sha512-57ovoJf/lFhugSbDqDgpulTfm78uwO0Pa3EwgO3Op2IAIDZaDE4Z/orZ2yl25QRr8NQa1xjms9ElcoHx4pUedQ==", + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/@types/tar/-/tar-6.1.9.tgz", + "integrity": "sha512-T3+O+OQd9cdGmOXuKQY9+B0ceZHRlGVPQ7M5QZqkaPyP/vWnxPXM2aCegq8GP/n1n9dBfq2EBUqCSKKjQAVOPA==", "dependencies": { "@types/node": "*", "minipass": "^4.0.0" } }, "node_modules/@types/temp": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.9.3.tgz", - "integrity": "sha512-nGBEaq8uLbc+mDhpEE6bJHgR4d0WUUfJTBHXxRQsdLVLwZVfBl8F6HKl15MeAhrp3OlQgExyec7HG6JJ3xPzLw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/@types/temp/-/temp-0.9.4.tgz", + "integrity": "sha512-+VfWIwrlept2VBTj7Y2wQnI/Xfscy1u8Pyj/puYwss6V1IblXn1x7S0S9eFh6KyBolgLCm+rUFzhFAbdkR691g==", "dev": true, "dependencies": { "@types/node": "*" } }, "node_modules/@types/through": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.32.tgz", - "integrity": "sha512-7XsfXIsjdfJM2wFDRAtEWp3zb2aVPk5QeyZxGlVK57q4u26DczMHhJmlhr0Jqv0THwxam/L8REXkj8M2I/lcvw==", + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/through/-/through-0.0.33.tgz", + "integrity": "sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==", "dependencies": { "@types/node": "*" } }, "node_modules/@types/tough-cookie": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.4.tgz", - "integrity": "sha512-95Sfz4nvMAb0Nl9DTxN3j64adfwfbBPEYq14VN7zT5J5O2M9V6iZMIIQU1U+pJyl9agHYHNCqhCXgyEtIRRa5A==" + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" }, "node_modules/@types/uuid": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.6.tgz", - "integrity": "sha512-BT2Krtx4xaO6iwzwMFUYvWBWkV2pr37zD68Vmp1CDV196MzczBRxuEpD6Pr395HAgebC/co7hOphs53r8V7jew==" + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.7.tgz", + "integrity": "sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==" }, "node_modules/@types/validator": { - "version": "13.11.5", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.5.tgz", - "integrity": "sha512-xW4qsT4UIYILu+7ZrBnfQdBYniZrMLYYK3wN9M/NdeIHgBN5pZI2/8Q7UfdWIcr5RLJv/OGENsx91JIpUUoC7Q==" + "version": "13.11.6", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.6.tgz", + "integrity": "sha512-HUgHujPhKuNzgNXBRZKYexwoG+gHKU+tnfPqjWXFghZAnn73JElicMkuSKJyLGr9JgyA8IgK7fj88IyA9rwYeQ==" }, "node_modules/@types/websql": { "version": "0.0.28", @@ -3484,16 +3376,16 @@ "integrity": "sha512-9cocXIcxXowJOVIS5D0kHYQG8darHJ7JpgWeh8ESvPbGH35I5NkfF2DhRjv+Kw8URZisqlnpbMtA/whhcKrWXw==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz", - "integrity": "sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz", + "integrity": "sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.9.1", - "@typescript-eslint/type-utils": "6.9.1", - "@typescript-eslint/utils": "6.9.1", - "@typescript-eslint/visitor-keys": "6.9.1", + "@typescript-eslint/scope-manager": "6.10.0", + "@typescript-eslint/type-utils": "6.10.0", + "@typescript-eslint/utils": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -3519,15 +3411,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.9.1.tgz", - "integrity": "sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz", + "integrity": "sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.9.1", - "@typescript-eslint/types": "6.9.1", - "@typescript-eslint/typescript-estree": "6.9.1", - "@typescript-eslint/visitor-keys": "6.9.1", + "@typescript-eslint/scope-manager": "6.10.0", + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/typescript-estree": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0", "debug": "^4.3.4" }, "engines": { @@ -3547,13 +3439,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz", - "integrity": "sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz", + "integrity": "sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.9.1", - "@typescript-eslint/visitor-keys": "6.9.1" + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3564,13 +3456,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz", - "integrity": "sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz", + "integrity": "sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.9.1", - "@typescript-eslint/utils": "6.9.1", + "@typescript-eslint/typescript-estree": "6.10.0", + "@typescript-eslint/utils": "6.10.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -3591,9 +3483,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.9.1.tgz", - "integrity": "sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.10.0.tgz", + "integrity": "sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -3604,13 +3496,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz", - "integrity": "sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz", + "integrity": "sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.9.1", - "@typescript-eslint/visitor-keys": "6.9.1", + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3631,17 +3523,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.9.1.tgz", - "integrity": "sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz", + "integrity": "sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.9.1", - "@typescript-eslint/types": "6.9.1", - "@typescript-eslint/typescript-estree": "6.9.1", + "@typescript-eslint/scope-manager": "6.10.0", + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/typescript-estree": "6.10.0", "semver": "^7.5.4" }, "engines": { @@ -3656,12 +3548,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz", - "integrity": "sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==", + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz", + "integrity": "sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.9.1", + "@typescript-eslint/types": "6.10.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -3679,39 +3571,39 @@ "dev": true }, "node_modules/@vue/compiler-core": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.7.tgz", - "integrity": "sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz", + "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==", "dev": true, "dependencies": { "@babel/parser": "^7.23.0", - "@vue/shared": "3.3.7", + "@vue/shared": "3.3.8", "estree-walker": "^2.0.2", "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.7.tgz", - "integrity": "sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz", + "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==", "dev": true, "dependencies": { - "@vue/compiler-core": "3.3.7", - "@vue/shared": "3.3.7" + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.7.tgz", - "integrity": "sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz", + "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==", "dev": true, "dependencies": { "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.7", - "@vue/compiler-dom": "3.3.7", - "@vue/compiler-ssr": "3.3.7", - "@vue/reactivity-transform": "3.3.7", - "@vue/shared": "3.3.7", + "@vue/compiler-core": "3.3.8", + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-ssr": "3.3.8", + "@vue/reactivity-transform": "3.3.8", + "@vue/shared": "3.3.8", "estree-walker": "^2.0.2", "magic-string": "^0.30.5", "postcss": "^8.4.31", @@ -3719,32 +3611,32 @@ } }, "node_modules/@vue/compiler-ssr": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.7.tgz", - "integrity": "sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz", + "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==", "dev": true, "dependencies": { - "@vue/compiler-dom": "3.3.7", - "@vue/shared": "3.3.7" + "@vue/compiler-dom": "3.3.8", + "@vue/shared": "3.3.8" } }, "node_modules/@vue/reactivity-transform": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.7.tgz", - "integrity": "sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz", + "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==", "dev": true, "dependencies": { "@babel/parser": "^7.23.0", - "@vue/compiler-core": "3.3.7", - "@vue/shared": "3.3.7", + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8", "estree-walker": "^2.0.2", "magic-string": "^0.30.5" } }, "node_modules/@vue/shared": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.7.tgz", - "integrity": "sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz", + "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==", "dev": true }, "node_modules/abbrev": { @@ -4173,9 +4065,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1488.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1488.0.tgz", - "integrity": "sha512-rRsOrIyqb/11T9VT65WSkTGC4yjI9z9IWKrwaZBhsqYJmqD2tj02CT9e1J6VNHqQbd+/rbKTddSKOWLjyjLXBQ==", + "version": "2.1494.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1494.0.tgz", + "integrity": "sha512-i7wIEBUzhIOuCeE8moB4rXUr7y+5rviiGJ6hsdQJdqwDxzStkmV7+cvKllNVx3+kuv0jdNbkVZ+wHBANi91Wxw==", "dependencies": { "buffer": "4.9.2", "events": "1.1.1", @@ -4719,21 +4611,22 @@ } }, "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" } }, "node_modules/cliui/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -4748,7 +4641,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -4759,20 +4651,17 @@ "node_modules/cliui/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -4781,7 +4670,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4795,7 +4683,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4894,9 +4781,9 @@ } }, "node_modules/comment-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", - "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.1.tgz", + "integrity": "sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==", "dev": true, "engines": { "node": ">= 12.0.0" @@ -5161,24 +5048,132 @@ "copyup": "copyfiles" } }, + "node_modules/copyfiles/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/copyfiles/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/copyfiles/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/copyfiles/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/copyfiles/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "node_modules/copyfiles/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/copyfiles/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/copyfiles/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/copyfiles/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/copyfiles/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=10" } }, "node_modules/core-util-is": { @@ -5404,6 +5399,21 @@ "node": ">=10" } }, + "node_modules/depcheck/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/depcheck/node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -5413,6 +5423,50 @@ "balanced-match": "^1.0.0" } }, + "node_modules/depcheck/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/depcheck/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/depcheck/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/depcheck/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/depcheck/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/depcheck/node_modules/minimatch": { "version": "7.4.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", @@ -5428,6 +5482,55 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/depcheck/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/depcheck/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/depcheck/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -5824,14 +5927,14 @@ } }, "node_modules/eslint-plugin-jsdoc": { - "version": "46.8.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", - "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", + "version": "46.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.9.0.tgz", + "integrity": "sha512-UQuEtbqLNkPf5Nr/6PPRCtr9xypXY+g8y/Q7gPa0YK7eDhh0y2lWprXRnaYbW7ACgIUvpDKy9X2bZqxtGzBG9Q==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.40.1", + "@es-joy/jsdoccomment": "~0.41.0", "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.0", + "comment-parser": "1.4.1", "debug": "^4.3.4", "escape-string-regexp": "^4.0.0", "esquery": "^1.5.0", @@ -6450,9 +6553,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6616,9 +6719,9 @@ } }, "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, "dependencies": { "flatted": "^3.2.9", @@ -6626,7 +6729,7 @@ "rimraf": "^3.0.2" }, "engines": { - "node": ">=12.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flat-cache/node_modules/glob": { @@ -8161,9 +8264,9 @@ "dev": true }, "node_modules/lint-staged": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.0.2.tgz", - "integrity": "sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.1.0.tgz", + "integrity": "sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==", "dev": true, "dependencies": { "chalk": "5.3.0", @@ -8175,7 +8278,7 @@ "micromatch": "4.0.5", "pidtree": "0.6.0", "string-argv": "0.3.2", - "yaml": "2.3.3" + "yaml": "2.3.4" }, "bin": { "lint-staged": "bin/lint-staged.js" @@ -8209,9 +8312,9 @@ } }, "node_modules/lint-staged/node_modules/yaml": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.3.tgz", - "integrity": "sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "dev": true, "engines": { "node": ">= 14" @@ -8524,9 +8627,9 @@ } }, "node_modules/luxon": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", - "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", "engines": { "node": ">=12" } @@ -8805,12 +8908,62 @@ "url": "https://opencollective.com/mochajs" } }, + "node_modules/mocha/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/mocha/node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/mocha/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/mocha/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/mocha/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -8864,6 +9017,15 @@ "node": ">=8" } }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/mocha/node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -8903,6 +9065,20 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, + "node_modules/mocha/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -8918,6 +9094,41 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mockery": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", @@ -9658,10 +9869,13 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.2.tgz", + "integrity": "sha512-Yj9mA8fPiVgOUpByoTZO5pNrcl5Yk37FcSHsUINpAsaBIEZIuqcCclDZJCVxqQShDsmYX8QG63svJiTbOATZwg==", "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, "engines": { "node": "14 || >=16.14" } @@ -9968,9 +10182,9 @@ } }, "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { @@ -12375,21 +12589,20 @@ } }, "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { @@ -12419,14 +12632,12 @@ "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -12435,7 +12646,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -12445,6 +12655,14 @@ "node": ">=8" } }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", From 4d3c10be0beb796d46980002c7253fb7c0d67296 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 13 Nov 2023 01:27:45 +0000 Subject: [PATCH 202/221] v14.14.3 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 8724e23d6..e074dd487 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Lock file maintenance + hash: 0d77904c6730ad37c71d4c8a0f10d10987818569 + body: | + Update + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.14.3 + title: "" + date: 2023-11-13T01:27:40.781Z - commits: - subject: Update dependency @types/sinon to v17 hash: 491ed13fb560c431766b53659e36ee6ce1cc68f5 diff --git a/CHANGELOG.md b/CHANGELOG.md index c5d969569..fdbde28cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.14.3 - 2023-11-13 + +* Lock file maintenance [Self-hosted Renovate Bot] + ## 14.14.2 - 2023-11-06 * Update dependency @types/sinon to v17 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 69fd298ca..29453ac4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.14.2", + "version": "14.14.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.14.2", + "version": "14.14.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index c8a78c52f..4908d7bb7 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.14.2", + "version": "14.14.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-06T23:07:33.792Z" + "publishedAt": "2023-11-13T01:27:41.497Z" } } From ad78c958c6ab229c6cd88b4e6a3335287660a9b2 Mon Sep 17 00:00:00 2001 From: Harald Fischer Date: Thu, 23 Nov 2023 23:48:23 +0100 Subject: [PATCH 203/221] Update @balena/pinejs Update @balena/pinejs from 15.3.13 to 15.3.17 Change-type: patch Signed-off-by: Harald Fischer --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29453ac4e..904c3c45f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.13", + "@balena/pinejs": "^15.3.17", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", @@ -1328,9 +1328,9 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.16", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.16.tgz", - "integrity": "sha512-2dwwquGN3MU5KpWTTZIetg/t8GXitwEDHxQHv29/RoQ2QREw0ZrMz3gQVOZkSeVzKbP8dRgQFwpEBSPwnEaCoA==", + "version": "15.3.17", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.17.tgz", + "integrity": "sha512-AKgB+4wN4v2DA0b1REh4IfHAII5JtNevFtJ2w2UfHk9yIJxxGwa2F6v51qbBkaEGkm/XZKMxPVC9b7DlNhGPCw==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.1", diff --git a/package.json b/package.json index 4908d7bb7..813ed025e 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.13", + "@balena/pinejs": "^15.3.17", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", From 03c553374c9cca8f31ba6535a2f79887203f143d Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 22:58:03 +0000 Subject: [PATCH 204/221] v14.14.4 --- .versionbot/CHANGELOG.yml | 80 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 25 ++++++++++++ package-lock.json | 4 +- package.json | 4 +- 4 files changed, 109 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index e074dd487..54362e98c 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,83 @@ +- commits: + - subject: Update @balena/pinejs + hash: 97f3279ded5aea0a8517d1a04ec30d7a69a913a7 + body: | + Update @balena/pinejs from 15.3.13 to 15.3.17 + footer: + Change-type: patch + change-type: patch + Signed-off-by: Harald Fischer + signed-off-by: Harald Fischer + author: Harald Fischer + nested: + - commits: + - subject: Update @balena/lint + hash: 079f1a9438c61b7642088470818ead9580eb1f85 + body: | + Update @balena/lint from 7.1.1 to 7.2.4 + footer: + Change-type: patch + change-type: patch + Signed-off-by: Harald Fischer + signed-off-by: Harald Fischer + author: Harald Fischer + nested: [] + version: pinejs-15.3.17 + title: "" + date: 2023-11-23T19:26:45.288Z + - commits: + - subject: Handling typing changes of @types/pg + hash: f7520efb9e2c44ab5ae341ad8fdd635814819eb0 + body: > + rowCount can be NULL in the case of PG returning from `LOCK` + + + Refernece: + + https://github.com/DefinitelyTyped/DefinitelyTyped/pull/66990 + + https://github.com/brianc/node-postgres/pull/2967 + + + In pinejs the case is handled and as of now we don't want to populate a breaking change by transparently push the types to callers. + footer: + Change-type: patch + change-type: patch + Signed-off-by: Harald Fischer + signed-off-by: Harald Fischer + author: Harald Fischer + nested: [] + version: pinejs-15.3.16 + title: "" + date: 2023-11-09T13:56:00.178Z + - commits: + - subject: Do not force storage class on s3 upload + hash: e72ffa55f21408996c04eab44d0013bf7a3f905d + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: pinejs-15.3.15 + title: "" + date: 2023-10-25T22:46:52.289Z + - commits: + - subject: Update dependency @types/node to v20 + hash: 86536af590e8b408e9cae3ee6e30621d6e2ae97e + body: | + Update @types/node from 18.18.6 to 20.8.7 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: pinejs-15.3.14 + title: "" + date: 2023-10-24T02:14:39.535Z + version: 14.14.4 + title: "" + date: 2023-11-23T22:57:58.394Z - commits: - subject: Lock file maintenance hash: 0d77904c6730ad37c71d4c8a0f10d10987818569 diff --git a/CHANGELOG.md b/CHANGELOG.md index fdbde28cc..5bbfb7d72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,31 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.14.4 - 2023-11-23 + + +
+ Update @balena/pinejs [Harald Fischer] + +> ### pinejs-15.3.17 - 2023-11-23 +> +> * Update @balena/lint [Harald Fischer] +> +> ### pinejs-15.3.16 - 2023-11-09 +> +> * Handling typing changes of @types/pg [Harald Fischer] +> +> ### pinejs-15.3.15 - 2023-10-25 +> +> * Do not force storage class on s3 upload [Otávio Jacobi] +> +> ### pinejs-15.3.14 - 2023-10-24 +> +> * Update dependency @types/node to v20 [Self-hosted Renovate Bot] +> + +
+ ## 14.14.3 - 2023-11-13 * Lock file maintenance [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 904c3c45f..d8334656f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.14.3", + "version": "14.14.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.14.3", + "version": "14.14.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 813ed025e..b394df225 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.14.3", + "version": "14.14.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-13T01:27:41.497Z" + "publishedAt": "2023-11-23T22:58:00.114Z" } } From 75ab2def906ab10aa1212f8eb9150491c4b585b3 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Thu, 23 Nov 2023 22:59:26 +0000 Subject: [PATCH 205/221] Update dependency rate-limiter-flexible to v3 Update rate-limiter-flexible from 2.4.2 to 3.0.4 Change-type: patch --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8334656f..1c34b638a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "passport-jwt": "^4.0.1", "proxy-addr": "^2.0.7", "randomstring": "^1.2.3", - "rate-limiter-flexible": "^2.4.1", + "rate-limiter-flexible": "^3.0.0", "redlock": "^4.2.0", "request": "^2.88.2", "rsmq": "^0.12.4", @@ -10443,9 +10443,9 @@ } }, "node_modules/rate-limiter-flexible": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-2.4.2.tgz", - "integrity": "sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==" + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/rate-limiter-flexible/-/rate-limiter-flexible-3.0.4.tgz", + "integrity": "sha512-LFrdT9Pl/TRxG143frHBPyESXHvS2tstLfAUM6shBbJ3M6YssT2cIUWFwAWVAU9Vl4Z2gUN7ZE7tSdQh/0aqcA==" }, "node_modules/raw-body": { "version": "2.5.2", diff --git a/package.json b/package.json index b394df225..cb81a8381 100644 --- a/package.json +++ b/package.json @@ -105,7 +105,7 @@ "passport-jwt": "^4.0.1", "proxy-addr": "^2.0.7", "randomstring": "^1.2.3", - "rate-limiter-flexible": "^2.4.1", + "rate-limiter-flexible": "^3.0.0", "redlock": "^4.2.0", "request": "^2.88.2", "rsmq": "^0.12.4", From 50063b8b7e8c857ce181d30c829d6db7d09b7830 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 24 Nov 2023 11:57:18 +0000 Subject: [PATCH 206/221] v14.14.5 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 54362e98c..fb4aeff66 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update dependency rate-limiter-flexible to v3 + hash: 90efa8ab203694a2fb59dd0059d4d016b26318f5 + body: | + Update rate-limiter-flexible from 2.4.2 to 3.0.4 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.14.5 + title: "" + date: 2023-11-24T11:57:13.497Z - commits: - subject: Update @balena/pinejs hash: 97f3279ded5aea0a8517d1a04ec30d7a69a913a7 diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bbfb7d72..f9f0b59be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.14.5 - 2023-11-24 + +* Update dependency rate-limiter-flexible to v3 [Self-hosted Renovate Bot] + ## 14.14.4 - 2023-11-23 diff --git a/package-lock.json b/package-lock.json index 1c34b638a..91fa62202 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.14.4", + "version": "14.14.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.14.4", + "version": "14.14.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index cb81a8381..5803649c1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.14.4", + "version": "14.14.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-23T22:58:00.114Z" + "publishedAt": "2023-11-24T11:57:14.215Z" } } From 35a0b89e0f9d9db7c145f59b561723228c436945 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Fri, 24 Nov 2023 11:59:53 +0000 Subject: [PATCH 207/221] Update balena/open-balena-base Docker tag to v16.0.15 Update balena/open-balena-base from 16.0.13 to 16.0.15 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d65225454..5f58e33bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.13 as runtime +FROM balena/open-balena-base:v16.0.15 as runtime EXPOSE 80 From 6d4174b74105cd58c274e16eb11e0c3b6d830c88 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Fri, 24 Nov 2023 12:07:29 +0000 Subject: [PATCH 208/221] v14.14.6 --- .versionbot/CHANGELOG.yml | 39 +++++++++++++++++++++++++++++++++++++++ CHANGELOG.md | 17 +++++++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 60 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index fb4aeff66..e24f84145 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,42 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.15 + hash: ebbc33a9e41e8298d00dd287d153155a8b2846cd + body: | + Update balena/open-balena-base from 16.0.13 to 16.0.15 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency node to v20.10.0 + hash: c5a98cbac21692a085efd4d6118e080a1351222e + body: | + Update node from 20.9.0 to 20.10.0 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.15 + title: "" + date: 2023-11-22T16:57:59.503Z + - commits: + - subject: Update dependency npm to v10.2.4 + hash: a914500d0a42a83e73c3cf65d08749ce70d84d6d + body: | + Update npm from 10.2.3 to 10.2.4 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.14 + title: "" + date: 2023-11-15T22:00:31.166Z + version: 14.14.6 + title: "" + date: 2023-11-24T12:07:23.943Z - commits: - subject: Update dependency rate-limiter-flexible to v3 hash: 90efa8ab203694a2fb59dd0059d4d016b26318f5 diff --git a/CHANGELOG.md b/CHANGELOG.md index f9f0b59be..8639d46ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.14.6 - 2023-11-24 + + +
+ Update balena/open-balena-base Docker tag to v16.0.15 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.15 - 2023-11-22 +> +> * Update dependency node to v20.10.0 [Self-hosted Renovate Bot] +> +> ### open-balena-base-16.0.14 - 2023-11-15 +> +> * Update dependency npm to v10.2.4 [Self-hosted Renovate Bot] +> + +
+ ## 14.14.5 - 2023-11-24 * Update dependency rate-limiter-flexible to v3 [Self-hosted Renovate Bot] diff --git a/package-lock.json b/package-lock.json index 91fa62202..9c894d450 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.14.5", + "version": "14.14.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.14.5", + "version": "14.14.6", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 5803649c1..30c821b94 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.14.5", + "version": "14.14.6", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-24T11:57:14.215Z" + "publishedAt": "2023-11-24T12:07:25.701Z" } } From a207c7431554d0cb31da5f944da695b90c33b1b4 Mon Sep 17 00:00:00 2001 From: fisehara Date: Tue, 28 Nov 2023 11:41:01 +0100 Subject: [PATCH 209/221] Publish `balena/open-balena-api` for ARM64 Change-type: minor Signed-off-by: fisehara --- .github/workflows/flowzone.yml | 5 +++++ docker-bake.hcl | 8 ++++++++ 2 files changed, 13 insertions(+) create mode 100644 docker-bake.hcl diff --git a/.github/workflows/flowzone.yml b/.github/workflows/flowzone.yml index bcac97dd9..509125caa 100644 --- a/.github/workflows/flowzone.yml +++ b/.github/workflows/flowzone.yml @@ -21,5 +21,10 @@ jobs: secrets: inherit with: docker_images: balena/open-balena-api + docker_runs_on: > + { + "linux/amd64": ["self-hosted","X64"], + "linux/arm64": ["self-hosted","ARM64"] + } # This allows external PRs to run custom actions so the custom actions must be safe to run in that context restrict_custom_actions: false diff --git a/docker-bake.hcl b/docker-bake.hcl new file mode 100644 index 000000000..3514664f8 --- /dev/null +++ b/docker-bake.hcl @@ -0,0 +1,8 @@ + +target "default" { + target = "runtime" + platforms = [ + "linux/amd64", + "linux/arm64" + ] +} From fde4ed0dfc3028fe81a68d6d55b469e1e7b2d2b6 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 28 Nov 2023 10:50:37 +0000 Subject: [PATCH 210/221] v14.15.0 --- .versionbot/CHANGELOG.yml | 14 ++++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index e24f84145..5663846ed 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,17 @@ +- commits: + - subject: Publish `balena/open-balena-api` for ARM64 + hash: fa8380615f7315b5dc85ed61d5b7e0594930ceea + body: "" + footer: + Change-type: minor + change-type: minor + Signed-off-by: fisehara + signed-off-by: fisehara + author: fisehara + nested: [] + version: 14.15.0 + title: "" + date: 2023-11-28T10:50:32.427Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.15 hash: ebbc33a9e41e8298d00dd287d153155a8b2846cd diff --git a/CHANGELOG.md b/CHANGELOG.md index 8639d46ae..4abee2830 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.15.0 - 2023-11-28 + +* Publish `balena/open-balena-api` for ARM64 [fisehara] + ## 14.14.6 - 2023-11-24 diff --git a/package-lock.json b/package-lock.json index 9c894d450..41e484d36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.14.6", + "version": "14.15.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.14.6", + "version": "14.15.0", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 30c821b94..ccd3de9b5 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.14.6", + "version": "14.15.0", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-24T12:07:25.701Z" + "publishedAt": "2023-11-28T10:50:33.145Z" } } From 0a7da9a16e532a7ef92d92b7866e1da2509caa9d Mon Sep 17 00:00:00 2001 From: Thodoris Greasidis Date: Wed, 29 Nov 2023 23:59:09 +0200 Subject: [PATCH 211/221] Update TypeScript to 5.3.2 Change-type: patch --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 41e484d36..a16eff0e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -93,7 +93,7 @@ "thirty-two": "^1.0.2", "ts-node": "^10.9.1", "typed-error": "^3.2.2", - "typescript": "^5.2.2", + "typescript": "^5.3.2", "uuid": "^9.0.0", "validator": "^13.9.0" }, @@ -12005,9 +12005,9 @@ } }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", + "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" diff --git a/package.json b/package.json index ccd3de9b5..b46886117 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "thirty-two": "^1.0.2", "ts-node": "^10.9.1", "typed-error": "^3.2.2", - "typescript": "^5.2.2", + "typescript": "^5.3.2", "uuid": "^9.0.0", "validator": "^13.9.0" }, From 6d88123a96ed70a1e02055d01699f6269d2a7503 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 22:13:29 +0000 Subject: [PATCH 212/221] v14.15.1 --- .versionbot/CHANGELOG.yml | 12 ++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 5663846ed..491715c48 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,15 @@ +- commits: + - subject: Update TypeScript to 5.3.2 + hash: 91b97a16f9c8cdc56349eac14bb2fb6bc9bc470d + body: "" + footer: + Change-type: patch + change-type: patch + author: Thodoris Greasidis + nested: [] + version: 14.15.1 + title: "" + date: 2023-11-29T22:13:24.338Z - commits: - subject: Publish `balena/open-balena-api` for ARM64 hash: fa8380615f7315b5dc85ed61d5b7e0594930ceea diff --git a/CHANGELOG.md b/CHANGELOG.md index 4abee2830..56b37b577 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.15.1 - 2023-11-29 + +* Update TypeScript to 5.3.2 [Thodoris Greasidis] + ## 14.15.0 - 2023-11-28 * Publish `balena/open-balena-api` for ARM64 [fisehara] diff --git a/package-lock.json b/package-lock.json index a16eff0e2..57174bb45 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.15.0", + "version": "14.15.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.15.0", + "version": "14.15.1", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index b46886117..3343aec53 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.15.0", + "version": "14.15.1", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-28T10:50:33.145Z" + "publishedAt": "2023-11-29T22:13:25.147Z" } } From 0153e83700fe728f726c105612238a4db1fc39bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ot=C3=A1vio=20Jacobi?= Date: Thu, 30 Nov 2023 16:27:57 -0300 Subject: [PATCH 213/221] Update @balena/pinejs to 15.3.28 Update @balena/pinejs from 15.3.17 to 15.3.28 Change-type: patch --- package-lock.json | 71 ++++++++++++++++++++++++++--------------------- package.json | 2 +- 2 files changed, 41 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index 57174bb45..aec2202fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.17", + "@balena/pinejs": "^15.3.28", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", @@ -1309,9 +1309,9 @@ } }, "node_modules/@balena/odata-to-abstract-sql": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.1.3.tgz", - "integrity": "sha512-mi1juNx259UNYxFTF6gilD2NgX0xVNhBsfZmlcLbgt+/vNqk7CzRaeG3Fz63rZ3aJJv1yd88OsMzcJOLiyg+NQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@balena/odata-to-abstract-sql/-/odata-to-abstract-sql-6.2.0.tgz", + "integrity": "sha512-pQCmb6mjURcTvpu8LEqZABB6Z5WqsJtBhra9htaC6rNHhE2DKhRVSAbhtXRauBIj+Q9UDmd5hBNWo7OQdTQnaQ==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/odata-parser": "^3.0.1", @@ -1328,16 +1328,16 @@ } }, "node_modules/@balena/pinejs": { - "version": "15.3.17", - "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.17.tgz", - "integrity": "sha512-AKgB+4wN4v2DA0b1REh4IfHAII5JtNevFtJ2w2UfHk9yIJxxGwa2F6v51qbBkaEGkm/XZKMxPVC9b7DlNhGPCw==", + "version": "15.3.28", + "resolved": "https://registry.npmjs.org/@balena/pinejs/-/pinejs-15.3.28.tgz", + "integrity": "sha512-YuGL6q9HUhNhK45cxk+aq6hV2g6sO5n8ccUAHzmV5hm2Nn82Bx05GPSWACGpaJq1W6PSncgd/jcIptw2O4kXsQ==", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", "@balena/abstract-sql-to-typescript": "^2.1.1", "@balena/env-parsing": "^1.1.5", "@balena/lf-to-abstract-sql": "^5.0.0", "@balena/odata-parser": "^3.0.0", - "@balena/odata-to-abstract-sql": "^6.0.1", + "@balena/odata-to-abstract-sql": "^6.2.0", "@balena/sbvr-parser": "^1.4.3", "@balena/sbvr-types": "^6.0.0", "@types/body-parser": "^1.19.2", @@ -1348,7 +1348,7 @@ "@types/express-session": "^1.17.7", "@types/lodash": "^4.14.194", "@types/memoizee": "^0.4.8", - "@types/method-override": "^0.0.33", + "@types/method-override": "^0.0.35", "@types/multer": "^1.4.7", "@types/mysql": "^2.15.21", "@types/node": "^20.0.0", @@ -1357,9 +1357,9 @@ "@types/passport-strategy": "^0.2.35", "@types/pg": "^8.6.6", "@types/randomstring": "^1.1.8", - "@types/websql": "^0.0.28", + "@types/websql": "^0.0.30", "busboy": "^1.6.0", - "commander": "^10.0.1", + "commander": "^11.0.0", "deep-freeze": "^0.0.1", "eventemitter3": "^5.0.0", "express-session": "^1.17.3", @@ -1389,7 +1389,7 @@ "express": "^4.18.2", "method-override": "^3.0.0", "mysql": "^2.18.1", - "passport": "^0.6.0", + "passport": "^0.7.0", "passport-local": "^1.0.0", "pg": "^8.10.0", "pg-connection-string": "^2.5.0", @@ -1406,6 +1406,24 @@ "memoizee": "^0.4.15" } }, + "node_modules/@balena/pinejs/node_modules/passport": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.7.0.tgz", + "integrity": "sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==", + "optional": true, + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, "node_modules/@balena/sbvr-parser": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/@balena/sbvr-parser/-/sbvr-parser-1.4.3.tgz", @@ -3069,9 +3087,9 @@ "integrity": "sha512-2gyorIBZu8GoDr9pYjROkxWWcFtHCquF7TVbN2I+/OvgZhnIGQS0vX5KJz4lXNKb8XOSfxFOSG5OLru1ESqLUg==" }, "node_modules/@types/method-override": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/@types/method-override/-/method-override-0.0.33.tgz", - "integrity": "sha512-H6hK7AZdUOCmboTTUlhfDG3uT0XDljjrk3vIb+GJ3ylkogXu5s/NncGB85r3rtCz6sxZBWF62dlf7I04sIQA5A==", + "version": "0.0.35", + "resolved": "https://registry.npmjs.org/@types/method-override/-/method-override-0.0.35.tgz", + "integrity": "sha512-HdhM5xiIV8fwsZ3B8e9IKWJOqEgmXXBJ/qQzhs5Z8idjsszqEX4j/7/QAcso27ArZ1tSBXg2XMlI1cIHAsCTXA==", "dependencies": { "@types/express": "*" } @@ -3371,9 +3389,9 @@ "integrity": "sha512-HUgHujPhKuNzgNXBRZKYexwoG+gHKU+tnfPqjWXFghZAnn73JElicMkuSKJyLGr9JgyA8IgK7fj88IyA9rwYeQ==" }, "node_modules/@types/websql": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/@types/websql/-/websql-0.0.28.tgz", - "integrity": "sha512-9cocXIcxXowJOVIS5D0kHYQG8darHJ7JpgWeh8ESvPbGH35I5NkfF2DhRjv+Kw8URZisqlnpbMtA/whhcKrWXw==" + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/websql/-/websql-0.0.30.tgz", + "integrity": "sha512-YGh8wE/p3ZJBH/cx0S/xk5Bv2VJmT5Z9iMipjbRSXX9Mi1QWscPugmaHepBACNKX5DQC/S8wtuc0YCo/+SxrOw==" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.10.0", @@ -4773,11 +4791,11 @@ } }, "node_modules/commander": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", - "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/comment-parser": { @@ -8302,15 +8320,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/lint-staged/node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, "node_modules/lint-staged/node_modules/yaml": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", diff --git a/package.json b/package.json index 3343aec53..afd69a85a 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "@balena/env-parsing": "^1.1.5", "@balena/es-version": "^1.0.2", "@balena/node-metrics-gatherer": "^6.0.3", - "@balena/pinejs": "^15.3.17", + "@balena/pinejs": "^15.3.28", "@balena/pinejs-webresource-cloudfront": "^0.0.5", "@sentry/node": "^7.49.0", "@types/basic-auth": "^1.1.3", From 3183bc67dab6c52a3339654218f903cfdf3dae10 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 30 Nov 2023 19:40:01 +0000 Subject: [PATCH 214/221] v14.15.2 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 491715c48..748c67d57 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update @balena/pinejs to 15.3.28 Update @balena/pinejs from 15.3.17 to + 15.3.28 + hash: af2b69ad53be65d9f9ddb896a2a02893293585b2 + body: "" + footer: + Change-type: patch + change-type: patch + author: Otávio Jacobi + nested: [] + version: 14.15.2 + title: "" + date: 2023-11-30T19:39:57.253Z - commits: - subject: Update TypeScript to 5.3.2 hash: 91b97a16f9c8cdc56349eac14bb2fb6bc9bc470d diff --git a/CHANGELOG.md b/CHANGELOG.md index 56b37b577..9960a27dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.15.2 - 2023-11-30 + +* Update @balena/pinejs to 15.3.28 Update @balena/pinejs from 15.3.17 to 15.3.28 [Otávio Jacobi] + ## 14.15.1 - 2023-11-29 * Update TypeScript to 5.3.2 [Thodoris Greasidis] diff --git a/package-lock.json b/package-lock.json index aec2202fe..2b3466881 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.15.1", + "version": "14.15.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.15.1", + "version": "14.15.2", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index afd69a85a..03a895ec2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.15.1", + "version": "14.15.2", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-29T22:13:25.147Z" + "publishedAt": "2023-11-30T19:39:58.069Z" } } From f38768f1641c945398cf34d5b4ed727b5cae9d36 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 01:16:18 +0000 Subject: [PATCH 215/221] Update balena/open-balena-base Docker tag to v16.0.16 Update balena/open-balena-base from 16.0.15 to 16.0.16 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5f58e33bf..cdc0068b7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.15 as runtime +FROM balena/open-balena-base:v16.0.16 as runtime EXPOSE 80 From 7d9187a72d544fc60efee7df8c7e978045ac46e9 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Tue, 5 Dec 2023 01:25:42 +0000 Subject: [PATCH 216/221] v14.15.3 --- .versionbot/CHANGELOG.yml | 25 +++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 42 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index 748c67d57..dae26632a 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,28 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.16 + hash: 6a4a709e92e8b85889dcaa670fed923d5975bbc9 + body: | + Update balena/open-balena-base from 16.0.15 to 16.0.16 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: remove self-hosted Sentry config + hash: 3f390363034c3d9ceeacaa78c93ceee927a9aaff + body: | + * components can be manually configuired to point to SaaS Sentry + footer: + change-type: patch + author: ab77 + nested: [] + version: open-balena-base-16.0.16 + title: "" + date: 2023-12-05T00:24:26.689Z + version: 14.15.3 + title: "" + date: 2023-12-05T01:25:38.142Z - commits: - subject: Update @balena/pinejs to 15.3.28 Update @balena/pinejs from 15.3.17 to 15.3.28 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9960a27dd..9bde7c315 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.15.3 - 2023-12-05 + + +
+ Update balena/open-balena-base Docker tag to v16.0.16 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.16 - 2023-12-05 +> +> * remove self-hosted Sentry config [ab77] +> + +
+ ## 14.15.2 - 2023-11-30 * Update @balena/pinejs to 15.3.28 Update @balena/pinejs from 15.3.17 to 15.3.28 [Otávio Jacobi] diff --git a/package-lock.json b/package-lock.json index 2b3466881..7a1d6c642 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.15.2", + "version": "14.15.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.15.2", + "version": "14.15.3", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 03a895ec2..85ebd9757 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.15.2", + "version": "14.15.3", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-11-30T19:39:58.069Z" + "publishedAt": "2023-12-05T01:25:39.507Z" } } From d02761a1eacd708f6bbcc380a32f3cf0bb127189 Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Wed, 6 Dec 2023 23:52:17 +0000 Subject: [PATCH 217/221] Update balena/open-balena-base Docker tag to v16.0.17 Update balena/open-balena-base from 16.0.16 to 16.0.17 Change-type: patch --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cdc0068b7..755e3586a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM balena/open-balena-base:v16.0.16 as runtime +FROM balena/open-balena-base:v16.0.17 as runtime EXPOSE 80 From 48a1b9d802257c49914e6acb28b611bd14e1d641 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 00:02:28 +0000 Subject: [PATCH 218/221] v14.15.4 --- .versionbot/CHANGELOG.yml | 26 ++++++++++++++++++++++++++ CHANGELOG.md | 13 +++++++++++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index dae26632a..a7c05c49b 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,29 @@ +- commits: + - subject: Update balena/open-balena-base Docker tag to v16.0.17 + hash: db80657b22e8620ad4218d658cd68e65611a2c1c + body: | + Update balena/open-balena-base from 16.0.16 to 16.0.17 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: + - commits: + - subject: Update dependency npm to v10.2.5 + hash: 12dc1b4934e4a50fc68841717588b8704041b964 + body: | + Update npm from 10.2.4 to 10.2.5 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: open-balena-base-16.0.17 + title: "" + date: 2023-12-06T22:58:31.184Z + version: 14.15.4 + title: "" + date: 2023-12-07T00:02:25.067Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.16 hash: 6a4a709e92e8b85889dcaa670fed923d5975bbc9 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bde7c315..ffef76d2c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.15.4 - 2023-12-07 + + +
+ Update balena/open-balena-base Docker tag to v16.0.17 [Self-hosted Renovate Bot] + +> ### open-balena-base-16.0.17 - 2023-12-06 +> +> * Update dependency npm to v10.2.5 [Self-hosted Renovate Bot] +> + +
+ ## 14.15.3 - 2023-12-05 diff --git a/package-lock.json b/package-lock.json index 7a1d6c642..b193b6698 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.15.3", + "version": "14.15.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.15.3", + "version": "14.15.4", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index 85ebd9757..ea7a999dd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.15.3", + "version": "14.15.4", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-12-05T01:25:39.507Z" + "publishedAt": "2023-12-07T00:02:26.305Z" } } From 22bbd953fea0fc44415347d9577890598561722a Mon Sep 17 00:00:00 2001 From: Self-hosted Renovate Bot <133977723+balena-renovate[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 19:54:34 +0000 Subject: [PATCH 219/221] Update grafana/loki Docker tag to v2.9.3 Update grafana/loki from 2.9.2 to 2.9.3 Change-type: patch --- docker-compose.test-custom.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.test-custom.yml b/docker-compose.test-custom.yml index ec64bff67..81b3fb888 100644 --- a/docker-compose.test-custom.yml +++ b/docker-compose.test-custom.yml @@ -16,7 +16,7 @@ services: networks: - local-test loki: - image: grafana/loki:2.9.2 + image: grafana/loki:2.9.3 restart: "no" ports: - "9095:9095" From 58a2391c03c0b8745086ef48009030ac338d0a41 Mon Sep 17 00:00:00 2001 From: "flowzone-app[bot]" <124931076+flowzone-app[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 20:05:18 +0000 Subject: [PATCH 220/221] v14.15.5 --- .versionbot/CHANGELOG.yml | 13 +++++++++++++ CHANGELOG.md | 4 ++++ package-lock.json | 4 ++-- package.json | 4 ++-- 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/.versionbot/CHANGELOG.yml b/.versionbot/CHANGELOG.yml index a7c05c49b..af4a64dbb 100644 --- a/.versionbot/CHANGELOG.yml +++ b/.versionbot/CHANGELOG.yml @@ -1,3 +1,16 @@ +- commits: + - subject: Update grafana/loki Docker tag to v2.9.3 + hash: 91113decff4d243587dcda8b1e59235c0a7589b4 + body: | + Update grafana/loki from 2.9.2 to 2.9.3 + footer: + Change-type: patch + change-type: patch + author: Self-hosted Renovate Bot + nested: [] + version: 14.15.5 + title: "" + date: 2023-12-11T20:05:15.816Z - commits: - subject: Update balena/open-balena-base Docker tag to v16.0.17 hash: db80657b22e8620ad4218d658cd68e65611a2c1c diff --git a/CHANGELOG.md b/CHANGELOG.md index ffef76d2c..e4d516879 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to [Semantic Versioning](http://semver.org/). +## 14.15.5 - 2023-12-11 + +* Update grafana/loki Docker tag to v2.9.3 [Self-hosted Renovate Bot] + ## 14.15.4 - 2023-12-07 diff --git a/package-lock.json b/package-lock.json index b193b6698..7b0b552e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@balena/open-balena-api", - "version": "14.15.4", + "version": "14.15.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@balena/open-balena-api", - "version": "14.15.4", + "version": "14.15.5", "license": "AGPL-3.0", "dependencies": { "@balena/abstract-sql-compiler": "^9.0.3", diff --git a/package.json b/package.json index ea7a999dd..74dfa18b4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@balena/open-balena-api", "description": "Internet of things, Made Simple", - "version": "14.15.4", + "version": "14.15.5", "license": "AGPL-3.0", "repository": { "type": "git", @@ -154,6 +154,6 @@ "_": "index.js" }, "versionist": { - "publishedAt": "2023-12-07T00:02:26.305Z" + "publishedAt": "2023-12-11T20:05:16.487Z" } } From bb9254f4a7d44aed712463e3c418e915129a43f9 Mon Sep 17 00:00:00 2001 From: dcaputo-harmoni Date: Mon, 30 Oct 2023 00:29:20 -0400 Subject: [PATCH 221/221] Fix handling of release / contract param as string Change-type: patch --- src/features/ci-cd/hooks/release-versioning.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/features/ci-cd/hooks/release-versioning.ts b/src/features/ci-cd/hooks/release-versioning.ts index a27ca2829..d3676159d 100644 --- a/src/features/ci-cd/hooks/release-versioning.ts +++ b/src/features/ci-cd/hooks/release-versioning.ts @@ -164,6 +164,16 @@ hooks.addPureHook('POST', 'resin', 'release', { const custom = request.custom as CustomObjectBase; // Releases are by final by default custom.is_final ??= true; + // Handle case where contracts provided as stringified object + if (typeof request.values.contract === 'string') { + try { + request.values.contract = JSON.parse(request.values.contract); + } catch (err) { + throw new BadRequestError( + 'Invalid contract format. Must be a valid JSON object.', + ); + } + } }, POSTRUN: async ({ api, request, result: releaseId, tx }) => { const custom = request.custom as CustomObjectBase;