diff --git a/package-lock.json b/package-lock.json index ce2c873..b0b4eca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,16 +13,16 @@ "@collabland/common": "^0.50.0", "@collabland/discord": "^0.29.0", "@collabland/models": "^0.30.0", - "@loopback/core": "^5.1.0", - "@loopback/rest": "^13.1.0", + "@loopback/core": "^6.0.0", + "@loopback/rest": "^14.0.0", "discord-api-types": "^0.37.48", "discord.js": "^14.11.0", "tslib": "^2.0.0" }, "devDependencies": { - "@loopback/build": "^10.1.0", - "@loopback/eslint-config": "^14.0.1", - "@loopback/testlab": "^6.1.0", + "@loopback/build": "^11.0.0", + "@loopback/eslint-config": "^15.0.0", + "@loopback/testlab": "^7.0.0", "@types/node": "^18.11.15", "typescript": "~5.3.0" } @@ -632,6 +632,86 @@ "tweetnacl": "^1.0.3" } }, + "node_modules/@collabland/action/node_modules/@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "dependencies": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": "16 || 18 || 20" + } + }, + "node_modules/@collabland/action/node_modules/@loopback/rest": { + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", + "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", + "dependencies": { + "@loopback/express": "^6.1.5", + "@loopback/http-server": "^5.1.5", + "@loopback/openapi-v3": "^9.1.5", + "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.17", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "@types/on-finished": "^2.3.4", + "@types/serve-static": "1.15.5", + "@types/type-is": "^1.6.6", + "ajv": "^8.12.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "debug": "^4.3.4", + "express": "^4.18.2", + "http-errors": "^2.0.0", + "js-yaml": "^4.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.21", + "on-finished": "^2.4.1", + "path-to-regexp": "^6.2.1", + "qs": "^6.11.2", + "strong-error-handler": "^5.0.6", + "tslib": "^2.6.2", + "type-is": "^1.6.18", + "validator": "^13.11.0" + }, + "engines": { + "node": "16 || 18 || 20" + }, + "peerDependencies": { + "@loopback/core": "^5.0.0" + } + }, + "node_modules/@collabland/action/node_modules/@types/body-parser": { + "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/@collabland/action/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/@collabland/api-security": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/@collabland/api-security/-/api-security-0.18.0.tgz", @@ -646,6 +726,19 @@ "tslib": "^2.0.0" } }, + "node_modules/@collabland/api-security/node_modules/@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "dependencies": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": "16 || 18 || 20" + } + }, "node_modules/@collabland/common": { "version": "0.50.0", "resolved": "https://registry.npmjs.org/@collabland/common/-/common-0.50.0.tgz", @@ -728,6 +821,86 @@ "tslib": "^2.0.0" } }, + "node_modules/@collabland/component-authorization/node_modules/@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "dependencies": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": "16 || 18 || 20" + } + }, + "node_modules/@collabland/component-authorization/node_modules/@loopback/rest": { + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", + "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", + "dependencies": { + "@loopback/express": "^6.1.5", + "@loopback/http-server": "^5.1.5", + "@loopback/openapi-v3": "^9.1.5", + "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.17", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "@types/on-finished": "^2.3.4", + "@types/serve-static": "1.15.5", + "@types/type-is": "^1.6.6", + "ajv": "^8.12.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "debug": "^4.3.4", + "express": "^4.18.2", + "http-errors": "^2.0.0", + "js-yaml": "^4.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.21", + "on-finished": "^2.4.1", + "path-to-regexp": "^6.2.1", + "qs": "^6.11.2", + "strong-error-handler": "^5.0.6", + "tslib": "^2.6.2", + "type-is": "^1.6.18", + "validator": "^13.11.0" + }, + "engines": { + "node": "16 || 18 || 20" + }, + "peerDependencies": { + "@loopback/core": "^5.0.0" + } + }, + "node_modules/@collabland/component-authorization/node_modules/@types/body-parser": { + "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/@collabland/component-authorization/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/@collabland/discord": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/@collabland/discord/-/discord-0.29.0.tgz", @@ -746,11 +919,91 @@ "tslib": "^2.0.0" } }, + "node_modules/@collabland/discord/node_modules/@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "dependencies": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": "16 || 18 || 20" + } + }, + "node_modules/@collabland/discord/node_modules/@loopback/rest": { + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", + "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", + "dependencies": { + "@loopback/express": "^6.1.5", + "@loopback/http-server": "^5.1.5", + "@loopback/openapi-v3": "^9.1.5", + "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.17", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "@types/on-finished": "^2.3.4", + "@types/serve-static": "1.15.5", + "@types/type-is": "^1.6.6", + "ajv": "^8.12.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "debug": "^4.3.4", + "express": "^4.18.2", + "http-errors": "^2.0.0", + "js-yaml": "^4.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.21", + "on-finished": "^2.4.1", + "path-to-regexp": "^6.2.1", + "qs": "^6.11.2", + "strong-error-handler": "^5.0.6", + "tslib": "^2.6.2", + "type-is": "^1.6.18", + "validator": "^13.11.0" + }, + "engines": { + "node": "16 || 18 || 20" + }, + "peerDependencies": { + "@loopback/core": "^5.0.0" + } + }, + "node_modules/@collabland/discord/node_modules/@types/body-parser": { + "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/@collabland/discord/node_modules/discord-api-types": { "version": "0.37.50", "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.50.tgz", "integrity": "sha512-X4CDiMnDbA3s3RaUXWXmgAIbY1uxab3fqe3qwzg5XutR3wjqi7M3IkgQbsIBzpqBN2YWr/Qdv7JrFRqSgb4TFg==" }, + "node_modules/@collabland/discord/node_modules/qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/@collabland/models": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/@collabland/models/-/models-0.30.0.tgz", @@ -957,9 +1210,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1831,13 +2084,13 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -1880,9 +2133,9 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, "node_modules/@isaacs/cliui": { @@ -2191,23 +2444,23 @@ } }, "node_modules/@loopback/build": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/@loopback/build/-/build-10.1.5.tgz", - "integrity": "sha512-IU4rFOT5fCtenKkl776wrJUZXOwtSuIWk7OsuPBhclUoCFM+nVk/eOxG61MIGIVtI6fa3Qllg45f0SN6y5Fmlg==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@loopback/build/-/build-11.0.0.tgz", + "integrity": "sha512-+rQdAJyaxUNQhlX8R0PrijPaisaRujxtlKug5WoEl4hOBIzo03CH9WclkrdUwlyAp0wFXvafPxgB0NK9lIQm4A==", "dev": true, "dependencies": { - "@loopback/eslint-config": "^14.0.5", + "@loopback/eslint-config": "^15.0.0", "@types/mocha": "^10.0.6", - "@types/node": "^16.18.70", + "@types/node": "^16.18.86", "cross-spawn": "^7.0.3", "debug": "^4.3.4", - "eslint": "^8.51.0", + "eslint": "^8.57.0", "fs-extra": "^11.2.0", "glob": "^10.3.10", "lodash": "^4.17.21", - "mocha": "^10.2.0", + "mocha": "^10.3.0", "nyc": "^15.1.0", - "prettier": "^3.0.3", + "prettier": "^3.2.5", "rimraf": "^5.0.5", "source-map-support": "^0.5.21", "typescript": "~5.2.2" @@ -2222,19 +2475,19 @@ "lb-ttsc": "bin/compile-package.js" }, "engines": { - "node": "16 || 18 || 20" + "node": "18 || 20" } }, "node_modules/@loopback/build/node_modules/@types/node": { - "version": "16.18.70", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", - "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==", + "version": "16.18.86", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.86.tgz", + "integrity": "sha512-QMvdZf+ZTSiv7gspwhqbfB7Y5DmbYgCsUnakS8Ul9uRbJQehDKaM7SL+GbcDS003Lh7VK4YlelHsRm9HCv26eA==", "dev": true }, "node_modules/@loopback/build/node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -2295,35 +2548,271 @@ } }, "node_modules/@loopback/core": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", - "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-6.0.0.tgz", + "integrity": "sha512-L3yAa+5A2PveodzUTbEM/3Xgs6tUZ3BiCLXZ+CqYck+aNlwbMGJcVzqRdLfbwQl4U3lEdtA29bRlFfiKWN0DjQ==", "dependencies": { - "@loopback/context": "^6.1.5", + "@loopback/context": "^7.0.0", "debug": "^4.3.4", "tslib": "^2.6.2" }, "engines": { - "node": "16 || 18 || 20" + "node": "18 || 20" } }, - "node_modules/@loopback/eslint-config": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/@loopback/eslint-config/-/eslint-config-14.0.5.tgz", - "integrity": "sha512-8siWnjPzQhx016YkvFNS4Y4wyK9gR2wRCwKfIHdXcD9AwQlqPCRb4H1YagYdx3QEQ5vycW3cpTA1nwZReN2D8A==", - "dev": true, + "node_modules/@loopback/core/node_modules/@loopback/context": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/context/-/context-7.0.0.tgz", + "integrity": "sha512-Y+DRKcUGIGwbuQ86usSTn1edHXOEmNfqPAI60Qz41qPtDhTV8HocPoxhNxBn7vZX9nX7/7M3csmojsq0pWHamg==", "dependencies": { - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-eslint-plugin": "^5.1.1", - "eslint-plugin-mocha": "^10.2.0" - }, + "@loopback/metadata": "^7.0.0", + "@types/debug": "^4.1.12", + "debug": "^4.3.4", + "hyperid": "^3.2.0", + "p-event": "^4.2.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, "engines": { - "node": "16 || 18 || 20" + "node": "18 || 20" + } + }, + "node_modules/@loopback/core/node_modules/@loopback/metadata": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/metadata/-/metadata-7.0.0.tgz", + "integrity": "sha512-tyrSiRI3vtlB/qHjzj8GJLDU1ufI1/rjjVNNUKDNln+VdiqtAldgdgNiIpVnYdAO/j3MJ4P12m6NCtJVIs/KRg==", + "dependencies": { + "debug": "^4.3.4", + "lodash": "^4.17.21", + "reflect-metadata": "^0.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": "18 || 20" + } + }, + "node_modules/@loopback/eslint-config": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@loopback/eslint-config/-/eslint-config-15.0.0.tgz", + "integrity": "sha512-2cQNHWhCeOKqKm9LBHguYAqxV7PwMb7/EGEu1YDWVyiKcqXW+gduJ6oPmlbwe3CHfe4ZXwzqfhBUNU0gJMjYwQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-eslint-plugin": "^5.4.0", + "eslint-plugin-mocha": "^10.3.0" + }, + "engines": { + "node": "18 || 20" }, "peerDependencies": { - "eslint": "^8.51.0" + "eslint": "^8.57.0" + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.1.tgz", + "integrity": "sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/type-utils": "7.1.1", + "@typescript-eslint/utils": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.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": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.1.tgz", + "integrity": "sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/typescript-estree": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/scope-manager": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.1.tgz", + "integrity": "sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/type-utils": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.1.tgz", + "integrity": "sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.1.1", + "@typescript-eslint/utils": "7.1.1", + "debug": "^4.3.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": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/types": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.1.tgz", + "integrity": "sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.1.tgz", + "integrity": "sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "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" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/utils": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.1.tgz", + "integrity": "sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==", + "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": "7.1.1", + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/typescript-estree": "7.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@loopback/eslint-config/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.1.tgz", + "integrity": "sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.1.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/@loopback/eslint-config/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/@loopback/express": { @@ -2492,14 +2981,14 @@ } }, "node_modules/@loopback/rest": { - "version": "13.1.5", - "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", - "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", - "dependencies": { - "@loopback/express": "^6.1.5", - "@loopback/http-server": "^5.1.5", - "@loopback/openapi-v3": "^9.1.5", - "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-14.0.0.tgz", + "integrity": "sha512-sRea/Csj3r+yw2TjG3nWvNlmzIOKrvn8BZgd8RtcLRTIcF0tmx84jS85jcti+hICdV7/tw4JSotL/ALr0g9Z0g==", + "dependencies": { + "@loopback/express": "^7.0.0", + "@loopback/http-server": "^6.0.0", + "@loopback/openapi-v3": "^10.0.0", + "@openapi-contrib/openapi-schema-to-json-schema": "^5.1.0", "@types/body-parser": "^1.19.5", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", @@ -2515,7 +3004,7 @@ "body-parser": "^1.20.2", "cors": "^2.8.5", "debug": "^4.3.4", - "express": "^4.18.2", + "express": "^4.18.3", "http-errors": "^2.0.0", "js-yaml": "^4.1.0", "json-schema-compare": "^0.2.2", @@ -2523,16 +3012,143 @@ "on-finished": "^2.4.1", "path-to-regexp": "^6.2.1", "qs": "^6.11.2", - "strong-error-handler": "^5.0.6", + "strong-error-handler": "^5.0.7", "tslib": "^2.6.2", "type-is": "^1.6.18", "validator": "^13.11.0" }, "engines": { - "node": "16 || 18 || 20" + "node": "18 || 20" }, "peerDependencies": { - "@loopback/core": "^5.0.0" + "@loopback/core": "^6.0.0" + } + }, + "node_modules/@loopback/rest/node_modules/@loopback/express": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/express/-/express-7.0.0.tgz", + "integrity": "sha512-1HxisMnujOnxZ9qpzAqkf9AOVPQGl3dUzP1lCtF7ikTZfmNQbBqEwpJk0gvYo4bvtqTNxxiZTqnjQr28BxkSpQ==", + "dependencies": { + "@loopback/http-server": "^6.0.0", + "@types/body-parser": "^1.19.5", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "body-parser": "^1.20.2", + "debug": "^4.3.4", + "express": "^4.18.3", + "http-errors": "^2.0.0", + "on-finished": "^2.4.1", + "toposort": "^2.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": "18 || 20" + }, + "peerDependencies": { + "@loopback/core": "^6.0.0" + } + }, + "node_modules/@loopback/rest/node_modules/@loopback/filter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@loopback/filter/-/filter-5.0.0.tgz", + "integrity": "sha512-/bsb0lCEXZGwnnnljnQOFBrWq0FWkymkNqo3ccBVHOrrwGA9h4fQjYTmZHQhHO5eiLe4dCICverqZNs/ItQ0oQ==", + "peer": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": "18 || 20" + } + }, + "node_modules/@loopback/rest/node_modules/@loopback/http-server": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@loopback/http-server/-/http-server-6.0.0.tgz", + "integrity": "sha512-m3GL7thbvjM2esstV0sKe6LgFWtHU7SxAwRzYehjea+dg+pCPo1sqmxoQPTqnUAZ/kx7+NaYiOHPS1m+bezzfQ==", + "dependencies": { + "debug": "^4.3.4", + "stoppable": "^1.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "18 || 20" + } + }, + "node_modules/@loopback/rest/node_modules/@loopback/openapi-v3": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@loopback/openapi-v3/-/openapi-v3-10.0.0.tgz", + "integrity": "sha512-XjRY1exS8MREpVoG2EYiMRJlaoD2IC9DthPX281FgAxbSYJY/QOsjMjlb6Bmlo9d8MH98GO/TsHeUR2OahvIcA==", + "dependencies": { + "@loopback/repository-json-schema": "^8.0.0", + "debug": "^4.3.4", + "http-status": "^1.7.4", + "json-merge-patch": "^1.0.2", + "lodash": "^4.17.21", + "openapi3-ts": "^2.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": "18 || 20" + }, + "peerDependencies": { + "@loopback/core": "^6.0.0" + } + }, + "node_modules/@loopback/rest/node_modules/@loopback/repository": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/repository/-/repository-7.0.0.tgz", + "integrity": "sha512-cCJlY37EZmUUaa5qV/63zr0tqUNsu+spQgMIqUUZVwmBX9zRp8ZGr22+Z7BIkwgkUv3gZVgg6hxP3gmv36sCiw==", + "peer": true, + "dependencies": { + "@loopback/filter": "^5.0.0", + "@types/debug": "^4.1.12", + "debug": "^4.3.4", + "lodash": "^4.17.21", + "loopback-datasource-juggler": "^5.0.6", + "tslib": "^2.6.2" + }, + "engines": { + "node": "18 || 20" + }, + "peerDependencies": { + "@loopback/core": "^6.0.0" + } + }, + "node_modules/@loopback/rest/node_modules/@loopback/repository-json-schema": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@loopback/repository-json-schema/-/repository-json-schema-8.0.0.tgz", + "integrity": "sha512-vep4mlp17nIrcSZuPMz7C+iFskJHs5OqqADa1feHb6aAZH9skNLxEJwWHamiH/KPkl6JBnPgLvww0WD5SHr4WQ==", + "dependencies": { + "@types/json-schema": "^7.0.15", + "debug": "^4.3.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": "18 || 20" + }, + "peerDependencies": { + "@loopback/core": "^6.0.0", + "@loopback/repository": "^7.0.0" + } + }, + "node_modules/@loopback/rest/node_modules/@openapi-contrib/openapi-schema-to-json-schema": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-5.1.0.tgz", + "integrity": "sha512-MJnq+CxD8JAufiJoa8RK6D/8P45MEBe0teUi30TNoHRrI6MZRNgetK2Y2IfDXWGLTHMopb1d9GHonqlV2Yvztg==", + "dependencies": { + "@types/json-schema": "^7.0.12", + "@types/lodash": "^4.14.195", + "@types/node": "^20.4.1", + "fast-deep-equal": "^3.1.3", + "lodash": "^4.17.21", + "openapi-typescript": "^5.4.1", + "yargs": "^17.7.2" + }, + "bin": { + "openapi-schema-to-json-schema": "dist/bin.js" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/@loopback/rest/node_modules/@types/body-parser": { @@ -2544,6 +3160,27 @@ "@types/node": "*" } }, + "node_modules/@loopback/rest/node_modules/@types/node": { + "version": "20.11.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", + "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@loopback/rest/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/@loopback/rest/node_modules/qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", @@ -2558,6 +3195,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/@loopback/rest/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/@loopback/rest/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/@loopback/security": { "version": "0.10.4", "resolved": "https://registry.npmjs.org/@loopback/security/-/security-0.10.4.tgz", @@ -2589,9 +3251,9 @@ } }, "node_modules/@loopback/testlab": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@loopback/testlab/-/testlab-6.1.5.tgz", - "integrity": "sha512-UhT9WBUSjJ36+goGtNFT2gXfMjatzHuTTq5mHXOhMiRXs8z/H30fxW+BGVyjUD88OlL1msJmQC8B7iwdVwOpnw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/testlab/-/testlab-7.0.0.tgz", + "integrity": "sha512-mC8u92bNFIjJ5c8ShsHiACXwvwNhEdQbVDEC8L738S3l0zP7CV0EYhfZ54i8YnH3dFB/kluGz9ftYofXT+se9Q==", "dev": true, "dependencies": { "@hapi/shot": "^6.0.1", @@ -2600,7 +3262,7 @@ "@types/shot": "^4.0.5", "@types/sinon": "^17.0.3", "@types/supertest": "^2.0.16", - "express": "^4.18.2", + "express": "^4.18.3", "fs-extra": "^11.2.0", "oas-validator": "^5.0.8", "should": "^13.2.3", @@ -2609,7 +3271,7 @@ "tslib": "^2.6.2" }, "engines": { - "node": "16 || 18 || 20" + "node": "18 || 20" } }, "node_modules/@nodelib/fs.scandir": { @@ -3034,247 +3696,58 @@ }, "node_modules/@types/sinon": { "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", - "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "@types/cookiejar": "*", - "@types/node": "*" - } - }, - "node_modules/@types/supertest": { - "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/type-is": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/@types/type-is/-/type-is-1.6.6.tgz", - "integrity": "sha512-fs1KHv/f9OvmTMsu4sBNaUu32oyda9Y9uK25naJG8gayxNrfqGIjPQsbLIYyfe7xFkppnPlJB+BuTldOaX9bXw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/validator": { - "version": "13.11.1", - "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.1.tgz", - "integrity": "sha512-d/MUkJYdOeKycmm75Arql4M5+UuXmf4cHdHKsyw1GcvnNgL6s77UkgSgJ8TE/rI5PYsnwYq5jkcWBLuN/MpQ1A==", - "peer": true - }, - "node_modules/@types/ws": { - "version": "8.5.5", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", - "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz", - "integrity": "sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/type-utils": "6.14.0", - "@typescript-eslint/utils": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", - "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/@typescript-eslint/parser": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.14.0.tgz", - "integrity": "sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", - "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/@typescript-eslint/scope-manager": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz", - "integrity": "sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz", - "integrity": "sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/utils": "6.14.0", - "debug": "^4.3.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": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", + "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", + "dev": true, + "dependencies": { + "@types/sinonjs__fake-timers": "*" } }, - "node_modules/@typescript-eslint/types": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.14.0.tgz", - "integrity": "sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==", + "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==", + "dev": true + }, + "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==", "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "dependencies": { + "@types/cookiejar": "*", + "@types/node": "*" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz", - "integrity": "sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==", + "node_modules/@types/supertest": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.16.tgz", + "integrity": "sha512-6c2ogktZ06tr2ENoZivgm7YnprnhYE4ZoXGMY+oA7IuAf17M8FWvujXZGmxLv8y0PTyts4x5A+erSwVUFA8XSg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", - "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": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@types/superagent": "*" } }, - "node_modules/@typescript-eslint/utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.14.0.tgz", - "integrity": "sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==", - "dev": true, + "node_modules/@types/type-is": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@types/type-is/-/type-is-1.6.6.tgz", + "integrity": "sha512-fs1KHv/f9OvmTMsu4sBNaUu32oyda9Y9uK25naJG8gayxNrfqGIjPQsbLIYyfe7xFkppnPlJB+BuTldOaX9bXw==", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", - "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" + "@types/node": "*" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz", - "integrity": "sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==", - "dev": true, + "node_modules/@types/validator": { + "version": "13.11.1", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.1.tgz", + "integrity": "sha512-d/MUkJYdOeKycmm75Arql4M5+UuXmf4cHdHKsyw1GcvnNgL6s77UkgSgJ8TE/rI5PYsnwYq5jkcWBLuN/MpQ1A==", + "peer": true + }, + "node_modules/@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", "dependencies": { - "@typescript-eslint/types": "6.14.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "@types/node": "*" } }, "node_modules/@ungap/structured-clone": { @@ -4609,7 +5082,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, "engines": { "node": ">=6" } @@ -4632,16 +5104,16 @@ } }, "node_modules/eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -4687,9 +5159,9 @@ } }, "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==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -4699,9 +5171,9 @@ } }, "node_modules/eslint-plugin-eslint-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.1.1.tgz", - "integrity": "sha512-4MGDsG505Ot2TSDSYxFL0cpDo4Y+t6hKB8cfZw9Jx484VjXWDfiYC/A6cccWFtWoOOC0j+wGgQIIb11cdIAMBg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.4.0.tgz", + "integrity": "sha512-79izqWfmWmvGEWse5rZQlrcqPp34g07ZE1AyzbB8qnS8dnxJvc4vltGT6xuYIPvpQoQECzW5bGeD4BvOxUYvBA==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", @@ -4715,9 +5187,9 @@ } }, "node_modules/eslint-plugin-mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz", - "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.3.0.tgz", + "integrity": "sha512-IWzbg2K6B1Q7h37Ih4zMyW+nhmw1JvUlHlbCUUUu6PfOOAUGCB0gxmvv7/U+TQQ6e8yHUv+q7KMdIIum4bx+PA==", "dev": true, "dependencies": { "eslint-utils": "^3.0.0", @@ -4995,13 +5467,13 @@ } }, "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -5035,29 +5507,6 @@ "node": ">= 0.10.0" } }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -5076,20 +5525,6 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -5798,9 +6233,9 @@ } }, "node_modules/http-status": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.7.3.tgz", - "integrity": "sha512-GS8tL1qHT2nBCMJDYMHGkkkKQLNkIAHz37vgO68XKvzv+XyqB4oh/DfmMHdtRzfqSJPj1xKG2TaELZtlCz6BEQ==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.7.4.tgz", + "integrity": "sha512-c2qSwNtTlHVYAhMj9JpGdyo0No/+DiKXCJ9pHtZ2Yf3QmPnBIytKSRT7BuyIiQ7icXLynavGmxUqkOjSrAuMuA==", "engines": { "node": ">= 0.4.0" } @@ -5832,14 +6267,38 @@ } }, "node_modules/hyperid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.1.1.tgz", - "integrity": "sha512-RveV33kIksycSf7HLkq1sHB5wW0OwuX8ot8MYnY++gaaPXGFfKpBncHrAWxdpuEeRlazUMGWefwP1w6o6GaumA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.2.0.tgz", + "integrity": "sha512-PdTtDo+Rmza9nEhTunaDSUKwbC69TIzLEpZUwiB6f+0oqmY0UPfhyHCPt6K1NQ4WFv5yJBTG5vELztVWP+nEVQ==", "dependencies": { + "buffer": "^5.2.1", "uuid": "^8.3.2", "uuid-parse": "^1.1.0" } }, + "node_modules/hyperid/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/hyperid/node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -5921,12 +6380,12 @@ } }, "node_modules/inflection": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", - "integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==", - "engines": [ - "node >= 0.4.0" - ] + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-3.0.0.tgz", + "integrity": "sha512-1zEJU1l19SgJlmwqsEyFTbScw/tkMHFenUo//Y0i+XEP83gDFdMvPizAD/WGcE+l1ku12PcTVHQhO6g5E0UCMw==", + "engines": { + "node": ">=18.0.0" + } }, "node_modules/inflight": { "version": "1.0.6", @@ -6480,9 +6939,9 @@ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "node_modules/loopback-connector": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-6.1.0.tgz", - "integrity": "sha512-BZOeO0EBKGVEfkZjeWm2y6BT9/J0BcDPK2mtlZDMNNCxe+LpPqiBghOkD2D2cze3TShSYYBAX7IAoyRiqDdMZA==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-6.1.2.tgz", + "integrity": "sha512-v+spQuMz2Sk0peLP59lfkpwfNS34/mnJPoqxxYtv/pcG9A01nvTbc5W+ecuyKjjBT/Y6qptjgZ9203AT7jO5tQ==", "dependencies": { "async": "^3.2.5", "bluebird": "^3.7.2", @@ -6496,22 +6955,22 @@ } }, "node_modules/loopback-datasource-juggler": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-5.0.4.tgz", - "integrity": "sha512-zAXNiygA5IcPoVurnNrW82TgvYwrgQv6y8tDNziGTQfb+ZSQDub97U5vi9AdJQmCEo/j5vDvvEqg31Crr2H69g==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-5.0.6.tgz", + "integrity": "sha512-I5hyA5erOlIlKbCiZGgUDahWt3KXJZTELKNdWlRpshogHcbxAXOHhbhWd67JM9h8B2Pjy2b7EjEFooFh6Wv4nA==", "dependencies": { "async": "^3.2.5", "change-case": "^4.1.2", "debug": "^4.3.4", "depd": "^2.0.0", - "inflection": "^1.13.4", + "inflection": "^3.0.0", "lodash": "^4.17.21", - "loopback-connector": "^6.1.0", + "loopback-connector": "^6.1.1", "minimatch": "^9.0.3", "nanoid": "^3.3.7", "qs": "^6.11.2", "strong-globalize": "^6.0.6", - "traverse": "^0.6.7", + "traverse": "^0.6.8", "uuid": "^9.0.1" }, "engines": { @@ -6763,9 +7222,9 @@ } }, "node_modules/mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", + "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", "dev": true, "dependencies": { "ansi-colors": "4.1.1", @@ -6775,13 +7234,12 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -6796,54 +7254,27 @@ }, "engines": { "node": ">= 14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" } }, "node_modules/mocha/node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "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" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "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/minimatch": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", @@ -6862,18 +7293,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "node_modules/mocha/node_modules/nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -8871,9 +9290,9 @@ } }, "node_modules/strong-error-handler": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-5.0.6.tgz", - "integrity": "sha512-WN3d13kl/ZTxTqJYChZzwHWmpQSBPcHBd8Vv3+XA/J+nYBBC6mu+oO4v+yEnPstVt/YYZRbpqJTSAYvk1jI46g==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-5.0.7.tgz", + "integrity": "sha512-iA3/Wvk6smS8ark3cFp6RXnszGqA5Zw68ezVE8vyKwhYVkOIHUfjAyHaIWHT1YG4M2DqDkcz9InvKOko4ti3jw==", "dependencies": { "accepts": "^1.3.8", "debug": "^4.3.4", @@ -9300,6 +9719,11 @@ "node": ">=14.0" } }, + "node_modules/undici-types": { + "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/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -9485,7 +9909,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", @@ -9576,7 +9999,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "engines": { "node": ">=10" } @@ -10197,6 +10619,73 @@ "ethers": "^5.7.0", "tslib": "^2.0.0", "tweetnacl": "^1.0.3" + }, + "dependencies": { + "@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "requires": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + } + }, + "@loopback/rest": { + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", + "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", + "requires": { + "@loopback/express": "^6.1.5", + "@loopback/http-server": "^5.1.5", + "@loopback/openapi-v3": "^9.1.5", + "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.17", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "@types/on-finished": "^2.3.4", + "@types/serve-static": "1.15.5", + "@types/type-is": "^1.6.6", + "ajv": "^8.12.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "debug": "^4.3.4", + "express": "^4.18.2", + "http-errors": "^2.0.0", + "js-yaml": "^4.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.21", + "on-finished": "^2.4.1", + "path-to-regexp": "^6.2.1", + "qs": "^6.11.2", + "strong-error-handler": "^5.0.6", + "tslib": "^2.6.2", + "type-is": "^1.6.18", + "validator": "^13.11.0" + } + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "requires": { + "side-channel": "^1.0.4" + } + } } }, "@collabland/api-security": { @@ -10211,6 +10700,18 @@ "@loopback/core": "^5.1.4", "@loopback/security": "^0.10.4", "tslib": "^2.0.0" + }, + "dependencies": { + "@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "requires": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + } + } } }, "@collabland/common": { @@ -10263,21 +10764,88 @@ } } }, - "@collabland/component-authorization": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@collabland/component-authorization/-/component-authorization-0.19.0.tgz", - "integrity": "sha512-Pl//mONkhX+2jFa9XpKUyy2pZQQuOEsWj0PKan8oSEP9HxJUM0wVhI+cZErJA/ziBkujK7J26odhIRlTo/RKpQ==", - "requires": { - "@collabland/api-security": "^0.18.0", - "@collabland/common": "^0.50.0", - "@collabland/models": "^0.30.0", - "@loopback/authentication": "^10.1.4", - "@loopback/authorization": "^0.14.4", - "@loopback/core": "^5.1.4", - "@loopback/rest": "^13.1.4", - "tslib": "^2.0.0" - } - }, + "@collabland/component-authorization": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@collabland/component-authorization/-/component-authorization-0.19.0.tgz", + "integrity": "sha512-Pl//mONkhX+2jFa9XpKUyy2pZQQuOEsWj0PKan8oSEP9HxJUM0wVhI+cZErJA/ziBkujK7J26odhIRlTo/RKpQ==", + "requires": { + "@collabland/api-security": "^0.18.0", + "@collabland/common": "^0.50.0", + "@collabland/models": "^0.30.0", + "@loopback/authentication": "^10.1.4", + "@loopback/authorization": "^0.14.4", + "@loopback/core": "^5.1.4", + "@loopback/rest": "^13.1.4", + "tslib": "^2.0.0" + }, + "dependencies": { + "@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "requires": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + } + }, + "@loopback/rest": { + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", + "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", + "requires": { + "@loopback/express": "^6.1.5", + "@loopback/http-server": "^5.1.5", + "@loopback/openapi-v3": "^9.1.5", + "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.17", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "@types/on-finished": "^2.3.4", + "@types/serve-static": "1.15.5", + "@types/type-is": "^1.6.6", + "ajv": "^8.12.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "debug": "^4.3.4", + "express": "^4.18.2", + "http-errors": "^2.0.0", + "js-yaml": "^4.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.21", + "on-finished": "^2.4.1", + "path-to-regexp": "^6.2.1", + "qs": "^6.11.2", + "strong-error-handler": "^5.0.6", + "tslib": "^2.6.2", + "type-is": "^1.6.18", + "validator": "^13.11.0" + } + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "requires": { + "side-channel": "^1.0.4" + } + } + } + }, "@collabland/discord": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/@collabland/discord/-/discord-0.29.0.tgz", @@ -10296,10 +10864,75 @@ "tslib": "^2.0.0" }, "dependencies": { + "@loopback/core": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", + "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "requires": { + "@loopback/context": "^6.1.5", + "debug": "^4.3.4", + "tslib": "^2.6.2" + } + }, + "@loopback/rest": { + "version": "13.1.5", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", + "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", + "requires": { + "@loopback/express": "^6.1.5", + "@loopback/http-server": "^5.1.5", + "@loopback/openapi-v3": "^9.1.5", + "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "@types/body-parser": "^1.19.5", + "@types/cors": "^2.8.17", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "@types/on-finished": "^2.3.4", + "@types/serve-static": "1.15.5", + "@types/type-is": "^1.6.6", + "ajv": "^8.12.0", + "ajv-errors": "^3.0.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0", + "body-parser": "^1.20.2", + "cors": "^2.8.5", + "debug": "^4.3.4", + "express": "^4.18.2", + "http-errors": "^2.0.0", + "js-yaml": "^4.1.0", + "json-schema-compare": "^0.2.2", + "lodash": "^4.17.21", + "on-finished": "^2.4.1", + "path-to-regexp": "^6.2.1", + "qs": "^6.11.2", + "strong-error-handler": "^5.0.6", + "tslib": "^2.6.2", + "type-is": "^1.6.18", + "validator": "^13.11.0" + } + }, + "@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, "discord-api-types": { "version": "0.37.50", "resolved": "https://registry.npmjs.org/discord-api-types/-/discord-api-types-0.37.50.tgz", "integrity": "sha512-X4CDiMnDbA3s3RaUXWXmgAIbY1uxab3fqe3qwzg5XutR3wjqi7M3IkgQbsIBzpqBN2YWr/Qdv7JrFRqSgb4TFg==" + }, + "qs": { + "version": "6.11.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", + "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "requires": { + "side-channel": "^1.0.4" + } } } }, @@ -10479,9 +11112,9 @@ } }, "@eslint/js": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", - "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true }, "@ethersproject/abi": { @@ -11009,13 +11642,13 @@ } }, "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "dependencies": { @@ -11047,9 +11680,9 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, "@isaacs/cliui": { @@ -11274,38 +11907,38 @@ } }, "@loopback/build": { - "version": "10.1.5", - "resolved": "https://registry.npmjs.org/@loopback/build/-/build-10.1.5.tgz", - "integrity": "sha512-IU4rFOT5fCtenKkl776wrJUZXOwtSuIWk7OsuPBhclUoCFM+nVk/eOxG61MIGIVtI6fa3Qllg45f0SN6y5Fmlg==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@loopback/build/-/build-11.0.0.tgz", + "integrity": "sha512-+rQdAJyaxUNQhlX8R0PrijPaisaRujxtlKug5WoEl4hOBIzo03CH9WclkrdUwlyAp0wFXvafPxgB0NK9lIQm4A==", "dev": true, "requires": { - "@loopback/eslint-config": "^14.0.5", + "@loopback/eslint-config": "^15.0.0", "@types/mocha": "^10.0.6", - "@types/node": "^16.18.70", + "@types/node": "^16.18.86", "cross-spawn": "^7.0.3", "debug": "^4.3.4", - "eslint": "^8.51.0", + "eslint": "^8.57.0", "fs-extra": "^11.2.0", "glob": "^10.3.10", "lodash": "^4.17.21", - "mocha": "^10.2.0", + "mocha": "^10.3.0", "nyc": "^15.1.0", - "prettier": "^3.0.3", + "prettier": "^3.2.5", "rimraf": "^5.0.5", "source-map-support": "^0.5.21", "typescript": "~5.2.2" }, "dependencies": { "@types/node": { - "version": "16.18.70", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.70.tgz", - "integrity": "sha512-8eIk20G5VVVQNZNouHjLA2b8utE2NvGybLjMaF4lyhA9uhGwnmXF8o+icdXKGSQSNANJewXva/sFUoZLwAaYAg==", + "version": "16.18.86", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.86.tgz", + "integrity": "sha512-QMvdZf+ZTSiv7gspwhqbfB7Y5DmbYgCsUnakS8Ul9uRbJQehDKaM7SL+GbcDS003Lh7VK4YlelHsRm9HCv26eA==", "dev": true }, "prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true }, "rimraf": { @@ -11340,26 +11973,165 @@ } }, "@loopback/core": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/@loopback/core/-/core-5.1.5.tgz", - "integrity": "sha512-S/461nALyCFv252bgjbq4qP3x8gfHAw4xvQf+Bz8786mZrOC7ulAIDfVlndrTlXLkto/3sLueRAz4hlN3fCAYg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@loopback/core/-/core-6.0.0.tgz", + "integrity": "sha512-L3yAa+5A2PveodzUTbEM/3Xgs6tUZ3BiCLXZ+CqYck+aNlwbMGJcVzqRdLfbwQl4U3lEdtA29bRlFfiKWN0DjQ==", "requires": { - "@loopback/context": "^6.1.5", + "@loopback/context": "^7.0.0", "debug": "^4.3.4", "tslib": "^2.6.2" + }, + "dependencies": { + "@loopback/context": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/context/-/context-7.0.0.tgz", + "integrity": "sha512-Y+DRKcUGIGwbuQ86usSTn1edHXOEmNfqPAI60Qz41qPtDhTV8HocPoxhNxBn7vZX9nX7/7M3csmojsq0pWHamg==", + "requires": { + "@loopback/metadata": "^7.0.0", + "@types/debug": "^4.1.12", + "debug": "^4.3.4", + "hyperid": "^3.2.0", + "p-event": "^4.2.0", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + } + }, + "@loopback/metadata": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/metadata/-/metadata-7.0.0.tgz", + "integrity": "sha512-tyrSiRI3vtlB/qHjzj8GJLDU1ufI1/rjjVNNUKDNln+VdiqtAldgdgNiIpVnYdAO/j3MJ4P12m6NCtJVIs/KRg==", + "requires": { + "debug": "^4.3.4", + "lodash": "^4.17.21", + "reflect-metadata": "^0.2.1", + "tslib": "^2.6.2" + } + } } }, "@loopback/eslint-config": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/@loopback/eslint-config/-/eslint-config-14.0.5.tgz", - "integrity": "sha512-8siWnjPzQhx016YkvFNS4Y4wyK9gR2wRCwKfIHdXcD9AwQlqPCRb4H1YagYdx3QEQ5vycW3cpTA1nwZReN2D8A==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@loopback/eslint-config/-/eslint-config-15.0.0.tgz", + "integrity": "sha512-2cQNHWhCeOKqKm9LBHguYAqxV7PwMb7/EGEu1YDWVyiKcqXW+gduJ6oPmlbwe3CHfe4ZXwzqfhBUNU0gJMjYwQ==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "^6.8.0", - "@typescript-eslint/parser": "^6.8.0", - "eslint-config-prettier": "^9.0.0", - "eslint-plugin-eslint-plugin": "^5.1.1", - "eslint-plugin-mocha": "^10.2.0" + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-eslint-plugin": "^5.4.0", + "eslint-plugin-mocha": "^10.3.0" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.1.tgz", + "integrity": "sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/type-utils": "7.1.1", + "@typescript-eslint/utils": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.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" + } + }, + "@typescript-eslint/parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.1.tgz", + "integrity": "sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/typescript-estree": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.1.tgz", + "integrity": "sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.1.tgz", + "integrity": "sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "7.1.1", + "@typescript-eslint/utils": "7.1.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/types": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.1.tgz", + "integrity": "sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.1.tgz", + "integrity": "sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/visitor-keys": "7.1.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/utils": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.1.tgz", + "integrity": "sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "7.1.1", + "@typescript-eslint/types": "7.1.1", + "@typescript-eslint/typescript-estree": "7.1.1", + "semver": "^7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.1.tgz", + "integrity": "sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "7.1.1", + "eslint-visitor-keys": "^3.4.1" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "@loopback/express": { @@ -11482,14 +12254,14 @@ } }, "@loopback/rest": { - "version": "13.1.5", - "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-13.1.5.tgz", - "integrity": "sha512-gtjaXxVFTsFldjWcvt+165Fmsgmbn/TNJk16E1lVvu5hA5/4BNDDkbexe1JSU+/+gVhY9z4okF+p2D9VnOL8lA==", - "requires": { - "@loopback/express": "^6.1.5", - "@loopback/http-server": "^5.1.5", - "@loopback/openapi-v3": "^9.1.5", - "@openapi-contrib/openapi-schema-to-json-schema": "^4.0.5", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@loopback/rest/-/rest-14.0.0.tgz", + "integrity": "sha512-sRea/Csj3r+yw2TjG3nWvNlmzIOKrvn8BZgd8RtcLRTIcF0tmx84jS85jcti+hICdV7/tw4JSotL/ALr0g9Z0g==", + "requires": { + "@loopback/express": "^7.0.0", + "@loopback/http-server": "^6.0.0", + "@loopback/openapi-v3": "^10.0.0", + "@openapi-contrib/openapi-schema-to-json-schema": "^5.1.0", "@types/body-parser": "^1.19.5", "@types/cors": "^2.8.17", "@types/express": "^4.17.21", @@ -11505,7 +12277,7 @@ "body-parser": "^1.20.2", "cors": "^2.8.5", "debug": "^4.3.4", - "express": "^4.18.2", + "express": "^4.18.3", "http-errors": "^2.0.0", "js-yaml": "^4.1.0", "json-schema-compare": "^0.2.2", @@ -11513,12 +12285,102 @@ "on-finished": "^2.4.1", "path-to-regexp": "^6.2.1", "qs": "^6.11.2", - "strong-error-handler": "^5.0.6", + "strong-error-handler": "^5.0.7", "tslib": "^2.6.2", "type-is": "^1.6.18", "validator": "^13.11.0" }, "dependencies": { + "@loopback/express": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/express/-/express-7.0.0.tgz", + "integrity": "sha512-1HxisMnujOnxZ9qpzAqkf9AOVPQGl3dUzP1lCtF7ikTZfmNQbBqEwpJk0gvYo4bvtqTNxxiZTqnjQr28BxkSpQ==", + "requires": { + "@loopback/http-server": "^6.0.0", + "@types/body-parser": "^1.19.5", + "@types/express": "^4.17.21", + "@types/express-serve-static-core": "^4.17.37", + "@types/http-errors": "^2.0.4", + "body-parser": "^1.20.2", + "debug": "^4.3.4", + "express": "^4.18.3", + "http-errors": "^2.0.0", + "on-finished": "^2.4.1", + "toposort": "^2.0.2", + "tslib": "^2.6.2" + } + }, + "@loopback/filter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@loopback/filter/-/filter-5.0.0.tgz", + "integrity": "sha512-/bsb0lCEXZGwnnnljnQOFBrWq0FWkymkNqo3ccBVHOrrwGA9h4fQjYTmZHQhHO5eiLe4dCICverqZNs/ItQ0oQ==", + "peer": true, + "requires": { + "tslib": "^2.6.2" + } + }, + "@loopback/http-server": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@loopback/http-server/-/http-server-6.0.0.tgz", + "integrity": "sha512-m3GL7thbvjM2esstV0sKe6LgFWtHU7SxAwRzYehjea+dg+pCPo1sqmxoQPTqnUAZ/kx7+NaYiOHPS1m+bezzfQ==", + "requires": { + "debug": "^4.3.4", + "stoppable": "^1.1.0", + "tslib": "^2.6.2" + } + }, + "@loopback/openapi-v3": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@loopback/openapi-v3/-/openapi-v3-10.0.0.tgz", + "integrity": "sha512-XjRY1exS8MREpVoG2EYiMRJlaoD2IC9DthPX281FgAxbSYJY/QOsjMjlb6Bmlo9d8MH98GO/TsHeUR2OahvIcA==", + "requires": { + "@loopback/repository-json-schema": "^8.0.0", + "debug": "^4.3.4", + "http-status": "^1.7.4", + "json-merge-patch": "^1.0.2", + "lodash": "^4.17.21", + "openapi3-ts": "^2.0.2", + "tslib": "^2.6.2" + } + }, + "@loopback/repository": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/repository/-/repository-7.0.0.tgz", + "integrity": "sha512-cCJlY37EZmUUaa5qV/63zr0tqUNsu+spQgMIqUUZVwmBX9zRp8ZGr22+Z7BIkwgkUv3gZVgg6hxP3gmv36sCiw==", + "peer": true, + "requires": { + "@loopback/filter": "^5.0.0", + "@types/debug": "^4.1.12", + "debug": "^4.3.4", + "lodash": "^4.17.21", + "loopback-datasource-juggler": "^5.0.6", + "tslib": "^2.6.2" + } + }, + "@loopback/repository-json-schema": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@loopback/repository-json-schema/-/repository-json-schema-8.0.0.tgz", + "integrity": "sha512-vep4mlp17nIrcSZuPMz7C+iFskJHs5OqqADa1feHb6aAZH9skNLxEJwWHamiH/KPkl6JBnPgLvww0WD5SHr4WQ==", + "requires": { + "@types/json-schema": "^7.0.15", + "debug": "^4.3.4", + "tslib": "^2.6.2" + } + }, + "@openapi-contrib/openapi-schema-to-json-schema": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@openapi-contrib/openapi-schema-to-json-schema/-/openapi-schema-to-json-schema-5.1.0.tgz", + "integrity": "sha512-MJnq+CxD8JAufiJoa8RK6D/8P45MEBe0teUi30TNoHRrI6MZRNgetK2Y2IfDXWGLTHMopb1d9GHonqlV2Yvztg==", + "requires": { + "@types/json-schema": "^7.0.12", + "@types/lodash": "^4.14.195", + "@types/node": "^20.4.1", + "fast-deep-equal": "^3.1.3", + "lodash": "^4.17.21", + "openapi-typescript": "^5.4.1", + "yargs": "^17.7.2" + } + }, "@types/body-parser": { "version": "1.19.5", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", @@ -11528,6 +12390,24 @@ "@types/node": "*" } }, + "@types/node": { + "version": "20.11.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", + "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", + "requires": { + "undici-types": "~5.26.4" + } + }, + "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==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, "qs": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", @@ -11535,6 +12415,25 @@ "requires": { "side-channel": "^1.0.4" } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "requires": { + "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" + } + }, + "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==" } } }, @@ -11557,9 +12456,9 @@ } }, "@loopback/testlab": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@loopback/testlab/-/testlab-6.1.5.tgz", - "integrity": "sha512-UhT9WBUSjJ36+goGtNFT2gXfMjatzHuTTq5mHXOhMiRXs8z/H30fxW+BGVyjUD88OlL1msJmQC8B7iwdVwOpnw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@loopback/testlab/-/testlab-7.0.0.tgz", + "integrity": "sha512-mC8u92bNFIjJ5c8ShsHiACXwvwNhEdQbVDEC8L738S3l0zP7CV0EYhfZ54i8YnH3dFB/kluGz9ftYofXT+se9Q==", "dev": true, "requires": { "@hapi/shot": "^6.0.1", @@ -11568,7 +12467,7 @@ "@types/shot": "^4.0.5", "@types/sinon": "^17.0.3", "@types/supertest": "^2.0.16", - "express": "^4.18.2", + "express": "^4.18.3", "fs-extra": "^11.2.0", "oas-validator": "^5.0.8", "should": "^13.2.3", @@ -12035,106 +12934,6 @@ "@types/node": "*" } }, - "@typescript-eslint/eslint-plugin": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.14.0.tgz", - "integrity": "sha512-1ZJBykBCXaSHG94vMMKmiHoL0MhNHKSVlcHVYZNw+BKxufhqQVTOawNpwwI1P5nIFZ/4jLVop0mcY6mJJDFNaw==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/type-utils": "6.14.0", - "@typescript-eslint/utils": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", - "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" - } - }, - "@typescript-eslint/parser": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.14.0.tgz", - "integrity": "sha512-QjToC14CKacd4Pa7JK4GeB/vHmWFJckec49FR4hmIRf97+KXole0T97xxu9IFiPxVQ1DBWrQ5wreLwAGwWAVQA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", - "debug": "^4.3.4" - } - }, - "@typescript-eslint/scope-manager": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.14.0.tgz", - "integrity": "sha512-VT7CFWHbZipPncAZtuALr9y3EuzY1b1t1AEkIq2bTXUPKw+pHoXflGNG5L+Gv6nKul1cz1VH8fz16IThIU0tdg==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0" - } - }, - "@typescript-eslint/type-utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.14.0.tgz", - "integrity": "sha512-x6OC9Q7HfYKqjnuNu5a7kffIYs3No30isapRBJl1iCHLitD8O0lFbRcVGiOcuyN837fqXzPZ1NS10maQzZMKqw==", - "dev": true, - "requires": { - "@typescript-eslint/typescript-estree": "6.14.0", - "@typescript-eslint/utils": "6.14.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/types": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.14.0.tgz", - "integrity": "sha512-uty9H2K4Xs8E47z3SnXEPRNDfsis8JO27amp2GNCnzGETEW3yTqEIVg5+AI7U276oGF/tw6ZA+UesxeQ104ceA==", - "dev": true - }, - "@typescript-eslint/typescript-estree": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.14.0.tgz", - "integrity": "sha512-yPkaLwK0yH2mZKFE/bXkPAkkFgOv15GJAUzgUVonAbv0Hr4PK/N2yaA/4XQbTZQdygiDkpt5DkxPELqHguNvyw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/visitor-keys": "6.14.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - } - }, - "@typescript-eslint/utils": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.14.0.tgz", - "integrity": "sha512-XwRTnbvRr7Ey9a1NT6jqdKX8y/atWG+8fAIu3z73HSP8h06i3r/ClMhmaF/RGWGW1tHJEwij1uEg2GbEmPYvYg==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.14.0", - "@typescript-eslint/types": "6.14.0", - "@typescript-eslint/typescript-estree": "6.14.0", - "semver": "^7.5.4" - } - }, - "@typescript-eslint/visitor-keys": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.14.0.tgz", - "integrity": "sha512-fB5cw6GRhJUz03MrROVuj5Zm/Q+XWlVdIsFj+Zb1Hvqouc8t+XP2H5y53QYU/MGtd2dPg6/vJJlhoX3xc2ehfw==", - "dev": true, - "requires": { - "@typescript-eslint/types": "6.14.0", - "eslint-visitor-keys": "^3.4.1" - } - }, "@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", @@ -13182,8 +13981,7 @@ "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-html": { "version": "1.0.3", @@ -13197,16 +13995,16 @@ "dev": true }, "eslint": { - "version": "8.55.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", - "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.55.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -13292,16 +14090,16 @@ } }, "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==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "requires": {} }, "eslint-plugin-eslint-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.1.1.tgz", - "integrity": "sha512-4MGDsG505Ot2TSDSYxFL0cpDo4Y+t6hKB8cfZw9Jx484VjXWDfiYC/A6cccWFtWoOOC0j+wGgQIIb11cdIAMBg==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-eslint-plugin/-/eslint-plugin-eslint-plugin-5.4.0.tgz", + "integrity": "sha512-79izqWfmWmvGEWse5rZQlrcqPp34g07ZE1AyzbB8qnS8dnxJvc4vltGT6xuYIPvpQoQECzW5bGeD4BvOxUYvBA==", "dev": true, "requires": { "eslint-utils": "^3.0.0", @@ -13309,9 +14107,9 @@ } }, "eslint-plugin-mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.2.0.tgz", - "integrity": "sha512-ZhdxzSZnd1P9LqDPF0DBcFLpRIGdh1zkF2JHnQklKQOvrQtT73kdP5K9V2mzvbLR+cCAO9OI48NXK/Ax9/ciCQ==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-mocha/-/eslint-plugin-mocha-10.3.0.tgz", + "integrity": "sha512-IWzbg2K6B1Q7h37Ih4zMyW+nhmw1JvUlHlbCUUUu6PfOOAUGCB0gxmvv7/U+TQQ6e8yHUv+q7KMdIIum4bx+PA==", "dev": true, "requires": { "eslint-utils": "^3.0.0", @@ -13457,13 +14255,13 @@ } }, "express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.1", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -13494,25 +14292,6 @@ "vary": "~1.1.2" }, "dependencies": { - "body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - } - }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -13530,17 +14309,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" - }, - "raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } } } }, @@ -14056,9 +14824,9 @@ } }, "http-status": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.7.3.tgz", - "integrity": "sha512-GS8tL1qHT2nBCMJDYMHGkkkKQLNkIAHz37vgO68XKvzv+XyqB4oh/DfmMHdtRzfqSJPj1xKG2TaELZtlCz6BEQ==" + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/http-status/-/http-status-1.7.4.tgz", + "integrity": "sha512-c2qSwNtTlHVYAhMj9JpGdyo0No/+DiKXCJ9pHtZ2Yf3QmPnBIytKSRT7BuyIiQ7icXLynavGmxUqkOjSrAuMuA==" }, "http2-client": { "version": "1.3.5", @@ -14081,14 +14849,24 @@ "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" }, "hyperid": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.1.1.tgz", - "integrity": "sha512-RveV33kIksycSf7HLkq1sHB5wW0OwuX8ot8MYnY++gaaPXGFfKpBncHrAWxdpuEeRlazUMGWefwP1w6o6GaumA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-3.2.0.tgz", + "integrity": "sha512-PdTtDo+Rmza9nEhTunaDSUKwbC69TIzLEpZUwiB6f+0oqmY0UPfhyHCPt6K1NQ4WFv5yJBTG5vELztVWP+nEVQ==", "requires": { + "buffer": "^5.2.1", "uuid": "^8.3.2", "uuid-parse": "^1.1.0" }, "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -14137,9 +14915,9 @@ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" }, "inflection": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", - "integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-3.0.0.tgz", + "integrity": "sha512-1zEJU1l19SgJlmwqsEyFTbScw/tkMHFenUo//Y0i+XEP83gDFdMvPizAD/WGcE+l1ku12PcTVHQhO6g5E0UCMw==" }, "inflight": { "version": "1.0.6", @@ -14565,9 +15343,9 @@ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "loopback-connector": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-6.1.0.tgz", - "integrity": "sha512-BZOeO0EBKGVEfkZjeWm2y6BT9/J0BcDPK2mtlZDMNNCxe+LpPqiBghOkD2D2cze3TShSYYBAX7IAoyRiqDdMZA==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/loopback-connector/-/loopback-connector-6.1.2.tgz", + "integrity": "sha512-v+spQuMz2Sk0peLP59lfkpwfNS34/mnJPoqxxYtv/pcG9A01nvTbc5W+ecuyKjjBT/Y6qptjgZ9203AT7jO5tQ==", "requires": { "async": "^3.2.5", "bluebird": "^3.7.2", @@ -14578,22 +15356,22 @@ } }, "loopback-datasource-juggler": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-5.0.4.tgz", - "integrity": "sha512-zAXNiygA5IcPoVurnNrW82TgvYwrgQv6y8tDNziGTQfb+ZSQDub97U5vi9AdJQmCEo/j5vDvvEqg31Crr2H69g==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/loopback-datasource-juggler/-/loopback-datasource-juggler-5.0.6.tgz", + "integrity": "sha512-I5hyA5erOlIlKbCiZGgUDahWt3KXJZTELKNdWlRpshogHcbxAXOHhbhWd67JM9h8B2Pjy2b7EjEFooFh6Wv4nA==", "requires": { "async": "^3.2.5", "change-case": "^4.1.2", "debug": "^4.3.4", "depd": "^2.0.0", - "inflection": "^1.13.4", + "inflection": "^3.0.0", "lodash": "^4.17.21", - "loopback-connector": "^6.1.0", + "loopback-connector": "^6.1.1", "minimatch": "^9.0.3", "nanoid": "^3.3.7", "qs": "^6.11.2", "strong-globalize": "^6.0.6", - "traverse": "^0.6.7", + "traverse": "^0.6.8", "uuid": "^9.0.1" }, "dependencies": { @@ -14774,9 +15552,9 @@ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "mocha": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", - "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.3.0.tgz", + "integrity": "sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==", "dev": true, "requires": { "ansi-colors": "4.1.1", @@ -14786,13 +15564,12 @@ "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.2.0", + "glob": "8.1.0", "he": "1.2.0", "js-yaml": "4.1.0", "log-symbols": "4.1.0", "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.3.3", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -14803,38 +15580,16 @@ }, "dependencies": { "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, "requires": { "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" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "minimatch": "^5.0.1", + "once": "^1.3.0" } }, "minimatch": { @@ -14852,12 +15607,6 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true }, - "nanoid": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", - "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", - "dev": true - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -16386,9 +17135,9 @@ "dev": true }, "strong-error-handler": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-5.0.6.tgz", - "integrity": "sha512-WN3d13kl/ZTxTqJYChZzwHWmpQSBPcHBd8Vv3+XA/J+nYBBC6mu+oO4v+yEnPstVt/YYZRbpqJTSAYvk1jI46g==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/strong-error-handler/-/strong-error-handler-5.0.7.tgz", + "integrity": "sha512-iA3/Wvk6smS8ark3cFp6RXnszGqA5Zw68ezVE8vyKwhYVkOIHUfjAyHaIWHT1YG4M2DqDkcz9InvKOko4ti3jw==", "requires": { "accepts": "^1.3.8", "debug": "^4.3.4", @@ -16713,6 +17462,11 @@ "busboy": "^1.6.0" } }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -16845,7 +17599,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, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -16902,8 +17655,7 @@ "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" }, "yallist": { "version": "4.0.0", diff --git a/package.json b/package.json index 7440972..0e3f38a 100644 --- a/package.json +++ b/package.json @@ -46,16 +46,16 @@ "@collabland/common": "^0.50.0", "@collabland/discord": "^0.29.0", "@collabland/models": "^0.30.0", - "@loopback/core": "^5.1.0", - "@loopback/rest": "^13.1.0", + "@loopback/core": "^6.0.0", + "@loopback/rest": "^14.0.0", "discord-api-types": "^0.37.48", "discord.js": "^14.11.0", "tslib": "^2.0.0" }, "devDependencies": { - "@loopback/build": "^10.1.0", - "@loopback/eslint-config": "^14.0.1", - "@loopback/testlab": "^6.1.0", + "@loopback/build": "^11.0.0", + "@loopback/eslint-config": "^15.0.0", + "@loopback/testlab": "^7.0.0", "@types/node": "^18.11.15", "typescript": "~5.3.0" },